 f428f0b18b
			
		
	
	
		f428f0b18b
		
	
	
	
	
		
			
			- устранено перепутанные кнопки для нажатий мышью для F7 и F9. FileViewer.flx 1.06 - добавлено переключение кодировки в режиме HEX просмотра. FlexNavigaror 1.16.01 - исправлен вылет при создании нового файла по Shift+F4 или просмотр с вводом имени по Shift+F3, плагин был не загружен.
		
			
				
	
	
		
			925 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			925 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | ||
| ; LAST UPDATE: 29.07.2025 savelij
 | ||
| 
 | ||
| ENABLE_CODEPAGE	EQU 0
 | ||
| 
 | ||
|  INIT_VAR
 | ||
|  SETVAR CursorX
 | ||
|  SETVAR StringX
 | ||
|  SETVAR CursAddX
 | ||
|  SETVAR CursorY
 | ||
|  SETVAR LenString
 | ||
|  SETVAR PrvLenStr
 | ||
|  SETVAR ReadyStr
 | ||
|  SETVAR ReadyFile
 | ||
| 
 | ||
| LineBuffer := WorkBuffer+0x200
 | ||
| TempBuffer := WorkBuffer+0x300
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| 		CALL	FELoadFile
 | ||
| 		RET	C
 | ||
| 		call	ReadEditorIni
 | ||
| 		LD	IY,EditData
 | ||
| 		SUB	A
 | ||
| 		LD	(EditMode),A
 | ||
| 		LD	(HEXmode),A
 | ||
| 		LD	(IY + EDBUF_.CursorX),A
 | ||
| 		LD	(IY + EDBUF_.StringX),A
 | ||
| 		LD	(IY + EDBUF_.CursAddX),A
 | ||
| 		LD	(IY + EDBUF_.CursorY),A
 | ||
| 		LD	(IY + EDBUF_.ReadyStr),A
 | ||
| 		LD	(IY + EDBUF_.ReadyFile),A
 | ||
| 		INC	A
 | ||
| 		LD	(FECrTimer),A
 | ||
| 		LD	HL,0x0000
 | ||
| 		LD	(CurLine),HL
 | ||
| 		LD	(LineShift),HL
 | ||
| 		LD	(FEPageShift),HL
 | ||
| 		CALL	FEInitScreen
 | ||
| EditorBegin	CALL	InitStatus
 | ||
| 		CALL	InitFile
 | ||
| 		CALL	PrintPage
 | ||
| EditorLoop	CALL	FEChCursor
 | ||
| 		LD	A,(EditMode)			; ०¨¬ । ªâ¨à®¢ ¨ï
 | ||
| 		OR	A
 | ||
| 		JP	NZ,HEditLoop
 | ||
| ; ०¨¬ । ªâ¨à®¢ ¨ï ⥪áâ
 | ||
| TEditLoop	LD	IX,FEASCIItab
 | ||
| 		CALL	JUMPS.TestCoords
 | ||
| 	SPDSS DSSF.SCANKEY				; ަ¨¤ ¥¬  ¦ â¨ï ª« ¢¨è
 | ||
| 		JR	Z,EditorLoop
 | ||
| 		LD	A,D
 | ||
| 		CP	SC.F10
 | ||
| 		JP	Z,EditorExit
 | ||
| 		LD	A,E				; …-ASCII ª®¤
 | ||
| 		CP	0x1B				; Esc
 | ||
| 		JP	Z,EditorExit
 | ||
| 		LD	HL,EditorLoop
 | ||
| 		PUSH	HL
 | ||
| 		OR	A
 | ||
| 		JP	NZ,TInsertSymbol		; ª ª®© â® ¯¥ç âë© á¨¬¢®«?
 | ||
| 		LD	A,D
 | ||
| 		CP	SC.F1
 | ||
| 		JP	Z,FEAbout
 | ||
| 		CP	SC.F2
 | ||
| 		JP	Z,SaveFile
 | ||
| 		CP	SC.F4
 | ||
| 		JP	Z,ChEditor			; <20>à®á¬®âà ¢ HEX
 | ||
| 		CP	SC.F7
 | ||
| 		JP Z,FEPrintFile
 | ||
| 	IF ENABLE_CODEPAGE
 | ||
| 		CP SC.F8
 | ||
| 		JP Z,ChCodePage
 | ||
| 	ENDIF
 | ||
| 		CP	SC.F9
 | ||
| 		JP	Z,EditorSetup
 | ||
| 		CP	SC.XDEL
 | ||
| 		JP	Z,TDeleteSymbol
 | ||
| 		CP	SC.X4
 | ||
| 		JP	Z,TCursorLeft
 | ||
| 		CP	SC.X6
 | ||
| 		JP	Z,TCursorRight
 | ||
| 		CP	SC.X8
 | ||
| 		JP	Z,TCursorUp
 | ||
| 		CP	SC.X2
 | ||
| 		JP	Z,TCursorDown
 | ||
| 		CP	SC.X7				; Home
 | ||
| 		JP	Z,THomeString
 | ||
| 		CP	SC.X1				; End
 | ||
| 		JP	Z,TEndString
 | ||
| 		CP	SC.X9				; PageUp
 | ||
| 		JP	Z,FETPageUp
 | ||
| 		CP	SC.X3				; PageDown
 | ||
| 		JP	Z,TPageDown
 | ||
| 		LD	A,B
 | ||
| 		AND	KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL
 | ||
| 		CP	KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL
 | ||
| 		RET	Z
 | ||
| 		bit	KEYBSTAT.B_ALT,B		; <20>ਠ ¦ â®¬ Alt
 | ||
| 		jr	z,.ctrl
 | ||
| 		ld	a,d
 | ||
| 		and	%01111111
 | ||
| 		CP	SC.X4				; Alt+<
 | ||
| 		JP	Z,THomeString
 | ||
| 		CP	SC.X6				; Alt+>
 | ||
