diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 749e9db..c15b20c 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -635,7 +635,7 @@ Messaging_Text: org $0FFD94 Overworld_TileAttr: -org $1BC97C: +org $1BC97C Overworld_DrawPersistentMap16: org $1BED03 diff --git a/crypto.asm b/crypto.asm index 4cc452d..e28580a 100644 --- a/crypto.asm +++ b/crypto.asm @@ -229,19 +229,19 @@ db 1 ; n is 2 db 32 ; n is 2 .initial_sums -;dd 6*$9e3779b9 ; n > 52 -;dd 7*$9e3779b9 ; n is 27 to 52 -;dd 8*$9e3779b9 ; n is 18 to 26 -;dd 9*$9e3779b9 ; n is 14 to 17 -;dd 10*$9e3779b9 ; n is 11 to 13 -;dd 11*$9e3779b9 ; n is 9 to 10 -;dd 12*$9e3779b9 ; n is 8 -;dd 13*$9e3779b9 ; n is 7 -;dd 14*$9e3779b9 ; n is 6 -;dd 16*$9e3779b9 ; n is 5 -;dd 19*$9e3779b9 ; n is 4 -;dd 23*$9e3779b9 ; n is 3 -dd 32*$9e3779b9 ; n is 2 +;dd (6*$9e3779b9)&$ffffffff ; n > 52 +;dd (7*$9e3779b9)&$ffffffff ; n is 27 to 52 +;dd (8*$9e3779b9)&$ffffffff ; n is 18 to 26 +;dd (9*$9e3779b9)&$ffffffff ; n is 14 to 17 +;dd (10*$9e3779b9)&$ffffffff ; n is 11 to 13 +;dd (11*$9e3779b9)&$ffffffff ; n is 9 to 10 +;dd (12*$9e3779b9)&$ffffffff ; n is 8 +;dd (13*$9e3779b9)&$ffffffff ; n is 7 +;dd (14*$9e3779b9)&$ffffffff ; n is 6 +;dd (16*$9e3779b9)&$ffffffff ; n is 5 +;dd (19*$9e3779b9)&$ffffffff ; n is 4 +;dd (23*$9e3779b9)&$ffffffff ; n is 3 +dd (32*$9e3779b9)&$ffffffff ; n is 2 ;void btea(uint32_t *v, int n, uint32_t const key[4]) { ; uint32_t y, z, sum; diff --git a/dialog.asm b/dialog.asm index 323d75c..987b03e 100644 --- a/dialog.asm +++ b/dialog.asm @@ -265,7 +265,7 @@ DialogItemReceive: LDA.w #$FFFF BRA .done + - LDA Ancilla_ReceiveItem_item_messages, Y + LDA.w Ancilla_ReceiveItem_item_messages, Y .done CMP.w #$FFFF RTL diff --git a/flute.asm b/flute.asm index b9ce68d..4de7eb1 100644 --- a/flute.asm +++ b/flute.asm @@ -22,7 +22,7 @@ SpawnHauntedGroveItem: LDA.b #$FF : STA $0B58, Y LDA.b #$30 : STA $0F10, Y - LDA $22 : !ADD .x_offsets, X + LDA $22 : !ADD.l .x_offsets, X AND.b #$F0 : STA $0D10, Y LDA $23 : ADC.b #$00 : STA $0D30, Y diff --git a/inventory.asm b/inventory.asm index d96a391..e8e118e 100644 --- a/inventory.asm +++ b/inventory.asm @@ -1141,14 +1141,14 @@ SpawnShovelItem: LDX.b #$00 LDA $2F : CMP.b #$04 : BEQ + : INX : + - LDA .x_speeds, X : STA $0D50, Y + LDA.l .x_speeds, X : STA $0D50, Y LDA.b #$00 : STA $0D40, Y LDA.b #$18 : STA $0F80, Y LDA.b #$FF : STA $0B58, Y LDA.b #$30 : STA $0F10, Y - LDA $22 : !ADD .x_offsets, X + LDA $22 : !ADD.l .x_offsets, X AND.b #$F0 : STA $0D10, Y LDA $23 : ADC.b #$00 : STA $0D30, Y diff --git a/inverted.asm b/inverted.asm index 2bd0764..1e05ee1 100644 --- a/inverted.asm +++ b/inverted.asm @@ -206,16 +206,16 @@ MirrorBonk: REP #$30 LDX #$0000 .loop - LDA .bonkRectanglesTable, X ;Load X1 + LDA.l .bonkRectanglesTable, X ;Load X1 CMP $22 : !BGE ++ ;IF X > X1 - LDA .bonkRectanglesTable+2, X ; Load X2 + LDA.l .bonkRectanglesTable+2, X ; Load X2 CMP $22 : !BLT ++ ;IF X < X2 - LDA .bonkRectanglesTable+4, X ;Load Y1 + LDA.l .bonkRectanglesTable+4, X ;Load Y1 CMP $20 : !BGE ++ ;IF Y > Y1 - LDA .bonkRectanglesTable+6, X ; Load Y2 + LDA.l .bonkRectanglesTable+6, X ; Load Y2 CMP $20 : !BLT ++ ;IF Y < Y2 ;Bonk Here diff --git a/password.asm b/password.asm index 09a1108..7ead174 100644 --- a/password.asm +++ b/password.asm @@ -90,7 +90,7 @@ Password_Main: + LDA $F4 : ORA $F6 : AND.b #$C0 : BEQ + ; face button LDX !PASSWORD_SELECTION_POSITION - LDA .selectionValues, X : BPL ++ + LDA.l .selectionValues, X : BPL ++ CMP #$F0 : BNE +++ INC $11 BRA .endOfButtonChecks @@ -285,23 +285,23 @@ PasswordEraseOldCursors: ;Code Cursor LDA !PASSWORD_CODE_POSITION : AND.w #$00FF : ASL : TAX - LDA .code_offsets, X + LDA.l .code_offsets, X !ADD.w #$20*!PASSWORD_DISPLAY_START_Y+!PASSWORD_DISPLAY_START_X+$6000 XBA ; because big endian is needed - STA $1002+Password_StripeImageTemplate_CodeCursorErase-Password_StripeImageTemplate + STA.l $1002+Password_StripeImageTemplate_CodeCursorErase-Password_StripeImageTemplate ;selection cursor LDA !PASSWORD_SELECTION_POSITION : AND.w #$00FF : ASL : TAX - LDA .selection_offsets, X + LDA.l .selection_offsets, X !ADD.w #$20*!PASSWORD_INPUT_START_Y+!PASSWORD_INPUT_START_X+$6000 XBA ; because big endian is needed - STA $1002+Password_StripeImageTemplate_SelectionCursorErase-Password_StripeImageTemplate + STA.l $1002+Password_StripeImageTemplate_SelectionCursorErase-Password_StripeImageTemplate XBA : !ADD.w #$0020 : XBA - STA $1002+$0C+Password_StripeImageTemplate_SelectionCursorErase-Password_StripeImageTemplate + STA.l $1002+$0C+Password_StripeImageTemplate_SelectionCursorErase-Password_StripeImageTemplate XBA : !ADD.w #$0003 : XBA - STA $1002+$14+Password_StripeImageTemplate_SelectionCursorErase-Password_StripeImageTemplate + STA.l $1002+$14+Password_StripeImageTemplate_SelectionCursorErase-Password_StripeImageTemplate XBA : !ADD.w #$0040-$0003 : XBA - STA $1002+$1C+Password_StripeImageTemplate_SelectionCursorErase-Password_StripeImageTemplate + STA.l $1002+$1C+Password_StripeImageTemplate_SelectionCursorErase-Password_StripeImageTemplate SEP #$20 ; restore 8-bit accumulator RTS @@ -318,23 +318,23 @@ PasswordSetNewCursors: REP #$20 ; set 16-bit accumulator ;Code Cursor LDA !PASSWORD_CODE_POSITION : AND.w #$00FF : ASL : TAX - LDA PasswordEraseOldCursors_code_offsets, X + LDA.l PasswordEraseOldCursors_code_offsets, X !ADD.w #$20*!PASSWORD_DISPLAY_START_Y+!PASSWORD_DISPLAY_START_X+$6000 XBA ; because big endian is needed - STA $1002+Password_StripeImageTemplate_CodeCursorDraw-Password_StripeImageTemplate + STA.l $1002+Password_StripeImageTemplate_CodeCursorDraw-Password_StripeImageTemplate ;Selection cursor LDA !PASSWORD_SELECTION_POSITION : AND.w #$00FF : ASL : TAX - LDA PasswordEraseOldCursors_selection_offsets, X + LDA.l PasswordEraseOldCursors_selection_offsets, X !ADD.w #$20*!PASSWORD_INPUT_START_Y+!PASSWORD_INPUT_START_X+$6000 XBA ; because big endian is needed - STA $1002+Password_StripeImageTemplate_SelectionCursorDraw-Password_StripeImageTemplate + STA.l $1002+Password_StripeImageTemplate_SelectionCursorDraw-Password_StripeImageTemplate XBA : !ADD.w #$0020 : XBA - STA $1002+$0C+Password_StripeImageTemplate_SelectionCursorDraw-Password_StripeImageTemplate + STA.l $1002+$0C+Password_StripeImageTemplate_SelectionCursorDraw-Password_StripeImageTemplate XBA : !ADD.w #$0003 : XBA - STA $1002+$14+Password_StripeImageTemplate_SelectionCursorDraw-Password_StripeImageTemplate + STA.l $1002+$14+Password_StripeImageTemplate_SelectionCursorDraw-Password_StripeImageTemplate XBA : !ADD.w #$0040-$0003 : XBA - STA $1002+$1C+Password_StripeImageTemplate_SelectionCursorDraw-Password_StripeImageTemplate + STA.l $1002+$1C+Password_StripeImageTemplate_SelectionCursorDraw-Password_StripeImageTemplate SEP #$20 ; restore 8-bit accumulator RTS diff --git a/pendantcrystalhud.asm b/pendantcrystalhud.asm index 0dfa71e..be4eedb 100644 --- a/pendantcrystalhud.asm +++ b/pendantcrystalhud.asm @@ -462,15 +462,15 @@ DrawPendantCrystalDiagram: REP #$30 ; Set 16-bit accumulator & index registers LDX.w #$0000 ; Paint entire box black & draw empty pendants and crystals - - LDA .row0, X : STA $12EA, X - LDA .row1, X : STA $132A, X - LDA .row2, X : STA $136A, X - LDA .row3, X : STA $13AA, X - LDA .row4, X : STA $13EA, X - LDA .row5, X : STA $142A, X - LDA .row6, X : STA $146A, X - LDA .row7, X : STA $14AA, X - LDA .row8, X : STA $14EA, X + LDA.l .row0, X : STA $12EA, X + LDA.l .row1, X : STA $132A, X + LDA.l .row2, X : STA $136A, X + LDA.l .row3, X : STA $13AA, X + LDA.l .row4, X : STA $13EA, X + LDA.l .row5, X : STA $142A, X + LDA.l .row6, X : STA $146A, X + LDA.l .row7, X : STA $14AA, X + LDA.l .row8, X : STA $14EA, X INX #2 : CPX.w #$0014 : BCC - ;pendants diff --git a/rngfixes.asm b/rngfixes.asm index bc722bc..29b4596 100644 --- a/rngfixes.asm +++ b/rngfixes.asm @@ -114,10 +114,10 @@ InitRNGPointerTable: REP #$30 ; set 16-bit accumulator & index registers LDX.w #$0000 - - LDA .rngDefaults, X : STA !RNG_POINTERS, X : INX #2 - LDA .rngDefaults, X : STA !RNG_POINTERS, X : INX #2 - LDA .rngDefaults, X : STA !RNG_POINTERS, X : INX #2 - LDA .rngDefaults, X : STA !RNG_POINTERS, X : INX #2 + LDA.l .rngDefaults, X : STA !RNG_POINTERS, X : INX #2 + LDA.l .rngDefaults, X : STA !RNG_POINTERS, X : INX #2 + LDA.l .rngDefaults, X : STA !RNG_POINTERS, X : INX #2 + LDA.l .rngDefaults, X : STA !RNG_POINTERS, X : INX #2 CPX.w #$007F : !BLT - PLP : PLX RTL diff --git a/roomloading.asm b/roomloading.asm index 633a876..29f584d 100644 --- a/roomloading.asm +++ b/roomloading.asm @@ -5,7 +5,7 @@ LoadRoomHook: JSL Dungeon_LoadRoom REP #$10 ; 16 bit XY LDX $A0 ; Room ID - LDA RoomCallbackTable, X + LDA.l RoomCallbackTable, X SEP #$10 ; 8 bit XY JSL UseImplicitRegIndexedLongJumpTable ; Callback routines: diff --git a/shopkeeper.asm b/shopkeeper.asm index 84671b7..3cfeb1b 100644 --- a/shopkeeper.asm +++ b/shopkeeper.asm @@ -222,13 +222,13 @@ SpritePrep_ShopKeeper: ; If the item is $FF, make it not show (as if already taken) LDA !SHOP_INVENTORY : CMP.b #$FF : BNE + - LDA !SHOP_STATE : ORA Shopkeeper_ItemMasks : STA !SHOP_STATE + LDA !SHOP_STATE : ORA.l Shopkeeper_ItemMasks : STA !SHOP_STATE + LDA !SHOP_INVENTORY+4 : CMP.b #$FF : BNE + - LDA !SHOP_STATE : ORA Shopkeeper_ItemMasks+1 : STA !SHOP_STATE + LDA !SHOP_STATE : ORA.l Shopkeeper_ItemMasks+1 : STA !SHOP_STATE + LDA !SHOP_INVENTORY+8 : CMP.b #$FF : BNE + - LDA !SHOP_STATE : ORA Shopkeeper_ItemMasks+2 : STA !SHOP_STATE + LDA !SHOP_STATE : ORA.l Shopkeeper_ItemMasks+2 : STA !SHOP_STATE + PLP : PLY : PLX diff --git a/stats/main.asm b/stats/main.asm index baefc49..b78b459 100755 --- a/stats/main.asm +++ b/stats/main.asm @@ -289,7 +289,7 @@ RenderCreditsStatCounter: LSR #3 AND.w #$001E TAX - LDA BitMasks,x + LDA.l BitMasks,x AND !ValueLow STA !ValueLow @@ -299,7 +299,7 @@ RenderCreditsStatCounter: AND.w #$0007 ; CCC BEQ + ASL : TAX - LDA ValueCaps,x + LDA.l ValueCaps,x CMP !ValueLow !BGE + STA !ValueLow diff --git a/tablets.asm b/tablets.asm index c1e7be7..460cecf 100644 --- a/tablets.asm +++ b/tablets.asm @@ -95,7 +95,7 @@ IsMedallion: RTL ;-------------------------------------------------------------------------------- LoadNarrowObject: - LDA AddReceivedItemExpanded_wide_item_flag, X : STA ($92), Y ; AddReceiveItem.wide_item_flag? + LDA.l AddReceivedItemExpanded_wide_item_flag, X : STA ($92), Y ; AddReceiveItem.wide_item_flag? RTL ;-------------------------------------------------------------------------------- DrawNarrowDroppedObject: @@ -115,7 +115,7 @@ DrawNarrowDroppedObject: ; always use the same character graphic (0x34) LDA.b #$34 : STA ($90), Y : INY - LDA AddReceivedItemExpanded_properties, X : BPL .valid_lower_properties + LDA.l AddReceivedItemExpanded_properties, X : BPL .valid_lower_properties LDA $74 diff --git a/utilities.asm b/utilities.asm index 945bb2d..730918b 100644 --- a/utilities.asm +++ b/utilities.asm @@ -40,7 +40,7 @@ GetSpriteID: PHX PHB : PHK : PLB ;-------- - TAX : LDA .gfxSlots, X ; look up item gfx + TAX : LDA.l .gfxSlots, X ; look up item gfx PLB : PLX CMP.b #$F8 : !BGE .specialHandling RTL @@ -179,7 +179,7 @@ GetSpritePalette: PHX PHB : PHK : PLB ;-------- - TAX : LDA .gfxPalettes, X ; look up item gfx + TAX : LDA.l .gfxPalettes, X ; look up item gfx PLB : PLX CMP.b #$F8 : !BGE .specialHandling RTL @@ -341,7 +341,7 @@ IsNarrowSprite: ;---- - CPX.b #$24 : !BGE .false ; finish if we've done the whole list - CMP .smallSprites, X : BNE + ; skip to next if we don't match + CMP.l .smallSprites, X : BNE + ; skip to next if we don't match ;-- SEC ; set true state BRA .done ; we're done @@ -632,10 +632,10 @@ CountBits: LSR #4 ; Shift down hi nybble, Leave <3> in C TAY ; And save <7:4> in Y TXA ; Recover value - AND #$07 ; Put out <2:0> in X + AND.b #$07 ; Put out <2:0> in X TAX ; And save in X - LDA NybbleBitCounts, Y ; Fetch count for Y - ADC NybbleBitCounts, X ; Add count for X & C + LDA NybbleBitCounts, Y; Fetch count for Y + ADC.l NybbleBitCounts, X; Add count for X & C PLB RTL diff --git a/zsnes.asm b/zsnes.asm index d72695e..e4cde9d 100644 --- a/zsnes.asm +++ b/zsnes.asm @@ -96,6 +96,9 @@ JML.l ReturnCheckZSNES STP ; ! ;-------------------------------------------------------------------------------- +;@ pushpc +;@ check bankcross off + org $378000 ZSNES_Tiles: @@ -106,4 +109,6 @@ ZSNES_TileMap: ZSNES_Palette: incbin zsnes_pal.bin - \ No newline at end of file + +;@ check bankcross on +;@ pullpc \ No newline at end of file