...
This commit is contained in:
		
							parent
							
								
									bc3397d204
								
							
						
					
					
						commit
						8ecbdfa4fe
					
				| @ -1 +1 @@ | ||||
| Subproject commit 90f4b54edb1effbd0b57b0ee64771d27e84023ff | ||||
| Subproject commit 6c92964be4fbbbec546d52ad6e2b51fd596d8a02 | ||||
| @ -162,10 +162,10 @@ CL1     EQU 240 | ||||
| 
 | ||||
| SET_PAL_IBM: | ||||
| 	LD DE,#8000 | ||||
| 	JR SET_PAL_ | ||||
| 	JR SET_PAL_TXT | ||||
| SET_PAL_ZX: | ||||
| 	LD DE,0 | ||||
| SET_PAL_: | ||||
| SET_PAL_TXT: | ||||
| 	PUSH IX | ||||
| 	IN A,(RGADR) | ||||
| 	PUSH AF | ||||
| @ -175,22 +175,23 @@ SET_PAL_: | ||||
| 	OUT (SLOT3),A | ||||
| 
 | ||||
| 	LD IX,#C3F0                                                     ; !HARDCODE  ¤à¥á ¯ «¨âàë? | ||||
| SET_PAL_ZX1: | ||||
| .generate_loop: | ||||
| 	CALL GENERATE_PAL1 | ||||
| 	LD A,E | ||||
| 	OUT (RGADR),A | ||||
| 	LD (IX),L | ||||
| 	LD (IX+1),B | ||||
| 	LD (IX+2),C | ||||
| 	LD (IX+3),H | ||||
| 	LD (IX),L	; R | ||||
| 	LD (IX+1),B	; G | ||||
| 	LD (IX+2),C	; B | ||||
| 	LD (IX+3),H	; i ? | ||||
| 	INC E | ||||
| 	JR NZ,SET_PAL_ZX1 | ||||
| 	JR NZ,.generate_loop | ||||
| 	; | ||||
| 	LD BC,4 | ||||
| 	ADD IX,BC | ||||
| 	INC D | ||||
| 	LD A,D | ||||
| 	AND 3 | ||||
| 	JR NZ,SET_PAL_ZX1 | ||||
| 	JR NZ,.generate_loop | ||||
| 
 | ||||
| 	EX AF,AF' | ||||
| 	OUT (SLOT3),A | ||||
| @ -200,155 +201,126 @@ SET_PAL_ZX1: | ||||
| 	RET | ||||
| 
 | ||||
| ;	£¥¥à æ¨ï ᯥªâà㬮¢áª®© ¯ «¨âàë. | ||||
| ; E -  âਡãâ, D - ®¬¥à PAL | ||||
| ; ‚›•Ž„ - C - BLUE, L - RED, B - GREEN, H - INTENSITY | ||||
| GENERATE_PAL1:	 | ||||
| 	XOR A | ||||
| 	LD C,A | ||||
| 	LD B,A | ||||
| 	LD L,A | ||||
| 
 | ||||
| 	BIT 7,D | ||||
| 	JR NZ,GENERATE_IBM | ||||
| 
 | ||||
| 	BIT 1,D | ||||
| 	JR NZ,GEM_PAL_FLH       ;!FIXIT ¯®å®¤ã ¨ª®£¤  ¥ ¢ë§ë¢ ¥âáï | ||||
| GEM_PAL_NOF: | ||||
| 	BIT 0,D | ||||
| 	JR Z,GEN_PAL_PAP | ||||
| 
 | ||||
