Playfield in niverse

Playfield is now drawn in inverse for better color control (in future ;) )
Problems in DLI!
This commit is contained in:
Pecusx
2022-05-11 19:03:35 +02:00
parent 860d0917ad
commit 0ba4594712
5 changed files with 56 additions and 29 deletions
+4 -2
View File
@@ -989,7 +989,9 @@ scrcodes
dta d"qrstuvwx" dta d"qrstuvwx"
dta d"yz123456" dta d"yz123456"
dta d"7890." ; "-" dta d"7890." ; "-"
dliColors dliColorsBack
:10 .by $02,$00 :10 .by $04,$02
dliColorsFore
.by $0a
.endif .endif
+1 -1
View File
@@ -142,7 +142,7 @@ WeaponsDescription
EmptyLine EmptyLine
dta d" " dta d" "
LastLine LastLine
:40 dta $ff :40 dta $00 ; INVERSE
; ------------------------------------------------- ; -------------------------------------------------
.ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!! .ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!!
NameScreen NameScreen
+38 -22
View File
@@ -441,8 +441,8 @@ splot8 .proc
;-------------------------------------------------- ;--------------------------------------------------
clearscreen .proc clearscreen .proc
;-------------------------------------------------- ;--------------------------------------------------
lda #0 lda #$ff ; INVERSE
tax ldx #0
@ @
:31 sta display+($100*#),x :31 sta display+($100*#),x
sta display+$1e50,x ; this is so no space outside of the screen is cleared sta display+$1e50,x ; this is so no space outside of the screen is cleared
@@ -1021,7 +1021,7 @@ MakeUnPlot
lda color lda color
beq ClearUnPlot bne ClearUnPlot ; INVERSE
;plotting here ;plotting here
lda (xbyte),y lda (xbyte),y
@@ -1033,7 +1033,7 @@ ClearUnPlot
lda (xbyte),y lda (xbyte),y
sta OldOraTemp sta OldOraTemp
and bittable2,x and bittable2,x
; sta (xbyte),y sta (xbyte),y
ContinueUnPlot ContinueUnPlot
ldx WhichUnPlot ldx WhichUnPlot
lda OldOraTemp lda OldOraTemp
@@ -1115,7 +1115,7 @@ MakePlot
ldx ybit ldx ybit
lda color lda color
beq ClearPlot bne ClearPlot ; INVERSE
lda (xbyte),y lda (xbyte),y
ora bittable,x ora bittable,x
@@ -1163,6 +1163,7 @@ point .proc
lda (xbyte),y lda (xbyte),y
and bittable,x and bittable,x
eor bittable,x ; INVERSE
rts rts
.endp .endp
@@ -1183,7 +1184,8 @@ DrawLine .proc
loopdraw loopdraw
lda (xbyte),y lda (xbyte),y
ora bittable,x ;ora bittable,x
and bittable2,x ; INVERSE
sta (xbyte),y sta (xbyte),y
IntoDraw adw xbyte #screenBytes IntoDraw adw xbyte #screenBytes
@@ -1214,8 +1216,9 @@ TypeChar .proc
ldy #7 ldy #7
CopyChar CopyChar
lda (fontind),y lda (fontind),y
eor #$ff ; INVERSE
sta char1,y sta char1,y
lda #$00 lda #$ff ; INVERSE
sta char2,y sta char2,y
dey dey
bpl CopyChar bpl CopyChar
@@ -1224,8 +1227,9 @@ CopyChar
ldy #7 ldy #7
CopyMask CopyMask
lda (fontind),y lda (fontind),y
eor #$ff ; INVERSE
sta mask1,y sta mask1,y
lda #$ff lda #$00 ; INVERSE
sta mask2,y sta mask2,y
dey dey
bpl CopyMask bpl CopyMask
@@ -1257,44 +1261,52 @@ CopyMask
ldx ybit ldx ybit
beq MaskOK00 beq MaskOK00
MakeMask00 MakeMask00
sec clc ; INVERSE
ror mask1 ror mask1
ror mask2 ror mask2
sec clc ; INVERSE
ror mask1+1 ror mask1+1
ror mask2+1 ror mask2+1
sec clc ; INVERSE
ror mask1+2 ror mask1+2
ror mask2+2 ror mask2+2
sec clc ; INVERSE
ror mask1+3 ror mask1+3
ror mask2+3 ror mask2+3
sec clc ; INVERSE
ror mask1+4 ror mask1+4
ror mask2+4 ror mask2+4
sec clc ; INVERSE
ror mask1+5 ror mask1+5
ror mask2+5 ror mask2+5
sec clc ; INVERSE
ror mask1+6 ror mask1+6
ror mask2+6 ror mask2+6
sec clc ; INVERSE
ror mask1+7 ror mask1+7
ror mask2+7 ror mask2+7
lsr char1 sec ; INVERSE
ror char1
ror char2 ror char2
sec ; INVERSE
ror char1+1 ror char1+1
ror char2+1 ror char2+1
sec ; INVERSE
ror char1+2 ror char1+2
ror char2+2 ror char2+2
sec ; INVERSE
ror char1+3 ror char1+3
ror char2+3 ror char2+3
sec ; INVERSE
ror char1+4 ror char1+4
ror char2+4 ror char2+4
sec ; INVERSE
ror char1+5 ror char1+5
ror char2+5 ror char2+5
sec ; INVERSE
ror char1+6 ror char1+6
ror char2+6 ror char2+6
sec ; INVERSE
ror char1+7 ror char1+7
ror char2+7 ror char2+7
dex dex
@@ -1303,7 +1315,7 @@ MaskOK00
; here x=0 ; here x=0
lda Erase lda Erase
beq CharLoopi ; it works, because x=0 beq CharLoopi ; it works, because x=0
lda #0 lda #$ff ; INVERSE
ldx #7 ldx #7
EmptyChar EmptyChar
sta char1,x sta char1,x
@@ -1313,13 +1325,17 @@ EmptyChar
ldx #0 ldx #0
CharLoopi CharLoopi
lda (xbyte),y lda (xbyte),y
and mask1,x ;and mask1,x
ora char1,x ;ora char1,x
ora mask1,x ; INVERSE
and char1,x ; INVERSE
sta (xbyte),y sta (xbyte),y
iny iny
lda (xbyte),y lda (xbyte),y
and mask2,x ;and mask2,x
ora char2,x ;ora char2,x
ora mask2,x ; INVERSE
and char2,x ; INVERSE
sta (xbyte),y sta (xbyte),y
dey dey
adw xbyte #screenBytes adw xbyte #screenBytes
+13 -4
View File
@@ -797,6 +797,7 @@ SetunPlots
sta oldplotH,x sta oldplotH,x
lda #0 lda #0
sta oldply,x sta oldply,x
lda #$ff ; INVERSE
sta oldora,x sta oldora,x
dex dex
bpl SetunPlots bpl SetunPlots
@@ -870,10 +871,18 @@ DLIinterrupt .proc
pha pha
phy phy
ldy dliCounter ldy dliCounter
lda dliColors,y ; bne NoFColorChange
;lda #$02 ; color of playground ; lda dliColorsFore
sta WSYNC ; sta COLPF2
sta COLPF2 ;NoFColorChange
lda dliColorsBack,y
ldy dliColorsFore
nop
nop
nop
; sta WSYNC
sta COLPF1
sty COLPF2
inc dliCounter inc dliCounter
ply ply
pla pla
BIN
View File
Binary file not shown.