128K-TU-ROM-Bank

Ulrich Zander hat ebenfalls ein ROM-Modul entwickelt, das wichtige Programme für den Z9001 enthält.


Ulrichs ROM-Bank mit 256 KByte Kapazität und mit 16K SRAM (batteriegestützt, Foto vom KC-Treffen 2007)

Bereich: C000-E7FFh
RTC-Port: 60h-6Fh
Bank-Port: 78h

Es liegen 16 Bänke (0..15) parallel in diesem Speicherbereich. Es ist immer eine Bank aktiv. Die geraden Bänke 0,2,4,… haben eine Kapazität von 10KByte, die ungeraden Bänke von 6 KByte.

Über eine (beliebige) Ausgabe auf den Bank-Port wird die nächste Bank aktiviert. Nach Reset ist Bank 0 aktiv.

Der Port ist nur ein OUT-Port, d.h. die aktuelle Bank kann nicht über den Port zurückgelesen werden!

Außerdem ist im Modul auch Software für einen Uhren-Chip (RTC) enthalten (Port 60-6Fh).

ROM-Bank und Software sind eine Entwicklung der TU-Dresden(?)

s. http://www.sax.de/~zander/z9001/ex.html (ROM-Bank-Modul)

RTC Echtzeituhr nach O. Matthäi (nicht kompatibel zur GIDE-RTC).

rtc: http://www.sax.de/~zander/z9001/ex/rtc.html

Damit alle Bänke vom OS aus nach Software durchsucht werden können, gibt es ein angepasstes OS.
Der System-PROM im Geräte muss dazu ausgetauscht werden, um die ROM-Bank in ihrer derzeitigen Form nutzen zu können!

In der ROM-Bank gibt es eine Auflistung der enthaltenen Programme („H - Menüanzeige“) und eine Suchfunktion („SUCH“, „SUCHALL“) zum Auflisten transienter Kommandos.

Die Programme in der ROM-Bank müssen entweder für den ROM-Bereich geschrieben sein, in dem sie abgelegt werden, oder über eine kurze (selbst zu schreibende) Umladeroutine in den RAM-Bereich umkopiert werden, in dem sie arbeiten.

Programme, die größer als 10K sind, müssen auf mehrere Bänke verteilt werden. Das Kopieren in den RAM und das Weiterschalten des Bank-Ports müssen aufeinander abgestimmt sein. Der Loader für Pascal kann als Beispiel dienen.

BASIC-Programme sind derzeit keine in der ROM-Bank abgelegt. Man kann aber ein BASIC-Programm von 300h-(3D7h) speichern. Nach dem Zurückkopieren in den RAM wird WBASIC aufgerufen und man kann das Programm erneut starten.

Soll der Programmname im Menü auftauchen, ist in Bank 3 der Name zu ergänzen. Im Programmteil „H - Menüanzeige“ am Ende der Bank ist entsprechend Platz freigehalten.

Bank 7, 11, 13, 14, 15 sind leer und können für eigene Programme genutzt werden.