| 		JP	Z,TEndString
 | ||
| 		ret
 | ||
| 
 | ||
| .ctrl:		BIT	KEYBSTAT.B_CTRL,B		; <20>ਠ ¦ â®¬ Ctrl
 | ||
| 		RET	Z
 | ||
| 		LD	A,D
 | ||
| 		AND	%01111111
 | ||
| 		CP	SC.BKSP
 | ||
| 		JP	Z,TDeleteWord
 | ||
| 		CP	SC.Y				; Ctrl+Y - Delete String
 | ||
| 		JP	Z,TDeleteString
 | ||
| 		CP	SC.S				; Ctrl+S
 | ||
| 		JP	Z,SaveFile
 | ||
| 		CP	SC.D				; Ctrl+D
 | ||
| 		JP	Z,TDoubleString
 | ||
| 		CP	SC.P				; Ctrl+P
 | ||
| 		JP	Z,FEPrintFile
 | ||
| 		cp	SC.Z				; Ctrl+Z
 | ||
| 		jp	z,Undo
 | ||
| 		CP	SC.X4
 | ||
| 		JP	Z,TWordLeft
 | ||
| 		CP	SC.X6
 | ||
| 		JP	Z,TWordRight
 | ||
| 		CP	SC.X8
 | ||
| 		JP	Z,TScrollUp
 | ||
| 		CP	SC.X2
 | ||
| 		JP	Z,TScrollDown
 | ||
| 		CP	SC.X7				; Ctrl+Home
 | ||
| 		JP	Z,FETBegFile			; ¢  ç «® ä ©« 
 | ||
| 		CP	SC.X1				; Ctrl+PageEnd
 | ||
| 		JP	Z,FETEndFile			; ¢ ª®¥æ ä ©« 
 | ||
| 		RET 
 | ||
| 
 | ||
| ; ०¨¬ । ªâ¨à®¢ ¨ï HEX
 | ||
| HEditLoop	LD	IX,FEHEXtab
 | ||
| 		CALL	JUMPS.TestCoords
 | ||
| 	SPDSS DSSF.SCANKEY				; ަ¨¤ ¥¬  ¦ â¨ï ª« ¢¨è
 | ||
| 		JP	Z,EditorLoop
 | ||
| 		LD	A,D
 | ||
| 		CP	SC.F10				; F10
 | ||
| 		JP	Z,EditorExit
 | ||
| 		LD	A,E				; …-ASCII ª®¤
 | ||
| 		CP	0x1B				; Esc
 | ||
| 		JP	Z,EditorExit
 | ||
| 		LD	HL,EditorLoop
 | ||
| 		PUSH	HL
 | ||
| 		OR	A
 | ||
| 		JP	NZ,HPutSymbol
 | ||
| 		LD	A,D
 | ||
| 		CP	SC.F1
 | ||
| 		JP	Z,FEAbout
 | ||
| 		CP	SC.F2
 | ||
| 		JP	Z,SaveFile
 | ||
| 		CP	SC.S + 0x80			; Ctrl+S
 | ||
| 		JP	Z,SaveFile
 | ||
| 		CP	SC.F4				; F4
 | ||
| 		JP	Z,ChEditor			; <20>à®á¬®âà ¢ ⥪áâ¥
 | ||
| 		CP	SC.F5				; F5
 | ||
| 		JP	Z,FEHGoTo			; <20>¥à¥å®¤    ¤à¥á ¯®«ì§®¢ â¥«ï
 | ||
| 		CP	SC.F7
 | ||
| 		JP Z,FEPrintFile
 | ||
| 		CP	SC.F9
 | ||
| 		JP	Z,EditorSetup
 | ||
| 		CP	SC.X4
 | ||
| 		JP	Z,HCursorLeft
 | ||
| 		CP	SC.X6
 | ||
| 		JP	Z,HCursorRight
 | ||
| 		CP	SC.X7				; Home
 | ||
| 		JP	Z,HHomeString
 | ||
| 		CP	SC.X1				; End
 | ||
| 		JP	Z,HEndString
 | ||
| 		CP	SC.X8				 ; ‘â५ª  ¢¢¥àå
 | ||
| 		JP	Z,HCursorUp
 | ||
| 		CP	SC.X2				 ; ‘â५ª  ¢¨§
 | ||
| 		JP	Z,HCursorDown
 | ||
| 		CP	SC.X9				 ; PageUp
 | ||
| 		JP	Z,FEHPageUp
 | ||
| 		CP	SC.X3				 ; PageDown
 | ||
| 		JP	Z,FEHPageDown
 | ||
| 		LD	A,B
 | ||
| 		AND	KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL
 | ||
| 		CP	KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL
 | ||
| 		RET	Z
 | ||
| 		BIT	KEYBSTAT.B_CTRL,B
 | ||
| 		RET	Z
 | ||
| 		LD	A,D
 | ||
| 		AND	%01111111
 | ||
| 		CP	SC.X8
 | ||
| 		JP	Z,HScrollUp
 | ||
| 		CP	SC.X2
 | ||
| 		JP	Z,HScrollDown
 | ||
| 		CP	SC.X7				; Ctrl+PageUp
 | ||
| 		JP	Z,FEHBegFile			; ¢  ç «® ä ©« 
 | ||
| 		CP	SC.X1				; Ctrl+PageDown
 | ||
| 		JP	Z,FEHEndFile			; ¢ ª®¥æ ä ©« 
 | ||
| 		CP	SC.P				; Ctrl+P
 | ||
| 		JP	Z,FEPrintFile
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| ChEditor	LD	HL,EditorBegin
 | ||
| 		EX	(SP),HL
 | ||
| 		LD	A,(EditMode)
 | ||
| 		XOR	0x01
 | ||
| 		LD	(EditMode),A
 | ||
| 		JR	NZ,HEXEdit
 | ||
| ASCIIEdit	LD	HL,(LineShift)
 | ||