| GEN_PAL_INK: | ||||
| 	LD A,CL0 | ||||
| 	BIT 6,E | ||||
| 	JR Z,GEN_PAL_NOI1 | ||||
| 	LD A,CL1 | ||||
| GEN_PAL_NOI1: | ||||
| 	BIT 0,E		; BLUE | ||||
| 	JR Z,GEN_PP_NO1 | ||||
| 	LD C,A | ||||
| GEN_PP_NO1: | ||||
| 	BIT 1,E		; RED | ||||
| 	JR Z,GEN_PP_NO2 | ||||
| 	LD L,A | ||||
| GEN_PP_NO2: | ||||
| 	BIT 2,E		; GREEN | ||||
| 	JR Z,GEN_PP_NO3 | ||||
| 	LD B,A | ||||
| GEN_PP_NO3: | ||||
| 	JR GEN_PP_NO6 | ||||
| ; ‚室:	 E -  âਡãâ, D - ®¬¥à ¯ «¨âàë | ||||
| ; ‚›•Ž„: L - red, B - green, C - blue, H - intensity | ||||
| GENERATE_PAL1:	XOR	A | ||||
| 		LD	C,A | ||||
| 		LD	B,A | ||||
| 		LD	L,A | ||||
| 		BIT	7,D | ||||
| 		JR	NZ,GENERATE_IBM | ||||
| 		BIT	1,D | ||||
| 		JR	NZ,.FLH | ||||
| .NOF:		BIT	0,D | ||||
| 		JR	Z,.PAPER | ||||
| .INK:		LD	A,CL0 | ||||
| 		BIT	6,E | ||||
| 		JR	Z,.NOI1 | ||||
| 		LD	A,CL1 | ||||
| .NOI1:		BIT	0,E		; BLUE | ||||
| 		JR	Z,.NO1 | ||||
| 		LD	C,A | ||||
| .NO1:		BIT	1,E		; RED | ||||
| 		JR	Z,.PP_NO2 | ||||
| 		LD	L,A | ||||
| .PP_NO2:	BIT	2,E		; GREEN | ||||
| 		JR	Z,.PP_NO3 | ||||
| 		LD	B,A | ||||
| .PP_NO3:	JR	.PP_NO6 | ||||
| ; | ||||
| ; | ||||
| GEM_PAL_FLH: | ||||
| 	BIT 7,E | ||||
| 	JR Z,GEM_PAL_NOF | ||||
| 	BIT 0,D | ||||
| 	JR Z,GEN_PAL_INK | ||||
| 
 | ||||
| GEN_PAL_PAP: | ||||
| 	LD A,CL0 | ||||
| 	BIT 6,E | ||||
| 	JR Z,GEN_PAL_NOI2 | ||||
| 	LD A,CL1 | ||||
| GEN_PAL_NOI2: | ||||
| 	BIT 3,E		; BLUE | ||||
| 	JR Z,GEN_PP_NO4 | ||||
| 	LD C,A | ||||
| GEN_PP_NO4: | ||||
| 	BIT 4,E		; RED | ||||
| 	JR Z,GEN_PP_NO5 | ||||
| 	LD L,A | ||||
| GEN_PP_NO5: | ||||
| 	BIT 5,E		; GREEN | ||||
| 	JR Z,GEN_PP_NO6 | ||||
| 	LD B,A | ||||
| GEN_PP_NO6: | ||||
| 
 | ||||
| 	LD A,C | ||||
| 	AND A | ||||
| 	RRA | ||||
| 	ADD A,L | ||||
| 	RRA | ||||
| 	ADD A,B | ||||
| 	RRA | ||||
| 	LD H,A		; B/W mode | ||||
| 
 | ||||
| 	RET | ||||
| 
 | ||||
| .FLH:		BIT	7,E | ||||
| 		JR	Z,.NOF | ||||
| 		BIT	0,D | ||||
| 		JR	Z,.INK | ||||
| .PAPER:		LD	A,CL0 | ||||
| 		BIT	6,E | ||||
| 		JR	Z,.NOI2 | ||||
| 		LD	A,CL1 | ||||
| .NOI2:		BIT	3,E		; BLUE | ||||
| 		JR	Z,.PP_NO4 | ||||
| 		LD	C,A | ||||
| .PP_NO4:	BIT	4,E		; RED | ||||
| 		JR	Z,.PP_NO5 | ||||
| 		LD	L,A | ||||
| .PP_NO5:	BIT	5,E		; GREEN | ||||
| 		JR	Z,.PP_NO6 | ||||
| 		LD	B,A | ||||
| .PP_NO6:	LD	A,C | ||||
| 		AND	A | ||||
| 		RRA | ||||
| 		ADD	A,L | ||||
| 		RRA | ||||
| 		ADD	A,B | ||||
| 		RRA | ||||
| 		LD	H,A		; B/W mode | ||||
| 		RET | ||||
| ;**************************************** | ||||
| 
 | ||||
| GENERATE_IBM: | ||||
| 	BIT 7,E | ||||
| 	JR Z,GEN_IBM_NO_FLH | ||||
| 	JR Z,.NO_FLH | ||||
| 	BIT 1,D | ||||
| 	JR Z,GEN_IBM_PAPER | ||||
| 
 | ||||
