KC85/3 mit CAOS 3.4

Was ist CAOS 3.4?

CAOS 3.4 ist ein verbessertes, schnelles Betriebssystem für den KC85/2 und /3. Die Bildschirmroutinen erreichen die Geschwindigkeit des Nachfolgetyps KC85/4. Weitere Extras erleichtern die Bedienung, die Schrift ist lesefreundlicher, und ein Druckertreiber ist bereits eingebaut.

Es gibt eine „interne“ und eine „externe“ sowie eine V24- und eine Centronics-Variante. Die „externe“ Version wird in einem Modulschacht benutzt und ist erst durch einen JUMP-Befehl verfügbar. Alternativ ist der Einsatz in einem Autostart-Modul (Strukturbyte 01h) im Schacht 8 möglich.

Zugehörige Quelltexte und Speicherabzüge (jeweils 4 KByte)
VarianteV.24CentronicsSpeicherbereich
intern (typ. für einen 27C128 gemeinsam mit CAOS 3.1)CAOSEIE000..EFFF
CAOSFVICAOSFCIF000..FFFF
extern (für Modulschacht)CAOSEE000..EFFF
CAOSFVCAOSFCF000..FFFF
Kassette (zum Laden in 16-K-RAM-Modul; ausgestorben)CAOSECE000..EFFF
CAOSFVCAOSFCF000..FFFF

Die „interne“ Version wird in den KC durch Wechseln des EPROMs eingebaut. Von Vorteil ist die sofortige Verfügbarkeit sowie der Umstand, dass ein in CAOS 3.1 vorhandener Reset-Fehler (der per dummer Software einen Tasten-RESET zunichte machen kann) nicht mehr auftritt. Außerdem bleibt der Modulschacht frei.

Die V.24-Version enthält einen Druckertreiber via V24-Modul M003 (wie KC85/4), aber mit abgespecktem Leistungsumfang, um in den ROM zu passen. Damit wurden serielle Druckerschnittstellen (RS232) bedient. Wie beim KC85/4 nur Hardware-Flusskontrolle (RTS/DTR), nicht via XON/XOFF.

Die Centronics-Version enthält äquivalente Druckerroutinen für das Modul M001, also für Parallelport-Drucker. Da das Modul M001 nur eine PIO UB855 aber keine Modulsteuerung enthält, ist hier alles einfacher gestrickt und dafür etwas mehr Komfort eingebaut.

Kompatibilität

CAOS 3.4 ist, soweit es möglich war, kompatibel zu CAOS 4.3 für den KC85/4. Das heißt, dass insbesondere Bildschirmsteuerfunktionen, die sich zwischen KC85/3 (CAOS 3.1) und KC85/4 (CAOS 4.x) von vornherein unterschieden, zum KC85/4 hin verändert wurden. Damit wird dem Umstand Rechnung getragen, dass neue Software vornehmlich die KC85/4-Eigenschaften benutzt.

Natürlich konnten die hardware-abhängigen Routinen zur Berechnung von Pixel- und Farbadresse nicht geändert werden; sie wurden jedoch beschleunigt.

Auch ist CAOS 3.4 nicht einsprung-kompatibel mit CAOS 3.1, d.h. dass Spiele, die direkt (ohne Unterprogrammverteiler) ins CAOS springen, nicht laufen - aber solche Spiele laufen auch nicht auf dem Vorgängertyp KC85/2. Deshalb ist stets ein Backup des originalen CAOS 3.1 vorgesehen.

Die Rückschaltung zu CAOS 3.1 mittels JUMP 0 erfolgt bei der internen Version (CAOS 3.4i) durch die frei gemachte NMI-Leitung von der PIO A4 (Pin 10), welche zwischen den beiden „Bänken“ des 27C128 umschaltet. Dazu muss die Verbindung zum Prozessor U880 (Pin 17) abgetrennt werden; sie ist ohnehin undokumentiert, sinnlos und beim echten KC85/4 nicht mehr vorhanden.

Bei allen anderen Versionen bewirkt JUMP 0 das Aktivieren des ROMs mit der zugehörigen ROM-LED über die PIO A0 (Pin 15). Das ist der ganze Unterschied.

SWITCH 2 xx schaltet, wie bei Mario Leubners CAOS 4.3 (= Weiterentwicklung des CAOS für KC85/4), zwischen 4 Bänken des ROMC (27C256) um, mit Hilfe der freien PIO-Ausgänge B5 (Pin 32) und B6 (Pin 33). Damit stehen neben HC-BASIC 3 weitere ROM-Bereiche zur Verfügung, typischerweise eins für EDAS/TEMO, eins für FORTH und ein Bereich für künftige CAOS-Erweiterungen.

Selbstbrenner

In einen 16-KByte-EPROM 27128 wird „unten“ CAOS 3.1 und „oben“ CAOS 3.4 gebrannt. Bei Verwendung eines besser verfügbaren 32-KByte-EPROM 27256 sind von diesem die „oberen“ 16 KByte zu verwenden. Wer nur 8K hat, brennt nur CAOS 3.4, hat dann aber kein Backup.

