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:cpm:autostart [2016/12/06 09:01] volkerpz9001:cpm:autostart [2022/05/09 08:30] (aktuell) volkerp
Zeile 8: Zeile 8:
   SUBMIT AUTORUN.SUB   SUBMIT AUTORUN.SUB
  
-Dazu muss das Kommando in den Text-Buffer des CCP geschrieben werden. 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, hier ist es leer, die Länge ist 0 Byte.+Das BIOS muss das Autostart-Kommando in den Befehlszeilenpuffer des CCP kopieren und das CCP dann auf Adresse CCP+0 starten. CCP-Quellcode: 
 +<code> 
 +CCP: ORG 0CC00h 
 + JP CCPSTART ;start ccp with possible initial command 
 + JP CCPCLEAR ;clear the command buffer 
 +MAXLEN: DB 127 ;max buffer length 
 +COMLEN: DB 0 ;command length (filled in by dos) 
 +COMBUF: Db 128-($-COMBUF) dup (0) 
 +... 
 +</code> 
 + 
 +Dazu muss das Kommando in den Text-Buffer des CCP geschrieben werden. Beim CP/A (Rossendorf) ü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 der Beginn Autostart-Kommandos, hier ist es leer, die Länge ist 0 Byte
 + 
 +:!: Das BIOS der robotron-Version des @CPMZ9 unterstützt dieses Verfahren leider nicht! Hier ist kein Autostart möglich.
  
 {{:z9001:cpm:cpm_autostart.gif|}} {{:z9001:cpm:cpm_autostart.gif|}}
Zeile 14: Zeile 27:
 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 "RAM-Fehler auf Adresse XXXXH". 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 "RAM-Fehler auf Adresse XXXXH".
  
-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.
  
 {{:z9001:cpm:cpm_autostart1.gif|}} {{:z9001:cpm:cpm_autostart1.gif|}}
 +
 +:!: 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).
 +
  
 <code> <code>
Zeile 27: Zeile 43:
 ;7F steht auf 8466 ;7F steht auf 8466
 DS 8467 DS 8467
-.h 12 
 .a S U B M I T .a S U B M I T
 .h 20 .h 20
  • z9001/cpm/autostart.1481014860.txt.gz
  • Zuletzt geändert: 2016/12/06 09:01
  • von volkerp