aseg .z80 wboot equ 0000h bdos equ wboot+0005h dpblen equ 25d ; L{nge der DPBs seldisk equ 0eh curdisk equ 19h getdpb equ 1fh formin equ 0f664h ; 41h Formatinit. org 0100h ; Startadr. in CP/M ld c,curdisk ; aktuelles call bdos ; Laufw. holen push af ; und sichern ld c,seldisk ; Laufwerk B ld e,01h ; selektieren call bdos ld c,getdpb ; DiskParam.Block call bdos ; dazu holen ld de,newdpb ; Adresse neuer DPB ex de,hl ; mit alter vert. ld bc,dpblen ; DPB-L{nge ldir ; alten ersetzen pop af ; Laufwerk holen ld e,a ; und wieder ld c,seldisk ; selektieren call bdos ld hl,formin ; Adr. Vortexformatinit. ld b,9 ; 9 Bytes m}ssen gel|scht werden noppen: ld (hl),0 ; NOP speichern inc hl ; n{chstes Byte djnz noppen ; Routine rausschmei~en ret ; Zum CP/M zur}ck newdpb: defw 36d ; 36 Records pro Spur defb 4d ; Blockshift defb 15d ; Blockmask defb 1d ; Extentmask defw 174d ; max. Blocknummer defw 63d ; max. Directory-1 defb 80h,00h ; 1 Directoryblock defw 16d ; 16 Dir.eintr. pr}fen defw 2d ; 2 Systemspuren defb 41h ; Erster phys. Sektor defb 9d ; phys. Sekt. pro Spur defb 2ah ; R/W GAP 3 defb 52h ; Format GAP 3 defb 0e5h ; F}llbyte zum Format. defb 02h ; 512 Byte pro Sektor defb 04h ; Records pro Sector defb 00h ; f}r aktuelle Spur defb 04fh ; Vortex max. Spur 79 defb 042h ; Vortex Flagbyte end