RETTR PUSH BC LD DE,DIR LD HL,0 LD IX,#0010 LD BC,#0105 LD A,(DRIVE) RST #18 POP BC JR C,CDAGAA LD HL,DIR LD A,(HL) INC HL CP #01 JR NZ,UNKCD LD A,(HL) INC HL CP "C" JR NZ,UNKCD LD A,(HL) INC HL CP "D" JR NZ,UNKCD LD HL,DIR+#009E LD DE,ROOTDIR LDI LDI LDI LDI LD HL,DIR+#00A6 LD DE,ROOTLEN LDI LDI LDI LDI POP AF OUT (PAGE3),A LD HL,0 LD (FATCASH),HL XOR A RET LOADDIR XOR A LD HL,0 LD IX,0 LD B,0 CALL MOVE_FP LD A,DIRPAGE CALL BANK PUSH AF LD B,3 LOADFFF PUSH BC LD HL,#C000 LD DE,#C001 LD BC,#3FFF LD (HL),L LDIR LD A,(DRIVE) LD (IY+FDRV),A ; LD C,(IY+LEN1) LD C,(IY+LEN2) LD B,(IY+LEN3) LD E,(IY+LEN4) LD D,0 SRL D RR E RR B RR C SRL D RR E RR B RR C SRL D RR E RR B RR C LD E,(IY+CLU1) LD D,(IY+CLU2) LD L,(IY+CLU3) LD H,(IY+CLU4) LD HX,D LD LX,E LD B,C LD A,B OR A JR Z,ERRLEND CP #08 JR C,NORLEND LD B,8 NORLEND LD A,(DRIVE) LD C,5 LD DE,DIR RST #18 POP BC JR NC,LOADMMM DEC B JP NZ,LOADFFF POP AF OUT (PAGE3),A SCF LD A,20 RET ERRLEND POP BC POP AF OUT (PAGE3),A SCF LD A,20 RET LOADMMM POP AF OUT (PAGE3),A CALL CORRDIR AND A RET CORRDIR LD A,DIRPAGE CALL BANK PUSH AF LD HL,DIR LD DE,DIR CORRL1 PUSH DE LD C,(HL) LD B,0 LD DE,ENTRYBF LDIR POP DE PUSH HL LD HL,FCDFLEN LD C,(HL) LD B,0 ADD HL,BC INC HL LD (HL),0 SBC HL,BC PUSH DE CALL MASK POP HL LD BC,11 ADD HL,BC LD A,(FCDFLAG) AND 2 LD A,#00 ;ATTRIBUT FILE JR Z,CORRL0 LD A,#10 ;ATTRIBUT DIRECTORY CORRL0 LD (HL),A INC HL XOR A LD B,8 FILLCDN LD (HL),A INC HL DJNZ FILLCDN LD A,(FCDSEC+2) LD (HL),A INC HL LD A,(FCDSEC+3) LD (HL),A INC HL LD DE,#0000 ;TIME LD (HL),E INC HL LD (HL),D INC HL LD DE,#0000 ;DATE LD (HL),E INC HL LD (HL),D INC HL LD DE,(FCDSEC) LD (HL),E INC HL LD (HL),D INC HL EX DE,HL LD HL,FCDLEN LDI LDI LDI LDI POP HL BIT 7,H JR Z,CORRL2 LD A,(HL) OR A JP NZ,CORRL1 LD L,0 INC H JR Z,CORRL2 LD A,(HL) OR A JP NZ,CORRL1 CORRL2 XOR A LD (DE),A LD DE,(ROOTDIR+0) LD L,(IY+CLU1) LD H,(IY+CLU2) AND A SBC HL,DE JR NZ,CORRL6 LD DE,(ROOTDIR+2) LD L,(IY+CLU3) LD H,(IY+CLU4) AND A SBC HL,DE JR NZ,CORRL6 LD HL,DIR LD A,(HL) CP " " JR NZ,CORRL4 LD (HL),#E5 LD BC,#0020 ADD HL,BC LD A,(HL) CP " " JR NZ,CORRL4 LD (HL),#E5 JR CORRL4 CORRL6 LD HL,DIR LD A,(HL) CP " " JR NZ,CORRL4 LD (HL),"." LD BC,#0020 ADD HL,BC LD A,(HL) CP " " JR NZ,CORRL4 LD (HL),"." INC HL LD (HL),"." CORRL4 POP AF OUT (PAGE3),A AND A RET ENTRYBF DEFB #00 ;Entry lenght DEFB #00 ;XAR in LBN FCDSEC DEFW #00,#00 ;Start sector (Intel) DEFW #00,#00 ;Start sector (Motorola) FCDLEN DEFW #00,#00 ;Lenght file (Intel) DEFW #00,#00 ;Lenght file (Motorola) FCDYEAR DEFB #00 ;Year FCDMOUN DEFB #00 ;Mount FCDDAY DEFB #00 ;Day FCDHOUR DEFB #00 ;Hour FCDMIN DEFB #00 ;Minute FCDSECN DEFB #00 ;Second DEFB #00 ;Reserve FCDFLAG DEFB #00 ;Flag DEFB #00 ;Interlive size DEFB #00 ;Interlive skip factor DEFW #0000 ;Volume Set Sequence (Intel) DEFW #0000 ;Volume Set Sequence (Motorola) FCDFLEN DEFB #00 DEFSA EQU $-ENTRYBF FCDNAME DEFS #100-DEFSA ROOTDIR DEFW 0,0 ROOTLEN DEFW 0,0