From 661e4b35fb987ed8aac4ba09781b9b2ced1ca540 Mon Sep 17 00:00:00 2001 From: 4am Date: Fri, 20 Sep 2019 19:46:46 -0400 Subject: [PATCH] refactor okvs_init --- src/constants.a | 2 +- src/okvs.a | 6 ++---- src/parse.common.a | 4 +--- src/parse.games.a | 4 +--- 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/constants.a b/src/constants.a index 825208f1b..a4fca21cb 100644 --- a/src/constants.a +++ b/src/constants.a @@ -9,7 +9,7 @@ ; D000..E5F4 - persistent data structures (per-game cheat categories, ; gGlobalPrefsStore, gGamesListStore) ; ...unused... -; EA5C..FFF9 - main program code +; EABB..FFF9 - main program code ; FFFA..FFFF - NMI, reset, IRQ vectors ; ; LC RAM BANK 2 diff --git a/src/okvs.a b/src/okvs.a index 6e2e9d0bc..c641c65b3 100644 --- a/src/okvs.a +++ b/src/okvs.a @@ -64,15 +64,13 @@ ;------------------------------------------------------------------------------ ; okvs_init ; -; in: stack contains 2 bytes of parameters: -; +1 [word] handle to storage space +; in: A/Y = handle to storage space ; out: $00/$01 clobbered ; $02/$03 clobbered ; all registers clobbered ;------------------------------------------------------------------------------ okvs_init - +PARAMS_ON_STACK 2 - jsr GetStoreAddress + jsr GetStoreAddressFromAY ; PTR -> store ; Y = 0 tya diff --git a/src/parse.common.a b/src/parse.common.a index e61d028dc..28f777591 100644 --- a/src/parse.common.a +++ b/src/parse.common.a @@ -32,8 +32,8 @@ ParseKeyValueList +PARAMS_ON_STACK 5 +LDPARAM 1 - +STAY @store1 +STAY @store2 + jsr okvs_init ; reset key/value store +LDPARAM 3 +STAY $FE @@ -55,8 +55,6 @@ ParseKeyValueList bcs + dey + sty $FF - jsr okvs_init ; reset key/value store -@store1 !word $FDFD ; SMC ldy #$00 ; index into ($FE) pointing to current character @newkey ldx #$00 ; X = index into current key diff --git a/src/parse.games.a b/src/parse.games.a index 21c9715c3..ffbfa868e 100644 --- a/src/parse.games.a +++ b/src/parse.games.a @@ -28,8 +28,8 @@ ParseGamesList +PARAMS_ON_STACK 4 +LDPARAM 1 - +STAY @store1 +STAY @store2 + jsr okvs_init ; reset key/value store +LDPARAM 3 +STAY $FE @@ -47,8 +47,6 @@ ParseGamesList bcs + dey + sty $FF - jsr okvs_init ; reset key/value store -@store1 !word $FDFD ; SMC ldy #$00 ; index into ($FE) pointing to current character @newkey ldx #$00 ; X = index into current key