- плагин доделан, описание/history в cdplayer.txt рядом с плагином. FE 1.09 - исправлено: при выходе из редактора с несохраненным файлом и запросе на сохранение клавиша Enter теперь работает как подтверждение сохранения. FN 1.16 - встроенный editor переехал в плагин откуда и запускается по F4, из FN удален. - встроенный viewer переехал в плагин откуда и запускается по F3, из FN удален. - встроенный help переехал в плагин откуда и запускается при нажатии F1, из FN удален. - загрузка плагина отделена от запуска, теперь можно запускать плагины не только из панели FN. - добавлен макрос формирования заголовка для плагинов. - добавлена поддержка работы плагинов в адреса 0x4000-0x7FFF (окно 1) в дополнение к старым 0xC000-0xBFFF (окно 3), пока используется в плагине cdplayer. - в окнах с ошибкой переделан на 2 типа окон вместо многих под каждую ошибку. - исправлена потеря цвета при печати текста по указанному адресу. - текстовым файлам вернул кодировку CP866, readme.md оставлен в кодировке UTF8.
		
			
				
	
	
		
			713 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			713 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | ||
| ; LAST UPDATE: 24.07.2025 savelij
 | ||
| 
 | ||
| PALITRA.RESERV	EQU PALETTE + 0x34
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| SetupR
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		LD	HL,SetInvert
 | ||
| 		PUSH	HL
 | ||
| 		LD	HL,PALETTE
 | ||
| 		LD	DE,TempPALETTE
 | ||
| 		LD	BC,0x0040
 | ||
| 		LDIR 
 | ||
| 		LD	A,(SavePanels)
 | ||
| 		LD	(SaveSav+1),A
 | ||
| 		OR	A
 | ||
| 		LD	A,0xFE
 | ||
| 		JR	Z,.L1
 | ||
| 		INC	A
 | ||
| .L1		LD	(SaveFlg),A
 | ||
| 		SUB	A
 | ||
| 		LD	(SaveFlag),A
 | ||
| 		LD	A,(AutoActivatePanel)
 | ||
| 		LD	(AutoActivatePanelFlag),A
 | ||
| 		OR	A
 | ||
| 		LD	A,0xFF
 | ||
| 		JR	Z,.L2
 | ||
| 		DEC	A
 | ||
| .L2:		LD	(ActivateFlg),A
 | ||
| 	MAKEWINDOW WINSUBOBJ.STORE
 | ||
| 	W_MAIN 96,64,448,142
 | ||
| ;	W_MAIN 32,32,448,142
 | ||
| 	W_FILL 4,2,440,10,COLORI.BLACK
 | ||
| 	W_TEXT 208,3,COLORI.WHITE,"Setup"
 | ||
| 	W_BORDER 8,18,144,53
 | ||
| 	W_FILL 10,19,140,51,COLORI.WHITE
 | ||
| 	W_TEXT 14,21,COLORP.WHITE,"Panel"
 | ||
| 	W_TEXT 14,29,COLORP.WHITE,"Files"
 | ||
| 	W_TEXT 14,37,COLORP.WHITE,"Selected files"
 | ||
| 	W_TEXT 14,45,COLORP.WHITE,"Invert background"
 | ||
| 	W_TEXT 14,53,COLORP.WHITE,"Invert foreground"
 | ||
| 	W_TEXT 14,61,COLORP.WHITE,"Invert foreground (select)"
 | ||
| 	W_TEXT 164,24,COLORP.HIGHGRAY,"R:"
 | ||
| 	W_BORDER 176,22,164,10
 | ||
| 	W_ICONLEFTARROW 178,23
 | ||
| 	W_ICONRIGHTARROW 322,23
 | ||
| 	W_TEXT 164,40,COLORP.HIGHGRAY,"G:"
 | ||
| 	W_BORDER 176,38,164,10
 | ||
| 	W_ICONLEFTARROW 178,39
 | ||
| 	W_ICONRIGHTARROW 322,39
 | ||
| 	W_TEXT 164,56,COLORP.HIGHGRAY,"B:"
 | ||
| 	W_BORDER 176,54,164,10
 | ||
| 	W_ICONLEFTARROW 178,55
 | ||
| 	W_ICONRIGHTARROW 322,55
 | ||
| 	W_BORDER 372,23,64,40
 | ||
