Making LP_PR_LINE_DIR
This commit is contained in:
		
							parent
							
								
									acc561bb6a
								
							
						
					
					
						commit
						007fb96bad
					
				| @ -1 +1 @@ | ||||
| Subproject commit 7e4985b40214f573ba17b707ad5191319841acdd | ||||
| Subproject commit 361bce691cf4130a703e57b8fc7b3b87d3b929de | ||||
| @ -209,7 +209,7 @@ TAB_FNS: | ||||
|         DB      low  FN_LIB                             ; #DE  | ||||
|         DB      low  FN_LIB                             ; #DF  | ||||
| ;  Ex | ||||
|         DB      low  LP_PRINT_LINE_DIR                  ; #E0   | ||||
|         DB      low  LP_PR_LINE_DIR                  	; #E0   | ||||
|         DB      low     FN_RESERVED                     ; #E1  | ||||
|         DB      low     FN_RESERVED                     ; #E2  | ||||
|         DB      low     FN_RESERVED                     ; #E3  | ||||
| @ -401,7 +401,7 @@ TAB_FNS: | ||||
|         DB      high FN_LIB | ||||
|         DB      high FN_LIB | ||||
| ;  Ex | ||||
|         DB      high LP_PRINT_LINE_DIR | ||||
|         DB      high LP_PR_LINE_DIR | ||||
|         DB      high    FN_RESERVED    | ||||
|         DB      high    FN_RESERVED    | ||||
|         DB      high    FN_RESERVED    | ||||
|  | ||||
| @ -124,9 +124,9 @@ | ||||
|         LD SP,SYS_SP | ||||
|         PUSH BC | ||||
| 
 | ||||
|         LD HL,(SYS_PAGE.WIN_MAP_IX+WIN_HL) | ||||
|         LD DE,(SYS_PAGE.WIN_MAP_IX+WIN_DE) | ||||
|         LD BC,(SYS_PAGE.WIN_MAP_IX+WIN_BC) | ||||
|         LD HL,(WIN_ID_0.HL) | ||||
|         LD DE,(WIN_ID_0.DE) | ||||
|         LD BC,(WIN_ID_0.BC) | ||||
| 
 | ||||
|         LD A,E | ||||
|         AND A | ||||
| @ -141,9 +141,9 @@ | ||||
|         EXX | ||||
|         RLA | ||||
|         LD E,A | ||||
|         LD (SYS_PAGE.WIN_MAP_IX+WIN_HL),HL	; ¬¥áâ® ¯¥ç â¨ | ||||
|         LD (SYS_PAGE.WIN_MAP_IX+WIN_DE),DE | ||||
|         LD (SYS_PAGE.WIN_MAP_IX+WIN_BC),BC | ||||
|         LD (WIN_ID_0.HL),HL	; ¬¥áâ® ¯¥ç â¨ | ||||
|         LD (WIN_ID_0.DE),DE | ||||
|         LD (WIN_ID_0.BC),BC | ||||
| 
 | ||||
|         POP BC | ||||
|         LD A,B | ||||
| @ -418,9 +418,9 @@ LP_END_P:		; !!!!!  | ||||
|         EXX | ||||
|          RLA | ||||
|          LD E,A | ||||
| 	 LD (SYS_PAGE.WIN_MAP_IX+WIN_HL),HL	; ¬¥áâ® ¯¥ç â¨ | ||||
| 	 LD (SYS_PAGE.WIN_MAP_IX+WIN_DE),DE | ||||
| 	 LD (SYS_PAGE.WIN_MAP_IX+WIN_BC),BC | ||||
| 	 LD (WIN_ID_0.reg_HL),HL	; ¬¥áâ® ¯¥ç â¨ | ||||
| 	 LD (WIN_ID_0.reg_DE),DE | ||||
| 	 LD (WIN_ID_0.reg_BC),BC | ||||
| 	 LP_CLOSE_PG | ||||
|         EXX | ||||
|         EX AF,AF' | ||||
| @ -485,14 +485,14 @@ LP_SET_PLACE:		; !!!!!  | ||||
| LP_GET_PLACE: | ||||
| 	CALL LP_BEG_P | ||||
| 
 | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_H_BEG) | ||||
| 	LD A,(WIN_ID_0.H_BEG) | ||||
| 	NEG | ||||
| 	EXX | ||||
| 	 ADD A,D | ||||
| 	EXX | ||||
| 	LD E,A | ||||
| 
 | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_V_BEG) | ||||
| 	LD A,(WIN_ID_0.V_BEG) | ||||
| 	NEG | ||||
| 	EXX | ||||
| 	 ADD A,L | ||||
| @ -642,8 +642,8 @@ WIN_SET_ZG:								; LP_SET_ZG: | ||||
| ;	3 - ver place | ||||
| LP_SIZE:                   ; ®¯à¥¤¥«¥¨¥ size | ||||
| 	LP_OPEN_PG | ||||
| 	LD DE,(SYS_PAGE.WIN_MAP_IX+WIN_SIZE_H) | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_MODE) | ||||
| 	LD DE,(WIN_ID_0.USER.SIZE_H) | ||||
| 	LD A,(WIN_ID_0.USER.MODE) | ||||
| 	BIT 5,A | ||||
| 	LP_CLOSE_PG | ||||
| 	RET NZ | ||||
| @ -655,7 +655,7 @@ LP_SIZE:                   ;  | ||||
| 
 | ||||
