
uDOS 1.0

uDOS (ultra small DOS) ist ein ultrakurzes DOS, das in die 3 Bootsektoren einer Disk passt, aber dennoch vorhandene Dateien lesen und beschreiben kann. Es hat zwar viele Einschrnkungen, ist aber fr Spiele, die auf einer Disk in mehreren Dateien vorliegen, ganz ntzlich. Denn solche Spiele laden ihre Daten aus Dateien und schreiben nur wenige Daten wie Spielstand und Highscore-Liste. Genau das kann uDOS - und nicht mehr.

Features:
- uDOS passt in die 3 Bootsektoren, LOMEM liegt bei $938, also 5-6 KB mehr frei
- Kann Dateien mittels D:-Handler lesen und berschreiben wie jedes andere DOS
- Untersttzt DOS 2.x und MyDOS-Dateien, Single/Medium/Double Density
- Startet beim Booten die COM/XEX-Datei "D:AUTORUN" (statt AUTORUN.SYS)
- Open 4: Datei lesen (ganz normal)
- Open 8: Vorhandene (!) Datei berschreiben, es sollten alle Sektoren der
  Datei beschrieben werden (sonst wird die berschriebene Datei evtl. zu lang)
- Open 12: Vorhandene Datei verndern, wie bei DOS 2.x, aber nicht lesen
- Kann Disk-Schreibfehler ignorieren (kein Abbruch wg. schreibgeschtzter Disk)
- Untersttzt XIO 40 zum Laden von OBJ/COM/XEX-Dateien (AUX1 muss 0 sein)
- Keine anderen OPEN/XIO/STATUS-Kommandos (wie Append, Delete, Rename ...)

Einschrnkungen:
- Kein DUP-Men oder DUP-Kommandozeile vorhanden
- Ist nicht resetfest, RESET macht Kaltstart
- Funktioniert nur mit XL/XE-kompatiblem OS (nicht 400/800-OS)
- Funktioniert nur mit D1:, max. 1 Datei gleichzeitig offen
- Kann keine Dateien erzeugen oder verlngern (mehr Sektoren)
- Keine Joker (? und *) in Dateinamen
- Kein Diskwechsel von Single/Medium nach Double Density oder umgekehrt
- Nicht ndern: $2D5/6, $301, $304/5, D-Eintrag in HATABS=$31a
- Nicht ndern zwischen Open und Close: $43-$47, $30A/B
- Kein Error 167 (File Locked) und 3 (Last Byte of File)
- Open findet auch geschriebene Dateien, die nicht geschlossen wurden

Nutzung:
UDOSINIT.COM starten, um uDOS auf Disk zu schreiben. Dabei ist whlbar, ob uDOS Disk-Schreibfehler ignorieren soll. Alternativ mit UDOS.BIN (oder UDOSWRT.BIN zum Ignorieren von Schreibfehlern) per "dir2atr.exe -B" ein ATR mit uDOS erzeugen. Die beim Booten zu startende COM/XEX-Datei muss AUTORUN heien. uDOS luft brigens auch mit BASIC und Turbo-BASIC.

Weitere Tools:
- BASOFF.OBJ    COM-Segment mit INIT-Adresse, das BASIC ausschaltet
- RUNCOM.COM    BASIC ausschalten und AUTORUN.COM starten
- RUNBAS.COM    BASIC einschalten und BASIC-Programm AUTORUN.BAS starten
- RUNUDOS.COM   uDOS direkt starten (ohne es in Bootsektoren zu schreiben)
- TURBASIC.COM  Turbo-BASIC 1.51 (gendertes Turbo-BASIC 1.5):
  braucht kein DOS beim Starten, ESC-Taste beim Starten ignoriert AUTORUN.BAS,
  DOS-Befehl lsst Turbo-BASIC aktiv, RUN vom (XDOS-)DUP geht zu Turbo-BASIC

Open/XIO-Details:

Open Update (AUX1=12): berschreibt eine Datei ohne ihre Dateilnge zu ndern, so wie bei DOS 2.x. Lesen ist mit AUX1=12 aber nicht mglich.

Open Write (AUX1=8): berschreibt eine Datei mit Anpassung der Dateilnge, die Sektorenanzahl bleibt unverndert. Werden mehr Bytes geschrieben, als in die Sektoren der Datei passen, kommt Error 136 (End of File). Die neue Dateilnge stimmt nur, wenn genauso viele Sektoren geschrieben werden wie die Datei vorher hatte, sonst kann sie zu gro werden. (Grund: Die DOS2-Sektorlinks bleiben unverndert.)

Achtung: Da das Speichern langsam ist, sollte es nur fr kurze Dateien eingesetzt werden (wie Highscore-Tabellen, Spielstnde).

XIO 40 ffnet die COM/XEX-Datei nicht, daher ist Lesen aus der Datei per INIT-Adresse (wie es Turbo-BASIC beim Start macht) nicht mglich. Dafr gibt es TURBASIC.COM, das beim Start kein DOS bentigt.
