more disassembly in bank 1

This commit is contained in:
2Tie 2018-06-18 19:37:04 -06:00
parent c557bd6613
commit 0a2d5a66cd
5 changed files with 378 additions and 42 deletions

View File

@ -76,14 +76,14 @@ $(CORRECTEDROM): %-correctheader.gb: %.gb
$(ROM): poke%-spaceworld.gb: $(OBJS) | $(BASEROM)
$(RGBLINK) -d -n $(@:.gb=.sym) -m $(@:.gb=.map) -O $(BASEROM) -o $@ $^
$(RGBFIX) -f lh -k 01 -l 0x33 -m 0x03 -p 0 -r 3 -t "POKEMON2$(shell echo $* | cut -d _ -f 1 | tr '[:lower:]' '[:upper:]')" $@
$(sort_sym) $(@:.gb=.sym)
# $(sort_sym) $(@:.gb=.sym)
$(BASEROM):
@echo "Please obtain a copy of Gold_debug.sgb and put it in this directory as $@"
@exit 1
$(BUILD)/shim.asm: tools/make_shim $(SHIM) | $$(dir $$@)
tools/make_shim -w $(filter-out $<, $^) > $@
$(BUILD)/shim.asm: tools/make_shim.py $(SHIM) | $$(dir $$@)
$(PYTHON3) tools/make_shim.py -w $(filter-out $<, $^) > $@
$(BUILD)/gfx.o: | $(GFX)
$(BUILD)/%.o: $(BUILD)/%.asm | $$(dir $$@)

View File

@ -12,7 +12,7 @@ PredefPointers:: ; 1:62d3
; WE NEED LABELS!
; Thank youu~
add_predef Function6445 ; 0
add_predef Function5d27
add_predef IntroDisplayPicCenteredOrUpperRight
add_predef Function6713
add_predef Function66b1
add_predef DebugMenu

View File

