Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
z9001:software:disk_os [2016/04/25 12:41] – [Programme] volkerpz9001:software:disk_os [2023/09/30 12:42] (aktuell) – [Beispiel-Session] volkerp
Zeile 49: Zeile 49:
 | **CAOS** | "cassette OS", Nutzen der Kassettenroutinen im normalen OS | | **CAOS** | "cassette OS", Nutzen der Kassettenroutinen im normalen OS |
 | **DDUMP** muster | Datei blockweise anzeigen (nur in DOSX enthalten) | | **DDUMP** muster | Datei blockweise anzeigen (nur in DOSX enthalten) |
-| **SAVE** fname[.typ] aadr,eadr[,sadr] | das ist das normale OS-SAVE, funktioniert aber auch mit Disk |+| **OS-SAVE** fname[.typ] aadr,eadr[,sadr] | das ist das normale OS-SAVE, funktioniert aber auch mit Disk |
  
 Im Z9001-OS kann mit "DOS" bzw. "CAOS" zwischen Diskette und Kassette umgeschaltet werden. Im Z9001-OS kann mit "DOS" bzw. "CAOS" zwischen Diskette und Kassette umgeschaltet werden.
Zeile 84: Zeile 84:
 Im aktuellen [[z9001:module_sonstige:megaflash|]] ist dieses BASIC bereits enthalten. Außerdem wird versucht, im neuen CCP des Moduls ein nichtgefundenes Kommando von Diskette zu laden! (Im originalen OS wird in diesem Fall intern CLOAD aufgerufen. Es erscheint dann das bekannte "start tape". Aber leider ist CLOAD mit internen Aufrufen und nicht mit CALL 5-Funktionen implementiert, so dass hier leider keine Diskettenabfrage erfolgt. Für einen 100%-igen Kassettenersatz müsste man die Routinen MAREK und KARAM aus dem Z9001-OS ersetzen. Das geht aber nur, wenn man den System-ROM gegen einen EPROM mit einem angepasstem OS austauscht.) Im aktuellen [[z9001:module_sonstige:megaflash|]] ist dieses BASIC bereits enthalten. Außerdem wird versucht, im neuen CCP des Moduls ein nichtgefundenes Kommando von Diskette zu laden! (Im originalen OS wird in diesem Fall intern CLOAD aufgerufen. Es erscheint dann das bekannte "start tape". Aber leider ist CLOAD mit internen Aufrufen und nicht mit CALL 5-Funktionen implementiert, so dass hier leider keine Diskettenabfrage erfolgt. Für einen 100%-igen Kassettenersatz müsste man die Routinen MAREK und KARAM aus dem Z9001-OS ersetzen. Das geht aber nur, wenn man den System-ROM gegen einen EPROM mit einem angepasstem OS austauscht.)
  
-**ZMxx** funktioniert original nicht mit Diskette. Die Punch/Reader-Treiber für Kassette springen leider direkt in den Monitor und nutzen nicht CALL 5. Um das hinzubekommen, musste ich den Monitor patchen.+**ZMxx** funktioniert original nicht mit Diskette. Die Punch/Reader-Treiber für Kassette springen leider direkt in den Monitor und nutzen nicht CALL 5. Um das hinzubekommen, müsste ich den Monitor patchen.
  
 **KCPASCAL** funktioniert nicht mit Diskette. Ursache dafür ist einfach, dass KCPASCAL den gesamten Speicher von 300h bis BFFFh belegt. Da bleibt kein Platz mehr für ein BDOS-Wrapper. **KCPASCAL** funktioniert nicht mit Diskette. Ursache dafür ist einfach, dass KCPASCAL den gesamten Speicher von 300h bis BFFFh belegt. Da bleibt kein Platz mehr für ein BDOS-Wrapper.
Zeile 94: Zeile 94:
 Die Programme werden auf der Diskette im KCC-Format abgespeichert, d.h. mit Kopf-Block, gefolgt vom Speicherabzug. Die Programme werden auf der Diskette im KCC-Format abgespeichert, d.h. mit Kopf-Block, gefolgt vom Speicherabzug.
  
-Die Endung COM wird dabei in KCC geändert, damit es nicht zu Verwechslungen mit CP/M-Programmen kommt.+Die Endung .COM wird dabei in .KCC geändert, damit es nicht zu Verwechslungen mit CP/M-Programmen kommt. d.h., OS-COM Programme werden als .KCC auf der Diskette gespeichert und beim Laden von OS-COM-Programmen wird nach einer .KCC-Datei gesucht. Bei der Arbeit im OS merkt man von diesen internen Umbenennungen nichts, es ist hier ganz normal .COM zu schreiben!
  
 Mit Diskette funktionieren nur Programme, die für die Kassettenarbeit die BOS-Call 5-Routinen OS-konform nutzen. D.h., zum Schreiben muss OPENW, WRITS, und CLOSW genutzt werden! Fehlt CLOSW, wird in den neuen BDOS-Call 5-Funktionen versucht; dies zu erkennen und die Datei ordnungsgemäß auf Diskette zu schließen. Das ist aber noch ungetestet! Mit Diskette funktionieren nur Programme, die für die Kassettenarbeit die BOS-Call 5-Routinen OS-konform nutzen. D.h., zum Schreiben muss OPENW, WRITS, und CLOSW genutzt werden! Fehlt CLOSW, wird in den neuen BDOS-Call 5-Funktionen versucht; dies zu erkennen und die Datei ordnungsgemäß auf Diskette zu schließen. Das ist aber noch ungetestet!