| GEN_IBM_NO_FLH: | ||||
| 	JR Z,.PAPER | ||||
| .NO_FLH: | ||||
| 	BIT 0,D | ||||
| 	JR Z,GEN_IBM_PAPER | ||||
| 
 | ||||
| GEN_IBM_INK: | ||||
| 
 | ||||
| GEN_NO_INTENS: | ||||
| 	LD A,0A8h | ||||
| GEN_INTENS: | ||||
| 	JR Z,.PAPER | ||||
| .INK: | ||||
| .NO_INTENS: | ||||
| 	LD A,#A8 | ||||
| .INTENS: | ||||
| 	BIT 0,E		; BLUE | ||||
| 	JR Z,GEN_PPI_NO4 | ||||
| 	JR Z,.PPI_NO4 | ||||
| 	LD C,A | ||||
| GEN_PPI_NO4: | ||||
| .PPI_NO4: | ||||
| 	BIT 2,E		; RED | ||||
| 	JR Z,GEN_PPI_NO5 | ||||
| 	JR Z,.PPI_NO5 | ||||
| 	LD L,A | ||||
| GEN_PPI_NO5: | ||||
| .PPI_NO5: | ||||
| 	BIT 1,E		; GREEN | ||||
| 	JR Z,GEN_PPI_NO6 | ||||
| 	JR Z,.PPI_NO6 | ||||
| 	LD B,A | ||||
| GEN_PPI_NO6: | ||||
| 
 | ||||
| .PPI_NO6: | ||||
| 	LD A,E | ||||
| 	AND 0Fh | ||||
| 	AND #0F | ||||
| 	CP 6 | ||||
| 	JR NZ,no_correct | ||||
| 	LD B,54h | ||||
| no_correct: | ||||
| 	JR NZ,.no_correct | ||||
| 	LD B,#54 | ||||
| .no_correct: | ||||
| 	BIT 3,E | ||||
| 	JR Z,GEN_PP_NO6 | ||||
| 	JR Z,GENERATE_PAL1.PP_NO6 | ||||
| 
 | ||||
| 	LD A,54h | ||||
| 	LD A,#54 | ||||
| 	ADD A,C | ||||
| 	LD C,A | ||||
| 	LD A,54h | ||||
| 	LD A,#54 | ||||
| 	ADD A,B | ||||
| 	LD B,A | ||||
| 	LD A,54h | ||||
| 	LD A,#54 | ||||
| 	ADD A,L | ||||
| 	LD L,A | ||||
| 
 | ||||
| 	JR GEN_PP_NO6 | ||||
| 
 | ||||
| GEN_IBM_PAPER: | ||||
| 	LD A,0A8h | ||||
| 	JR GENERATE_PAL1.PP_NO6 | ||||
| .PAPER: | ||||
| 	LD A,#A8 | ||||
| 	BIT 4,E		; BLUE | ||||
| 	JR Z,GEN_PPI_NO4X | ||||
| 	JR Z,.PPI_NO4X | ||||
| 	LD C,A | ||||
| GEN_PPI_NO4X: | ||||
| .PPI_NO4X: | ||||
| 	BIT 6,E		; RED | ||||
| 	JR Z,GEN_PPI_NO5X | ||||
| 	JR Z,.PPI_NO5X | ||||
| 	LD L,A | ||||
| GEN_PPI_NO5X: | ||||
| .PPI_NO5X: | ||||
| 	BIT 5,E		; GREEN | ||||
| 	JR Z,GEN_PPI_NO6X | ||||
| 	JR Z,.PPI_NO6X | ||||
| 	LD B,A | ||||
| GEN_PPI_NO6X: | ||||
| 
 | ||||
| .PPI_NO6X: | ||||
| 	LD A,E | ||||
| 	AND 070h | ||||
| 	CP 60h | ||||
| 	JR NZ,no_correct2 | ||||
| 	LD B,54h | ||||
| no_correct2: | ||||
| 	JR GEN_PP_NO6 | ||||
| 
 | ||||
| 	AND #70 | ||||
| 	CP #60 | ||||
| 	JR NZ,GENERATE_PAL1.PP_NO6 | ||||
| 	LD B,#54 | ||||
| 	JR GENERATE_PAL1.PP_NO6 | ||||
| ;**************************************** | ||||
| 
 | ||||
| ;**************************************** | ||||
| ;**************************************** | ||||
| 
 | ||||
| @ -364,7 +336,7 @@ SET_PAL_GRAF: | ||||
| 	OUT (SLOT3),A | ||||
| 
 | ||||
