
$VER: DCPatch 1.3f (09.06.2000) © by Michael Engelke

Übersicht:
*********
Dieses kleine Tool ist dazu gedacht, ein paar kleine Fehler von DosControl,
für immer auszutreiben: (Patch-Reihenfolge)

- Jahr 2000 Bug (01.01.:0 12:34:56 wird jetzt korrekt angezeigt)
- Die eMail-Adresse in DC-6.0la (First Edition) wurde korrigiert
- Die BBS-analog Telefonnummer wurde korrigiert
- FileInfo-Bug (Wenn am Ende ein '$' Stand so suchte sich DosControl tot
- Dateitypen Konfig enthielt einige kleine Fehler, wie z.B Open LZX-Archiv
- DC-Shell konnte auf einigen Systemen nicht die Shell-Startup finden
- DC-FehlerCFG wurde gekürzt, um Platz für zusätzliche Routinen zu machen
- Copy hatte bisher bei Dirs keine Protection, Date oder Comment  mitkopiert
- Version und VComment hatte immer das erste Leerzeichen mit übernommen
- User-Files akzeptierte bisher nur %s! Jetzt auch %q (Quelle), %z (Ziel) usw
- Protect zeigte die Bits nach der DC-Konfig an, und nicht nach dem File
- Beim Doppelstart, konnte man entweder nur beenden oder nocheinal Starten
- Der Fortschrittsrequester zeigt beim Kopieren jetzt wirklich alle Dateien an
- Der Fit-Requester zeigt jetzt ausführliche Infomationen im Titelstring an
- Fehler 6000 versuchte DosControl in einer entlosschleife zu beenden
- Unter CyberGFX V3 Crashte das System, wenn der DC-Screen geschlossen wurde.

Rechtliches:
***********
Das Copyright des Programm DosControl liegt bei Küster DatenSysteme.
Das Urheberrecht für DCPatch liegt bei Michael Engelke.
Dieses Archiv darf nur in unveränderter Form weitergegeben werden.
Insbesonders dürfen die Dokumentation und diese Copyright-Notiz nicht entfernt
werden.

DCPatch ist Freeware und frei verteilbar.
Es darf unter folgenden Bedingungen weiterverteilt werden:

- Jede Weitergabe muß alle Dateien in diesem Archiv umfassen.
- Die Weitergabe darf über Mailboxen, Internet, Softwarebibliotheken wie von
  Aminet CD-ROM's und ähnliche elektronische Kanäle erfolgen.
- Disketten-Magazine und Dienstleister, die Zusatzgebühren für die
  Dateiübertragung erheben, dürfen diese Software nicht ohne die Erlaubnis des
  Programmautors verteilen.

Durch die Verwendung dieses Programms DCPatch akzeptiert der Benutzer die
volle Verantwortung für alle Schäden, die durch seine Benutzung oder das
Unvermögen seiner Benutzung auftreten können. Der Entwickler dieser Software
kann nicht verantwortlich gemacht werden.

Anmerkung:
*********
Dieser Patch ist nicht offiziell! Es kann jederzeit ein neues Update von
DosControl kommen, das nicht mit der gepatchten Version zusammen Arbeitet.
Darum sollte man sich auf jeden fall eine kopie vom Original machen.

Man erkennt eine, mit DCPatch gepatchte, DosControl-Version an den
Versionsstring (Neues Datum) und an der höhere Programmversion im Titelscreen.
Und ab der Version 1.3 auch im Titelzeile von DC-Status.

Nochwas: DCPatch wird nur für die Aktuelle DosControl Version entwickelt.
Sollte es mit älteren Versionen nicht gehen, dann geht es eben nicht!
Getestet wurden die Patches mit den DosControl-Versionen DC-6.0la und DC-6.0m!

Sollte es von DCPatch eine neue Versionen geben, (z.B. V1.4) dann kann man
die gepatchte DosControl-Version NICHT weiter Patchen.
Nur SO ist sichergestellt, daß sich keine Patch-Fehler einschleichen können...

Hardwareanforderungen:                Getestet mit:
*********************                 ************
Amiga 500/1000          oder besser   Amiga 1200
KickROM 37.175 (OS2.0)  oder besser   KickROM 40.68 (OS3.5)
68000 Prozessor  7 MHz  oder besser   68030 Prozessor 50 MHz
256 Kilobyte RAM        oder besser   32 Megabyte RAM
DD/HD-Laufwerk          oder besser   520 Megabyte IDE-HD
DosControl-Diskette     oder besser   DosControl-Archiven
Lob & Anerkennung       oder besser   Streicheleinheiten ;-)