@ -61,7 +61,7 @@ MainMenuHeader: ; 01:5418
MainMenuJumptable: ; 01:5457
dw MainMenuOptionContinue
dw StartNewGame
dw $5cf3
dw MenuCallSettings
dw StartNewGame
dw MainMenuOptionSetTime
@ -205,44 +205,44 @@ StartNewGame:: ; 555C
ld a, [wDebugFlags]
bit DEBUG_FIELD_F, a
jp z, DemoStart
call DebugSetUpPlayer ; todo - sets up debug stuff?
jp IntroCleanup ; todo - gives strter & does shrinkydink?
call DebugSetUpPlayer
jp IntroCleanup
DemoStart:: ; 558D
ld de, $4BD4
ld de, $4BD4 ; maybe this should be a macro - b is bank, de is address, c is flag
ld bc, $1200
call Function5d27
call $5CF7 ; todo
ld hl, OakSpeechDemo ; todo
call IntroDisplayPicCenteredOrUpperRight
call FadeInIntroPic
ld hl, OakSpeechDemo
call PrintText
call RotateThreePalettesRight
call ClearTileMap
ld de, $4D10
ld bc, $1200
call Function5d27
call $5D0E ; todo
call IntroDisplayPicCenteredOrUpperRight
call MovePicLeft
ld a, $D0 ; todo
ldh [rOBP0], a
call DemoSetUpPlayer ; todo
jp IntroCleanup ; todo
call DemoSetUpPlayer
jp IntroCleanup
GameStart:: ; 55BB
ld de, $4BD4
ld bc, $1200
call Function5d27
call $5CF7
call IntroDisplayPicCenteredOrUpperRight
call FadeInIntroPic
ld hl, OakSpeech1
call PrintText
call RotateThreePalettesRight
call ClearTileMap
ld a, $C8
ld a, $C8 ; pokemon preview ID
ld [$CB5B], a
ld [$CD78], a
call GetMonHeader
ld hl, $C2F6
ld hl, $C2F6
call PrepMonFrontpic
call $5D0E
call MovePicLeft
ld hl, OakSpeech2
call PrintText
ld a, $C8 ; this should be a constant methinks
@ -253,37 +253,35 @@ GameStart:: ; 55BB
call ClearTileMap
ld de, $4D10
ld bc, $1200
call Function5d27
call $5D0E
call IntroDisplayPicCenteredOrUpperRight
call MovePicLeft
ld hl, OakSpeech4
call PrintText
call $5B25
call ChoosePlayerName
call RotateThreePalettesRight
call ClearTileMap
ld de, $4ab7
ld bc, $1200
call Function5d27
call $5CF7
call IntroDisplayPicCenteredOrUpperRight
call FadeInIntroPic
ld hl, OakSpeech5
call PrintText
call $5BA9
call ChooseRivalName
call RotateThreePalettesRight
call ClearTileMap
ld de, $4BD4
ld bc, $1200
call Function5d27
call $5CF7
call IntroDisplayPicCenteredOrUpperRight
call FadeInIntroPic
ld hl, OakSpeech6
call PrintText
ld a, $24
ld hl, $4000
call FarCall_hl
callba SetClockDialog
call Function04ac
call RotateThreePalettesRight
call ClearTileMap
ld de, $4D10
ld bc, $1200
call Function5d27
call IntroDisplayPicCenteredOrUpperRight
call RotateThreePalettesLeft
ld hl, OakSpeech7
call PrintText
@ -293,9 +291,9 @@ GameStart:: ; 55BB
ld [wMusicFade], a
ld de, MUSIC_NONE
ld a, e
ld [wMusicFadeID], a
ld [wMusicFadeIDLow], a
ld a, d
ld [$C1A8], a
ld [wMusicFadeIDHigh], a
ld de, $000B ; should be a constant - shrink noise?
call PlaySFX
pop af
@ -306,12 +304,12 @@ GameStart:: ; 55BB
IntroCleanup:: ; 568E
ld de, $4743
ld bc, $0400
call $5D27
call IntroDisplayPicCenteredOrUpperRight
ld c, $04
call DelayFrames
ld de, $479D
ld bc, $0400
call $5D27
call IntroDisplayPicCenteredOrUpperRight
ld c, $14
call DelayFrames
ld hl, $C30A
@ -361,14 +359,14 @@ SetUpGameEntry:: ; 56E8
GameStartPlacement:: ; 570D
db $01 ; map group
db $09 ; map
dw $C633 ; screen anchor
dw $C633 ; screen anchor - should be coords
db $04 ; metatile x
db $04 ; metatile y
db $00 ; in-metatile x
db $01 ; in-metatile y
DebugSetUpPlayer:: ; 5715
call $5B07
call SetPlayerNamesDebug
ld a, $0F
ld [wd15d], a
ld a, $42
@ -390,7 +388,7 @@ DebugSetUpPlayer:: ; 5715
call DebugFillPokedex
ld hl, wAnnonDex
ld [hl], $01
call $40FD
call $40FD ; todo
ret
DebugFillPokedex:: ; 5755
@ -670,4 +668,339 @@ OakSpeech7:: ; 5AC2
para "レッツ ゴー!"
done
; 5B07
SetPlayerNamesDebug:: ; 5B07
ld hl, DebugPlayerName
ld de, wPlayerName
call CopyNameDebug
ld hl, DebugRivalName
ld de, wRivalName
CopyNameDebug:
ld bc, 0006 ; constant - name length
call CopyBytes
ret
DebugPlayerName: ; 5B1D
db "コージ@"
DebugRivalName: ; 5B21
db "レッド@"
ChoosePlayerName:: ; 5B25
call PanPortraitRight
ld hl, PlayerNameMenuHeader
call NamingWindow
ld a, [wMenuCursorY]
dec a
jr z, .loop
ld de, wPlayerName
call SaveCustomName
jr .farjump
.loop
ld b, $01
ld de, wPlayerName
callba Function113f4
ld a, [wPlayerName]
cp "@"
jr z, .loop
call RotateThreePalettesRight
call ClearTileMap
call LoadFontExtra
call WaitBGMap
ld de, $4D10
ld bc, $1200
call IntroDisplayPicCenteredOrUpperRight
call RotateThreePalettesLeft
.farjump
ld hl, ChoosePlayerNameEndText
call PrintText
ret
ChoosePlayerNameEndText: ; 5B6F
text "ふむ・・・"
line "<PLAYER> と いうんだな!"
prompt
PlayerNameMenuHeader: ; 5B81
db $40
menu_coords 00, 00, 10, 11
dw $5B89
db 01 ; initial selection
; 5B89
db "ツオ゛じぶんできめる@"
; 5B93
db "ゴールド@"
; 5B98
db "サトシ@"
; 5B9C
db "ジャック@"
; 5BA1
db "エ゛なまえこうほ@"
ChooseRivalName:: ; 5BA9
call PanPortraitRight
ld hl, RivalNameMenuHeader
call NamingWindow
ld a, [wMenuCursorY]
dec a
jr z, .loop
ld de, wRivalName
call SaveCustomName
jr .farjump
.loop
ld b, $02
ld de, wRivalName
callba Function113f4 ; manual text entry box?
ld a, [wRivalName]
cp "@"
jr z, .loop
call RotateThreePalettesRight
call ClearTileMap
call LoadFontExtra
call WaitBGMap
ld de, $4BD4
ld bc, $1200
call IntroDisplayPicCenteredOrUpperRight
call RotateThreePalettesLeft
.farjump
ld hl, ChooseRivalNameEndText
call PrintText
ret
ChooseRivalNameEndText: ; 5BF3
text "そうか そうだったな"
line "<RIVAL> という なまえだ"
prompt
RivalNameMenuHeader: ; 5C0A
db $40
menu_coords 00, 00, 10, 11
dw RivalNameMenuData
db 01 ; initial selection
RivalNameMenuData: ; 5C12
db $91
db 04 ; items
dw $3C2C
db $DE, $33
dw $D2B7
db $D9, $50
; 5C1C
db "シルバー@"
; 5C21
db "シゲル@"
; 5C25
db "ジョン@"
; 5C29
db "エ゛なまえこうほ@"
MomNamePrompt:: ; 5C31
ld hl, MomNameMenuHeader
call NamingWindow
ld a, [wMenuCursorY]
dec a
jr z, .loop
ld de, wMomsName
call SaveCustomName
jr .escape
.loop
ld b, $03
ld de, wMomsName
callba Function113f4
ld a, [wMomsName]
cp "@"
jr z, .loop
call ClearPalettes
call ClearTileMap
callab Function140d9
call LoadFontExtra
call GetMemSGBLayout
call WaitBGMap
.escape
ret
MomNameMenuHeader: ; 5C71
db $40 ; flags
menu_coords 00, 00, 10, 11
dw .MomNameMenuData
db 01 ; initial selection
.MomNameMenuData: ; 5C79
db $91
db 04 ; items
dw $3C2C
db $DE, $33
dw $B77F
; 5C81
db "める@"
; 5C84
db "おかあさん@"
; 5C8A
db "ママ@"
; 5C8D
db "かあちゃん@"
; 5C93
db "エ゛なまえこうほ@"
NamingWindow:: ; 5C9B
; loads the menu header put into hl
call LoadMenuHeader
call VerticalMenu
ld a, [wMenuCursorY]
dec a
call CopyNameFromMenu
call CloseWindow
ret
SaveCustomName:: ; 5CAC
ld hl, wcd31
ld bc, $0006 ; constant, player name length
call CopyBytes
ret
PanPortraitRight:: ; 5CB6
ld hl, $C2F5 ; should be a hlcoord i think
ld d, $06
ld e, $7E
ld b, d
ld c, e
ld d, $00
add hl, de
.loop
xor a
ldh [hBGMapMode], a
push hl
push bc
.innerLoop
;pans all the tiles onscreen to the right one
ld a, [hl+]
ld [hl-], a
dec hl
dec c
jr nz, .innerLoop
call WaitBGMap
pop bc
pop hl
inc hl
dec b ; passed c - how many tiles right to pan?
jr nz, .loop
ret
PanPortraitLeft:: ; 5CD7
ld hl, $C2FC ; hlcoord
ld b, $06
ld c, $7E
.loop
xor a
ldh [hBGMapMode], a
push hl
push bc
.innerloop
ld a, [hl-]
ld [hl+], a
inc hl
dec c
jr nz, .innerloop
call WaitBGMap
pop bc
pop hl
inc hl
dec b
jr nz, .loop
ret
MenuCallSettings:: ; 5CF3
call SettingsScreen
ret
FadeInIntroPic: ; 5CF7
ld hl, IntroFadePalettes
ld b, 6
.next
ld a, [hl+]
ldh [rBGP], a
ld c, 10
call DelayFrames
dec b
jr nz, .next
ret
IntroFadePalettes:
db %01010100
db %10101000
db %11111100
db %11111000
db %11110100
db %11100100
MovePicLeft: ; 5D0E
ld a, 119
ldh [hWX], a
call DelayFrame
ld a, %11100100
ldh [rBGP], a
.next
call DelayFrame
ldh a, [hWX]
sub 8
cp $FF
ret z
ldh [hWX], a
jr .next
IntroDisplayPicCenteredOrUpperRight:: ; 5D27
; b = bank
; de = address of compressed pic
; c: 0 = centred, non-zero = upper-right
ld a, c
and a
hlcoord 13, 4
jr nz, .skip
hlcoord 6, 4
.skip
push hl
ld a, b
call UncompressSpriteFromDE
ld a, $00
call OpenSRAM
ld hl, $A188
ld de, $A000
ld bc, $0310
call CopyBytes
call CloseSRAM
ld de, $9000
call InterlaceMergeSpriteBuffers
pop hl
xor a
ldh [hGraphicStartTile], a
ld bc, $0707
; ld a, $1F
; call Predef
predef PlaceGraphic
ret
; 5D5D

