custom oracle menu
This commit is contained in:
65
Menu/lw_map_names.asm
Normal file
65
Menu/lw_map_names.asm
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
OverworldLocationNames:
|
||||||
|
dw "RANCH___________" ; 00
|
||||||
|
dw "RANCH___________" ; 01
|
||||||
|
dw "PYRAMID_________" ; 02
|
||||||
|
dw "LAND_OF_TREE____" ; 03
|
||||||
|
dw "SNOW_MOUNTAIN___" ; 04
|
||||||
|
dw "SNOW_MOUNTAIN___" ; 05
|
||||||
|
dw "SNOW_MOUNTAIN___" ; 06
|
||||||
|
dw "SNOW_MOUNTAIN___" ; 07
|
||||||
|
dw "RANCH___________" ; 08
|
||||||
|
dw "RANCH___________" ; 09
|
||||||
|
dw "INN_____________" ; 0A
|
||||||
|
dw "KALYXO_CASTLE___" ; 0B
|
||||||
|
dw "KALYXO_CASTLE___" ; 0C
|
||||||
|
dw "POTION_SHOP_____" ; 0D
|
||||||
|
dw "HALL_OF_SECRETS_" ; 0E
|
||||||
|
dw "CEMETERY________" ; 0F
|
||||||
|
dw "TOADSTOOL_WOODS_" ; 10
|
||||||
|
dw "RANCH_PATH______" ; 11
|
||||||
|
dw "CROSSROADS______" ; 12
|
||||||
|
dw "KALYXO_CASTLE___" ; 13
|
||||||
|
dw "KALYXO_CASTLE___" ; 14
|
||||||
|
dw "MOUNTAINSIDE____" ; 15
|
||||||
|
dw "PATH_OF_SECRETS_" ; 16
|
||||||
|
dw "ANCIENT_SHRINE__" ; 17
|
||||||
|
dw "TOADSTOOL_WOODS_" ; 18
|
||||||
|
dw "TOADSTOOL_WOODS_" ; 19
|
||||||
|
dw "CROSSROADS______" ; 1A
|
||||||
|
dw "KALYXO_CASTLE___" ; 1B
|
||||||
|
dw "KALYXO_ROAD_____" ; 1C
|
||||||
|
dw "CROSSROADS______" ; 1D
|
||||||
|
dw "SUNKEN_CITY_____" ; 1E
|
||||||
|
dw "SUNKEN_CITY_____" ; 1F
|
||||||
|
dw "TOADSTOOL_WOODS_" ; 20
|
||||||
|
dw "TOADSTOOL_WOODS_" ; 21
|
||||||
|
dw "SWORDSMITHS_____" ; 22
|
||||||
|
dw "WAYWARD_VILLAGE_" ; 23
|
||||||
|
dw "WAYWARD_VILLAGE_" ; 24
|
||||||
|
dw "VILLAGE_ROAD____" ; 25
|
||||||
|
dw "SUNKEN_CITY_____" ; 26
|
||||||
|
dw "SUNKEN_CITY_____" ; 27
|
||||||
|
dw "TOADSTOOL_WOODS_" ; 28
|
||||||
|
dw "TOADSTOOL_WOODS_" ; 29
|
||||||
|
dw "VILLAGE_ROAD____" ; 2A
|
||||||
|
dw "WAYWARD_VILLAGE_" ; 2B
|
||||||
|
dw "WAYWARD_VILLAGE_" ; 2C
|
||||||
|
dw "VALLEY__________" ; 2D
|
||||||
|
dw "CITY_ROAD_______" ; 2E
|
||||||
|
dw "TAIL_PALACE_____" ; 2F
|
||||||
|
dw "PHANTOM_SHIP____" ; 30
|
||||||
|
dw "PHANTOM_SHIP____" ; 31
|
||||||
|
dw "SECRET_BEACH____" ; 32
|
||||||
|
dw "LOOM_BEACH______" ; 33
|
||||||
|
dw "LOOM_BEACH______" ; 34
|
||||||
|
dw "BEACH_PATH______" ; 35
|
||||||
|
dw "GARO_DESERT_____" ; 36
|
||||||
|
dw "GARO_DESERT_____" ; 37
|
||||||
|
dw "PHANTOM_SHIP____" ; 38
|
||||||
|
dw "PHANTOM_SHIP____" ; 39
|
||||||
|
dw "LOST_SEA________" ; 3A
|
||||||
|
dw "LOOM_BEACH______" ; 3B
|
||||||
|
dw "LOOM_BEACH______" ; 3C
|
||||||
|
dw "LOOM_WATERFALL__" ; 3D
|
||||||
|
dw "GARO_DESERT_____" ; 3E
|
||||||
|
dw "GARO_DESERT_____" ; 3F
|
||||||
730
Menu/menu.asm
Normal file
730
Menu/menu.asm
Normal file
@@ -0,0 +1,730 @@
|
|||||||
|
;===========================================================
|
||||||
|
; The Legend of Zelda: Oracle of Secrets
|
||||||
|
; ------------NEW Custom Menu ------------
|
||||||
|
;
|
||||||
|
; Details: Complete overhaul of original LTTP menu
|
||||||
|
; Two Pane Oot/MM inspired design
|
||||||
|
; Original item layout and designs
|
||||||
|
; Detailed Quest Status screen
|
||||||
|
; Player name, location name, and death count
|
||||||
|
;
|
||||||
|
; Significant thanks to Kan for helping me craft this menu!
|
||||||
|
;
|
||||||
|
;===========================================================
|
||||||
|
|
||||||
|
pushpc
|
||||||
|
org $1BD662 ; update in game hud colors
|
||||||
|
dw hexto555($814f16), hexto555($552903)
|
||||||
|
org $1BD66A
|
||||||
|
dw hexto555($d51d00), hexto555($f9f9f9)
|
||||||
|
org $1DB672
|
||||||
|
dw hexto555($d1a452), hexto555($f9f9f9)
|
||||||
|
org $1DB67A
|
||||||
|
dw hexto555($5987e0), hexto555($f9f9f9)
|
||||||
|
org $1DB682
|
||||||
|
dw hexto555($7b7b83), hexto555($bbbbbb)
|
||||||
|
org $1DB68A
|
||||||
|
dw hexto555($a58100), hexto555($dfb93f)
|
||||||
|
org $0098AB : db $D8>>1
|
||||||
|
org $00F877 : db Menu_Entry>>0
|
||||||
|
org $00F883 : db Menu_Entry>>8
|
||||||
|
org $00F88F : db Menu_Entry>>16
|
||||||
|
org $808B6B : LDX.w #$6040
|
||||||
|
org $8DDFB2 : LDA.l Menu_ItemIndex, X
|
||||||
|
pullpc
|
||||||
|
|
||||||
|
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"
|
||||||
|
|
||||||
|
Menu_Palette:
|
||||||
|
; 7EC502
|
||||||
|
; first tile blank bc kan said so
|
||||||
|
dw hexto555($814f16)
|
||||||
|
dw hexto555($552903)
|
||||||
|
dw hexto555($000000)
|
||||||
|
dw hexto555($000000) ; transparent
|
||||||
|
dw hexto555($d51d00)
|
||||||
|
dw hexto555($f9f9f9)
|
||||||
|
dw hexto555($000000)
|
||||||
|
dw hexto555($000000) ; transparent
|
||||||
|
dw hexto555($d1a452)
|
||||||
|
dw hexto555($f9f9f9)
|
||||||
|
dw hexto555($000000)
|
||||||
|
dw hexto555($000000) ; transparent
|
||||||
|
dw hexto555($5987e0)
|
||||||
|
dw hexto555($f9f9f9)
|
||||||
|
dw hexto555($000000)
|
||||||
|
dw hexto555($000000) ; transparent
|
||||||
|
dw hexto555($7b7b83)
|
||||||
|
dw hexto555($bbbbbb)
|
||||||
|
dw hexto555($000000)
|
||||||
|
dw hexto555($000000) ; transparent
|
||||||
|
dw hexto555($a58100)
|
||||||
|
dw hexto555($dfb93f)
|
||||||
|
dw hexto555($000000)
|
||||||
|
dw hexto555($000000) ; transparent
|
||||||
|
dw hexto555($814f16)
|
||||||
|
dw hexto555($013e6e)
|
||||||
|
dw hexto555($000000)
|
||||||
|
dw hexto555($000000) ; transparent
|
||||||
|
dw hexto555($15cd34)
|
||||||
|
dw hexto555($f9f9f9)
|
||||||
|
dw hexto555($000000)
|
||||||
|
|
||||||
|
Menu_Entry:
|
||||||
|
PHB : PHK : PLB
|
||||||
|
LDA.w $0200
|
||||||
|
ASL
|
||||||
|
TAX
|
||||||
|
|
||||||
|
JSR (.vectors,X)
|
||||||
|
|
||||||
|
SEP #$20
|
||||||
|
PLB
|
||||||
|
RTL
|
||||||
|
|
||||||
|
.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
|
||||||
|
|
||||||
|
Menu_InitGraphics:
|
||||||
|
{
|
||||||
|
LDA.w $0780 : STA.w $00
|
||||||
|
INC $0200
|
||||||
|
}
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
; 01 MENU UPLOAD RIGHT
|
||||||
|
|
||||||
|
Menu_UploadRight:
|
||||||
|
{
|
||||||
|
JSR Menu_DrawBackground
|
||||||
|
JSR Menu_DrawQuestItems
|
||||||
|
JSR Menu_DrawCharacterName
|
||||||
|
JSR DrawQuestIcons
|
||||||
|
JSR DrawTriforceIcon
|
||||||
|
JSR DrawPendantIcons
|
||||||
|
JSR DrawDeathCounter
|
||||||
|
JSR DrawPlaytimeLabel
|
||||||
|
JSR DrawScrollsLabel
|
||||||
|
|
||||||
|
;; heart piece empty, move this later
|
||||||
|
LDX.w #$2484 : STX.w $149E ; draw empty top left
|
||||||
|
LDX.w #$6484 : STX.w $14A0 ; draw empty top right
|
||||||
|
LDX.w #$2485 : STX.w $14DE ; draw empty bottom left
|
||||||
|
LDX.w #$6485 : STX.w $14E0 ; draw empty bottom right
|
||||||
|
|
||||||
|
JSR DrawHeartPieces
|
||||||
|
JSR DrawMusicNotes
|
||||||
|
JSR Menu_DrawQuestStatus
|
||||||
|
JSR Menu_DrawAreaNameTXT
|
||||||
|
JSR DrawLocationName
|
||||||
|
|
||||||
|
SEP #$30
|
||||||
|
LDA.b #$23 : STA.w $0116
|
||||||
|
LDA.b #$01 : STA.b $17
|
||||||
|
INC.w $0200
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
; 02 MENU UPLOAD LEFT
|
||||||
|
|
||||||
|
Menu_UploadLeft:
|
||||||
|
{
|
||||||
|
JSR Menu_DrawBackground
|
||||||
|
JSR DrawYItems
|
||||||
|
JSR Menu_DrawSelect
|
||||||
|
JSR Menu_DrawItemName
|
||||||
|
;;JSR Debug_Entry
|
||||||
|
|
||||||
|
; INSERT PALETTE -------
|
||||||
|
LDX.w #$3E
|
||||||
|
.loop
|
||||||
|
LDA.w Menu_Palette, X
|
||||||
|
STA.l $7EC502, X
|
||||||
|
DEX : DEX
|
||||||
|
BPL .loop
|
||||||
|
|
||||||
|
SEP #$30
|
||||||
|
;-----------------------
|
||||||
|
LDA.b #$22 : STA.w $0116
|
||||||
|
LDA.b #$01 : STA.b $17 : STA.b $15 ; added for palette
|
||||||
|
INC.w $0200
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
; dw 0, -5, -10, -15, -20, -25, -40, -60, -75, -90, -100, -125, -135, -150, -175, -180, -190, -200, -210, -215, -220, -225, -230, -232, -238
|
||||||
|
; dw 0, -5, -10, -15, -20, -40, -60, -75, -90, -100, -125, -150, -175, -190, -200, -210, -220, -225, -230, -232, -250
|
||||||
|
Menu_Scroll:
|
||||||
|
dw 0, -3, -5, -7, -10, -12, -15, -20, -28, -40, -50, -60, -75, -90, -100, -125, -150, -175, -190, -200, -210, -220, -225, -230, -232, -234, -238
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
; 03 MENU SCROLL DOWN
|
||||||
|
|
||||||
|
Menu_ScrollDown:
|
||||||
|
{
|
||||||
|
LDA.b #$11 : STA.w $012F
|
||||||
|
SEP #$10
|
||||||
|
REP #$20
|
||||||
|
|
||||||
|
LDX.w MenuScrollLevelV
|
||||||
|
INX : INX
|
||||||
|
LDA.w Menu_Scroll, X
|
||||||
|
STA.b $EA
|
||||||
|
CMP.w #$FF12 : BNE .loop
|
||||||
|
|
||||||
|
JMP Menu_InitItemScreen
|
||||||
|
|
||||||
|
.loop
|
||||||
|
STX.w MenuScrollLevelV
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
; 04 MENU ITEM SCREEN
|
||||||
|
|
||||||
|
Menu_ItemIndex:
|
||||||
|
db $03 ; slingshot
|
||||||
|
db $02 ; boomerang
|
||||||
|
db $0E ; hookshot
|
||||||
|
db $01 ; bombs
|
||||||
|
db $11 ; deku mask
|
||||||
|
db $0B ; bottle1
|
||||||
|
db $05 ; firerod (nimbus)
|
||||||
|
db $06 ; icerod
|
||||||
|
db $09 ; lamp
|
||||||
|
db $04 ; hammer
|
||||||
|
db $0F ; bombos / goron
|
||||||
|
db $4B ; bottle2
|
||||||
|
db $12 ; somaria
|
||||||
|
db $0D ; byrna
|
||||||
|
db $0C ; book
|
||||||
|
db $07 ; feather
|
||||||
|
db $10 ; bunny hood
|
||||||
|
db $8B ; bottle3
|
||||||
|
db $08 ; ocarina
|
||||||
|
db $14 ; mirror
|
||||||
|
db $0B ; shovel
|
||||||
|
db $0A ; powder
|
||||||
|
db $13 ; stone mask
|
||||||
|
db $CB ; bottle4
|
||||||
|
|
||||||
|
Menu_AddressIndex:
|
||||||
|
db $7EF340 ; bow
|
||||||
|
db $7EF341 ; boom
|
||||||
|
db $7EF342 ; hookshot
|
||||||
|
db $7EF343 ; bombs
|
||||||
|
db $7EF348 ; deku mask
|
||||||
|
db $7EF35C ; bottle1
|
||||||
|
db $7EF345 ; firerod (nimbus)
|
||||||
|
db $7EF346 ; icerod
|
||||||
|
db $7EF34A ; lamp
|
||||||
|
db $7EF34B ; hammer
|
||||||
|
db $7EF347 ; bombos / goron
|
||||||
|
db $7EF35D ; bottle2
|
||||||
|
db $7EF350 ; somaria
|
||||||
|
db $7EF351 ; byrna
|
||||||
|
db $7EF34E ; book
|
||||||
|
db $7EF34D ; feather
|
||||||
|
db $7EF349 ; bunny hood
|
||||||
|
db $7EF35E ; bottle3
|
||||||
|
db $7EF34C ; ocarina
|
||||||
|
db $7EF353 ; mirror
|
||||||
|
db $7EF34F ; shovel
|
||||||
|
db $7EF344 ; powder
|
||||||
|
db $7EF352 ; stone mask
|
||||||
|
db $7EF35F ; bottle4
|
||||||
|
|
||||||
|
Menu_ItemCursorPositions:
|
||||||
|
dw menu_offset(6,1) ; bow
|
||||||
|
dw menu_offset(6,4) ; boom
|
||||||
|
dw menu_offset(6,7) ; hookshot
|
||||||
|
dw menu_offset(6,10) ; bombs
|
||||||
|
dw menu_offset(6,13) ; deku mask
|
||||||
|
dw menu_offset(6,16) ; bottle1
|
||||||
|
dw menu_offset(9,1) ; firerod
|
||||||
|
dw menu_offset(9,4) ; icerod
|
||||||
|
dw menu_offset(9,7) ; lamp
|
||||||
|
dw menu_offset(9,10) ; hammer
|
||||||
|
dw menu_offset(9,13) ; goron
|
||||||
|
dw menu_offset(9,16) ; bottle2
|
||||||
|
dw menu_offset(12,1) ; somaria
|
||||||
|
dw menu_offset(12,4) ; byrna
|
||||||
|
dw menu_offset(12,7) ; book
|
||||||
|
dw menu_offset(12,10) ; feather
|
||||||
|
dw menu_offset(12,13) ; bunny hood
|
||||||
|
dw menu_offset(12,16) ; bottle3
|
||||||
|
dw menu_offset(15,1) ; flute
|
||||||
|
dw menu_offset(15,4) ; mirror
|
||||||
|
dw menu_offset(15,7) ; shovel
|
||||||
|
dw menu_offset(15,10) ; powder
|
||||||
|
dw menu_offset(15,13) ; stone mask
|
||||||
|
dw menu_offset(15,16) ; bottle
|
||||||
|
|
||||||
|
; ----------------------
|
||||||
|
Menu_FindNextItem:
|
||||||
|
LDY.w $0202 : INY
|
||||||
|
CPY.b #$19 : BCC .no_reset
|
||||||
|
LDY.b #$01
|
||||||
|
.no_reset
|
||||||
|
STY.w $0202
|
||||||
|
LDX.w Menu_AddressIndex-1, Y
|
||||||
|
LDA.l $7EF300, X
|
||||||
|
BEQ Menu_FindNextItem
|
||||||
|
RTS
|
||||||
|
; ----------------------
|
||||||
|
Menu_FindPrevItem:
|
||||||
|
LDY.w $0202 : DEY : BNE .no_reset
|
||||||
|
LDY.b #$18
|
||||||
|
.no_reset
|
||||||
|
STY.w $0202
|
||||||
|
LDX.w Menu_AddressIndex-1, Y
|
||||||
|
LDA.l $7EF300, X
|
||||||
|
BEQ Menu_FindPrevItem
|
||||||
|
RTS
|
||||||
|
; ----------------------
|
||||||
|
Menu_FindNextDownItem:
|
||||||
|
LDA.w $0202 : CLC : ADC.b #$06
|
||||||
|
CMP.b #$19 : BCC .no_reset
|
||||||
|
SBC.b #$18
|
||||||
|
.no_reset
|
||||||
|
TAY : STY.w $0202
|
||||||
|
LDX.w Menu_AddressIndex-1, Y
|
||||||
|
LDA.l $7EF300, X
|
||||||
|
BEQ Menu_FindNextUpItem
|
||||||
|
RTS
|
||||||
|
; ----------------------
|
||||||
|
Menu_FindNextUpItem:
|
||||||
|
LDA.w $0202 : SEC : SBC.b #$06
|
||||||
|
BPL .no_reset : BNE .no_reset
|
||||||
|
CLC : ADC.b #$18
|
||||||
|
.no_reset
|
||||||
|
TAY : STY.w $0202
|
||||||
|
LDX.w Menu_AddressIndex-1, Y
|
||||||
|
LDA.l $7EF300, X
|
||||||
|
BEQ Menu_FindNextDownItem
|
||||||
|
RTS
|
||||||
|
; ----------------------
|
||||||
|
Menu_DeleteCursor:
|
||||||
|
REP #$30
|
||||||
|
LDX.w Menu_ItemCursorPositions-2, Y
|
||||||
|
|
||||||
|
LDA.w #$20F5
|
||||||
|
STA.w $1108, X
|
||||||
|
STA.w $1148, X
|
||||||
|
STA.w $114E, X
|
||||||
|
STA.w $110E, X
|
||||||
|
STA.w $11C8, X
|
||||||
|
STA.w $1188, X
|
||||||
|
STA.w $118E, X
|
||||||
|
STA.w $11CE, X
|
||||||
|
SEP #$30
|
||||||
|
STZ $0207
|
||||||
|
RTS
|
||||||
|
; ----------------------
|
||||||
|
Menu_InitItemScreen:
|
||||||
|
{
|
||||||
|
SEP #$30
|
||||||
|
LDY.w $0202 : BNE .all_good
|
||||||
|
|
||||||
|
.loop
|
||||||
|
INY : CPY.b #$25 : BCS .bad
|
||||||
|
LDX.w Menu_AddressIndex-1, Y
|
||||||
|
LDA.l $7EF300, X
|
||||||
|
BEQ .loop
|
||||||
|
|
||||||
|
STY.w $0202
|
||||||
|
BRA .all_good
|
||||||
|
|
||||||
|
.bad
|
||||||
|
STZ.w $0202
|
||||||
|
|
||||||
|
.all_good
|
||||||
|
|
||||||
|
STZ $0207
|
||||||
|
LDA.b #$04
|
||||||
|
STA.w $0200
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
; ----------------------
|
||||||
|
Menu_ItemScreen:
|
||||||
|
{
|
||||||
|
JSR Menu_CheckHScroll
|
||||||
|
|
||||||
|
INC $0207
|
||||||
|
LDA.w $0202 : BEQ .no_inputs
|
||||||
|
|
||||||
|
ASL : TAY
|
||||||
|
LDA.b $F4
|
||||||
|
LSR : BCS .move_right
|
||||||
|
LSR : BCS .move_left
|
||||||
|
LSR : BCS .move_down
|
||||||
|
LSR : BCS .move_up
|
||||||
|
BRA .no_inputs
|
||||||
|
|
||||||
|
.move_right
|
||||||
|
JSR Menu_DeleteCursor
|
||||||
|
JSR Menu_FindNextItem
|
||||||
|
BRA .draw_cursor
|
||||||
|
|
||||||
|
.move_left
|
||||||
|
JSR Menu_DeleteCursor
|
||||||
|
JSR Menu_FindPrevItem
|
||||||
|
BRA .draw_cursor
|
||||||
|
|
||||||
|
.move_down
|
||||||
|
JSR Menu_DeleteCursor
|
||||||
|
JSR Menu_FindNextDownItem
|
||||||
|
BRA .draw_cursor
|
||||||
|
|
||||||
|
.move_up
|
||||||
|
JSR Menu_DeleteCursor
|
||||||
|
JSR Menu_FindNextUpItem
|
||||||
|
BRA .draw_cursor
|
||||||
|
|
||||||
|
.draw_cursor
|
||||||
|
LDA.b #$20 : STA.w $012F ; cursor move sound effect
|
||||||
|
.no_inputs
|
||||||
|
|
||||||
|
SEP #$30
|
||||||
|
LDA.w $0202
|
||||||
|
ASL : TAY
|
||||||
|
REP #$10
|
||||||
|
LDX.w Menu_ItemCursorPositions-2, Y
|
||||||
|
|
||||||
|
LDA.b #$20 : BIT.w $0207
|
||||||
|
|
||||||
|
REP #$20
|
||||||
|
|
||||||
|
BEQ .no_delete
|
||||||
|
|
||||||
|
LDA.w #$20F5
|
||||||
|
STA.w $1108, X
|
||||||
|
STA.w $1148, X
|
||||||
|
STA.w $114E, X
|
||||||
|
STA.w $110E, X
|
||||||
|
STA.w $11C8, X
|
||||||
|
STA.w $1188, X
|
||||||
|
STA.w $118E, X
|
||||||
|
STA.w $11CE, X
|
||||||
|
BRA .done
|
||||||
|
|
||||||
|
|
||||||
|
.no_delete
|
||||||
|
LDA.w #$3060 : STA.w $1108, X ; corner
|
||||||
|
LDA.w #$3070 : STA.w $1148, X
|
||||||
|
|
||||||
|
LDA.w #$7060 : STA.w $110E, X ; corner
|
||||||
|
LDA.w #$7070 : STA.w $114E, X
|
||||||
|
|
||||||
|
LDA.w #$3070 : STA.w $1188, X
|
||||||
|
LDA.w #$B060 : STA.w $11C8, X ; corner
|
||||||
|
|
||||||
|
LDA.w #$7070 : STA.w $118E, X
|
||||||
|
LDA.w #$F060 : STA.w $11CE, X ; corner
|
||||||
|
|
||||||
|
.done
|
||||||
|
JSR Menu_DrawItemName
|
||||||
|
SEP #$20
|
||||||
|
LDA.b #$22 : STA.w $0116
|
||||||
|
LDA.b #$01 : STA.b $17
|
||||||
|
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
; 05 MENU SCROLL TO
|
||||||
|
|
||||||
|
Menu_ScrollTo:
|
||||||
|
{
|
||||||
|
SEP #$20
|
||||||
|
JSR Menu_ScrollHorizontal
|
||||||
|
BCC .not_done
|
||||||
|
|
||||||
|
INC.w $0200
|
||||||
|
|
||||||
|
.not_done
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
; 06 MENU STATS SCREEN
|
||||||
|
|
||||||
|
Menu_StatsScreen:
|
||||||
|
{
|
||||||
|
JSR Menu_CheckHScroll
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
; =====================================
|
||||||
|
|
||||||
|
Menu_CheckHScroll:
|
||||||
|
{
|
||||||
|
LDA.b $F4
|
||||||
|
BIT.b #$10 : BNE .leave_menu
|
||||||
|
LDA.b $F6
|
||||||
|
BIT.b #$20 : BNE .left
|
||||||
|
BIT.b #$10 : BNE .right
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.left
|
||||||
|
REP #$20
|
||||||
|
LDA.w #$FFF8
|
||||||
|
BRA .merge
|
||||||
|
|
||||||
|
.right
|
||||||
|
REP #$20
|
||||||
|
LDA.w #$0008
|
||||||
|
|
||||||
|
.merge
|
||||||
|
STA.w MenuScrollHDirection
|
||||||
|
|
||||||
|
SEP #$30
|
||||||
|
INC.w $0200
|
||||||
|
LDA.b #$06 : STA.w $012F
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.leave_menu
|
||||||
|
LDA.b #$08
|
||||||
|
STA.w $0200
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
; =====================================
|
||||||
|
|
||||||
|
Menu_ScrollHorizontal:
|
||||||
|
{
|
||||||
|
REP #$21 ; set A to 16 bit, clear carry flag
|
||||||
|
|
||||||
|
LDA.w $E4 ; BG3 Horizontal Scroll Value
|
||||||
|
ADC.w MenuScrollHDirection ; Direction set by Menu_CheckHScroll
|
||||||
|
AND.w #$01FF
|
||||||
|
STA.b $E4
|
||||||
|
AND.w #$00FF
|
||||||
|
BNE .loop
|
||||||
|
|
||||||
|
SEC
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.loop
|
||||||
|
CLC
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
; 07 MENU SCROLL FROM
|
||||||
|
|
||||||
|
Menu_ScrollFrom:
|
||||||
|
{
|
||||||
|
JSR Menu_ScrollHorizontal
|
||||||
|
BCC .not_done
|
||||||
|
|
||||||
|
JMP Menu_InitItemScreen
|
||||||
|
|
||||||
|
.not_done
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
; 08 MENU SCROLL UP
|
||||||
|
|
||||||
|
Menu_ScrollUp:
|
||||||
|
{
|
||||||
|
LDA.b #$12 : STA.w $012F ; play menu exit sound effect
|
||||||
|
SEP #$10
|
||||||
|
REP #$20
|
||||||
|
|
||||||
|
LDX.w MenuScrollLevelV
|
||||||
|
LDA.w Menu_Scroll, X
|
||||||
|
STA.b $EA
|
||||||
|
BNE .loop
|
||||||
|
STZ.b $E4
|
||||||
|
|
||||||
|
INC.w $0200
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.loop
|
||||||
|
DEX : DEX : STX.w MenuScrollLevelV
|
||||||
|
|
||||||
|
JSL Menu_UpdateHudItem
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
; incomplete :(
|
||||||
|
Menu_CheckBottle:
|
||||||
|
{
|
||||||
|
;; 7F5021 7ED101
|
||||||
|
STZ.w $7F5021
|
||||||
|
LDA.w $0202 : CMP.b #$15 : BNE .not_shovel
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
; 09 MENU EXIT
|
||||||
|
|
||||||
|
Menu_Exit:
|
||||||
|
{
|
||||||
|
;set $0303 by using $0202 to index table on exit
|
||||||
|
JSR Menu_CheckBottle
|
||||||
|
LDY.w $0202 : BEQ .no_item
|
||||||
|
DEY
|
||||||
|
LDA.w Menu_ItemIndex, Y
|
||||||
|
STA.w $0303
|
||||||
|
|
||||||
|
.no_item
|
||||||
|
REP #$20
|
||||||
|
STZ $0200
|
||||||
|
;;STZ $11
|
||||||
|
LDA.w $010C
|
||||||
|
STA.b $10
|
||||||
|
|
||||||
|
LDX.b #$3E
|
||||||
|
.loop
|
||||||
|
|
||||||
|
LDA.l $7EC300, X : STA.l $7EC500, X
|
||||||
|
DEX : DEX
|
||||||
|
BPL .loop
|
||||||
|
|
||||||
|
INC.b $15
|
||||||
|
INC.b $16
|
||||||
|
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
; ===================================================================================
|
||||||
|
; XX MENU HIJACK HUD
|
||||||
|
|
||||||
|
HudItems:
|
||||||
|
dw BowsGFX
|
||||||
|
dw BoomsGFX
|
||||||
|
dw HookGFX
|
||||||
|
dw BombsGFX
|
||||||
|
dw DekuMaskGFX
|
||||||
|
dw BottlesGFX
|
||||||
|
dw Fire_rodGFX
|
||||||
|
dw Ice_rodGFX
|
||||||
|
dw LampGFX
|
||||||
|
dw HammerGFX
|
||||||
|
dw GoronMaskGFX
|
||||||
|
dw BottlesGFX
|
||||||
|
dw SomariaGFX
|
||||||
|
dw ByrnaGFX
|
||||||
|
dw BookGFX
|
||||||
|
dw JumpFeatherGFX
|
||||||
|
dw BunnyHoodGFX
|
||||||
|
dw BottlesGFX
|
||||||
|
dw OcarinaGFX
|
||||||
|
dw MirrorGFX
|
||||||
|
dw ShovelGFX
|
||||||
|
dw PowderGFX
|
||||||
|
dw StoneMaskGFX
|
||||||
|
dw BottlesGFX
|
||||||
|
|
||||||
|
; LDA.w $0202
|
||||||
|
; ASL : TAX
|
||||||
|
; LDY.w HudItems-2, X
|
||||||
|
|
||||||
|
Menu_UpdateHudItem:
|
||||||
|
{
|
||||||
|
PHB
|
||||||
|
PHK
|
||||||
|
PLB
|
||||||
|
; print pc
|
||||||
|
; SEP #$30
|
||||||
|
; LDA.b #$7E : STA.b $0C ; set the indirect bank
|
||||||
|
; REP #$30
|
||||||
|
|
||||||
|
; LDA.w $0202
|
||||||
|
; ASL : TAX
|
||||||
|
; LDY.w HudItems-2, X
|
||||||
|
; STY.b $00
|
||||||
|
|
||||||
|
; LDY.w $0202
|
||||||
|
; LDX.w Menu_AddressIndex-1, Y
|
||||||
|
; LDA.l $7EF300, X
|
||||||
|
; STA.w $08
|
||||||
|
|
||||||
|
; LDA.b [$08]
|
||||||
|
; ADC.b $00
|
||||||
|
; TAY
|
||||||
|
|
||||||
|
REP #$30
|
||||||
|
LDA.w $0202
|
||||||
|
ASL : TAX
|
||||||
|
LDY.w HudItems-2, X
|
||||||
|
|
||||||
|
LDA.w $0000,Y : STA.l $7EC778
|
||||||
|
LDA.w $0002,Y : STA.l $7EC77A
|
||||||
|
LDA.w $0004,Y : STA.l $7EC7B8
|
||||||
|
LDA.w $0006,Y : STA.l $7EC7BA
|
||||||
|
SEP #$30
|
||||||
|
|
||||||
|
PLB
|
||||||
|
RTL
|
||||||
|
}
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
;===============================================================================
|
||||||
|
|
||||||
|
incsrc "lw_map_names.asm"
|
||||||
363
Menu/menu_draw_items.asm
Normal file
363
Menu/menu_draw_items.asm
Normal file
@@ -0,0 +1,363 @@
|
|||||||
|
;===============================================================================
|
||||||
|
|
||||||
|
DrawMenuItem:
|
||||||
|
STA.b $08
|
||||||
|
STY.b $00
|
||||||
|
|
||||||
|
LDA.b [$08]
|
||||||
|
AND.w #$00FF
|
||||||
|
|
||||||
|
BNE .not_zero
|
||||||
|
|
||||||
|
LDY.w #NothingGFX
|
||||||
|
BRA .draw
|
||||||
|
|
||||||
|
.not_zero
|
||||||
|
DEC
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
;===============================================================================
|
||||||
|
|
||||||
|
DrawQuestIcons:
|
||||||
|
LDX.w #$10
|
||||||
|
|
||||||
|
.loop
|
||||||
|
LDA.w Menu_QuestIcons, X
|
||||||
|
STA.w $1364, X
|
||||||
|
LDA.w Menu_QuestIcons+$10, X
|
||||||
|
STA.w $13A4, X
|
||||||
|
LDA.w Menu_QuestIcons+$20, X
|
||||||
|
STA.w $13E4, X
|
||||||
|
LDA.w Menu_QuestIcons+$30, X
|
||||||
|
STA.w $1424, X
|
||||||
|
LDA.w Menu_QuestIcons+$40, X
|
||||||
|
STA.w $1464, X
|
||||||
|
LDA.w Menu_QuestIcons+$50, X
|
||||||
|
STA.w $14A4, X
|
||||||
|
LDA.w Menu_QuestIcons+$60, X
|
||||||
|
STA.w $14E4, X
|
||||||
|
DEX : DEX : BPL .loop
|
||||||
|
|
||||||
|
LDA.w #$20F5 : STA.w $13B4 : STA.w $13F4 : STA.w $1474 : STA.w $14B4
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
;===============================================================================
|
||||||
|
|
||||||
|
DrawTriforceIcon:
|
||||||
|
LDA.l $7EF37A
|
||||||
|
LDX.w #$3534
|
||||||
|
LDY.w #$3544
|
||||||
|
|
||||||
|
LSR : BCC +
|
||||||
|
STX.w $1366 : INX : STX.w $1368 : DEX
|
||||||
|
STY.w $13A6 : INY : STY.w $13A8 : DEY
|
||||||
|
|
||||||
|
+ LSR : BCC +
|
||||||
|
STX.w $136A : INX : STX.w $136C : DEX
|
||||||
|
STY.w $13AA : INY : STY.w $13AC : DEY
|
||||||
|
|
||||||
|
+ LSR : BCC +
|
||||||
|
STX.w $136E : INX : STX.w $1370 : DEX
|
||||||
|
STY.w $13AE : INY : STY.w $13B0 : DEY
|
||||||
|
|
||||||
|
+ LSR : BCC +
|
||||||
|
STX.w $13E4 : INX : STX.w $13E6 : DEX
|
||||||
|
STY.w $1424 : INY : STY.w $1426 : DEY
|
||||||
|
|
||||||
|
+ LSR : BCC +
|
||||||
|
STX.w $13E8 : INX : STX.w $13EA : DEX
|
||||||
|
STY.w $1428 : INY : STY.w $142A : DEY
|
||||||
|
|
||||||
|
+ LSR : BCC +
|
||||||
|
STX.w $13EC : INX : STX.w $13EE : DEX
|
||||||
|
STY.w $142C : INY : STY.w $142E : DEY
|
||||||
|
|
||||||
|
+ LSR : BCC +
|
||||||
|
STX.w $13F0 : INX : STX.w $13F2 : DEX
|
||||||
|
STY.w $1430 : INY : STY.w $1432 : DEY
|
||||||
|
|
||||||
|
+
|
||||||
|
RTS
|
||||||
|
|
||||||
|
;===============================================================================
|
||||||
|
|
||||||
|
DrawPendantIcons:
|
||||||
|
LDA.l $7EF374
|
||||||
|
LSR : BCC +
|
||||||
|
LDX.w #$2502 : STX.w $14A4 : INX : STX.w $14A6
|
||||||
|
LDX.w #$2512 : STX.w $14E4 : INX : STX.w $14E6
|
||||||
|
|
||||||
|
+ LSR : BCC +
|
||||||
|
LDX.w #$3D00 : STX.w $14AA : INX : STX.w $14AC
|
||||||
|
LDX.w #$3D10 : STX.w $14EA : INX : STX.w $14EC
|
||||||
|
|
||||||
|
+ LSR : BCC +
|
||||||
|
LDX.w #$2D06 : STX.w $14B0 : INX : STX.w $14B2
|
||||||
|
LDX.w #$2D16 : STX.w $14F0 : INX : STX.w $14F2
|
||||||
|
|
||||||
|
+ RTS
|
||||||
|
|
||||||
|
;===============================================================================
|
||||||
|
|
||||||
|
; V H O P P P T T T T T T T T T T <- tile format
|
||||||
|
; V = Vertical Flip
|
||||||
|
; H = Horizontal Flip
|
||||||
|
; O = Priority
|
||||||
|
; P = Palette 0 to 7
|
||||||
|
; T = Tile (which is normally called C for Character) 0 to 1023
|
||||||
|
; E000 is T = 0
|
||||||
|
; E100 would be T = 16
|
||||||
|
|
||||||
|
DrawHeartPieces:
|
||||||
|
LDA.l $7EF36B
|
||||||
|
AND.w #$00FF
|
||||||
|
CMP.w #3 : BEQ .top_right
|
||||||
|
CMP.w #1 : BEQ .top_left
|
||||||
|
BCS .bottom_left
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.top_right
|
||||||
|
LDX.w #$64AD : STX.w $14A0
|
||||||
|
.bottom_left
|
||||||
|
LDX.w #$24AE : STX.w $14DE
|
||||||
|
.top_left
|
||||||
|
LDX.w #$24AD : STX.w $149E
|
||||||
|
RTS
|
||||||
|
|
||||||
|
;===============================================================================
|
||||||
|
|
||||||
|
DrawMusicNotes:
|
||||||
|
LDA.w #$01
|
||||||
|
STA.w MusicNoteValue
|
||||||
|
LDA.w #MusicNoteValue
|
||||||
|
LDX.w #menu_offset(17,8)
|
||||||
|
LDY.w #QuarterNoteGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$02
|
||||||
|
STA.w MusicNoteValue
|
||||||
|
LDA.w #MusicNoteValue
|
||||||
|
LDX.w #menu_offset(17,11)
|
||||||
|
LDY.w #QuarterNoteGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$03
|
||||||
|
STA.w MusicNoteValue
|
||||||
|
LDA.w #MusicNoteValue
|
||||||
|
LDX.w #menu_offset(17,14)
|
||||||
|
LDY.w #QuarterNoteGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$04
|
||||||
|
STA.w MusicNoteValue
|
||||||
|
LDA.w #MusicNoteValue
|
||||||
|
LDX.w #menu_offset(17,17)
|
||||||
|
LDY.w #QuarterNoteGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
;===============================================================================
|
||||||
|
|
||||||
|
DrawYItems:
|
||||||
|
; Set up the bank of our indirect address
|
||||||
|
SEP #$30
|
||||||
|
LDA.b #$7E : STA.b $0A
|
||||||
|
|
||||||
|
REP #$30
|
||||||
|
|
||||||
|
LDA.w #$7EF340
|
||||||
|
LDX.w #menu_offset(7,2)
|
||||||
|
LDY.w #BowsGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF341
|
||||||
|
LDX.w #menu_offset(7,5)
|
||||||
|
LDY.w #BoomsGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF342
|
||||||
|
LDX.w #menu_offset(7,8)
|
||||||
|
LDY.w #HookGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.l $7EF343
|
||||||
|
CMP.w #$00 : BEQ .no_bomb
|
||||||
|
LDA.w #$0001
|
||||||
|
STA.w MenuItemValueSpoof
|
||||||
|
LDA.w #MenuItemValueSpoof
|
||||||
|
LDX.w #menu_offset(7,11)
|
||||||
|
LDY.w #BombsGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
.no_bomb
|
||||||
|
|
||||||
|
LDA.w #$7EF348
|
||||||
|
LDX.w #menu_offset(7,14)
|
||||||
|
LDY.w #DekuMaskGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF35C
|
||||||
|
LDX.w #menu_offset(7,17)
|
||||||
|
LDY.w #BottlesGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF354
|
||||||
|
LDX.w #menu_offset(10,20)
|
||||||
|
LDY.w #PowerGloveGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF345
|
||||||
|
LDX.w #menu_offset(10,2)
|
||||||
|
LDY.w #Fire_rodGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF346
|
||||||
|
LDX.w #menu_offset(10,5)
|
||||||
|
LDY.w #Ice_rodGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.l $7EF34A
|
||||||
|
CMP.w #$00 : BEQ .no_lamp
|
||||||
|
DEC
|
||||||
|
.no_lamp
|
||||||
|
STA.w MenuItemValueSpoof
|
||||||
|
LDA.w #MenuItemValueSpoof
|
||||||
|
LDX.w #menu_offset(10,8)
|
||||||
|
LDY.w #LampGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF34B
|
||||||
|
LDX.w #menu_offset(10,11)
|
||||||
|
LDY.w #HammerGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF347
|
||||||
|
LDX.w #menu_offset(10,14)
|
||||||
|
LDY.w #GoronMaskGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF35D
|
||||||
|
LDX.w #menu_offset(10,17)
|
||||||
|
LDY.w #BottlesGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF355
|
||||||
|
LDX.w #menu_offset(12,20)
|
||||||
|
LDY.w #PegasusBootsGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF350
|
||||||
|
LDX.w #menu_offset(13,2)
|
||||||
|
LDY.w #SomariaGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF351
|
||||||
|
LDX.w #menu_offset(13,5)
|
||||||
|
LDY.w #ByrnaGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
; LDA.w #$7EF34C
|
||||||
|
; LDX.w #menu_offset(13,8)
|
||||||
|
; LDY.w #ShovelGFX
|
||||||
|
; JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF34E
|
||||||
|
LDX.w #menu_offset(13,8)
|
||||||
|
LDY.w #BookGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF34D
|
||||||
|
LDX.w #menu_offset(13,11)
|
||||||
|
LDY.w #JumpFeatherGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF349
|
||||||
|
LDX.w #menu_offset(13,14)
|
||||||
|
LDY.w #BunnyHoodGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF35E
|
||||||
|
LDX.w #menu_offset(13,17)
|
||||||
|
LDY.w #BottlesGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF356
|
||||||
|
LDX.w #menu_offset(14,20)
|
||||||
|
LDY.w #FlippersGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF34C ; ocarina
|
||||||
|
LDX.w #menu_offset(16,2)
|
||||||
|
LDY.w #ShovelGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF353
|
||||||
|
LDX.w #menu_offset(16,5)
|
||||||
|
LDY.w #MirrorGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF34F
|
||||||
|
LDX.w #menu_offset(16,8)
|
||||||
|
LDY.w #ShovelGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF344
|
||||||
|
LDX.w #menu_offset(16,11)
|
||||||
|
LDY.w #PowderGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF352
|
||||||
|
LDX.w #menu_offset(16,14)
|
||||||
|
LDY.w #StoneMaskGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF35F
|
||||||
|
LDX.w #menu_offset(16,17)
|
||||||
|
LDY.w #BottlesGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF357
|
||||||
|
LDX.w #menu_offset(16,20)
|
||||||
|
LDY.w #MoonPearlGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
Menu_DrawQuestItems:
|
||||||
|
SEP #$30
|
||||||
|
LDA.b #$7E : STA.b $0A
|
||||||
|
REP #$30
|
||||||
|
|
||||||
|
LDA.w #$7EF359
|
||||||
|
LDX.w #menu_offset(14,2)
|
||||||
|
LDY.w #SwordGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.w #$7EF35A
|
||||||
|
LDX.w #menu_offset(14,5)
|
||||||
|
LDY.w #ShieldGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
LDA.l $7EF35B
|
||||||
|
INC
|
||||||
|
STA.w MenuItemValueSpoof
|
||||||
|
LDA.w #MenuItemValueSpoof
|
||||||
|
LDX.w #menu_offset(14,8)
|
||||||
|
LDY.w #TunicGFX
|
||||||
|
JSR DrawMenuItem
|
||||||
|
|
||||||
|
RTS
|
||||||
156
Menu/menu_gfx_table.asm
Normal file
156
Menu/menu_gfx_table.asm
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
;===============================================================================
|
||||||
|
; 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
|
||||||
|
; etc
|
||||||
|
;===============================================================================
|
||||||
|
|
||||||
|
NothingGFX:
|
||||||
|
dw $20F5, $20F5, $20F5, $20F5 ; Nothing
|
||||||
|
|
||||||
|
BowsGFX:
|
||||||
|
dw $28BA, $28E9, $28E8, $28CB ; Empty bow
|
||||||
|
dw $297C, $297D, $2849, $284A ; NEW 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 ; NEW Blue boomerang
|
||||||
|
dw $24B8, $24B9, $24C9, $A4B9 ; NEW red boomerang
|
||||||
|
dw $3CB8, $3CB9, $3CC9, $BCB9 ; NEW green boomerang
|
||||||
|
|
||||||
|
HookGFX:
|
||||||
|
dw $24F5, $24F6, $24C0, $24F5 ; Hookshot
|
||||||
|
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 ; NEW 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
|
||||||
|
|
||||||
|
; formerly Quake
|
||||||
|
DekuMaskGFX:
|
||||||
|
dw $2066, $6066, $2076, $6076 ; Deku Mask
|
||||||
|
|
||||||
|
; formerly Ether
|
||||||
|
BunnyHoodGFX:
|
||||||
|
dw $3469, $7469, $3479, $7479 ; Bunny Hood
|
||||||
|
|
||||||
|
LampGFX:
|
||||||
|
dw $24BC, $24BD, $24CC, $64CC ; New Lamp
|
||||||
|
|
||||||
|
HammerGFX:
|
||||||
|
dw $24B6, $24B7, $20C6, $24C7 ; NEW Hammer
|
||||||
|
|
||||||
|
ShovelGFX:
|
||||||
|
dw $30D0, $20D1, $30E0, $30E1 ; NEW Shovel
|
||||||
|
dw $2CD4, $2CD5, $2CE4, $2CE5 ; Flute
|
||||||
|
dw $2CD4, $2CD5, $2CE4, $2CE5 ; Flute (active)
|
||||||
|
|
||||||
|
OcarinaGFX:
|
||||||
|
dw $2CD4, $2CD5, $2CE4, $2CE5 ; Flute
|
||||||
|
|
||||||
|
; formerly fishing net
|
||||||
|
JumpFeatherGFX:
|
||||||
|
dw $2840, $2841, $3C42, $3C43 ; Roc's Feather
|
||||||
|
|
||||||
|
BookGFX:
|
||||||
|
dw $3CA5, $3CA6, $3CD8, $3CD9 ; Book of Mudora
|
||||||
|
|
||||||
|
BottlesGFX:
|
||||||
|
dw $2044, $2045, $2046, $2047 ; Mushroom
|
||||||
|
dw $2837, $2838, $2CC3, $2CD3 ; Empty bottle
|
||||||
|
dw $24D2, $64D2, $24E2, $24E3 ; Red potion
|
||||||
|
dw $3CD2, $7CD2, $3CE2, $3CE3 ; Green potion
|
||||||
|
dw $2CD2, $6CD2, $2CE2, $2CE3 ; Blue potion
|
||||||
|
dw $2855, $6855, $2C57, $2C5A ; Fairy
|
||||||
|
dw $2837, $2838, $2839, $283A ; Bee
|
||||||
|
dw $2837, $2838, $2839, $283A ; Good bee
|
||||||
|
|
||||||
|
SomariaGFX:
|
||||||
|
dw $24DC, $24DD, $24EC, $24ED ; Cane of Somaria
|
||||||
|
|
||||||
|
ByrnaGFX:
|
||||||
|
dw $2CDC, $2CDD, $2CEC, $2CED ; Cane of Byrna
|
||||||
|
|
||||||
|
; 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
|
||||||
|
dw $2CAA, $2C6B, $2C7A, $2C6A ; Blue Note
|
||||||
|
dw $24AA, $246B, $247A, $246A ; Red Note
|
||||||
|
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
|
||||||
|
dw $346C, $346D, $347C, $347D ; This shit is Bananas!
|
||||||
|
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
|
||||||
|
|
||||||
|
SelectItemTXT:
|
||||||
|
dw $2562, $2554, $255B, $2554, $2552, $2563, $2417, $2417, $2558, $2563, $2554, $255C ; Select Item
|
||||||
|
|
||||||
|
QuestStatusTXT:
|
||||||
|
dw $2560, $2564, $2554, $2562, $2563, $2417, $2562, $2563, $2550, $2563, $2564, $2562
|
||||||
|
|
||||||
|
AreaNameTXT:
|
||||||
|
dw $243F, $2550, $2561, $2554, $2550, $2417, $255D, $2550, $255C, $2554, $241C, $2430, $2430, $2430, $2430, $2430, $2430, $2430, $2430, $2430
|
||||||
|
; 241D 241D 241D 241D 241D 241D 241D 241D
|
||||||
256
Menu/menu_text.asm
Normal file
256
Menu/menu_text.asm
Normal file
@@ -0,0 +1,256 @@
|
|||||||
|
;====================================
|
||||||
|
; Text Routines
|
||||||
|
;====================================
|
||||||
|
|
||||||
|
; Alphabet manual writing function
|
||||||
|
'A' = $2550
|
||||||
|
'B' = $2551
|
||||||
|
'C' = $2552
|
||||||
|
'D' = $2553
|
||||||
|
'E' = $2554
|
||||||
|
'F' = $2555
|
||||||
|
'G' = $2556
|
||||||
|
'H' = $2557
|
||||||
|
'I' = $2558
|
||||||
|
'J' = $2559
|
||||||
|
'K' = $255A
|
||||||
|
'L' = $255B
|
||||||
|
'M' = $255C
|
||||||
|
'N' = $255D
|
||||||
|
'O' = $255E
|
||||||
|
'P' = $255F
|
||||||
|
'Q' = $2560
|
||||||
|
'R' = $2561
|
||||||
|
'S' = $2562
|
||||||
|
'T' = $2563
|
||||||
|
'U' = $2564
|
||||||
|
'V' = $2565
|
||||||
|
'W' = $2566
|
||||||
|
'X' = $2567
|
||||||
|
'Y' = $2568
|
||||||
|
'Z' = $2569
|
||||||
|
'.' = $256A
|
||||||
|
':' = $256B
|
||||||
|
'0' = $2570
|
||||||
|
'1' = $2571
|
||||||
|
'2' = $2572
|
||||||
|
'3' = $2573
|
||||||
|
'4' = $2574
|
||||||
|
'5' = $2575
|
||||||
|
'6' = $2576
|
||||||
|
'7' = $2577
|
||||||
|
'8' = $2578
|
||||||
|
'9' = $2579
|
||||||
|
'_' = $20F5
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
|
||||||
|
DeathLabel:
|
||||||
|
dw "DEATHS:_"
|
||||||
|
|
||||||
|
DrawDeathCounter:
|
||||||
|
REP #$30
|
||||||
|
LDX.w #$0E
|
||||||
|
|
||||||
|
.draw2
|
||||||
|
LDA.w DeathLabel, X
|
||||||
|
STA.w $13CC, X
|
||||||
|
DEX : DEX : BPL .draw2
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
|
||||||
|
ScrollsLabel:
|
||||||
|
dw "SCROLLS:_"
|
||||||
|
|
||||||
|
DrawScrollsLabel:
|
||||||
|
LDX.w #$10
|
||||||
|
|
||||||
|
.draw2
|
||||||
|
LDA.w ScrollsLabel, X
|
||||||
|
STA.w $140C, X
|
||||||
|
DEX : DEX : BPL .draw2
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
|
||||||
|
PlaytimeLabel:
|
||||||
|
dw "PLAYTIME:_"
|
||||||
|
|
||||||
|
DrawPlaytimeLabel:
|
||||||
|
LDX.w #$10
|
||||||
|
|
||||||
|
.draw2
|
||||||
|
LDA.w PlaytimeLabel, X
|
||||||
|
STA.w $1692, X
|
||||||
|
DEX : DEX : BPL .draw2
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
|
||||||
|
Menu_ItemNames:
|
||||||
|
dw "__SLINGSHOT___ "
|
||||||
|
dw "__BOOMERANG___ "
|
||||||
|
dw "___HOOKSHOT___ "
|
||||||
|
dw "____BOMBS_____ "
|
||||||
|
dw "__DEKU_MASK___ "
|
||||||
|
dw "____BOTTLE____ "
|
||||||
|
dw "___FIRE_ROD___ "
|
||||||
|
dw "___ICE_ROD____ "
|
||||||
|
dw "_____LAMP_____ "
|
||||||
|
dw "____HAMMER____ "
|
||||||
|
dw "__GORON_MASK__ "
|
||||||
|
dw "____BOTTLE____ "
|
||||||
|
dw "___SOMARIA____ "
|
||||||
|
dw "____BYRNA_____ "
|
||||||
|
dw "_SECRET_TOME__ "
|
||||||
|
dw "_JUMP_FEATHER_ "
|
||||||
|
dw "__BUNNY_HOOD__ "
|
||||||
|
dw "____BOTTLE____ "
|
||||||
|
dw "___OCARINA____ "
|
||||||
|
dw "_MAGIC_MIRROR_ "
|
||||||
|
dw "____SHOVEL____ "
|
||||||
|
dw "_MAGIC_POWDER_ "
|
||||||
|
dw "__STONE_MASK__ "
|
||||||
|
dw "____BOTTLE____ "
|
||||||
|
|
||||||
|
Menu_DrawItemName:
|
||||||
|
LDA.w $0202 : DEC
|
||||||
|
ASL : ASL : ASL : ASL : ASL
|
||||||
|
LDY.w #$000
|
||||||
|
TAX
|
||||||
|
.loop
|
||||||
|
LDA.w Menu_ItemNames, X ; Load your text character
|
||||||
|
STA.w $1692, Y ; <- into the buffer
|
||||||
|
INX : INX
|
||||||
|
INY : INY : CPY #$001C : BCC .loop
|
||||||
|
RTS
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
|
||||||
|
; ;LDX.w $7E00A0 ; load room number
|
||||||
|
;-------------------------------------
|
||||||
|
TestLocationName:
|
||||||
|
dw "YOUR_HOUSE__"
|
||||||
|
;-------------------------------------
|
||||||
|
|
||||||
|
DrawLocationName:
|
||||||
|
{
|
||||||
|
REP #$30
|
||||||
|
LDA $1B ; check if indoors or outdoors
|
||||||
|
AND.w #$00FF ; isolate bit
|
||||||
|
CMP.w #$01 ; if 1, then indoors
|
||||||
|
BEQ .indoors
|
||||||
|
|
||||||
|
LDA.b $8A
|
||||||
|
ASL : ASL : ASL : ASL : ASL
|
||||||
|
LDY.w #$000
|
||||||
|
TAX
|
||||||
|
.loop
|
||||||
|
LDA.w OverworldLocationNames, X ; Load your text character
|
||||||
|
STA.w $12CC, Y ; <- into the buffer
|
||||||
|
INX : INX
|
||||||
|
INY : INY : CPY #$0020 : BCC .loop
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.indoors
|
||||||
|
LDX.w #$16
|
||||||
|
|
||||||
|
.loop2
|
||||||
|
LDA.w TestLocationName, X
|
||||||
|
STA.w $12CC, X
|
||||||
|
|
||||||
|
DEX : DEX
|
||||||
|
BPL .loop2
|
||||||
|
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
|
||||||
|
Menu_DrawSelect:
|
||||||
|
REP #$30
|
||||||
|
LDX.w #$16
|
||||||
|
|
||||||
|
.loop
|
||||||
|
LDA.w SelectItemTXT, X
|
||||||
|
STA.w $1194, X
|
||||||
|
|
||||||
|
DEX : DEX
|
||||||
|
BPL .loop
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
|
||||||
|
Menu_DrawQuestStatus:
|
||||||
|
REP #$30
|
||||||
|
LDX.w #$16
|
||||||
|
|
||||||
|
.loop
|
||||||
|
LDA.w QuestStatusTXT, X
|
||||||
|
STA.w $1194, X
|
||||||
|
|
||||||
|
DEX : DEX
|
||||||
|
BPL .loop
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
|
||||||
|
Menu_DrawAreaNameTXT:
|
||||||
|
REP #$30
|
||||||
|
LDX.w #$26
|
||||||
|
|
||||||
|
.loop
|
||||||
|
LDA.w AreaNameTXT, X
|
||||||
|
STA.w $128C, X
|
||||||
|
|
||||||
|
DEX : DEX
|
||||||
|
BPL .loop
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
; ===================================================================================
|
||||||
|
|
||||||
|
; Player's Name
|
||||||
|
; $3D9-$3E4: See appendix for listing of character codes. Note each of the six letters is represented by a 16-bit number.
|
||||||
|
; 00-A 01-B 02-C 03-D 04-E 05-F 06=G 07-H 08-I^ 09-J 0A-K 0B-L 0C-M 0D-N OE-O OF-P
|
||||||
|
; 10-??
|
||||||
|
; 20-Q 21-R 22-S 23-T 24-U 25-V 26-W 27-X 28-Y 29-Z 2A-a 2B-b-2C-c 2D-d 2E-e 2F-f
|
||||||
|
; 40-g 41-h 42-k 43-j 44-i 45-l 46-m 47-n 48-o 49-p 4A-q 4B-r 4C-s 4D-t 4E-u 4F-v
|
||||||
|
|
||||||
|
; 60-w 61-x 62-y 63-z 64-0 65-1 66-2 67-3 68-4 69-5 6A-6 6B-7 6C-8 6D-9 6E-"?" 6F-"!"
|
||||||
|
; 80-"-" 81-"." 82-"," 85-"(" 86-")"
|
||||||
|
|
||||||
|
;B1-blank^
|
||||||
|
|
||||||
|
; ^This code is not the canon encoding of this character. ex. AF is the proper "I". 08 is not.
|
||||||
|
|
||||||
|
Menu_DrawCharacterName:
|
||||||
|
REP #$30
|
||||||
|
|
||||||
|
LDX.w #$C
|
||||||
|
.loop
|
||||||
|
LDA.l $7EF3D9, X
|
||||||
|
CMP.w #$AF : BEQ .fix_i
|
||||||
|
CMP.w #$10 : BCC .skip ; handle P -> Q gap
|
||||||
|
SBC.b #$10
|
||||||
|
CLC
|
||||||
|
CMP.w #$2A : BCS .fix_lowercase
|
||||||
|
.skip
|
||||||
|
CLC : ADC #$2550
|
||||||
|
STA.w $138C, X
|
||||||
|
DEX : DEX : BPL .loop
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.fix_i
|
||||||
|
LDA.w #$08 : BRA .skip
|
||||||
|
|
||||||
|
.fix_lowercase
|
||||||
|
LDA.w #$1D : BRA .skip
|
||||||
Reference in New Issue
Block a user