CLI-Parameter:
*************
DCPatch Filename/A

'Filename' steht für die zu ladende UND zuspeicherne Datei von DosControl.
Anführungszeichen '"' oder andere Wildcards werden NICHT unterstützt.

Beispiel:
********
1> Copy Work:DosControl Work:DosControl.bak
1>
1> DCPatch Work:DosControl
DCPatch 1.3f für DosControl bis V6.0m
ID: DosControl V6.0m  Serien Nummer: 1 für Wer das liest ist doof
Versionsstring: DosControl 6.0m (Jan 23 2000)   Länge: 241732
- Versionsstring korrigiert
- eMail korrigiert
- BBS-analog Nr. korrigiert
- String-Checksumme korrigiert
- Y2k-Bug entfernt
- Version-Bug entfernt
- DateiTypen Konfig ersetzt
- DC-Shell korrigiert
- DC-FehlerCfg gekürzt
- DirInfoCopy installiert
- Version erweitert
- User-Files erweitert
- Protect erweitert
- DC-Doppelstart erweitert
- Fortschrittsrequester erweitert
- DC-Status erweitert
- Fehler6000-Bug entfernt
- CyberGFX-Bug entfernt
DosControl wurde erfolgreich gepatcht

1> ...

Erweiterungen:
*************
Version:
Bisher wurde alles nach dem $VER: ausgegeben. Jetzt werden alle Leerzeichen
vor dem Versionstring weggelassen. (Nützlich für VComment)

User-Files:
Mit diesem Patch kann man die Tools jetzt besser einbinden:
Bisher: 'Copy,$Copy "%s" "%s"' Und nach dem Patch: 'Copy,$Copy "%q" "%z"'
Wichtig: Nach dem '%'-Zeichen wird nur ein 'q', 'z', '%' oder ';' akzeptiert,
sonst wird die Original Funktion benutzt:
'$Execute s:Batch "%s" "%s" "%f %m %e"' oder mit der Neuen Schreibweise:
'$Execute s:Batch "%q" "%z" "%%f %%m %%e"'
Das '%q' / '%z' / '%%' / '%;' kann mehrfach benutzt werden. Es sollte nur
darauf geachtet werden, daß der String komplett ausgefüllt, nicht großer als
255 Byte bzw. Zeichen lang wird: 'SetNote,$FileNote "%q" "`GetVER %q`"'
Wichtig: '%q' enthält NUR den Filenamen / '%z' dagegen den kompletten Pfad!!!
Möchte man mehrere Befehle ausführen, braucht man jetzt keine Scripte mehr
benutzen. Man benutzt das '%;' als Trennzeichen (Gleichzusetzten mit Return).
Beispiel: 'Protokoll,#$Echo >%z "Begin %q"%;Type >>%z %q%;Echo >>%z "End %q"'
Zusätzlich gibt es noch eine Erweiterung:
Soll zu dem Tool, ein DosControl-Outputwindow geöffnet werden, gibt man als
erstes Zeichen ein '#' ein: 'Type,#$Type "%s"' oder auch 'Type,#$Type "%q"'
Ist der IO-Err nicht Null muß zusätzlich am Schluß noch eine Teste gedrückt
werden. Dies kann man auch mit '#+' erzwingen: 'Type,#+$Type "%s"'
Gibt man schwischen Programmname und Parameter noch ein '<*' an, sind sogar
Consolen-eingaben möglich wie z.B (Ctrl-C) o.ä.: 'Type,#+$Type <* "%s"'
Um das '%' Zeichen ein anderes Tool zu übergeben, gibt man es doppelt ein '%%'
%q - Alias für Quell-Filename           %; - Alias für Returncode
%z - Alias für Ziel-Pfad und Filename   #  - DC-Output Window
%% - Alias für %                        #+ - DC-Output Window mit Confirm

Protect:
Wenn der Patch erfolgreich installiert wurde, werden die Protection-Bits nach
dem Selectierten File angeben. Wurde mehr als ein File angegeben, werden die
Bits nach dem ersten Selectierten File angeben.

DC-Doppelstart:
Wenn DosControl zweimal gestartet wurde, konnte man sich bisher entscheiden,
ob DosControl beendet werden soll, oder zweimal laufen soll. Wenn man in der
DC-Konfig: 'CFG-AIIgemeines/Requester' das Button 'DC DoppelStart'
ausschaltet, wird beim nächsten Doppelstart, das zuerst gestartet DosControl
in den Vordergrund geholt, und das neu gestartet DosControl beendet.