| 	W_HORIZLINE 4,75,440
 | ||
| 	W_BORDER 16,81,20,11
 | ||
| 	W_FILL 18,82,16,9,COLORI.WHITE
 | ||
| 	W_TEXT 20,83,COLORP.WHITE,"\0"
 | ||
| ActivateFlg	EQU $-2
 | ||
| 	W_TEXT 40,84,COLORP.HIGHGRAY,"activate panel in which changed drive"
 | ||
| 	W_BORDER 16,99,20,11
 | ||
| 	W_FILL 18,100,16,9,COLORI.WHITE
 | ||
| 	W_TEXT 20,101,COLORP.WHITE,"\0"
 | ||
| SaveFlg		EQU $-2
 | ||
| 	W_TEXT 40,102,COLORP.HIGHGRAY,"save Information about panels"
 | ||
| 	W_BUTTON 360,98,72,14
 | ||
| 	W_TEXT 384,101,COLORP.HIGHGRAY,"Save"
 | ||
| 	W_HORIZLINE 4,115,440
 | ||
| 	W_BUTTON 272,120,72,14
 | ||
| 	W_TEXT 292,123,COLORP.HIGHGRAY,"Cancel"
 | ||
| 	W_BUTTON 360,120,72,14
 | ||
| 	W_TEXT 390,123,COLORP.HIGHGRAY,"Ok"
 | ||
| 	W_END
 | ||
| 
 | ||
| 		SUB	A
 | ||
| 		LD	(CurElement),A
 | ||
| 		CALL	SetSetupInv
 | ||
| 		LD	IX,BarRed
 | ||
| 		CALL	InitScrollBar
 | ||
| 		LD	IX,BarGreen
 | ||
| 		CALL	InitScrollBar
 | ||
| 		LD	IX,BarBlue
 | ||
| 		CALL	InitScrollBar
 | ||
| 		CALL	InitElement
 | ||
| SetupLoop	LD	IX,SetupTab
 | ||
| 		CALL	TestCoords
 | ||
| 	SPDSS DSSF.SCANKEY
 | ||
| 		JR	Z,SetupLoop
 | ||
| 		LD	A,B
 | ||
| 		AND	0x3F
 | ||
| 		JR	Z,SetupLoop0
 | ||
| 		BIT	4,B
 | ||
| 		JR	NZ,SetupLoop
 | ||
| 		BIT	5,B
 | ||
| 		JR	Z,SetupLoop
 | ||
| 		LD	HL,SetupLoop
 | ||
| 		PUSH	HL
 | ||
| 		LD	A,D
 | ||
| 		AND	0x7F
 | ||
| 		CP SC.R
 | ||
| 		JP	Z,InputRED
 | ||
| 		CP SC.G
 | ||
| 		JP	Z,InputGREEN
 | ||
| 		CP SC.B
 | ||
| 		JP	Z,InputBLUE
 | ||
| 		RET
 | ||
| 
 | ||
| SetupLoop0	LD	A,B
 | ||
| 		AND	0xC0
 | ||
| 		JR	Z,SetupLoop1
 | ||
| 		LD	HL,SetupLoop
 | ||
| 		PUSH	HL
 | ||
| 		LD	A,E
 | ||
| 		AND	0x5F
 | ||
| 		CP	'R'
 | ||
| 		JP	Z,DecRED
 | ||
| 		CP	'G'
 | ||
| 		JP	Z,DecGREEN
 | ||
| 		CP	'B'
 | ||
| 		JP	Z,DecBLUE
 | ||
| 		RET
 | ||
| 
 | ||
| SetupLoop1	LD	A,E
 | ||
| 		RES	5,A
 | ||
| 		CP	0x1B
 | ||
| 		JP	Z,SetupCancel
 | ||
| 		CP	0x0D
 | ||
| 		JP	Z,SetupOkey
 | ||
| 		CP	'C'
 | ||
| 		JP	Z,SetupCancel
 | ||
| 		CP	'O'
 | ||
| 		JP	Z,SetupOkey
 | ||
| 		LD	HL,SetupLoop
 | ||
| 		PUSH	HL
 | ||
| 		CP	'S'
 | ||
| 		JP	Z,SaveSetup
 | ||
| 		CP	'R'
 | ||
| 		JP	Z,IncRED
 | ||
| 		CP	'G'
 | ||
| 		JP	Z,IncGREEN
 | ||