| 		LD	E,(IY + EDBUF_.CursorX)
 | ||
| 		SRL	E
 | ||
| 		LD	D,0x00
 | ||
| 		ADD	HL,DE
 | ||
| 		PUSH	HL
 | ||
| 		INC	HL
 | ||
| 		CALL	FESearchUp
 | ||
| 		LD	(LineShift),HL
 | ||
| 		LD	(FEPageShift),HL
 | ||
| 		SUB	A
 | ||
| 		LD	(IY + EDBUF_.StringX),A
 | ||
| 		LD	(IY + EDBUF_.CursorY),A
 | ||
| 		PUSH	HL
 | ||
| 		CALL	GetString
 | ||
| 		POP	DE
 | ||
| 		POP	HL
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		LD	A,L
 | ||
| 		CP	(IY + EDBUF_.LenString)
 | ||
| 		JR	C,.L1
 | ||
| 		LD	A,(IY + EDBUF_.LenString)
 | ||
| .L1		DEC	A
 | ||
| 		LD	(IY + EDBUF_.StringX),A
 | ||
| 		JP	TCursorRight
 | ||
| 
 | ||
| HEXEdit		CALL	PutString
 | ||
| 		LD	HL,(LineShift)
 | ||
| 		LD	A,(IY + EDBUF_.StringX)
 | ||
| 		CP	(IY + EDBUF_.LenString)
 | ||
| 		JR	C,.L1
 | ||
| 		LD	A,(IY + EDBUF_.LenString)
 | ||
| .L1		LD	E,A
 | ||
| 		LD	D,0x00
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	A,L
 | ||
| 		AND	0x0F
 | ||
| 		ADD	A,A
 | ||
| 		LD	(IY + EDBUF_.CursorX),A
 | ||
| 		LD	A,L
 | ||
| 		AND	0xF0
 | ||
| 		LD	L,A
 | ||
| 		LD	(LineShift),HL
 | ||
| 		LD	(FEPageShift),HL
 | ||
| 		SUB	A
 | ||
| 		LD	(IY + EDBUF_.CursorY),A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| EditorExit	CALL	PutString
 | ||
| 		CALL	FEResCursor
 | ||
| 		LD	A,(IY + EDBUF_.ReadyFile)
 | ||
| 		OR	A
 | ||
| 		JP	Z,QuitAsk;EditorE
 | ||
| 	MAKEWINDOW WINSUBOBJ.STORE
 | ||
| 	W_MAIN 208,80,224,60
 | ||
| 	W_FILL 4,2,216,10,COLORI.BLACK
 | ||
| 	W_TEXT 88,3,COLORI.WHITE,"Information"
 | ||
| 	W_TEXT 64,19,COLORP.HIGHGRAY,"File has been modified."
 | ||
| 	W_TEXT 96,29,COLORP.HIGHGRAY,"Save ?"
 | ||
| 	W_BUTTON 32,42,72,14
 | ||
| 	W_TEXT 58,45,COLORP.HIGHGRAY,"Yes"
 | ||
| 	W_BUTTON 120,42,72,14
 | ||
| 	W_TEXT 150,45,COLORP.HIGHGRAY,"No"
 | ||
| 	W_END
 | ||
| SureLoop	LD	IX,SureTab
 | ||
| 		CALL	JUMPS.TestCoords
 | ||
| 	SPDSS DSSF.SCANKEY
 | ||
| 		JR	Z,SureLoop
 | ||
| 		LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	NZ,SureLoop
 | ||
| 		LD	A,E
 | ||
| 		CP	0x1B
 | ||
| 		SCF 
 | ||
| 		JR	Z,SureExit
 | ||
| 		CP	0x0D
 | ||
| 		JR	Z,SureOkey
 | ||
| 		RES	5,A
 | ||
| 		CP	'N'
 | ||
| 		JR	Z,SureExit
 | ||
| 		CP	'Y'
 | ||
| 		JR	NZ,SureLoop
 | ||
| SureOkey	CALL	SaveFile
 | ||
| 		OR	A
 | ||
| SureExit
 | ||
| 	WINDOWCLOSE
 | ||
| 		JP	C,EditorLoop
 | ||
| EditorE		LD	A,(FEMemIndef)
 | ||
| 	SPDSS DSSF.FREEMEM
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| QuitAsk:	ld	a,0
 | ||
| .param		EQU $-1
 | ||
| 		and	a
 | ||
| 		jr	z,EditorE
 | ||
| 	MAKEWINDOW WINSUBOBJ.STORE
 | ||
| 	W_MAIN 208,88,224,50
 | ||
| 	W_FILL 4,2,216,10,COLORI.BLACK
 | ||
| 	W_TEXT 104,3,COLORI.WHITE,"Quit"
 | ||
| 	W_TEXT 28,19,COLORP.HIGHGRAY,"Do you want to close the editor?"
 | ||
| 	W_BUTTON 32,32,72,14
 | ||
| 	W_TEXT 58,35,COLORP.HIGHGRAY,"Yes"
 | ||
| 	W_BUTTON 120,32,72,14
 | ||
| 	W_TEXT 150,35,COLORP.HIGHGRAY,"No"
 | ||
| 	W_END
 | ||
| FEQuitLoop:	LD	IX,FEQuitTab
 | ||
| 		CALL	JUMPS.TestCoords
 | ||
| 	SPDSS DSSF.SCANKEY
 | ||
| 		JR	Z,FEQuitLoop
 | ||
| 		LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	NZ,FEQuitLoop
 | ||
| 		LD	A,E
 | ||
| 		CP	0x1B
 | ||
| 		scf
 | ||
| 		JP	Z,SureExit
 | ||
| 		CP	0x0D
 | ||
| 		JP	Z,SureExit
 | ||
| 		RES	5,A
 | ||
| 		CP	'Y'
 | ||
| 		JP	Z,SureExit
 | ||