Fortschrittsrequester:
Beim Requsiven kopieren kann DosControl normalerweise nicht wissen, wieviele
Dateien ingesammt kopiert werden. Dies bemerkt man, wenn man beim kopieren den
Fortschrittsrequester zuschaut: Trifft DosControl auf ein Verzeichnis, ändert
sich die Gesammtanzahl der zu kopieren Dateien. Wird jetzt in der DC_Konfig
'CFG-Funktionen/Copy' das 'FIT' Button Aktivert, werden vor dem kopieren die
Ingesammt zu kopieren Dateien mitgezählt, und dem Fortschrittsrequester
übergeben. Dies erkennt man, wenn im RequesterTitel die Anzahl der Dirs/Files
angezeigt werden. Diese Funktion Arbeitet NUR mit 'Copy' zusammen!
Ansonsten ist alles so wie gehabt.

Fehlermeldungen:
***************
Tritt ein Fehler auf, wird die Fehlernummer '10' im Returncode zurückgegeben.
Die Fehlermeldungen sollten selbst erklärend sein!
Hier alle möglichen Meldungen:

DCPatch Filename/A
File nicht gefunden
File passt nicht komplett in den Speicher
File kann nicht vollständig geladen werden
Keine DosControl ID-Codes im File gefunden
DosControl wurde bis zum xx.xxx.xx limitiert
DosControl wurde schon mit DCPatch x.x gepatcht
DosControl konnte nicht überschrieben werden
DosControl konnte nicht vollständig geschrieben werden
DosControl wurde nicht verändert
Warnung! Diese DosControl-Version ist DCPatch unbekannt

Bugs:
****
- Der Y2k-Patch ist nur bis zum 19. Januar 2046 wirksam, ab 03:14:07 Uhr
  spielt DosControl "verrückt". Ob ich diesen Bug jemals beheben werde,
  könnt ihr mich in 46 Jahren fragen...

- Der Fileinfo-Patch läuft bei Dateien mit 8 Byte Länge nicht ganz richtig!
  Es wird sofort abgebrochen, auch wenn ein Versionsstring vorhanden ist.
  Ich empfehle die Funktionen: VComment und Version NICHT zu benutzen, da
  diese auch nach dem Patch, noch sehr Buggy sind. Bei FileInfo kann man den
  Bug umgehen, wenn man unter "CFG-Funktionen/FileInfo" 'Version Anzeigen'
  ausschaltet. (Ich habe selten so ein Müll in einem Programm gesehen...)

- Wenn DosControl im CLI-Modus per Iconify Schlafengelegt wurde, und
  anschließend die Workbench per LoadWB geladen wurde, kommt es zu Problemen,
  falls man DosControl noch einmal startet. Der DC-Doppelstart-Patch findet
  die Workbench und geht davon aus, daß das zuerst gestartete DosControl auch
  von der Workbench gestartet wurde. Und der Patch schickt die Falsche Message
  an DosControl, und wartet so lange bis sich das zuerst gestartete DosControl
  meldet. Nun muß man selber das zuerst gestartete DosControl öffnen und noch
  einmal per Iconify Schlafen legen lassen. Sofort wird DosControl wieder
  geöffnet und das zu letzt gestartete DosControl beendet sich.

Sonst keine bekannt!

Programmgeschichte:
******************
V0.1  (13.01.2000) Erste Testversion
                   - Y2k-Patch für DC-6.0la.

V1.0  (14.01.2000) 1756 Bytes für DC-5.1.17 bis DC-6.0la.
                   - Idiotensicheres Patchsystem eingebaut
                   - eMail-Patch eingebaut

V1.1  (17.01.2000) 7852 Bytes für DC-5.1.17 bis DC-6.0la.
                   - Fileinfo-Patch eingebaut
                   - Dateitypen-Patch eingebaut
                   - DC-Shell-Patch eingebaut
                   - DC-FehlerCFG-Patch eingebaut
                   - DirInfoCopy-Patch eingebaut

V1.2  (24.01.2000) 8312 Bytes für DC-5.1.17 bis DC-6.0la.
                   - Update der Versionstrings verbessert
                   - Fileinfo-Patch verbessert und in Version-Patch umbenannt
                   - Version-Erweiterungs-Patch eingebaut
                   - Fehler6000-Bug-Patch eingebaut