View File

@ -7,13 +7,13 @@
01:5190 Function5190
01:52F9 Function52f9
01:5388 Function5388
01:5D27 Function5d27
01:63D8 ReanchorBGMap_NoOAMUpdate
01:6437 LoadFonts_NoOAMUpdate
01:6445 Function6445
01:66B1 Function66b1
01:6713 Function6713
01:776E Function776e
01:78E5 SettingsScreen
02:4000 Function8000
02:4098 _InitializeVisibleSprites
@ -65,6 +65,7 @@
04:528F Function1128f
04:52C1 Function112c1
04:530A Function1130a
04:53F4 Function113f4
04:5677 DoPlayerMovement
04:5DBE DisplayStartMenu
04:640B Function1240b

View File

@ -54,7 +54,9 @@ wMusicFade:: ; c1a5
; $00 = none (default)
db
wMusicFadeCount:: db ; c1a6
wMusicFadeID:: dw ; c1a7
wMusicFadeID::
wMusicFadeIDLow:: db ; c1a7
wMusicFadeIDHigh:: db ; c1a8
ds 2 ; TODO
@ -786,7 +788,7 @@ wMetatileStandingY:: db ; d65c
wMetatileStandingX:: db ; d65d
wd65e:: ; d65e
ds 1 ; TODO
db
wMapPartial:: ; d65f
wMapAttributesBank:: ; d65f