| 		CP	'N'
 | ||
| 		JR	NZ,FEQuitLoop
 | ||
| FEQuitAbort:	SCF
 | ||
| 		JP	SureExit
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| FEInitScreen
 | ||
| 	MAKEWINDOW WINSUBOBJ.NOSTORE
 | ||
| 	W_MAIN 0,0,640,256
 | ||
| 	W_FILL 4,2,632,10,COLORI.BLACK
 | ||
| 	W_TEXT 16,3,COLORI.WHITE,"FN File Editor v\{FLEX_VERS.EDITOR}"
 | ||
| 	W_HORIZLINE 0,13,640
 | ||
| 	W_TEXT 8,17,COLORP.HIGHGRAY,"Editing:"
 | ||
| 	W_VERTICLINE 366,16,10
 | ||
| 	W_TEXT 400,17,COLORP.HIGHGRAY,"Line:"
 | ||
| 	W_TEXT 480,17,COLORP.HIGHGRAY,"Col:"
 | ||
| 	W_TEXT 552,17,COLORP.HIGHGRAY,"Free:"
 | ||
| 	W_HORIZLINE 0,27,640
 | ||
| 	W_HORIZLINE 0,227,640
 | ||
| 	W_ICONUPARROW 624,28
 | ||
| 	W_FILL 624,36,16,184,COLORI.HIGHGRAY
 | ||
| 	W_ICONDOWNARROW 624,220
 | ||
| 	W_END
 | ||
| 	SPDSS DSSF.CURDISK
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		ADD	A,'A'
 | ||
| 		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		LD	(HL),':'
 | ||
| 		INC	HL
 | ||
| 		PUSH	HL
 | ||
| 	SPDSS DSSF.CURDIR
 | ||
| 		POP	HL
 | ||
| 		SUB	A
 | ||
| .L1		INC	HL
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L1
 | ||
| 		DEC	HL
 | ||
| 		LD	A,'\\'
 | ||
| 		CP	(HL)
 | ||
| 		INC	HL
 | ||
| 		JR	Z,.L2
 | ||
| 		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| .L2		EX	DE,HL
 | ||
| 		LD	HL,EditingFile+33
 | ||
| 		SUB	A
 | ||
| .L3		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L3
 | ||
| 		LD	(DE),A
 | ||
| 		LD	IX,0x0130
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		LD	DE,0x0030
 | ||
| 		LD	BC,0x0011
 | ||
| 		LD	A,0x80
 | ||
| 		CALL	JUMPS.PrnRangPathL
 | ||
| 		LD	HL,0x01FC
 | ||
| 		LD	DE,0x0003
 | ||
| 		LD	B,0x08
 | ||
| 		EXX 
 | ||
| 		LD	HL,0x022E
 | ||
| 		LD	DE,0x0003
 | ||
| 		LD	B,0x08
 | ||
| 		EXX 
 | ||
| 		LD	A,0x02
 | ||
| 		JP	JUMPS.SetCMOSPrint
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| InitStatus
 | ||
| 	IF ENABLE_CODEPAGE
 | ||
| 		CALL    InitCodePage
 | ||
| 	ENDIF
 | ||
| 		LD	A,(EditMode)
 | ||
| 		OR	A
 | ||
| 		JP	NZ,InitHEXStatus
 | ||
| 	MAKEWINDOW WINSUBOBJ.WOBIND
 | ||
| 	W_HORIZLINE 0,235,626
 | ||
| 	W_VERTICLINE 622,228,8
 | ||
| 	W_ICONLEFTARROW 0,228
 | ||
| 	W_FILL 16,228,592,8,COLORI.HIGHGRAY
 | ||
| 	W_ICONRIGHTARROW 608,228
 | ||
| 	W_HORIZLINE 0,241,640
 | ||
| 	W_FILL 2,243,636,12,COLORI.HIGHGRAY
 | ||
| 	W_HORIZLINE 2,255,637
 | ||
| 	W_BUTTON 0,242,80,14
 | ||
| 	W_TEXT 18,245,COLORP.HIGHGRAY,"F1 About"
 | ||
| 	W_BUTTON 80,242,80,14
 | ||
| 	W_TEXT 100,245,COLORP.HIGHGRAY,"F2 Save"
 | ||
| 	W_BUTTON 160,242,80,14
 | ||
| 	W_TEXT 184,245,COLORP.HIGHGRAY,"F4 Hex"
 | ||
| 	IF ENABLE_CODEPAGE
 | ||
| 	W_BUTTON 340,242,80,14
 | ||
| 	W_TEXT 362,245,COLORP.HIGHGRAY,"F7 Print"
 | ||
| 	W_BUTTON 420,242,60,14
 | ||
| 	W_ADRTEXT 432,245,COLORP.HIGHGRAY,0
 | ||
| ASCIIenc1	EQU $ - 2
 | ||
| 	ELSE
 | ||
| 	W_BUTTON 400,242,80,14
 | ||
| 	W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print"
 | ||
| 	ENDIF
 | ||
| 	W_BUTTON 480,242,80,14
 | ||
| 	W_TEXT 492,245,COLORP.HIGHGRAY,"F9 Settings"
 | ||
| 	W_BUTTON 560,242,80,14
 | ||
| 	W_TEXT 580,245,COLORP.HIGHGRAY,"F10 Quit"
 | ||
| 	W_END
 | ||
| 		RET 
 | ||
| 
 | ||
| InitHEXStatus
 | ||
| 	MAKEWINDOW WINSUBOBJ.WOBIND
 | ||
| 	W_HORIZLINE 0,227,640
 | ||
| 	W_FILL 2,229,636,10,COLORI.HIGHGRAY
 | ||
| 	W_HORIZLINE 2,241,640
 | ||
| 	W_FILL 2,243,636,12,COLORI.HIGHGRAY
 | ||
| 	W_HORIZLINE 2,255,638
 | ||
