Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
ANHANG C: Beispiel einer Peripherieschaltung
Zur Illustrierung einer Atari Portfolio typischen Erweiterung haben wir eine Erweiterung entwickelt die eine LED bei jedem System-Tick aufleuchten lässt. Um dem Benutzer die Funktionsweise transparent darstellen zu können haben wir eine ROM-Extension verwendet.
SPEZIFIKATIONEN DER ERWEITERUNG
- eine einzige LED die im System-Takt blinkt
- mit einer PID von 64H
- mit sämtlicher Software auf einem Extension-ROM
- Nur bei eingeschaltenem Gerät betreibbar
- als Terminating Peripheral
- Erweiterung schaltet sich mit ausgeschaltener LED ein
Hardwareentwicklung (siehe Schaltplan und Abschnitte 2.6 und 2.7)
- es ist eine Dekodierlogik vorhanden um die PID in 807FH einzulesen. (Da es nicht nötig ist festzustellen ob die LED an ist, wird der Latch für eienen Schreibvorgang in 807FH dekodiert um Dekodier-Logik zu sparen.)
- jeder weitere Schreibvorgang in 807FH schaltet die LED ein oder aus
- Wenn der Latch gesetzt ist leuchtet die LED
- Wenn der Latch zurückgesetzt wird geht die LED aus
- Die Schaltung wird von 5VS gespeißt
- Die Puffersignale ABUF/BBUF und PDET werden ebenfalls benutzt
Softwareentwicklung (siehe PDEM.ASM)
- Es wird eine ROM-Extension verwendet um ein TSR in den Int 1CH zu hängen
- Jeder Aufruf von Int 1CH wird durch Schreiben in I/O 807FH die LED ein- oder ausschalten
- Das TSR deinstalliert sich selbst wenn die Erweiterung entfernt wird
- Es wird vorausgesetzt, dass biem Einschlaten die LED zurückgesetzt wird
ROM-Extensions (siehe XROM.ASM)
Dieses Programm illustriert wie eine einfache ROM-Extension entwickelt wird. Es kann entweder als spezifische BIOS, DOS, oder als allgemeine Erweiterung dienen, dem ID-Code bei 0C000:0 entsprechend. Jedes Erweiterungsmodul gibt sich zu erkennen und wo es aufgerufen wurde. Es ist eine gute Ausführung um die Möglichkeiten der ROM-Extensions darzustellen.
Anmerkung: ROM-Extensions dürfen AL niemals mit einem Wert von 0 zurücklassen. Dieser Gebrauch ist Atari und DIP vorbehalten.