From 07c274820a3a1c1abcbf4a8dd7639bea55165df3 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Sat, 6 Jun 2020 12:50:12 -0700 Subject: [PATCH] fix Swashbuckler highscore saving --- res/dsk/swashbuckler PRODOS (san inc pack).po | Bin 143360 -> 143360 bytes src/constants.a | 2 +- src/prodos.impl.lc2.a | 28 ++++++++++-------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/res/dsk/swashbuckler PRODOS (san inc pack).po b/res/dsk/swashbuckler PRODOS (san inc pack).po index 1d9bf43e262f6ab8db819ae86e4cdc8b213d9644..bd21909e9e25c1e9624a620b14595e94f2568ddb 100644 GIT binary patch delta 120 zcmV-;0Ehp8;0S==2(Y*W4aO)Y3;+P*;D5#_E)2891Uq>W<^idyg#f8Rg#)Pog#t_f zz5tUGep@@h37@inKOe}YX058cj-76%5WpNv aG#iKl(h%bW;5dKa0qldQez&N80a&rMXfwwE delta 120 zcmV-;0Ehp8;0S==2(Y*W4J{)S6aWC@;D0V7Fb%WC1Uq>Xsepw6sj7tlsX>JUsQ`rn zOaQ)<5`J4ccHgppfFH=E%&n@t9HeuNf2j!0qXt3Cs6ZeAzs$3|4qz<6@B4MB;EfRM aOf(yj$I=dS1i%R#0{DZdez&N80a&q)(ljdo diff --git a/src/constants.a b/src/constants.a index 775eb215b..fe1d7060e 100644 --- a/src/constants.a +++ b/src/constants.a @@ -8,7 +8,7 @@ ; LC RAM BANK 1 ; D000..E8C9 - persistent data structures (gGlobalPrefsStore, gGamesListStore) ; ...unused... -; E91D..FFF1 - main program code +; E912..FFF1 - main program code ; FFF2..FFF9 - API functions and global constants available for main program ; code, prelaunchers, transition effects, &c. ; (Wait/UnwaitForVBL, MockingboardStuff, MachineStatus) diff --git a/src/prodos.impl.lc2.a b/src/prodos.impl.lc2.a index 8f35cdcbe..aa285f2fe 100644 --- a/src/prodos.impl.lc2.a +++ b/src/prodos.impl.lc2.a @@ -280,20 +280,12 @@ resetval=$f0 jsr @set_rdwrbuff plp bcc @skip_align - lda sizelo - adc #$fe - lda sizehi - adc #1 - and #$fe - sta sizehi - lda bleftlo - adc #$ff + ldx #sizelo + jsr @round lda #0 - sta bleftlo - lda blefthi - adc #1 - and #$fe - sta blefthi + sta sizelo + ldx #bleftlo + jsr @round @skip_align jsr hddrdwrpart @@ -371,6 +363,16 @@ resetval=$f0 iny rts +@round + clc + lda $0,x + adc #$ff + lda $1,x + adc #1 + and #$fe + sta $1,x + rts + @swap_zp ldx #last_zp-first_zp @save_zp