...
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