diff --git a/Menu/menu.asm b/Menu/menu.asm index b009e70..274edae 100644 --- a/Menu/menu.asm +++ b/Menu/menu.asm @@ -30,12 +30,8 @@ org $808B6B : LDX.w #$6040 org $8DDFB2 : LDA.l Menu_ItemIndex, X pullpc -; upload tilemaps containing frame of menu and icons org $248000 -Menu_Tilemap: incbin "tilemaps/menu_frame.tilemap" -Menu_QuestIcons: incbin "tilemaps/quest_icons.tilemap" incsrc "menu_gfx_table.asm" -incsrc "menu_draw_items.asm" incsrc "menu_text.asm" incsrc "menu_palette.asm" @@ -53,7 +49,17 @@ Menu_Entry: PLB RTL } -incsrc "menu_vectors.asm" +.vectors + dw Menu_InitGraphics ; 00 + dw Menu_UploadRight ; 01 + dw Menu_UploadLeft ; 02 + dw Menu_ScrollDown ; 03 + dw Menu_ItemScreen ; 04 + dw Menu_ScrollTo ; 05 + dw Menu_StatsScreen ; 06 + dw Menu_ScrollFrom ; 07 + dw Menu_ScrollUp ; 08 + dw Menu_Exit ; 09 ; ============================================================================= ; 00 MENU INIT GRAPHICS @@ -66,6 +72,7 @@ Menu_InitGraphics: ; ============================================================================= ; 01 MENU UPLOAD RIGHT +incsrc "menu_draw.asm" Menu_UploadRight: { @@ -313,12 +320,10 @@ Menu_CheckBottle: LDA.b #$0001 : STA.w $7F5021 .not_shovel - LDA.w $0202 : CMP.b #$19 : BNE .not_flute LDA.w $7EF34C : JML $70A31D .not_flute - RTS } @@ -355,7 +360,8 @@ Menu_Exit: ; ============================================================================= -incsrc "menu_draw_bg.asm" +menu_frame: incbin "tilemaps/menu_frame.tilemap" +quest_icons: incbin "tilemaps/quest_icons.tilemap" incsrc "lw_map_names.asm" incsrc "menu_hud.asm" diff --git a/Menu/menu_draw_items.asm b/Menu/menu_draw.asm similarity index 82% rename from Menu/menu_draw_items.asm rename to Menu/menu_draw.asm index bf45652..66ca018 100644 --- a/Menu/menu_draw_items.asm +++ b/Menu/menu_draw.asm @@ -1,4 +1,38 @@ -;=============================================================================== +; ============================================================================= +; Tilemap Menu background + +Menu_DrawBackground: +{ + REP #$30 + LDX.w #$FE ; $1700-17FF + +.loop + LDA.w menu_frame, X + STA.w $1000, X + LDA.w menu_frame+$100, X + STA.w $1100, X + LDA.w menu_frame+$200, X + STA.w $1200, X + LDA.w menu_frame+$300, X + STA.w $1300, X + LDA.w menu_frame+$400, X + STA.w $1400, X + LDA.w menu_frame+$500, X + STA.w $1500, X + LDA.w menu_frame+$600, X + STA.w $1600, X + LDA.w menu_frame+$700, X + STA.w $1700, X + + DEX : DEX + BPL .loop + + RTS +} + +; ============================================================================= +; Menu Item Draw Routine +; Credit to Kan DrawMenuItem: STA.b $08 @@ -15,9 +49,7 @@ DrawMenuItem: .not_zero DEC - ASL - ASL - ASL + ASL : ASL : ASL ADC.b $00 TAY @@ -29,25 +61,26 @@ DrawMenuItem: RTS -;=============================================================================== +; ============================================================================= +; Quest Icons Tilemap Draw Routine DrawQuestIcons: LDX.w #$10 .loop - LDA.w Menu_QuestIcons, X + LDA.w quest_icons, X STA.w $1364, X - LDA.w Menu_QuestIcons+$10, X + LDA.w quest_icons+$10, X STA.w $13A4, X - LDA.w Menu_QuestIcons+$20, X + LDA.w quest_icons+$20, X STA.w $13E4, X - LDA.w Menu_QuestIcons+$30, X + LDA.w quest_icons+$30, X STA.w $1424, X - LDA.w Menu_QuestIcons+$40, X + LDA.w quest_icons+$40, X STA.w $1464, X - LDA.w Menu_QuestIcons+$50, X + LDA.w quest_icons+$50, X STA.w $14A4, X - LDA.w Menu_QuestIcons+$60, X + LDA.w quest_icons+$60, X STA.w $14E4, X DEX : DEX : BPL .loop @@ -55,7 +88,7 @@ DrawQuestIcons: RTS -;=============================================================================== +; ============================================================================= DrawTriforceIcon: LDA.l $7EF37A @@ -167,10 +200,9 @@ DrawMusicNotes: ;=============================================================================== DrawYItems: - ; Set up the bank of our indirect address +{ SEP #$30 - LDA.b #$7E : STA.b $0A - + LDA.b #$7E : STA.b $0A ; Set up the bank of our indirect address REP #$30 LDA.w #$7EF340 @@ -247,16 +279,10 @@ DrawYItems: LDY.w #ShovelGFX JSR DrawMenuItem - ;LDA.w #$7EF34D - LDA.l $7EF34D - CMP.w #$00 : BEQ .no_feather - LDA.w #$01 - STA.w ShortSpoof - LDA.w #ShortSpoof + LDA.w #$7EF34D LDX.w #menu_offset(13,6) LDY.w #JumpFeatherGFX JSR DrawMenuItem -.no_feather LDA.w #$7EF350 LDX.w #menu_offset(13,9) @@ -323,6 +349,9 @@ DrawYItems: JSR DrawMenuItem RTS +} + +; ============================================================================= Menu_DrawQuestItems: SEP #$30 @@ -352,13 +381,11 @@ Menu_DrawQuestItems: LDY.w #PowerGloveGFX JSR DrawMenuItem - LDA.w #$7EF355 LDX.w #menu_offset(17,5) LDY.w #PegasusBootsGFX JSR DrawMenuItem - LDA.w #$7EF356 LDX.w #menu_offset(17,8) LDY.w #FlippersGFX diff --git a/Menu/menu_draw_bg.asm b/Menu/menu_draw_bg.asm deleted file mode 100644 index 461f54c..0000000 --- a/Menu/menu_draw_bg.asm +++ /dev/null @@ -1,31 +0,0 @@ -; ============================================================================= -; Tilemap Menu background - -Menu_DrawBackground: -{ - REP #$30 - LDX.w #$FE ; $1700-17FF - -.loop - LDA.w Menu_Tilemap, X - STA.w $1000, X - LDA.w Menu_Tilemap+$100, X - STA.w $1100, X - LDA.w Menu_Tilemap+$200, X - STA.w $1200, X - LDA.w Menu_Tilemap+$300, X - STA.w $1300, X - LDA.w Menu_Tilemap+$400, X - STA.w $1400, X - LDA.w Menu_Tilemap+$500, X - STA.w $1500, X - LDA.w Menu_Tilemap+$600, X - STA.w $1600, X - LDA.w Menu_Tilemap+$700, X - STA.w $1700, X - - DEX : DEX - BPL .loop - - RTS -} \ No newline at end of file diff --git a/Menu/menu_gfx_table.asm b/Menu/menu_gfx_table.asm index b8233b0..777f3fd 100644 --- a/Menu/menu_gfx_table.asm +++ b/Menu/menu_gfx_table.asm @@ -1,75 +1,109 @@ ; ============================================================================= -; Item Graphics -; Lack of an item will be handled by the "NothingGFX" data -; Everything else will be used as follows: -; dw top left, top right, bottom left, bottom right ; val = 1 -; dw top left, top right, bottom left, bottom right ; val = 2 -; ============================================================================= +; Item Graphics +; Lack of an item will be handled by the "NothingGFX" data +; Everything else will be used as follows: +; dw top left, top right, bottom left, bottom right ; val = 1 +; dw top left, top right, bottom left, bottom right ; val = 2 +; ------------------------------------- NothingGFX: - dw $20F5, $20F5, $20F5, $20F5 ; Nothing + dw $20F5, $20F5, $20F5, $20F5 + +; ------------------------------------- BowsGFX: dw $28BA, $28E9, $28E8, $28CB ; Empty bow - ; dw $297C, $297D, $2849, $284A ; NEW slingshot + ;dw $297C, $297D, $2849, $284A Slingshot dw $28BA, $284A, $2849, $28CB ; Bow and arrows dw $28BA, $28E9, $28E8, $28CB ; Empty silvers bow dw $28BA, $28BB, $24CA, $28CB ; Silver bow and arrows +; ------------------------------------- + BoomsGFX: dw $2CB8, $2CB9, $2CC9, $ACB9 ; Blue boomerang dw $24B8, $24B9, $24C9, $A4B9 ; Red boomerang - ; dw $3CB8, $3CB9, $3CC9, $BCB9 ; NEW green boomerang + ;dw $3CB8, $3CB9, $3CC9, $BCB9 Green boomerang + +; ------------------------------------- HookGFX: dw $24F5, $24F6, $24C0, $24F5 ; Hookshot - ; dw $2C17, $3531, $2D40, $3541 ; Ball & Chain + ;dw $2C17, $3531, $2D40, $3541 Ball & Chain + +; ------------------------------------- BombsGFX: dw $2CB2, $2CB3, $2CC2, $6CC2 ; Bombs +; ------------------------------------- + PowderGFX: dw $2444, $2445, $2446, $2447 ; Mushroom dw $283B, $283C, $283D, $283E ; Powder +; ------------------------------------- + Fire_rodGFX: dw $24B0, $24B1, $24C0, $24C1 ; Fire Rod +; ------------------------------------- + Ice_rodGFX: dw $2CB0, $2CBE, $2CC0, $2CC1 ; Ice Rod +; ------------------------------------- ; formerly Bombos + GoronMaskGFX: - dw $2867, $6867, $2877, $6877 ; Goron Mask + dw $2867, $6867, $2877, $6877 +; ------------------------------------- ; formerly Quake -DekuMaskGFX: - dw $2066, $6066, $2076, $6076 ; Deku Mask +DekuMaskGFX: + dw $2066, $6066, $2076, $6076 + +; ------------------------------------- ; formerly Ether + BunnyHoodGFX: - dw $3469, $7469, $3479, $7479 ; Bunny Hood + dw $3469, $7469, $3479, $7479 + +; ------------------------------------- LampGFX: - dw $24BC, $24BD, $24CC, $64CC ; New Lamp - + dw $24BC, $24BD, $24CC, $64CC + +; ------------------------------------- + HammerGFX: - dw $24B6, $24B7, $20C6, $24C7 ; NEW Hammer + dw $24B6, $24B7, $20C6, $24C7 + +; ------------------------------------- ShovelGFX: - dw $30D0, $20D1, $30E0, $30E1 ; NEW Shovel + dw $30D0, $20D1, $30E0, $30E1 + +; ------------------------------------- OcarinaGFX: - dw $2CD4, $2CD5, $2CE4, $2CE5 ; Flute + dw $2CD4, $2CD5, $2CE4, $2CE5 dw $2CD4, $2CD5, $2CE4, $2CE5 dw $2CD4, $2CD5, $2CE4, $2CE5 +; ------------------------------------- ; formerly fishing net + JumpFeatherGFX: - dw $2840, $2841, $3C42, $3C43 ; Roc's Feather + dw $2840, $2841, $3C42, $3C43 + +; ------------------------------------- BookGFX: - dw $3CA5, $3CA6, $3CD8, $3CD9 ; Book of Mudora + dw $3CA5, $3CA6, $3CD8, $3CD9 + +; ------------------------------------- BottlesGFX: dw $2044, $2045, $2046, $2047 ; Mushroom @@ -81,22 +115,31 @@ BottlesGFX: dw $2837, $2838, $2839, $283A ; Bee dw $2837, $2838, $2839, $283A ; Good bee +; ------------------------------------- + SomariaGFX: - dw $24DC, $24DD, $24EC, $24ED ; Cane of Somaria + dw $24DC, $24DD, $24EC, $24ED +; ------------------------------------- ByrnaGFX: - dw $2CDC, $2CDD, $2CEC, $2CED ; Cane of Byrna + dw $2CDC, $2CDD, $2CEC, $2CED +; ------------------------------------- ; formerly Magic Cape + StoneMaskGFX: dw $30B4, $30B5, $30C4, $30C5 ; Stone Mask +; ------------------------------------- + MirrorGFX: dw $2C72, $2C73, $2C62, $2C63 ; Mirror dw $2C62, $2C63, $2C72, $2C73 ; Mirror + ; ============================================================================= ; Collectibles +; ------------------------------------- QuarterNoteGFX: dw $30AA, $306B, $307A, $306A ; Gray Note @@ -105,6 +148,8 @@ QuarterNoteGFX: dw $3CAA, $3C6B, $3C7A, $3C6A ; Green Note dw $34AA, $346B, $347A, $346A ; Gold Note +; ------------------------------------- + TradeQuestGFX: dw $3D36, $3D37, $3D46, $3D47 ; Yoshi Doll dw $28DE, $28DF, $28EE, $28EF ; Tasty Meat @@ -112,38 +157,54 @@ TradeQuestGFX: dw $241E, $241F, $242E, $242F ; Pretty Bow dw $3D7E, $3D7F, $356C, $756C ; Pineapple + +; ============================================================================= ; Equipped Items +; ------------------------------------- PegasusBootsGFX: dw $2429, $242A, $242B, $242C ; Pegasus Boots +; ------------------------------------- + PowerGloveGFX: dw $30DA, $30DB, $30EA, $30EB ; Worn-Out Glove dw $28DA, $28DB, $28EA, $28EB ; Power Glove +; ------------------------------------- + FlippersGFX: dw $2C9A, $2C9B, $2C9D, $2C9E +; ------------------------------------- + MoonPearlGFX: dw $2433, $2434, $2435, $2436 +; ------------------------------------- + SwordGFX: dw $2C64, $2CCE, $2C75, $EC64 ; level one dw $2C64, $2C65, $2C74, $2D26 ; level two dw $3464, $3465, $3475, $3429 ; level three dw $3464, $3465, $3475, $3429 ; level four +; ------------------------------------- + ShieldGFX: dw $2CFD, $6CFD, $2CFE, $6CFE ; baby shield dw $2CFF, $6CFF, $2C9F, $6C9F ; island shield dw $2C80, $2C81, $2C8D, $2C8E ; mirror shield +; ------------------------------------- + TunicGFX: dw $3C68, $7C68, $3C78, $7C78 ; green tunic dw $2C68, $6C68, $2C78, $6C78 ; blue tunic dw $3468, $7468, $3478, $7478 ; gold tunic -; still some more to go +; ============================================================================= +; Static Text on the Menu SelectItemTXT: dw $2562, $2554, $255B, $2554 diff --git a/Menu/menu_vectors.asm b/Menu/menu_vectors.asm deleted file mode 100644 index f261cab..0000000 --- a/Menu/menu_vectors.asm +++ /dev/null @@ -1,11 +0,0 @@ -.vectors - dw Menu_InitGraphics ; 00 - dw Menu_UploadRight ; 01 - dw Menu_UploadLeft ; 02 - dw Menu_ScrollDown ; 03 - dw Menu_ItemScreen ; 04 - dw Menu_ScrollTo ; 05 - dw Menu_StatsScreen ; 06 - dw Menu_ScrollFrom ; 07 - dw Menu_ScrollUp ; 08 - dw Menu_Exit ; 09 \ No newline at end of file