| 	W_BUTTON 0,242,80,14
 | ||
| 	W_TEXT 18,245,COLORP.HIGHGRAY,"F1 About"
 | ||
| 	W_BUTTON 80,242,80,14
 | ||
| 	W_TEXT 100,245,COLORP.HIGHGRAY,"F2 Save"
 | ||
| 	W_BUTTON 160,242,80,14
 | ||
| 	W_TEXT 182,245,COLORP.HIGHGRAY,"F4 ASCII"
 | ||
| 	W_BUTTON 240,242,80,14
 | ||
| 	W_TEXT 258,245,COLORP.HIGHGRAY,"F5 Go to"
 | ||
| 	IF ENABLE_CODEPAGE
 | ||
| 	W_BUTTON 340,242,80,14
 | ||
| 	W_TEXT 362,245,COLORP.HIGHGRAY,"F7 Print"
 | ||
| 	W_BUTTON 420,242,60,14
 | ||
| 	W_ADRTEXT 432,245,COLORP.HIGHGRAY,0
 | ||
| ASCIIenc2	EQU $ - 2
 | ||
| 	ELSE
 | ||
| 	W_BUTTON 400,242,80,14
 | ||
| 	W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print"
 | ||
| 	ENDIF
 | ||
| 	W_BUTTON 480,242,80,14
 | ||
| 	W_TEXT 492,245,COLORP.HIGHGRAY,"F9 Settings"
 | ||
| 	W_BUTTON 560,242,80,14
 | ||
| 	W_TEXT 580,245,COLORP.HIGHGRAY,"F10 Quit"
 | ||
| 	W_END
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| InitFile	LD	A,(EditMode)
 | ||
| 		OR	A
 | ||
| 		JR	NZ,InitFileHex
 | ||
| 		CALL	JUMPS.SetClock
 | ||
| 		LD	HL,0x0000
 | ||
| 		LD	E,L
 | ||
| 		LD	D,H
 | ||
| InitAlp		PUSH	HL
 | ||
| 		LD	BC,(LineShift)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		POP	HL
 | ||
| 		JR	NZ,.L1
 | ||
| 		LD	(CurLine),DE
 | ||
| .L1		PUSH	DE
 | ||
| 		CALL	FESearchDown
 | ||
| 		POP	DE
 | ||
| 		INC	DE
 | ||
| 		JR	NC,InitAlp
 | ||
| 		DEC	DE
 | ||
| 		LD	(EquipLines),DE
 | ||
| 		LD	(ELines),DE
 | ||
| 		LD	HL,TBarU
 | ||
| 		LD	(BarPgU),HL
 | ||
| 		LD	HL,TBarD
 | ||
| 		LD	(BarPgD),HL
 | ||
| 		LD	IX,EditVBar
 | ||
| 		CALL	JUMPS.InitScrollBar
 | ||
| 		LD	HL,0x00F0
 | ||
| 		LD	(CScrnX),HL
 | ||
| 		LD	IX,EditHBar
 | ||
| 		CALL	JUMPS.InitScrollBar
 | ||
| 		LD	HL,0xFFFF
 | ||
| 		LD	(CLine),HL
 | ||
| 		LD	H,0x00
 | ||
| 		LD	(CAddX),HL
 | ||
| 		JP	JUMPS.SetMouse
 | ||
| 
 | ||
| InitFileHex	LD	HL,(FEFileLenght)
 | ||
| 		LD	A,L
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		AND	0x0F
 | ||
| 		JR	Z,.L1
 | ||
| 		INC	HL
 | ||
| .L1		LD	(EquipLines),HL
 | ||
| 		LD	(ELines),HL
 | ||
| 		LD	HL,(LineShift)
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		LD	(CurLine),HL
 | ||
| 		LD	HL,HBarU
 | ||
| 		LD	(BarPgU),HL
 | ||
| 		LD	HL,HBarD
 | ||
| 		LD	(BarPgD),HL
 | ||
| 		LD	IX,EditVBar
 | ||
| 		CALL	JUMPS.InitScrollBar
 | ||
| 		LD	HL,0xFFFF
 | ||
| 		LD	(CLine),HL
 | ||
| 		RET 
 | ||
| 
 | ||
| EditVBar	DW 624		; X ¯®§¨æ¨ï áªà®«¡ à 
 | ||
| 		DW  36		; Y ¯®§¨æ¨ï áªà®«¡ à 
 | ||
| 		DW 184		; Max ¤«¨  áªà®«¡ à 
 | ||
| 		DW   0		; ⥪.¤«¨  áªà®«¡ à 
 | ||
| BarPgU		DW   0		; €¤à¥á ï祩ª¨ BarLeft
 | ||
| BarPgD		DW   0		; €¤à¥á ï祩ª¨ BarRight
 | ||
| 		DW  25		; Š®«-¢® áâப   áâà ¨æ¥
 | ||
| ELines		DW   0		; ޡ饥 ª®«-¢® áâப
 | ||
| CLine		DW   0		; <20>¥à¢ ï áâப    áâà ¨æ¥
 | ||
| EditHBar	DW  16		; X ¯®§¨æ¨ï áªà®«¡ à 
 | ||
| 		DW 228		; Y ¯®§¨æ¨ï áªà®«¡ à 
 | ||
| 		DW 592		; Max ¤«¨  áªà®«¡ à 
 | ||
| 		DW   0		; ⥪.¤«¨  áªà®«¡ à 
 | ||
| 		DW TBarL	; €¤à¥á ï祩ª¨ BarLeft
 | ||
| 		DW TBarR	; €¤à¥á ï祩ª¨ BarRight
 | ||
| 		DW  78		; Š®«-¢® áâப   áâà ¨æ¥
 | ||
| CScrnX		DW   0		; ޡ饥 ª®«-¢® áâப
 | ||
| CAddX		DW   0		; <20>¥à¢ ï áâப    áâà ¨æ¥
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| PrintPage	LD	A,(EditMode)
 | ||
