256 KByte on Board ... der erste Schritt zum KC85/5?

von Mario Leubner

Wie die meisten Leser sicher schon durch den Beitrag von Herrn F. Dachselt in KC-News 3/92 wissen, ist der KC85/4 für den Ausbau auf RAM-Speicher höherer Kapazität vorgesehen. Darüberhinaus ist es möglich, den CAOS-ROMC (2732) gegen einen 8K-Typen (2764) auszutauschen und den BASIC-ROM (2364) gegen einen 32K-EPROM (27256). Der größere CAOS-ROMC sollte die Erweiterungen für ein neues Betriebssystem (CAOS4.3 oder CAOS5.n) enthalten und im BASIC-ROM haben neben BASIC noch weitere Standard-Programme wie z.B. Edas oder Forth Platz.

Der weitere hardwaremäßige Ausbau des KC85/4 zum KC85/5 erfordert das Auslöten der drei ROM-Speicher. In "KC-news" 3/92, Blatt 7 sind diese drei Schaltkreise im Bild oben rechts zu sehen. Der linke (U2764) ist der CAOS-ROM-E, der mittlere (U2364 BM 600) der BASIC-ROM und der rechte (U2732) der CAOS-ROM-C. Wer sich an den Austausch der RAM's gewagt hat, der sollte diesen zweiten Schritt auch nicht scheuen. Es ist größte Vorsicht geboten, damit die Leiterplatte nicht zerstört wird. Eine Zerstörung der Schaltkreise ist weniger problematisch, da hier notfalls neue benutzt werden können. In die freigemachten Lötaugen der Schaltkreise sind 28-polige EPROM-Fassungen einzusetzen und zu verlöten. Wer die alten ROM's sauber herausbekommen hat, kann diese jetzt zum Test wieder in die Fassungen stecken (richtige Lage beachten!). Ein Austausch gegen ein neues Betriebssystem erfordert nun nur noch den Austausch der IC's.

Was sollte das neue CAOS enthalten? Natürlich als erstes dieVerwaltung der gesamten Speichermassen. Weiter denke ich an den vollständigen IBM-Zeichensatz (wahlweise zum CAOS-Zeichensatz) und Treiber für Maus, Joystick, Centronics-Druckerschnittstelle und und und... Herr Haftmann (048 in der ehemaligen Adressenliste) arbeitete bereits daran, widmet sich jedoch momentan mehr dem PC.

Einige Änderungen habe ich gemeinsam mit Ihm bereits vorgenommen. Diese sind als CAOS4.21 und CAOS4.22 so entstanden, daß nur Teile bestimmter Routinen des CAOS4.2 ausgetauscht wurden. Im wesentlichen ist im CAOS4.22 folgendes enthalten:

  • Fehlerbeseitigung bei Modify im Bereich ab C000H
  • Modify mit mehreren Spalten
  • Verwaltung des 256K RAM8 (SWITCH und MODUL)
  • Verwaltung der 4 ROM-C-Blöcke (SWITCH und MODUL)
  • M003-Suche und -initialisierung auch nach jedem RESET
  • Automatischer Floppy-Ansprung bei Power-on
  • Verbesserte Abfrage einer V.24-Fremdtastatur
  • F-Tastenbelegung für 15 F-Tasten (F1 bis FF)
  • %KEYLIST entfällt (Aufruf durch %KEY ohne Argumente, dabei werden nur noch die belegten Tasten präsentiert)
  • Aufruf %KEY 0 löscht den gesamten F-Tastenspeicher

Verwaltung des 256K-RAM8

Zum verwendeten Steuerbyte habe ich mich (im Gegensatz zu Herrn F. Dachselt) an das Systemhandbuch gehalten.

Zitat:
"Die Segmentnummer muß dual verschlüsselt werden und von Bit 2 bis Bit 6 eingetragen sein. Daraus ergibt sich auch die Möglichkeit, die zwei RAM-Segmente (RAM8 Block 0 und RAM8 Block 1) zu schalten."

Jetzt stehen aber 14 (16) RAM8-Segmente zur Verfügung. Folgendermaßen werden die RAM-Blöcke geschaltet:

Segment   Block           SWITCH 3 .. (für wr/on)
0 RAM8 E (RAM0) 3B (legt RAM0 zusätzlich auf 8000H)
1 RAM8 F (RAM4) 3F (legt RAM4 zusätzlich auf 8000H)
2 RAM8 0 03 (bisher auch Block 0)
3 RAM8 1 07 (bisher auch Block 1)
4 RAM8 2 0B (ab hier neu)
5 RAM8 3 0F
6 RAM8 4 13
7 RAM8 5 17
8 RAM8 6 1B
9 RAM8 7 1F
10 RAM8 8 23
11 RAM8 9 27
12 RAM8 A 2B
13 RAM8 B 2F
14 RAM8 C 33
15 RAM8 D 37