Wie wird die „interne“ Version installiert?

Voraussetzung hierfür ist ein KC85/3. Der Umbau eines KC85/2 ist einiges komplizierter, aber dafür kommt dann ein „richtiger“ KC85/3 heraus.

Dazu muss der Betriebssystem-ROM des KCs ausgelötet werden. Es ist der mit der Aufschrift 604; 600 bedeutet „Bitmuster HC-BASIC“. Wenn man schon beim Auslöten ist, kann man den BASIC-ROM auch noch herausnehmen und so den Computer für eingebautes EDAS usw. vorbereiten. Im Folgenden wird daher vom Austausch beider ICs ausgegangen.

Natürlich setzt man nun anstelle der ROMs Fassungen ein! Bevor man das tut, entferne man die bestückungsseitigen Brücken zwischen Pin 26 und 27 (CAOS) und Pin 26, Pin 27 und Pin 28 (BASIC) und ersetzt sie danach durch provisorische Drahtbrücken auf der Leiterseite. Denn diese Brücken würden das Aufstocken mit größeren, gebankten EEPROMs verhindern, und man käme nach Bestückung der Fassungen nicht mehr an diese Leiterzüge heran.
Etwas schwieriger ist es, Pin 1 freizumachen. Dieses wird benötigt, wenn man 27C512 oder 28C256 bestücken und (irgendwie) ansteuern will. Da mir dazu kein sinniges Anwendungsszenario einfällt, kann man dieses auch auf 5P belassen.

Soweit gekommen, setzt man die originalen Chips wieder ein (CAOS links) und prüft auf Funktion von CAOS und BASIC.

Man trenne den (undokumentierten und computertechnisch sinnlosen) Leiterzug zwischen UB855D [PIO A4 - NMI] Pin 10 und Widerstandsnetzwerk 3894 [Pull-Ups in Prozessornähe UB880D] Pin 6 auf und verbinde PIO Pin 10 mit CAOS-EPROM Pin 26 und ersetze die Drahtbrücke Pin 26 nach Pin 27 (Betriebsspannung) durch einen Widerstand (ca. 4,7 kΩ, Wert unkritisch).
Auch danach muss der KC mit dem originalen CAOS laufen. Zweck dieser Leitung ist der Sprung zum CAOS 3.1 im neuen, doppelt großen EPROM.

Nun folgt der Austausch durch den neuen EPROM, und CAOS 3.4 startet. Zur Rückkehr zum CAOS 3.1 gebe man „JUMP 0“ ein. Dies schaltet die soeben umfunktionierte Steuerleitung.

Modernerweise lässt sich auch Flash-Speicher einsetzen. Zur In-System-Programmierung muss allerdings ein brauchbares Schreibsignal (WR) herangeführt werden. Ob und wie das geht ist mir gerade nicht klar.

[ICO]NameLast modifiedSizeDescription
[   ]caos34iv.rom2002-04-15 11:00 8.0K 


Es kann sich ein Fehler in caos34iv.rom befinden, der den korrekten Startup unterbindet! Das kann ich leider nicht mehr untersuchen, da ich keinen funktionstüchtigen KC85/3 mehr habe.

Der (möglicherweise passende) Quelltext befindet sich im Softwareberg. Die Dateien in etwa:
Zuordnung der Assembler-Quelltexte
DateinameROM-BereichEinbauorteingeb. Druckertreibersonstiges
CAOSE.ASME000-EDFF
ohne Zeichenbildtabelle
inkl. BASIC-Expander
ROM-Modul (bspw. M006) im Schacht 8--
CAOSEI.ASMGrundgerät D001
CAOSFV.ASMF000-FDFF
ohne Zeichenbildtabelle
ROM-Modul (bspw. M006) im Schacht 8V24 (M003)-
CAOSFVI.ASMGrundgerät D001
CAOSFC.ASMROM-Modul (bspw. M006) im Schacht 8Centronics (M021)(fehlt)
Ronald Sieber (@ systec) fragen
CAOSFCI.ASMGrundgerät D001
CE2.ASME000-EDFF
ohne Zeichenbildtabelle
inkl. BASIC-Expander
?? (wahrscheinlich Grundgerät)-Schlüsselwort MOUSE statt JOYST in BASIC
CE3.ASMAnsprung D004 Disketten-Aufsatz
CF2.ASMF000-FDFF
ohne Zeichenbildtabelle
V24 (M003)
CF3.ASMAnsprung D004 Disketten-Aufsatz

Übrigens: Einen funktionstüchtigen ROM-Inhalt kann man auch in meinem KC-Emulator finden. Er befindet sich in einer Binärresource. Geeignete Ressourcen-Editoren gibt es zuhauf, er muss aber für 16-bit-Ressourcen geeignet sein.