| 		OR	A
 | ||
| 		JP	Z,FEPrnASCIIpage
 | ||
| 		JP	FEPrnHEXpage
 | ||
| 
 | ||
| PrnEDITinfo	LD	A,(EditMode)
 | ||
| 		OR	A
 | ||
| 		JP	Z,PrnASCIIinfo
 | ||
| 		JP	PrnHEXinfo
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| FEChCursor	HALT 
 | ||
| 		LD	HL,FECrTimer
 | ||
| 		DEC	(HL)
 | ||
| 		RET	NZ
 | ||
| 		LD	(HL),CursTimer
 | ||
| 		LD	A,(FECurCursor)
 | ||
| 		XOR	0x01
 | ||
| 		LD	(FECurCursor),A
 | ||
| 		JR	Z,ResCurs
 | ||
| 		JR	SetCurs
 | ||
| 
 | ||
| FESetCursor	LD	(CursorPos),DE
 | ||
| 		LD	A,0x01
 | ||
| 		LD	(FECurCursor),A
 | ||
| 		LD	A,CursTimer
 | ||
| 		LD	(FECrTimer),A
 | ||
| SetCurs
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 	GETPORT WINSP.Y_PORT
 | ||
| 		PUSH	AF
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		LD	DE,(CursorPos)
 | ||
| 		LD	L,E
 | ||
| 		LD	H,0x00
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		SET	6,H
 | ||
| 		LD	A,D
 | ||
| 		ADD	A,A
 | ||
| 		ADD	A,A
 | ||
| 		ADD	A,A
 | ||
| 		ADD	A,0x22
 | ||
| 		LD	C,A
 | ||
| 		LD	B,COLORP.FILES + COLORI.FILES
 | ||
| 		DI 
 | ||
| 		LD	DE,FECursBuffer
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x04
 | ||
| 	ACCEL ACCELCMD.COPY
 | ||
| 		LD	A,(HL)
 | ||
| 		LD	(DE),A
 | ||
| 	ACCEL ACCELCMD.FILL
 | ||
| 		LD	(HL),B
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		INC	C
 | ||
| 		LD	DE,FECursBuffer+4
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.COPY
 | ||
| 		LD	A,(HL)
 | ||
| 		LD	(DE),A
 | ||
| 	ACCEL ACCELCMD.FILL
 | ||
| 		LD	(HL),B
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		EI 
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RET 
 | ||
| 
 | ||
| FEResCursor	SUB	A
 | ||
| 		LD	(FECurCursor),A
 | ||
| 		INC	A
 | ||
| 		LD	(FECrTimer),A
 | ||
| ResCurs
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 	GETPORT WINSP.Y_PORT
 | ||
| 		PUSH	AF
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		LD	DE,(CursorPos)
 | ||
| 		LD	L,E
 | ||
| 		LD	H,0x00
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		SET	6,H
 | ||
| 		LD	A,D
 | ||
| 		ADD	A,A
 | ||
| 		ADD	A,A
 | ||
| 		ADD	A,A
 | ||
| 		ADD	A,0x22
 | ||
| 		LD	C,A
 | ||
| 		DI 
 | ||
| 		LD	DE,FECursBuffer
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x04
 | ||
| 	ACCEL ACCELCMD.COPY
 | ||
| 		LD	A,(DE)
 | ||
| 		LD	(HL),A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		INC	C
 | ||
| 		LD	DE,FECursBuffer+4
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.COPY
 | ||
| 		LD	A,(DE)
 | ||
| 		LD	(HL),A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		EI 
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| FEAbout		CALL	FEResCursor
 | ||
| 	MAKEWINDOW WINSUBOBJ.STORE
 | ||
| 	W_MAIN 160,72,320,85
 | ||
| 	W_FILL 4,2,312,10,COLORI.BLACK
 | ||
| 	W_TEXT 144,3,COLORI.WHITE,"About"
 | ||
| 	W_TEXT 96,18,COLORP.HIGHGRAY,"Flex Navigator File Editor"
 | ||
| 	W_TEXT 96,28,COLORP.HIGHGRAY,"v\{FLEX_VERS.EDITOR} build \{BUILDDATE}"
 | ||
| 	W_TEXT 18,40,COLORP.HIGHGRAY,"Programming:  (C)2000 Enin Anton"
 | ||
| 	W_TEXT 92,50,COLORP.HIGHGRAY,"(C)2021 Mikhaltchenkov Dmitry"
 | ||
| 	W_BUTTON 124,66,72,14
 | ||
| 	W_TEXT 154,69,COLORP.HIGHGRAY,"Ok"
 | ||
| 	W_END
 | ||
| FEAboutLoop	LD	IX,FEAboutTab
 | ||
| 		CALL	JUMPS.TestCoords
 | ||
| 	SPDSS DSSF.SCANKEY
 | ||
| 		JR	Z,FEAboutLoop
 | ||
| 		LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	NZ,FEAboutLoop
 | ||
| 		LD	A,E
 | ||
| 		CP	0x1B
 | ||
| 		JR	Z,FEAboutExt
 | ||
| 		CP	0x0D
 | ||
| 		JR	Z,FEAboutExt
 | ||
| 		RES	5,A
 | ||
| 		CP	'O'
 | ||
| 		JR	NZ,FEAboutLoop
 | ||
| FEAboutExt
 | ||
| 	WINDOWCLOSE
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| FEScrollSCRup	LD	DE,0x241C
 | ||
| 		JR	FEScrlSCRDnUp
 | ||
| 
 | ||
| FEScrollSCRdown	LD	DE,0x1C24
 | ||
| ;<3B>  ¢å®¤:
 | ||
| ;	 D  - Y	®âªã¤ 
 | ||
| ;	 …  - Y	ªã¤ 
 | ||
| FEScrlSCRDnUp	DI 
 | ||