| 
 | ||||
| LP_AT_D:		; !!!!! ®¦¨¤ ¥âáï, çâ® ¯®àâïâáï ⮫쪮  «ìâ¥à â¨¢ë¥ ॣ¨áâàë ¨ â¥, çâ® ª ª ¯ à ¬¥âàë   ¢å®¤¥ | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_SIZE_V) | ||||
| 	LD A,(WIN_ID_0.USER.SIZE_V) | ||||
| 	EXX | ||||
| 	LD L,A | ||||
| 	EXX | ||||
| @ -669,7 +669,7 @@ LP_AT_D:		; !!!!!  | ||||
| 	ADD A,A | ||||
| 	ADD A,A | ||||
| 	LD L,A | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_V_BEG) | ||||
| 	LD A,(WIN_ID_0.V_BEG) | ||||
| 	ADD A,L | ||||
| 	LD L,A | ||||
| 	INC L | ||||
| @ -681,7 +681,7 @@ LP_AT_D:		; !!!!!  | ||||
| 
 | ||||
| ; !!!!! ®¦¨¤ ¥âáï, çâ® ¯®àâïâáï ⮫쪮  «ìâ¥à â¨¢ë¥ ॣ¨áâàë ¨ â¥, çâ® ª ª ¯ à ¬¥âàë   ¢å®¤¥ | ||||
| LP_TAB_E: | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_SIZE_REL) | ||||
| 	LD A,(WIN_ID_0.SIZE_REL) | ||||
| 	EXX | ||||
| 	LD D,A | ||||
| 	EXX | ||||
| @ -697,14 +697,14 @@ LP_TAB_E: | ||||
| 	NEG | ||||
| 	ADD A,D | ||||
| 	LD D,A | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_MODE) | ||||
| 	LD A,(WIN_ID_0.USER.MODE) | ||||
| 	AND %0010'0000 | ||||
| 	JR Z,.skip_Dx2 | ||||
| 	LD A,D | ||||
| 	ADD A,A | ||||
| 	LD D,A | ||||
| .skip_Dx2: | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_H_BEG) | ||||
| 	LD A,(WIN_ID_0.H_BEG) | ||||
| 	ADD A,D | ||||
| 	LD D,A | ||||
| 	EXX | ||||
| @ -719,19 +719,18 @@ LP_NEXT_HL: | ||||
| 	INC L | ||||
| 	INC L | ||||
| 	INC L | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_V_END) | ||||
| 	LD A,(WIN_ID_0.V_END) | ||||
| 	CP L | ||||
| 	JR NC,LP_NEXT_HL1 | ||||
| 	LD HL,(SYS_PAGE.WIN_MAP_IX+WIN_V_BEG) | ||||
| 	;LD A,(SYS_PAGE.WIN_MAP_IX+WIN_V_BEG) | ||||
| 	LD HL,(WIN_ID_0.V_BEG) | ||||
| 	;LD A,(WIN_ID_0.V_BEG) | ||||
| 	;LD L,A | ||||
| 	INC L | ||||
| 	LD H,#C3	;!HARDCODE | ||||
| 
 | ||||
| LP_NEXT_HL1: | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_H_BEG) | ||||
| 	LD A,(WIN_ID_0.H_BEG) | ||||
| 	LD D,A | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_SIZE_REL) | ||||
| 	LD A,(WIN_ID_0.SIZE_REL) | ||||
| 	LD B,A | ||||
| 
 | ||||
| 	LD A,#50 | ||||
| @ -743,9 +742,9 @@ LP_BEG_P: | ||||
| 	EX AF,AF' | ||||
|         EXX | ||||
| 	  LP_OPEN_PG | ||||
|          LD HL,(SYS_PAGE.WIN_MAP_IX+WIN_HL) | ||||
|          LD DE,(SYS_PAGE.WIN_MAP_IX+WIN_DE) | ||||
|          LD BC,(SYS_PAGE.WIN_MAP_IX+WIN_BC) | ||||
|          LD HL,(WIN_ID_0.reg_HL) | ||||
|          LD DE,(WIN_ID_0.reg_DE) | ||||
|          LD BC,(WIN_ID_0.reg_BC) | ||||
|          LD A,E | ||||
|          AND A | ||||
|          RRA | ||||
| @ -758,14 +757,14 @@ LP_INI_P: | ||||
| 	EX AF,AF' | ||||
| 	EXX | ||||
| 	 LP_OPEN_PG | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_MODE) | ||||
| 	LD A,(WIN_ID_0.USER.MODE) | ||||
| 	CP #C0 | ||||
| 	JR NC,LP_INI_NO_ZG			; ®âªàë⨥ ¡®à¤¥à ... | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_MODE_S) | ||||
| 	LD A,(WIN_ID_0.USER.MODE_S) | ||||
| 	BIT 0,A | ||||
| 	JR NZ,LP_INI_NO_ZG			; ®âªàë⨥ Spectrum-Screen | ||||
| 
 | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_MODE) | ||||
