220 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			220 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
| ; LAST UPDATE: 11.03.2025 savelij
 | |
| 
 | |
| ;[]==========================================================[]
 | |
| InitExtention:	;[ ]	07/10/23
 | |
| 		;  LD	(InitExt.path),HL
 | |
| 		;  EX	HL,DE
 | |
| 		;
 | |
| 		LD	HL,.ExtName1
 | |
| 		LD	DE,fn_ext
 | |
| 		CALL	InitExt
 | |
| 		LD	HL,.ExtName2
 | |
| 		LD	DE,fnview_ext
 | |
| 		CALL	InitExt
 | |
| 		LD	HL,.ExtName3
 | |
| 		LD	DE,fnedit_ext
 | |
| 		CALL	InitExt
 | |
| 		RET 
 | |
| 
 | |
| .ExtName1:	DZ FILENAME.FN_EXT
 | |
| .ExtName2:	DZ FILENAME.FNVIEW_EXT
 | |
| .ExtName3:	DZ FILENAME.FNEDIT_EXT
 | |
| .PathEnd:	DW	0		; not used
 | |
| 
 | |
| ;[]----------------------------------------------------------[]
 | |
| InitExt:	LD	(.EXTdata),DE
 | |
| ;[ ]	07/10/23
 | |
| ; .path+1:	LD	DE,0
 | |
| ; 		CALL	CopyString
 | |
| ; 		LD	HL,FlexDIRECTORY
 | |
| 	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,(ExtHandle)
 | |
| 		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 
 | |
| 
 | |
| ExtHandle:	DEFB	0x00
 | |
| 
 | |
| 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
 |