| 		PUSH	DE
 | ||
| 	SPMOUSE MOUSEF.REFRESH
 | ||
| 		POP	DE
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		PUSH	AF
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		LD	HL,0x4000
 | ||
| 		LD	BC,312
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0xC0
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| .ScSCRN1	LD	A,D
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.COPY_VERT
 | ||
| 		LD	A,(HL)
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	A,E
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.COPY_VERT
 | ||
| 		LD	(HL),A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		CPI
 | ||
| 		JP	PE,.ScSCRN1
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EI 
 | ||
| 		RET 
 | ||
| 
 | ||
| 	IF ENABLE_CODEPAGE
 | ||
| InitCodePage:	LD	A,0
 | ||
| CodePage	EQU $-1
 | ||
| 		LD L,A
 | ||
| 		ADD A,A		; *2
 | ||
| 		ADD A,L		; *3
 | ||
| 		ADD A,A		; *6
 | ||
| 		ADD A,L		; *7
 | ||
| 		LD HL,EncDos
 | ||
| 		ADD A,L
 | ||
| 		LD L,A
 | ||
| 		ADC A,H
 | ||
| 		SUB L
 | ||
| 		LD H,A
 | ||
| 		LD (ASCIIenc1),HL
 | ||
| 		LD (ASCIIenc2),HL
 | ||
| 		LD	A, (CodePage)
 | ||
| 		AND	A
 | ||
| 		JR	NZ,.next
 | ||
| 		LD	HL,0
 | ||
| .call:		LD	(PutLineA2),A
 | ||
| 		LD	(PutLineA2 + 1),HL
 | ||
| 		LD (InsSymbol),A
 | ||
| 		LD (InsSymbol + 1),HL
 | ||
| 		RET
 | ||
| 
 | ||
| .next:		DEC	A
 | ||
| 		LD	HL,Table866
 | ||
| 		JR	Z,.next1
 | ||
| 		LD	HL,TableKoi
 | ||
| .next1:		LD	(DecodeSymbol.table),HL
 | ||
| 		LD	HL,DecodeSymbol
 | ||
| 		LD	A,0xCD
 | ||
| 		JR	.call
 | ||
| 
 | ||
| EncDos:		DZ "F8 DOS"
 | ||
| EncWin:		DZ "F8 WIN"
 | ||
| EncKoi:		DZ "F8 KOI"
 | ||
| 	ENDIF
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| 		include fedos.a80
 | ||
| 		include fetext.a80
 | ||
| 		include fehex.a80
 | ||
| 		include feprn.a80
 | ||
| 		include fesetup.a80
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| FEASCIItab:	DW   0,624, 28,228,%0000000000000000,%0000000000000000,TNewCrPos,0
 | ||
| 		DW   0, 80,242,256,%0000000000000001,%0000000000000000,FEAbout,0	; F1
 | ||
| 		DW  80,160,242,256,%0000000000000001,%0000000000000000,SaveFile,0	; F2
 | ||
| 		DW 160,240,242,256,%0000000000000001,%0000000000000000,ChEditor,0	; F4
 | ||
| 	IF ENABLE_CODEPAGE
 | ||
| 		DW 340,420,242,256,%0000000000000001,%0000000000000000,FEPrintFile,0	; F7
 | ||
| 		DW 420,480,242,256,%0000000000000001,%0000000000000000,ChCodePage,0	; F8
 | ||
| 	ELSE
 | ||
| 		DW 400,480,242,256,%0000000000000001,%0000000000000000,FEPrintFile,0
 | ||
| 	ENDIF
 | ||
| 		DW 480,560,242,256,%0000000000000001,%0000000000000000,EditorSetup,0	; F9
 | ||
| 		DW 560,640,242,256,%0000000000100001,%0000000000000000,EditorExit,0	; F10
 | ||
| 		DW 624,640, 28, 36,%0000000000000011,%0000000000000000,TCursorUp,0
 | ||
| 		DW 624,640,220,228,%0000000000000011,%0000000000000000,TCursorDown,0
 | ||
| TBarU		EQU $+6
 | ||
| 		DW 624,640, 28,  0,%0000000000000000,%0000000000000000,FETPageUp,0
 | ||
| TBarD		EQU $+4
 | ||
| 		DW 624,640,  0,228,%0000000000000000,%0000000000000000,TPageDown,0
 | ||
| 		DW   0, 16,228,236,%0000000000000011,%0000000000000000,TCursorLeft,0
 | ||
| 		DW 608,624,228,236,%0000000000000011,%0000000000000000,TCursorRight,0
 | ||
| TBarL		EQU $+2
 | ||
| 		DW  16,  0,228,236,%0000000000000000,%0000000000000000,TCursorLeft,0
 | ||
| TBarR:		DW   0,608,228,236,%0000000000000000,%0000000000000000,TCursorRight,0
 | ||
| 		DW 0x8000
 | ||
| 
 | ||
| FEHEXtab:	DW   0, 80,242,256,%0000000000000001,%0000000000000000,FEAbout,0	; F1
 | ||
| 		DW  80,160,242,256,%0000000000000001,%0000000000000000,SaveFile,0	; F2
 | ||
| 		DW 160,240,242,256,%0000000000000001,%0000000000000000,ChEditor,0	; F4
 | ||
| 		DW 240,320,242,256,%0000000000000001,%0000000000000000,FEHGoTo,0	; F5
 | ||
| 	IF ENABLE_CODEPAGE
 | ||
| 		DW 340,420,242,256,%0000000000000001,%0000000000000000,FEPrintFile,0	; F7
 | ||
| 		DW 420,480,242,256,%0000000000000001,%0000000000000000,ChCodePage,0	; F8
 | ||
| 	ELSE
 | ||
| 		DW 400,480,242,256,%0000000000000001,%0000000000000000,FEPrintFile,0
 | ||
| 	ENDIF
 | ||
