80-Bus Journal |
Januar 1983 · Ausgabe 1 |
00XX0000: Streifenstanzer
XX000000: Drucker
„XX“ bestimmt jeweils, welches Gerät bei Aufruf der entsprechenden Funktion angesteuert wird. Je nach System ist immer nur ein Teil der Gerätenummern belegt; der Rest kann vom Benutzer festgelegt werden (z.B. für einen Cassettenrekorder). Im einzelnen gelten folgende Zuordnungen:
| Konsole: | 00=TTY 01=CRT 10=BATCH (s.u.) 11=USER | |
| Leser: | 00=TTY 01=Streifenleser 10=USER 11=USER | |
| Stanzer: | 00=TTY 10=USER 11=USER | 01=Streifenstanzer |
| Drucker: | 00=TTY 01=CRT 10=Zeilendrucker 11=USER |
Alle mit „USER“ gekennzeichneten Geräte können vom Benutzer
oder in manchen Fällen auch vom Konstrukteur eines Computers frei
definiert werden. Oft tritt auch heute schon ein Cassettenrekorder an
die Stelle des Streifenlesers bzw. -Stanzers. Unter „BATCH“
versteht man eine bestimmte Betriebsart, bei der der „Leser“
als Eingabegerät und der „Drucker“ (logisch!) als
Ausgabegerät dient. Damit hat man wohl früher Lochstreifen in Klartext
übersetzt. Es ist nun überhaupt nicht mehr schwierig, eine
entsprechende Software-Schnittstelle für NAS-SYS zu schreiben, sofern
wir vorher ein kleines Hardware-Problem lösen: Der Speicherbereich von
0 bis 4K muß zwischen RAM einerseits und EPROM/
Manchem Leser wenden die oben beschriebenen Unterprogramme und
Funktionen recht bekannt vorkommen, auch wenn er noch nie etwas mit
CP/M
zu tun hatte. Der von der Firma TDL in den USA vor vielen Jahren
herausgebrachte
„ZAPPLE Monitor“
verfügt im wesentlichen über
die gleichen Unterprogramme incl. der IOBYTE-Funktion. Der Monitor ist
inzwischen in Deutschland mehrfach veröffentlicht worden von
R. D. Klein.
Eine
erste Version ist in seinem Buch
„Mkrocomputer Hard- und Software-Praxis“
enthalten, eine erweiterte Fassung ist neulich
als Monitor für den
MC-CP/M-Computer
in dieser Zeitschrift erschienen.
Der Monitor belegt den Speicher ab F000H und beginnt mit einer
„Sprungleiste“ zu den entsprechenden
Ein/
Damit nicht alles Theorie bleibt, will ich mit einem kleinen Programm schließen, das wir später in den Monitor übernehmen können, das aber auch jetzt schon unter NAS-SYS benutzt werden kann. Es beruht auf einem Aufsatz von Gary A. Kildall, dem Entwickler von CP/M, in Dr. Dobb’s, Februar 1978. Er beschreibt dort ein Verfahren, Programme voll verschieblich zu machen, das dann auch in CP/M benutzt wird. Das Betriebssystem CP/M selbst kann, mit diesem Verfahren den unterschiedlichsten Speicherkonfigurationen angepaßt werden. Wir können es z.B. auch benutzen, um Nascom-Firmware an anderer Stelle als der ursprünglich vorgesehenen lauffähig zu machen. Als Beispiel wird der „Verschiebungsvektor“ für NASDIS mit abgedruckt. Damit ist es möglich, den Disassembler in jedem Speicherbereich laufen zu lassen. Weitere Verschiebungsvektoren z.B. für DEBUG, ZEAP und NASPEN) werden in den nächsten Heften folgen. (Ich wollte schon immer ZEAP nach F000H
| Seite 25 von 28 |
|---|