1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-01-24 05:33:50 +00:00

Fix hgrHLin colors and tidy up game locations

This commit is contained in:
David Schmenk 2020-01-06 20:18:40 -08:00
parent 10cc631b0a
commit f5416c2d82
2 changed files with 35 additions and 38 deletions

View File

@ -709,8 +709,8 @@ end
asm _hgrHLinD
LDA $1000,Y ; HRMASK
STA TMPH
LDA ESTKL+1,X ; RIGHT HORIZ OFFSET
STA IPY ; STEAL THIS ZP FOR A MOMENT
LDY ESTKL+1,X ; RIGHT HORIZ OFFSET
STY IPY ; STEAL THIS ZP FOR A MOMENT
INX
INX
INX
@ -722,16 +722,16 @@ end
asm _hgrHLinF
LDA $1000,Y ; HLMASK
STA TMPL
LDA ESTKL+1,X ; LEFT HORIZ OFFSET
TAY
LDY ESTKL+1,X ; LEFT HORIZ OFFSET
TYA
LSR
BCS +
end
asm _hgrHLinG
LDA $2000 ; CURHCLRL
STA SRCL
LDA $2001 ; CURHCLRH
STA SRCH
LDA $2000 ; CURHCLRL
STA SRCL
BCC ++
+ LDA $2000 ; CURHCLRL
STA SRCH
@ -739,7 +739,6 @@ asm _hgrHLinG
STA SRCL
++ CPY IPY ; RIGHT HORIZ OFFSET
BNE +
LDA SRCL
EOR (DST),Y
AND TMPL
AND TMPH
@ -748,19 +747,18 @@ asm _hgrHLinG
INX
INX
RTS
+ LDA SRCL ; CURHCLR
EOR (DST),Y
+ EOR (DST),Y
AND TMPL
EOR (DST),Y
- STA (DST),Y
LDA SRCH
INY
CPY IPY ; RIGHT HORIZ OFFSET
LDA SRCH
BCS +
STA (DST),Y
LDA SRCL
INY
CPY IPY ; RIGHT HORIZ OFFSET
LDA SRCL
BCC -
+ EOR (DST),Y
AND TMPH
@ -829,8 +827,8 @@ end
asm _hgrXHLinD
LDA $1000,Y ; HRMASK
STA TMPH
LDA ESTKL+1,X ; RIGHT HORIZ OFFSET
STA IPY ; STEAL THIS ZP FOR A MOMENT
LDY ESTKL+1,X ; RIGHT HORIZ OFFSET
STY IPY ; STEAL THIS ZP FOR A MOMENT
INX
INX
INX
@ -842,16 +840,16 @@ end
asm _hgrXHLinF
LDA $1000,Y ; HLMASK
STA TMPL
LDA ESTKL+1,X ; LEFT HORIZ OFFSET
TAY
LDY ESTKL+1,X ; LEFT HORIZ OFFSET
TYA
LSR
BCS +
end
asm _hgrXHLinG
LDA $2000 ; CURHCLRL
STA SRCL
LDA $2001 ; CURHCLRH
STA SRCH
LDA $2000 ; CURHCLRH
STA SRCL
BCC ++
+ LDA $2000 ; CURHCLRL
STA SRCH
@ -859,26 +857,25 @@ asm _hgrXHLinG
STA SRCL
++ CPY IPY ; RIGHT HORIZ OFFSET
BNE +
LDA SRCL
AND TMPL
AND TMPH
EOR (DST),Y
STA (DST),Y
INX
INX
RTS
+ LDA SRCL ; CURHCLR
AND TMPL
+ AND TMPL
- EOR (DST),Y
STA (DST),Y
LDA SRCH
INY
CPY IPY ; RIGHT HORIZ OFFSET
LDA SRCH
BCS +
EOR (DST),Y
STA (DST),Y
LDA SRCL
INY
CPY IPY ; RIGHT HORIZ OFFSET
LDA SRCL
BCC -
+ AND TMPH
EOR (DST),Y
@ -1236,10 +1233,10 @@ _hgrHLinC:1 = @divmod7
_hgrHLinD:1 = @hrmask
_hgrHLinE:1 = @divmod7
_hgrHLinF:1 = @hlmask
_hgrHLinG:1 = @curhclr
_hgrHLinG:6 = @curhclr.1
_hgrHLinG:13 = @curhclr.1
_hgrHLinG:18 = @curhclr
_hgrHLinG:1 = @curhclr.1
_hgrHLinG:6 = @curhclr
_hgrHLinG:13 = @curhclr
_hgrHLinG:18 = @curhclr.1
_hgrXHLinA:1 = @hgrXorPlot
_hgrXHLinB:1 = @hgrscanl
_hgrXHLinB:6 = @drawbuff.1
@ -1248,10 +1245,10 @@ _hgrXHLinC:1 = @divmod7
_hgrXHLinD:1 = @hrmask
_hgrXHLinE:1 = @divmod7
_hgrXHLinF:1 = @hlmask
_hgrXHLinG:1 = @curhclr
_hgrXHLinG:6 = @curhclr.1
_hgrXHLinG:13 = @curhclr.1
_hgrXHLinG:18 = @curhclr
_hgrXHLinG:1 = @curhclr.1
_hgrXHLinG:6 = @curhclr
_hgrXHLinG:13 = @curhclr
_hgrXHLinG:18 = @curhclr.1
hgrVLin:1 = @divmod7
_hgrVLinA:1 = @hbmask
_hgrVLinB:1 = @curhclr

