From 4e6b29add7a3851ee7e78d0efd4a2ca400888129 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 14 Jun 2023 22:55:34 +0200 Subject: [PATCH] Very old digger bug fixed! --- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 56616 -> 56627 bytes scorchC64.prg | Bin 39562 -> 39573 bytes weapons.asm | 50 ++++++++++++++++++++++++++++++++++---------------- 4 files changed, 34 insertions(+), 16 deletions(-) diff --git a/scorch.bin b/scorch.bin index 43eb11f9097fd62ffa8f6ad86fd7d712c603c720..edbd70decadc8ee53139edfd1fe805ae7d797fff 100644 GIT binary patch delta 2159 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 diff --git a/scorchC64.prg b/scorchC64.prg index 506d216dc99b424c439a5516ccaeb3140ff23047..471f9b85b219dace934b42751753b129b29c89c2 100644 GIT binary patch delta 2116 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 B)h7S| diff --git a/weapons.asm b/weapons.asm index 5b0ea42..8cd3f57 100644 --- a/weapons.asm +++ b/weapons.asm @@ -443,7 +443,7 @@ WriteToBranches sta digtabyH,x dex bpl WriteToBranches - jsr DiggerCharacter ; start character + ;jsr DiggerCharacter ; start character adw xdraw #4 lda DigLong @@ -479,24 +479,18 @@ DigRight ; odd go right (everytime 4 pixels) sta digtabxH,x DigRandomize lda random - and #$87 + ;and #$87 bmi DigUp DigDown and #$07 clc adc digtabyL,x sta digtabyL,x - lda digtabyH,x - adc #$00 - sta digtabyH,x - ;crashing bug here - if too much added to digtaby, it gets over screenheight and starts writing over random areas - ;WARNING! fix for 1 byte screenheight. TODO - lda digtabyL,x - cmp #screenheight - bcc @+ ; branch if less - lda #screenheight-1 - sta digtabyL,x -@ jmp DigCalculateNext + bcc @+ + inc digtabyH,x +; adc #$00 +@ ; sta digtabyH,x + jmp DigCalculateNext DigUp and #$07 sta temp @@ -504,10 +498,34 @@ DigUp lda digtabyL,x sbc temp sta digtabyL,x - lda digtabyH,x - sbc #$00 - sta digtabyH,x + bcs @+ + dec digtabyH,x +; sbc #$00 +@ ; sta digtabyH,x DigCalculateNext + ;second crashing bug here :) - if too much subtracted from digtaby, it gets under 8 (char height) and starts writing over random areas + lda digtabyH,x + bmi ToHigh +; cmp #0 ; necessary only if screenheight > 255 +; bne @+ + lda digtabyL,x + cmp #7 +;@ + bcs CheckLow +ToHigh + lda #0 + sta digtabyH,x + lda #7 + sta digtabyL,x +CheckLow + ;crashing bug here - if too much added to digtaby, it gets over screenheight and starts writing over random areas + ;WARNING! fix for 1 byte screenheight. TODO + lda digtabyL,x + cmp #screenheight + bcc @+ ; branch if less + lda #screenheight-1 + sta digtabyL,x +@ dex bpl CalculateBranches ; here we draw...