597 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			597 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | ||
| ; LAST UPDATE: 07.03.2025 savelij
 | ||
| 
 | ||
| ;[]-----------------------------------------------------------[]
 | ||
| InitScrollBar	LD	C,(IX + BAR.PAGEL)
 | ||
| 		LD	B,(IX + BAR.PAGEH)		; Š®«-¢® í«¥¬.   áâà.
 | ||
| 		LD	L,C
 | ||
| 		LD	H,B
 | ||
| 		LD	E,(IX + BAR.MAXL)
 | ||
| 		LD	D,(IX + BAR.MAXH)		; ¬ ªá.í«¥¬¥â®¢
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	NZ,.L1
 | ||
| 		INC	DE
 | ||
| .L1		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	C,.L2
 | ||
| 		ADD	HL,DE
 | ||
| 		EX	DE,HL
 | ||
| .L2		PUSH	DE
 | ||
| 		LD	E,(IX + BAR.MAXLL)
 | ||
| 		LD	D,(IX + BAR.MAXLH)		; Š®«-¢® ¢¨¤. í«¥¬. * à §¬¥à ¡ à 
 | ||
| 		CALL	Mult16X16			; DE * BC = HL + DE
 | ||
| 		POP	BC				; /¬ ªá.í«¥¬¥â®¢
 | ||
| 		CALL	Divis32X16			; HL + DE / BC = DE (HL-®áâ)
 | ||
| 		LD	A,H
 | ||
| 		OR	L
 | ||
| 		JR	Z,.L3
 | ||
| 		INC	DE
 | ||
| .L3		LD	HL,0x0003
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	C,.L4
 | ||
| 		LD	DE,0x0003
 | ||
| .L4		LD	(IX + BAR.LENL),E		; = ¤«¨  ¡ à 
 | ||
| 		LD	(IX + BAR.LENH),D		; = ¤«¨  ¡ à 
 | ||
| 		RET
 | ||
| 
 | ||
| PrnHScrBar	PUSH	IY
 | ||
| 	GETPORT WINSP.Y_PORT
 | ||
| 		PUSH	AF
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	IYL,A
 | ||
| 		LD	L,(IX + BAR.FIRSTL)		; FirstFile
 | ||
| 		LD	H,(IX + BAR.FIRSTH)
 | ||
| 		LD	E,(IX + BAR.PAGEL)
 | ||
| 		LD	D,(IX + BAR.PAGEH)
 | ||
| 		LD	C,(IX + BAR.MAXL)		; EquipFiles
 | ||
| 		LD	B,(IX + BAR.MAXH)
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		JR	NZ,.L1
 | ||
| 		INC	BC
 | ||
| .L1		PUSH	BC
 | ||
| 		PUSH	HL
 | ||
| 		ADD	HL,DE
 | ||
| 		SBC	HL,BC
 | ||
| 		POP	HL
 | ||
| 		JR	C,.L2
 | ||
| 		JR	Z,.L2
 | ||
| 		LD	L,C
 | ||
| 		LD	H,B
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	NC,.L2
 | ||
| 		LD	HL,0x0000
 | ||
| .L2		EX	DE,HL
 | ||
| 		LD	C,(IX + BAR.MAXLL)
 | ||
| 		LD	B,(IX + BAR.MAXLH)
 | ||
| 		CALL	Mult16X16
 | ||
| 		POP	BC
 | ||
| 		CALL	Divis32X16
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	Z,.L3
 | ||
| 		PUSH	DE
 | ||
| 		SRL	D
 | ||
| 		RR	E
 | ||
| 		JR	NC,.L4
 | ||
| 		INC	DE
 | ||
| .L4		LD	L,(IX + BAR.XL)
 | ||
| 		LD	H,(IX + BAR.XH)
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SET	6,H
 | ||
| 		LD	A,(IX + BAR.YL)
 | ||
| 		LD	C,A
 | ||
| 		LD	B,COLORP.HIGHGRAY + COLORI.HIGHGRAY;0x88
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		DI 
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x08
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| .L5		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.FILL_VERT
 | ||
| 		LD	(HL),B
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		INC	HL
 | ||
| 		DEC	DE
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	NZ,.L5
 | ||
| 		LD	A,IYL
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EI 
 | ||
| 		POP	DE
 | ||
| .L3		PUSH	DE
 | ||
| 		LD	L,(IX + BAR.XL)
 | ||
| 		LD	H,(IX + BAR.XH)
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	E,(IX + BAR.LEFTL)
 | ||
