Document DMAP-Dokumentation Version 2.1 ************************************** * DMAP Version 2.1 Dokumentation * ************************************** 1. Unbedingt lesen ! Dies ist zwar nicht sonderlich interessant, aber dennoch wichtig ! 1.1. Apropos kopieren Für das Kopieren darf nur eine geringe Kopiergebühr verlangt werden. Wer in einem Public-Domain-Laden mehr als 5 DM pro Diskette zahlt, sollte sich einen anderen suchen. DMAP darf NICHT für KOMERZIELLE ZWECKE verwendet werden !!! Ausgenommen davon ist die ganze Sache mit den PD-Serien. Ansonsten ist DMAP Public Domain, das heißt es ist frei verwendbar und kopierbar. Der Quellcode ist beigefügt, damit man das Programm persönlichen Wünschen anpassen kann. (Vielleicht kann man auch etwas davon lernen.) Beachte: Nur Pfuscher (Lamer) ändern Namen in Programmen !!! Beim Kopieren sollen auf jeden Fall auch das Originalprogramm, der Originalquellcode und die Dokumente dabei sein. 1.2. Garantieleistungen Garantieleistungen: KEINE. Der Autor übernimmt keine Verantwortung für eventuelle Schäden an Hard- und Software und am geistigen und seelischem Zustand des Benutzers, die das Programm direkt, indirekt oder ohne jeglichen Zusammenhang verur- sacht. Außerdem wird das Funktionieren des Programmes nicht garantiert. (Man weiß ja nie ...) Trotzdem möchte ich erwähnen, daß es bei mir ausgezeichnet funktioniert, und ich keinen Grund sehe, warum es bei jemand anderem nicht funktionieren sollte. (Siehe auch `Fehler') 1.3. Was alles dazugehört Zum DMAP-Paket gehören folgende Files: 1.) DMAP.README Allgemeine Informationen 2.) DMAP.Install Das Installationsprogramm 3.) DMAP.Install.info Icon dazu 4.) DMAP schon installiertes Beispiel 5.) DMAP.Dok Dokumentation als ASCII-Text 6.) DMAP.Dok.info Icon dazu 7.) DMAP.Guide Dokumentation im AmigaGuide(TM)-Format 8.) DMAP.Guide.info Icon dazu 9.) DMAP.s Der vollständige Assemblerquellcode 1.4. Hinweis zu diesem Dokument Das "Unbedingt Lesen !"-Kapitel sollte auch unbedingt gelesen werden. Ansonsten hoffe ich, daß für den erfahrenen User die `Kurzanleitung' zum Ausprobieren ausreicht. Da in den anderen Kapiteln noch wichtige Hintergrundinformationen stecken, sollten diese früher oder später auch gelesen werden. Dem Neuling ist es zu empfehlen, alles zu lesen (vor allem auch das Benutzerhandbuch zu seinem Computer) . 2. Beschreibung Was kann dieses Programm und für was ist es gut ? DMAP ist ein kleines CLI-Programm, das besonders nützlich für Disket- tenbenutzer ist, aber auch auf der Festplatte nicht zu verachten ist. Es ersetzt einige Befehle, die bei mir in fast jeder Startup-Sequence auftauchten und bietet darüber hinaus noch einige weitere Möglichkeiten. Am Besten erkennt man die `Vorteile', wenn man DMAP ausprobiert. Es sollte auf JEDEM Amiga (TM) funktionieren. Ein MS-DOS(TM)-Computer wird es natürlich nicht mögen (aber wer hat auch schon so etwas ?). :-) Die ersetzten Befehle sind: SetMap d (Beliebige Tastaturbelegung setzen) SetClock load (Systemzeit nach der Echtzeituhr setzen) MemCheck,VirusChecker o.ä. (Überprüfung des Speichers nach Viren) QMouse,DMouse o.ä. (Bildschirmschoner, Mausbeschleuniger, Mauszeigerabschalter) Pal o.ä. (Vergrößert CLI-Fenster maximal) [nichts bekannt] (Bildwechselfrequenz erhöhen) NoDelete (Ein Requester erscheint vor dem Löschen) [nichts bekannt] (Backup statt Überschreiben von Files) Vergleich mit den ersetzten Befehlen: Weil DMAP so klein ist (weniger als 5KByte) spart es einiges an Platz auf Disketten, und es wird deutlich schneller geladen. Auch die Laufzeit ist durch optimierte Programmierung schneller (ganz extrem bei SetClock load). Die Installation von bootfähigen Disketten vereinfacht sich, weil weniger Befehle umkopiert werden müssen und die Startup-Sequence kürzer wird. Auf das DEVS:Keymaps-Verzeichnis kann ganz verzichtet werden. Da ich nicht weiß, ob überhaupt jemand mein Programm benutzt, wäre es schön, wenn jeder, der einen EMAIL-Zugang hat, mir ein EMAIL sendet und schreibt, ob er DMAP benutzt oder ob nicht. Adresse: Siehe `Autor'. Zusammenfassung: 2.1. Vorteile Eine ganze Menge ! 2.2. Nachteile Für was denn Nachteile ? 3. Kurzanleitung Kurzanleitung von DMAP V2.1 : Das Installationsprogramm "DMAP.Install" benötigt die "req.library" von Colin Fox und Bruce Dawson. Mit Hilfe des Installationsprogrammes kann eine gewünschte Tastaturbe- legung in das Programm eingebunden werden (oder die eingebaute verwendet werden), und DMAP in das "C:"-Verzeichnis kopiert werden. Danach kann DMAP aus dem CLI bzw. der SHELL benutzt werden oder in die Startup- Sequence eingetragen werden. (Weiteres: Siehe `Starten') Beispiel: DMAP sdb180Rt Folgende `Optionen' können benutzt werden : d : Damit wird die installierte Tastatur gesetzt oder wieder aktiviert. D : Dasselbe wie d, öffnet aber kein CLI-Fenster aus der Startup-Sequence unter KS 2.0+. s : Die aktuelle Zeit wird aus der Echtzeituhr gelesen und als Systemzeit gesetzt. r : Es wird angezeigt, welche resetfesten Programme vorhanden sind. So werden fast alle Viren gefunden. R : Wie r, unterdrückt aber die Meldung: Nichts resetfest. bxx: Der Bildschirm wird nach der Zeit xx Sekunden schwarzgeschaltet. mxx: Der Mauszeiger wird nach der Zeit xx Sekunden ausgeschaltet. t : Der Mausbeschleuniger wird eingeschaltet T : Mausbeschleuniger ausschalten g : Das aktuelle Fenster wird auf maximale Größe vergrößert. f : Die Bildwechselfrequenz wird auf ca. 55 Hz (PAL) bzw. 70 Hz (NTSC) vergrößert. Das Bild flimmert dann weniger. F : Option f ausschalten l : Sicherheitsabfrage vor dem Löschen von Files. L : Option l ausschalten ax : Backup-Abfrage vor dem Überschreiben von Files. A : Option a ausschalten xx steht für eine (mehrstellige) Zahl. x steht für eine Ziffer. Es können mehrere Optionen gleichzeitig angegeben werden. Folgt nach b oder m keine Zahl, so wird die entsprechende Funktion abgeschaltet. Bildschirm ausblenden: SHIFT-Links + CTRL + A (in dieser Reihenfolge). Weiteres: Siehe `Starten', `Optionen' und `Beispiele'. 4. Starten Bevor DMAP gestartet werden kann, ist es zunächst einmal nötig, das Installationsprogramm "DMAP.Install" zu starten. Dazu einfach von der Workbench das Icon doppelklicken oder im CLI dmap.install eintippen. Dieses Programm müßte sich von selbst erklären. Dort wird dann die zu benutzende Tastaturbelegung (Keymap) ausgewählt, und DMAP (vorzugsweise in das C:-Verzeichnis) abgespeichert. Jetzt kann DMAP benutzt werden. Dazu einfach im CLI (Shell) "DMAP " eintippen (natürlich ohne Anführ- ungszeichen) und danach die gewünschten `Optionen' angeben. Ein Druck auf die RETURN-Taste startet die ganze Sache. DMAP kann auch (was recht sinnvoll ist) in die Startup-Sequence eingebaut werden. Wichtig: Um "DMAP.Install" starten zu können, muß die "req.library" (von Colin Fox und Bruce Dawson) im "LIBS:"-Verzeichnis zu finden sein. Anmerkung: Zum Ausprobieren ist eine funktionsfähige Version von DMAP beigefügt, die die Default-Tastaturbelegung enthält. 5. Optionen Als Argument von DMAP kann man ein oder mehrere Buchstaben (eventuell auch Ziffern, siehe `Klein-b' und `Klein-m') angegeben werden, von denen die unten aufgeführten die dazu angegebene Bedeutung haben (Optionen). Werden mehrere Buchstaben (Optionen) angegeben, können sie direkt hintereinander geschrieben werden. Falls es jemandem Spass macht, können sie auch durch Leerstellen (Spaces) und/oder Bindestriche getrennt werden. Siehe auch:`Beispiele'. Die einzelnen Möglichkeiten (Optionen) von DMAP: 5.1. Fragezeichen Option ? : Zeigt einen Hilfstext an. 5.2. Klein-d Option d : Die im Programm enthaltene Tastaturbelegung wird als aktuelle Tastatur- belegung und als Default-Belegung gesetzt. Als Tastaturbelegung (Keymap) kann eine von der Workbench- oder Extras-Diskette (Sie befinden sich im "DEVS:Keymaps"-Verzeichnis), eine eigene oder die eingebaute ver- wendet werden. Sinnvoll ist es, mittels eines geeigneten Programms die Funktionstasten mit oft gebrauchten Befehlen zu belegen. Das Verzeichnis "DEVS:Keymaps" und der Befehl "SetMap" wird nicht mehr benötigt. Siehe auch:`Groß-D'. 5.3. Groß-D Option D : Dies ist fast dasselbe wie Option `Klein-d', nur wird keine Tastaturbelegung im aktuellen Fenster gesetzt. Ab Kickstart 2.0 ist es nicht mehr nötig, beim Booten von einer Workbench-Diskette/Festplatte (das heißt: "LoadWB" und "EndCLI" stehen in der Startup-Sequence) ein CLI-Fenster zu öffnen. Allerdings darf dabei in der Startup-Sequence keine Ausgabe in das aktuelle Fenster gemacht werden. Im Gegensatz zu "SetMap d" läßt "DMAP D" das Fenster geschlossen. So ist ein schnelleres Booten möglich. (Sämtliche andere Befehle der Startup-Sequence dürfen natürlich auch nichts ausgeben, notfalls mit ">NIL:" umleiten.) 5.4. Klein-s Option s : Die Echtzeituhr wird gelesen, das Datum und die Zeit ausgegeben und die Systemuhr gesetzt. Dadurch wird der langwierige Befehl "SetClock Load" überflüssig. Diese Option funktioniert natürlich nur, wenn eine Echtzeituhr vorhanden ist. Ob es auch mit der alten Echtzeituhr im A2000a funktioniert konnte ich leider nicht testen. Mir fiel auf, daß ab Kickstart 2.0 kein "SetClock Load"-Befehl (bzw. DMAP s) mehr nötig ist. 5.5. Klein-r Option r : Dies ist ein kleiner aber überaus wirkungsvoller Virenschutz.Er prüft die Systemvektoren WarmCapture, CoolCapture, ColdCapture, KickTagPtr, KickMemPtr und KickCheckSum, die für resetfeste Programme zuständig sind. Bis auf die wenigen und wenig verbreiteten Viren, die nicht resetfest sind, müßten alle Viren, die im Moment im Speicher sind, gefunden werden und durch die Meldung "Möglicher Virus gefunden" angezeigt werden. Da natürlich auch Nutzprogramme resetfest sein können, werden die Namen aller resetfesten Programme hinter einem ">"-Zeichen angezeigt, und die dazugehörigen Identifikationstexte hinter einem "*". Sollte hinter dem ">" nichts oder nichts verständliches stehen, ist sofort ein gutes Anti-Viren-Programm zu starten (Empfehlenswert ist `VT-Schutz' von Heiner Schneegold) um sich Gewißheit zu verschaffen. Die Capture-Vektoren, deren Wert hinter "Warm:", "Cool:" und "Cold:" angezeigt werden (falls ungleich Null), müssen Null sein, ansonsten wieder -> `VT-Schutz'. Eine Ausnahme gibt es mit Kickstart 1.3 und 1 MByte ChipMemory. Wird "SetPatch" mit der Option "r" gestartet, so ist Cold-Capture ungleich Null, aber in der nächsten Zeile steht das Wort "SetPatch". Trotz allem ist es empfehlenswert, regelmäßig alle Datenträger (oder doch zumindest die Bootfähigen) auf Viren zu überprüfen (-> `VT-Schutz'). Siehe auch:`Groß-R' und 5.5.1. VT-Schutz VT(-Schutz) ist ein sehr leistungsfähiges Antiviren-Programm, das ich sehr empfehlen kann. Es hat auch den Vorteil, daß es vom Autor Heiner Schneegold immer wieder verbessert wird, und so auf dem neuesten Stand ist. Leider ist es nicht allzu leicht zu bedienen. Man findet es regelmäßig auf den Amiga-Magazin-Public-Domain-Disketten und, falls man Zugang zu FTP-Netzen hat, u.a. im AmiNet im Verzeichnis "util/virus". VT ist frei kopierbar und fast frei verwendbar. Ansonsten ist noch "Virus-Checker" von John Veldthuis ganz gut und vor allem leichter zu bedienen. 5.6. Groß-R Wie in der Option `Klein-r' wird auf Viren geprüft, wird aber nichts ge- funden, so erscheint keine Meldung. Wird etwas gefunden, wird es natürlich angezeigt, danach aber auf das Bestätigen mit der RETURN- Taste gewartet. So werden unnötige Ausgaben vermieden. Der Sinn, der dahintersteckt, steht bei Option `Groß-D'. 5.7. Klein-g Option g : Damit wird das aktuelle (aktive) Fenster direkt unter die Menüleiste ver- schoben und auf maximale Größe ausgedehnt. Besonders sinnvoll ist diese Option auf Disketten, die keine Workbench öffnen, oder in dem "Cli-Startup" bzw. "Shell-Startup" aus dem "S:"-Verzeichnis. 5.8. Klein-f Option f : Eine besonders interessante Option. Sie nutzt die neuen Möglichkeiten des ECS-Agnus und die Toleranzen des Monitors. Ohne ECS-Agnus kann man diese Option nicht verwenden. Auch ist es möglich, daß einige Monitore die erhöhte Bildwechselfrequenz nicht richtig verarbeiten können. Das Funktionsprinzip ist einfach: Die ungenutzten Zeilen über und unter der Screen (sichtbarer Bildausschnitt) werden nicht mehr dargestellt. Im PAL-Modus werden nur noch 266 Zeilen angezeigt, was einer Bidwechsel- frequenz von ca. 55 Hz entspricht. Im NTSC-Modus kommt man auf 70 Hz ! Overscan ist allerdings nicht mehr möglich. Interlace wird dafür etwas erträglicher (PAL:27.5 Hz). Ab Kickstart 2.0 sollte man darauf achten, daß der Default-Monitor ausgewählt ist. Siehe auch:`Fehler' und `Groß-F'. 5.9. Groß-F Option F : Macht die Option `Klein-f' wieder rückgängig. Siehe auch:`Fehler'. 5.10. Klein-b Option b : Folgt nach "b" eine Zahl, so gibt diese an, nach wieviel Sekunden der Bildschirmschoner einsetzt. Die Zeit wird von der letzten Tastatur- oder Mausbetätigung an gezählt. Dann wird einfach ein schwarzes Bild dargestellt, da dies den Monitor am Besten schont. Wird danach eine Taste oder die Maus betätigt, so erscheint das ursprüngliche Bild sofort wieder. Folgt nach "b" Null oder keine Zahl, so wird der Bild- schirmschoner abgeschaltet. Die Zahl kann beliebig vielstellig sein, der Benutzer hat darauf zu achten, daß sie sinnvoll ist. Siehe auch:`Blanker'. 5.11. Klein-m Option m : Folgt nach "m" eine Zahl, so gibt diese an, nach wieviel Sekunden nach der letzten Mausbetätigung der Mauszeiger ausgeschaltet wird. Sobald die Maus wieder bewegt wird, erscheint auch der Mauszeiger wieder. Außerdem verschwindet der Mauszeiger, sobald eine Taste gedrückt wird, da dieser bei Eingaben oft in der Sicht ist. Folgt nach "m" Null oder keine Zahl, so wird die Funktion abgeschaltet. Die Zahl kann beliebig vielstellig sein, der Benutzer hat darauf zu achten, daß sie sinnvoll ist. Siehe auch:`Blanker'. 5.12. Klein-t Option t : Der Mausbeschleuniger wird angeschaltet. Die Geschwindigkeit des Maus- zeigers ist dann quadratisch abhängig von der Geschindigkeit der Maus. Dieser Effekt ist etwas gewöhnungsbedürftig, und es ist Geschmacks- sache, ob man dies verwendet. Siehe auch:`Blanker' und `Groß-T'. 5.13. Groß-T Option T : Der Mausbeschleuniger wird abgeschaltet. Siehe auch:`Blanker' und `Klein-t'. 5.14. Klein-l Option l : Die Delete-Funktion der DOS-Library wird gepatched. Jedesmal, wenn ein Programm eine Datei (=ein File) löschen möchte, erscheint eine Abfrage, ob die Datei wirklich gelöscht werden soll. Somit kann unbeabsichtigtes Löschen von Daten vermieden werden. Wird der CLI-Befehl "Delete" der Workbench 1.2 oder 1.3 verwendet, erscheint keine (!) Abfrage, weil dieser den Patch umgeht! Ab Workbench 2.0 funktioniert die Abfrage auch mit dem "Delete"-Befehl. Siehe auch:`Groß-L'. 5.15. Groß-L Option L : Die Option `Klein-l' wird ausgeschaltet, indem der Patch rückgängig gemacht wird. 5.16. Klein-a Option a : Die Open-Funktion der DOS-Library wird gepatched. Möchte ein Programm eine Datei (=ein File) überschreiben, so erscheint eine Abfrage, ob die Datei wirklich überschrieben werden soll. Wählt man bei der Abfrage "Backup" aus, so wird die alte Datei umbenannt, die neuen Daten überschreiben damit nicht mehr die alte Datei, sondern erstellen eine neue. Beim Umbenennen wird an den alten Dateinamen ".bak1" angehängt. Falls dieser Name schon existiert, kann diese Datei in ".bak2" umbenannt werden usw. Wie oft das geschehen soll, kann als Zahl nach der Option a angegeben werden, sie muß im Bereich von 1 bis 9 sein. Wird zu einer Datei die passende ".bak1"-Version gefunden, so wird automatisch die Abfrage mit "Backup" beantwortet. Zum Beispiel kann man damit bis zu 10 Versionen eines Programmquell- textes verwalten; läuft bei der neuesten Version etwas schief, hat man immernoch ein paar alte. Achtung: Die CLI-Befehle der Workbench 1.2 oder 1.3 umgehen die DOS- Library und somit auch diese Abfrage. Weiteres dazu bei `Klein-l'. Siehe auch:`Groß-A' 5.17. Groß-A Option A : Die Option `Klein-a' wird ausgeschaltet, indem der Patch rückgängig gemacht wird. 6. Blanker Der Blanker (Bildschirmschoner usw.) : Wird mindestens eine der Optionen "b", "m" oder "t" angeschaltet, so wird ein Input-Event-Handler installiert. Da dieser nur etwa 500 Bytes benötigt und allein funktioniert, gestaltet sich das sehr Speicher- sparsam. Ist der Handler installiert, kann der Bildschirm mit der Tastenkombination + + schwarzgeschaltet werden. Dabei sind die Tasten in dieser Reihenfolge zu drücken und in der umgekehrten Reihenfolge wieder loszulassen. Benötigt ein anderes Programm diesselbe Tastenkombination, so drückt man die Tasten einfach in einer anderen Reihenfolge. Sind alle drei Optionen "b", "m" und "t" abgeschaltet (z. Bsp. mit DMAP bmT), so wird der Handler wieder aus dem System entfernt. Hinweis: Der Handler läßt sich in der Resource-Liste unter Blanker.resource wiederfinden. 7. Beispiele Und nun zum vollständigen Verwirren noch ein paar Beispiele: 7.1. Sinnvolle Beispiele Sinnvoll sind folgende Beispiele: DMAP ds ;Setzt die Tastatur und die Systemzeit Genauso möglich ist: DMAP s d oder: DMAP -d -s oder: DMAP s,d usw. DMAP rt ;Prüft Resetvektoren,schaltet Mausbeschleuniger an DMAP b300T ;Schaltet Bildschirmschoner an und Mausbeschleuniger aus ;Wird 300 Sekunden lang keine Taste/Maus betätigt, wird ;der Bildschirm schwarzgeschaltet. DMAP sfdlm5fb180tra3g ;Volles Programm 7.2. Sinnlose Beispiele Sinnlos sind folgende Beispiele: DMAP ;Macht gar nichts DMAP rrr ;Prüft dreimal, ob etwas resetfest ist DMAP b251b ;Schaltet den Bildschirmschoner ein und gleich wieder aus 7.3. Startup-Sequence Hinweis: Hier sind nur Beispiele, man kann je nach Geschmack noch weitere Befehle in der Startup-Sequence unterbringen, oder die Optionen bei DMAP variieren. Beispiel für eine Startup-Sequence einer CLI-Diskette (d.h. es wird keine Workbench geöffnet, man kann nach dem Booten direkt im CLI arbeiten) : cd >NIL: C: SetPatch >NIL: AddBuffers >NIL: DF0: 25 DMAP dsrb300m15g (Unter Kickstart 2.0 oder besser ist die Option "s" wegzulassen) Beispiel einer Startup-Sequence für eine Workbench-Diskette oder ein Teil der Startup-Sequence einer Festplatte: cd >NIL: C: SetPatch >NIL: AddBuffers >NIL: DF0: 25 { usw. usw. usw. } LoadWB DMAP DRb300m15 EndCli >NIL: Unter Kickstart 1.2 oder 1.3 heißen die letzten 3 Zeilen: DMAP DsRb300m15 LoadWB delay EndCli >NIL: 8. Programmiertechnisches DMAP und DMAP.Install sind in Assembler gechrieben. DMAP.Install ist weder reentrant noch relokatibel, das PURE-Bit darf nicht gesetzt werden. DMAP ist sowohl reentrant als auch relokatibel, es darf also resident gemacht werden, und das PURE-Bit darf gesetzt werden. 9. Fehler Hier sollte eigentlich "Keine." stehen. Leider ist mir ein Schönheitsfehler der Option f unter Kickstart 2.0+ aufgefallen, der aber nicht sonderlich störend ist. Ich habe keine Ahnung, wie ich das beheben könnte. Falls jemand Ahnung hat, wende er sich bitte an den `Autor'. Die Option F funktioniert nur im NTSC-Modus, und das nicht allzu sicher. Ein sicheres Abschalten der Option f wird durch einen RESET erreicht. 10. Geschichte Der Name: Da mir beim Assembler-Programmieren öfters der Computer (softwaremäßig!) abstürzte und danach neu booten mußte, suchte ich mir eine Möglichkeit, den Bootvorgang zu beschleunigen. Ein gefundenes Fressen war der "SetMap d"-Befehl der Startup-Sequence. Zusammen mit der Keymap-Datei "d" belegte er einige KByte, die beim Laden von Diskette erst einmal geladen werden müssen (das dauert ...). Ich schrieb ein kurzes Programm, das ich "DMAP" nannte, weil es "SetMap d" ersetzte. Bald merkte ich, daß es ganz sinnvoll ist, "SetClock Load" auch noch zu ersetzen (man möchte ja uptodate sein!) und so ging es dann weiter. Die Entwicklungsgeschichte von DMAP : V2.0 : Erste Veröffentlichung. Optionen: d,s,r,b,m,t,f,g V2.1 : Diese Version. Einige Fehler behoben. Input-Event-Handler neu überarbeitet. Es sind einige neue Optionen sowie Abwandlungen von alten dazugekommen. Anpassung an Kickstart 2.0+. Erstellung einer neuen (dieser) Dokumentation. Optionen: d,D,s,r,R,b,m,t,T,f,F,g,l,L,a,A 11. Der Autor Autor : Martin Gierich Fehlerberichte, Anregungen, Kommentare, Fragen usw. per EMAIL senden an: uj3w@ibm3090.rz.uni-karlsruhe.de Es wäre auch interessant, wenn mir jemand schreibt, ob er DMAP benutzt oder nicht. Erstellungsdatum dieses Dokuments: 28.12.93 Es wurde mit Text2Guide von Stephan Sürken erstellt. Letzte Änderungen: 26.1.94