diff --git a/Menu/menu_draw.asm b/Menu/menu_draw.asm index 71a8375..e80ce05 100644 --- a/Menu/menu_draw.asm +++ b/Menu/menu_draw.asm @@ -1,4 +1,4 @@ -; ============================================================================= +; ========================================================= ; Tilemap Menu background Menu_DrawBackground: @@ -30,44 +30,44 @@ Menu_DrawBackground: RTS } -; ============================================================================= +; ========================================================= ; Menu Item Draw Routine ; Credit to Kan DrawMenuItem: { - STA.b $08 - STY.b $00 + STA.b $08 + STY.b $00 - LDA.b [$08] - AND.w #$00FF + LDA.b [$08] + AND.w #$00FF - BNE .not_zero + BNE .not_zero - LDY.w #NothingGFX - BRA .draw + LDY.w #NothingGFX + BRA .draw .not_zero - DEC + DEC - ASL : ASL : ASL - ADC.b $00 - TAY + ASL : ASL : ASL + ADC.b $00 + TAY .draw - LDA.w $0000,Y : STA.w $1108,X - LDA.w $0002,Y : STA.w $110A,X - LDA.w $0004,Y : STA.w $1148,X - LDA.w $0006,Y : STA.w $114A,X + LDA.w $0000,Y : STA.w $1108,X + LDA.w $0002,Y : STA.w $110A,X + LDA.w $0004,Y : STA.w $1148,X + LDA.w $0006,Y : STA.w $114A,X - RTS + RTS } -; ============================================================================= +; ========================================================= ; Quest Icons Tilemap Draw Routine -DrawQuestIcons: +Menu_DrawQuestIcons: { LDX.w #$10 @@ -94,9 +94,9 @@ DrawQuestIcons: } -; ============================================================================= +; ========================================================= -DrawTriforceIcon: +Menu_DrawTriforceIcons: { LDA.l $7EF37A LDX.w #$3534 @@ -135,9 +135,9 @@ DrawTriforceIcon: } -;=============================================================================== +; ========================================================= -DrawPendantIcons: +Menu_DrawPendantIcons: { LDA.l $7EF374 LSR : BCC + @@ -156,7 +156,7 @@ DrawPendantIcons: } -;=============================================================================== +; ========================================================= ; V H O P P P T T T T T T T T T T <- tile format ; V = Vertical Flip @@ -169,6 +169,12 @@ DrawPendantIcons: DrawHeartPieces: { + ; Empty heart containter + LDX.w #$2484 : STX.w $149E ; top left + LDX.w #$6484 : STX.w $14A0 ; top right + LDX.w #$2485 : STX.w $14DE ; bottom left + LDX.w #$6485 : STX.w $14E0 ; bottom right + LDA.l $7EF36B AND.w #$00FF CMP.w #3 : BEQ .top_right @@ -186,111 +192,113 @@ DrawHeartPieces: } -;=============================================================================== +; ========================================================= DrawMusicNotes: +{ LDA.w #$02 STA.w MusicNoteValue LDA.w #MusicNoteValue LDX.w #menu_offset(17,14) - LDY.w #QuarterNoteGFX - JSR DrawMenuItem + LDY.w #QuarterNoteGFX + JSR DrawMenuItem LDA.w #$03 STA.w MusicNoteValue LDA.w #MusicNoteValue LDX.w #menu_offset(17,17) - LDY.w #QuarterNoteGFX - JSR DrawMenuItem + LDY.w #QuarterNoteGFX + JSR DrawMenuItem LDA.w #$04 STA.w MusicNoteValue LDA.w #MusicNoteValue LDX.w #menu_offset(17,20) - LDY.w #QuarterNoteGFX - JSR DrawMenuItem + LDY.w #QuarterNoteGFX + JSR DrawMenuItem RTS +} -;=============================================================================== +; ========================================================= DrawYItems: { - SEP #$30 - LDA.b #$7E : STA.b $0A ; Set up the bank of our indirect address - REP #$30 + SEP #$30 + LDA.b #$7E : STA.b $0A ; Set up the bank of our indirect address + REP #$30 - LDA.w #$7EF340 - LDX.w #menu_offset(7,3) - LDY.w #BowsGFX - JSR DrawMenuItem + LDA.w #$7EF340 + LDX.w #menu_offset(7,3) + LDY.w #BowsGFX + JSR DrawMenuItem - LDA.w #$7EF341 - LDX.w #menu_offset(7,6) - LDY.w #BoomsGFX - JSR DrawMenuItem + LDA.w #$7EF341 + LDX.w #menu_offset(7,6) + LDY.w #BoomsGFX + JSR DrawMenuItem - LDA.l $7EF342 : CMP.w #$0000 : BEQ .no_hookshot + LDA.l $7EF342 : AND.w #$00FF : CMP.w #$0000 : BEQ .no_hookshot LDA.w GoldstarOrHookshot : BNE .spoof_hookshot LDA #$0001 ; No goldstar, but hookshot .spoof_hookshot STA.w MenuItemValueSpoof : LDA.w #MenuItemValueSpoof - LDX.w #menu_offset(7,9) - LDY.w #HookGFX - JSR DrawMenuItem + LDX.w #menu_offset(7,9) + LDY.w #HookGFX + JSR DrawMenuItem .no_hookshot LDA.l $7EF343 - CMP.w #$00 : BEQ .no_bomb + AND.w #$00FF : CMP.w #$00 : BEQ .no_bomb LDA.w #$0001 STA.w MenuItemValueSpoof LDA.w #MenuItemValueSpoof LDX.w #menu_offset(7,13) LDY.w #BombsGFX - JSR DrawMenuItem + JSR DrawMenuItem .no_bomb LDA.w #$7EF344 - LDX.w #menu_offset(7,16) - LDY.w #PowderGFX - JSR DrawMenuItem + LDX.w #menu_offset(7,16) + LDY.w #PowderGFX + JSR DrawMenuItem - LDA.w #$7EF35C - LDX.w #menu_offset(7,19) - LDY.w #BottlesGFX - JSR DrawMenuItem + LDA.w #$7EF35C + LDX.w #menu_offset(7,19) + LDY.w #BottlesGFX + JSR DrawMenuItem ;; next row - LDA.w #$7EF34B - LDX.w #menu_offset(10,3) - LDY.w #HammerGFX - JSR DrawMenuItem + LDA.w #$7EF34B + LDX.w #menu_offset(10,3) + LDY.w #HammerGFX + JSR DrawMenuItem LDA.w #$7EF34A - LDX.w #menu_offset(10,6) - LDY.w #LampGFX - JSR DrawMenuItem + LDX.w #menu_offset(10,6) + LDY.w #LampGFX + JSR DrawMenuItem LDA.w #$7EF345 - LDX.w #menu_offset(10,9) - LDY.w #Fire_rodGFX - JSR DrawMenuItem + LDX.w #menu_offset(10,9) + LDY.w #Fire_rodGFX + JSR DrawMenuItem - LDA.w #$7EF346 - LDX.w #menu_offset(10,13) - LDY.w #Ice_rodGFX - JSR DrawMenuItem + LDA.w #$7EF346 + LDX.w #menu_offset(10,13) + LDY.w #Ice_rodGFX + JSR DrawMenuItem LDA.w #$7EF353 - LDX.w #menu_offset(10,16) - LDY.w #MirrorGFX - JSR DrawMenuItem + LDX.w #menu_offset(10,16) + LDY.w #MirrorGFX + JSR DrawMenuItem - LDA.w #$7EF35D - LDX.w #menu_offset(10,19) - LDY.w #BottlesGFX - JSR DrawMenuItem + LDA.w #$7EF35D + LDX.w #menu_offset(10,19) + LDY.w #BottlesGFX + JSR DrawMenuItem ;; next row LDA.l $7EF34C : CMP.w #$0000 : BEQ .no_ocarina @@ -298,79 +306,87 @@ DrawYItems: LDA #$0001 ; Multi-songs not unlocked yet .spoof_ocarina STA.w ShortSpoof : LDA.w #ShortSpoof - LDX.w #menu_offset(13,3) - LDY.w #OcarinaGFX - JSR DrawMenuItem + LDX.w #menu_offset(13,3) + LDY.w #OcarinaGFX + JSR DrawMenuItem .no_ocarina LDA.l $7EF34E : CMP.w #$00 : BEQ .no_book LDA.w #$01 : STA.w ShortSpoof : LDA.w #ShortSpoof - LDX.w #menu_offset(13,6) - LDY.w #BookGFX - JSR DrawMenuItem + LDX.w #menu_offset(13,6) + LDY.w #BookGFX + JSR DrawMenuItem .no_book - LDA.w #$7EF350 - LDX.w #menu_offset(13,9) - LDY.w #SomariaGFX - JSR DrawMenuItem + ; LDA.l $7EF350 : CMP.w #$00 : BEQ .no_somaria +; LDA.w SomariaOrByrna : BNE .spoof_somaria +; .spoof_somaria + ; LDA.w #$01 : STA.w ShortSpoof : LDA.w #ShortSpoof + LDA.w #$7EF350 + LDX.w #menu_offset(13,9) + LDY.w #SomariaGFX + JSR DrawMenuItem +.no_somaria - LDA.w #$7EF351 - LDX.w #menu_offset(13,13) - LDY.w #ByrnaGFX - JSR DrawMenuItem + + LDA.w #$7EF351 + LDX.w #menu_offset(13,13) + ;LDY.w #ByrnaGFX + LDY.w #FishingRodGFX + JSR DrawMenuItem LDA.w #$7EF34D - LDX.w #menu_offset(13,16) - LDY.w #JumpFeatherGFX - JSR DrawMenuItem + LDX.w #menu_offset(13,16) + LDY.w #JumpFeatherGFX + JSR DrawMenuItem - LDA.w #$7EF35E - LDX.w #menu_offset(13,19) - LDY.w #BottlesGFX - JSR DrawMenuItem + LDA.w #$7EF35E + LDX.w #menu_offset(13,19) + LDY.w #BottlesGFX + JSR DrawMenuItem ;; next row LDA.w #$7EF349 - LDX.w #menu_offset(16,3) - LDY.w #DekuMaskGFX - JSR DrawMenuItem + LDX.w #menu_offset(16,3) + LDY.w #DekuMaskGFX + JSR DrawMenuItem - LDA.w #$7EF347 - LDX.w #menu_offset(16,6) - LDY.w #ZoraMaskGFX - JSR DrawMenuItem + LDA.w #$7EF347 + LDX.w #menu_offset(16,6) + LDY.w #ZoraMaskGFX + JSR DrawMenuItem LDA.w #$7EF358 - LDX.w #menu_offset(16,9) - LDY.w #WolfMaskGFX - JSR DrawMenuItem + LDX.w #menu_offset(16,9) + LDY.w #WolfMaskGFX + JSR DrawMenuItem LDA.w #$7EF348 - LDX.w #menu_offset(16,13) - LDY.w #BunnyHoodGFX - JSR DrawMenuItem + LDX.w #menu_offset(16,13) + LDY.w #BunnyHoodGFX + JSR DrawMenuItem - LDA.w #$7EF352 - LDX.w #menu_offset(16,16) - LDY.w #StoneMaskGFX - JSR DrawMenuItem + LDA.w #$7EF352 + LDX.w #menu_offset(16,16) + LDY.w #StoneMaskGFX + JSR DrawMenuItem - LDA.w #$7EF35F - LDX.w #menu_offset(16,19) - LDY.w #BottlesGFX - JSR DrawMenuItem + LDA.w #$7EF35F + LDX.w #menu_offset(16,19) + LDY.w #BottlesGFX + JSR DrawMenuItem - RTS + RTS } -; ============================================================================= +; ========================================================= Menu_DrawQuestItems: - SEP #$30 - LDA.b #$7E : STA.b $0A - REP #$30 +{ + SEP #$30 + LDA.b #$7E : STA.b $0A + REP #$30 LDA.w #$7EF359 LDX.w #menu_offset(14,2) @@ -411,8 +427,9 @@ Menu_DrawQuestItems: JSR DrawMenuItem RTS +} -; ============================================================================= +; ========================================================= Menu_DrawBigKey: { @@ -430,8 +447,8 @@ Menu_DrawBigKey: JSR CheckPalaceItemPossession : LDA $02 : BEQ .noTreasureYet SEP #$30 - LDA.b #$7E : STA.b $0A - REP #$30 + LDA.b #$7E : STA.b $0A + REP #$30 LDA.w #$01 STA.w ShortSpoof @@ -443,8 +460,8 @@ Menu_DrawBigKey: .noTreasureYet SEP #$30 - LDA.b #$7E : STA.b $0A - REP #$30 + LDA.b #$7E : STA.b $0A + REP #$30 LDA.w #$01 STA.w ShortSpoof @@ -482,7 +499,7 @@ Menu_DrawBigKey: RTS } -; ============================================================================= +; ========================================================= ; *$6EEB6-$6EEDB LOCAL CheckPalaceItemPossession: @@ -509,7 +526,7 @@ CheckPalaceItemPossession: dw .red_mail } -; ============================================================================== +; ========================================================== ; *$6EEDC-$6EEE0 JUMP LOCATION .pool_CheckPalaceItemPossession: @@ -604,8 +621,8 @@ Menu_DrawBigChestKey: BCC .dontHaveCompass SEP #$30 - LDA.b #$7E : STA.b $0A - REP #$30 + LDA.b #$7E : STA.b $0A + REP #$30 LDA.w #$01 STA.w ShortSpoof