View File

@ -107,7 +107,7 @@ byte = $83,$38,$83,$38,$83,$38
byte = $83,$38,$83,$38,$83,$38
byte = $33,$88,$83,$38,$88,$33
byte = $33,$33,$33,$33,$33,$33
byte web3 = $88,$83,$38,$88,$88,$88,$88,$83,$38,$88
byte web3 = $88,$83,$38,$83,$38,$83,$38,$83,$38,$88
byte = $88,$83,$38,$83,$38,$83,$38,$83,$38,$88
byte = $88,$33,$88,$33,$88,$88,$33,$88,$33,$88
byte = $88,$33,$33,$33,$33,$33,$33,$33,$33,$88
@ -365,7 +365,7 @@ def game(spdrcnt)#1
// Fire missle
//
xmissle = xship
ymissle = YSHIP+8
ymissle = YSHIP-15
misslecnt--
spritePos(misslecnt * 16 + 160, 184, sprtMissle) // Erase from armory
spriteDrawXor(sprtMissle)
@ -424,8 +424,7 @@ def game(spdrcnt)#1
if lasercharge < FULL_CHARGE
lasercharge++
hgrColor(1)
hgrRect(4, YSHIP+6, lasercharge * 4 + 4, 188)
// hgrRect((lasercharge - 1) * 4 + 5, YSHIP+6, lasercharge * 4 + 4, 188)
hgrRect((lasercharge - 1) * 4 + 5, YSHIP+6, lasercharge * 4 + 4, 188)
fin
if btn1 and lasercharge == FULL_CHARGE
//
@ -469,8 +468,8 @@ def game(spdrcnt)#1
//
hgrColor(3)
for k=0 to 1
if leftxlaser + k >= 0; hgrXorVLin(leftylaser, YSHIP+8, leftxlaser+k); fin
if rightxlaser + k < 280;hgrXorVLin(rightylaser, YSHIP+8, rightxlaser-k); fin
if leftxlaser + k >= 0; hgrXorVLin(leftylaser, YSHIP-8, leftxlaser+k); fin
if rightxlaser + k < 280;hgrXorVLin(rightylaser, YSHIP-8, rightxlaser-k); fin
next
if lefthit <> 255
//
@ -545,8 +544,8 @@ def game(spdrcnt)#1
//
hgrColor(3)
for k=0 to 1
if leftxlaser + k >= 0; hgrXorVLin(leftylaser, YSHIP+8, leftxlaser+k); fin
if rightxlaser + k < 280;hgrXorVLin(rightylaser, YSHIP+8, rightxlaser-k); fin
if leftxlaser + k >= 0; hgrXorVLin(leftylaser, YSHIP-8, leftxlaser+k); fin
if rightxlaser + k < 280;hgrXorVLin(rightylaser, YSHIP-8, rightxlaser-k); fin
next
fin
spritePosIndex(xship, YSHIP, SHIP_SPRTNUM)
@ -579,4 +578,5 @@ initStars
won = game(8)
txtMode
puts(won ?? "You won!\n" :: "You lost.\n")
puts("Available memory: "); puti(heapavail()); putln
done