custom oracle menu
This commit is contained in:
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"
|
||||
Reference in New Issue
Block a user