From 07f8df4b4f3c39c050ec4c5371bbc4a669e00d1b Mon Sep 17 00:00:00 2001 From: Jeremy Rand Date: Sun, 6 Sep 2020 01:54:47 -0400 Subject: [PATCH] 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. --- BuGS/game.s | 62 +++++++++++++++++++++----------------------- BuGS/make/config.txt | 2 +- 2 files changed, 31 insertions(+), 33 deletions(-) diff --git a/BuGS/game.s b/BuGS/game.s index bccb66a..5500b4f 100644 --- a/BuGS/game.s +++ b/BuGS/game.s @@ -30,7 +30,22 @@ game start jsl setColour 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 lda >BORDER_COLOUR_REGISTER @@ -38,7 +53,18 @@ gameLoop anop sta >BORDER_COLOUR_REGISTER 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 lda >BORDER_COLOUR_REGISTER @@ -46,7 +72,7 @@ gameLoop anop sta >BORDER_COLOUR_REGISTER long i,m - jsl drawScorpion + jsl drawSpider short i,m lda >BORDER_COLOUR_REGISTER @@ -99,34 +125,6 @@ gameDone anop long i,m 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 @@ -333,7 +331,7 @@ vblLoop anop and #$80ff ; mask out the VBL bits asl a ; shift the word around adc #0 ; move MSB -> LSB - cmp #$100 + cmp #$1c8 bge vblLoop rtl diff --git a/BuGS/make/config.txt b/BuGS/make/config.txt index 4cf9182..6e02df5 100644 --- a/BuGS/make/config.txt +++ b/BuGS/make/config.txt @@ -8,7 +8,7 @@ s6d2 = 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