mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2024-06-15 19:29:32 +00:00
Fixed VDU19 bug. Ensure parms are within range.
This commit is contained in:
parent
72c5863958
commit
06d1c6b4d3
BIN
applecorn.po
BIN
applecorn.po
Binary file not shown.
21
auxmem.shr.s
21
auxmem.shr.s
|
@ -700,9 +700,15 @@ SHRDEFPAL LDY #00 ; Palette offset for 320 mode
|
||||||
* Assign a 'physical' colour from the 16 colour palette to a
|
* Assign a 'physical' colour from the 16 colour palette to a
|
||||||
* 'logical' colour for the current mode
|
* 'logical' colour for the current mode
|
||||||
* On entry: X=logical colour, Y=physical colour
|
* On entry: X=logical colour, Y=physical colour
|
||||||
SHRPALCHANGE LDA VDUPIXELS ; Pixels per byte
|
SHRPALCHANGE TYA
|
||||||
|
AND #%00011110 ; Has already been shifted
|
||||||
|
TAY
|
||||||
|
LDA VDUPIXELS ; Pixels per byte
|
||||||
CMP #$02 ; 2 is 320-mode (MODE 1)
|
CMP #$02 ; 2 is 320-mode (MODE 1)
|
||||||
BEQ :MODE320
|
BEQ :MODE320
|
||||||
|
TXA
|
||||||
|
AND #%00000110 ; Has already been shifted
|
||||||
|
TAX
|
||||||
LDA PALETTE320,Y ; Byte 1 of physical colour
|
LDA PALETTE320,Y ; Byte 1 of physical colour
|
||||||
STAL $E19E00,X ; Store in logical slot (4 copies)
|
STAL $E19E00,X ; Store in logical slot (4 copies)
|
||||||
STAL $E19E00+8,X
|
STAL $E19E00+8,X
|
||||||
|
@ -714,7 +720,10 @@ SHRPALCHANGE LDA VDUPIXELS ; Pixels per byte
|
||||||
STAL $E19E00+17,X
|
STAL $E19E00+17,X
|
||||||
STAL $E19E00+25,X
|
STAL $E19E00+25,X
|
||||||
RTS
|
RTS
|
||||||
:MODE320 LDA PALETTE320,Y ; Byte 1 of physical colour
|
:MODE320 TXA
|
||||||
|
AND #%00011110 ; Has already been shifted
|
||||||
|
TAX
|
||||||
|
LDA PALETTE320,Y ; Byte 1 of physical colour
|
||||||
STAL $E19E00,X ; Store in logical slot
|
STAL $E19E00,X ; Store in logical slot
|
||||||
LDA PALETTE320+1,Y ; Byte 2 of physical colour
|
LDA PALETTE320+1,Y ; Byte 2 of physical colour
|
||||||
STAL $E19E00+1,X ; Store in logical slot
|
STAL $E19E00+1,X ; Store in logical slot
|
||||||
|
@ -727,6 +736,9 @@ SHRPALCUSTOM PHA ; Preserve GB components
|
||||||
LDA VDUPIXELS ; Pixels per byte
|
LDA VDUPIXELS ; Pixels per byte
|
||||||
CMP #$02 ; 2 is 320-mode (MODE 1)
|
CMP #$02 ; 2 is 320-mode (MODE 1)
|
||||||
BEQ :MODE320
|
BEQ :MODE320
|
||||||
|
TXA
|
||||||
|
AND #%00000110 ; Has already been shifted
|
||||||
|
TAX
|
||||||
PLA ; Recover GB components
|
PLA ; Recover GB components
|
||||||
STAL $E19E00,X ; Store in logical slot (4 copies)
|
STAL $E19E00,X ; Store in logical slot (4 copies)
|
||||||
STAL $E19E00+8,X
|
STAL $E19E00+8,X
|
||||||
|
@ -738,7 +750,10 @@ SHRPALCUSTOM PHA ; Preserve GB components
|
||||||
STAL $E19E00+17,X
|
STAL $E19E00+17,X
|
||||||
STAL $E19E00+25,X
|
STAL $E19E00+25,X
|
||||||
RTS
|
RTS
|
||||||
:MODE320 PLA ; Recover GB components
|
:MODE320 TXA
|
||||||
|
AND #%00011110 ; Has already been shifted
|
||||||
|
TAX
|
||||||
|
PLA ; Recover GB components
|
||||||
STAL $E19E00,X ; Store in logical slot
|
STAL $E19E00,X ; Store in logical slot
|
||||||
TYA ; R component
|
TYA ; R component
|
||||||
STAL $E19E00+1,X ; Store in logical slot
|
STAL $E19E00+1,X ; Store in logical slot
|
||||||
|
|
|
@ -963,6 +963,7 @@ VDU19 LDA VDUQ+5 ; Second parm
|
||||||
TAY ; Phys colour in X
|
TAY ; Phys colour in X
|
||||||
* TODO: Only call this if GS ...
|
* TODO: Only call this if GS ...
|
||||||
JSR SHRPALCHANGE
|
JSR SHRPALCHANGE
|
||||||
|
RTS
|
||||||
:RGB LDA VDUQ+6 ; 3rd parm (red)
|
:RGB LDA VDUQ+6 ; 3rd parm (red)
|
||||||
AND #$0F
|
AND #$0F
|
||||||
TAY ; Red in Y
|
TAY ; Red in Y
|
||||||
|
|
Loading…
Reference in New Issue
Block a user