Zeile 100: Zeile 100:
 Um herauszufinden, wie ein Programm auf Kassette schreibt, gibt es im Mega-Flash ein kleines Hilfsprogramm CALL5DBG. Dieses ist nach DOS/CAOS neu zu starten. Es werden die Kassettenfunktionen mit Namen ausgegeben, gefolgt von DMA, BLNR und LBLNR (Stand vor Aufruf der eigentlichen Funktionen). Um herauszufinden, wie ein Programm auf Kassette schreibt, gibt es im Mega-Flash ein kleines Hilfsprogramm CALL5DBG. Dieses ist nach DOS/CAOS neu zu starten. Es werden die Kassettenfunktionen mit Namen ausgegeben, gefolgt von DMA, BLNR und LBLNR (Stand vor Aufruf der eigentlichen Funktionen).
  
 +===== Beispiel-Session =====
 +
 +Hier wird ein [[z9001:module_sonstige:kombimodul|]] genutzt. Das Modul hat eine Floppy angeschlossen, auf dem Modul ist eine RAM-Disk.
 +DOSX arbeitet im Shadow-RAM und belegt nur den Hauptspeicherbereich BD00..BFFF. Bei BASIC wird dieser Bereich beachtet, man muss kein memory end eingeben.
 +
 +Disk formatieren, aktives Laufwerk setzen, BASIC-Programm aus Disk speichern, Forth laden und mit SAVE-SYSTEM auf Disk speichern:
 +
 +<code>
 +robotron  Z 9001                                  Meldung nach RESET 
 +
 +KOMBI-MODUL                                       Startmeldung Mega-Flash-Software
 +XOS
 +>VER                                              Version anzeigen
 +(c) V.Pohlers, Neustadt i.H., 10/5/2021
 +>INITKC                                           Diskette formatieren
 +
 +
 +MKD 8/88: INITKC fuer KC 85/87
 +
 +Formatieren im LW (A/B) :
 +
 +Diskette stecken:  <ENTER>
 +
 +
 +WARNUNG !!!
 +Alle Dateien auf der Diskette werden gel
 +oescht ! (J/N) :
 +
 +
 +Formatieren von Spur : 79
 +Noch einmal ? (J/N) : >                
 +
 +>DOSX                                             Treiber für Diskette starten
 +SHADOW DISK OS V.Pohlers 5/7/2021
 +  A:, B: Floppy
 +  M: RAF Kombi-Modul 406k
 +current drive: M                                  die RAM-Floppy des Kombi-Moduls ist Standard-Laufwerk
 +>DRIVE A:                                         Umschalten auf Laufwerk A:
 +
 +>DDIR                                             Disketteninhalt
 +
 +NO FILE                                           Disk ist leer
 +>BASIC                                            BASIC starten
 +
 +HC-BASIC
 +
 +MEMORY END ? :                                    einfach ENTER
 +46830 BYTES FREE                                  BASIC beachtet die Speichernutzung durch USBX
 +
 +OK
 +>10PRINT"HALLO"                                   kleines Programm
 +>CSAVE"HALLO                                      speichern (auf Disk)
 +OK
 +>DIR                                              DIR in BASIC
 +
 +A: HALLO    ZBS
 +OK
 +>NEW
 +>CLOAD"HALLO                                      Programm laden (jetzt von Disk)
 +
 +___HALLO   FILE FOUND
 +OK
 +>
 +>RUN                                              Programm starten
 +HALLO
 +OK
 +>BYE                                              BASIC beenden
 +
 +XOS                                               Mega-Flash-Software meldet sich
 +SHADOW DISK OS V.Pohlers 5/7/2021                 der DOSX-Treiber meldet sich
 +  A:, B: Floppy
 +  M: RAF Kombi-Modul 406k
 +current drive: A                                  Laufwerk A: ist weiterhin aktiv
 +>FORTH                                            FORTH starten (von Modul) 
 +...
 +SAVE-SYSTEM TEST                                  System speichern unter neuem Namen
 +
 +
 +                                 ok
 +BYE
 +XOS
 +>DDIR                                             Disketteninhalt anzeigen
 +
 +A: HALLO    ZBS : TEST     KCC                    ein BASIC-Programm, ein OS-Programm
 +>                                                 (Endung KCC statt COM wegen CP/M, s. Doku)
 +
 +>TEST                                             und Programm von Disk laden und starten
 +...
 +Z80 FORTH 1.3 (Z9001)
 +AG FORTH
 +Th. Beierlein / V. Pohlers
 +                                        
 +BYE
 +XOS
 +SHADOW DISK OS V.Pohlers 5/7/2021
 +  A:, B: Floppy
 +  M: RAF Kombi-Modul 406k
 +current drive: A
 +>
 +</code>
  
  • z9001/software/disk_os.1461588113.txt.gz
  • Zuletzt geändert: 2016/04/25 12:41
  • von volkerp