Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
z9001:cpm:autostart [2016/12/06 08:27] – angelegt volkerp | z9001:cpm:autostart [2024/10/08 13:02] (aktuell) – volkerp | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Autostart ====== | ====== Autostart ====== | ||
- | CP/M kann beim Starten automatisch ein Kommando ausführen. | + | CP/M kann beim Starten automatisch ein Kommando ausführen((siehe dazu https:// |
Startkommandos können z.B. sein: | Startkommandos können z.B. sein: | ||
Zeile 8: | Zeile 9: | ||
SUBMIT AUTORUN.SUB | SUBMIT AUTORUN.SUB | ||
- | Beim CP/A übernimmt dies das BIOS. Im Initialisierungsbereich von @CPMZ9.COM ist nach der RAM-Prüfung Platz für eine Kommandozeile. Die markierte Adresse 00 ist die Länge des Autostart-Kommandos, | + | Das BIOS muss das Autostart-Kommando in den Befehlszeilenpuffer des CCP kopieren und das CCP dann auf Adresse CCP+0 starten. CCP-Quellcode: |
+ | < | ||
+ | CCP: | ||
+ | JP CCPSTART ; | ||
+ | JP CCPCLEAR ; | ||
+ | MAXLEN: | ||
+ | COMLEN: | ||
+ | COMBUF: Db 128-($-COMBUF) dup (0) | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Dazu muss das Kommando in den Text-Buffer des CCP geschrieben werden. | ||
+ | |||
+ | :!: Das BIOS der robotron-Version des @CPMZ9 unterstützt dieses Verfahren leider nicht! Hier ist kein Autostart möglich. | ||
{{: | {{: | ||
Zeile 14: | Zeile 28: | ||
Die Adressen müssen nicht stimmen! Je nach Version der Datei @CPMZ9.COM sind das andere Adressen. Am einfachsten sucht man z.B. mit POWER nach " | Die Adressen müssen nicht stimmen! Je nach Version der Datei @CPMZ9.COM sind das andere Adressen. Am einfachsten sucht man z.B. mit POWER nach " | ||
- | Im Feld nach der 7F ist die Länge des auszuführenden Befehls einzutragen, danach kommt der Befehl. | + | Im Feld nach der 7F ist der auszuführenden Befehls einzutragen. |
{{: | {{: | ||
+ | :!: Im Bild ist das markierte Byte 12 falsch! Dieses ist hier nicht nötig, es geht gleich mit dem Kommando los. Das Rossendorfer CP/M kopiert im BIOS die kompletten 128 Byte. Als Längenbyte wird das vorausgehende 7Fh mitkopiert (nach CCP+7, d.h. COMLEN). | ||
+ | |||
+ | |||
+ | < | ||
+ | A:>POWER | ||
+ | LOAD @CPMZ9.COM 6000 | ||
+ | ;Anzahl Sektoren merken und bei SAVE angeben | ||
+ | SEARCH 6000 9000 " | ||
+ | ;z.B. 8430 | ||
+ | DUMPX 8430 8500 | ||
+ | ;7F steht auf 8466 | ||
+ | DS 8467 | ||
+ | .a S U B M I T | ||
+ | .h 20 | ||
+ | .a A U T O R U N | ||
+ | .h 2E | ||
+ | .a S U B | ||
+ | .. | ||
+ | ;Kontrolle | ||
+ | DUMPX 8430 8500 | ||
+ | ; Anzahl Sektoren von LOAD | ||
+ | SAVE @CPMZ9.COM 6000 80 | ||
+ | </ |