; LAST UPDATE: 18.07.2025 savelij ;[]==========================================================[] InitExtention: LD HL,INIFILES.ExtName1 LD DE,fn_ext CALL InitExt LD HL,INIFILES.ExtName2 LD DE,fnview_ext CALL InitExt LD HL,INIFILES.ExtName3 LD DE,fnedit_ext ;[]----------------------------------------------------------[] InitExt: LD (.EXTdata),DE SPDSS DSSF.OPEN,,1 RET C LD (.ExtHandle),A LD HL,WorkBuffer LD DE,WorkBuffer_Size SPDSS DSSF.READ RET C OR A RET P LD A,0 .ExtHandle EQU $-1 PUSH DE SPDSS DSSF.CLOSE POP BC LD HL,WorkBuffer LD DE,0x0000 .EXTdata EQU $-2 EXX LD BC,0x03FE EXX .loop: CALL InitExtLine JR NC,.loop RET InitExtLine: LD (.InExtSv),DE SUB A LD (DE),A INC DE EXX DEC BC LD A,B OR C SCF EXX RET Z SUB A LD (DE),A INC DE EXX DEC BC LD A,B OR C SCF EXX RET Z DEC HL INC BC LD IXL,0x04 .L1: LD A,B OR C SCF RET Z EXX LD A,B OR C SCF EXX RET Z INC HL DEC BC LD A,(HL) CP 0x20 JR C,.L4 CP '`' JR Z,.L4 CP ':' JR Z,.L6 CP '*' JR NZ,.L3 .L2: LD A,'?' LD (DE),A INC DE DEC IXL LD A,IXL DEC A JR Z,.L1 EXX DEC BC LD A,B OR C SCF EXX RET Z JR .L2 .L3: LD (DE),A INC DE EXX DEC BC EXX DEC IXL JR NZ,.L1 .L4: LD DE,(.InExtSv) .L5: LD A,B OR C SCF RET Z LD A,(HL) INC HL DEC BC CP 0x0D JR NZ,.L5 LD A,B OR C SCF RET Z INC HL DEC BC LD A,B OR C RET NZ SCF RET .L6: DEC IXL JR Z,.L8 .L7: EXX LD A,B OR C SCF EXX RET Z INC DE EXX DEC BC EXX DEC IXL JR NZ,.L7 .L8: LD A,B OR C SCF RET Z EXX LD A,B OR C SCF EXX RET Z INC HL DEC BC LD A,(HL) CP 0x0D JR Z,.L4 CP 0x09 JR Z,.L8 CP 0x20 JR Z,.L8 JR C,.L4 LD (DE),A INC DE EXX DEC BC EXX .L9: LD A,B OR C SCF RET Z EXX LD A,B OR C SCF EXX RET Z INC HL DEC BC LD A,(HL) CP 0x0D JR Z,.L10 CP 0x20 JR C,.L4 LD (DE),A INC DE EXX DEC BC EXX JR .L9 .L10: SUB A LD (DE),A INC DE PUSH HL LD HL,0x0000 .InExtSv: EQU $-2 LD (HL),E INC HL LD (HL),D POP HL JR .L5 INIFILES .ExtName1: DZ FILENAME.FN_EXT .ExtName2: DZ FILENAME.FNVIEW_EXT .ExtName3: DZ FILENAME.FNEDIT_EXT