summaryrefslogtreecommitdiff
path: root/event
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2015-11-19 18:07:20 -0500
committerPikalaxALT <PikalaxALT@gmail.com>2015-11-19 18:09:11 -0500
commit93a129eb6dc261faccaf2b2d58daf3db204ab3ba (patch)
tree9095a3735deb1608ce6e4a23dcea4a5f43b4be95 /event
parent8a6a1a7d77fdcd1f8468f0c411795a8f039d4bd8 (diff)
main.asm is now under 30k lines
Diffstat (limited to 'event')
-rwxr-xr-xevent/halloffame.asm628
-rwxr-xr-xevent/mom_phone.asm285
2 files changed, 913 insertions, 0 deletions
diff --git a/event/halloffame.asm b/event/halloffame.asm
new file mode 100755
index 000000000..c4c901229
--- /dev/null
+++ b/event/halloffame.asm
@@ -0,0 +1,628 @@
+HallOfFame:: ; 0x8640e
+ call Function8648e
+ ld a, [StatusFlags]
+ push af
+ ld a, 1
+ ld [wc2cd], a
+ call DisableSpriteUpdates
+ ld a, SPAWN_LANCE
+ ld [wSpawnAfterChampion], a
+
+ ; Enable the Pokégear map to cycle through all of Kanto
+ ld hl, StatusFlags
+ set 6, [hl] ; hall of fame
+
+ callba Function14da0
+
+ ld hl, wHallOfFameCount
+ ld a, [hl]
+ cp 200
+ jr nc, .ok
+ inc [hl]
+.ok
+ callba SaveGameData
+ call GetHallOfFameParty
+ callba AddHallOfFameEntry
+
+ xor a
+ ld [wc2cd], a
+ call Function864c3
+ pop af
+ ld b, a
+ callba Function109847
+ ret
+; 0x86455
+
+RedCredits:: ; 86455
+ ld a, MUSIC_NONE % $100
+ ld [MusicFadeIDLo], a
+ ld a, MUSIC_NONE / $100
+ ld [MusicFadeIDHi], a
+ ld a, $a
+ ld [MusicFade], a
+ callba FadeOutPalettes
+ xor a
+ ld [VramState], a
+ ld [hMapAnims], a
+ callba Function4e8c2
+ ld c, 8
+ call DelayFrames
+ call DisableSpriteUpdates
+ ld a, SPAWN_RED
+ ld [wSpawnAfterChampion], a
+ ld a, [StatusFlags]
+ ld b, a
+ callba Function109847
+ ret
+; 8648e
+
+Function8648e: ; 8648e
+ ld a, MUSIC_NONE % $100
+ ld [MusicFadeIDLo], a
+ ld a, MUSIC_NONE / $100
+ ld [MusicFadeIDHi], a
+ ld a, 10
+ ld [MusicFade], a
+ callba FadeOutPalettes
+ xor a
+ ld [VramState], a
+ ld [hMapAnims], a
+ callba Function4e881
+ ld c, 100
+ jp DelayFrames
+; 864b4
+
+Function864b4: ; 864b4
+ push de
+ ld de, MUSIC_NONE
+ call PlayMusic
+ call DelayFrame
+ pop de
+ call PlayMusic
+ ret
+; 864c3
+
+Function864c3: ; 864c3
+ xor a
+ ld [wJumptableIndex], a
+ call Function8671c
+ jr c, .done
+ ld de, SCREEN_WIDTH
+ call Function864b4
+ xor a
+ ld [wcf64], a
+.loop
+ ld a, [wcf64]
+ cp 6
+ jr nc, .done
+ ld hl, wc608 + 1
+ ld bc, $10
+ call AddNTimes
+ ld a, [hl]
+ cp -1
+ jr z, .done
+ push hl
+ call Function865b5
+ pop hl
+ call Function8650c
+ jr c, .done
+ ld hl, wcf64
+ inc [hl]
+ jr .loop
+
+.done
+ call Function86810
+ ld a, $4
+ ld [MusicFade], a
+ call FadeToWhite
+ ld c, 8
+ call DelayFrames
+ ret
+; 8650c
+
+Function8650c: ; 8650c
+ call Function86748
+ ld de, String_8652c
+ hlcoord 1, 2
+ call PlaceString
+ call WaitBGMap
+ decoord 6, 5
+ ld c, $6
+ predef Functiond066e
+ ld c, 60
+ call DelayFrames
+ and a
+ ret
+; 8652c
+
+String_8652c:
+ db "New Hall of Famer!@"
+; 8653f
+
+
+GetHallOfFameParty: ; 8653f
+ ld hl, OverworldMap
+ ld bc, HOF_LENGTH
+ xor a
+ call ByteFill
+ ld a, [wHallOfFameCount]
+ ld de, OverworldMap
+ ld [de], a
+ inc de
+ ld hl, PartySpecies
+ ld c, 0
+.next
+ ld a, [hli]
+ cp -1
+ jr z, .done
+ cp EGG
+ jr nz, .mon
+ inc c
+ jr .next
+
+.mon
+ push hl
+ push de
+ push bc
+
+ ld a, c
+ ld hl, PartyMons
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld c, l
+ ld b, h
+
+ ld hl, MON_SPECIES
+ add hl, bc
+ ld a, [hl]
+ ld [de], a
+ inc de
+
+ ld hl, MON_ID
+ add hl, bc
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ inc de
+
+ ld hl, MON_DVS
+ add hl, bc
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ inc de
+
+ ld hl, MON_LEVEL
+ add hl, bc
+ ld a, [hl]
+ ld [de], a
+ inc de
+
+ pop bc
+ push bc
+ ld a, c
+ ld hl, PartyMonNicknames
+ ld bc, PKMN_NAME_LENGTH
+ call AddNTimes
+ ld bc, PKMN_NAME_LENGTH - 1
+ call CopyBytes
+
+ pop bc
+ inc c
+ pop de
+ ld hl, HOF_MON_LENGTH
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ jr .next
+
+.done
+ ld a, $ff
+ ld [de], a
+ ret
+; 865b5
+
+Function865b5: ; 865b5
+ push hl
+ call ClearBGPalettes
+ callba Function4e906
+ pop hl
+ ld a, [hli]
+ ld [TempMonSpecies], a
+ ld [CurPartySpecies], a
+rept 2
+ inc hl
+endr
+ ld a, [hli]
+ ld [TempMonDVs], a
+ ld a, [hli]
+ ld [TempMonDVs + 1], a
+ ld hl, TempMonDVs
+ predef GetUnownLetter
+ hlcoord 0, 0
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ ld a, " "
+ call ByteFill
+ ld de, VTiles2 tile $31
+ predef GetBackpic
+ ld a, $31
+ ld [hFillBox], a
+ hlcoord 6, 6
+ lb bc, 6, 6
+ predef FillBox
+ ld a, $d0
+ ld [hSCY], a
+ ld a, $90
+ ld [hSCX], a
+ call WaitBGMap
+ xor a
+ ld [hBGMapMode], a
+ ld b, SCGB_1A
+ call GetSGBLayout
+ call SetPalettes
+ call Function86635
+ xor a
+ ld [wc2c6], a
+ hlcoord 0, 0
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ ld a, " "
+ call ByteFill
+ hlcoord 6, 5
+ call _PrepMonFrontpic
+ call WaitBGMap
+ xor a
+ ld [hBGMapMode], a
+ ld [hSCY], a
+ call Function86643
+ ret
+; 86635
+
+Function86635: ; 86635
+.loop
+ ld a, [hSCX]
+ cp $70
+ ret z
+ add $4
+ ld [hSCX], a
+ call DelayFrame
+ jr .loop
+; 86643
+
+Function86643: ; 86643
+.loop
+ ld a, [hSCX]
+ and a
+ ret z
+rept 2
+ dec a
+endr
+ ld [hSCX], a
+ call DelayFrame
+ jr .loop
+; 86650
+
+_HallOfFamePC: ; 86650
+ call LoadFontsBattleExtra
+ xor a
+ ld [wJumptableIndex], a
+.loop
+ call Function8671c
+ ret c
+ call Function86665
+ ret c
+ ld hl, wJumptableIndex
+ inc [hl]
+ jr .loop
+; 86665
+
+Function86665: ; 86665
+ xor a
+ ld [wcf64], a
+.next
+ call Function86692
+ jr c, .start_button
+.loop
+ call JoyTextDelay
+ ld hl, hJoyLast
+ ld a, [hl]
+ and B_BUTTON
+ jr nz, .b_button
+ ld a, [hl]
+ and A_BUTTON
+ jr nz, .a_button
+ ld a, [hl]
+ and START
+ jr nz, .start_button
+ call DelayFrame
+ jr .loop
+
+.a_button
+ ld hl, wcf64
+ inc [hl]
+ jr .next
+
+.b_button
+ scf
+ ret
+
+.start_button
+ and a
+ ret
+; 86692
+
+Function86692: ; 86692
+; Print the number of times the player has entered the Hall of Fame.
+; If that number is above 200, print "HOF Master!" instead.
+ ld a, [wcf64]
+ cp $6
+ jr nc, .fail
+ ld hl, wc608 + 1
+ ld bc, $10
+ call AddNTimes
+ ld a, [hl]
+ cp $ff
+ jr nz, .okay
+
+.fail
+ scf
+ ret
+
+.okay
+ push hl
+ call ClearBGPalettes
+ pop hl
+ call Function86748
+ ld a, [wc608]
+ cp 200 + 1
+ jr c, .print_num_hof
+ ld de, String_866fc
+ hlcoord 1, 2
+ call PlaceString
+ hlcoord 13, 2
+ jr .finish
+
+.print_num_hof
+ ld de, String_8670c
+ hlcoord 1, 2
+ call PlaceString
+ hlcoord 2, 2
+ ld de, wc608
+ lb bc, 1, 3
+ call PrintNum
+ hlcoord 11, 2
+
+.finish
+ ld de, String_866fb
+ call PlaceString
+ call WaitBGMap
+ ld b, SCGB_1A
+ call GetSGBLayout
+ call SetPalettes
+ decoord 6, 5
+ ld c, $6
+ predef Functiond066e
+ and a
+ ret
+; 866fb
+
+String_866fb:
+ db "@"
+; 866fc
+
+String_866fc:
+ db " HOF Master!@"
+; 8670c
+
+String_8670c:
+ db " -Time Famer@"
+; 8671c
+
+
+Function8671c: ; 8671c
+ ld a, [wJumptableIndex]
+ cp NUM_HOF_TEAMS
+ jr nc, .full
+ ld hl, sHallOfFame
+ ld bc, HOF_LENGTH
+ call AddNTimes
+ ld a, BANK(sHallOfFame)
+ call GetSRAMBank
+ ld a, [hl]
+ and a
+ jr z, .fail
+ ld de, wc608
+ ld bc, HOF_LENGTH
+ call CopyBytes
+ call CloseSRAM
+ and a
+ ret
+
+.fail
+ call CloseSRAM
+
+.full
+ scf
+ ret
+; 86748
+
+Function86748: ; 86748
+ xor a
+ ld [hBGMapMode], a
+ ld a, [hli]
+ ld [TempMonSpecies], a
+ ld a, [hli]
+ ld [TempMonID], a
+ ld a, [hli]
+ ld [TempMonID + 1], a
+ ld a, [hli]
+ ld [TempMonDVs], a
+ ld a, [hli]
+ ld [TempMonDVs + 1], a
+ ld a, [hli]
+ ld [TempMonLevel], a
+ ld de, StringBuffer2
+ ld bc, 10
+ call CopyBytes
+ ld a, "@"
+ ld [StringBuffer2 + 10], a
+ hlcoord 0, 0
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ ld a, " "
+ call ByteFill
+ hlcoord 0, 0
+ lb bc, 3, SCREEN_WIDTH - 2
+ call TextBox
+ hlcoord 0, 12
+ lb bc, 4, SCREEN_WIDTH - 2
+ call TextBox
+ ld a, [TempMonSpecies]
+ ld [CurPartySpecies], a
+ ld [wd265], a
+ ld hl, TempMonDVs
+ predef GetUnownLetter
+ xor a
+ ld [wc2c6], a
+ hlcoord 6, 5
+ call _PrepMonFrontpic
+ ld a, [CurPartySpecies]
+ cp EGG
+ jr z, .print_id_no
+ hlcoord 1, 13
+ ld a, "№"
+ ld [hli], a
+ ld [hl], "·"
+ hlcoord 3, 13
+ ld de, wd265
+ lb bc, PRINTNUM_LEADINGZEROS | 1, 3
+ call PrintNum
+ call GetBasePokemonName
+ hlcoord 7, 13
+ call PlaceString
+ ld a, BREEDMON
+ ld [MonType], a
+ callba GetGender
+ ld a, " "
+ jr c, .got_gender
+ ld a, "♂"
+ jr nz, .got_gender
+ ld a, "♀"
+
+.got_gender
+ hlcoord 18, 13
+ ld [hli], a
+ hlcoord 8, 14
+ ld a, "/"
+ ld [hli], a
+ ld de, StringBuffer2
+ call PlaceString
+ hlcoord 1, 16
+ call PrintLevel
+
+.print_id_no
+ hlcoord 7, 16
+ ld a, "<ID>"
+ ld [hli], a
+ ld a, "№"
+ ld [hli], a
+ ld [hl], "/"
+ hlcoord 10, 16
+ ld de, TempMonID
+ lb bc, PRINTNUM_LEADINGZEROS | 2, 5
+ call PrintNum
+ ret
+; 86810
+
+Function86810: ; 86810
+ call ClearBGPalettes
+ ld hl, VTiles2 tile $63
+ ld de, FontExtra + $d0
+ lb bc, BANK(FontExtra), 1
+ call Request2bpp
+ hlcoord 0, 0
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ ld a, " "
+ call ByteFill
+ callba GetPlayerBackpic
+ ld a, $31
+ ld [hFillBox], a
+ hlcoord 6, 6
+ lb bc, 6, 6
+ predef FillBox
+ ld a, $d0
+ ld [hSCY], a
+ ld a, $90
+ ld [hSCX], a
+ call WaitBGMap
+ xor a
+ ld [hBGMapMode], a
+ ld [CurPartySpecies], a
+ ld b, SCGB_1A
+ call GetSGBLayout
+ call SetPalettes
+ call Function86635
+ xor a
+ ld [wc2c6], a
+ hlcoord 0, 0
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ ld a, " "
+ call ByteFill
+ callba Function88840
+ xor a
+ ld [hFillBox], a
+ hlcoord 12, 5
+ lb bc, 7, 7
+ predef FillBox
+ ld a, $c0
+ ld [hSCX], a
+ call WaitBGMap
+ xor a
+ ld [hBGMapMode], a
+ ld [hSCY], a
+ call Function86643
+ xor a
+ ld [hBGMapMode], a
+ hlcoord 0, 2
+ lb bc, 8, 9
+ call TextBox
+ hlcoord 0, 12
+ lb bc, 4, 18
+ call TextBox
+ hlcoord 2, 4
+ ld de, PlayerName
+ call PlaceString
+ hlcoord 1, 6
+ ld a, "<ID>"
+ ld [hli], a
+ ld a, "№"
+ ld [hli], a
+ ld [hl], "/"
+ hlcoord 4, 6
+ ld de, PlayerID
+ lb bc, PRINTNUM_LEADINGZEROS | 2, 5
+ call PrintNum
+ hlcoord 1, 8
+ ld de, .PlayTime
+ call PlaceString
+ hlcoord 3, 9
+ ld de, GameTimeHours
+ lb bc, 2, 3
+ call PrintNum
+ ld [hl], 99
+ inc hl
+ ld de, GameTimeMinutes
+ lb bc, PRINTNUM_LEADINGZEROS | 1, 2
+ call PrintNum
+ call WaitBGMap
+ callba Function26601
+ ret
+; 868ed
+
+.PlayTime
+ db "PLAY TIME@"
+; 868f7
+
diff --git a/event/mom_phone.asm b/event/mom_phone.asm
new file mode 100755
index 000000000..b2bf0d2fd
--- /dev/null
+++ b/event/mom_phone.asm
@@ -0,0 +1,285 @@
+MomTriesToBuySomething:: ; fcfec
+ ld a, [wMapReentryScriptQueueFlag]
+ and a
+ ret nz
+ call GetMapHeaderPhoneServiceNybble
+ and a
+ ret nz
+ xor a
+ ld [wdc18], a
+ call CheckBalance_MomItem2
+ ret nc
+ call Functionfd0c3
+ ret nc
+ ld b, BANK(UnknownScript_0xfd00f)
+ ld de, UnknownScript_0xfd00f
+ callba LoadScriptBDE
+ scf
+ ret
+; fd00f
+
+UnknownScript_0xfd00f: ; 0xfd00f
+ callasm Functionfd017
+ farjump Script_ReceivePhoneCall
+; 0xfd017
+
+Functionfd017: ; fd017
+ call MomBuysItem_DeductFunds
+ call Functionfd0eb
+ ld a, [wdc18]
+ and a
+ jr nz, .ok
+ ld hl, wdc17
+ inc [hl]
+.ok
+ ld a, 1
+ ld [wCurrentCaller], a
+ ld bc, wd03f
+ ld hl, 0
+ add hl, bc
+ ld [hl], 0
+ inc hl
+ ld [hl], 1
+ ld hl, 9
+ add hl, bc
+ ld a, $3f
+ ld [hli], a
+ ld a, e
+ ld [hli], a
+ ld a, d
+ ld [hl], a
+ ret
+; fd044
+
+CheckBalance_MomItem2: ; fd044
+ ld a, [wdc17]
+ cp 10
+ jr nc, .nope
+ call GetItemFromMom
+ ld a, [hli]
+ ld [hMoneyTemp], a
+ ld a, [hli]
+ ld [hMoneyTemp + 1], a
+ ld a, [hli]
+ ld [hMoneyTemp + 2], a
+ ld de, wMomsMoney
+ ld bc, hMoneyTemp
+ callba CompareMoney
+ jr nc, .have_enough_money
+
+.nope
+ jr .check_have_2300
+
+.have_enough_money
+ scf
+ ret
+
+.check_have_2300
+ ld hl, hMoneyTemp
+ ld [hl], (2300 / $10000) ; $00
+ inc hl
+ ld [hl], ((2300 % $10000) / $100) ; $08
+ inc hl
+ ld [hl], (2300 % $100) ; $fc
+.loop
+ ld de, wdc19
+ ld bc, wMomsMoney
+ callba CompareMoney
+ jr z, .exact
+ jr nc, .less_than
+ call Functionfd099
+ jr .loop
+
+.less_than
+ xor a
+ ret
+
+.exact
+ call Functionfd099
+ ld a, 5
+ call RandomRange
+ inc a
+ ld [wdc18], a
+ scf
+ ret
+; fd099
+
+Functionfd099: ; fd099
+ ld de, wdc19
+ ld bc, hMoneyTemp
+ callba AddMoney
+ ret
+; fd0a6
+
+
+MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6)
+ call GetItemFromMom
+ ld de, 3
+ add hl, de
+ ld a, [hli]
+ ld [hMoneyTemp], a
+ ld a, [hli]
+ ld [hMoneyTemp + 1], a
+ ld a, [hli]
+ ld [hMoneyTemp + 2], a
+ ld de, wMomsMoney
+ ld bc, hMoneyTemp
+ callba TakeMoney
+ ret
+
+
+Functionfd0c3: ; fd0c3
+ call GetItemFromMom
+ ld de, 6
+ add hl, de
+ ld a, [hli]
+ cp 1
+ jr z, .not_doll
+ ld a, [hl]
+ ld c, a
+ ld b, 1
+ callba DecorationFlagAction_c
+ scf
+ ret
+
+.not_doll
+ ld a, [hl]
+ ld [CurItem], a
+ ld a, $1
+ ld [wItemQuantityChangeBuffer], a
+ ld hl, PCItems
+ call ReceiveItem
+ ret
+; fd0eb
+
+
+Functionfd0eb: ; fd0eb (3f:50eb)
+ call GetItemFromMom
+ ld de, 6 ; field
+ add hl, de
+ ld a, [hli]
+ ld de, Script_MomBoughtItem
+ cp 1
+ ret z
+ ld de, Script_MomBoughtDoll
+ ret
+; fd0fd (3f:50fd)
+
+Script_MomBoughtItem: ; 0xfd0fd
+ writetext _MomText_HiHowAreYou
+ writetext _MomText_FoundAnItem
+ writetext _MomText_BoughtWithYourMoney
+ writetext _MomText_ItsInPC
+ end
+; 0xfd10a
+
+Script_MomBoughtDoll: ; 0xfd10a
+ writetext _MomText_HiHowAreYou
+ writetext _MomText_FoundADoll
+ writetext _MomText_BoughtWithYourMoney
+ writetext _MomText_ItsInRoom
+ end
+; 0xfd117
+
+
+GetItemFromMom: ; fd117
+ ld a, [wdc18]
+ and a
+ jr z, .zero
+ dec a
+ ld de, MomItems_1
+ jr .incave
+
+.zero
+ ld a, [wdc17]
+ cp 10 ; length of MomItems_2
+ jr c, .ok
+ xor a
+
+.ok
+ ld de, MomItems_2
+
+.incave
+ ld l, a
+ ld h, 0
+rept 3 ; multiply hl by 8
+ add hl, hl
+endr
+ add hl, de
+ ret
+; fd136
+
+momitem: macro
+; money to trigger, cost, kind, item
+ dt \1
+ dt \2
+ db \3, \4
+ENDM
+
+
+MomItems_1: ; fd136
+ momitem 0, 600, MOM_ITEM, SUPER_POTION
+ momitem 0, 90, MOM_ITEM, ANTIDOTE
+ momitem 0, 180, MOM_ITEM, POKE_BALL
+ momitem 0, 450, MOM_ITEM, ESCAPE_ROPE
+ momitem 0, 500, MOM_ITEM, GREAT_BALL
+; fd15e
+
+MomItems_2: ; fd15e
+ momitem 900, 600, MOM_ITEM, SUPER_POTION
+ momitem 4000, 270, MOM_ITEM, REPEL
+ momitem 7000, 600, MOM_ITEM, SUPER_POTION
+ momitem 10000, 1800, MOM_DOLL, DECO_CHARMANDER_DOLL
+ momitem 15000, 3000, MOM_ITEM, MOON_STONE
+ momitem 19000, 600, MOM_ITEM, SUPER_POTION
+ momitem 30000, 4800, MOM_DOLL, DECO_CLEFAIRY_DOLL
+ momitem 40000, 900, MOM_ITEM, HYPER_POTION
+ momitem 50000, 8000, MOM_DOLL, DECO_PIKACHU_DOLL
+ momitem 100000, 22800, MOM_DOLL, DECO_BIG_SNORLAX_DOLL
+; fd1ae
+
+ db 0, 0, 0 ; XXX
+
+_MomText_HiHowAreYou: ; 0xfd1b1
+ ; Hi, ! How are you?
+ text_jump UnknownText_0x1bc615
+ db "@"
+; 0xfd1b6
+
+_MomText_FoundAnItem: ; 0xfd1b6
+ ; I found a useful item shopping, so
+ text_jump UnknownText_0x1bc62a
+ db "@"
+; 0xfd1bb
+
+_MomText_BoughtWithYourMoney: ; 0xfd1bb
+ ; I bought it with your money. Sorry!
+ text_jump UnknownText_0x1bc64e
+ db "@"
+; 0xfd1c0
+
+_MomText_ItsInPC: ; 0xfd1c0
+ ; It's in your PC. You'll like it!
+ text_jump UnknownText_0x1bc673
+ db "@"
+; 0xfd1c5
+
+_MomText_FoundADoll: ; 0xfd1c5
+ ; While shopping today, I saw this adorable doll, so
+ text_jump UnknownText_0x1bc693
+ db "@"
+; 0xfd1ca
+
+_MomText_ItsInRoom: ; 0xfd1ca
+ ; It's in your room. You'll love it!
+ text_jump UnknownText_0x1bc6c7
+ db "@"
+; 0xfd1cf
+
+ db 0 ; XXX
+
+Functionfd1d0: ; fd1d0
+ ret
+; fd1d1
+
+ ret ; XXX