| 	LD A,(WIN_ID_0.USER.MODE) | ||||
| 	BIT 4,A | ||||
| 	JR Z,LP_INI_NO_ZG			; ®âªàë⨥ £à ä¨ç¥áª®£® íªà   | ||||
| 	LD DE,(SYS_PAGE.WIN_ZG)			; § ª®£¥¥à â®à | ||||
| @ -777,24 +776,24 @@ LP_INI_P: | ||||
| 	EX AF,AF' | ||||
| 
 | ||||
| LP_INI_NO_ZG: | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_H_BEG) | ||||
| 	LD A,(WIN_ID_0.H_BEG) | ||||
| 	LD D,A | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_V_BEG) | ||||
| 	LD A,(WIN_ID_0.V_BEG) | ||||
| 	LD L,A | ||||
| 	INC L | ||||
| 	LD H,#C3 | ||||
| 
 | ||||
| 	AND A | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_MODE) | ||||
| 	LD A,(WIN_ID_0.USER.MODE) | ||||
| 	BIT 5,A | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_SIZE_H) | ||||
| 	LD A,(WIN_ID_0.USER.SIZE_H) | ||||
| 	JR NZ,LP_INI_40 | ||||
| 	ADD A,A | ||||
| 	SCF | ||||
| 	;!TODO çâ®-â® âãâ ¯®¤¢ë¯¨«¥®  | ||||
| LP_INI_40: | ||||
| 	LD B,A | ||||
| 	LD (SYS_PAGE.WIN_MAP_IX+WIN_SIZE_REL),A | ||||
| 	LD (WIN_ID_0.SIZE_REL),A | ||||
| 
 | ||||
| 	; LD DE,(SYS_PAGE.WIN_MODE_SC)	; ¬¥áâ® ¯® £®à¨§®â «¨ ¨ áâà ¨æ  ¬®¤ë | ||||
| 	; LD HL,(SYS_PAGE.WIN_MODE_SH)	; ¬¥áâ® ¯® ¢¥à⨪ «¨ á  ¤à¥á®¬ | ||||
| @ -890,14 +889,14 @@ WIN_OPEN: | ||||
| 	LD (SYS_PAGE.WIN_MAP_SC),IX	; ª àâ  ®ª  | ||||
| 	PUSH DE | ||||
| 	LD HL,(SYS_PAGE.WIN_MAP_SC) | ||||
| 	LD DE,SYS_PAGE.WIN_MAP_IX | ||||
| 	LD BC,32 | ||||
| 	LD DE,WIN_ID_0 | ||||
| 	LD BC,Window_UserVars | ||||
| 	LDIR | ||||
| 	LD IX,SYS_PAGE.WIN_MAP_IX | ||||
| 	LD IX,WIN_ID_0 | ||||
| 	POP DE | ||||
| 	LD L,(IX+WIN_PLACE_H) | ||||
| 	LD H,(IX+WIN_PLACE_V) | ||||
| 	LD (IX+WIN_MODE_E),E | ||||
| 	LD L,(IX+Window_Variables.USER.PLACE_H) | ||||
| 	LD H,(IX+Window_Variables.USER.PLACE_V) | ||||
| 	LD (IX+Window_Variables.MODE_E),E | ||||
| 	JP WIN_OPEN_W1 | ||||
| 
 | ||||
| 
 | ||||
| @ -924,14 +923,14 @@ LP_SET_MODE: | ||||
| 	PUSH DE | ||||
| 	LD HL,(SYS_PAGE.WIN_MAP_SC) | ||||
| 	LD DE,SYS_PAGE.WIN_MAP_IX | ||||
| 	LD BC,32 | ||||
| 	LD BC,Window_UserVars | ||||
| 	LDIR | ||||
| 	LD IX,SYS_PAGE.WIN_MAP_IX | ||||
| 	POP DE | ||||
| 	POP HL | ||||
| 	LD (IX+WIN_PLACE_H),L | ||||
| 	LD (IX+WIN_PLACE_V),H | ||||
| 	LD (IX+WIN_MODE_E),E | ||||
| 	LD (IX+Window_Variables.USER.PLACE_H),L | ||||
| 	LD (IX+Window_Variables.USER.PLACE_V),H | ||||
| 	LD (IX+Window_Variables.MODE_E),E | ||||
| WIN_OPEN_W1: | ||||
| 	LD A,L | ||||
| 	ADD A,A | ||||
| @ -940,12 +939,12 @@ WIN_OPEN_W1: | ||||
| 	JR NZ,LP_SET_NO_OR | ||||
| 	OR #80			; ¥á«¨ ¢ë¢®¤   ¢â®à®© íªà  | ||||
| LP_SET_NO_OR: | ||||
| 	LD (IX+WIN_H_BEG),A | ||||
| 	LD (IX+Window_Variables.H_BEG),A | ||||
| 	LD D,A | ||||
| 	LD A,(IX+WIN_SIZE_H) | ||||
| 	LD A,(IX+Window_Variables.USER.SIZE_H) | ||||
| 	ADD A,A | ||||
| 	ADD A,D | ||||
| 	LD (IX+WIN_H_END),A | ||||
| 	LD (IX+Window_Variables.H_END),A | ||||
| 	LD (SYS_PAGE.WIN_MODE_SC),DE	; ¬¥áâ® ¯® £®à¨§®â «¨ ¨ áâà ¨æ  ¬®¤ë | ||||
| 	LD A,H | ||||
| 	AND #3F | ||||
| @ -954,50 +953,50 @@ LP_SET_NO_OR: | ||||
| 	LD L,A | ||||
| 	LD H,#C3 | ||||
| 	LD (SYS_PAGE.WIN_MODE_SH),HL	; ¬¥áâ® ¯® ¢¥à⨪ «¨ á  ¤à¥á®¬ | ||||
| 	LD (IX+WIN_V_BEG),A | ||||
| 	LD A,(IX+WIN_SIZE_V) | ||||
| 	LD (IX+Window_Variables.V_BEG),A | ||||
| 	LD A,(IX+Window_Variables.USER.SIZE_V) | ||||
| 	ADD A,A | ||||
| 	ADD A,A | ||||
| 	ADD A,L | ||||
| 	LD (IX+WIN_V_END),A | ||||
| 	LD (IX+Window_Variables.V_END),A | ||||
| 
 | ||||
