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.
Variante | V.24 | Centronics | Speicherbereich |
---|---|---|---|
intern (typ. für einen 27C128 gemeinsam mit CAOS 3.1) | CAOSEI | E000..EFFF | |
CAOSFVI | CAOSFCI | F000..FFFF | |
extern (für Modulschacht) | CAOSE | E000..EFFF | |
CAOSFV | CAOSFC | F000..FFFF | |
Kassette (zum Laden in 16-K-RAM-Modul; ausgestorben) | CAOSEC | E000..EFFF | |
CAOSFV | CAOSFC | F000..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.
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.
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 (
Name | Last modified | Size | Description | |
---|---|---|---|---|
caos34iv.rom | 2002-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:
Dateiname | ROM-Bereich | Einbauort | eingeb. Druckertreiber | sonstiges |
---|---|---|---|---|
CAOSE.ASM | E000-EDFF ohne Zeichenbildtabelle inkl. BASIC-Expander | ROM-Modul (bspw. M006) im Schacht 8 | - | - |
CAOSEI.ASM | Grundgerät D001 | |||
CAOSFV.ASM | F000-FDFF ohne Zeichenbildtabelle | ROM-Modul (bspw. M006) im Schacht 8 | V24 (M003) | - |
CAOSFVI.ASM | Grundgerät D001 | |||
CAOSFC.ASM | ROM-Modul (bspw. M006) im Schacht 8 | Centronics (M021) | (fehlt) Ronald Sieber (@ systec) fragen | |
CAOSFCI.ASM | Grundgerät D001 | |||
CE2.ASM | E000-EDFF ohne Zeichenbildtabelle inkl. BASIC-Expander | ?? (wahrscheinlich Grundgerät) | - | Schlüsselwort MOUSE statt JOYST in BASIC |
CE3.ASM | Ansprung D004 Disketten-Aufsatz | |||
CF2.ASM | F000-FDFF ohne Zeichenbildtabelle | V24 (M003) | ||
CF3.ASM | Ansprung 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.