| 		CP	'B'
 | ||
| 		JP	Z,IncBLUE
 | ||
| 		CP	'I'
 | ||
| 		JP	Z,ChSavePan
 | ||
| 		CP	'A'
 | ||
| 		JP	Z,ChActivatePan
 | ||
| 		OR	A
 | ||
| 		RET	NZ
 | ||
| 		LD	A,D
 | ||
| 		CP SC.X8
 | ||
| 		JP	Z,BoxUp
 | ||
| 		CP SC.X2
 | ||
| 		JP	Z,BoxDown
 | ||
| 		CP SC.X7
 | ||
| 		JP	Z,BoxHome
 | ||
| 		CP SC.X1
 | ||
| 		JP	Z,BoxEnd
 | ||
| 		CP SC.X9
 | ||
| 		JP	Z,BoxHome
 | ||
| 		CP SC.X3
 | ||
| 		JP	Z,BoxEnd
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| SaveSetup	CALL	SetClock
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.CURDISK
 | ||
| 		POP	IY
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		ADD	A,'A'
 | ||
| 		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		LD	(HL),':'
 | ||
| 		INC	HL
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.CURDIR
 | ||
| 		POP	IY
 | ||
| 		LD	HL,BUF_REZ2.FlexDIRECTORY
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.CHDIR
 | ||
| 		POP	IY
 | ||
| 		PUSH	AF
 | ||
| 		CALL	C,DOSError
 | ||
| 		POP	AF
 | ||
| 		JP	C,SetupSaveEx
 | ||
| 		LD	HL,SetupName
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.CREATE,,0
 | ||
| 		POP	IY
 | ||
| 		PUSH	AF
 | ||
| 		CALL	C,DOSError
 | ||
| 		POP	AF
 | ||
| 		JR	C,SetupSaveEx
 | ||
| 		EX	AF,AF'
 | ||
| 		LD	HL,SetupHead
 | ||
| 		LD	DE,WorkBuffer+0x100
 | ||
| 		LD	BC,11
 | ||
| 		LDIR 
 | ||
| 		LD	HL,TempPALETTE
 | ||
| 		LD	BC,0x0040
 | ||
| 		LDIR 
 | ||
| 		LD	A,(SavePanels)
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		OR	A
 | ||
| 		JR	Z,SvSetup
 | ||
| 		LD	A,(MouseFlag)
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		LD	HL,LeftPanel
 | ||
| 		PUSH	HL
 | ||
| 		LDI 
 | ||
| 		LDI 
 | ||
| 		LDI 
 | ||
| 		POP	HL
 | ||
| 		LD	BC,PANEL.FILE_MASK
 | ||
| 		ADD	HL,BC
 | ||
| 		SUB	A
 | ||
| .L1		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L1
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| 		LD	HL,RightPanel
 | ||
| 		PUSH	HL
 | ||
| 		LDI 
 | ||
| 		LDI 
 | ||
| 		LDI 
 | ||
| 		POP	HL
 | ||
| 		LD	BC,PANEL.FILE_MASK
 | ||
| 		ADD	HL,BC
 | ||
| 		SUB	A
 | ||
| .L2		LDI 
 | ||
| 		CP	(HL)
 | ||
| 		JR	NZ,.L2
 | ||
| 		LD	(DE),A
 | ||
| 		INC	DE
 | ||
| SvSetup		ld	a,(AutoActivatePanelFlag)
 | ||
| 		ld	(de),a
 | ||
| 		inc	de
 | ||
| 		LD	HL,WorkBuffer+0x100
 | ||
| 		OR	A
 | ||
| 		EX	DE,HL
 | ||
| 		SBC	HL,DE
 | ||
| 		EX	DE,HL
 | ||
| 		EX	AF,AF'
 | ||
| 		PUSH	IY
 | ||
| 		PUSH	AF
 | ||
| 	SPDSS DSSF.WRITE
 | ||
| 		POP	AF
 | ||
| 	SPDSS DSSF.CLOSE
 | ||
| 		POP	IY
 | ||
| 		LD	A,0x01
 | ||
| 		LD	(SaveFlag),A
 | ||
| SetupSaveEx	LD	HL,WorkBuffer
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.CHDIR
 | ||
| 		POP	IY
 | ||
| 		JP	SetMouse
 | ||
| 
 | ||
