30.09.2010: die finale Version CAOS 4.5 steht zum Download bereit !!!

CAOS 4.5

Auslöser zur Weiterentwicklung von CAOS 4.4 zu CAOS 4.5 war ein Fehler, der bei der Verwendung des SOUND-Befehls von BASIC auftritt. Inzwischen wurden einige der seit CAOS 4.4 bereits gereiften Ideen umgesetzt. Die wichtigsten Neuerungen von CAOS 4.5 sind:

  • Umstellung der Quelltexte von EDAS in das CP/M-Format mit 80 Spalten und reinem ASCII
  • Kontrolle aller Interruptroutinen auf Stacknutzung bei eingeschaltetem IRM
    und Korrektur der gefundenen Fehler
  • vollständige Überarbeitung der Interrupt-gesteuerten V.24-Empfangsroutine:
    - keine Stacknutzung mehr bei eingeschaltetem IRM
    - ESC-T und ESC-U werten IRM-Schaltzustand aus
    - Parameter für Pollingbetrieb unabhängig von V24DUP
  • V24OUT und CEN durch neues gemeinsames Menüwort LSTDEV ersetzt
  • CAOS-UP 47H (V24OUT) um Unterstützung für Centronics erweitert
  • V24DUP überarbeitet: Senden und Empfangen mit 7 Bit jetzt möglich
  • Joystick-Treiber für M008/M021 eingebaut: mit anpassbarer Wiederholrate,
    Verzögerung bis Auto-Repeat wie bei Tastatur, und optionaler Unterstützung
    für diagonale Bewegungen
  • BASIC-Funktion JOYST implementiert: Aufrufkonvention und Tastenzuordnung
    kompatibel mit KC87 (siehe Beschreibung im Programmierhandbuch des KC87)
  • fehlerhaften BASIC-Befehl BORDER stillgelegt
  • Anpassung der Zeichensätze auf den Stand des KC 85/5-Systemhandbuchs
  • Anzeige weiterer Module in der Modulübersicht:
    - M008/M021 (Jyostick + Centronics)
    - M030 (EPROMER 32k bzw. 64k)
    - M032 (Variante 64k segmented RAM)
    - M052 (USB+Netzwerk)
    - M012/M026/M027 Unterscheidung an Hand der enthaltenen Menüworte
  • keine Anzeige von Menüworten mit Sonderzeichen (ausser Doppelpunkt)
  • neues Menüwort "time" zur Anzeige der Systemzeit (nur mit DEP 3.0 im D004)
  • Fehlerauswertung BASIC-Befehle PSET, PRESET, PTEST, INK, PAPER und COLOR
    angepasst. Bisher wurde bei fehlerhaften Parametern teilweise SN-ERROR und teilweise FC-ERROR erzeugt, jetzt immer FC-ERROR
  • BASIC-Kommando "DRIVE" kompatibel zu HCBASIC.COM eingebaut, erweitert um die Möglichkeit auch die USER-Bereiche zu wechseln
  • Korrektur der Parameterauswertung bei CAOS-UP 0FH (COLORUP)
  • Erweiterung des Menüwortes "MENU" um bei Bedarf auch versteckte Menüworte zu sehen und die zugehörigen Startadressen anzuzeigen
  • Menüwort NEW zur Neuinitialisierung des Systems. Die Wirkung ist wie POWER-ON, allerdings ohne den Speicher zu löschen. Im Unterschied zu RESET werden hierbei auch der Joysticktreiber und die zugehörigen Arbeitszellen neu initialisiert.
  • Zusätzliche Funktion des CAOS-Menüwortes WINDOW: Aufruf ohne Parameter initialisiert Fenster 0 mit den Standardwerten, also volle Bildschirmgröße weiß/blau, Scrollmode. Diese einfache Aufrufvariante soll helfen wenn ein Programm beim Beenden nicht den gesamten Bildschirmbereich freigibt. Um Fenster 0 ohne Neuinitialisierung aufzurufen, kann "WINDOW 0" benutzt werden.

Das folgende Bild zeigt das erweiterte CAOS-Menü mit zusätzlicher Anzeige der versteckten Menüworte und deren Startadressen. Im Beispiel wurde das Programm LAYOUT.KCC geladen. Man kann erkennen, dass das Menüwort FLOAD zweimal vorhanden ist: einmal auf Adresse 0023h und einmal auf Adresse 0AD7h. Der Aufruf von FLOAD wird immer zur ersten Adresse, also 0023h führen. Wenn das nicht gewünscht ist, kann man jetzt gezielt vorgehen und dieses mit MODIFY deaktivieren.

