Neue Standards
von Jörg Linder
Große Ereignisse werfen ihre Schatten voraus, heißt es. Kleine Ereignisse an, in und um unsere Kleincomputer auch! Bereits im September des vergangenen Jahres haben wir uns zu einem "Arbeitstreffen" versammelt. Wir das sind: Mario Leubner, Ralf Kästner, Uwe Felgentreu, Frank Dachselt, Hendrik Wagenknecht und Jörg Linder.
Aufgrund der Hardwareveränderungen am KC-System, die bereits realisiert wurden bzw. bevorstehen, ist die Festlegung neuer verbindlicher Standards notwendig geworden. Diese Standards betreffen sowohl das CAOS- als auch das MicroDOS-Betriebssystem. An dieser Stelle möchte ich jedoch darauf hinweisen, daß die erwähnten Veränderungen an der Hardware nur Empfehlungen darstellen. Auch weiterhin soll die Grundausstattung der Originalgeräte genügen, jedoch wird neue Software diese Erweiterungen bzw. Veränderungen unterstützen.
Auf unserem Treffen wurden folgende Punkte besprochen:
MicroDOS
Mangels der Quelltexte für MicroDOS konnten nur allgemeine Festlegungen getroffen werden. Inzwischen liegt der Quelltext des KC-BIOS vor, so daß Mario Leubner bereits Anpassungen vornehmen konnte. Desweiteren ist ZSDOS verfügbar geworden, welches auf dem nächsten Clubtreffen vorgestellt werden soll und eventuell als Ersatz für das MicroDOS eingesetzt wird.
Zusätzlich zum vorhandenen EPROM im D004 wurde der Einbau eines weiteren beschlossen. Er erhält die Moduladresse 'F8', so daß weiterhin mit 'JUMP FC' das Originalsystem gestartet werden kann. Der neue EPROM soll von CAOS 5.0 unterstützt werden. Dazu bedarf es noch einer Abstimmung über den Inhalt, speziell die Bereitstellung von Treibern (z. B. für Maus).
Die Erweiterung des RAMs im Floppy Disk Basis ist (vorerst) nicht vorgesehen, da dies einen zu großen Aufwand darstellt. Ein gebanktes System wird es demzufolge nicht geben. Vielmehr soll das MicroDOS auf einen CP/M 2.2 kompatiblen Stand "abgespeckt" werden. Sinnvolle BDOS-Funktionen, die oberhalb der Definition für CP/M 2.2 liegen, sollen jedoch erhalten bleiben. Gegenüber Anwenderprogrammen wird die Versionsnummer 2.2 gemeldet. Auf keinen Fall soll die TPA-Grenze weiter herabgesetzt werden.
Anstelle des originalen BDOS in 8080-Code soll ein alternatives und leistungsfähigeres System eingebunden werden. Das eingangs erwähnte ZSDOS wird derzeitig auf Verwendbarkeit geprüft. Desweiteren soll versucht werden, den CCP auszulagern. Datumsstempel (Datestamps) für Dateien werden wahrscheinlich nicht eingeführt.
Die von Mario Leubner verbesserte zentrale Abfrageschleife (ZAS) soll über *.ZAS-Dateien (wie in den letzten KC-News vorgestellt) in das neue System eingebunden werden. Die Möglichkeit, ZAS mittels einer COM-Datei nachzuladen, soll jedoch weiterhin bestehen bleiben. Eventuell soll der Code für ZAS z. T. im EPROM F8 abgelegt werden. Für die Installation des neuen Systems wird voraussichtlich eine weiterentwickelte Variante von MSYSG.COM verwendet.
Über die Laufwerkszuordnungen innerhalb des neuen Systems konnte kein endgültiger Konsens gefunden werden. Eine Unterstützung von 16 Laufwerken (A: bis P:) ist geplant. Die Festplatte soll in 2 bis 8 Partitionen aufgeteilt werden, wobei nur Festplatten bis 80 MB sinnvoll erscheinen.
Darüberhinaus soll die Möglichkeit geschaffen werden, Formatdefinitionen über ein Tool aus der Kommandozeile heraus ändern zu können. (Format-Manager)
Neue Handbücher (speziell für Programmierer) werden erforderlich. Die Erarbeitung wird Jörg Linder auf der Grundlage von Dokumentationen der Programmierer übernehmen.
CAOS
Im Zusammenhang mit dem neuen Betriebssystem des Floppy Disk Basis wird die Entwicklung eines neuen DEP ebenfalls unumgänglich. Für die Anwenderprogramme soll sich die Schnittstelle jedoch nicht ändern. Somit wird auch die Nutzung der Festplatte aus derzeitiger Sicht kein Problem darstellen.
Eine Einigung über einen endgültigen Maustreiber konnte noch nicht erzielt werden. Mario Leubner wird eine weitere Variante erarbeiten und vorstellen.
In Zukunft soll eine "SYSLIB" (Sammlung von vorgefertigten Routinen) analog der unter CP/M existierenden erarbeitet werden. Da es jedoch keinen Linker unter CAOS gibt, steht die Form dieser Bibliothek noch nicht fest. Compiler für BASIC oder andere Hochsprachen werden in nächster Zeit für CAOS nicht entwickelt. Der Aufwand scheint derzeit nicht gerechtfertigt.
Über die Neuauflage von Modulen in Kleinstserien wurde nachgedacht. Sie wäre möglich, sofern geeignete Unterlagen (Leiterplattenlayout) vorhanden sind. Auch modifizierte Ausführungen sind denkbar.
Die Definition eines Shell-Eintrittspunktes unter CAOS konnte nicht erfolgen, da es noch kein verbindliches Speichermanagement-System gibt. Erste Gedanken wurden dazu geäußert, jedoch genügten sie nicht, um einen Standard daraus zu entwickeln. Dieses Problem soll aber weiterhin im Auge behalten werden, um vielleicht später eine Lösung herbeizuführen.
Im Anhang werden die getroffenen Vereinbarungen für die Speicheraufteilung des CAOS wiedergegeben.
Allgemeines
Ralf Kästner zeigte die Arbeitsversion von UNIPIC 2.0, das nun Cursor- und Maussteuerung voneinander getrennt behandelt. So daß man mit einem frei beweglichen Mauspfeil im gesamten Programm arbeiten kann. Die Vorstellung war sehr beeindruckend.
Uwe Felgentreu wird im nächsten Jahr eine Mailbox für KC-User einrichten. Eine Zusammenarbeit mit Helmut Jungkunz (ZNODE 51) ist geplant. Über den Umfang der Box und den Anschluß an User-Netze steht noch nichts fest.
Als zukünftige Datenträger werden 3,5"-Disketten angesehen. In der Mitgliederliste der KC-News werden daher zusätzliche Symbole eingeführt. Mario Leubner wird versuchen, HD-Formate nutzbar zu machen, jedoch wird es ohne Veränderungen der Hardware mit unserem Floppy Disk System nicht möglich sein.
Frank Dachselt will TRANSFER.COM weiter ausbauen und damit zum standardmäßigen Austauschprogramm für MS-DOS-Disketten machen.
Der Anschluß eines Modems stellt nach wie vor eines der größten Probleme dar. Zum einen bietet CAOS kein Filesystem und zum anderen befindet sich unter MicroDOS die SIO nicht im Prozessorsystem des D004. Momentan scheint ein interruptgesteuerter Austausch über den Koppel-RAM den einzigen möglichen Lösungsweg darzustellen.
Hendrik Wagenknecht hat angeboten, anderen Usern beim Anschluß einer Tastatur des P8000-Terminals behilflich zu sein. Nach einer besseren Lösung für die Tastatur wird jedoch weiterhin gesucht, da der Bestand an P8000- und ähnlichen Tastaturen nahezu erschöpft sein dürfte.
Eine Satzung wird beim nächsten Treffen des KC-Clubs vorgelegt. Dann soll über deren Notwendigkeit und Inhalt abgestimmt werden.
Anhang
Speicheraufteilung unter CAOS
- 0000 - 0100
FLOAD - kann bei Bedarf überschrieben werden, jedoch auf eigene Gefahr des Programmierers, da dieser Bereich nicht reserviert ist
- Vordergrundprogramme können diesen Bereich während der Laufzeit nutzen; bevorzugt für FLOAD inkl. Dateinamen
- 0100 - 0200
Systemarbeitszellen - dürfen nicht geändert werden
- 0200 - 7FFF
frei - RAM8-Blöcke frei
Interrupttabelle
Ergänzend zu den Vereinbarungen im System-Handbuch des KC 85/4 werden folgende Festlegungen getroffen:
- 01C4...01D2
- frei für anwenderspezifische Systemerweiterungen; der Bereich darf nicht zur temporären Nutzung von Interrupts innerhalb eines Anwenderprogrammes verwendet werden
- 01D4
- CTC Kanal 2 des 2. M003 [COM 3/4]
- 01D6
- CTC Kanal 3 des 2. M003 [COM 3/4]
- 01D8
- SIO des 2. M003 [COM 3/4]
- 01DA
- SIO des 1. M003 [COM 1/2]
- 01DC
- CTC Kanal 2 des 1. M003 [COM 1/2]
- 01DE
- CTC Kanal 3 des 1. M003 [COM 1/2]
- 01E0
- PIO Kanal A eines Joystick-Modules (M008 bzw. M021)
- 01E2
- Empfangsroutine der SIO des 1. M003, solange die COM-Ports nicht initialisiert sind
- 01E4...01EE
- entsprechend System-Handbuch
Die Interrupttabelle für temporäre Anwenderprogramme liegt auf dem Adreßbereich 0100 bis 011E. Sie ist nur für die Laufzeit des jeweiligen Vordergrundprogrammes gültig. Die Begrenzung durch den Systemstack ist zu beachten.
IRM-Arbeitszellen / -bereiche
Ergänzend zu den Vereinbarungen im System-Handbuch des KC 85/4 werden folgende Festlegungen getroffen:
- A800
- Erkennungsbyte V.24-Module
- A801...A81F
- Init-Tabellen V.24-Drucker
- A820
- Modulsteckplatz 1. M003
- A821
- Modulsteckplatz 2. M003
- A822...A82F
- Verwaltungsparameter COM 1 bis COM 4
- A830...A8FF
- reserviert für Maus [geretteter Maushintergrund; Aufbau wird noch festgelegt]
- A900...ACFF
- für anwenderspezifische Systemerweiterungen reserviert (z. B. Treiber für UOUT1/2 bzw. UIN1/2)
- AD00...B1FF
- Video-RAM Bild 1
- B200...B6FF
- Video-RAM Bild 0
- B700...B77F
- Kassetten-Puffer
- B780...B7FF
- Monitor-RAM [alle Zellen durch System belegt]
- B800...B8FF
- Modulsteuerwortspeicher
- B900...B99B
- Funktionstastenspeicher
- B99C...B9FF
- Fenstervektorspeicher
- BA00...BFFF
- Vordergrundprogramme können diesen Bereich während der Laufzeit nutzen; bevorzugt für CCTL2/3 und SERVICE bzw. DIENST