402 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			402 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | ||
| ; LAST UPDATE: 23.04.2025 savelij
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| HelpR		LD	A,0x01
 | ||
| 		LD	(JUMPS.CMOSPrint),A
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 	MAKEWINDOW WINSUBOBJ.STORE
 | ||
| 	W_MAIN 64,16,512,224
 | ||
| 	W_FILL 4,2,504,10,COLORI.BLACK
 | ||
| 	W_TEXT 248,3,COLORI.WHITE,"Help"
 | ||
| 	W_BUTTON 220,206,72,14
 | ||
| 	W_TEXT 250,209,COLORP.HIGHGRAY,"Ok"
 | ||
| 	W_BORDER 8,16,496,187
 | ||
| 	W_FILL 10,17,476,185,COLORI.WHITE
 | ||
| 	W_ICONUPARROW 486,17
 | ||
| 	W_ICONDOWNARROW 486,194
 | ||
| 	W_END
 | ||
| 		CALL	InitHelpTxt
 | ||
| 		CALL	PrnHelpPg
 | ||
| 		CALL	JUMPS.ResFire
 | ||
| HelpLoop	LD	IX,HelpTab
 | ||
| 		CALL	JUMPS.TestCoords
 | ||
| 	SPDSS DSSF.SCANKEY
 | ||
| 		JR	Z,HelpLoop
 | ||
| 		LD	A,B
 | ||
| 		OR	A
 | ||
| 		JR	NZ,HelpLoop
 | ||
| 		LD	A,E			; …-ASCII ª®¤
 | ||
| 		CP	0x1B			; Esc
 | ||
| 		JP	Z,HelpExit
 | ||
| 		CP	0x0D			; Enter
 | ||
| 		JP	Z,HelpExit
 | ||
| 		RES	5,A
 | ||
| 		CP	'O'
 | ||
| 		JP	Z,HelpExit
 | ||
| 		OR	A
 | ||
| 		JR	NZ,HelpLoop		; †¤¥¬ äãªæ¨®.ª« ¢¨è¨
 | ||
| 		LD	HL,HelpLoop
 | ||
| 		PUSH	HL
 | ||
| 		LD	A,D
 | ||
| 		CP	SC.X8			; ‘â५ª  ¢¢¥àå
 | ||
| 		JP	Z,HLineUp
 | ||
| 		CP	SC.X2			; ‘â५ª  ¢¨§
 | ||
| 		JP	Z,HLineDown
 | ||
| 		CP	SC.X9			; PageUp
 | ||
| 		JP	Z,HPageUp
 | ||
| 		CP	SC.X3			; PageDown
 | ||
| 		JP	Z,HPageDown
 | ||
| 		CP	SC.X7			; Home
 | ||
| 		JP	Z,HHome
 | ||
| 		CP	SC.X1			; End
 | ||
| 		JP	Z,HEnd
 | ||
| 		RET
 | ||
| 
 | ||
| HelpExit
 | ||
| 	WINDOWCLOSE
 | ||
| 		SUB	A
 | ||
| 		LD	(JUMPS.CMOSPrint),A
 | ||
| 		RET
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| InitHelpTxt	LD	HL,HelpText
 | ||
| 		LD	(PageShift),HL
 | ||
| 		LD	HL,0x0000
 | ||
| 		LD	(CHLine),HL
 | ||
| 		LD	HL,HelpText
 | ||
| 		LD	DE,0x0000
 | ||
| InHelp1		LD	BC,0x1000
 | ||
| 		SUB	A
 | ||
| 		CPIR 
 | ||
| 		INC	DE
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	A
 | ||
| 		JR	NZ,InHelp1
 | ||
| 		DEC	DE
 | ||
| 		LD	(EHLines),DE
 | ||
| 		LD	IX,HelpVBar
 | ||
| 		JP	JUMPS.InitScrollBar
 | ||
| 
 | ||
| PageShift	DW	0
 | ||
| NextShift	DW	0
 | ||
