PN FORMAT ; ;***************************************** ; ;FORMATIERUNGSPROGRAMM FUER Z 1013-CP/M ; ;FUER V1.15 ROM-VERSION ; ;SYSTEM WIRD NACH FORMAT AUF DISKETTE GE- ; SCHRIEBEN ; ;***************************************** ; CFDC: EQU 7CH DFDC: EQU 7DH TC: EQU 78H FMTAB: EQU 300H BDOS: EQU 05 CCP: EQU 0C800H WBOTE: EQU 0DE03H CONIN: EQU 0DE09H SDISK: EQU 0DE38H SSEC: EQU 0DE69H STRCK: EQU 0DE6EH SDMA: EQU 0DE73H WFLOP: EQU 0E0CDH INIFD: EQU 0E108H RECAL: EQU 0E11FH SEEK: EQU 0E159H WCOM1: EQU 0E1B5H RRSLT: EQU 0E1D8H RESTR: EQU 0E1F8H INIT: EQU 0E24CH CTAB: EQU 0E948H RESLT: EQU 0E951H ; ;***************************************** ; ; ORG 100H ; ; ; FORM: LD DE,TEXT ;TEXTAUSGABE LD C,9 CALL BDOS CALL CONIN ;WARTEN AUF EINGABE CMP 'y' JPNZ 0 ;ENDE FORMAT CALL RECAL ;KOPF AUF SPUR 0 LD C,0 ;SPUR FORMO: LD B,1 ;SEKTOR LD E,0 ;KOPFAUSWAHL FUER ; ;BEIDSEITIGE LAUF- ; ;WERKE LD A,C LD (CTAB+2),A PUSH BC CALL SEEK ;SPUR EINSTELLEN POP BC LD HL,33FH ;FMTAB+0FFH ; ; ;TABELLEN-ENDE ; LD A,10H ;ANZAHL SEKTOREN FORM2: LD M,1 ;SETZEN N DEC HL LD M,A ;SET R DEC HL LD M,E ;SET H DEC HL LD M,C ;SET C DEC HL DEC A JRNZ FORM2-# LD M,0E5H ;AUFZUSCHREIBEN- ; ; ;DES BYTE ; DEC HL LD M,53 ;GAP LUECKEN- ; ; ;LAENGE ; DEC HL LD M,10H ;EOT (LETZTE SEK- ; ; ;TORNUMMER) ; DEC HL LD M,1 ;N, 1=256 BYTES/ ; ; ;SEKTOR ; DEC HL LD M,0 DEC HL PUSH BC LD B,6 ;ANZAHL KOMMANDO- ; ;BYTES F. FDC ; LD C,4DH ;KOMMANDO FORMAT ; ;A TRACK ; CALL WCOM1 CALL F4 ;AUSFUEHRUNG OUT TC ;ENDE-IMPULS CALL RRSLT POP BC JPNZ RESTR ;FEHLER INC C LD A,C CMP 40 ;ALLE SPUREN ??? JRNZ FORMO-# ; ;***************************************** ; ;SYSTEM AUFSCHREIBEN ; ;***************************************** ; CALL RECAL XOR A LD (3),A LD (4),A LD SP,80H CALL INIFD LD C,0 ;LAUFWERK CALL SDISK LD B,2CH LD C,0 CALL STRCK LD D,1 LD HL,CCP LOAD1: PUSH BC PUSH DE PUSH HL LD C,D CALL SSEC POP BC PUSH BC CALL SDMA CALL WFLOP CMP 0 CANZ RESTR POP HL LD DE,128 ADD HL,DE POP DE POP BC DEC B JPZ FORM INC D LD A,D CMP 21H JRC LOAD1-# LD D,1 INC C PUSH BC PUSH DE PUSH HL CALL STRCK POP HL POP DE POP BC JR LOAD1-# ; ;**************************************** ; ; TEXT: DB 0DH,0AH,0AH,0AH DB 'Formatieren und System auf' DB 0DH,0AH,'Diskette schreiben !' DB 0DH,0AH,0AH DB '40 TRACKS,16 SECTORS,256 BYTES' DB 0DH,0AH,0AH DB 'Diskette ? (y) : ','$' ; ;***************************************** ; F4: LD C,DFDC LD B,40H FORM3: IN CFDC RLCA ;RQM-TEST JRNC FORM3-# RLCA RLCA RNC ;FERTIG?? OUTI JRNZ FORM3-# RET ; ; END ;