V1.3  (14.02.2000) 9876 Bytes für DC-5.1.17 bis DC-6.0m.
                   - UserFiles-Patch eingebaut
                   - Bug in DirInfoCopy-Patch entfernt
                   - Protect-Patch eingebaut
                   - Y2k-Patch für DC-6.0m angepaßt
                   - DCStatus-Patch eingebaut
                   - BBS-analogNr-Patch eingebaut
                   - Bug in Version-Erweiterungs-Patch entfernt
                   - DC-Doppelstart-Patch eingebaut
                   - Fortschrittsrequester-Patch eingebaut

V1.3a (14.02.2000) 9884 Bytes für DC-5.1.17 bis DC-6.0m.
                   - Bug im Patcher für 'Fortschrittsrequester' entfernt

V1.3b (17.02.2000) 10000 Bytes für DC-5.1.17 bis DC-6.0m.
                   - Bug in DirInfoCopy-Patch ENTGÜLTIG entfernt
                   - BBS-analogNr-Patch erweitert
                   - UserFiles-Patch erweitert (#/+)

V1.3c (19.02.2000) 10308 Bytes für alle DosControl-Versionen bis DC-6.0m.
                   - ID-Erkennung an alle DosControl Versionen angepaßt
                   - UserFiles-Patch erweitert (%;)
                   - Bug in DC-Shell-Patch entfernt

V1.3d (04.03.2000) 10464 Bytes für alle DosControl-Versionen bis DC-6.0m.
                   - Bug in Version-Patch entfernt
                   - Bug in ID-Erkennung entfernt
                   - Bug in DirInfoCopy-Patch entfernt
                   - ID-Erkennung an DosControl V3.1 und V5.0 Beta angepaßt

V1.3e (20.05.2000) 10512 Bytes für alle DosControl-Versionen bis DC-6.0m.
                   - Bug in DirInfoCopy-Patch entfernt (Bald schaffe ich es)
                   - UserFiles-Patch erweitert (%%)
                   - Bug in Fortschrittsrequester-Patch entfernt
                   - Weiterer Fit-Patch eingebaut (Für Fortschrittsrequester)

V1.3f (09.06.2000) 10584 Bytes für alle DosControl-Versionen bis DC-6.0m.
                   - CyberGFX-Patch eingebaut
Hintergrund:
***********
Für all diejenigen, denen es Interessiert:
Der Erste DosControl-Patch:           Y2k-Patch
Der einfachste und schnellste Patch:  DC-Shell-Patch
Der unscheinbare schwere Patch:       Protect-Patch
Der Aufwendigste und längste Patch:   DC-Doppelstart-Patch
Der schlimmste und schwerste Patch:   Fortschrittsrequester-Patch

Zukunft:
*******
Kann ich nicht genau sagen, da ich nebenbei an dem Projekt: 'ProFile' arbeite.
Sollte es noch eine Neue Version von DCPatch (V1.4) geben, wird sich die
Patchengiene völlig ändern. Da es in DosControl längsam sehr eng wird, und es
praktisch keinen Platz mehr für neue Patches gibt ;-(
Sollte aber eins meiner Patches Fehler aufweisen, werde ich das sofort beheben
und eine Neue Unterversion herausbringen.

Danksagungen:
************
Uwe Brosch und Andreas Küster, für die Entwicklung von DosControl.
Markus Hamerla und Gerd Wagner, die mich auf DosControl aufmerksam machten.
Kai Radewald und Dominic Piruzdad, für meinen jetzigen Programmier-Kenntnisse.
Die DosControl-Anwender/Betatester, die was aus dem Programm gemacht haben.
Martin Kayser für die DosControl-AmigaPlus Version und seine Config Dateien.
Steffen Streitz für die Unterstützung gegen den CyberGFX-Bug.
Und HiSoft für den legendären Devpac Assembler und Monam Debugger!

Support:
*******
Internet: http://www.kds-online.com (WWW), doscontrol@kds-online.com (eMail)
KDS (Hannover) BBS: 0511 8093329 (analog), 0511 9887104 (ISDN)
Yamato (Laatzen) BBS: 0511 8250190 (ISDN/V34), 0511 8250191 (V32bis)

Autor:
*****
Michael Engelke, eMail: M.Engelke@Yamato.leine.de

FAQ:
***
F: Ich habe DosControl mit DCPatch erfolgreich gepatcht. Kann ich den Patch
   wieder rückgängig machen?
A: Das ist mit DCPatch nicht möglich! Also, immer VORHER ein Bachup machen.

F: Ich noch ein Bug in DosControl gefunden! Wird er in der nächsten Version
   von DCPatch entfernt?
A: Wenn Du mir den Offset im DosControl-Code geben kannst, wo der Bug
   auftritt, dann ist das kein Problem! Sonst mußt Du Uwe Brosch fragen...

F: Die mit DCPatch gepatchte Version von DosControl läuft nicht. Was tun?
A: Das Backup benutzen und DosControl NICHT mit DCPatch patchen ;-)

F: DCPatch hängt sich immer auf wenn ich es von der Workbench starte. Und nun?
A: DCPatch ist ein reines CLI-Programm. Ein start von Workbench ist nur unter
   OS 3.5 möglich. ('Start durch' auf Shell einstellen)

F: Ich habe wegen einer mit DCPatch gepatchte DosControl Version Datenverlust
   etc. erlitten. Wen kann ich jetzt zur Rechenschaft heranziehen?
A: Denjenigen der DosControl mit DCPatch gepatcht hat. Ich habe es nur
   geschrieben. Benutzten muß es jeder selbst, auf eigene Gefahr!

F: In DosControl hätte ich noch die Funktion ... gerne gesehen. Wird Du es
   für mich in DCPatch einbauen?
A: Frag doch mal Uwe Brosch! Er ist der Programmierer von DosControl!

F: Ich benutzte nur ab und zu die Demoversion von DosControl bzw. die
   AmigaPlus-Version, kann ich die auch mit DCPatch patchen?
A: Nein! Das ist nicht mehr möglich!

F: Ich habe eine Datei wo DosControl sich immer aufhängt, wenn ich nach dem
   Versionsstring suchen lasse. Was soll ich machen?
A: Die Funktionen Version und VComment sind in DosControl sehr Fehlerhaft.
   Am besten erst gar nicht benutzen oder NUR dann, wenn alle Dateien
   gespeichert wurden und von der Festplatte ein Backup gemacht wurde...

F: Ich habe ein ganzes Verzeichnis mit Inhalt und Option 'Copy Datum', kopiert
   aber trotzdem entspricht das Datum des kopierten Verzeichnis dem Aktuellen
   Datum. Was mache ich falsch?
A: Nichts! Dieser Effekt ist ein Zusammenspiel zwischen DosControl und AmigaOS
   Sobald ein Verzeichnis erstellt und geclont wurde, ist alles so wie es sein
   sollte. Kopiert man jetzt ein File in das Verzeichnis, dann wird das
   Verzeichnis Aktualisiert. Sprich: Das Aktuelle Datum wird eingesetzt.

F: Ich habe einige Tools, die ich in DosControl gerne eingebunden hätte, aber
   dies bekomme ich nicht hin! Kann man da was machen?
A: Es einfach mal mit '%q' für Quelle und '%z' für Ziel versuchen. Und für
   Aus/Eingaben: am Anfang ein '#' bzw. '#+' und für Scripte die Befehle mit
   ein '%;' trennen. Und zuletzt das '%%' um ein '%' Zeicher zu übergeben.

F: Das mit den User-Files ist ja schön und Gut. Aber was ist mit User-Progs
   oder User-Multi-File?
A: Ja, ja! (Was heißt hier Ja, ja...) Die nächste DCPatch-Version kommt
   bestimmt.

F: Ich habe ein Problem: Ich möchte jetzt DosControl zweimal starten, aber er
   holt immer das andere DosControl auf den Bildschirm. Was soll ich tun?
A: In der DC-Konfig: 'CFG-AIIgemeines/Requester' das Button 'DC DoppelStart'
   einschalten. Und man wird beim jeden Doppelstart gefragt, was zu tun ist.

F: Ich verstehe die sehr kurzen Fehlermeldungen von DosControl nicht.
A: Das liegt an DCPatch. Irgentwo muß ich die zusätzlichen Routienen ja
   lassen. Man kann das aber sehr einfach beheben: Wenn man von der DosControl
   Original-Diskette die Datei 'Dc_6.0.Fehler.txt' ins DosControl-Verzeichnis
   bzw. ins 'S:' kopiert, hat man wieder die alten Fehlermeldungen!
   Vorausgesetzt, die Fehlermeldungen sind nicht mit '#' auskommentiert.

F: Was ist dein Aktuelles Projekt: 'ProFile'?
A: Ein Dir-Utility! Genau wie DosControl, nur besser schneller und
   komfortabler.

F: Und wann ist es denn endlich fertig?
A: Wie in Tennessee bei Jack Daniels, haben auch WIR viel Zeit. Nur SO können
   wir ein Dir-Utility entwickeln, daß wir alle einmal lieben werden ;-)

F: Ich habe in der Anleitung ein paar Rechtschreibfeeler gefunden!
A: Du kriegst'n Keks, Streber ;-D