| HelpVBar	DW	550			; X ¯®§¨æ¨ï áªà®«¡ à 
 | ||
| 		DW	41			; Y ¯®§¨æ¨ï áªà®«¡ à 
 | ||
| 		DW	169			; Max ¤«¨  áªà®«¡ à 
 | ||
| 		DW	0			; ⥪.¤«¨  áªà®«¡ à 
 | ||
| 		DW	HBarUp			; €¤à¥á ï祩ª¨ BarLeft
 | ||
| 		DW	HBarDn			; €¤à¥á ï祩ª¨ BarRight
 | ||
| 		DW	23			; Š®«-¢® áâப   áâà ¨æ¥
 | ||
| EHLines		DW	0			; ޡ饥 ª®«-¢® áâப
 | ||
| CHLine		DW	0			; <20>¥à¢ ï áâப    áâà ¨æ¥
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| PrnHelpPg	LD	HL,(PageShift)
 | ||
| 		LD	B,34
 | ||
| PrnHPg1		PUSH	BC
 | ||
| 		CALL	ClearHRect
 | ||
| 		LD	DE,80
 | ||
| 		LD	C,B
 | ||
| 		LD	B,D
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	A
 | ||
| 		LD	A,240
 | ||
| 		CALL	NZ,JUMPS.PrnTxtLnIFF
 | ||
| 		POP	BC
 | ||
| 		LD	A,B
 | ||
| 		ADD	A,8
 | ||
| 		LD	B,A
 | ||
| 		CP	218
 | ||
| 		JR	NZ,PrnHPg1
 | ||
| 		LD	(NextShift),HL
 | ||
| 		LD	IX,HelpVBar
 | ||
| 		JP	JUMPS.PrnVScrBar
 | ||
| 
 | ||
| ClearHRect	PUSH	HL
 | ||
| 		PUSH	BC
 | ||
| 	GETPORT WINSP_CPU
 | ||
| 		PUSH	AF
 | ||
| 		DI 
 | ||
| 	SETPORT WINSP_CPU,0x50
 | ||
| 		LD	HL,WINSP_ADR + 40
 | ||
| 		LD	IXL,B
 | ||
| 		LD	D,COLORP.WHITE + COLORI.WHITE
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0xE8
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	B,0x08
 | ||
| ClHRect		LD	A,IXL
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.FILL
 | ||
| 		LD	(HL),D
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		INC	IXL
 | ||
| 		DJNZ	ClHRect
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP_CPU,,0
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		EI 
 | ||
| 		POP	BC
 | ||
| 		POP	HL
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]----------------------------------------------------------[]
 | ||
| HHome		LD	HL,(PageShift)
 | ||
| 		LD	DE,HelpText
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		RET	Z
 | ||
| 		LD	(PageShift),DE
 | ||
| 		LD	HL,0x0000
 | ||
| 		LD	(CHLine),HL
 | ||
| 		JP	PrnHelpPg
 | ||
| 
 | ||
| HEnd		LD	HL,(NextShift)
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	A
 | ||
| 		RET	Z
 | ||
| 		LD	HL,HelpTextEnd
 | ||
| 		DEC	HL
 | ||
| 		DEC	HL
 | ||
| 		PUSH	HL
 | ||
| 		LD	DE,HelpText
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		LD	C,L
 | ||
| 		LD	B,H
 | ||
| 		POP	HL
 | ||
| 		LD	DE,(EHLines)
 | ||
| 		DEC	HL
 | ||
| 		LD	A,0x17
 | ||
| .L1		EX	AF,AF'
 | ||
| 		SUB	A
 | ||
| 		DEC	DE
 | ||
| 		CPDR 
 | ||
| 		JP	PO,.L2
 | ||
| 		EX	AF,AF'
 | ||
| 		DEC	A
 | ||
| 		JR	NZ,.L1
 | ||
| 		INC	HL
 | ||
| .L2		INC	HL
 | ||
| 		LD	(PageShift),HL
 | ||
| 		INC	DE
 | ||
| 		LD	(CHLine),DE
 | ||