| 		LD	D,(IX + BAR.LEFTH)
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	Z,.L6
 | ||
| 		EX	DE,HL
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		LD	(HL),E
 | ||
| 		INC	HL
 | ||
| 		LD	(HL),D
 | ||
| 		EX	DE,HL
 | ||
| .L6		PUSH	HL
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SET	6,H
 | ||
| 		LD	A,(IX + BAR.YL)
 | ||
| 		LD	C,A
 | ||
| 		LD	E,(IX + BAR.LENL)
 | ||
| 		LD	D,(IX + BAR.LENH)
 | ||
| 		LD	A,D
 | ||
| 		OR	A
 | ||
| 		JR	NZ,.L7
 | ||
| 		LD	A,E
 | ||
| 		CP	0x06
 | ||
| 		JR	NC,.L7
 | ||
| 		LD	E,0x06
 | ||
| .L7		SRL	D
 | ||
| 		RR	E
 | ||
| 		JR	C,.L8
 | ||
| 		DEC	DE
 | ||
| .L8		DEC	DE
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		DI 
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x06
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	B,COLORP.WHITE + COLORI.WHITE;0xFF
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		LD	(HL),B
 | ||
| 		INC	A
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.FILL_VERT
 | ||
| 		LD	(HL),B
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	(HL),0xF7
 | ||
| 		INC	HL
 | ||
| .L9		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		LD	(HL),B
 | ||
| 		INC	A
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		LD	A,COLORP.HIGHGRAY + COLORI.HIGHGRAY;0x88
 | ||
| 	ACCEL ACCELCMD.FILL_VERT
 | ||
| 		LD	(HL),A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	(HL),COLORP.BLACKGRAY + COLORI.BLACKGRAY;0x77
 | ||
| 		INC	HL
 | ||
| 		DEC	DE
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	NZ,.L9
 | ||
| 		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		LD	(HL),0xF7
 | ||
| 		INC	A
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		LD	A,COLORP.BLACKGRAY + COLORI.BLACKGRAY;0x77
 | ||
| 	ACCEL ACCELCMD.FILL_VERT
 | ||
| 		LD	(HL),A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		EX	DE,HL
 | ||
| 		LD	A,IYL
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EI 
 | ||
| 		POP	HL
 | ||
| 		LD	C,(IX + BAR.LENL)
 | ||
| 		LD	B,(IX + BAR.LENH)
 | ||
| 		PUSH	BC
 | ||
| 		ADD	HL,BC
 | ||
| 		LD	C,(IX+BAR.RIGHTL)
 | ||
| 		LD	B,(IX+BAR.RIGHTH)
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		JR	Z,.L10
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		LD	A,L
 | ||
| 		LD	(BC),A
 | ||
| 		INC	BC
 | ||
| 		LD	A,H
 | ||
| 		LD	(BC),A
 | ||
| .L10		POP	BC
 | ||
| 		LD	L,(IX + BAR.MAXLL)
 | ||