| 	LD L,(IX+WIN_V_BEG) | ||||
| 	LD L,(IX+Window_Variables.V_BEG) | ||||
| 	LD H,#C3 | ||||
| 	LD B,(IX+WIN_SIZE_V)	; à §¬¥à ¯® ¢¥à⨪ «¨ | ||||
| 	LD B,(IX+Window_Variables.USER.SIZE_V)	; à §¬¥à ¯® ¢¥à⨪ «¨ | ||||
| 
 | ||||
| 
 | ||||
| 	LD (IX+WIN_WORK_1),0 | ||||
| 	LD A,(IX+WIN_MODE)	; § ª®£¥¥à â®à ¯«îá ०¨¬ | ||||
| 	LD (IX+WIN_WORK_2),A | ||||
| 	LD (IX+Window_Variables.WORK_1),0 | ||||
| 	LD A,(IX+Window_Variables.USER.MODE)	; § ª®£¥¥à â®à ¯«îá ०¨¬ | ||||
| 	LD (IX+Window_Variables.WORK_2),A | ||||
| 	BIT 4,A | ||||
| 	JR NZ,LP_SET_LOOP	; ¯¥à¥å®¤, ¥á«¨ ⥪áâ®¢ë© à¥¦¨¬ | ||||
| 
 | ||||
| 	AND #F0 | ||||
| 	LD C,A | ||||
| 	LD A,(IX+WIN_GR_X) | ||||
| 	LD A,(IX+Window_Variables.USER.GR_X) | ||||
| 	RRCA | ||||
| 	RRCA | ||||
| 	RRCA | ||||
| 	LD D,A | ||||
| 	AND #0F | ||||
| 	OR C | ||||
| 	LD (IX+WIN_WORK_2),A | ||||
| 	LD (IX+Window_Variables.WORK_2),A | ||||
| 
 | ||||
| 	LD A,D | ||||
| 	AND #E0 | ||||
| 	LD C,A | ||||
| 	LD A,(IX+WIN_GR_Y) | ||||
| 	LD A,(IX+Window_Variables.USER.GR_Y) | ||||
| 	AND #1F | ||||
| 	OR C | ||||
| 	RLCA | ||||
| 	RLCA | ||||
| 	RLCA | ||||
| 	LD (IX+WIN_WORK_1),A | ||||
| 	LD (IX+Window_Variables.WORK_1),A | ||||
| 
 | ||||
| LP_SET_LOOP: | ||||
| 	LD D,(IX+WIN_H_BEG)	; D -  ç «® áâப¨ (PORT_Y) | ||||
| 	LD C,(IX+WIN_SIZE_H)	; à §¬¥à ¯® £®à¨§®â «¨ | ||||
| 	LD A,(IX+WIN_MODE)	; § ª®£¥¥à â®à ¯«îá ०¨¬ | ||||
| 	LD D,(IX+Window_Variables.H_BEG)	; D -  ç «® áâப¨ (PORT_Y) | ||||
| 	LD C,(IX+Window_Variables.USER.SIZE_H)	; à §¬¥à ¯® £®à¨§®â «¨ | ||||
| 	LD A,(IX+Window_Variables.USER.MODE)	; § ª®£¥¥à â®à ¯«îá ०¨¬ | ||||
| 
 | ||||
| 	PUSH BC | ||||
| 	CALL LP_MODE_LINE | ||||
| @ -1008,10 +1007,10 @@ LP_SET_LOOP: | ||||
| 	INC L | ||||
| 	DJNZ LP_SET_LOOP | ||||
| 
 | ||||