| SetupHead	DEFB	0xAE,"FlexSetup",0
 | ||
| SetupName	DZ	FILENAME.FN_INI
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| SetupCancel
 | ||
| 	WINDOWCLOSE
 | ||
| SaveSav		LD	A,0x00
 | ||
| 		LD	(SavePanels),A
 | ||
| 		JR	SetupExit
 | ||
| 
 | ||
| SetupOkey
 | ||
| 	WINDOWCLOSE
 | ||
| 		LD	HL,TempPALETTE
 | ||
| 		LD	DE,PALETTE
 | ||
| 		LD	BC,0x0040
 | ||
| 		PUSH	DE
 | ||
| 		LDIR 
 | ||
| 		POP	HL
 | ||
| 		LD	DE,0x1000
 | ||
| 	SPBIOS BIOSF.PIC_GET_PAL,0xFF,0
 | ||
| 		LD	A,(AutoActivatePanelFlag)
 | ||
| 		LD	(AutoActivatePanel),A
 | ||
| SetupExit	LD	A,(SaveFlag)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		LD	IX,LeftPanel
 | ||
| 		LD	HL,LeftPanel + PANEL.CURR_PATH
 | ||
| 		LD	DE,BUF_REZ2.FlexDIRECTORY
 | ||
| 		LD	A,(DE)
 | ||
| SetRef1		CP	(HL)
 | ||
| 		JR	NZ,SetRef2
 | ||
| 		INC	HL
 | ||
| 		INC	DE
 | ||
| 		LD	A,(DE)
 | ||
| 		OR	A
 | ||
| 		JR	NZ,SetRef1
 | ||
| 		CP	(HL)
 | ||
| 		CALL	Z,RefreshSetup
 | ||
| SetRef2		LD	IX,RightPanel
 | ||
| 		LD	HL,RightPanel + PANEL.CURR_PATH
 | ||
| 		LD	DE,BUF_REZ2.FlexDIRECTORY
 | ||
| 		LD	A,(DE)
 | ||
| SetRef3		CP	(HL)
 | ||
| 		JR	NZ,SetRef4
 | ||
| 		INC	HL
 | ||
| 		INC	DE
 | ||
| 		LD	A,(DE)
 | ||
| 		OR	A
 | ||
| 		JR	NZ,SetRef3
 | ||
| 		CP	(HL)
 | ||
| 		CALL	Z,RefreshSetup
 | ||
| SetRef4		PUSH	IY
 | ||
| 		POP	HL
 | ||
| 		LD	DE,PANEL.CURR_PATH
 | ||
| 		ADD	HL,DE
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.CHDIR
 | ||
| 		POP	IY
 | ||
| 		RET
 | ||
| 
 | ||
| RefreshSetup	BIT	VIEWFLAG.B_TREE,(IX+PANEL.VIEWFLAG)
 | ||
| 		RET	NZ
 | ||
| 		PUSH	IY
 | ||
| 		PUSH	IX
 | ||
| 		POP	IY
 | ||
| 		PUSH	IY
 | ||
| 		POP	HL
 | ||
| 		LD	DE,PANEL.CURR_PATH
 | ||
| 		ADD	HL,DE
 | ||
| 		PUSH	IY
 | ||
| 	SPDSS DSSF.CHDIR
 | ||
| 		POP	IY
 | ||
| 		JR	C,RefrErr
 | ||
| 		CALL	ReadDIR
 | ||
| 		CALL	PrintDIR
 | ||
| 		CALL	PrnFileInfo
 | ||
| 		PUSH	IY
 | ||
| 		POP	IX
 | ||
| 		LD	DE,PANEL.BAR_X
 | ||
| 		ADD	IX,DE
 | ||
| 		CALL	InitScrollBar
 | ||
| 		LD	A,(IY+PANEL.VIEWFLAG)
 | ||
| 		AND	VIEWFLAG.MASK
 | ||
| 		PUSH	AF
 | ||
| 		CALL	Z,PrnHScrBar
 | ||
| 		POP	AF
 | ||
| 		CALL	NZ,PrnVScrBar
 | ||
| RefrErr		POP	IY
 | ||
| 		RET
 | ||
| 
 | ||
| SaveFlag	DEFB	0x00
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| BoxUp		LD	A,(CurElement)
 | ||
| 		DEC	A
 | ||
| 		RET	M
 | ||
