; ; Reverse Engineering of "INIT" ; rzh 8/91 ; org 100h ; cr equ 0dh lf equ 0ah bdos equ 5 bell equ 7 ; JP 0154H dw 357Ch db 0edh,0edh db 2 db 82h db 'Initialize Disks version 02.82' db cr,lf,lf,0 db 'Copyright (c) 1979, 1983 Cromemco, Inc.' db lf,0 LD SP,357CH SUB A LD (3431H),A LD HL,0109H CALL 16EDH ;print version CALL 0197H LD HL,1712H CALL 16EDH ;print info. LD SP,357CH CALL 16E4H CALL 01FCH CALL 0369H LD HL,1849H CALL 16EDH ;print test msg. CALL 045CH LD HL,1854H CALL 16EDH ;print fmtg. msg. CALL 04D1H CALL 05EEH CALL 0691H CALL 06DBH CALL 13F4H JP 02AEH LD C,8DH CALL bdos CP 1 JP Z,298H LD (3431H),A LD A,B CP 2 JP C,298H JR NZ,1B2H LD A,C CP 55H JP C,298H CALL 2CDH LD C,19H CALL bdos LD (3432H),A SUB A LD (3003H),A LD (2FFAH),A LD (3009H),A LD (34A3H),A LD (34A5H),A LD (34A7H),A LD (300EH),A CALL 2D6H CALL 307H CALL 204H CALL 712H IN A,(34H) LD B,A CALL 70BH IN A,(34H) XOR B AND 8 LD (3434H),A RET Z IN A,(34H) AND 10H RET NZ LD HL,17FDH CALL 16EDH ;print inhib. msg. JP 2AEH SUB A LD (342DH),A LD (342EH),A RET LD HL,32H LD (341BH),HL LD A,(3433H) CP 0FFH JR NZ,23DH LD HL,5C3H LD (341DH),HL LD HL,630H LD (341FH),HL LD HL,460H LD (3421H),HL LD HL,6BBH LD (3423H),HL LD HL,5878H LD (3425H),HL LD HL,4CH LD (3427H),HL LD HL,4B40H LD (3429H),HL JR 297H BIT 1,A JR NZ,26DH LD HL,546H LD (341DH),HL LD HL,566H LD (341FH),HL LD HL,3D1H LD (3421H),HL LD HL,5DEH LD (3423H),HL LD HL,6762H LD (3425H),HL LD HL,42H LD (3427H),HL LD HL,9574H LD (3429H),HL JR 297H LD HL,532H LD (341DH),HL LD HL,51FH LD (341FH),HL LD HL,396H LD (3421H),HL LD HL,583H LD (3423H),HL LD HL,0E5C8H LD (3425H),HL LD HL,3FH LD (3427H),HL LD HL,23CBH LD (3429H),HL RET LD HL,55H PUSH HL LD HL,2 PUSH HL LD HL,17A0H CALL 16EDH ;print incompat. msg. POP HL POP HL JR 2C5H LD B,2 RST 8 INC E CALL 16E4H LD C,0DH CALL bdos LD A,(3432H) LD E,A LD C,0EH CALL bdos LD DE,0 CALL 2D0H JP 0 LD DE,0FFFFH JR 2D0H LD DE,2AEH LD C,82H CALL bdos RET CALL 71FH JR NZ,306H LD C,81H CALL bdos LD HL,5 ADD HL,BC LD E,(HL) INC HL LD D,(HL) EX DE,HL INC HL LD (342BH),HL LD B,8 LD C,'A' LD DE,3439H LD A,(HL) INC HL OR (HL) JR Z,2FFH LD A,C LD (DE),A INC DE LD A,2CH LD (DE),A INC DE INC C INC HL DJNZ 2F3H DEC DE SUB A LD (DE),A RET IN A,(44H) AND 43H BIT 6,A JR Z,316H LD A,0FFH LD (3433H),A JR 33FH LD (3433H),A CALL 729H LD HL,8000H LD DE,(103H) LD BC,1BH LDIR CALL 340H AND A JR Z,331H LD (3433H),A LD HL,(103H) LD DE,8000H LD BC,1BH LDIR CALL 745H RET LD HL,34EH LD DE,8000H LD BC,1BH LDIR JP 8000H LD A,(3433H) AND 2 LD B,A LD A,1 OUT (44H),A LD HL,7801H LD A,(HL) CPL LD (HL),A CP (HL) CPL LD (HL),A LD A,B OUT (44H),A LD A,0FFH RET Z INC A RET CALL 71FH JR NZ,3B2H LD HL,3439H PUSH HL LD HL,1828H CALL 16EDH ;print which disk? msg. POP HL LD DE,19ACH LD BC,0 LD HL,3439H CALL 2AB2H JR Z,036EH CP 2CH JR Z,036EH LD (2FB4H),A SUB 41H LD (3435H),A ADD A,A LD HL,(342BH) CALL 16D5H LD E,(HL) INC HL LD D,(HL) PUSH DE POP IX LD HL,1A88H LD DE,2FAEH LD BC,6 LDIR SUB A LD (2FB5H),A JP 0445H LD IX,344BH LD HL,1841H PUSH HL LD HL,1828H CALL 16EDH POP HL LD DE,19ACH LD BC,0 LD HL,19ADH CALL 2B1EH JR Z,03B6H CALL 2F29H JR C,03B6H LD HL,2FAEH LD C,6 RST 8 JR NZ,040CH LD B,6 LD (BC),A RST 8 INC E JR 3B6H LD A,D CP 3 JR Z,3F0H LD HL,19FAH CALL 16EDH JR 3B6H LD C,0FH RST 8 JR NZ,42DH RST 20H LD A,E LD (3435H),A LD (IX+2),A LD A,D DEC A JR Z,412H DEC A JR NZ,3E8H SET 4,(IX+0) RES 6,(IX+0) RES 5,(IX+0) JR 445H RES 4,(IX+0) SET 6,(IX+0) SET 5,(IX+0) LD A,E BIT 2,A JR NZ,435H SET 5,(IX+1) LD (IX+21H),2 LD (IX+1FH),4DH LD (IX+20H),0 JR 445H RES 5,(IX+1) LD (IX+21H),2 LD (IX+1FH),28H LD (IX+20H),0 LD A,34H BIT 4,(IX+0) JR NZ,044FH LD A,32H LD (3436H),A LD HL,4878H LD (3437H),HL CALL 16E4H RET BIT 4,(IX+0) JR NZ,0467H CALL 081CH JR 046AH CALL 0D3EH CALL 16E4H RET PUSH AF PUSH DE PUSH HL LD DE,018H LD A,(2A80H) AND 0FH BIT 3,A JP NZ,0 BIT 2,A JR NZ,049FH LD HL,2043H CP 2 JR Z,04AAH CP 3 JR Z,049CH PUSH DE XOR A JR 0494H CALL 2A09H POP DE LD HL,2013H CP 1 JR NZ,04AAH ADD HL,DE JR 04AAH LD HL,2073H AND 3 JR Z,04AAH ADD HL,DE DEC A JR NZ,04A6H PUSH HL POP IY LD H,24H LD L,0 LD A,(IY+11H) CP 38H JR Z,04C5H LD L,1 LD A,(IY+13H) CP 31H JR NZ,04C5H LD H,30H LD L,0 LD A,H LD (342FH),A LD A,L LD (3430H),A POP HL POP DE POP AF RET CALL 071FH LD A,58H JR NZ,04DAH LD A,43H LD (18AEH),A LD DE,188DH LD BC,0 LD HL,18B1H CALL 2AB2H JR NZ,04F1H CALL 16E4H LD A,(18AEH) CP 43H JR Z,04FDH LD A,(342DH) SET 3,A LD (342DH),A BIT 4,(IX+0) JP Z,052BH LD H,(IY+2) LD L,(IY+3) LD C,(IY+4) LD B,0 LD A,C DEC A LD (2FF9H),A CALL 2EFFH LD A,E AND A JR Z,051CH INC HL LD (300AH),HL LD D,(IY+0) LD E,(IY+1) DEC DE ADD HL,DE LD (2FF1H),HL RET LD L,(IX+1FH) LD H,(IX+20H) DEC HL LD (2FF1H),HL BIT 6,(IX+0) LD A,53H JR Z,053FH LD A,44H LD (18E3H),A LD HL,18BFH PUSH HL LD HL,18C5H CALL 16EDH POP HL LD DE,19ACH LD BC,0 LD HL,18E6H CALL 2AB2H JR NZ,0561H CALL 16E4H LD A,(18E3H) CP 53H LD A,0 JR Z,057FH CALL 071FH JR NZ,057DH BIT 6,(IX+0) JR NZ,057DH LD HL,18BFH PUSH HL LD HL,18E9H CALL 16EDH POP HL LD A,1 LD (2FF9H),A LD A,(3434H) AND A LD A,53H JR Z,0592H BIT 5,(IX+0) JR Z,0592H LD A,44H LD (18E3H),A LD HL,18B7H PUSH HL LD HL,18C5H CALL 16EDH POP HL LD DE,19ACH LD BC,0 LD HL,18E6H CALL 2AB2H JR NZ,05B4H CALL 16E4H LD A,(18E3H) LD B,0 CP 53H JR Z,05D8H CALL 071FH JR NZ,05D0H BIT 5,(IX+0) JR NZ,05D0H LD HL,18B7H PUSH HL LD HL,18E9H CALL 16EDH POP HL SET 6,B LD A,(3434H) AND A JR Z,05E8H LD A,B BIT 5,(IX+1) JR Z,05E1H SET 4,A LD (2FFEH),A CALL 16E4H RET LD HL,192EH JP 07C8H LD HL,(3437H) LD (197AH),HL LD (1981H),HL LD HL,0 PUSH HL LD HL,(2FF1H) PUSH HL LD HL,195DH PUSH HL LD HL,1968H CALL 16EDH POP HL POP HL POP HL LD DE,19ACH LD BC,0 LD HL,1985H CALL 2B1EH JR NZ,0622H CALL 16E4H LD DE,0 JR 0637H EX DE,HL CALL 1699H EX DE,HL LD HL,(2FF1H) CALL 16CFH JR NC,0637H LD HL,19B3H CALL 16EDH JR 05F7H LD (2FF3H),DE LD HL,(2FF1H) PUSH HL LD HL,(2FF1H) PUSH HL LD HL,1963H PUSH HL LD HL,1968H CALL 16EDH POP HL POP HL POP HL LD DE,19ACH LD BC,0 LD HL,1985H CALL 2B1EH JR NZ,0666H CALL 16E4H LD HL,(2FF1H) JR 068DH EX DE,HL CALL 1699H EX DE,HL LD HL,(2FF1H) CALL 16CFH JR NC,067BH LD HL,19B3H CALL 16EDH JR 063BH EX DE,HL LD DE,(2FF3H) CALL 16CFH JR NC,068DH LD HL,19C9H CALL 16EDH JR 063BH LD (2FF5H),HL RET LD A,(2FF9H) INC A LD B,A DEC A LD C,A JR Z,06CFH INC C PUSH BC LD HL,(2FF9H) PUSH HL LD HL,198AH CALL 16EDH POP HL LD DE,19ACH LD BC,0 LD HL,19A7H CALL 2AB2H POP BC JR NZ,06BBH CALL 16E4H JR 6CFH CP 'A' JR Z,6CFH SUB '0' CP C JR C,6CCH LD HL,19B3H CALL 16EDH JR 69BH LD C,A LD B,1 LD A,B LD (2FFCH),A LD A,C LD (2FFBH),A CALL 16E4H RET BIT 4,(IX+0) JR NZ,06E9H CALL 092EH CALL 16E4H JR 06ECH CALL 0D6AH CALL 16E4H RET PUSH AF LD A,(3434H) AND A JR Z,06FDH IN A,(34H) AND 8 JR NZ,0706H CALL 070BH CALL 1675H CALL 1675H CALL 070BH POP AF RET PUSH AF LD A,20H OUT (34H),A POP AF RET PUSH AF PUSH BC SUB A OUT (34H),A LD C,96H CALL bdos POP BC POP AF RET PUSH BC PUSH AF LD A,(3431H) AND A POP BC LD A,B POP BC RET PUSH AF PUSH BC LD A,I PUSH AF POP BC LD A,I LD A,C PUSH AF POP BC OR C BIT 2,A JR Z,0741H LD A,(342DH) SET 1,A LD (342DH),A DI POP BC POP AF RET PUSH AF LD A,(342DH) BIT 1,A JR Z,074EH EI POP AF RET PUSH AF PUSH BC LD C,0BH CALL bdos AND A JR Z,0789H LD C,80H CALL bdos AND 7FH CP 1BH JR NZ,0789H LD A,(342DH) RES 2,A LD (342DH),A CALL 16E1H LD HL,(3437H) LD (1A77H),HL LD HL,(3002H) PUSH HL LD HL,(3000H) PUSH HL LD HL,1A44H CALL 16EDH POP HL POP HL JP 016AH POP BC POP AF RET PUSH BC PUSH HL LD HL,3436H LD BC,3 LDIR POP HL POP BC RET LD DE,1ACDH JR 07A1H LD DE,1AD4H LD A,(2A82H) LD H,A LD A,(2A81H) LD L,A PUSH HL LD HL,2FAEH PUSH HL PUSH DE LD HL,1AB2H JR 07C8H LD HL,1A8EH JR 07BCH LD HL,1A9AH LD DE,2FAEH PUSH DE JR 07C8H CALL 2CC7H LD HL,1C49H CALL 02CDH JR 0810H BIT 4,(IX+0) JR NZ,07E3H LD A,(3004H) AND 80H JR Z,07EFH LD HL,2FAEH PUSH HL LD HL,1ADCH JR 0810H LD A,(2A82H) LD (3005H),A LD A,(2A81H) LD (3004H),A EX DE,HL LD HL,(3004H) PUSH HL LD HL,(3002H) PUSH HL LD HL,(3000H) PUSH HL LD HL,2FAEH PUSH HL PUSH DE LD DE,1B21H CALL 078CH LD A,(3436H) LD (1B3BH),A LD HL,1B08H CALL 0745H CALL 16E1H CALL 2CC7H JP 016AH CALL 06F0H CALL 0823H RET CALL 0729H LD A,0DFH CALL 08EBH LD HL,0 CALL 0906H LD HL,0 CALL 0906H LD A,0D0H OUT (30H),A LD A,0FFH CALL 08EBH CALL 0745H INC HL INC HL PUSH HL LD HL,1BC5H CALL 16EDH POP BC LD DE,(3427H) LD HL,(3429H) CALL 2F02H LD DE,1C0DH JP C,08E7H LD DE,01E0H CALL 16CFH JR C,0869H SRA H RR L PUSH HL LD HL,1C04H CALL 16EDH POP HL LD DE,177H CALL 16CFH EX DE,HL LD HL,1B41H JP NC,7C8H EX DE,HL LD DE,14BH CALL 16CFH JR NC,8A8H LD BC,2 LD DE,126H CALL 16CFH JR C,8D2H LD DE,133H CALL 16CFH JR NC,8D2H BIT 5,(IX+1) JR Z,8D1H LD BC,5 LD DE,8 JR 8C7H LD BC,2 LD DE,160H CALL 16CFH JR C,8D2H LD DE,171H CALL 16CFH JR NC,8D2H BIT 5,(IX+1) JR NZ,8D1H LD BC,8 LD DE,5 PUSH DE PUSH BC LD HL,1B6AH CALL 16EDH POP BC POP DE RET PUSH BC LD HL,14BH CALL 16CFH LD HL,12CH JR NC,8E1H LD HL,168H PUSH HL LD HL,1C18H JR 8E8H EX DE,HL JP 7C2H PUSH AF LD C,1 LD A,(3435H) AND 3 JR Z,8FAH SLA C DEC A JR NZ,8F5H LD A,20H OR C OUT (34H),A POP AF OUT (4),A CALL 1666H RET LD A,0D4H OUT (30H),A INC HL LD A,H OR L JR Z,917H IN A,(34H) RRA JR NC,90AH IN A,(30H) RET LD A,0D0H OUT (30H),A LD A,0FFH CALL 8EBH LD HL,1BA2H CALL 16EDH LD A,80H LD (3004H),A JP 7CDH CALL 06F0H LD HL,1A0DH CALL 16EDH LD DE,1A3BH CALL 078CH CALL 0729H SUB A LD (3005H),A LD (3001H),A LD A,(2FFBH) CP 1 JR Z,094FH SUB A LD (3002H),A LD B,A LD A,(2FF3H) OR B JR NZ,096EH CALL 09A5H LD A,(2FFEH) BIT 4,A JR Z,0968H CALL 0AAEH JR 096BH CALL 0ADBH CALL 09C4H LD HL,0999H PUSH HL LD A,(2FFEH) BIT 4,A JR Z,0989H BIT 6,A JP NZ,0ABDH LD A,(342DH) BIT 3,A JP Z,0AAEH JP 0ACCH BIT 6,A JP NZ,0AEAH LD A,(342DH) BIT 3,A JP Z,0ADBH JP 0AF9H CALL 0745H LD A,(342DH) RES 2,A LD (342DH),A RET LD A,(2FF5H) LD (2FF7H),A LD A,(2FFEH) LD (2FFFH),A RES 6,A LD (2FFEH),A LD A,(2FFBH) LD (2FFDH),A SUB A LD (2FF5H),A LD (2FFBH),A RET LD A,(342DH) SET 2,A LD (342DH),A LD A,(2FF7H) LD (2FF5H),A LD B,A LD A,(2FFFH) LD (2FFEH),A LD A,(2FFDH) LD (2FFBH),A AND A JR Z,09E8H LD A,01H LD (3002H),A RET LD A,1 LD (2FF3H),A LD A,B AND A RET NZ POP HL JP 0999H LD DE,(0103H) CALL 0A1EH LD B,(HL) LD C,B INC HL PUSH HL LD A,C SUB B INC A EXX LD (HL),A EXX POP HL PUSH HL PUSH BC CALL 0A1EH CALL 0A2EH CALL 0A1EH POP BC DJNZ 09FFH POP BC LD C,(HL) INC HL LD B,(HL) INC HL LD A,(HL) CALL 1685H RET LD A,(HL) AND A INC HL RET Z LD C,A LD B,0 LD A,(HL) PUSH HL CALL 1685H POP HL INC HL JR 0A1EH LD BC,(3000H) LD A,(3002H) LD B,A EXX LD A,(HL) DEC A EXX OR C OR B LD C,(HL) INC HL LD B,(HL) INC HL LD A,(HL) INC HL PUSH HL JR NZ,0A58H LD L,C LD H,B LD BC,07EH AND A SBC HL,BC PUSH HL LD BC,078H CALL 1685H CALL 0A5DH POP BC CALL 1685H POP HL RET PUSH AF PUSH HL LD A,(2FFFH) LD HL,2003H BIT 4,A JR NZ,0A6BH INC HL INC HL LD BC,2 LDIR LD A,(342DH) BIT 3,A JR Z,0A8AH DEC DE DEC DE LD HL,2007H LD A,(2FFFH) BIT 4,A JR NZ,0A85H INC HL INC HL LD BC,2 LDIR LD A,(2FF9H) LD HL,200BH AND A JR Z,0A95H INC HL INC HL LD BC,2 LDIR LD A,(2FFFH) LD HL,200FH BIT 6,A JR Z,0AA6H INC HL INC HL LD BC,2 LDIR POP HL POP AF RET LD BC,0C57H LD DE,0C59H LD HL,0C5BH EXX LD HL,0C48H JR 0B08H LD BC,0C85H LD DE,0C87H LD HL,0C89H EXX LD HL,0C72H JR 0B08H LD BC,0CB1H LD DE,0CB3H LD HL,0CB5H EXX LD HL,0CA2H JR 0B08H LD BC,0CD5H LD DE,0CD7H LD HL,0CD9H EXX LD HL,0CCCH JR 0B08H LD BC,0CFBH LD DE,0CFDH LD HL,0CFFH EXX LD HL,0CF0H JR 0B08H LD BC,0D23H LD DE,0D25H LD HL,0D27H EXX LD HL,0D1AH JR 0B08H PUSH HL LD A,(3002H) EXX LD (DE),A EXX CALL 0B9DH LD A,(2FF3H) EXX LD (BC),A EXX LD (3000H),A LD B,A LD A,5BH CALL 0BE7H CALL 0745H POP HL PUSH HL CALL 09F4H CALL 0750H LD HL,(3002H) PUSH HL LD HL,(3000H) PUSH HL LD HL,1A32H CALL 16EDH POP HL POP HL CALL 0729H LD A,(3002H) CALL 0BBAH LD A,(2FFBH) CP 2 JR C,0B63H LD A,(3002H) CP 1 JR Z,0B63H CALL 1666H CALL 1666H LD A,1 LD (3002H),A CALL 0B8FH JR 0B21H LD A,(2FF5H) LD B,A LD A,(3000H) CP B JR NC,0B8DH INC A LD (3000H),A CALL 0B96H CALL 0BF6H LD A,(2FFBH) CP 2 JR C,0B21H CALL 1666H CALL 1666H SUB A LD (3002H),A CALL 0B8FH JR 0B21H POP HL RET LD A,(3002H) EXX LD (DE),A EXX RET LD A,(3000H) EXX LD (BC),A EXX RET LD B,0 CALL 0C1BH LD A,(342DH) BIT 2,A RET NZ LD A,0BH CALL 0BF8H LD A,5BH LD B,0AH CALL 0BE7H LD A,0BH CALL 0BF8H RET LD B,80H CALL 0C1BH LD HL,(0103H) LD C,33H LD A,0F4H OUT (30H),A IN A,(34H) RRA JR C,0BD1H OUTI JR 0BC8H CALL 1666H IN A,(30H) LD (3004H),A AND 0E4H RET Z CP 40H JP Z,07B4H LD HL,1AEBH JP 07CDH LD C,A LD A,B AND A LD A,C RET Z PUSH AF PUSH BC CALL 0BF8H POP BC POP AF DJNZ 0BE7H RET LD A,5BH OUT (30H),A CALL 1666H IN A,(34H) RRA JR NC,0BFDH IN A,(30H) LD (3004H),A AND 98H RET Z LD HL,1AF0H LD A,(342DH) BIT 2,A JP Z,07CDH LD HL,1AF8H JP 07CDH PUSH AF LD C,1 LD A,(3435H) AND 3 JR Z,0C2AH SLA C DEC A JR NZ,0C25H LD A,(2FFEH) AND 50H SET 5,A OR B OR C OUT (34H),A LD A,0DFH OUT (4),A CALL 1666H LD C,0FFH POP AF AND A JR Z,0C44H LD C,0FDH LD A,C OUT (4),A RET JR Z,0C49H LD B,0 LD BC,1AFCH RST 38H NOP LD A,(DE) LD B,0 LD BC,01FEH NOP LD BC,0100H NOP LD BC,0100H RST 30H DEC BC RST 38H LD B,0 LD BC,0FBH ADD A,B NOP PUSH HL LD BC,1BF7H RST 38H NOP NOP INC B RST 38H LD D,B LD C,(HL) INC C NOP INC BC OR 1 CALL M,4E32H NOP DJNZ 0C8BH NOP INC BC PUSH AF LD BC,01FEH NOP LD BC,0100H NOP LD BC,0102H RST 30H LD D,4EH INC C NOP INC BC PUSH AF LD BC,0FBH NOP LD (BC),A PUSH HL LD BC,36F7H LD C,(HL) NOP NOP INC B LD C,(HL) JR Z,0CA3H LD B,0 LD BC,1AFCH RST 38H NOP EX AF,AF' LD B,0 LD BC,01FEH NOP LD BC,0100H NOP LD BC,0102H RST 30H DEC BC RST 38H LD B,0 LD BC,0FBH NOP LD (BC),A PUSH HL LD BC,3AF7H RST 38H NOP NOP INC B RST 38H NOP LD (DE),A LD A,(BC) RST 38H INC B NOP LD BC,01FEH NOP LD BC,0100H NOP LD BC,0100H RST 30H DEC BC RST 38H LD B,0 LD BC,0FBH ADD A,B NOP PUSH HL LD BC,01F7H RST 38H NOP NOP INC B RST 38H JR 0D40H NOP LD A,(BC) EX AF,AF' NOP INC BC PUSH AF LD BC,01FEH NOP LD BC,0100H NOP LD BC,0102H RST 30H LD D,4EH INC C NOP INC BC PUSH AF LD BC,0FBH NOP LD (BC),A PUSH HL LD BC,01F7H RST 38H JR Z,0D64H NOP NOP INC B LD C,(HL) NOP DEC B LD (04FFH),A NOP LD BC,01FEH NOP LD BC,0100H NOP LD BC,0102H RST 30H DEC BC RST 38H LD B,0 LD BC,0FBH NOP LD (BC),A PUSH HL LD BC,01F7H RST 38H NOP NOP INC B RST 38H CALL 2259H LD A,(IX+2) LD (2A74H),A SUB A LD (2A75H),A CALL 28B6H CALL 293CH JP NZ,0799H CALL 2610H CALL 293CH JP NZ,079EH CALL 046EH CALL 0D93H CALL 0DADH CALL 0DF2H RET LD A,(IX+2) LD (2A74H),A CALL 02C8H CALL 0E96H CALL 0F00H LD HL,1AFDH JP NZ,07CDH CALL 16E1H CALL 0FF2H LD A,(342DH) BIT 3,A JR NZ,0D8FH CALL 1350H CALL 02CDH RET SUB A OUT (0E4H),A LD B,A LD HL,1CA6H DEC A LD C,A OUT (0E0H),A IN A,(0E1H) CP C JP NZ,07C2H DJNZ 0D9AH LD HL,1C76H CALL 16EDH RET LD HL,1CBCH CALL 16EDH LD HL,(0103H) LD (20D4H),HL LD DE,01FFH LD (20D6H),DE INC DE ADD HL,DE LD (20DDH),HL SUB A LD DE,(0103H) LD BC,0200H CALL 1685H PUSH DE LD HL,20D3H LD BC,10E8H OTIR POP HL LD BC,0200H LD DE,1CEAH CPI JP NZ,0E92H JP PE,0DE0H DEC A JR NZ,0DC6H LD HL,1CD4H CALL 16EDH RET CALL 0729H LD A,47H OUT (0ECH),A LD A,22H OUT (0ECH),A DEC A LD B,A LD DE,(341FH) IN A,(0ECH) CP B JR Z,0E0FH DEC DE LD A,E OR D JR NZ,0E03H JR 0E26H LD HL,0 DEC B LD DE,(3421H) INC HL IN A,(0ECH) CP 1 JR Z,0E2CH CP B JR Z,0E12H DEC DE LD A,E OR D JR NZ,0E17H LD HL,1BA2H JP 07C2H INC HL PUSH HL LD HL,1BC5H CALL 16EDH POP BC LD DE,(3423H) LD HL,(3425H) CALL 2F02H LD DE,1C0DH JR C,0E92H PUSH HL LD HL,1C04H CALL 16EDH POP HL LD DE,10E0H LD A,(342FH) CP 24H JR Z,0E59H LD DE,1680H CALL 16CFH LD DE,1CF8H JR NC,0E92H LD DE,0F78H CP 24H JR Z,0E6BH LD DE,14A0H CALL 16CFH JR NC,0E7EH LD DE,0CA8H CP 24H JR Z,0E7AH LD DE,10E0H CALL 16CFH RET NC LD HL,0AH PUSH HL LD HL,0E10H CP 24H JR Z,0E8CH LD HL,12C0H PUSH HL LD HL,1C18H JR 0E93H EX DE,HL JP 07C2H SUB A LD (2A83H),A LD (2A75H),A LD (2A76H),A LD (2A77H),A LD A,13H LD (2A78H),A LD HL,3016H LD (2AA7H),HL CALL 229CH LD BC,0100H CALL 0EF7H CALL 293CH RET Z CALL 295BH LD HL,19ACH PUSH HL LD HL,1DDBH PUSH HL LD HL,1E1AH PUSH HL LD HL,1D9FH CALL 16EDH POP HL POP HL POP HL LD DE,19ACH LD BC,0 LD HL,1DD8H CALL 2AB2H JR NZ,0EE6H CALL 16E4H LD A,4EH PUSH AF CALL 16E4H POP AF CP 59H JP NZ,02AEH LD BC,0200H CALL 0EF7H RET LD DE,3016H LD A,0E5H CALL 1685H RET LD A,(2FFCH) DEC A LD A,(2FFBH) JR Z,0F0AH SUB A LD (3002H),A LD (2A75H),A LD HL,(2FF3H) LD (3000H),HL LD (2A76H),HL CALL 292DH CALL 293CH JP NZ,07B9H CALL 2610H CALL 293CH RET NZ LD HL,1A0DH CALL 16EDH LD HL,1A2DH CALL 16EDH LD DE,1A3BH CALL 078CH LD L,(IY+5) LD H,0 LD BC,0200H CALL 2EE6H LD C,L LD B,H LD DE,(0103H) LD A,0E5H CALL 1685H CALL 0750H LD HL,(3002H) PUSH HL LD HL,(3000H) PUSH HL LD HL,1A30H CALL 16EDH POP HL POP HL CALL 2709H CALL 293CH RET NZ LD HL,(0103H) LD (2AA7H),HL CALL 0729H CALL 0FB5H CALL 0745H CALL 293CH RET NZ LD A,(2FFCH) DEC A JR Z,0F9EH LD A,(2FFBH) LD B,A LD A,(3002H) INC A CP B JR Z,0F97H LD (3002H),A LD (2A75H),A JR 0F51H SUB A LD (3002H),A LD (2A75H),A LD DE,(2FF5H) LD HL,(3000H) CALL 16CFH JR NC,0FB3H INC HL LD (3000H),HL LD (2A76H),HL JR 0F51H SUB A RET CALL 0FBEH LD C,02H CALL 20EBH RET LD HL,(0103H) LD BC,0068H ADD HL,BC EX DE,HL LD A,(3002H) LD HL,(3000H) OR H OR L JR Z,0FDBH DEC A RET NZ LD BC,018H LD A,0E5H CALL 1685H RET PUSH IY POP HL LD A,(342DH) BIT 3,A LD A,48H JR Z,0FE9H LD A,43H LD (IY+10H),A LD BC,018H LDIR RET LD A,(342EH) AND 0F0H LD (342EH),A LD HL,1862H CALL 16EDH LD HL,(3437H) LD (1E41H),HL LD (1E64H),HL LD (1EDAH),HL LD (1A77H),HL CALL 110CH CALL 16E4H LD A,(342EH) BIT 0,A JR NZ,104BH LD HL,1E2AH PUSH HL LD HL,1DEFH PUSH HL LD HL,1DB8H CALL 16EDH POP HL POP HL LD DE,19ACH LD BC,0 LD HL,1DD8H CALL 2AB2H JR NZ,103FH CALL 16E4H LD A,4EH CP 4EH JR Z,104BH LD A,(342EH) SET 2,A LD (342EH),A LD A,(342EH) BIT 1,A JR NZ,1081H LD HL,1E2AH PUSH HL LD HL,1E03H PUSH HL LD HL,1DB8H CALL 16EDH POP HL POP HL LD DE,19ACH LD BC,0 LD HL,1DD8H CALL 2AB2H JR NZ,1075H CALL 16E4H LD A,4EH CP 4EH JR Z,1081H LD A,(342EH) SET 3,A LD (342EH),A CALL 16E4H SUB A LD (300DH),A CALL 117FH LD B,(IY+3) LD A,(300DH) INC A LD (300DH),A LD A,(HL) CP 0E5H LD A,(342EH) JR Z,10A3H BIT 2,A JR Z,10F0H JR 10A7H BIT 3,A JR Z,10F0H PUSH BC PUSH DE PUSH HL LD A,(HL) LD (3008H),A CP 0E5H JR NZ,10BAH LD (3006H),A LD (3007H),A JR 10C2H INC HL LD E,(HL) INC HL LD D,(HL) LD (3006H),DE CALL 1240H POP HL PUSH HL LD A,(3008H) CP 0E5H JR NZ,10D7H EX DE,HL LD BC,8 CALL 1685H JR 10EDH LD (HL),A INC HL LD DE,(3006H) LD (HL),E INC HL LD (HL),D INC HL PUSH HL CALL 1225H LD A,E EX DE,HL POP HL LD (HL),A INC HL LD (HL),E INC HL LD (HL),D POP HL POP DE POP BC ADD HL,DE DJNZ 108EH SUB A LD (2A75H),A LD (2A76H),A LD (2A77H),A LD A,13H LD (2A78H),A CALL 13D6H LD HL,1E9FH CALL 16EDH RET SUB A LD (300DH),A CALL 117FH AND A JR Z,1157H LD B,(IY+3) PUSH BC LD A,(300DH) INC A LD (300DH),A CALL 11A1H POP BC PUSH BC LD A,B RRA JR NC,112FH CALL 16E4H JR 1135H LD HL,19ABH CALL 16EDH POP BC DJNZ 1119H CALL 117FH LD B,A LD A,(IY+3) CP B JR NZ,117EH LD A,(342EH) SET 1,A LD (342EH),A LD HL,1E70H PUSH HL LD HL,1E77H CALL 16EDH POP HL JR 117EH PUSH HL LD L,(IY+3) LD H,0 LD BC,8 CALL 2EE6H LD C,L LD B,H POP DE LD A,0E5H CALL 1685H LD A,(342EH) SET 0,A LD (342EH),A LD HL,1E74H PUSH HL LD HL,1E77H CALL 16EDH POP HL RET LD B,(IY+3) LD C,0 LD HL,3016H LD DE,0100H ADD HL,DE PUSH HL LD DE,8 LD A,(HL) CP 0E5H JR Z,1195H INC C ADD HL,DE DJNZ 118FH LD A,C LD (300CH),A POP HL LD (300FH),HL RET LD HL,(300DH) PUSH HL LD HL,1E1AH PUSH HL LD HL,1E3BH CALL 16EDH POP HL POP HL LD HL,(300FH) LD A,0E5H CP (HL) JR Z,1200H LD A,(2FF9H) CP (HL) JR C,1208H LD A,(HL) LD (3008H),A INC HL LD E,(HL) INC HL LD D,(HL) INC HL OR D OR E JR Z,1208H CALL 1314H JR C,1208H LD (3006H),DE PUSH HL CALL 1225H POP BC LD A,(BC) INC BC CP E JR NZ,1214H LD A,(BC) LD E,A INC BC LD A,(BC) LD D,A INC BC CALL 16CFH JR NZ,1214H INC BC INC BC PUSH BC LD HL,(3008H) PUSH HL LD HL,(3006H) PUSH HL LD HL,1E5FH CALL 16EDH POP HL POP HL POP HL JR 1221H LD HL,1E46H CALL 16EDH JR 121AH LD DE,(300FH) LD BC,8H LD A,0E5H CALL 1685H LD HL,1E51H CALL 16EDH LD HL,(300FH) LD DE,8 ADD HL,DE LD (300FH),HL RET PUSH AF PUSH BC LD A,(300DH) DEC A LD L,A LD H,0 LD C,(IY+4) LD B,0 CALL 2EFFH LD B,(IY+0CH) LD C,(IY+0DH) ADD HL,BC POP BC POP AF RET LD HL,(300DH) PUSH HL LD HL,1E1AH PUSH HL LD HL,1E3BH CALL 16EDH POP HL POP HL CALL 16E4H LD H,(IY+0) LD L,(IY+1) LD D,(IY+0CH) LD E,(IY+0DH) CALL 16CFH DEC HL JR Z,1268H LD HL,(2FF1H) PUSH HL LD HL,1EC8H CALL 16EDH POP HL LD DE,19ACH LD BC,0 LD HL,1EF5H CALL 2B1EH JR Z,12E8H EX DE,HL CALL 1699H EX DE,HL LD A,(HL) CP 55H JR NZ,128FH LD A,0E5H LD (3008H),A JR 12EBH CALL 1314H JR NC,129CH LD HL,19B3H CALL 16EDH JR 1253H LD (3006H),DE LD HL,(2FF9H) PUSH HL LD HL,1EFBH CALL 16EDH POP HL LD DE,19ACH LD BC,0 LD HL,1F10H CALL 2B1EH JR Z,12A0H EX DE,HL CALL 1699H EX DE,HL LD HL,(2FF9H) CALL 16CFH JR NC,12CEH LD HL,19B3H CALL 16EDH JR 12A0H LD A,E LD (3008H),A LD DE,(3006H) OR D OR E JR NZ,1313H LD HL,1E1AH PUSH HL LD HL,1F13H CALL 16EDH POP HL JP 1253H CALL 16E4H LD HL,1A2AH CALL 16EDH LD A,(3008H) CP 0E5H JR Z,130AH LD HL,(3008H) PUSH HL LD HL,(3006H) PUSH HL LD HL,1A6DH CALL 16EDH POP HL POP HL JR 1313H LD HL,1E46H CALL 16EDH CALL 16E4H RET PUSH BC PUSH HL PUSH DE LD H,(IY+0) LD L,(IY+1) LD D,(IY+0CH) LD E,(IY+0DH) CALL 16CFH POP DE DEC HL JR Z,132DH LD HL,(2FF1H) CALL 16CFH JR C,134CH LD H,(IY+0CH) LD L,(IY+0DH) DEC HL CALL 16CFH JR NC,1348H LD BC,(300AH) ADD HL,BC CALL 16CFH JR NC,134CH SCF CCF JR 134DH SCF POP HL POP BC RET LD DE,3016H LD A,(3430H) AND A LD A,0FFH JR Z,135DH LD A,0F0H LD (DE),A INC DE LD BC,01FFH LD A,0 CALL 1685H SUB A LD (2A75H),A LD (2A76H),A LD (2A77H),A LD A,12H LD (2A78H),A CALL 13D6H LD A,13H LD (2A78H),A CALL 13BFH LD DE,3016H LD BC,0100H LD A,0 CALL 1685H LD A,13H LD (2A78H),A CALL 13D6H LD HL,1D3DH CALL 16EDH LD A,(2FFCH) DEC A JR Z,13B3H LD DE,(2FF3H) LD HL,(2FF5H) AND A SBC HL,DE LD DE,(2FF1H) CALL 16CFH JR NC,13BEH CALL 071FH JR NZ,13BEH LD HL,1D60H CALL 16EDH RET LD HL,3016H LD (2AA7H),HL SUB A LD (2A83H),A CALL 229CH CALL 293CH RET Z LD HL,1B03H JP 07CDH LD HL,3016H LD (2AA7H),HL LD HL,321BH LD (2AA9H),HL LD A,1 LD (2A83H),A CALL 234AH CALL 293CH RET Z LD HL,1AFDH JP 07CDH LD A,(342DH) BIT 3,A RET NZ CALL 1414H RET C LD HL,1881H CALL 16EDH CALL 14C8H CALL 1504H CALL 155EH CALL 15B0H CALL 15ECH RET LD HL,1F37H BIT 4,(IX+0) JR Z,1420H LD HL,1F3FH LD DE,34A8H LD BC,8 LDIR SUB A LD (DE),A LD (3490H),A LD C,90H CALL bdos LD (348CH),A LD (34A2H),A LD A,B LD (348BH),A LD (34A4H),A LD A,C LD (348DH),A LD (34A6H),A LD A,81H LD (3482H),A LD BC,8 BIT 4,(IX+0) JR Z,145FH LD A,(3430H) AND A JR Z,147AH LD BC,9 JR 147AH LD C,0 BIT 5,(IX+1) JR Z,1469H SET 2,C LD A,(2FF9H) AND A JR Z,1471H SET 1,C LD A,(2FFEH) BIT 6,A JR Z,147AH SET 0,C LD HL,1FC7H ADD HL,BC ADD HL,BC ADD HL,BC ADD HL,BC ADD HL,BC ADD HL,BC LD A,(HL) LD (348EH),A INC HL LD A,(HL) LD (3491H),A INC HL LD A,(HL) LD (348FH),A INC HL LD E,(HL) INC HL LD C,(HL) LD D,0 INC HL LD A,(HL) LD (34B3H),A LD HL,(2FF3H) EX DE,HL CALL 16CFH JR C,14C6H EX DE,HL LD HL,(2FF5H) CALL 16CFH JR C,14C6H LD A,C BIT 4,(IX+0) JR Z,14BAH DEC A JR NZ,14C6H JR 14C4H LD A,(2FFBH) CP 2 JR Z,14C4H CP C JR NZ,14C6H AND A RET SCF RET LD HL,34A8H PUSH HL LD HL,1F47H CALL 16EDH POP HL LD DE,19ACH LD BC,0 LD HL,19ADH CALL 2B1EH JR NZ,14E9H CALL 16E4H LD HL,34A8H JR 14F6H PUSH HL LD DE,3483H LD BC,8 LD A,20H CALL 1685H POP HL LD DE,3483H LD B,8 LD A,(HL) AND A RET Z LD (DE),A INC HL INC DE DJNZ 14FBH RET LD HL,(34A6H) PUSH HL LD HL,(34A2H) PUSH HL LD HL,(34A4H) PUSH HL LD HL,1F6EH CALL 16EDH POP HL POP HL POP HL LD DE,19ACH LD BC,0 LD HL,19ADH CALL 2B1EH JR NZ,152CH CALL 16E4H JR 155DH LD B,3 PUSH HL INC HL LD A,(HL) AND A JR NZ,153AH PUSH HL DJNZ 1534H POP HL JR 1543H CALL 16DAH JR NC,152FH SUB A LD (HL),A DJNZ 152EH POP DE INC DE CALL 16B6H LD A,L LD (348DH),A POP DE INC DE CALL 16B6H LD A,L LD (348CH),A POP DE CALL 16B6H LD A,L LD (348BH),A RET LD A,(3491H) LD L,A LD H,0 ADD HL,HL ADD HL,HL LD (34B1H),HL LD HL,(34B1H) PUSH HL LD HL,1F9AH CALL 16EDH POP HL LD DE,19ACH LD BC,0 LD HL,19B0H CALL 2B1EH JR NZ,1587H CALL 16E4H JR 15AFH EX DE,HL CALL 16B6H LD DE,40H CALL 16CFH JR NC,159BH LD HL,19B3H CALL 16EDH JR 1569H LD DE,201H CALL 16CFH JR NC,1593H SRA H RR L SRA H RR L LD A,L LD (3491H),A RET LD HL,3492H LD B,10H SUB A LD (HL),A INC HL DJNZ 15B6H LD B,0 LD A,(348EH) LD C,A LD A,(3491H) INC B SUB C JR Z,15C9H JR NC,15C3H LD A,B CP 2 JR NC,15D0H LD B,2 LD DE,0 LD HL,3492H LD A,(348FH) BIT 7,A JR Z,15E6H LD (HL),E INC HL LD (HL),D INC HL INC DE DJNZ 15DDH JR 15EBH LD (HL),E INC HL INC DE DJNZ 15E6H RET CALL 071FH JR NZ,162AH LD DE,(0103H) LD C,1AH CALL bdos LD A,(3435H) INC A LD B,A PUSH BC LD C,8BH CALL bdos LD A,(34B3H) LD E,A LD D,0 PUSH DE LD C,83H CALL bdos LD HL,3482H LD DE,(103H) LD BC,20H LDIR POP DE POP BC LD C,84H CALL bdos LD C,8BH CALL bdos RET LD C,06H LD D,0FH LD HL,2FAEH RST 8 ADD HL,BC JP C,02AAH BIT 4,(IX+0) LD A,(34B3H) JR NZ,1641H DEC A DEC A LD L,A LD H,0 ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL LD DE,0 LD C,0 RST 8 LD DE,0AADAH LD (BC),A LD DE,20H LD HL,3482H RST 8 DEC D JP C,02AAH RST 8 DEC BC JP C,02AAH RET PUSH AF PUSH HL LD HL,(341BH) EX (SP),HL EX (SP),HL DEC HL LD A,L OR H JR NZ,166BH POP HL POP AF RET PUSH AF PUSH HL LD HL,(341DH) CALL 1666H DEC HL LD A,L OR H JR NZ,167AH POP HL POP AF RET PUSH AF LD A,B OR C JR Z,1697H POP AF PUSH AF PUSH DE POP HL LD (HL),A INC DE DEC BC LD A,B OR C JR Z,1697H LDIR POP AF RET LD HL,0 LD A,(DE) AND A RET Z CALL 16AEH CP 10H RET NC ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL OR L LD L,A INC DE JR 169CH SUB 30H CP 0AH RET C SUB 07H RET LD HL,0 LD A,(DE) AND A RET Z SUB 30H RET C CP 0AH RET NC LD B,H LD C,L ADD HL,HL ADD HL,HL ADD HL,BC ADD HL,HL LD C,A LD B,0 ADD HL,BC INC DE JR 16B9H PUSH HL AND A SBC HL,DE POP HL RET ADD A,L LD L,A RET NC INC H RET CP 30H RET C CP 3AH CCF RET CALL 16E4H PUSH DE LD DE,18B4H CALL 1705H POP DE RET CALL 0745H CALL 071FH POP DE JR NZ,16FBH CALL 2CC7H JR 1703H LD B,1 RST 8 DEC DE JR NC,1703H RST 8 INC E PUSH DE RET PUSH AF PUSH BC CALL 745H LD C,09H CALL bdos POP BC POP AF RET db 'Press: RETURN to supply' db ' default answers',cr,lf db 9,'ESCAPE to abort format' db 'ting',cr,lf,9,'CONTROL-C' db ' to abort program',cr,lf db 'Warning: INIT can destro' db 'y all disk data',cr,lf,0 db 'Incompatible with operat' db 'ing system',cr,lf,'Use s' db 'ingle-user or simulator' db ' CDOS %02x.%02x or highe' db 'r',cr,lf,lf,0 db 'Initialization inhibited' db ' in this machine',cr,lf,0 db 'Disk to initialize (%s)?' db 0 db 'devname',0 db 'Testing:',cr,lf,0 db 'Formatting:',cr,lf,0 db cr,'Declaring Alternate T' db 'racks:',cr,lf,0 db 'Labeling:',cr,lf,0 db ' Disk type (C=CDOS, X=C' db 'romix)? <_>',0 db 'CX',0 db cr,lf,'$density',0 db 'sided',0 db ' Single or double %s (S' db '/D)? <_>',0 db 'SD',0 db 'Warning: This CDOS has b' db 'een GENerated for single' db ' %s operation only',cr,lf db 0 db '4FDC not capable of doub' db 'le density operation',cr db lf,0 db 'First',0 db 'Last',0 db ' %s cylinder (0-%u.)? <' db '%u.>',0 OR B ;. ADD HL,SP ;9 POP BC ;. LD B,(HL) ;F NOP ;. db ' Surfaces (0-%x,All)?' db ' ',0 OR B ;. ADD HL,SP ;9 LD B,C ;A NOP ;. ADD HL,BC ;. NOP ;. AND B ;. LD A,(HL) ;~ NOP ;. OR B ;. ADD HL,SP ;9 NOP ;. db 7,' illegal value',cr db lf,0 db 7,' second number mus' db 't equal or exceed first' db cr,lf,0 db ' illegal device',cr,lf,0 db ' Cylinder, Surface: res' db 'tore',0 db ' ',0 db 8,8,8,8,8,8,8,8,8,'%00u.,' db ' %x ',0 db 'Formatting aborted just' db ' prior to writing cylin' db 'der %u., surface %x',cr db lf,0 db 'Drive Diskette in %s is' db ' write-protected',cr,lf db 0 db 'Can',27h,'t %s %s, Stat' db 'us %04x',cr,lf,0 db 'Select',0 db 'Re-zero',0 db '%s not ready',cr,lf,0 db 'Init',0 db 'Restore',0 db 'Seek',0 db 'Write',0 db 'Read',0 db '%s error: %s, Cylinder' db ' %00u., Surface %x, Sta' db 'tus %00xH',cr,lf,0 db 'Appropriate index hole' db ' must be covered',cr,lf,0 db 'Warning: %d inch disk be' db 'ing formatted as %d inch' db ' disk',cr,lf,0 db ' No index pulses being' db ' received',cr,lf,0 db ' Index pulses being re' db 'ceived correctly',cr,lf db ' Rotational speed: ',0 db '%u RPM',cr,lf,0 db 'overflow',cr,lf,0 db ' Illegal drive speed (' db 'must be %d RPM +/-%d%%)' db cr,lf,0 db 'Incorrect operation of' db ' drive or controller',cr db lf,0 db ' PIO',27h,'s and direc' db 'tion control transceive' db 'rs OK',cr,lf,0 db ' PIO',27h,'s not work' db 'ing',cr,lf,0 db ' Memory-to-memory DMA' db ' ',0 db 'completed correctly',cr db lf,0 db 'not working',cr,lf,0 db ' ZPU clock must be set' db ' to 4MHz for correct op' db 'eration of hard disk',cr db lf,0 db 'CDOS file bitmap writte' db 'n to disk',cr,lf,0 db 'Warning: Execute STAT t' db 'o correct bitmap if fil' db 'es still exist',cr,lf,0 db 'Read error: %s register' db cr,lf,'Do you wish to %s' db ' %s (Y/N)? ',0 db 'YN',0 db 'format drive anyway',0 db 're-declare existing',0 db 'declare any additional' db 0 db 'alternate track',0 db 'alternate tracks',0 db ' %s %u.: ',0 db 'unassigned',0 db 'illegal entry',0 db 'cyl %u., surf %x',0 db 'all',0 db 'no',0 db ' %s alternate tracks a' db 're now defined',cr,lf,0 db 'Alternate track table w' db 'ritten to disk',cr,lf db lf,0 db ' cylinder (0-%u. o' db 'r Unassigned): ',0 OR B ;. ADD HL,SP ;9 POP BC ;. LD B,(HL) ;F LD D,L ;U NOP ;. db ' surface (0-%x):',0 OR B ;:.. ADD HL,SP ;9 NOP ;. db bell,' cannot be ass' db 'igned to an %s',cr,lf,0 db 'Userdisk' db 'Harddisk' db ' Disk name (up to 8 ch' db 'aracters)? <%s>',0 db ' Date on disk (mm/dd/y' db 'y)? <%02d/%02d/%02d>',0 db ' Number of directory e' db 'ntries (64-512)? <%d>',0 EX AF,AF' ;. DJNZ 1FCAH ;.. INC BC ;. NOP ;. LD (HL),08H ;6. DJNZ 1FD0H ;.. LD (BC),A ;. NOP ;. LD A,(1008H) ;:.. NOP ;. LD BC,3601H ;..6 DJNZ 1FFBH ;. NOP ;. LD BC,3A00H ;..: EX AF,AF' ;. DJNZ 1FE2H ;.. LD (BC),A ;. NOP ;. INC (HL) ;4 DJNZ 2007H ;. NOP ;. LD (BC),A ;. NOP ;. LD E,D ;Z DJNZ 200DH ;. NOP ;. LD BC,3400H ;..4 DJNZ 2033H ;.@ ADD A,B ;. LD BC,5A00H ;..Z DJNZ 1F79H ;.. RET PO ;. NOP ;. LD BC,2050H ;.P ADD A,B ;. RET PO ;. NOP ;. db 1,50h ;. ; db 'LGSMCLCSSSDSSDDD' ; LD BC,005EH ;.^. INC C ;. INC BC ;. INC D ;. LD (BC),A ;. NOP ;. DAA ;' NOP ;. NOP ;. NOP ;. LD BC,0E55EH ;.^. PUSH HL ;. LD C,B ;H JR C,2053H ;8- LD SP,0E5E5H ;1.. PUSH HL ;. PUSH HL ;. LD BC,007CH ;.|. JR 2033H ;.. INC D ;. LD (BC),A ;. NOP ;. DAA ;' NOP ;. NOP ;. NOP ;. LD BC,0E57CH ;.|. PUSH HL ;. LD C,B ;H JR C,206BH ;8- LD (0E5E5H),A ;2.. PUSH HL ;. PUSH HL ;. LD BC,007CH ;.|. JR Z,204DH ;(. INC D ;. LD (BC),A ;. NOP ;. LD H,00H ;&. NOP ;. NOP ;. LD BC,0E57CH ;.|. PUSH HL ;. LD C,B ;H JR C,2083H ;8- INC SP ;3 PUSH HL ;. PUSH HL ;. PUSH HL ;. PUSH HL ;. LD (BC),A ;. RET M ;. NOP ;. LD D,B ;P DEC B ;. INC D ;. LD (BC),A ;. NOP ;. INC H ;$ NOP ;. NOP ;. NOP ;. LD (BC),A ;. RET M ;. PUSH HL ;. PUSH HL ;. LD C,B ;H JR C,209BH ;8- INC (HL) ;4 PUSH HL ;. PUSH HL ;. PUSH HL ;. PUSH HL ;. NOP ;. ADC A,D ;. NOP ;. JR 207CH ;.. INC D ;. LD (BC),A ;. NOP ;. DAA ;' NOP ;. NOP ;. NOP ;. NOP ;. ADC A,D ;. PUSH HL ;. PUSH HL ;. LD C,B ;H DEC (HL) ;5 DEC L ;- LD SP,0E5E5H ;1.. PUSH HL ;. PUSH HL ;. LD BC,002CH ;.,. INC C ;. LD (BC),A ;. INC D ;. LD (BC),A ;. NOP ;. DAA ;' NOP ;. NOP ;. NOP ;. LD BC,0E50EH ;... PUSH HL ;. LD C,B ;H DEC (HL) ;5 DEC L ;- LD (0E5E5H),A ;2.. PUSH HL ;. PUSH HL ;. LD BC,002CH ;.,. JR 20ACH ;.. INC D ;. LD (BC),A ;. NOP ;. DAA ;' NOP ;. NOP ;. NOP ;. LD BC,0E50EH ;... PUSH HL ;. LD C,B ;H DEC (HL) ;5 DEC L ;- INC SP ;3 PUSH HL ;. PUSH HL ;. PUSH HL ;. PUSH HL ;. LD BC,002CH ;.,. JR NZ,20C6H ; . INC D ;. LD (BC),A ;. NOP ;. DAA ;' NOP ;. NOP ;. NOP ;. LD BC,0E50EH ;... PUSH HL ;. LD C,B ;H DEC (HL) ;5 DEC L ;- INC (HL) ;4 PUSH HL ;. PUSH HL ;. PUSH HL ;. PUSH HL ;. LD A,A ;. NOP ;. NOP ;. NOP ;. NOP ;. LD D,H ;T NOP ;. LD D,B ;P NOP ;. XOR L ;. NOP ;. NOP ;. ADD A,D ;. RST 8 ;. OR E ;. ADD A,A ;. LD DE,2151H ;.Q! LD HL,252FH ;!/% JR 20F1H ;.. LD DE,2190H LD HL,2473H PUSH DE LD (2256H),HL LD HL,(2AA7H) LD (2254H),HL LD HL,204H LD A,(2A7FH) OR A JR Z,210AH INC HL BIT 1,C JR Z,210AH INC HL LD (2A79H),HL LD HL,2129H BIT 0,C JR Z,2117H LD HL,213DH LD (2252H),HL LD A,(2A80H) CP 3 LD A,0EH JR Z,2125H LD A,7 LD (2258H),A RET LD (BC),A ;. LD B,0AH ;.. LD C,12H ;.. LD D,1AH ;.. LD E,22H ;." LD H,04H ;&. EX AF,AF' ;. INC C ;. DJNZ 214CH ;.. JR 2156H ;.. db ' $',0 LD B,12H ;.. LD E,02H ;.. LD C,1AH ;.. LD H,0AH ;&. LD D,22H ;." INC C ;. JR 216EH ;.$ EX AF,AF' ;. INC D ;. JR NZ,2152H ; . DJNZ 216CH ;.. NOP ;. PUSH BC ;. LD A,02H ;>. LD (218EH),A ;2.! LD A,0AH ;>. LD (218FH),A ;2.! CALL 295BH ;.[) CALL 2246H ;.F" CALL 21C3H ;..! CALL 2964H ;.d) CALL 2942H ;.B) JR Z,218CH ;(. LD A,(2A81H) ;:.* CP 04H ;.. JR Z,2181H ;(. LD HL,218EH ;!.! DEC (HL) ;5 JR NZ,215CH ; . LD A,0AH ;>. LD (2A82H),A ;2.* JR 218CH ;.. LD HL,218FH ;!.! DEC (HL) ;5 JR NZ,215CH ; . LD A,0BH ;>. LD (2A82H),A ;2.* POP BC ;. RET ;. db 0,0 PUSH BC ;. CALL 292DH ;.-) CALL 293CH ;.<) JR NZ,21BFH ; & LD A,02H ;>. LD (21C1H),A ;2.! LD A,02H ;>. LD (21C2H),A ;2.! CALL 295BH ;.[) CALL 2246H ;.F" CALL 21C3H ;..! CALL 2964H ;.d) CALL 2942H ;.B) JR Z,21BFH ;(. LD HL,21C1H ;!.! DEC (HL) ;5 JR NZ,21A3H ; . LD A,08H ;>. LD (2A82H),A ;2.* POP BC ;. RET ;. db 0,0 CALL 2246H LD A,47H OUT (0ECH),A LD A,2 OUT (0ECH),A IN A,(0ECH) RRCA JR NC,21CEH LD B,0AH LD A,1 LD (2A78H),A CALL 21FEH LD A,47H OUT (0EDH),A LD A,2 OUT (0EDH),A IN A,(0EDH) RRCA JR NC,21E5H LD B,9 LD A,2 LD (2A78H),A CALL 21FEH LD B,1 XOR A LD (2A78H),A CALL 21FEH RET PUSH BC LD HL,(2252H) LD D,(HL) LD E,0 INC HL LD (2252H),HL LD HL,(2254H) ADD HL,DE LD (2AA7H),HL DEC HL DEC HL DEC HL DEC HL LD (2A7BH),HL CALL 2417H LD DE,(2A7BH) LD HL,2A75H LD BC,4 LDIR LD HL,(2256H) CALL 2245H CALL 2427H POP BC LD A,(2258H) NOP NOP NOP DEC A JR NZ,2233H DEC B RET Z LD A,(2A78H) ADD A,2 LD (2A78H),A JR 21FEH JP (HL) LD HL,2467H LD DE,2A97H LD BC,0CH LDIR RET db 0,0,0,0,0,0,0 LD A,0CFH OUT (0E6H),A LD A,0E0H OUT (0E6H),A XOR A OUT (0E4H),A LD A,0CFH OUT (0E7H),A LD A,0FAH OUT (0E7H),A CPL OUT (0E5H),A XOR A LD (2A7FH),A LD HL,204H LD (2A7DH),HL IN A,(0E4H) AND 40H LD A,10H OUT (0E4H),A JR NZ,2293H IN A,(0E4H) AND 40H JR Z,2293H LD A,0FFH LD (2A7FH),A INC HL LD (2A7DH),HL RET LD A,0FH OUT (0E2H),A LD A,4FH OUT (0E3H),A RET CALL 2417H SUB A JR 22A4H LD A,01H PUSH AF LD A,2 LD (2A72H),A LD A,0AH LD (2A73H),A CALL 2438H CALL 293CH JP NZ,2344H LD A,3 LD (2A86H),A CALL 295BH IN A,(44H) AND 2 LD (2AB0H),A SUB A OUT (44H),A CALL 25EBH CALL 293CH JR NZ,2344H CALL 295BH LD HL,(2AA7H) DEC HL DEC HL DEC HL DEC HL LD (2A7BH),HL LD HL,(2A7DH) LD (2A79H),HL CALL 252FH LD A,(2AB0H) OUT (44H),A CALL 2A5FH CALL 2964H CALL 2942H JR NZ,2313H LD HL,(2A7BH) LD BC,4 CALL 2948H CALL 2942H JR Z,2344H LD HL,2A73H DEC (HL) JR NZ,22BDH LD A,0CH LD (2A82H),A JR 2341H LD A,(2A81H) CP 4 JR Z,2327H LD HL,2A72H DEC (HL) JR NZ,22BDH LD A,0AH LD (2A82H),A JR 2341H LD A,(2A86H) INC A LD (2A86H),A CP 7 JR NZ,22BDH CALL 297CH LD HL,2A73H DEC (HL) JP NZ,22B8H LD A,0BH LD (2A82H),A CALL 297CH POP AF AND A RET NZ JP 2427H CALL 2417H CALL 2438H CALL 293CH JP NZ,23FCH CALL 292DH CALL 293CH JP NZ,23FCH LD A,2 LD (2A70H),A LD A,2 LD (2A71H),A CALL 295BH IN A,(44H) AND 2 LD (2AB0H),A SUB A OUT (44H),A CALL 25EBH CALL 293CH JP NZ,23FCH CALL 295BH LD HL,(2A7DH) LD A,(2A7FH) OR A JR Z,238CH INC HL LD (2A79H),HL LD HL,(2AA7H) DEC HL DEC HL DEC HL DEC HL LD (2A7BH),HL EX DE,HL LD HL,2A75H LD BC,4 LDIR CALL 2473H LD A,(2AB0H) OUT (44H),A CALL 2A5FH CALL 2964H CALL 2942H JR Z,23C5H CALL 297CH LD HL,2A70H DEC (HL) JR NZ,2369H LD A,8 LD (2A82H),A JR 23FEH LD HL,2A83H BIT 0,(HL) JR Z,23FCH LD HL,(2AA7H) PUSH HL LD HL,(2AA9H) LD (2AA7H),HL CALL 22A2H POP HL LD (2AA7H),HL CALL 293CH JR NZ,23FEH LD DE,(2AA9H) DEC HL DEC HL DEC HL DEC HL DEC DE DEC DE DEC DE DEC DE LD BC,204H LD A,(DE) CP (HL) JR NZ,23FEH INC DE INC HL DEC BC LD A,B OR C JR NZ,23F1H JR 2427H LD A,6 LD (2A81H),A CALL 297CH LD HL,2A71H DEC (HL) JP NZ,2369H LD A,9 LD (2A82H),A CALL 297CH JR 23FCH LD HL,(2AA7H) LD DE,0FFFBH ADD HL,DE LD DE,2AABH LD BC,5 LDIR RET LD HL,(2AA7H) LD DE,0FFFBH ADD HL,DE EX DE,HL LD HL,2AABH LD BC,5 LDIR RET CALL 295BH CALL 28B6H CALL 293CH RET NZ CALL 2964H CALL 2942H CALL NZ,297CH CALL NZ,2610H LD BC,0CH LD DE,2A97H LD HL,2467H LDIR LD A,(2A80H) AND 0FH CP 4 RET NZ LD A,1 LD (2A9CH),A RET JP 0062H ;.b. NOP ;. LD D,B ;P NOP ;. XOR L ;. NOP ;. NOP ;. ADD A,D ;. RST 8 ;. ADD A,A ;. LD HL,(2A79H) LD (2A99H),HL LD HL,(2A7BH) DEC HL LD (HL),2 LD (2A9EH),HL LD HL,2A97H LD BC,0CE8H OTIR LD A,(2A7FH) OR A JR NZ,24D3H XOR A OUT (0E0H),A LD A,4 CALL 29C9H XOR A OUT (0E5H),A LD B,1 DI LD C,0EDH LD A,47H OUT (C),A LD A,80H OUT (C),A IN A,(0E4H) OR 10H OUT (0E4H),A IN A,(C) JP M,24AEH LD C,0E0H OUT (C),B IN A,(0E4H) AND 0 SUB A OUT (C),A NOP NOP NOP NOP IN A,(0E4H) AND 0EFH OUT (0E4H),A LD A,1 OUT (0E5H),A IN A,(0E4H) AND 0F7H OUT (0E4H),A RET CALL 2974H JR NZ,24EFH LD A,(2A80H) AND 7FH CP 77H JR NZ,24EFH LD HL,(2A76H) LD DE,0D5H SBC HL,DE JR C,24EFH LD A,4 JR 24F0H XOR A OUT (0E0H),A LD A,4 CALL 29C9H XOR A OUT (0E5H),A CALL 2974H IN A,(0E4H) RES 4,A JR Z,2505H SET 4,A OUT (0E4H),A LD B,1 DI LD A,0FH OUT (0EDH),A LD A,2 OUT (0EDH),A XOR A OUT (0E5H),A LD C,0E0H OUT (C),B LD A,4 OUT (0E5H),A XOR A OUT (C),A NOP NOP LD A,1 OUT (0E5H),A IN A,(0E4H) AND 0F7H OR 10H OUT (0E4H),A RET LD HL,(2A79H) DEC HL LD (2A99H),HL LD HL,(2A7BH) LD (2A9EH),HL LD HL,2A97H LD BC,0CE8H OTIR LD A,(2A80H) AND 7FH CP 77H JR NZ,255BH LD HL,(2A76H) LD DE,0D5H SBC HL,DE JR C,255BH LD A,4 JR 255CH XOR A OUT (0E0H),A LD A,4 CALL 29C9H XOR A OUT (0E5H),A LD D,2 LD A,(2A7FH) OR A JR NZ,25B0H DI LD C,0EDH LD A,47H OUT (C),A LD A,80H OUT (C),A IN A,(0E4H) OR 10H OUT (0E4H),A IN A,(C) JP M,257FH LD B,0 NOP NOP NOP LD C,0E0H OUT (C),D NOP OUT (C),B NOP NOP NOP NOP IN A,(0E5H) LD D,A IN A,(0E4H) AND 0EFH OUT (0E4H),A LD A,1 OUT (0E5H),A IN A,(0E4H) AND 0F7H OUT (0E4H),A BIT 7,D RET Z LD A,4 LD (2A81H),A RET DI LD B,0 LD A,0FH OUT (0EDH),A LD A,(2A80H) AND 7FH CP 77H JR NZ,25C4H LD A,6 JR 25C7H LD A,(2A86H) OUT (0EDH),A LD C,0E0H OUT (C),D LD A,4 OUT (0E5H),A NOP OUT (C),B NOP IN A,(0E5H) LD D,A LD A,1 OUT (0E5H),A IN A,(0E4H) AND 0F7H OUT (0E4H),A BIT 7,D RET Z LD A,4 LD (2A81H),A RET CALL 2670H CALL 293CH RET NZ LD A,(2AA6H) LD B,A LD A,(2A78H) SUB B JP M,25FFH JR NZ,2601H ADD A,14H LD B,A LD A,47H OUT (0EDH),A LD A,B OUT (0EDH),A IN A,(0EDH) CP 1 JR NZ,2609H RET LD A,2 LD (2A6EH),A LD A,3 LD (2A6FH),A CALL 295BH CALL 2974H PUSH AF CALL Z,27B6H POP AF JR Z,2658H CALL 297DH LD A,2 OUT (0E0H),A LD A,6 CALL 29BDH PUSH HL LD HL,1388H CALL 2992H POP HL LD A,(2A85H) BIT 0,A JR Z,2658H LD A,2 LD (2A81H),A CALL 297CH LD HL,2A6EH DEC (HL) JR NZ,261AH LD A,5 LD (2A82H),A JP 297CH CALL 2964H CALL 2942H RET Z CALL 297CH LD HL,2A6FH DEC (HL) JR NZ,261AH LD A,6 LD (2A82H),A JP 297CH LD A,2 LD (2A69H),A LD A,2 LD (2A6DH),A CALL 26C6H CALL 293CH RET NZ CALL 2A50H CALL 286BH CALL 293CH JR NZ,269FH CALL 2942H JR Z,26AFH LD HL,2A69H DEC (HL) JR NZ,26A2H LD A,0 LD (2A82H),A CALL 297CH JP 2A5FH CALL 2A5FH CALL 2610H CALL 293CH JR NZ,269FH JR 267AH LD HL,2AA3H LD BC,3 CALL 2948H CALL 2942H RET Z LD HL,2A6DH DEC (HL) JR NZ,26A2H LD A,3 JR 2699H LD A,2 LD (2A6AH),A LD A,2 LD (2A6BH),A CALL 295BH CALL 2709H CALL 2942H RET Z CALL 297CH LD A,(2A81H) CP 2 JR NZ,26FBH LD HL,2A6AH DEC (HL) JR NZ,26F2H LD A,1 LD (2A82H),A JP 297CH CALL 2610H CALL 293CH RET NZ JR 26D0H LD HL,2A6BH DEC (HL) JR NZ,26F2H LD A,2 LD (2A82H),A JP 297CH CALL 2974H JR Z,2742H CALL 297DH CALL 272CH PUSH HL LD HL,1388H CALL 2992H POP HL LD A,(2A85H) BIT 0,A JR Z,2729H LD A,2 LD (2A81H),A RET JP 2964H CALL 2914H LD HL,(2A76H) OR H OUT (0E0H),A LD A,0 CALL 29BDH LD A,L OUT (0E0H),A LD A,2 JP 29BDH CALL 28B6H CALL 293CH RET NZ CALL 2860H LD E,(HL) INC HL LD D,(HL) LD HL,(2A76H) EX DE,HL SBC HL,DE RET Z LD C,0 JR NC,2762H EX DE,HL LD H,C LD L,C OR A SBC HL,DE SET 0,C CALL 277EH LD HL,(2A76H) CALL 2857H CALL 2774H LD A,C SET 2,A CALL 273BH LD B,0C8H LD A,18H DEC A JR NZ,2778H DJNZ 2776H RET LD A,C CALL 273BH LD DE,1 PUSH HL LD A,L SUB E LD A,H SBC A,D JR C,278EH LD H,D LD L,E LD A,H OR A JR NZ,2797H LD A,L CP 0AH JR C,2799H LD A,9 CPL ADD A,1AH LD B,A CP 14H LD A,C JR NC,27A4H SET 2,A SET 1,A PUSH BC CALL 273BH POP BC CALL 2776H POP HL INC DE DEC HL LD A,H OR L JR NZ,2785H RET CALL 244EH CALL 290BH LD HL,(2A76H) PUSH HL LD A,(2A80H) BIT 4,A PUSH AF CALL Z,27FAH POP AF JR Z,27F1H CALL 27F5H LD HL,0CH LD (2A76H),HL CALL 2742H CALL 27E6H JR NZ,27EEH LD HL,1 LD C,H CALL 277EH JR 27D8H LD A,0 CALL 29ADH AND 2 RET CALL 276BH POP HL LD (2A76H),HL LD HL,0 JR 2857H LD HL,14H CALL 2857H CALL 284FH JR Z,282DH LD A,14H LD BC,404H CALL 283CH JR Z,282DH LD A,10H LD BC,300H CALL 283CH JR Z,282DH LD HL,94H CALL 2857H LD HL,0 LD (2A76H),HL CALL 2742H LD HL,4 JR 2836H LD HL,(2AA4H) CALL 2857H LD HL,0 LD (2A76H),HL JP 2742H ADD A,C LD (2A76H),A PUSH BC CALL 2742H POP BC CALL 284FH RET Z LD A,(2A76H) DJNZ 283CH RET PUSH BC CALL 286BH POP BC JP 293CH PUSH HL CALL 2860H POP DE LD (HL),E INC HL LD (HL),D RET LD HL,(2A74H) ADD HL,HL LD H,0 LD DE,2A87H ADD HL,DE RET LD A,0AH LD (2A6CH),A CALL 295BH LD HL,(2A7DH) LD H,0 LD (2A79H),HL LD HL,2AA3H LD (2A7BH),HL CALL 252FH CALL 2964H CALL 2942H RET Z LD A,(2A81H) CP 4 RET NZ LD A,(2A80H) AND 7FH CP 77H JR Z,28A5H LD A,(2A86H) INC A LD (2A86H),A CP 7 JR NZ,2870H CALL 297CH LD HL,2A6CH DEC (HL) JR NZ,2870H LD A,4 LD (2A82H),A JP 297CH CALL 295BH CALL 2914H OUT (0E0H),A LD A,0 CALL 29DDH IN A,(0E4H) AND 0F7H OUT (0E4H),A LD A,(2A81H) CP 0 JR NZ,28D8H LD A,7 LD (2A82H),A JP 297CH LD A,(2A7FH) LD (2A80H),A OR A RET Z LD A,2 CALL 29ADH LD B,A AND 60H RLCA RLCA RLCA OR A JR Z,28EFH INC A LD (2A80H),A CP 4 RET C LD A,B PUSH AF ADD A,A ADD A,A ADD A,A ADD A,A LD B,A POP AF RRCA AND 3 JP PE,2905H XOR 3 OR B OR 4 LD (2A80H),A LD A,1 OUT (0E0H),A LD A,6 JP 29BDH LD A,(2A75H) AND 4 ADD A,A LD B,A LD A,(2A74H) AND 7 OR B ADD A,A ADD A,A LD B,A LD A,(2A75H) AND 3 OR B ADD A,A ADD A,A RET LD A,2 CALL 29ADH BIT 4,A RET Z LD A,0DH LD (2A82H),A JR 297CH LD A,(2A82H) CP 0FFH RET LD A,(2A81H) CP 0FFH RET LD DE,2A75H LD A,(DE) INC DE CPI JR NZ,2954H RET PO JR 294BH LD A,5 LD (2A81H),A JR 297CH LD A,0FFH LD (2A81H),A LD (2A82H),A RET CALL 2974H RET Z IN A,(0E5H) BIT 1,A RET NZ LD A,3 LD (2A81H),A JR 297CH LD A,(2A80H) AND 0CH CP 4 RET RET LD A,57H OUT (0E6H),A LD A,5FH OUT (0E6H),A XOR A LD (2A85H),A LD A,47H OUT (0EEH),A LD A,2 OUT (0EEH),A RET PUSH DE LD D,69H IN A,(0EEH) RRCA JR C,29A6H DEC D JR NZ,2995H DEC HL LD A,H OR L JR NZ,2993H LD A,81H JR 29A8H LD A,80H LD (2A85H),A POP DE RET OR 41H CALL 29C9H IN A,(0E1H) PUSH AF IN A,(0E4H) AND 0F7H OUT (0E4H),A POP AF RET AND 0BEH CALL 29C9H IN A,(0E4H) AND 0F7H OUT (0E4H),A RET CALL 29EBH LD B,1AH IN A,(0E4H) AND 80H RET Z DEC B JR NZ,29CEH LD A,0 LD (2A81H),A JR 297CH CALL 29EBH LD B,40H DJNZ 29E2H IN A,(0E4H) AND 80H RET Z JR 29D6H AND 0F7H OUT (0E4H),A LD B,1AH IN A,(0E4H) AND 80H JR NZ,2A02H DEC B JR NZ,29F1H LD A,1 LD (2A81H),A JP 297CH IN A,(0E4H) OR 8 OUT (0E4H),A RET CALL 295BH LD A,(2A80H) AND 0FH JR NZ,2A45H LD HL,(2A76H) PUSH HL CALL 297DH LD HL,17BH LD (2A76H),HL CALL 272CH LD HL,1F4H CALL 2992H LD A,0 CALL 29ADH POP HL LD (2A76H),HL AND 40H LD HL,2A80H SET 0,(HL) LD B,1 JR Z,2A47H RES 0,(HL) CALL 2942H CALL Z,2610H LD B,0 CALL 2942H LD A,0FFH RET NZ LD A,B OR A RET PUSH AF LD A,I LD A,0 JP PO,2A59H DEC A LD (2A84H),A DI POP AF RET PUSH AF LD A,(2A84H) OR A JR Z,2A67H EI POP AF RET db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0 SUB A LD (2C44H),A CALL 2B9EH PUSH BC CALL 2BB9H POP DE LD A,D OR E JR Z,2AC5H CALL 2BB9H LD A,(2C44H) LD B,A INC B INC B LD A,' ' CALL 2BC9H DJNZ 2ACDH LD A,(2C44H) LD B,A INC B LD A,8 CALL 2BC9H DJNZ 2AD9H LD C,0AH LD DE,2C45H CALL bdos LD HL,2C46H LD B,(HL) LD C,0 INC HL LD A,(HL) CP 20H JR NC,2AF3H INC C INC C DJNZ 2AECH LD A,C LD (2C44H),A LD DE,2C45H CALL 2BD6H LD A,(2C46H) AND A JR Z,2B1BH LD A,(2C47H) CALL 2BFAH JR NZ,2B18H CALL 2C25H JR NC,2B09H CALL 2C31H JR 2AB6H CALL 2BB6H JP 2BAAH SUB A LD (2C44H),A CALL 2B9EH PUSH BC CALL 2BB9H POP DE LD A,D OR E JR Z,2B31H CALL 2BB9H LD A,(2C44H) LD B,A INC B INC B LD A,' ' CALL 2BC9H DJNZ 2B39H LD A,(2C44H) LD B,A INC B LD A,8 CALL 2BC9H DJNZ 2B45H LD C,0AH LD DE,2C45H CALL bdos LD HL,2C46H LD B,(HL) LD C,0 INC HL LD A,(HL) CP 20H JR NC,2B5FH INC C INC C DJNZ 2B58H LD A,C LD (2C44H),A LD DE,2C45H CALL 2BD6H LD HL,2C46H LD A,(HL) LD B,A AND A JR Z,2B95H INC HL LD A,(HL) CALL 2C25H LD (HL),A DJNZ 2B74H LD HL,2C46H LD A,(HL) LD B,A INC HL LD A,(HL) CALL 2BFAH JR Z,2B8DH DJNZ 2B81H AND A JR 2B92H CALL 2C31H JR 2B22H CALL 2BB6H LD HL,2C47H LD (2C3EH),HL JP 2BAAH LD (2C42H),BC LD (2C40H),DE LD (2C3EH),HL RET LD BC,(2C42H) LD DE,(2C40H) LD HL,(2C3EH) RET LD DE,2BC6H PUSH AF LD A,(DE) INC DE AND A JR Z,2BC4H CALL 2BC9H JR 2BBAH POP AF RET db cr,lf,0 PUSH AF PUSH BC PUSH DE LD C,2 LD E,A CALL bdos POP DE POP BC POP AF RET PUSH AF PUSH BC PUSH DE PUSH HL INC DE PUSH DE LD A,(DE) LD B,A INC DE LD A,(DE) CP ' ' JR Z,2BE8H CP 9 JR NZ,2BEBH DJNZ 2BDEH INC DE POP HL LD (HL),B INC HL EX DE,HL LD C,B LD B,0 INC C LDIR POP HL POP DE POP BC POP AF RET PUSH BC PUSH HL LD HL,(2C3EH) LD C,A LD A,(HL) AND A JR Z,2C20H LD B,A LD A,C BIT 7,B JR NZ,2C10H CP (HL) JR Z,2C20H INC HL JR 2C00H RES 7,B INC HL CP B JR C,2C1DH RES 7,(HL) CP (HL) JR C,2C20H JR Z,2C20H INC HL JR 2C00H AND A LD A,C POP HL POP BC RET CP 'a' RET C CP '{' JR NC,2C2FH AND 5FH RET CCF RET LD A,7 CALL 2BC9H LD A,cr CALL 2BC9H JP 2BAAH db 0,0,0,0,0,0,0 db 7fh db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0 PUSH DE PUSH BC LD B,0 PUSH IY PUSH IX PUSH HL PUSH AF EXX PUSH HL PUSH DE PUSH BC EXX LD IY,14H ADD IY,SP LD A,(HL) INC HL AND A JR Z,2D46H CP 25H JR Z,2CEAH CALL 2ED7H JR 2CDCH LD C,0 LD A,(HL) CP '-' JR NZ,2CF4H SET 0,C INC HL LD A,(HL) CP '0' JR NZ,2CFBH SET 1,C CALL 2EAEH PUSH DE LD DE,0FFH LD A,(HL) CP '.' JR NZ,2D0BH INC HL CALL 2EAEH EX (SP),HL LD D,E LD E,L POP HL PUSH DE LD A,(HL) AND 5FH CP 'L' JR NZ,2D1AH SET 2,C INC HL LD A,(HL) CP ',' JR NZ,2D22H SET 3,C INC HL LD DE,2D55H LD A,(DE) INC DE AND A JR Z,2D36H CP (HL) JR Z,2D36H AND 5FH CP (HL) JR Z,2D36H INC DE INC DE JR 2D25H LD A,(HL) INC HL PUSH HL EX DE,HL LD E,(HL) INC HL LD D,(HL) POP HL EX (SP),HL EX DE,HL CALL 2D54H POP HL JR 2CDCH EXX POP BC POP DE POP HL EXX POP AF POP HL POP IX POP IY POP BC POP DE RET JP (HL) db 'd' dw 2df7h db 'x' dw 2d71h db 'u' dw 2df9h db 'c' dw 2d67h db 's' dw 2e85h db 0 dw 2ed7h LD A,(IY+0) INC IY INC IY JP 2ED7H CALL 2DDCH PUSH HL CALL 2DDCH PUSH HL LD L,4 BIT 2,C JR Z,2D89H CALL 2DDCH PUSH HL CALL 2DDCH PUSH HL LD L,8 INC L DEC L JR Z,2D99H DEC SP POP AF CP '0' JR NZ,2D97H DEC L JR NZ,2D8DH INC L PUSH AF INC SP LD H,L LD A,L BIT 0,C JR Z,2DB1H INC H DEC H JR Z,2DAAH DEC SP POP AF CALL 2ED7H JR 2DA0H LD A,' ' CALL 2DC8H JR 2DC7H LD A,' ' BIT 1,C JR Z,2DB9H LD A,'0' CALL 2DC8H INC H DEC H JR Z,2DC7H DEC SP POP AF CALL 2ED7H JR 2DBDH RET PUSH AF LD A,L NEG ADD A,E LD E,A JR NC,2DDAH JR Z,2DDAH POP AF CALL 2ED7H DEC E JR NZ,2DD3H RET POP AF RET LD A,(IY+0) INC IY PUSH AF RRA RRA RRA RRA CALL 2DEBH LD L,H POP AF AND 0FH CP lf JR C,2DF3H ADD A,7 ADD A,'0' LD H,A RET SET 4,C EXX LD L,(IY+0) INC IY LD H,(IY+0) INC IY LD DE,0 EXX BIT 4,C EXX JR Z,2E12H BIT 7,H JR Z,2E12H DEC DE EXX BIT 2,C EXX JR Z,2E22H LD E,(IY+0) INC IY LD D,(IY+0) INC IY BIT 7,D JR Z,2E42H EXX BIT 4,C EXX JR Z,2E42H EXX SET 5,C EXX LD A,D CPL LD D,A LD A,E CPL LD E,A LD A,H CPL LD H,A LD A,L CPL LD L,A INC HL LD A,H OR L JR NZ,2E42H INC DE LD BC,300H PUSH BC LD BC,0AH PUSH HL EX DE,HL LD DE,0 CALL 2F02H EX (SP),HL CALL 2F02H LD A,E POP DE ADD A,'0' POP BC PUSH AF INC SP INC C LD A,D OR E OR H OR L JR Z,2E74H DJNZ 2E45H LD B,3 EXX BIT 3,C EXX JR Z,2E45H LD A,2CH PUSH AF INC SP INC C JR 2E45H EXX BIT 5,C EXX JR Z,2E7FH LD A,'-' PUSH AF INC SP INC C LD A,C EXX LD L,A JP 2D89H EXX LD C,0 LD L,(IY+0) INC IY LD H,(IY+0) INC IY LD A,(HL) AND A JR Z,2E9DH INC HL INC C EXX DEC D EXX JR NZ,2E92H LD B,C INC B DEC B JR Z,2EA8H DEC HL LD A,(HL) PUSH AF INC SP JR 2E9FH LD A,C EXX LD L,A JP 2D99H PUSH BC LD DE,0 LD A,(HL) CALL 2ED0H JR C,2ECEH EX DE,HL LD A,(DE) CALL 2ED0H JR C,2ECCH INC DE LD C,L LD B,H ADD HL,HL ADD HL,HL ADD HL,BC ADD HL,HL LD C,A LD B,0 ADD HL,BC JR 2EB9H EX DE,HL AND A POP BC RET SUB '0' RET C CP lf CCF RET PUSH HL PUSH DE PUSH BC PUSH AF LD C,2 LD E,A CALL bdos POP AF POP BC POP DE POP HL RET LD DE,0 EX DE,HL LD A,10H OR A BIT 0,E JR Z,2EF2H ADD HL,BC RR H RR L RR D RR E DEC A JR NZ,2EECH EX DE,HL RET LD DE,0 LD A,D CP B JR NZ,2F08H LD A,E CP C CCF RET C EX DE,HL LD A,10H SCF RL E RL D RL L RL H JR NC,2F1DH OR A SBC HL,BC JR 2F23H SBC HL,BC JR NC,2F23H DEC E ADD HL,BC DEC A JR NZ,2F0DH EX DE,HL OR A RET PUSH BC PUSH DE PUSH HL LD DE,2FAEH LD B,5 CALL 2FCCH JR NZ,2F3AH LD DE,5 ADD HL,DE PUSH HL LD A,(HL) CP 2FH JR Z,2F64H INC HL AND A JR NZ,2F3BH POP HL LD DE,2FB3H LD BC,18H PUSH HL LD A,(HL) CALL 2FE3H LD (DE),A AND A JR Z,2F6EH INC HL INC DE DEC BC LD A,B OR C JR NZ,2F4CH LD HL,2F74H LD B,1 RST 8 DEC DE JR 2F6BH LD HL,2F90H LD B,1 RST 8 DEC DE SCF JR 2F6FH AND A POP HL POP HL POP DE POP BC RET db 'Device name too long: "' db '%s"',lf,0 db 'Device must be in /dev:' db ' "%s"',lf,0 db '/dev/',0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 db 0,0,0,0 PUSH BC PUSH DE PUSH HL LD A,(HL) CALL 2FE3H LD C,A LD A,(DE) CALL 2FE3H CP C JR NZ,2FDFH INC DE INC HL DJNZ 2FCFH POP HL POP DE POP BC RET CALL 2FEAH RET C ADD A,' ' RET CP 'A' RET C CP '[' CCF RET end