| 	LD A,(IX+WIN_MODE_E) | ||||
| 	LD A,(IX+Window_Variables.MODE_E) | ||||
| 	AND 1 | ||||
| 	OUT (RGMOD),A | ||||
| 	; LD A,(IX+WIN_MODE) | ||||
| 	; LD A,(IX+Window_Variables.MODE) | ||||
| 	; BIT 4,A | ||||
| 	 LP_CLOSE_PG | ||||
| 	; RET Z | ||||
| @ -1029,7 +1028,7 @@ WIN_CLOSE: | ||||
| 
 | ||||
| ; “áâ ®¢ª  ०¨¬    «¨¨¨ | ||||
| LP_MODE_LINE: | ||||
| 	BIT 0,(IX+WIN_MODE_S) | ||||
| 	BIT 0,(IX+Window_Variables.USER.MODE_S) | ||||
| 	JP NZ,LP_MODE_LINE2	; ¨¤â¨   ᯥªâà㬠| ||||
| 	BIT 4,A | ||||
| 	JP Z,LP_MODE_LINE3	; ¨¤â¨   £à ä¨ªã! | ||||
| @ -1104,8 +1103,8 @@ LP_MODE_LINE2: | ||||
| 
 | ||||
| ;	Spectrum mode | ||||
| 
 | ||||
| 	LD A,(IX+WIN_WORK_2) | ||||
| 	LD B,(IX+WIN_WORK_1) | ||||
| 	LD A,(IX+Window_Variables.WORK_2) | ||||
| 	LD B,(IX+Window_Variables.WORK_1) | ||||
| 
 | ||||
| 	DEC D | ||||
| 
 | ||||
| @ -1194,8 +1193,8 @@ LP_EXIT_MODE2: | ||||
| 	OUT (SLOT3),A | ||||
| 	EX AF,AF' | ||||
| 
 | ||||
| 	LD (IX+WIN_WORK_1),B | ||||
| 	LD (IX+WIN_WORK_2),A | ||||
| 	LD (IX+Window_Variables.WORK_1),B | ||||
| 	LD (IX+Window_Variables.WORK_2),A | ||||
| 	RET | ||||
| 
 | ||||
| 
 | ||||
| @ -1203,8 +1202,8 @@ LP_MODE_LINE3:	;  | ||||
| 
 | ||||
| ;	Grafic Mode | ||||
| 
 | ||||
| 	LD A,(IX+WIN_WORK_1) | ||||
| 	LD B,(IX+WIN_WORK_2) | ||||
| 	LD A,(IX+Window_Variables.WORK_1) | ||||
| 	LD B,(IX+Window_Variables.WORK_2) | ||||
| 
 | ||||
| 	DEC D | ||||
| 
 | ||||
| @ -1299,9 +1298,9 @@ LP_EXIT_MODE3: | ||||
| 	OUT (SLOT3),A | ||||
| 	EX AF,AF' | ||||
| 
 | ||||
| 	LD A,(IX+WIN_WORK_1) | ||||
| 	LD A,(IX+Window_Variables.WORK_1) | ||||
| 	ADD A,8 | ||||
| 	LD (IX+WIN_WORK_1),A | ||||
| 	LD (IX+Window_Variables.WORK_1),A | ||||
| 	RET | ||||
| 
 | ||||
| LP_GR_640: | ||||
| @ -1360,13 +1359,16 @@ LP_SCROLL_UD: | ||||
| ;  D - ¢¥àåïï áâப  ( ®â 0 ) | ||||
| ;  E - ç¨á«® áªà®««¨à㥬ëå áâப | ||||
| LP_SCROLL_UP: | ||||
| 	DEC E		;!FIXIT ¯à ¢¨«ì®? | ||||
| 	DEC E | ||||
| 	RET Z | ||||
| 
 | ||||
| 	LP_OPEN_PG | ||||
| 	 LP_OPEN_PG | ||||
| 	LD B,E | ||||
| 	LD E,0 | ||||
| 	PUSH BC | ||||
| 	LD E,0		;!FIXIT çñâ âãâ ¥ç¨áâ®, ¯®¤£®ª  ¯®¤ ®¤¨ ¢ à¨ â ®ª  £«®¡ «ì®£®? | ||||
| 	CALL	.RUN | ||||
| .EXIT:	 LP_CLOSE_PG | ||||
| 	RET | ||||
| 	; | ||||
| .RUN:	PUSH BC | ||||
| 	CALL LP_AT_D | ||||
| 	CALL LP_TAB_E	; ¢ëç¨á«¨âì ¯¥à¥¬¥ë¥ ¤«ï áâப¨ | ||||
| 	POP BC | ||||
| @ -1382,9 +1384,10 @@ LP_SCROLL_UP: | ||||
| 	INC L | ||||
| 	INC L | ||||
| 
 | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_V_END) | ||||
| 	LD A,(WIN_ID_0.V_END) | ||||
| 	CP L | ||||
| 	JR C,.EXIT	; ¥á«¨ ª®¥æ, â® ¢ë室 | ||||
| 	;JR C,.EXIT	; ¥á«¨ ª®¥æ, â® ¢ë室 | ||||
| 	RET C | ||||
| 	PUSH BC | ||||
| 
 | ||||