erweiterte MENU-Anzeige

Bekannte Probleme & Lösungen:

  • HOUSE.KCC läuft nicht mehr unter CAOS 4.5, In diesem Programm wurden Adressen aus dem ROM von CAOS 4.2 direkt verwendet - dass HOUSE.KCC unter CAOS 4.3 und 4.4 nutzbar war ist reiner Zufall
    Lösung: Eine korrigierte Version HOUSE5.KCC wurde erstellt, diese läuft auf allen CAOS 4.x-Versionen
  • HEXO.KCC (Das HEX-Druckprogramm aus dem Buch 'Tips und Tricks für kleine Computer') endet mit dem CAOS-Aufruf CALL PV1, DB 46H (MENU). Da jetzt die Parameter ARGN und ARG1 für die Unterscheidung der MENU-Anzeige ausgewertet werden, kommt je nach Aufrufparameter eine unterschiedliche Anzeige zustande.
    Lösung: Ersetzen des CAOS-Rufes durch einen Sprung zu E000h, damit wird das komplette CAOS-Menü korrekt und einschließlich Titelzeile neu angezeigt.
  • RADOR.KCC - das ist ein RAM-DATEI-ORGSYSTEM von Mühlhausen. RADOR besitzt ein eigenes Untermenü. Vor Aufruf von UP46 wird das COLORUP aufgerufen und
    dafür ARGN auf 2 gesetzt. Ruft man MENU ohne Parameter auf, wird ARG1 nicht gelöscht.
    Dadurch hat das Menü ein zufälliges Verhalten. Immer abhängig davon, was man zuletzt als
    ersten Parameter verwendet hat.
    Lösung: MENU mit Parameter 0 aufrufen, dann erscheint immer das normale Menü ohne versteckte Menüworte oder Adressen.
  • Selbststartende BASIC-Programme mit einer Autostartroutine im Adressbereich vor 0300h vertragen sich nicht mit der automatischen BASEX-Routine, die es seit CAOS 4.3 gibt. Das betrifft z.B. eine Version von SUMERIA.BAS.
    Lösung: Modifizierte Autostartroutine, siehe BASRUN.ZIP im Downloadbereich.
  • Beim Testen mit CAOS 4.5 entdeckt, aber nicht mit CAOS 4.5 im Zusammenhang steht diese Problematik:
    Es gibt Programme, die aus mehreren Programmteilen bestehen und die mit einer Laderoutine versehen wurden, welche das originale FLOAD ab Adresse 0 voraussetzen. Das in neueren D004-EPROM-Versionen enthaltene FLOAD wurde aber erweitert und ist nicht mehr adresskompatibel mit dem ursprünglichen FLOAD. Deshalb lassen sich diese Programme teilweise nicht laden, betroffen sind z.B. Varianten von VOLLGAS, MAZES oder PENGO.
    Lösung: Entweder das ursprüngliche FLOAD.KCC laden bevor eines dieser Programme geladen wird oder die Laderoutine anpassen, z.B. durch Verwendung des integrierten Disk-Verteilers auf Adresse F021h.

Wer nach diesen Ausführungen die Vorteile von CAOS 4.5 gegenüber mehr schätzt als die gelegentlich damit verbundenen Probleme, dem wünsche ich viel Erfolg beim Austausch der beiden CAOS-EPROM's.
Im Archiv ist auch der Inhalt des USER-ROM-C mit enthalten. Dieser muss mit CAOS 4.5 nicht zwingend getauscht werden, Enthalten sind in dem 32K EPROM die bekannten Programme BASIC, EDAS, Debugger und FORTH. Aktuell ist EDAS 1.6b mit dabei, der Rest wurde seit CAOS 4.3 nicht geändert.

besitzt ein eigenes Untermenü. Vor Aufruf von UP46 wird das COLORUP aufgerufen und
dafür ARGN auf 2 gesetzt. Ruft man MENU ohne Parameter auf, wird ARG1 nicht gelöscht.
Dadurch hat das Menü ein zufälliges Verhalten. Immer abhängig davon, was man zuletzt als
1.Parameter verwendet hat