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