| 		JR	BoxKeyExt
 | ||
| 
 | ||
| BoxDown		LD	A,(CurElement)
 | ||
| 		INC	A
 | ||
| 		CP	0x06
 | ||
| 		RET	Z
 | ||
| 		JR	BoxKeyExt
 | ||
| 
 | ||
| BoxHome		LD	A,(CurElement)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		SUB	A
 | ||
| 		JR	BoxKeyExt
 | ||
| 
 | ||
| BoxEnd		LD	A,(CurElement)
 | ||
| 		CP	0x05
 | ||
| 		RET	Z
 | ||
| 		LD	A,0x05
 | ||
| 		JR	BoxKeyExt
 | ||
| 
 | ||
| NewElement	LD	A,(CurElement)
 | ||
| 		LD	C,A
 | ||
| 		LD	A,E
 | ||
| 		SUB	0x55
 | ||
| 		SRL	A
 | ||
| 		SRL	A
 | ||
| 		SRL	A
 | ||
| 		CP	C
 | ||
| 		RET	Z
 | ||
| BoxKeyExt	PUSH	AF
 | ||
| 		CALL	ResSetupInv
 | ||
| 		POP	AF
 | ||
| 		LD	(CurElement),A
 | ||
| 		CALL	SetSetupInv
 | ||
| 		JP	InitElement
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| ChSavePan	LD	HL,SavePanTxt
 | ||
| 		LD	A,(SavePanels)
 | ||
| 		XOR	0x01
 | ||
| 		LD	(SavePanels),A
 | ||
| 		XOR	0x01
 | ||
| 		INC	A
 | ||
| 		NEG
 | ||
| 		LD	(HL),A
 | ||
| 		LD	DE,0x0074
 | ||
| 		LD	BC,0x00A5
 | ||
| 		LD	A,0xF0
 | ||
| 		CALL	PrnTxtLnIFF
 | ||
| 		JP	ResFire
 | ||
| 
 | ||
| SavePanTxt	DEFB	0x00,0x00
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| ChActivatePan:	LD	HL,SavePanTxt
 | ||
| 		LD	A,0
 | ||
| AutoActivatePanelFlag	EQU $-1
 | ||
| 		XOR	0x01
 | ||
| 		LD	(AutoActivatePanelFlag),A
 | ||
| 		INC	A
 | ||
| 		NEG 
 | ||
| 		LD	(HL),A
 | ||
| 		LD	DE,0x0074
 | ||
| 		LD	BC,0x0093
 | ||
| 		LD	A,0xF0
 | ||
| 		CALL	PrnTxtLnIFF
 | ||
| 		JP	ResFire
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| DecRED		LD	HL,PALITRA.RESERV + 2
 | ||
| 		LD	DE,PrintRED
 | ||
| 		JR	DecCOLOR
 | ||
| 
 | ||
| IncRED		LD	HL,PALITRA.RESERV + 2
 | ||
| 		LD	DE,PrintRED
 | ||
| 		JR	IncCOLOR
 | ||
| 
 | ||
| DecGREEN	LD	HL,PALITRA.RESERV + 1
 | ||
| 		LD	DE,PrintGREEN
 | ||
| 		JR	DecCOLOR
 | ||
| 
 | ||
| IncGREEN	LD	HL,PALITRA.RESERV + 1
 | ||
| 		LD	DE,PrintGREEN
 | ||
| 		JR	IncCOLOR
 | ||
| 
 | ||
| DecBLUE		LD	HL,PALITRA.RESERV
 | ||
| 		LD	DE,PrintBLUE
 | ||
| 		JR	DecCOLOR
 | ||
| 
 | ||
| IncBLUE		LD	HL,PALITRA.RESERV
 | ||
| 		LD	DE,PrintBLUE
 | ||
| 		JR	IncCOLOR
 | ||
| 
 | ||
| DecCOLOR	LD	A,(HL)
 | ||
| 		OR	A
 | ||
| 		RET	Z
 | ||
| 		DEC	A
 | ||
| 		LD	(HL),A
 | ||
| 		JR	DecIncCOLOR
 | ||
| 
 | ||
| IncCOLOR	LD	A,(HL)
 | ||
| 		INC	A
 | ||
| 		RET	Z
 | ||
| 		LD	(HL),A
 | ||
| DecIncCOLOR	LD	HL,PrnPALETTE
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	DE
 | ||
