Draw the scorpion once we are sure the beam has past it on the screen for the previous frame. Adjust the wait for VBL look to look for less than scan line 200 rather than scan line 0. That way, we shouldn't get a frame glitch at 2.8MHz any more.

This commit is contained in:
Jeremy Rand 2020-09-06 01:54:47 -04:00
parent 92c02ded0f
commit 07f8df4b4f
2 changed files with 31 additions and 33 deletions

View File

@ -30,7 +30,22 @@ game start
jsl setColour jsl setColour
gameLoop anop gameLoop anop
jsl drawDirtyGameTiles
_drawDirtyGameRow 0
_drawDirtyGameRow 1
_drawDirtyGameRow 2
_drawDirtyGameRow 3
_drawDirtyGameRow 4
_drawDirtyGameRow 5
_drawDirtyGameRow 6
_drawDirtyGameRow 7
_drawDirtyGameRow 8
_drawDirtyGameRow 9
_drawDirtyGameRow 10
_drawDirtyGameRow 11
_drawDirtyGameRow 12
_drawDirtyGameRow 13
_drawDirtyGameRow 14
short i,m short i,m
lda >BORDER_COLOUR_REGISTER lda >BORDER_COLOUR_REGISTER
@ -38,7 +53,18 @@ gameLoop anop
sta >BORDER_COLOUR_REGISTER sta >BORDER_COLOUR_REGISTER
long i,m long i,m
jsl drawSpider jsl drawScorpion
_drawDirtyGameRow 15
_drawDirtyGameRow 16
_drawDirtyGameRow 17
_drawDirtyGameRow 18
_drawDirtyGameRow 19
_drawDirtyGameRow 20
_drawDirtyGameRow 21
_drawDirtyGameRow 22
_drawDirtyGameRow 23
_drawDirtyGameRow 24
short i,m short i,m
lda >BORDER_COLOUR_REGISTER lda >BORDER_COLOUR_REGISTER
@ -46,7 +72,7 @@ gameLoop anop
sta >BORDER_COLOUR_REGISTER sta >BORDER_COLOUR_REGISTER
long i,m long i,m
jsl drawScorpion jsl drawSpider
short i,m short i,m
lda >BORDER_COLOUR_REGISTER lda >BORDER_COLOUR_REGISTER
@ -99,34 +125,6 @@ gameDone anop
long i,m long i,m
rtl rtl
drawDirtyGameTiles entry
_drawDirtyGameRow 0
_drawDirtyGameRow 1
_drawDirtyGameRow 2
_drawDirtyGameRow 3
_drawDirtyGameRow 4
_drawDirtyGameRow 5
_drawDirtyGameRow 6
_drawDirtyGameRow 7
_drawDirtyGameRow 8
_drawDirtyGameRow 9
_drawDirtyGameRow 10
_drawDirtyGameRow 11
_drawDirtyGameRow 12
_drawDirtyGameRow 13
_drawDirtyGameRow 14
_drawDirtyGameRow 15
_drawDirtyGameRow 16
_drawDirtyGameRow 17
_drawDirtyGameRow 18
_drawDirtyGameRow 19
_drawDirtyGameRow 20
_drawDirtyGameRow 21
_drawDirtyGameRow 22
_drawDirtyGameRow 23
_drawDirtyGameRow 24
drawDirtyNonGameTiles entry drawDirtyNonGameTiles entry
@ -333,7 +331,7 @@ vblLoop anop
and #$80ff ; mask out the VBL bits and #$80ff ; mask out the VBL bits
asl a ; shift the word around asl a ; shift the word around
adc #0 ; move MSB -> LSB adc #0 ; move MSB -> LSB
cmp #$100 cmp #$1c8
bge vblLoop bge vblLoop
rtl rtl

View File

@ -8,7 +8,7 @@ s6d2 =
s7d1 = /Users/jrand/Library/Developer/Xcode/DerivedData/BuGS-bffpexoblaghkzcbtjtzxeulnuto/Build/Products/Debug/BuGS.2mg s7d1 = /Users/jrand/Library/Developer/Xcode/DerivedData/BuGS-bffpexoblaghkzcbtjtzxeulnuto/Build/Products/Debug/BuGS.2mg
g_limit_speed = 3 g_limit_speed = 0
bram1[00] = 00 00 00 01 00 00 0d 06 02 01 01 00 01 00 00 00 bram1[00] = 00 00 00 01 00 00 0d 06 02 01 01 00 01 00 00 00