| 		LD	H,(IX + BAR.MAXLH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		POP	BC
 | ||
| 		JR	Z,.L11
 | ||
| 		JR	C,.L11
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		JR	Z,.L11
 | ||
| 		JR	C,.L11
 | ||
| 		EX	DE,HL
 | ||
| 		SRL	D
 | ||
| 		RR	E
 | ||
| 		JR	Z,.L11
 | ||
| 		LD	A,(IX + BAR.YL)
 | ||
| 		LD	C,A
 | ||
| 		LD	B,COLORP.HIGHGRAY + COLORI.HIGHGRAY;0x88
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		DI 
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x08
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| .L12		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.FILL_VERT
 | ||
| 		LD	(HL),B
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		INC	HL
 | ||
| 		DEC	DE
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	NZ,.L12
 | ||
| 		LD	A,IYL
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EI 
 | ||
| .L11		POP	AF
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	IY
 | ||
| 		RET 
 | ||
| 
 | ||
| PrnVScrBar	PUSH	IY
 | ||
| 	GETPORT WINSP.Y_PORT
 | ||
| 		PUSH	AF
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	IYH,A
 | ||
| 		LD	L,(IX + BAR.FIRSTL)		; FirstFile
 | ||
| 		LD	H,(IX + BAR.FIRSTH)
 | ||
| 		LD	E,(IX + BAR.PAGEL)
 | ||
| 		LD	D,(IX + BAR.PAGEH)
 | ||
| 		LD	C,(IX + BAR.MAXL)		; EquipFiles
 | ||
| 		LD	B,(IX + BAR.MAXH)
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		JR	NZ,.L1
 | ||
| 		INC	BC
 | ||
| .L1		PUSH	BC
 | ||
| 		PUSH	HL
 | ||
| 		ADD	HL,DE
 | ||
| 		SBC	HL,BC
 | ||
| 		POP	HL
 | ||
| 		JR	C,.L2
 | ||
| 		JR	Z,.L2
 | ||
| 		LD	L,C
 | ||
| 		LD	H,B
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	NC,.L2
 | ||
| 		LD	HL,0x0000
 | ||
| .L2		EX	DE,HL
 | ||
| 		LD	C,(IX + BAR.MAXLL)
 | ||
| 		LD	B,(IX + BAR.MAXLH)
 | ||
| 		CALL	Mult16X16
 | ||
| 		POP	BC
 | ||
| 		CALL	Divis32X16
 | ||
| 		LD	A,(IX + BAR.YL)
 | ||
| 		LD	IYL,A
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	Z,.L3
 | ||
| 		PUSH	DE
 | ||
| 		LD	A,E
 | ||
| 		LD	(.L4),A
 | ||
| 		LD	L,(IX + BAR.XL)
 | ||
| 		LD	H,(IX + BAR.XH)
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SET	6,H
 | ||
| 		LD	D,COLORP.HIGHGRAY + COLORI.HIGHGRAY;0x88
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		DI
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x00
 | ||
| .L4		EQU $-1
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	B,0x08
 | ||
| .L5		LD	A,IYL
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.FILL_VERT
 | ||
| 		LD	(HL),D
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		INC	HL
 | ||
| 		DJNZ	.L5
 | ||
| 		LD	A,IYL
 | ||
| 		ADD	A,E
 | ||
| 		LD	IYL,A
 | ||
| 		LD	A,IYH
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EI 
 | ||
| 		POP	DE
 | ||
| .L3		PUSH	DE
 | ||
| 		LD	L,(IX + BAR.YL)
 | ||
| 		LD	H,(IX + BAR.YH)
 | ||
| 		ADD	HL,DE
 | ||
| 		LD	E,(IX + BAR.LEFTL)
 | ||
| 		LD	D,(IX + BAR.LEFTH)
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	Z,.L6
 | ||
| 		EX	DE,HL
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		LD	(HL),E
 | ||
| 		INC	HL
 | ||
| 		LD	(HL),D
 | ||
| 		EX	DE,HL
 | ||
| .L6		PUSH	HL
 | ||
| 		LD	L,(IX + BAR.XL)
 | ||
| 		LD	H,(IX + BAR.XH)
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SET	6,H
 | ||
| 		LD	A,(IX + BAR.LENL)
 | ||
| 		LD	C,A
 | ||
| 		SUB	0x02
 | ||
| 		LD	(.L7),A
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		DI 
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x00
 | ||
| .L7		EQU $-1
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	DE,(COLORP.WHITE + COLORI.WHITE) << 8 + COLORP.HIGHGRAY + COLORI.HIGHGRAY;0xFF88
 | ||
| 		LD	A,IYL
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		LD	(HL),D
 | ||
| 		INC	A
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.FILL_VERT
 | ||
| 		LD	(HL),D
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	(HL),COLORP.WHITE + COLORI.BLACKGRAY;0xF7
 | ||
| 		INC	HL
 | ||
| 		LD	B,0x06
 | ||
| .L8		LD	A,IYL
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		LD	(HL),D
 | ||
| 		INC	A
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.FILL_VERT
 | ||
| 		LD	(HL),E
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	(HL),COLORP.BLACKGRAY + COLORI.BLACKGRAY;0x77
 | ||
| 		INC	HL
 | ||
| 		DJNZ	.L8
 | ||
| 		LD	A,IYL
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		LD	(HL),COLORP.WHITE + COLORI.BLACKGRAY;0xF7
 | ||
| 		INC	A
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		LD	A,COLORP.BLACKGRAY + COLORI.BLACKGRAY;0x77
 | ||
| 	ACCEL ACCELCMD.FILL_VERT
 | ||
| 		LD	(HL),A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	(HL),A
 | ||
| 		INC	HL
 | ||
| 		LD	A,IYL
 | ||
| 		ADD	A,C
 | ||
| 		LD	IYL,A
 | ||
| 		LD	A,IYH
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EI 
 | ||
| 		POP	HL
 | ||
| 		LD	C,(IX + BAR.LENL)
 | ||
| 		LD	B,(IX + BAR.LENH)
 | ||
| 		PUSH	BC
 | ||
| 		ADD	HL,BC
 | ||
| 		LD	C,(IX + BAR.RIGHTL)
 | ||
| 		LD	B,(IX + BAR.RIGHTH)
 | ||
| 		LD	A,B
 | ||
| 		OR	C
 | ||
| 		JR	Z,.L9
 | ||
| 	SETPORT WINSP.Y_PORT,0xC0
 | ||
| 		LD	A,L
 | ||
| 		LD	(BC),A
 | ||
| 		INC	BC
 | ||
| 		LD	A,H
 | ||
| 		LD	(BC),A
 | ||
| .L9		POP	BC
 | ||
| 		LD	L,(IX + BAR.MAXLL)
 | ||
| 		LD	H,(IX + BAR.MAXLH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		POP	BC
 | ||
| 		JR	Z,.L10
 | ||
| 		JR	C,.L10
 | ||
| 		OR	A
 | ||
| 		SBC	HL,BC
 | ||
| 		JR	Z,.L10
 | ||
| 		JR	C,.L10
 | ||
| 		LD	A,L
 | ||
| 		LD	(.L11),A
 | ||
| 		LD	L,(IX+BAR.XL)
 | ||
| 		LD	H,(IX+BAR.XH)
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SET	6,H
 | ||
| 		LD	D,COLORP.HIGHGRAY + COLORI.HIGHGRAY;0x88
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		DI
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x00
 | ||
| .L11		EQU $-1
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		LD	B,0x08
 | ||
| .L12		LD	A,IYL
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.FILL_VERT
 | ||
| 		LD	(HL),D
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		INC	HL
 | ||
| 		DJNZ	.L12
 | ||
| 		LD	A,IYH
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EI
 | ||
| .L10		POP	AF
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	IY
 | ||
| 		RET
 | ||
| 
 | ||
| ;[]-----------------------------------------------------------[]
 | ||
| InitProcess	SUB	A
 | ||
| 		LD	(IX + PROC.CURL1),A
 | ||
| 		LD	(IX + PROC.CURH1),A
 | ||
| 		LD	(IX + PROC.CURL2),A
 | ||
| 		LD	(IX + PROC.CURH2),A
 | ||
| 		LD	(IX + PROC.CORRL),A
 | ||
| 		LD	(IX + PROC.CORRH),A
 | ||
| 		LD	C,(IX + PROC.MAXLL)		; Œ ªá/¬ ªá.¤«¨ã ¯à®æ¥á 
 | ||
| 		LD	B,(IX + PROC.MAXLH)
 | ||
| 		LD	E,(IX + PROC.MAXL1)
 | ||
| 		LD	D,(IX + PROC.MAXH1)
 | ||
| 		LD	L,(IX + PROC.MAXL2)
 | ||
| 		LD	H,(IX + PROC.MAXH2)
 | ||
| 		CALL	Divis32X16			; HL + DE / BC = DE (HL-®áâ)
 | ||
| 		LD	A,H
 | ||
| 		OR	L
 | ||
| 		JR	Z,.L2
 | ||
| 		INC	DE				; = ª®íä䍿¨¥â
 | ||
| .L2		LD	HL,9
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	C,.L1
 | ||
| 		LD	A,(IX + PROC.MAXL2)
 | ||
| 		OR	(IX + PROC.MAXH2)
 | ||
| 		JR	NZ,.L1
 | ||
| 		LD	E,(IX + PROC.MAXL1)
 | ||
| 		LD	D,(IX + PROC.MAXH1)
 | ||
| 		LD	BC,1000
 | ||
| 		LD	(IX + PROC.CORRL),C
 | ||
| 		LD	(IX + PROC.CORRH),B
 | ||
| 		CALL	Mult16X16
 | ||
| 		LD	C,(IX + PROC.MAXLL)		; Œ ªá/¬ ªá.¤«¨ã ¯à®æ¥á 
 | ||
| 		LD	B,(IX + PROC.MAXLH)
 | ||
| 		CALL	Divis32X16			; HL + DE / BC = DE (HL-®áâ)
 | ||
| .L1		LD	(IX + PROC.COEFL),E
 | ||
| 		LD	(IX + PROC.COEFH),D
 | ||
| 		RET
 | ||
| 
 | ||
| PrnProcess	PUSH	IY
 | ||
| 	GETPORT WINSP.Y_PORT
 | ||
| 		PUSH	AF
 | ||
| 	GETPORT WINSP.CPU1
 | ||
| 		LD	IYL,A
 | ||
| 		LD	E,(IX + PROC.CURL1)
 | ||
| 		LD	D,(IX + PROC.CURH1)
 | ||
| 		LD	L,(IX + PROC.CURL2)
 | ||
| 		LD	H,(IX + PROC.CURH2)
 | ||
| 		LD	A,(IX + PROC.CORRL)
 | ||
| 		OR	(IX + PROC.CORRH)
 | ||
| 		JR	Z,.L1
 | ||
| 		LD	C,(IX + PROC.CORRL)
 | ||
| 		LD	B,(IX + PROC.CORRH)
 | ||
| 		CALL	Mult16X16
 | ||
| .L1		LD	C,(IX + PROC.COEFL)
 | ||
| 		LD	B,(IX + PROC.COEFH)
 | ||
| 		CALL	Divis32X16
 | ||
| 		LD	L,(IX + PROC.XL)
 | ||
| 		LD	H,(IX + PROC.XH)
 | ||
| 		SRL	H
 | ||
| 		RR	L
 | ||
| 		SET	6,H
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	Z,.L2
 | ||
| 		PUSH	DE
 | ||
| 		PUSH	HL
 | ||
| 		LD	L,(IX + PROC.MAXLL)
 | ||
| 		LD	H,(IX + PROC.MAXLH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		JR	NC,.L3
 | ||
| 		ADD	HL,DE
 | ||
| 		EX	DE,HL
 | ||
| .L3		POP	HL
 | ||
| 		SRL	D
 | ||
| 		RR	E
 | ||
| 		JR	NC,.L4
 | ||
| 		INC	DE
 | ||
| .L4		LD	A,(IX + PROC.YL)
 | ||
| 		LD	C,A
 | ||
| 		LD	A,(IX + PROC.COLOR)
 | ||
| 		AND	0xF0
 | ||
| 		LD	B,A
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		RRCA 
 | ||
| 		OR	B
 | ||
| 		LD	B,A
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		DI
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x0A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| .L5		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.FILL_VERT
 | ||
| 		LD	(HL),B
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		INC	HL
 | ||
| 		DEC	DE
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	NZ,.L5
 | ||
| 		LD	A,IYL
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EI
 | ||
| 		POP	DE
 | ||
| .L2		PUSH	HL
 | ||
| 		LD	L,(IX + PROC.MAXLL)
 | ||
| 		LD	H,(IX + PROC.MAXLH)
 | ||
| 		OR	A
 | ||
| 		SBC	HL,DE
 | ||
| 		EX	DE,HL
 | ||
| 		POP	HL
 | ||
| 		JR	Z,.L6
 | ||
| 		JR	C,.L6
 | ||
| 		SRL	D
 | ||
| 		RR	E
 | ||
| 		JR	NC,.L7
 | ||
| 		INC	DE
 | ||
| .L7		LD	A,(IX + PROC.YL)
 | ||
| 		LD	C,A
 | ||
| 		LD	A,(IX + PROC.COLOR)
 | ||
| 		AND	0x0F
 | ||
| 		LD	B,A
 | ||
| 		RLCA
 | ||
| 		RLCA
 | ||
| 		RLCA
 | ||
| 		RLCA
 | ||
| 		OR	B
 | ||
| 		LD	B,A
 | ||
| 	SETPORT WINSP.CPU1,0x50
 | ||
| 		DI
 | ||
| 	ACCEL ACCELCMD.SET_BUFFER
 | ||
| 		LD	A,0x0A
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| .L8		LD	A,C
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 	ACCEL ACCELCMD.FILL_VERT
 | ||
| 		LD	(HL),B
 | ||
| 	ACCEL ACCELCMD.OFF
 | ||
| 		INC	HL
 | ||
| 		DEC	DE
 | ||
| 		LD	A,D
 | ||
| 		OR	E
 | ||
| 		JR	NZ,.L8
 | ||
| 		LD	A,IYL
 | ||
| 	SETPORT WINSP.CPU1,,0
 | ||
| 		EI
 | ||
| .L6		POP	AF
 | ||
| 	SETPORT WINSP.Y_PORT,,0
 | ||
| 		POP	IY
 | ||
| 		RET
 |