PIC_GET_PAL optimized and documented
This commit is contained in:
parent
32b684103d
commit
bc3397d204
@ -1 +1 @@
|
||||
Subproject commit 9a65a386bfb6aaccc7fb476a3e159a684af65743
|
||||
Subproject commit 90f4b54edb1effbd0b57b0ee64771d27e84023ff
|
||||
@ -183,101 +183,98 @@ PIC_FN3_NO:
|
||||
RET
|
||||
|
||||
;**************************************************************************
|
||||
;PIC_FN4:
|
||||
; ¢å®¤: HL - ¤ ë¥ ¯ «¨âàë RGB, E - ç «ìë© æ¢¥â
|
||||
; D - ç¨á«® 梥⮢, B - PAL-mask, A - page PAL
|
||||
;PIC_FN4:
|
||||
PIC_SET_PAL:
|
||||
PUSH IX
|
||||
PUSH IX
|
||||
|
||||
EX AF,AF'
|
||||
IN A,(RGADR)
|
||||
PUSH AF ; á®åà ¨âì ¯®«®¦¥¨¥ RGADR
|
||||
LD A,E
|
||||
OUT (RGADR),A ; ç «ìë© æ¢¥â ¢ ¯®àâ
|
||||
LD A,D ; á®åà ¨âì ç¨á«® 梥⮢
|
||||
EX AF,AF' ; ¢¥àãâì áâà ¨æã PAL
|
||||
EX AF,AF'
|
||||
IN A,(RGADR)
|
||||
PUSH AF ; á®åà ¨âì ¯®«®¦¥¨¥ RGADR
|
||||
LD A,E
|
||||
OUT (RGADR),A ; ç «ìë© æ¢¥â ¢ ¯®àâ
|
||||
LD A,D ; á®åà ¨âì ç¨á«® 梥⮢
|
||||
EX AF,AF' ; ¢¥àãâì áâà ¨æã PAL
|
||||
|
||||
BIT 7,H ; ¯à®¢¥à¨âì ¤à¥á ¤ ëå
|
||||
LD C,SLOT3 ; ¥á«¨ ¨¦¥ 8000h
|
||||
LD D,0C3H ; â® £à ä.íªà áâà ¨æ¥ 3
|
||||
JR Z,PIC_FN4_NO_PAGE1
|
||||
LD D,043H ; ¨ ç¥
|
||||
LD C,SLOT1 ; áâà ¨æ¥ 1
|
||||
PIC_FN4_NO_PAGE1:
|
||||
BIT 7,H ; ¯à®¢¥à¨âì ¤à¥á ¤ ëå
|
||||
LD C,SLOT3 ; ¥á«¨ ¨¦¥ 8000h
|
||||
LD D,#C3 ; â® £à ä.íªà áâà ¨æ¥ 3
|
||||
JR Z,.NO_PAGE1
|
||||
LD D,#43 ; ¨ ç¥
|
||||
LD C,SLOT1 ; áâà ¨æ¥ 1
|
||||
.NO_PAGE1:
|
||||
ADD A,A
|
||||
PUSH AF
|
||||
|
||||
ADD A,A
|
||||
JR C,PIC_PAL_READ
|
||||
ADD A,A
|
||||
AND #1C
|
||||
XOR #E0 ; ¬« ¤è¨© ¡ ©â ¤à¥á PAL
|
||||
LD E,A ; DE - ¤à¥á ¢ ¢¨¤¥®-އ“
|
||||
PUSH DE
|
||||
POP IX ; ¤à¥á ¯ «¨âàë
|
||||
|
||||
ADD A,A
|
||||
AND 1CH
|
||||
XOR 0E0H ; ¬« ¤è¨© ¡ ©â ¤à¥á PAL
|
||||
LD E,A ; DE - ¤à¥á ¢ ¢¨¤¥®-އ“
|
||||
PUSH DE
|
||||
POP IX ; ¤à¥á ¯ «¨âàë
|
||||
LD D,B ; ¬ ᪠PAL
|
||||
EX AF,AF' ; ¢¥àãâì ç¨á«® 梥⮢
|
||||
LD B,A ; ç¨á«® 梥⮢
|
||||
|
||||
LD D,B ; ¬ ᪠PAL
|
||||
EX AF,AF' ; ¢¥àãâì ç¨á«® 梥⮢
|
||||
LD B,A ; ç¨á«® 梥⮢
|
||||
IN E,(C) ; á®åà ¨âì áâà ¨æã 3
|
||||
LD A,#50 ; áâà ¨æ £à ä¨ç¥áª®£® RAM
|
||||
OUT (C),A
|
||||
|
||||
IN E,(C) ; á®åà ¨âì áâà ¨æã 3
|
||||
LD A,#50 ; áâà ¨æ £à ä¨ç¥áª®£® RAM
|
||||
OUT (C),A
|
||||
POP AF
|
||||
JR C,PIC_GET_PAL
|
||||
; 横« ãáâ ®¢ª¨ 梥⮢ ¯ «¨âàë
|
||||
.loopPal:
|
||||
LD A,(HL) ; B
|
||||
AND D
|
||||
LD (IX+2),A
|
||||
INC HL
|
||||
|
||||
PIC_FN4_L1: ; 横« ãáâ ®¢ª¨ 梥⮢ ¯ «¨âàë
|
||||
LD A,(HL) ; G
|
||||
AND D
|
||||
LD (IX+1),A
|
||||
INC HL
|
||||
|
||||
LD A,(HL) ; B
|
||||
AND D
|
||||
LD (IX+2),A
|
||||
INC HL
|
||||
LD A,(HL) ; R
|
||||
AND D
|
||||
LD (IX+0),A
|
||||
INC HL
|
||||
|
||||
LD A,(HL) ; G
|
||||
AND D
|
||||
LD (IX+1),A
|
||||
INC HL
|
||||
LD A,(HL) ; Y
|
||||
AND D
|
||||
LD (IX+3),A
|
||||
INC HL
|
||||
|
||||
LD A,(HL) ; R
|
||||
AND D
|
||||
LD (IX+0),A
|
||||
INC HL
|
||||
|
||||
LD A,(HL) ; Y
|
||||
AND D
|
||||
LD (IX+3),A
|
||||
INC HL
|
||||
|
||||
IN A,(RGADR)
|
||||
INC A
|
||||
OUT (RGADR),A
|
||||
|
||||
DJNZ PIC_FN4_L1 ; ¢ë¯®«ïâì, ¯®ª ¥ 0
|
||||
|
||||
OUT (C),E ; ¢®ááâ ®¢¨âì áâà ¨æã 3
|
||||
IN A,(RGADR)
|
||||
INC A
|
||||
OUT (RGADR),A
|
||||
DJNZ .loopPal ; ¢ë¯®«ïâì, ¯®ª ¥ 0
|
||||
|
||||
.exit: OUT (C),E ; ¢®ááâ ®¢¨âì áâà ¨æã 3
|
||||
POP AF
|
||||
OUT (RGADR),A ; ¢®ááâ ®¢¨âì Y_PORT
|
||||
POP IX
|
||||
AND A
|
||||
RET
|
||||
|
||||
PIC_PAL_READ:
|
||||
PIC_GET_PAL:
|
||||
; ADD A,A
|
||||
; AND #1C
|
||||
; XOR #E0 ; ¬« ¤è¨© ¡ ©â ¤à¥á PAL
|
||||
; LD E,A ; DE - ¤à¥á ¢ ¢¨¤¥®-އ“
|
||||
; PUSH DE
|
||||
; POP IX ; ¤à¥á ¯ «¨âàë
|
||||
|
||||
ADD A,A
|
||||
AND 1CH
|
||||
XOR 0E0H ; ¬« ¤è¨© ¡ ©â ¤à¥á 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
|
||||
|
||||
PIC_FN4_L2: ; 横« ãáâ ®¢ª¨ 梥⮢ ¯ «¨âàë
|
||||
; 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)
|
||||
LD (HL),A ; B
|
||||
INC HL
|
||||
@ -297,16 +294,15 @@ PIC_FN4_L2: ; 横
|
||||
IN A,(RGADR)
|
||||
INC A
|
||||
OUT (RGADR),A
|
||||
DJNZ .loopPal ; ¢ë¯®«ïâì, ¯®ª ¥ 0
|
||||
|
||||
DJNZ PIC_FN4_L2 ; ¢ë¯®«ïâì, ¯®ª ¥ 0
|
||||
|
||||
OUT (C),E ; ¢®ááâ ®¢¨âì áâà ¨æã 3
|
||||
|
||||
POP AF
|
||||
OUT (RGADR),A ; ¢®ááâ ®¢¨âì Y_PORT
|
||||
POP IX
|
||||
AND A
|
||||
RET
|
||||
JR PIC_SET_PAL.exit
|
||||
; OUT (C),E ; ¢®ááâ ®¢¨âì áâà ¨æã 3
|
||||
; POP AF
|
||||
; OUT (RGADR),A ; ¢®ááâ ®¢¨âì Y_PORT
|
||||
; POP IX
|
||||
; AND A
|
||||
; RET
|
||||
|
||||
|
||||
;********************************************************************
|
||||
@ -339,9 +335,9 @@ PIC_FN6:
|
||||
; AND 3
|
||||
; ADD A,A
|
||||
; ADD A,A
|
||||
; ADD A,0E0H
|
||||
; ADD A,#E0
|
||||
; LD L,A
|
||||
; LD H,43H
|
||||
; LD H,#43
|
||||
; IN A,(SLOT1)
|
||||
; PUSH AF
|
||||
;
|
||||
|
||||
@ -330,10 +330,10 @@ LOGOX: LD IX,win_descriptor.tab320x256
|
||||
|
||||
LD HL,memBUFFER.Shared
|
||||
; A = 0
|
||||
LD D,A ; SET DESKTOP PALETTE & CURSOR COLORS
|
||||
LD E,A
|
||||
LD B,def_pal_mask
|
||||
CALL PIC_SET_PAL
|
||||
LD D,A ; SET DESKTOP PALETTE & CURSOR COLORS
|
||||
LD E,A
|
||||
LD B,def_pal_mask
|
||||
CALL PIC_SET_PAL
|
||||
|
||||
SAFE_PORTY
|
||||
|
||||
@ -594,101 +594,5 @@ DCR01:
|
||||
LDIR
|
||||
RET
|
||||
|
||||
MODULE COLORS
|
||||
CGA:
|
||||
; B G R _
|
||||
.PALETTE: DB #00,#00,#00,#00 ; 0 BLACK
|
||||
DB #A8,#00,#00,#00 ; 1 BLUE
|
||||
DB #00,#A8,#00,#00 ; 2 GREEN
|
||||
DB #A8,#A8,#00,#00 ; 3 CYAN
|
||||
DB #00,#00,#A8,#00 ; 4 RED
|
||||
DB #A8,#00,#A8,#00 ; 5 MAGENTA
|
||||
DB #00,#54,#A8,#00 ; 6 BROWN
|
||||
DB #A8,#A8,#A8,#00 ; 7 WHITE
|
||||
DB #54,#54,#54,#00 ; 8 GRAY
|
||||
DB #FC,#54,#54,#00 ; 9 BRIGHT BLUE
|
||||
DB #54,#FC,#54,#00 ; 10 BRIGHT GREEN
|
||||
DB #FC,#FC,#54,#00 ; 11 BRIGHT CYAN
|
||||
DB #54,#54,#FC,#00 ; 12 BRIGHT RED
|
||||
DB #FC,#54,#FC,#00 ; 13 BRIGHT MAGENTA
|
||||
DB #54,#FC,#FC,#00 ; 14 YELLOW
|
||||
DB #FC,#FC,#FC,#00 ; 15 WHITE
|
||||
;
|
||||
;
|
||||
INC:
|
||||
.BLACK EQU #00
|
||||
.BLUE EQU #01
|
||||
.GREEN EQU #02
|
||||
.CYAN EQU #03
|
||||
.RED EQU #04
|
||||
.MAGENTA EQU #05
|
||||
.BROWN EQU #06
|
||||
.LGRAY EQU #07
|
||||
.DGRAY EQU #08
|
||||
.LBLUE EQU #09
|
||||
.LGREEN EQU #0A
|
||||
.LCYAN EQU #0B
|
||||
.LRED EQU #0C
|
||||
.LMAGENT EQU #0D
|
||||
.YELLOW EQU #0E
|
||||
.WHITE EQU #0F
|
||||
PAPER:
|
||||
.BLACK EQU 16*INC.BLACK
|
||||
.BLUE EQU 16*INC.BLUE
|
||||
.GREEN EQU 16*INC.GREEN
|
||||
.CYAN EQU 16*INC.CYAN
|
||||
.RED EQU 16*INC.RED
|
||||
.MAGENTA EQU 16*INC.MAGENTA
|
||||
.BROWN EQU 16*INC.BROWN
|
||||
.LGRAY EQU 16*INC.LGRAY
|
||||
.DGRAY EQU 16*INC.DGRAY
|
||||
.LBLUE EQU 16*INC.LBLUE
|
||||
.LGREEN EQU 16*INC.LGREEN
|
||||
.LCYAN EQU 16*INC.LCYAN
|
||||
.LRED EQU 16*INC.LRED
|
||||
.LMAGENT EQU 16*INC.LMAGENT
|
||||
.YELLOW EQU 16*INC.YELLOW
|
||||
.WHITE EQU 16*INC.WHITE
|
||||
|
||||
FLASH EQU #80
|
||||
|
||||
/*
|
||||
INC_COLOR:
|
||||
.BLACK EQU #00
|
||||
.BLUE EQU #01
|
||||
.GREEN EQU #02
|
||||
.CYAN EQU #03
|
||||
.RED EQU #04
|
||||
.MAGENTA EQU #05
|
||||
.BROWN EQU #06
|
||||
.LGRAY EQU #07
|
||||
.DGRAY EQU #08
|
||||
.LBLUE EQU #09
|
||||
.LGREEN EQU #0A
|
||||
.LCYAN EQU #0B
|
||||
.LRED EQU #0C
|
||||
.LMAGENT EQU #0D
|
||||
.YELLOW EQU #0E
|
||||
.WHITE EQU #0F
|
||||
.FLASH EQU #80
|
||||
PAPER_COLOR:
|
||||
.BLACK EQU 16*COLORS.INC.BLACK
|
||||
.BLUE EQU 16*COLORS.INC.BLUE
|
||||
.GREEN EQU 16*COLORS.INC.GREEN
|
||||
.CYAN EQU 16*COLORS.INC.CYAN
|
||||
.RED EQU 16*COLORS.INC.RED
|
||||
.MAGENTA EQU 16*COLORS.INC.MAGENTA
|
||||
.BROWN EQU 16*COLORS.INC.BROWN
|
||||
.LGRAY EQU 16*COLORS.INC.LGRAY
|
||||
.DGRAY EQU 16*COLORS.INC.DGRAY
|
||||
.LBLUE EQU 16*COLORS.INC.LBLUE
|
||||
.LGREEN EQU 16*COLORS.INC.LGREEN
|
||||
.LCYAN EQU 16*COLORS.INC.LCYAN
|
||||
.LRED EQU 16*COLORS.INC.LRED
|
||||
.LMAGENT EQU 16*COLORS.INC.LMAGENT
|
||||
.YELLOW EQU 16*COLORS.INC.YELLOW
|
||||
.WHITE EQU 16*COLORS.INC.WHITE
|
||||
.FLASH EQU #80
|
||||
*/
|
||||
ENDMODULE
|
||||
include 'shared_includes/constants/standart_colors.inc'
|
||||
;
|
||||
@ -7,7 +7,7 @@
|
||||
DEFINE NeedSafePort_Y 1 ; !!!!! ¥á«¨ 0, â® ¢ ०¨¬¥ sp-ᯥªâà㬠¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ § áà âì íªà
|
||||
DEFINE Pashalki 0 ;
|
||||
DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp'
|
||||
|
||||
DEFINE StandartCGApallete 1 ; <20>®¤ª«îç âì ¯ «¨âàã ¨§ standart_colors.inc
|
||||
|
||||
|
||||
; ‡ ¤¥à¦ª ¢ ª ¤à å ¯®á«¥ ®âà¨á®¢ª¨ «®£®â¨¯ (0 = 256)
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user