| 		JP	PrnHelpPg
 | ||
| 
 | ||
| HLineUp		LD	HL,(PageShift)
 | ||
| 		LD	DE,HelpText
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		RET	Z
 | ||
| 		LD	C,L
 | ||
| 		LD	B,H
 | ||
| 		ADD	HL,DE
 | ||
| 		DEC	HL
 | ||
| 		SUB	A
 | ||
| 		CPD 
 | ||
| 		JP	PO,HLnUp0
 | ||
| 		CPDR 
 | ||
| 		INC	HL
 | ||
| HLnUp0		INC	HL
 | ||
| 		LD	(PageShift),HL
 | ||
| 		LD	DE,HelpTextEnd
 | ||
| 		DEC	DE
 | ||
| 		EX	DE,HL
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		EX	DE,HL
 | ||
| 		LD	C,E
 | ||
| 		LD	B,D
 | ||
| 		LD	A,0x17
 | ||
| HLnUp1		EX	AF,AF'
 | ||
| 		SUB	A
 | ||
| 		CPIR 
 | ||
| 		JP	PO,HLnUp2
 | ||
| 		EX	AF,AF'
 | ||
| 		DEC	A
 | ||
| 		JR	NZ,HLnUp1
 | ||
| HLnUp2		LD	(NextShift),HL
 | ||
| 		LD	HL,(CHLine)
 | ||
| 		DEC	HL
 | ||
| 		LD	(CHLine),HL
 | ||
| 		LD	DE,0x222A
 | ||
| 		CALL	ScrHELPDnUp
 | ||
| 		LD	B,34
 | ||
| 		CALL	ClearHRect
 | ||
| 		LD	HL,(PageShift)
 | ||
| 		LD	DE,80
 | ||
| 		LD	C,B
 | ||
| 		LD	B,D
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	A
 | ||
| 		LD	A,240
 | ||
| 		CALL	NZ,JUMPS.PrnTxtLnIFF
 | ||
| 		LD	IX,HelpVBar
 | ||
| 		JP	JUMPS.PrnVScrBar
 | ||
| 
 | ||
| HLineDown	LD	HL,(NextShift)
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	A
 | ||
| 		RET	Z
 | ||
| 		PUSH	HL
 | ||
| 		LD	DE,HelpTextEnd
 | ||
| 		EX	DE,HL
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		EX	DE,HL
 | ||
| 		LD	C,E
 | ||
| 		LD	B,D
 | ||
| 		SUB	A
 | ||
| 		CPIR 
 | ||
| 		LD	(NextShift),HL
 | ||
| 		LD	HL,(PageShift)
 | ||
| 		LD	DE,HelpTextEnd
 | ||
| 		EX	DE,HL
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		EX	DE,HL
 | ||
| 		LD	C,E
 | ||
| 		LD	B,D
 | ||
| 		SUB	A
 | ||
| 		CPIR 
 | ||
| 		LD	(PageShift),HL
 | ||
| 		LD	HL,(CHLine)
 | ||
| 		INC	HL
 | ||
| 		LD	(CHLine),HL
 | ||
| 		LD	DE,0x2A22
 | ||
| 		CALL	ScrHELPDnUp
 | ||
| 		POP	HL
 | ||
| 		LD	B,210
 | ||
| 		CALL	ClearHRect
 | ||
| 		LD	DE,80
 | ||
| 		LD	C,B
 | ||
| 		LD	B,D
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	A
 | ||
| 		LD	A,240
 | ||
| 		CALL	NZ,JUMPS.PrnTxtLnIFF
 | ||
| 		LD	IX,HelpVBar
 | ||
| 		JP	JUMPS.PrnVScrBar
 | ||
| 
 | ||
| ;<3B>  ¢å®¤:
 | ||
| ;	 D  - Y	®âªã¤ 
 | ||
| ;	 …  - Y	ªã¤ 
 | ||
| ScrHELPDnUp
 | ||
| 	GETPORT WINSP_CPU
 | ||
| 		PUSH	AF
 | ||