| 	LD A,L | ||||
| @ -1392,7 +1395,7 @@ LP_SCROLL_UP: | ||||
| 	LD L,A | ||||
| 	EXX | ||||
| 
 | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_SIZE_H) | ||||
| 	LD A,(WIN_ID_0.USER.SIZE_H) | ||||
| 	ADD A,A			; ç¨á«® ¡ ©â ¢ áâப¥ ¤«ï ¯¥à¥®á  | ||||
| 	ADD A,A | ||||
| 
 | ||||
| @ -1416,13 +1419,12 @@ LP_SCROLL_UP: | ||||
| 
 | ||||
| 	LD A,SYS_PAGE | ||||
| 	OUT (SLOT3),A | ||||
| 
 | ||||
| 	POP BC | ||||
| 	DJNZ .loop2 | ||||
| .EXIT:	LP_CLOSE_PG | ||||
| 	RET | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ; ‚室 : | ||||
| ;  D - ¢¥àåïï áâப  ( ®â 0 ) | ||||
| ;  E - ç¨á«® áªà®««¨à㥬ëå áâப | ||||
| @ -1454,7 +1456,7 @@ LP_SCROLL_DN: | ||||
| 	DEC L | ||||
| 	DEC L | ||||
| 
 | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_V_BEG) | ||||
| 	LD A,(WIN_ID_0.V_BEG) | ||||
| 	CP L		; .CONT: L >= A  | ||||
| 	JR Z,.CONT | ||||
| 	JR NC,.EXIT	; ¥á«¨ ª®¥æ, â® ¢ë室 | ||||
| @ -1465,7 +1467,7 @@ LP_SCROLL_DN: | ||||
| 	LD L,A | ||||
| 	EXX | ||||
| 
 | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_SIZE_H) | ||||
| 	LD A,(WIN_ID_0.USER.SIZE_H) | ||||
| 	ADD A,A | ||||
| 	ADD A,A | ||||
| 	LD C,A | ||||
| @ -1539,7 +1541,8 @@ WIN_GET_SYM: | ||||
| 
 | ||||
| ; DE - ¬¥á⮠ᨬ¢®«  ¢ ®ª¥ | ||||
| ; € - ®¬¥à ®ª  | ||||
| ; HL - ᨬ¢®«/ âਡãâ B - § ª®£¥¥à â®à | ||||
| ; HL - ᨬ¢®«/ âਡãâ | ||||
| ; B - § ª®£¥¥à â®à | ||||
| WIN_PUT_SYM: | ||||
| 	AND A | ||||
| 	SCF | ||||
| @ -1755,7 +1758,10 @@ LP_REST_L1: | ||||
| 
 | ||||
| ;!FIXIT ¥â ®¯¨á ¨ï, ¥¤®¤¥«  . <20>¥ç âì á ã¯à ¢«ïî騬¨ ᨬ¢®« ¬¨ | ||||
| ;------------------------------------------------------------------[#E0] | ||||
| LP_PRINT_LINE_DIR: | ||||
| ; DE - ¬¥á⮠ᨬ¢®«  ¢ ®ª¥ | ||||
| ; HL -  ¤à¥á á ¢ë¢®¤¨¬®© áâப®© | ||||
| ; B  - à §¤¥«¨â¥«ì | ||||
| LP_PR_LINE_DIR: | ||||
| 	CALL LP_BEG_P | ||||
| 	LD A,#50 | ||||
| 	OUT (SLOT3),A | ||||
| @ -1778,7 +1784,7 @@ LP_PRINT_LINE_DIR: | ||||
| 	 SUB 7 | ||||
| 	 JR Z,LP_BELL		; A = 07 "BELL" | ||||
| 	 DEC A | ||||
| 	 JR Z,LP_BACK		; A = 08 "backspace" | ||||
| 	 JR Z,LP_BACK		; A = 08 "Backspace" | ||||
| 	 DEC A | ||||
| 	 JR Z,LP_TAB		; A = 09 "TAB" | ||||
| 	 DEC A | ||||
| @ -1819,7 +1825,7 @@ LP_BACK: | ||||
| 	LD A,SYS_PAGE | ||||
| 	OUT (SLOT3),A | ||||
| 
 | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_H_BEG) | ||||
| 	LD A,(WIN_ID_0.H_BEG) | ||||
| 	CP D | ||||
| 	JR Z,LP_PRINT_LN_D11 | ||||
| 	INC B | ||||
| @ -1829,7 +1835,7 @@ LP_BACK: | ||||
| ;-------[TAB] | ||||
| LP_TAB:	LD A,SYS_PAGE | ||||
| 	OUT (SLOT3),A | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_H_BEG) | ||||
| 	LD A,(WIN_ID_0.H_BEG) | ||||
| 	SUB D | ||||
| 	NEG | ||||
| 	AND %0000'0111 | ||||
| @ -1850,9 +1856,9 @@ LP_TAB:	LD A,SYS_PAGE | ||||
| .end_Line: | ||||
| 	LD A,SYS_PAGE | ||||
| 	OUT (SLOT3),A | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_H_BEG) | ||||
| 	LD A,(WIN_ID_0.H_BEG) | ||||
| 	LD D,A | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_SIZE_REL) | ||||
| 	LD A,(WIN_ID_0.SIZE_REL) | ||||
| 	LD B,A | ||||
| 	;JP	LP_LF | ||||
| ;-------[TAB end] | ||||
| @ -1864,13 +1870,32 @@ LP_LF:	LD A,SYS_PAGE | ||||
| 	INC L | ||||
| 	INC L | ||||
| 
 | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_V_END) | ||||