| 		LD	HL,ElementColor
 | ||
| 		LD	A,(CurElement)
 | ||
| 		ADD	A,L
 | ||
| 		LD	L,A
 | ||
| 		JR	NC,.L1
 | ||
| 		INC	H
 | ||
| .L1		LD	A,(HL)
 | ||
| 		ADD	A,A
 | ||
| 		ADD	A,A
 | ||
| 		LD	DE,TempPALETTE
 | ||
| 		ADD	A,E
 | ||
| 		LD	E,A
 | ||
| 		JR	NC,.L2
 | ||
| 		INC	D
 | ||
| .L2		LD	HL,PALITRA.RESERV
 | ||
| 		LDI
 | ||
| 		LDI
 | ||
| 		LDI
 | ||
| 		RET
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| InputRED	LD	HL,PALITRA.RESERV + 2
 | ||
| 		LD	DE,PrintRED
 | ||
| 		LD	BC,0x0058
 | ||
| 		JR	InputColor
 | ||
| 
 | ||
| InputGREEN	LD	HL,PALITRA.RESERV + 1
 | ||
| 		LD	DE,PrintGREEN
 | ||
| 		LD	BC,0x0068
 | ||
| 		JR	InputColor
 | ||
| 
 | ||
| InputBLUE	LD	HL,PALITRA.RESERV
 | ||
| 		LD	DE,PrintBLUE
 | ||
| 		LD	BC,0x0078
 | ||
| InputColor	LD	(ColorY),BC
 | ||
| 		LD	BC,DecIncCOLOR
 | ||
| 		PUSH	BC
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	DE
 | ||
| 		LD	DE,ColText
 | ||
| 		LD	A,(HL)
 | ||
| 		CALL	ConvNumTxt8
 | ||
| 		SUB	A
 | ||
| 		LD	(DE),A
 | ||
| 		LD	A,E
 | ||
| 		SUB	LOW (ColText)
 | ||
| 		LD	(ColLen),A
 | ||
| InpAg		LD	IX,ColorStr
 | ||
| 		LD	HL,EmptyTab
 | ||
| 		CALL	InputLine
 | ||
| 		POP	DE
 | ||
| 		POP	HL
 | ||
| 		RET	C
 | ||
| 		PUSH	HL
 | ||
| 		PUSH	DE
 | ||
| 		LD	DE,ColText
 | ||
| 		CALL	ConvTxtNum16
 | ||
| 		JR	C,InpAg
 | ||
| 		LD	A,H
 | ||
| 		OR	A
 | ||
| 		JR	NZ,InpAg
 | ||
| 		LD	A,L
 | ||
| 		POP	DE
 | ||
| 		POP	HL
 | ||
| 		LD	(HL),A
 | ||
| 		RET 
 | ||
| 
 | ||
| ColorStr	DEFB	0x03,0x00,0x00,0x00
 | ||
| ColLen		DEFB	0x00
 | ||
| 		DEFW	0x01B8
 | ||
| ColorY		DEFW	0x0000
 | ||
| 		DEFW	0x001A
 | ||
| 		DEFB	0x80
 | ||
| ColText		DUPL	0x04,0x00
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| CurElement	DEFB	0x00
 | ||
| SavePanels	DEFB	0x01
 | ||
| ElementColor	DB COLORI.PANEL,COLORI.FILES,COLORI.SELECTFILES
 | ||
| 		DB COLORI.INVERTPAPER,COLORI.INVERTINK,COLORI.INVSELFILES
 | ||
| 
 | ||
| BarRed		DEFW	0x0122	; X <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
 | ||
| 		DEFW	0x0057	; Y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
 | ||
| 		DEFW	0x0080	; Max <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
 | ||
| 		DEFW	0x0000	; ⥪.<2E><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
 | ||
| 		DEFW	0x0000	; <20><><EFBFBD><EFBFBD><EFBFBD> <20>祩<EFBFBD><E7A5A9> BarLeft
 | ||
| 		DEFW	0x0000	; <20><><EFBFBD><EFBFBD><EFBFBD> <20>祩<EFBFBD><E7A5A9> BarRight
 | ||
| 		DEFW	0x0198	; <20><><EFBFBD>-<2D><> 䠩<><E4A0A9><EFBFBD> <20><> <20><>࠭<EFBFBD><E0A0AD><EFBFBD>
 | ||