| 
 | ||||
| 	LD IX,0C3E0H | ||||
| 	LD IX,#C3E0 | ||||
| 	LD A,D | ||||
| 	AND 3 | ||||
| 	ADD A,A | ||||
|  | ||||
| @ -259,20 +259,6 @@ PIC_SET_PAL: | ||||
| 	RET | ||||
| 
 | ||||
| PIC_GET_PAL: | ||||
| 	; ADD A,A | ||||
| 	; AND #1C | ||||
| 	; XOR #E0		; ¬« ¤è¨© ¡ ©â  ¤à¥á  PAL | ||||
| 	; LD E,A		; DE -  ¤à¥á ¢ ¢¨¤¥®-އ“ | ||||
| 	; PUSH DE | ||||
| 	; POP IX		;  ¤à¥á ¯ «¨âàë | ||||
| 
 | ||||
| 	; LD D,B		; ¬ áª  PAL | ||||
| 	; EX AF,AF'	; ¢¥àãâì ç¨á«® 梥⮢ | ||||
| 	; LD B,A		; ç¨á«® 梥⮢ | ||||
| 
 | ||||
| 	; IN E,(C)	; á®åà ¨âì áâà ¨æã 3 | ||||
| 	; LD A,#50	; áâà ¨æ  £à ä¨ç¥áª®£® RAM | ||||
| 	; OUT (C),A | ||||
| 	; 横« çâ¥¨ï æ¢¥â®¢ ¯ «¨âàë | ||||
| .loopPal: | ||||
| 	LD A,(IX+2) | ||||
| @ -297,13 +283,6 @@ PIC_GET_PAL: | ||||
| 	DJNZ .loopPal	; ¢ë¯®«ïâì, ¯®ª  ¥ 0 | ||||
| 
 | ||||
| 	JR	PIC_SET_PAL.exit | ||||
| 	; OUT (C),E	; ¢®ááâ ®¢¨âì áâà ¨æã 3 | ||||
| 	; POP AF | ||||
| 	; OUT (RGADR),A	; ¢®ááâ ®¢¨âì Y_PORT | ||||
| 	; POP IX | ||||
| 	; AND A | ||||
| 	; RET | ||||
| 
 | ||||
| 
 | ||||
| ;******************************************************************** | ||||
| PIC_FN5:	; “‘’€<E28099>ނЀ ‘’<E28098>€<EFBFBD>ˆ–› MODE | ||||
| @ -312,6 +291,7 @@ PIC_FN5:	;  | ||||
| 	OUT (RGMOD),A | ||||
| 	RET | ||||
| ;******************************************************************* | ||||
| ; <20>ст ЎЂЊ  ЂутрЅЅЉ Џ ЋЈтры | ||||
| ; A - page_pal, E - ®¬¥à ¯ «¨âàë, B - ⨯ ¯ «¨âàë | ||||
| PIC_FN6: | ||||
| 	LD D,A | ||||
|  | ||||
| @ -554,24 +554,25 @@ SETPAL4: | ||||
| 	LD	HL,COLORS.CGA.PALETTE | ||||
| 	LD	DE,memBUFFER.Shared | ||||
| 	LD	C,#08 | ||||
| DCR0: | ||||
| 	LD	B,#10 | ||||
| DCR1: | ||||
| 	PUSH	BC | ||||
| 
 | ||||
| DCR0:	LD	B,#10	;!HARDCODE number of colors in CGA pallete | ||||
| 	PUSH	HL | ||||
| 	; | ||||
| DCR1:	POP	HL | ||||
| 	PUSH	HL | ||||
| 	PUSH	BC | ||||
| 	LDI  | ||||
| 	LDI  | ||||
| 	LDI  | ||||
| 	LDI  | ||||
| 	POP	HL | ||||
| 	POP	BC | ||||
| 	DJNZ	DCR1 | ||||
| 	INC	HL | ||||
| 	INC	HL | ||||
| 	INC	HL | ||||
| 	INC	HL | ||||
| 	; | ||||
| 	INC	SP | ||||
| 	INC	SP | ||||
| 	DEC	C | ||||
| 	JR	NZ,DCR0 | ||||
| 	 | ||||
| 	LD	HL,memBUFFER.Shared | ||||
| 	LD	BC,512 | ||||
| 	LDIR  | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Anatoliy Belyanskiy
						Anatoliy Belyanskiy