| 		DI 
 | ||
| 	SETPORT WINSP_CPU,0x50
 | ||
| 		LD	HL,WINSP_ADR + 40
 | ||
| 		LD	B,0xE8
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0xB0
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| ScHelp1		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
 | ||
| 		INC	HL
 | ||
| 		DJNZ	ScHelp1
 | ||
| 		POP	AF
 | ||
| 	SETPORT WINSP_CPU,,0
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		EI 
 | ||
| 		RET 
 | ||
| 
 | ||
| HPageUpM	CALL	HPageUp
 | ||
| 		RET	C
 | ||
| 		LD	B,0x0A
 | ||
| HUpM1		PUSH	BC
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		POP	BC
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		HALT 
 | ||
| 		DJNZ	HUpM1
 | ||
| HUpM2		CALL	HPageUp
 | ||
| 		RET	C
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		JR	HUpM2
 | ||
| 
 | ||
| HPageUp		LD	HL,(PageShift)
 | ||
| 		LD	DE,HelpText
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		SCF 
 | ||
| 		RET	Z
 | ||
| 		LD	C,L
 | ||
| 		LD	B,H
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	DE,(CHLine)
 | ||
| 		DEC	HL
 | ||
| 		LD	A,0x18
 | ||
| .L1		EX	AF,AF'
 | ||
| 		SUB	A
 | ||
| 		DEC	DE
 | ||
| 		CPDR 
 | ||
| 		JP	PO,.L2
 | ||
| 		EX	AF,AF'
 | ||
| 		DEC	A
 | ||
| 		JR	NZ,.L1
 | ||
| 		INC	DE
 | ||
| 		INC	HL
 | ||
| .L2		INC	HL
 | ||
| 		LD	(PageShift),HL
 | ||
| 		LD	(CHLine),DE
 | ||
| 		CALL	PrnHelpPg
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| HPageDownM	CALL	HPageDown
 | ||
| 		RET	C
 | ||
| 		LD	B,0x0A
 | ||
| HDnM1		PUSH	BC
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		POP	BC
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		HALT 
 | ||
| 		DJNZ	HDnM1
 | ||
| HDnM2		CALL	HPageDown
 | ||
| 		RET	C
 | ||
| 	SPMOUSE MOUSEF.READ_STATE
 | ||
| 		BIT	0,A
 | ||
| 		RET	Z
 | ||
| 		JR	HDnM2
 | ||
| 
 | ||
| HPageDown	LD	HL,(NextShift)
 | ||
| 		LD	A,(HL)
 | ||
| 		INC	A
 | ||
| 		SCF 
 | ||
| 		RET	Z
 | ||
| 		LD	(PageShift),HL
 | ||
| 		LD	HL,(CHLine)
 | ||
| 		LD	DE,0x0017
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	(CHLine),HL
 | ||
| 		CALL	PrnHelpPg
 | ||
| 		OR	A
 | ||
| 		RET 
 | ||
| 
 | ||
| ;[]==========================================================[]
 | ||
| HelpTab		DW 550,566, 33, 41,%0000000000000011,0,HLineUp,0
 | ||
| 		DW 550,566,210,218,%0000000000000011,0,HLineDown,0
 | ||
| 		DW 550,566, 41,  0,%0000000000000000,0,HPageUpM,0
 | ||
| HBarUp		EQU $ - 10
 | ||
| 		DW 550,566,  0,210,%0000000000000000,0,HPageDownM,0
 | ||
| HBarDn		EQU $ - 12
 | ||
| 		DW 284,356,222,236,%0000000000100001,0,HelpExit,0
 | ||
| 		DW   0, 64,  0,256,%0000000000100000,0,HelpExit,0
 | ||
| 		DW 576,640,  0,256,%0000000000100000,0,HelpExit,0
 | ||
| 		DW   0,640,  0, 16,%0000000000100000,0,HelpExit,0
 | ||
| 		DW   0,640,240,256,%0000000000100000,0,HelpExit,0
 | ||
| 		DW 0x8000
 |