| 		DEFW	0x0FF0	; <20><>饥 <20><><EFBFBD>-<2D><> 䠩<><E4A0A9><EFBFBD>
 | ||
| CRed		DEFW	0x0000	; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<> <20><> <20><>࠭<EFBFBD><E0A0AD><EFBFBD>
 | ||
| 
 | ||
| BarGreen	DEFW	0x0122	; X <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
 | ||
| 		DEFW	0x0067	; Y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
 | ||
| 		DEFW	0x0080	; Max <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
 | ||
| 		DEFW	0x0000	; ⥪.<2E><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
 | ||
| 		DEFW	0x0000	; <20><><EFBFBD><EFBFBD><EFBFBD> <20>祩<EFBFBD><E7A5A9> BarLeft
 | ||
| 		DEFW	0x0000	; <20><><EFBFBD><EFBFBD><EFBFBD> <20>祩<EFBFBD><E7A5A9> BarRight
 | ||
| 		DEFW	0x0198	; <20><><EFBFBD>-<2D><> 䠩<><E4A0A9><EFBFBD> <20><> <20><>࠭<EFBFBD><E0A0AD><EFBFBD>
 | ||
| 		DEFW	0x0FF0	; <20><>饥 <20><><EFBFBD>-<2D><> 䠩<><E4A0A9><EFBFBD>
 | ||
| CGreen		DEFW	0x0000	; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<> <20><> <20><>࠭<EFBFBD><E0A0AD><EFBFBD>
 | ||
| 
 | ||
| BarBlue		DEFW	0x0122	; X <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
 | ||
| 		DEFW	0x0077	; Y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
 | ||
| 		DEFW	0x0080	; Max <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
 | ||
| 		DEFW	0x0000	; ⥪.<2E><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD>
 | ||
| 		DEFW	0x0000	; <20><><EFBFBD><EFBFBD><EFBFBD> <20>祩<EFBFBD><E7A5A9> BarLeft
 | ||
| 		DEFW	0x0000	; <20><><EFBFBD><EFBFBD><EFBFBD> <20>祩<EFBFBD><E7A5A9> BarRight
 | ||
| 		DEFW	0x0198	; <20><><EFBFBD>-<2D><> 䠩<><E4A0A9><EFBFBD> <20><> <20><>࠭<EFBFBD><E0A0AD><EFBFBD>
 | ||
| 		DEFW	0x0FF0	; <20><>饥 <20><><EFBFBD>-<2D><> 䠩<><E4A0A9><EFBFBD>
 | ||
| CBlue		DEFW	0x0000	; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<> <20><> <20><>࠭<EFBFBD><E0A0AD><EFBFBD>
 | ||
| 
 | ||
| TempPALETTE	DUPL	0x40,0
 | ||
| 
 | ||
| ;--------------------------------------------------------------
 | ||
| ResSetupInv	LD	DE,(COLORP.BLUE + COLORI.WHITE) << 8 | (COLORP.WHITE + COLORI.BLACK) ;0x4FF0
 | ||
| 		JR	SetupInvert
 | ||
| 
 | ||
| SetSetupInv	LD	DE,(COLORP.WHITE + COLORI.BLACK) << 8 | (COLORP.BLUE + COLORI.WHITE) ;0xF04F
 | ||
| SetupInvert	LD	HL,85			; Y <20><>室<EFBFBD><E5AEA4><EFBFBD> 
 | ||
| ; TODO <20><> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20>ਢ離<E0A8A2>
 | ||
| 		LD	A,(CurElement)
 | ||
| 		OR	A
 | ||
| 		JR	Z,SetupI1
 | ||
| 		LD	B,A
 | ||
| 		PUSH	DE
 | ||
| 		LD	DE,8
 | ||
| .L1		ADD	HL,DE
 | ||
| 		DJNZ	.L1
 | ||
| 		POP	DE
 | ||
| SetupI1		LD	IX,8 << 8 | 70		; HIGH -> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, LOW -> <20><>ਭ<EFBFBD>
 | ||
| 		LD	C,L
 | ||
| 		LD	B,H			; Y
 | ||
| 		LD	HL,106			; X
 | ||
| ; TODO <20><> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20>ਢ離<E0A8A2>
 | ||
| 		JP	InvertRectan
 | ||
| 
 | ||
