mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2024-06-13 07:29:35 +00:00
Reworking GCOL handling to call SHR routines also.
This commit is contained in:
parent
5780da59fe
commit
c3367bfc82
BIN
applecorn.po
BIN
applecorn.po
Binary file not shown.
26
auxmem.shr.s
26
auxmem.shr.s
|
@ -555,7 +555,16 @@ SHRCLEAR PHP ; Disable interrupts
|
||||||
|
|
||||||
|
|
||||||
* Set text colour
|
* Set text colour
|
||||||
* A=txt colour
|
* A=gfx colour, X=gcol action
|
||||||
|
* GCOL actions:
|
||||||
|
* 0 = SET pixel
|
||||||
|
* 1 = ORA with pixel
|
||||||
|
* 2 = AND with pixel
|
||||||
|
* 3 = XOR with pixel
|
||||||
|
* 4 = NOT pixel
|
||||||
|
* 5 = NUL no change to pixel
|
||||||
|
* 6 = CLR clear pixel to background
|
||||||
|
* 7 = UND undefined
|
||||||
SHRSETTCOL PHA
|
SHRSETTCOL PHA
|
||||||
LDX VDUPIXELS ; Pixels per byte
|
LDX VDUPIXELS ; Pixels per byte
|
||||||
CPX #$02 ; 2 is 320-mode (MODE 1)
|
CPX #$02 ; 2 is 320-mode (MODE 1)
|
||||||
|
@ -616,6 +625,21 @@ SHRSETTCOL PHA
|
||||||
DB $FF
|
DB $FF
|
||||||
|
|
||||||
|
|
||||||
|
* Set graphics colour
|
||||||
|
* A=gfx colour, X=gcol action
|
||||||
|
* GCOL actions:
|
||||||
|
* 0 = SET pixel
|
||||||
|
* 1 = ORA with pixel
|
||||||
|
* 2 = AND with pixel
|
||||||
|
* 3 = XOR with pixel
|
||||||
|
* 4 = NOT pixel
|
||||||
|
* 5 = NUL no change to pixel
|
||||||
|
* 6 = CLR clear pixel to background
|
||||||
|
* 7 = UND undefined
|
||||||
|
SHRSETGCOL
|
||||||
|
RTS
|
||||||
|
|
||||||
|
|
||||||
* Set up default palette
|
* Set up default palette
|
||||||
SHRDEFPAL LDY #00 ; Palette offset for 320 mode
|
SHRDEFPAL LDY #00 ; Palette offset for 320 mode
|
||||||
LDA VDUPIXELS ; Pixels per byte
|
LDA VDUPIXELS ; Pixels per byte
|
||||||
|
|
20
auxmem.vdu.s
20
auxmem.vdu.s
|
@ -924,8 +924,11 @@ VDU20LP STA TXTFGD,X ; Clear all colours
|
||||||
JSR SETTCOL ; Set txt background
|
JSR SETTCOL ; Set txt background
|
||||||
LDX #$00
|
LDX #$00
|
||||||
LDA #$80
|
LDA #$80
|
||||||
JSR HGRSETGCOL ; Set gfx background
|
JSR HGRSETGCOL ; Set HGR background
|
||||||
LDA VDUCOLOURS
|
BIT VDUBANK
|
||||||
|
BPL :S1 ; Skip if not GS
|
||||||
|
JSR SHRSETGCOL ; Set SHR background
|
||||||
|
:S1 LDA VDUCOLOURS
|
||||||
AND #$07
|
AND #$07
|
||||||
PHA
|
PHA
|
||||||
STA TXTFGD ; Note txt foreground
|
STA TXTFGD ; Note txt foreground
|
||||||
|
@ -933,7 +936,11 @@ VDU20LP STA TXTFGD,X ; Clear all colours
|
||||||
LDX #$00
|
LDX #$00
|
||||||
PLA
|
PLA
|
||||||
STA GFXFGD ; Note gfx foreground
|
STA GFXFGD ; Note gfx foreground
|
||||||
JMP HGRSETGCOL ; Set gfx foreground
|
JSR HGRSETGCOL ; Set gfx foreground
|
||||||
|
BIT VDUBANK
|
||||||
|
BPL :S2 ; Skip if not GS
|
||||||
|
JSR SHRSETGCOL ; Set SHR background
|
||||||
|
:S2 RTS
|
||||||
|
|
||||||
* VDU 17 - COLOUR n - select text or border colour
|
* VDU 17 - COLOUR n - select text or border colour
|
||||||
VDU17 LDA VDUQ+8
|
VDU17 LDA VDUQ+8
|
||||||
|
@ -947,7 +954,7 @@ VDU17BORDER AND #$0F
|
||||||
STA CLOCKCTL
|
STA CLOCKCTL
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
* Helper function
|
* Helper function to set text FG/BG colour in HGR & SHR modes
|
||||||
SETTCOL JSR HGRSETTCOL ; Set txt foreground
|
SETTCOL JSR HGRSETTCOL ; Set txt foreground
|
||||||
BIT VDUBANK
|
BIT VDUBANK
|
||||||
BPL :NOTGS
|
BPL :NOTGS
|
||||||
|
@ -968,7 +975,10 @@ VDU18A LDA VDUQ+7 ; GCOL action
|
||||||
PLA
|
PLA
|
||||||
AND VDUCOLOURS
|
AND VDUCOLOURS
|
||||||
STA GFXFGD-2,Y ; Store GCOL colour
|
STA GFXFGD-2,Y ; Store GCOL colour
|
||||||
TAY
|
BIT VDUBANK
|
||||||
|
BPL :S1 ; Skip if not GS
|
||||||
|
JSR SHRSETGCOL ; Set SHR background
|
||||||
|
:S1 TAY
|
||||||
LDA CLRTRANS8,Y ; Trans. to physical
|
LDA CLRTRANS8,Y ; Trans. to physical
|
||||||
PHP
|
PHP
|
||||||
ROL A
|
ROL A
|
||||||
|
|
Loading…
Reference in New Issue
Block a user