Eigentlich sollte mit CAOS 4.7 und der DEVICE-Umschaltung diese Entwicklung abgeschlossen sein.
Der letzte Schritt war dann noch die Fertigstellung des Handbuchs für diesen Entwicklungsstand, doch nun CAOS 4.8?
Das Handbuch ist aktuell immer noch nicht ganz fertig. Einige Passagen müssen noch ergänzt und erweitert werden.
Schließlich soll das Handbuch ein universelles Nachschlagewerk für die aktuelle CAOS-Version sein und ebenfalls immer darauf verweisen für welche CAOS-Version die gerade beschriebene Funktion gilt.
Nochmals zur Erinnerung:
Die Entwicklung von CAOS 4.5 wurde 2010 abgeschlossen. Die Idee, mit dem LOAD-Befehl von CAOS Programme auch von anderen Datenträgern einzulesen, ist mir schon lange durch den Kopf gegangen. Nur die Umsetzung war nicht ganz einfach und auch mit Kompromissen verbunden - wie sich später herausstellen sollte.
Die Entwicklung von CAOS 4.6 und einer DEVICE-Umschaltung wurde im Jahr 2013 begonnen. Umgeleitet wurden alle DEVICE-Aufrufe, entweder auf TAPE wie bis CAOS 4.5 oder auf DISK falls ein D004 im KC-System vorhanden ist. Das DEVICE-Treiber-System war bereits dafür ausgelegt, weitere (bis zu insgesamt 8) Treiber extern nachzuladen. Diese zusätzlichen Treiber müssen jedoch irgendwo im RAM stehen und von Kassette oder Diskette erst einmal geladen werden. Der Komfort war also nicht sonderlich hoch - außer für die glücklichen D004-Besitzer.
Es stellte sich aber heraus, dass diese DEVICE-Umschaltung zu langsam war für die Byte-Schnittstelle von BASIC. Mit CAOS 4.6 konnten also keine BASIC-Programme mehr von Kassette eingelesen werden. Dieses Manko konnte natürlich nicht bleiben und die Entwicklung von CAOS 4.6 wurde 2016 eingestellt.
Für CAOS 4.7 wurde die DEVICE-Schnittstelle grundlegend überarbeitet. Es werden jetzt nur noch die Routinen zum Lesen und Schreiben von ganzen Datenblöcken umgeschaltet und die Auflösung in Bytes direkt in CAOS vorgenommen. Außerdem wurde eine Variante implementiert, welche DEVICE-Treiber von USB-Modulen automatisch aus dessen EEPROM einbindet. Somit kann jetzt sofort nach dem Einschalten des KC85/5 mit M052 auf den USB-Stick als Datenträger zugegriffen werden.
Für CAOS 4.7 wurde ein Texteditor mit 80-Zeichen entwickelt, der als Editor für EDAS dienen kann. Der Texteditor ist jedoch auch eigenständig zum Bearbeiten von Textdateien verschiedener anderer Textprogramme einsetzbar, wie z.B. WordPro, TEXOR oder TypeStar.
Beim USER-ROM hatte der Anwender also die Wahl, entweder EDAS 1.7 und FORTH zu verwenden oder ASM 2.0 und den neuen Editor.
CAOS 4.7 enthielt außerdem einen Turbolader für Kassette. Damit sollte auch die Kassettenarbeit etwa doppelt so schnell werden als sonst üblich. Leider arbeitet diese Turbo-Lader nicht so stabil wie erwartet und wurde deshalb wieder verworfen.0
Der dadurch frei gewordene Speicherplatz im EPROM konnte nun für weitere Funktionen genutzt werden.
Neben Code-Optimierungen erhielt CAOS 4.8 folgende Änderungen gegenüber CAOS 4.7:
- Die Byte-Routinen MBIN/MBOUT lassen sich jetzt auch außerhalb von BASIC einfacher nutzen und geben mit CY=1 einen Fehler zurück
- BASIC-Dateien wurden bisher immer einen Datenblock zu lang ausgegeben
- UP 31H=SIXD wurde mit einer Option erweitert, welche die DEVICE-Treiber-Tabelle neu aufbaut.
- Das Menüwort V24DUP initialisiert nun ohne Argumente (wie im Handbuch beschrieben) mit den letzten Parametern (vorher SIO-Kanal 1 und USER-Kanal 2)
- JUMP-Befehl schaltet Modul wieder mit FFH (statt FDH bei CAOS 4.7) ein, sonst ist ein M011 komplett schreibgeschützt.
- Fehler beim Schalten der RAM4-Ebene korrigiert (dieser Fehler wurde auch in CAOS 4.7 auch noch nachträglich gepatcht)
- SAVE und LOAD verwenden jetzt bis zu 12 Zeichen des Dateinamens im Vorblock
- Modulbezeichnung zu Strukturbyte DAH geändert von "PIO-3" in "WEATHER" aufgrund der Neuentwicklung dieses Moduls
- Kommando %INIT funktioniert nun auch mit USB (bisher nur bei Diskette)
- Autostart einer Datei INITIAL.UUU von USB-Stick in Verbindung mit der USB-Software Version 2.9
- UP 33H=TCIF meldet jetzt auch Fehler bei Fenstergrößen mit Zeilenanzahl=0 oder Spaltenanzahl=0
- HELP-Kommando jetzt in Großbuchstaben und erweitert zum Auflisten aller möglichen Menüworte
- ESC-E definiert als Soft-RESET
- ESC-F definiert als Soft-POWER-ON
- ESC-G zum De-/Aktivieren des 2-Fenster-Modus
- ESC-H ruft das HELP-Kommando auf
- Alternativer ROM-Satz mit einem neuen, dünnen Zeichensatz, Danke dafür an René Nitzsche.
- Cursor- und Fenster-Daten werden für jedes der beiden Bilder separat gespeichert.
- Beim Einschalten des KC (POWER-ON) werden erst alle Module ausgeschaltet und dann erst der Speicher gelöscht.
- Nach dem Einschalten des KC ist nun wieder Fenster Nr. 0 aktiv wie es bis CAOS 3.4 der Fall war (bei CAOS 4.1 bis 4.7 war es Fenster Nr. 9)
- BASIC-Befehl PRINT AT zerstört keine Fenster-Daten mehr
- Druckerinitialisierung nur noch mit CR statt CR+LF
- Initialisierung der Speicherzelle HCADR bei vorhandenem V.24-Modul korrigiert
- Neue Verwendung der DEVICE-Funktionen 6 (Versionsabfrage) und 7 (treiberspezifische Funktionen)
- komplette Pfadangaben jetzt in Dateiname und DIR-Maske möglich bei USB
- CALC berechnet jetzt auch 24-Bit-Hexzahlen
- verbesserte Tonausgabe bei gleichem Ton linker+rechter Kanal durch Rücksetzen des Symmetrie-FlipFlop
- neues Kommando FIND im Debugger TEMO
- TAPELIST erkennt jetzt auch PASCAL-Dateien, welche mit Vorblock 00H beginnen
- abschaltbare Blocknummernanzeige bei MBIN und MBOUT
Für den USER-ROM gibt es nun nur noch die Variante mit ASM 2.0 und dem Text-Editor. Wer FORTH benutzen möchte, kann dies ja weiterhin über ein Modul M026 oder das Laden in ein beliebiges RAM-Modul auf Adresse C000h. FORTH wurde ja ohnehin noch nicht an die DEVICE-Schnittstelle angepasst und war in CAOS 4.7 auch nur eine 1:1 Kopie des ROM-Inhaltes vom Modul M026.
Die EPROM-Images der vierten "Public-Beta" vom 03.04.2021 stehen im Download-Bereich von KC85.INFO zur Verfügung. Falls keine Fehler mehr auftauchen, wir dies die finale Version von CAOS 4.8 werden.
Das Handbuchs für CAOS 4.6 bis 4.8 ist noch in Arbeit und wird demnächst aktualisiert.
Viel Spaß beim Ausprobieren.