Segment ist auch gleichzeitig der Wert, der in den Bits 4-7 von Ausgabekanal 84H (IX+1) steht. So wie unter Block angegeben, erscheint die Anzeige beim Aufruf des Kommandos "SYSTEM". Die 14 Blöcke liegen also im SWITCH-Befehl wie vorher, nur entsprechend weiter ausgebaut und als Zugabe noch RAM0 als Block 14 und RAM4 als Block 15. Dieses könnte zwar auch softwaretechnisch verhindert werden, muß aber meiner Meinung nach nicht sein.

Verwaltung des ROM-C

Ein Austausch des BASIC-ROM ist für das neue CAOS nicht zwingend erforderlich. Wer aber die drei zusätzlichen ROM-Blöcke nutzen will, kann dies noch tun. Die damit vier hintereinander auf Adresse C000H liegenden ROM-Blöcke können vom CAOS4.22 verwaltet werden. Der Platz für den BASIC-ROM darf dabei nicht verändert werden, da dies vom CAOS automatisch geschaltet wird. Die restlichen drei Blöcke können nach eigenen Wünschen belegt werden und sind mit SWITCH jeweils zu aktivieren. Ein RESET oder BASIC-Aufruf schaltet den ROM natürlich wieder ab. Zur Aufteilung des ROM-C habe ich folgendes gewählt:

SWITCH 2 C1: wie bisher BASIC
SWITCH 2 D1: Reassembler und KC-Debugger (Testmonitor)
SWITCH 2 E1: Edas (V1.6)
SWITCH 2 F1: FORTH

Die Verwaltung als RAM-Floppy im PC-Modus erreiche ich mit dem Programm RAM.COM. Eine Änderung des D004-EPROM ist somit vorerst nicht nötig (obwohl es in diesem noch andere Schwachstellen gibt). Das von Herrn F. Dachselt vorgestellte Programm RAMFLOP.COM arbeitet nicht mehr einwandfrei, sobald ein 1-MByte-RAM-Modul gesteckt ist. Es ergibt sich damit nämlich eine veränderte Organisation der Speicherblöcke. Außerdem sind mit seinem Programm die anderen Speichermodule nicht mehr effektiv nutzbar.

Zu RAM.COM ist eigentlich alles im Programm erklärt. Es war geplant, daß eine automatische Unterscheidung KC85/3 - KC85/4 - KC85/5 vorgenommen wird, danach vergibt RAM.COM den RAM8 entsprechend. Das funktioniert auch, aber der Bildaufbau des KC85/3 bereitet Probleme. In erster Linie ist RAM.COM ja auch für KC85/4-Nutzer gedacht:

Mit RAM.COM können Sie die in der RAM-Floppy vorhandenen Module selbst bestimmen. Das Programm erkennt, ob es sich um einen KC85/3, KC85/4 oder KC85/5 handelt. Als KC85/5 gelten nur Geräte, die den 256K-RAM auch verwalten können (z.B. mit CAOS4.22). Die gebräuchlichsten RAM-Module (16K bis 1M) sind bereits definiert, es können vom Anwender weitere drei (Eigenbaumodule) ergänzt werden, die dann genauso verwaltet werden. Dazu ist folgendes einzugeben:

  • Strukturkennbyte (hexadezimal)
  • Anzahl der Spuren bzw. 16K-Blöcke (dezimal)
  • Steuerbyte (hex.), das den ersten Block auf Adresse 8000H schaltet
  • Offset (Abstand) zum nächsten Steuerbyte, falls mehr als ein Block verwaltet werden soll.

Die eingestellte Installation wird als RAM.DAT abgespeichert und kann jederzeit neu ausgeführt werden. Es wird vom Programm lediglich geprüft, ob alle zu verwaltenden Module auch so gesteckt sind. Ist das nicht der Fall, wird mit einer Fehlermeldung abgebrochen.

Um die Installation der eingestellten Werte vorzunehmen, braucht der Aufruf "RAM A" nur in der INITIAL.SUB zu stehen und wird beim BOOT-Vorgang automatisch ausgeführt. Der Aufruf "RAM M" ergibt stets die Maximalinstallation aller verfügbaren Module.

Die Installation ist deshalb in der INITIAL.SUB sinnvoll, da jede Veränderung der Speichergröße auch eine Änderung des RAM-Floppy-Aufbaus und damit eine Neuinitialisierung von Laufwerk A: zur Folge hat.

Bei mir arbeitet der "KC85/5" seit einiger Zeit ohne Probleme. Ich verwende zur Zeit eine Testversion des CAOS4.3. In der Datei CAOS43.TXW (WP6-Format) ist angegeben, was alles an Leistungsumfang bereits enthalten ist. Hinweise und Vorschläge dazu nehme ich gern noch entgegen. Sobald das neue CAOS "serienreif" ist, stelle ich jedem Interessenten gern kostenlos als Speicherabzug zur Verfügung. Wer keine Möglichkeit hat, die EPROM's zu programmieren, der kann mir auch die Schaltkreise (postsicher verpackt) zuschicken. Für den BASIC-ROM können auch eigene Programme mitgeschickt werden.

Die Dateien CAOS43.TXW (WordPro 6) und RAM.COM befinden sich auf der Beilagen-Diskette im Archiv CAOS43.PMA.

Kontakt: Mario Leubner (siehe Impressum)