| 	LD A,(WIN_ID_0.V_END) | ||||
| 	CP L | ||||
| 	JR NC,LP_PRINT_LN_D11 | ||||
| 	;!TEST BIOS SCROLL  | ||||
| 	 ;LD A,(WIN_ID_0.V_BEG) | ||||
| 	 ;LD L,A	; ¢¥àãâìáï  ¢¥àå ¡¥§ áªà®«« !!! | ||||
| 	 ;-------------------------------------------------------------\ | ||||
| 	 PUSH	HL | ||||
| 	 PUSH	BC | ||||
| 	 EXX | ||||
| 	 PUSH	BC | ||||
| 	 PUSH	DE | ||||
| 	 EXX | ||||
| 
 | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_V_BEG) | ||||
| 	LD L,A	; ¢¥àãâìáï  ¢¥àå ¡¥§ áªà®«« !!! | ||||
| 	 LD	A,(WIN_ID_0.USER.SIZE_V) | ||||
| 	 LD	B,A | ||||
| 	 CALL	LP_SCROLL_UP.RUN | ||||
| 
 | ||||
| 	 EXX | ||||
| 	 POP	DE | ||||
| 	 POP	BC | ||||
| 	 EXX | ||||
| 	 POP	BC | ||||
| 	 POP	HL | ||||
| 	 ;-------------------------------------------------------------/ | ||||
| 	; | ||||
| 	; scrolling ???? | ||||
| 	JR LP_PRINT_LN_D11 | ||||
| 
 | ||||
| @ -1881,9 +1906,9 @@ LP_CLS:	; ... | ||||
| LP_CR:	LD A,SYS_PAGE | ||||
| 	OUT (SLOT3),A | ||||
| 
 | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_H_BEG) | ||||
| 	LD A,(WIN_ID_0.H_BEG) | ||||
| 	LD D,A | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_SIZE_REL) | ||||
| 	LD A,(WIN_ID_0.SIZE_REL) | ||||
| 	LD B,A | ||||
| 
 | ||||
| 	JR LP_PRINT_LN_D11 | ||||
|  | ||||
| @ -15,11 +15,11 @@ PIC_FN1: | ||||
| 	LD A,SYS_PAGE | ||||
| 	OUT (SLOT3),A | ||||
| 
 | ||||
| 	LD A,(SYS_PAGE.WIN_MAP_IX+WIN_GRAF_Y) | ||||
| 	LD A,(WIN_ID_0.GRAF_Y) | ||||
| 	ADD A,E | ||||
| 	OUT (RGADR),A | ||||
| 	LD A,B | ||||
| 	LD BC,(SYS_PAGE.WIN_MAP_IX+WIN_GRAF_X) | ||||
| 	LD BC,(WIN_ID_0.GRAF_X) | ||||
| 	ADD HL,BC | ||||
| 	LD B,A | ||||
| 	LD A,#50 | ||||
|  | ||||
| @ -81,8 +81,8 @@ EMM.InitMem: | ||||
| RESERVED_PAGES: | ||||
|         ;; Block #1 - ¬®¦® ®á¢®¡®¤¨âì ¯® ID 1 | ||||
| 	 DB	1,2,3,4,5,6,7,8,9,10,11,12,13,14,15                     ; for Spectrum | ||||
|          ; í¬ã«ïâ®à <20>‡“ | ||||
| 	  DB	#42,#43,#44,#45,#46,47,#48,#49,#4A,#4B                  ; For (BASIC128, BASIC48, TRDOS, SCORP_ROM)*2, vBIOS, vEXTENSION | ||||
|          ; í¬ã«ïâ®à <20>‡“ ;!FIXIT ROM-Emulator ᤥ« âì ¤¨ ¬¨ç¥áª¨¥ áâà ¨æë | ||||
| 	  DB	#42,#43,#44,#45,#46,47;,#48,#49,#4A,#4B                  ; For (BASIC128, BASIC48, TRDOS, SCORP_ROM)*2, vBIOS, vEXTENSION | ||||
| 	  DB	#FF                                                     ; End of the block | ||||
| 	 ; | ||||
| 	; | ||||
|  | ||||
| @ -2,7 +2,6 @@ | ||||
| ;**********************************; | ||||
| ;       ACEX Loading program       ; | ||||
| ;**********************************; | ||||
| 
 | ||||