| 		DW 480,560,242,256,%0000000000000001,%0000000000000000,EditorSetup,0	; F9
 | ||
| 		DW 560,640,242,256,%0000000000100001,%0000000000000000,EditorExit,0	; F10
 | ||
| 
 | ||
| 		DW 624,640, 28, 36,%0000000000000011,%0000000000000000,HCursorUp,0
 | ||
| 		DW 624,640,220,228,%0000000000000011,%0000000000000000,HCursorDown,0
 | ||
| 		DW  72,472, 28,228,%0000000000000000,%0000000000000000,HNewHEXPos,0
 | ||
| 		DW 488,616, 28,228,%0000000000000000,%0000000000000000,HNewASCPos,0
 | ||
| HBarU		EQU $+6
 | ||
| 		DW 624,640, 28,  0,%0000000000000000,%0000000000000000,FEHPageUp,0
 | ||
| HBarD		EQU $+4
 | ||
| 		DW 624,640,  0,228,%0000000000000000,%0000000000000000,FEHPageDown,0
 | ||
| 		DW 0x8000
 | ||
| 
 | ||
| FEAboutTab:	DW 284,356,138,152,%0000000000100001,%0000000000000000,FEAboutExt,0
 | ||
| 		DW   0,160,  0,256,%0000000000100000,%0000000000000000,FEAboutExt,0
 | ||
| 		DW 480,640,  0,256,%0000000000100000,%0000000000000000,FEAboutExt,0
 | ||
| 		DW   0,640,  0, 72,%0000000000100000,%0000000000000000,FEAboutExt,0
 | ||
| 		DW   0,640,157,256,%0000000000100000,%0000000000000000,FEAboutExt,0
 | ||
| 		DW 0x8000
 | ||
| 
 | ||
| SureTab:	DW 240,312,122,136,%0000000000100001,%0000000000000000,SureOkey,0
 | ||
| 		DW 328,400,122,136,%0000000000100001,%0000000000000000,SureExit,0
 | ||
| 		DW   0,208,  0,256,%0000000100100000,%0000000000000000,EditorLoop,0
 | ||
| 		DW 432,640,  0,256,%0000000100100000,%0000000000000000,EditorLoop,0
 | ||
| 		DW   0,640,  0, 80,%0000000100100000,%0000000000000000,EditorLoop,0
 | ||
| 		DW   0,640,140,256,%0000000100100000,%0000000000000000,EditorLoop,0
 | ||
| 		DW 0x8000
 | ||
| 
 | ||
| NewFileTab:	DW 240,312,130,144,%0000000000100001,%0000000000000000,NewFExitO,0
 | ||
| 		DW 328,400,130,144,%0000000000100001,%0000000000000000,NewFExitC,0
 | ||
| 		DW   0,192,  0,256,%0000000000100000,%0000000000000000,NewFExitC,0
 | ||
| 		DW 448,640,  0,256,%0000000000100000,%0000000000000000,NewFExitC,0
 | ||
| 		DW   0,640,  0, 88,%0000000000100000,%0000000000000000,NewFExitC,0
 | ||
| 		DW   0,640,148,256,%0000000000100000,%0000000000000000,NewFExitC,0
 | ||
| 		DW 0x8000
 | ||
| 
 | ||
| FEQuitTab:	DW 240,312,120,134,%0000000000100001,%0000000000000000,SureExit,0
 | ||
| 		DW 328,400,120,134,%0000000000100001,%0000000000000000,FEQuitAbort,0
 | ||
| 		DW   0,208,  0,256,%0000000000100000,%0000000000000000,FEQuitAbort,0
 | ||
| 		DW 432,640,  0,256,%0000000000100000,%0000000000000000,FEQuitAbort,0
 | ||
| 		DW   0,640,  0, 88,%0000000000100000,%0000000000000000,FEQuitAbort,0
 | ||
| 		DW   0,640,138,256,%0000000000100000,%0000000000000000,FEQuitAbort,0
 | ||
| 		DW 0x8000
 | ||
| 
 | ||
| SettingsFileName:
 | ||
| 		DZ FILENAME.FNEDIT_INI
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| FECrTimer	DB 1
 | ||
| 
 | ||
| EDBUF		STRUCT
 | ||
| .CursorX	DB ?		; Cursor X
 | ||
| .StringX	DB ?		; String X
 | ||
| .CursAddX	DB ?		; Cursor add X
 | ||
| .CursorY	DB ?		; Cursor Y
 | ||
| .LenString	DB ?		; Len String
 | ||
| .PrevLenString	DB ?		; Previos Len String
 | ||
| .ReadyStr	DB ?		; Ready String
 | ||
| .ReadyFile	DB ?		; Ready File
 | ||
| EDBUF		ENDSTRUCT
 | ||
| 
 | ||
| EditData	EDBUF
 | ||
|  INIT_VAR $
 | ||
|  SETVAR CurLine,	WORD
 | ||
|  SETVAR EquipLines,	WORD
 | ||
|  SETVAR LineShift,	WORD
 | ||
|  SETVAR FEPageShift,	WORD
 | ||
|  SETVAR FETempShift,	WORD
 | ||
|  SETVAR FEFileLenght,	WORD			; „«¨  ä ©«  (16¡¨â)
 | ||
|  SETVAR FEEmptyLines,	BYTE
 | ||
|  SETVAR FEMemIndef,	BYTE
 | ||
|  SETVAR FEFHandle,	BYTE
 | ||
|  SETVAR FEReadLen,	0
 | ||
|  SETVAR SaveLen,	WORD
 | ||
|  SETVAR EditMode,	BYTE
 | ||
|  SETVAR HEXmode,	BYTE
 | ||
|  SETVAR FECurCursor,	BYTE
 | ||
|  SETVAR CursorPos,	WORD
 | ||
|  SETVAR FECursBuffer,	8
 | ||
|  SETVAR EditingFile,	0x30
 |