Disassemble the final English debug ROM
This commit is contained in:
@@ -3432,7 +3432,24 @@ DoEnemyDamage:
|
||||
ld [wBuffer4], a
|
||||
sbc b
|
||||
ld [wEnemyMonHP], a
|
||||
if DEF(_DEBUG)
|
||||
push af
|
||||
ld a, BANK(sSkipBattle)
|
||||
call OpenSRAM
|
||||
ld a, [sSkipBattle]
|
||||
call CloseSRAM
|
||||
or a
|
||||
; If [sSkipBattle] is nonzero, skip the "jr nc, .no_underflow" check,
|
||||
; so any attack deals maximum damage to the enemy.
|
||||
jr nz, .debug_skip
|
||||
pop af
|
||||
jr nc, .no_underflow
|
||||
push af
|
||||
.debug_skip
|
||||
pop af
|
||||
else
|
||||
jr nc, .no_underflow
|
||||
endc
|
||||
|
||||
ld a, [wBuffer4]
|
||||
ld [hli], a
|
||||
|
1762
engine/debug/debug_room.asm
Normal file
1762
engine/debug/debug_room.asm
Normal file
File diff suppressed because it is too large
Load Diff
@@ -168,7 +168,7 @@ PutItemInPocket:
|
||||
jr z, .terminator
|
||||
cp c
|
||||
jr nz, .next
|
||||
ld a, 99
|
||||
ld a, MAX_ITEM_STACK
|
||||
sub [hl]
|
||||
add b
|
||||
ld b, a
|
||||
@@ -205,14 +205,14 @@ PutItemInPocket:
|
||||
jr nz, .loop2
|
||||
ld a, [wItemQuantityBuffer]
|
||||
add [hl]
|
||||
cp 100
|
||||
cp MAX_ITEM_STACK + 1
|
||||
jr nc, .newstack
|
||||
ld [hl], a
|
||||
jr .done
|
||||
|
||||
.newstack
|
||||
ld [hl], 99
|
||||
sub 99
|
||||
ld [hl], MAX_ITEM_STACK
|
||||
sub MAX_ITEM_STACK
|
||||
ld [wItemQuantityBuffer], a
|
||||
jr .loop2
|
||||
|
||||
@@ -408,7 +408,7 @@ ReceiveTMHM:
|
||||
add hl, bc
|
||||
ld a, [wItemQuantityChangeBuffer]
|
||||
add [hl]
|
||||
cp 100
|
||||
cp MAX_ITEM_STACK + 1
|
||||
jr nc, .toomany
|
||||
ld [hl], a
|
||||
scf
|
||||
|
@@ -498,7 +498,7 @@ BuyMenuLoop:
|
||||
ret
|
||||
|
||||
StandardMartAskPurchaseQuantity:
|
||||
ld a, 99
|
||||
ld a, MAX_ITEM_STACK
|
||||
ld [wItemQuantityBuffer], a
|
||||
ld a, MARTTEXT_HOW_MANY
|
||||
call LoadBuyMenuText
|
||||
@@ -557,7 +557,7 @@ RooftopSaleAskPurchaseQuantity:
|
||||
ld a, MARTTEXT_HOW_MANY
|
||||
call LoadBuyMenuText
|
||||
call .GetSalePrice
|
||||
ld a, 99
|
||||
ld a, MAX_ITEM_STACK
|
||||
ld [wItemQuantityBuffer], a
|
||||
farcall RooftopSale_SelectQuantityToBuy
|
||||
call ExitMenu
|
||||
|
@@ -96,11 +96,11 @@ Function249a7:
|
||||
jr nz, .asm_249cd
|
||||
ld a, [wScrollingMenuCursorPosition]
|
||||
call Function24a97
|
||||
cp 99
|
||||
cp MAX_ITEM_STACK
|
||||
jr z, .asm_249cd
|
||||
ld a, [wSwitchItem]
|
||||
call Function24a97
|
||||
cp 99
|
||||
cp MAX_ITEM_STACK
|
||||
jr nz, .asm_249cf
|
||||
.asm_249cd
|
||||
and a
|
||||
@@ -121,14 +121,14 @@ Function249d1:
|
||||
ld a, [hl]
|
||||
pop hl
|
||||
add [hl]
|
||||
cp 100
|
||||
cp MAX_ITEM_STACK + 1
|
||||
jr c, .asm_24a01
|
||||
sub 99
|
||||
sub MAX_ITEM_STACK
|
||||
push af
|
||||
ld a, [wScrollingMenuCursorPosition]
|
||||
call ItemSwitch_GetNthItem
|
||||
inc hl
|
||||
ld [hl], 99
|
||||
ld [hl], MAX_ITEM_STACK
|
||||
ld a, [wSwitchItem]
|
||||
call ItemSwitch_GetNthItem
|
||||
inc hl
|
||||
|
@@ -88,6 +88,12 @@ AreYouABoyOrAreYouAGirl:
|
||||
farcall InitMobileProfile ; mobile
|
||||
ret
|
||||
|
||||
if DEF(_DEBUG)
|
||||
DebugRoom: ; unreferenced
|
||||
farcall _DebugRoom
|
||||
ret
|
||||
endc
|
||||
|
||||
ResetWRAM:
|
||||
xor a
|
||||
ldh [hBGMapMode], a
|
||||
|
@@ -18,6 +18,7 @@
|
||||
const MAINMENUITEM_MYSTERY_GIFT ; 3
|
||||
const MAINMENUITEM_MOBILE ; 4
|
||||
const MAINMENUITEM_MOBILE_STUDIUM ; 5
|
||||
const MAINMENUITEM_DEBUG_ROOM ; 6
|
||||
|
||||
MobileMenuGFX:
|
||||
INCBIN "gfx/mobile/mobile_menu.2bpp"
|
||||
@@ -70,6 +71,9 @@ MainMenu:
|
||||
db "MYSTERY GIFT@"
|
||||
db "MOBILE@"
|
||||
db "MOBILE STUDIUM@"
|
||||
if DEF(_DEBUG)
|
||||
db "DEBUG ROOM@"
|
||||
endc
|
||||
|
||||
.Jumptable:
|
||||
; entries correspond to MAINMENUITEM_* constants
|
||||
@@ -79,6 +83,9 @@ MainMenu:
|
||||
dw MainMenu_MysteryGift
|
||||
dw MainMenu_Mobile
|
||||
dw MainMenu_MobileStudium
|
||||
if DEF(_DEBUG)
|
||||
dw MainMenu_DebugRoom
|
||||
endc
|
||||
|
||||
MainMenuItems:
|
||||
; entries correspond to MAINMENU_* constants
|
||||
@@ -90,71 +97,95 @@ MainMenuItems:
|
||||
db -1
|
||||
|
||||
; MAINMENU_CONTINUE
|
||||
db 3
|
||||
db 3 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_MOBILE_MYSTERY
|
||||
db 5
|
||||
db 5 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MYSTERY_GIFT
|
||||
db MAINMENUITEM_MOBILE
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_MOBILE
|
||||
db 4
|
||||
db 4 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MOBILE
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_MOBILE_STUDIUM
|
||||
db 5
|
||||
db 5 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MOBILE
|
||||
db MAINMENUITEM_MOBILE_STUDIUM
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_MYSTERY_MOBILE_STUDIUM
|
||||
db 6
|
||||
db 6 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MYSTERY_GIFT
|
||||
db MAINMENUITEM_MOBILE
|
||||
db MAINMENUITEM_MOBILE_STUDIUM
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_MYSTERY
|
||||
db 4
|
||||
db 4 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MYSTERY_GIFT
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_MYSTERY_STUDIUM
|
||||
db 5
|
||||
db 5 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MYSTERY_GIFT
|
||||
db MAINMENUITEM_MOBILE_STUDIUM
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_STUDIUM
|
||||
db 4
|
||||
db 4 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MOBILE_STUDIUM
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
MainMenu_GetWhichMenu:
|
||||
|
@@ -25,6 +25,20 @@ NextCallReceiveDelay:
|
||||
ld hl, .ReceiveCallDelays
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
if DEF(_DEBUG)
|
||||
ld h, a
|
||||
ld a, BANK(sDebugTimeCyclesSinceLastCall)
|
||||
call OpenSRAM
|
||||
ld a, [sDebugTimeCyclesSinceLastCall]
|
||||
call CloseSRAM
|
||||
dec a
|
||||
cp 2
|
||||
jr nc, .debug_ok
|
||||
xor 1
|
||||
ld h, a
|
||||
.debug_ok
|
||||
ld a, h
|
||||
endc
|
||||
jp RestartReceiveCallDelay
|
||||
|
||||
.ReceiveCallDelays:
|
||||
|
@@ -185,6 +185,10 @@ EggStatsJoypad:
|
||||
.check
|
||||
bit A_BUTTON_F, a
|
||||
jr nz, .quit
|
||||
if DEF(_DEBUG)
|
||||
cp START
|
||||
jr z, .hatch
|
||||
endc
|
||||
and D_DOWN | D_UP | A_BUTTON | B_BUTTON
|
||||
jp StatsScreen_JoypadAction
|
||||
|
||||
@@ -193,6 +197,39 @@ EggStatsJoypad:
|
||||
call StatsScreen_SetJumptableIndex
|
||||
ret
|
||||
|
||||
if DEF(_DEBUG)
|
||||
.hatch
|
||||
ld a, [wMonType]
|
||||
or a
|
||||
jr nz, .skip
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
ld a, [wCurPartyMon]
|
||||
ld bc, PARTYMON_STRUCT_LENGTH
|
||||
ld hl, wPartyMon1Happiness
|
||||
call AddNTimes
|
||||
ld [hl], 1
|
||||
ld a, 1
|
||||
ld [wTempMonHappiness], a
|
||||
ld a, 127
|
||||
ld [wStepCount], a
|
||||
ld de, .HatchSoonString
|
||||
hlcoord 8, 17
|
||||
call PlaceString
|
||||
ld hl, wcf64
|
||||
set 5, [hl]
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
.skip
|
||||
xor a
|
||||
jp StatsScreen_JoypadAction
|
||||
|
||||
.HatchSoonString:
|
||||
db "▶HATCH SOON!@"
|
||||
endc
|
||||
|
||||
StatsScreen_LoadPage:
|
||||
call StatsScreen_LoadGFX
|
||||
ld hl, wcf64
|
||||
@@ -970,6 +1007,17 @@ EggStatsScreen:
|
||||
ld de, FiveQMarkString
|
||||
hlcoord 11, 5
|
||||
call PlaceString
|
||||
if DEF(_DEBUG)
|
||||
ld de, .PushStartString
|
||||
hlcoord 8, 17
|
||||
call PlaceString
|
||||
jr .placed_push_start
|
||||
|
||||
.PushStartString:
|
||||
db "▶PUSH START.@"
|
||||
|
||||
.placed_push_start
|
||||
endc
|
||||
ld a, [wTempMonHappiness] ; egg status
|
||||
ld de, EggSoonString
|
||||
cp $6
|
||||
|
Reference in New Issue
Block a user