|  MACRO Conf_loader altera_chip | ||||
| .START:	DI | ||||
| 	LD BC,#FFEE							;		!HARDCODE | ||||
| @ -74,13 +73,13 @@ | ||||
|          ; ¢ HL  ¤à¥á ¯¥à¢®£® ¡ ©â  ª®äë | ||||
| 	 LD     DE,.Conf_header | ||||
| 	 LD     B,.Conf_header.length | ||||
| 1: | ||||
| .conf_header_loop: | ||||
| 	 LD     A,(DE) | ||||
| 	 CP     (HL) | ||||
| 	 JR     NZ,.Conf_Packed | ||||
| 	 INC    DE | ||||
| 	 INC    L | ||||
| 	 DJNZ   1B | ||||
| 	 DJNZ   .conf_header_loop | ||||
| 
 | ||||
| 	 XOR     A | ||||
| 	 JR      .exit_conf_check | ||||
|  | ||||
| @ -359,27 +359,28 @@ LOGOX:	LD	IX,win_descriptor.tab320x256 | ||||
| 	EI | ||||
| 	RET | ||||
| 
 | ||||
| 
 | ||||
| win_descriptor: | ||||
| .tab80x32: | ||||
| 	DB	40 | ||||
| 	DB	32 | ||||
| 	DB	0 | ||||
| 	DB	0 | ||||
| 	DB	%0001'1011 | ||||
| 	DB	0 | ||||
| 	DB	0 | ||||
| 	DB	0 | ||||
| .tab320x256: | ||||
| 	DB	16							; £®à¨§®â «ìë© à §¬¥à ®ª  ¢ § ª®¬¥áâ å | ||||
| 	DB	9							; ¢¥à⨪ «ìë© à §¬¥à ¢ § ª®¬¥áâ å | ||||
| 	DB	0							; ¯®«®¦¥¨¥ ®ª  ¯® £®à¨§®â «¨   íªà ¥ | ||||
| 	DB	0							; ¯®«®¦¥¨¥ ®ª  ¯® ¢¥à⨪ «¨   íªà ¥ | ||||
| 	DB	%0010'0000						; ०¨¬ § ª®¬¥áâ  | ||||
| 	DB	0							; ¤®¯®«¨â¥«ìë© à¥¦¨¬ § ª®¬¥áâ  | ||||
| 	DB	8							; ¯®«®¦¥¨¥ ¯® X ¢ ¯®«¥ £à ä¨ª¨ (¯® § ª®¬¥áâ ¬) | ||||
| 	DB	0							; ¯®«®¦¥¨¥ ¯® Y ¢ ¯®«¥ £à ä¨ª¨ (¯® § ª®¬¥áâ ¬) | ||||
| 
 | ||||
| .tab80x32	Window_UserVars{ | ||||
| 				 40,					; £®à¨§®â «ìë© à §¬¥à ®ª  ¢ § ª®¬¥áâ å | ||||
| 				 32,					; ¢¥à⨪ «ìë© à §¬¥à ¢ § ª®¬¥áâ å | ||||
| 				 0,					; ¯®«®¦¥¨¥ ®ª  ¯® £®à¨§®â «¨   íªà ¥ | ||||
| 				 0,					; ¯®«®¦¥¨¥ ®ª  ¯® ¢¥à⨪ «¨   íªà ¥ | ||||
| 				 %0001'1011,				; ०¨¬ § ª®¬¥áâ  | ||||
| 				 0,					; ¤®¯®«¨â¥«ìë© à¥¦¨¬ § ª®¬¥áâ  | ||||
| 				 0,					; ¯®«®¦¥¨¥ ¯® X ¢ ¯®«¥ £à ä¨ª¨ (¯® § ª®¬¥áâ ¬) | ||||
| 				 0					; ¯®«®¦¥¨¥ ¯® Y ¢ ¯®«¥ £à ä¨ª¨ (¯® § ª®¬¥áâ ¬) | ||||
| 				} | ||||
| .tab320x256	Window_UserVars{ | ||||
| 				 16,					; £®à¨§®â «ìë© à §¬¥à ®ª  ¢ § ª®¬¥áâ å | ||||
| 				 9,					; ¢¥à⨪ «ìë© à §¬¥à ¢ § ª®¬¥áâ å | ||||
| 				 0,					; ¯®«®¦¥¨¥ ®ª  ¯® £®à¨§®â «¨   íªà ¥ | ||||
| 				 0,					; ¯®«®¦¥¨¥ ®ª  ¯® ¢¥à⨪ «¨   íªà ¥ | ||||
| 				 %0010'0000,				; ०¨¬ § ª®¬¥áâ  | ||||
| 				 0,					; ¤®¯®«¨â¥«ìë© à¥¦¨¬ § ª®¬¥áâ  | ||||
| 				 8,					; ¯®«®¦¥¨¥ ¯® X ¢ ¯®«¥ £à ä¨ª¨ (¯® § ª®¬¥áâ ¬) | ||||
| 				 0					; ¯®«®¦¥¨¥ ¯® Y ¢ ¯®«¥ £à ä¨ª¨ (¯® § ª®¬¥áâ ¬) | ||||
| 				} | ||||
| ; | ||||
| 
 | ||||
|  MACRO  _mFADE | ||||
| 	LD	HL,memBUFFER.Shared | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Anatoliy Belyanskiy
						Anatoliy Belyanskiy