| InitElement	LD	HL,ElementColor
 | ||
| 		LD	A,(CurElement)
 | ||
| 		ADD	A,L
 | ||
| 		LD	L,A
 | ||
| 		JR	NC,.L1
 | ||
| 		INC	H
 | ||
| .L1		LD	A,(HL)
 | ||
| 		ADD	A,A
 | ||
| 		ADD	A,A
 | ||
| 		LD	HL,PALETTE
 | ||
| 		ADD	A,L
 | ||
| 		LD	L,A
 | ||
| 		JR	NC,.L2
 | ||
| 		INC	H
 | ||
| .L2		LD	DE,PALITRA.RESERV
 | ||
| 		LDI 
 | ||
| 		LDI 
 | ||
| 		LDI 
 | ||
| 		CALL	PrintRED
 | ||
| 		CALL	PrintGREEN
 | ||
| 		CALL	PrintBLUE
 | ||
| 		JP	PrnPALETTE
 | ||
| 
 | ||
| PrintRED	LD	DE,WorkBuffer
 | ||
| 		LD	A,(PALITRA.RESERV + 2)
 | ||
| 		LD	L,A
 | ||
| 		LD	H,0x00
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		LD	(CRed),HL
 | ||
| 		CALL	ConvNumTxt8
 | ||
| 		LD	A,0x04
 | ||
| 		SUB	E
 | ||
| 		LD	B,A
 | ||
| 		LD	A,0x20
 | ||
| .L1		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		DJNZ	.L1
 | ||
| 		SUB	A
 | ||
| InitEl1		LD	(DE),A
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		LD	DE,0x01B8
 | ||
| 		LD	BC,0x0058
 | ||
| 		LD	A,0x80
 | ||
| 		CALL	PrnTxtLnIFF
 | ||
| 		LD	IX,BarRed
 | ||
| 		JP	PrnHScrBar
 | ||
| 
 | ||
| PrintGREEN	LD	DE,WorkBuffer
 | ||
| 		LD	A,(PALITRA.RESERV + 1)
 | ||
| 		LD	L,A
 | ||
| 		LD	H,0x00
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		LD	(CGreen),HL
 | ||
| 		CALL	ConvNumTxt8
 | ||
| 		LD	A,0x04
 | ||
| 		SUB	E
 | ||
| 		LD	B,A
 | ||
| 		LD	A,0x20
 | ||
| .L1		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		DJNZ	.L1
 | ||
| 		SUB	A
 | ||
| InitEl2		LD	(DE),A
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		LD	DE,0x01B8
 | ||
| 		LD	BC,0x0068
 | ||
| 		LD	A,0x80
 | ||
| 		CALL	PrnTxtLnIFF
 | ||
| 		LD	IX,BarGreen
 | ||
| 		JP	PrnHScrBar
 | ||
| 
 | ||
| PrintBLUE	LD	DE,WorkBuffer
 | ||
| 		LD	A,(PALITRA.RESERV)
 | ||
| 		LD	L,A
 | ||
| 		LD	H,0x00
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		ADD	HL,HL
 | ||
| 		LD	(CBlue),HL
 | ||
| 		CALL	ConvNumTxt8
 | ||
| 		LD	A,0x04
 | ||
| 		SUB	E
 | ||
| 		LD	B,A
 | ||
| 		LD	A,0x20
 | ||
| .L1		LD	(DE),A
 | ||
| 		INC	E
 | ||
| 		DJNZ	.L1
 | ||
| 		SUB	A
 | ||
| InitEl3		LD	(DE),A
 | ||
| 		LD	HL,WorkBuffer
 | ||
| 		LD	DE,0x01B8
 | ||
| 		LD	BC,0x0078
 | ||
| 		LD	A,0x80
 | ||
| 		CALL	PrnTxtLnIFF
 | ||
| 		LD	IX,BarBlue
 | ||
| 		JP	PrnHScrBar
 | ||
| 
 | ||
| PrnPALETTE	LD	HL,PALETTE
 | ||
| 		LD	DE,0x1000
 | ||
| 	SPBIOS BIOSF.PIC_GET_PAL,0xFF,0
 | ||
| 	MAKEWINDOW WINSUBOBJ.WOBIND
 | ||
| 	W_FILL 470,88,60,38,COLORI.RESERVED
 | ||
| 	W_END
 | ||
| 		RET 
 |