From a19c72a062693c01ba0a4fe74f9d609844b35224 Mon Sep 17 00:00:00 2001 From: ken Date: Tue, 16 Mar 2021 01:02:26 -0700 Subject: [PATCH 1/2] bottles via double shoulder --- inventory.asm | 2 ++ quickswap.asm | 55 ++++++++++++++++++++++++++------------------------- 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/inventory.asm b/inventory.asm index e8e118e..bbc7058 100644 --- a/inventory.asm +++ b/inventory.asm @@ -124,7 +124,9 @@ RTL ;ProcessBottleMenu: ;-------------------------------------------------------------------------------- ProcessBottleMenu: + LDA $F6 : AND #$30 : CMP.b #$30 : BEQ .double_shoulder_pressed LDA $F4 : AND #$40 : BEQ .y_not_pressed ; skip if Y is not down + .double_shoulder_pressed LDA $7EF34F ; check bottle state BEQ .no_bottles ; skip if we have no bottles PHX diff --git a/quickswap.asm b/quickswap.asm index da04ddb..d83fd4c 100644 --- a/quickswap.asm +++ b/quickswap.asm @@ -38,6 +38,7 @@ QuickSwap: CPX.b #$01 : BEQ + ; bow CPX.b #$05 : BEQ + ; powder CPX.b #$0D : BEQ + ; flute + CPX.b #$10 : BEQ + ; bottle BRA .store + STX $0202 : JSL ProcessMenuButtons_y_pressed @@ -54,20 +55,20 @@ RTL RCode: LDA.w $0202 : TAX - - CPX.b #$0F : BNE + ; incrementing into bottle - LDX.b #$00 : BRA ++ - + CPX.b #$10 : BNE + ; incrementing bottle - LDA.l $7EF34F : TAX - -- : ++ - CPX.b #$04 : BEQ .noMoreBottles - INX - LDA.l $7EF35B,X : BEQ -- - TXA : STA.l $7EF34F - LDX #$10 - RTS - .noMoreBottles - LDX #$11 - BRA .nextItem +; CPX.b #$0F : BNE + ; incrementing into bottle +; LDX.b #$00 : BRA ++ +; + CPX.b #$10 : BNE + ; incrementing bottle +; LDA.l $7EF34F : TAX +; -- : ++ +; CPX.b #$04 : BEQ .noMoreBottles +; INX +; LDA.l $7EF35B,X : BEQ -- +; TXA : STA.l $7EF34F +; LDX #$10 +; RTS +; .noMoreBottles +; LDX #$11 +; BRA .nextItem + CPX.b #$14 : BNE + : LDX.b #$00 ;will wrap around to 1 + INX .nextItem @@ -77,19 +78,19 @@ RTS LCode: LDA.w $0202 : TAX - - CPX.b #$11 : BNE + ; decrementing into bottle - LDX.b #$05 : BRA ++ - + CPX.b #$10 : BNE + ; decrementing bottle - LDA.l $7EF34F : TAX - -- : ++ - CPX.b #$01 : BEQ .noMoreBottles - DEX - LDA.l $7EF35B,X : BEQ -- - TXA : STA.l $7EF34F - LDX.b #$10 - RTS - .noMoreBottles - LDX.b #$0F : BRA .nextItem +; CPX.b #$11 : BNE + ; decrementing into bottle +; LDX.b #$05 : BRA ++ +; + CPX.b #$10 : BNE + ; decrementing bottle +; LDA.l $7EF34F : TAX +; -- : ++ +; CPX.b #$01 : BEQ .noMoreBottles +; DEX +; LDA.l $7EF35B,X : BEQ -- +; TXA : STA.l $7EF34F +; LDX.b #$10 +; RTS +; .noMoreBottles +; LDX.b #$0F : BRA .nextItem + CPX.b #$01 : BNE + : LDX.b #$15 ; will wrap around to $14 + DEX .nextItem From 025b4941f367c0f7e4ddf8dde0c3e8ad58294b3d Mon Sep 17 00:00:00 2001 From: ken Date: Tue, 16 Mar 2021 22:23:06 -0700 Subject: [PATCH 2/2] don't require both shoulders twice; causes too much lag --- inventory.asm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/inventory.asm b/inventory.asm index bbc7058..865b6d8 100644 --- a/inventory.asm +++ b/inventory.asm @@ -124,9 +124,9 @@ RTL ;ProcessBottleMenu: ;-------------------------------------------------------------------------------- ProcessBottleMenu: - LDA $F6 : AND #$30 : CMP.b #$30 : BEQ .double_shoulder_pressed - LDA $F4 : AND #$40 : BEQ .y_not_pressed ; skip if Y is not down - .double_shoulder_pressed +; LDA $F6 : AND #$30 : CMP.b #$30 : BEQ .double_shoulder_pressed +; LDA $F4 : AND #$40 : BEQ .y_not_pressed ; skip if Y is not down +; .double_shoulder_pressed LDA $7EF34F ; check bottle state BEQ .no_bottles ; skip if we have no bottles PHX @@ -139,9 +139,9 @@ ProcessBottleMenu: .no_bottles LDA #$00 ; pretend like the controller state was 0 from the overridden load RTL - .y_not_pressed - LDA $F4 : AND.b #$0C ; thing we wrote over - load controller state -RTL +; .y_not_pressed +; LDA $F4 : AND.b #$0C ; thing we wrote over - load controller state +;RTL ;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------