summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x[-rw-r--r--]charmap.asm0
-rwxr-xr-xengine/dumps/bank01.asm424
-rw-r--r--hram.asm8
-rw-r--r--pokegold-spaceworld.link12
-rwxr-xr-x[-rw-r--r--]shim.sym27
-rw-r--r--wram.asm9
6 files changed, 471 insertions, 9 deletions
diff --git a/charmap.asm b/charmap.asm
index be20a37..be20a37 100644..100755
--- a/charmap.asm
+++ b/charmap.asm
diff --git a/engine/dumps/bank01.asm b/engine/dumps/bank01.asm
new file mode 100755
index 0000000..4b299ac
--- /dev/null
+++ b/engine/dumps/bank01.asm
@@ -0,0 +1,424 @@
+SECTION "engine/dumps/bank01.asm@Function40fd", ROMX
+
+Function40fd: ; 01:40fd
+ ld hl, wd41a
+ set 5, [hl]
+ ld hl, wd41a
+ set 7, [hl]
+ ld hl, wd41a
+ set 0, [hl]
+ ld hl, wd41a
+ set 3, [hl]
+ ld hl, wd41a
+ set 6, [hl]
+ ld hl, wd41a
+ set 6, [hl]
+ ld hl, wd41e
+ set 5, [hl]
+ ld hl, wd41b
+ set 1, [hl]
+ ld hl, wd41c
+ set 4, [hl]
+ ld hl, wd41d
+ set 2, [hl]
+ ld hl, wd41b
+ set 2, [hl]
+ ld a, $01
+ ld [wd29a], a
+ ld a, $01
+ ld [wd29b], a
+ ld a, $06
+ ld [wd29c], a
+ ld a, $12
+ ld [wd29d], a
+ ld a, $06
+ ld [wd29e], a
+ ld a, $02
+ ld [wd2a0], a
+ ret
+
+SECTION "engine/dumps/bank01.asm@Function42db", ROMX
+
+Function42db: ; 01:42db
+ ld bc, wCmdQueue
+ ld a, $01
+.sub_42e0
+ ldh [hConnectedMapWidth], a
+ ld hl, $0000
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .sub_42ed
+ call .sub_42fb
+.sub_42ed
+ ld hl, $0010
+ add hl, bc
+ ld b, h
+ ld c, l
+ ldh a, [hConnectedMapWidth]
+ inc a
+ cp $05
+ jr nz, .sub_42e0
+ ret
+.sub_42fb
+ ld hl, $0001
+ add hl, bc
+ ld a, [hl]
+ ld hl, Table431d
+ call CallJumptable
+ ld hl, $0000
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret z
+ ld hl, $0002
+ add hl, bc
+ ld e, [hl]
+ ld d, $00
+ ld hl, Table4329
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+
+Table431d::
+ dw Function4333
+ dw Function439e
+ dw Function4430
+ dw Function4374
+ dw Function4374
+ dw Function43c9
+
+Table4329::
+ dw Function4334
+ dw Function4452
+ dw Function4459
+ dw Function446c
+ dw Function4495
+
+SECTION "engine/dumps/bank01.asm@Function44f2", ROMX
+
+Function44f2: ; 01:44f2
+ ld hl, $0008
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .sub_44fd
+ call Function486a
+.sub_44fd
+ ld e, a
+ ld d, $00
+ ld hl, Table4545
+ push hl
+ ld hl, $0005
+ add hl, bc
+ bit 5, [hl]
+ jp nz, Function453e
+ ld hl, Table4516
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+
+Table4516::
+ dw Function486a
+ dw Function47b8
+ dw Function4b88
+ dw Function4b65
+ dw Function4b78
+ dw Function4bc9
+ dw Function4baa
+ dw Function484d
+ dw Function4856
+ dw Function4859
+ dw Function485c
+ dw Function485f
+ dw Function485f
+ dw Function485f
+ dw Function485f
+
+SECTION "engine/dumps/bank01.asm@Function453e", ROMX
+
+Function453e: ; 01:453e
+ ld hl, $000a
+ add hl, bc
+ ld [hl], $02
+ ret
+
+SECTION "engine/dumps/bank01.asm@Function486a", ROMX
+
+Function486a: ; 01:486a
+ ld hl, $0010
+ add hl, bc
+ ld d, [hl]
+ ld hl, $0011
+ add hl, bc
+ ld e, [hl]
+ push bc
+ call GetCoordTile
+ pop bc
+ ld hl, $000e
+ add hl, bc
+ ld [hl], a
+ call Function45d4
+ call Function4678
+ ld a, $01
+ ld hl, $0008
+ add hl, bc
+ ld [hl], a
+ ret
+
+SECTION "engine/dumps/bank01.asm@Function5007", ROMX
+
+Function5007: ; 01:5007
+ ld bc, wObjectStructs
+ xor a
+.sub_500b
+ ldh [hConnectionStripLength], a
+ ld hl, $0000
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .sub_5034
+ ld hl, $000a
+ add hl, bc
+ ld a, [hl]
+ and a
+ ld a, $ff
+ jr z, .sub_502f
+ push bc
+ call .sub_5042
+ pop bc
+ ld a, $ff
+ jr c, .sub_502f
+ ld hl, $0007
+ add hl, bc
+ ld a, [hl]
+ and $0c
+.sub_502f
+ ld hl, $000d
+ add hl, bc
+ ld [hl], a
+.sub_5034
+ ld hl, $0028
+ add hl, bc
+ ld b, h
+ ld c, l
+ ldh a, [hConnectionStripLength]
+ inc a
+ cp $0a
+ jr nz, .sub_500b
+ ret
+.sub_5042
+ ld hl, $0010
+ add hl, bc
+ ld d, [hl]
+ ld hl, $0011
+ add hl, bc
+ ld e, [hl]
+ ld a, [wXCoord]
+ cp d
+ jr z, .sub_5059
+ jr nc, .sub_50b7
+ add $09
+ cp d
+ jr c, .sub_50b7
+.sub_5059
+ ld a, [wYCoord]
+ cp e
+ jr z, .sub_5066
+ jr nc, .sub_50b7
+ add $08
+ cp e
+ jr c, .sub_50b7
+.sub_5066
+ ld hl, $0018
+ add hl, bc
+ ld a, [hl]
+ and $07
+ ld d, $02
+ jr z, .sub_5073
+ ld d, $03
+.sub_5073
+ ld a, d
+ ldh [hffc9], a
+ ld a, [hl]
+ srl a
+ srl a
+ srl a
+ ldh [hffc7], a
+ ld hl, $0019
+ add hl, bc
+ ld a, [hl]
+ and $07
+ ld e, $02
+ jr z, .sub_508c
+ ld e, $03
+.sub_508c
+ ld a, [hl]
+ srl a
+ srl a
+ srl a
+ ldh [hffc8], a
+ ldh a, [hffc7]
+ ld c, a
+ ldh a, [hffc8]
+ ld b, a
+ call Coord2Tile
+ ld bc, $0014
+.sub_50a1
+ push hl
+ ldh a, [hffc9]
+ ld d, a
+.sub_50a5
+ ld a, [hli]
+ cp $60
+ jr nc, .sub_50b4
+ dec d
+ jr nz, .sub_50a5
+ pop hl
+ add hl, bc
+ dec e
+ jr nz, .sub_50a1
+ and a
+ ret
+.sub_50b4
+ pop hl
+ jr .sub_50b7
+.sub_50b7
+ scf
+ ret
+
+Function50b9: ; 01:50b9
+ call .sub_50c3
+ call .sub_50d3
+ call Function42db
+ ret
+.sub_50c3
+ xor a
+ ld [wcb6c], a
+ ld [wcb6d], a
+ ld [wcb6e], a
+ ld a, $ff
+ ld [wPlayerStepDirection], a
+ ret
+.sub_50d3
+ ld bc, wObjectStructs
+ xor a
+.sub_50d7
+ ldh [hConnectionStripLength], a
+ ld hl, $0000
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .sub_50e9
+ call .sub_50f7
+ jr c, .sub_50e9
+ call Function44f2
+.sub_50e9
+ ld hl, $0028
+ add hl, bc
+ ld b, h
+ ld c, l
+ ldh a, [hConnectionStripLength]
+ inc a
+ cp $0a
+ jr nz, .sub_50d7
+ ret
+.sub_50f7
+ ld hl, $0005
+ add hl, bc
+ res 6, [hl]
+ ld a, [wXCoord]
+ ld e, a
+ ld hl, $0010
+ add hl, bc
+ ld a, [hl]
+ add $01
+ sub e
+ jr c, .sub_5123
+ cp $0c
+ jr nc, .sub_5123
+ ld a, [wYCoord]
+ ld e, a
+ ld hl, $0011
+ add hl, bc
+ ld a, [hl]
+ add $01
+ sub e
+ jr c, .sub_5123
+ cp $0b
+ jr nc, .sub_5123
+ jr .sub_514d
+.sub_5123
+ ld hl, $0005
+ add hl, bc
+ set 6, [hl]
+ ld a, [wXCoord]
+ ld e, a
+ ld hl, $0014
+ add hl, bc
+ ld a, [hl]
+ add $01
+ sub e
+ jr c, .sub_514f
+ cp $0c
+ jr nc, .sub_514f
+ ld a, [wYCoord]
+ ld e, a
+ ld hl, $0015
+ add hl, bc
+ ld a, [hl]
+ add $01
+ sub e
+ jr c, .sub_514f
+ cp $0b
+ jr nc, .sub_514f
+.sub_514d
+ and a
+ ret
+.sub_514f
+ ldh a, [hConnectionStripLength]
+ cp $01
+ jr z, .sub_5162
+ ld hl, $0004
+ add hl, bc
+ bit 1, [hl]
+ jr nz, .sub_5162
+ call .sub_516a
+ scf
+ ret
+.sub_5162
+ ld hl, $0005
+ add hl, bc
+ set 6, [hl]
+ and a
+ ret
+.sub_516a
+ push bc
+ ld hl, $0001
+ add hl, bc
+ ld a, [hl]
+ push af
+ ld h, b
+ ld l, c
+ ld bc, $0028
+ xor a
+ call ByteFill
+ pop af
+ cp $ff
+ jr z, .sub_518e
+ ld hl, wMapObjects
+ ld bc, $0010
+ call AddNTimes
+ ld bc, $0000
+ add hl, bc
+ ld [hl], $ff
+.sub_518e
+ pop bc
+ ret
+
diff --git a/hram.asm b/hram.asm
index 82ac33c..9e2d78d 100644
--- a/hram.asm
+++ b/hram.asm
@@ -125,8 +125,14 @@ hPrintNumDivisor:: ds 3 ; ffb7 big-endian
hPrintNumTemp:: ds 3 ; ffba big-endian
ENDU
- ds 19 ; TODO
+ ds 10 ; TODO
+
+hffc7:: db ; ffc7
+hffc8:: db ; ffc8
+hffc9:: db ; ffc9
+
+ ds 6 ; TODO
hLCDCPointer:: ; ffd0
db
diff --git a/pokegold-spaceworld.link b/pokegold-spaceworld.link
index 1f24ae7..28dab15 100644
--- a/pokegold-spaceworld.link
+++ b/pokegold-spaceworld.link
@@ -107,9 +107,19 @@ ROMX $01
org $4000
"engine/link/place_waiting_text.asm"
"engine/menu/debug_menu.asm"
- org $4153
+ "engine/dumps/bank01.asm@Function40fd"
"home/oam_dma.asm"
; $416b
+ org $42db
+ "engine/dumps/bank01.asm@Function42db"
+ org $44f2
+ "engine/dumps/bank01.asm@Function44f2"
+ org $453e
+ "engine/dumps/bank01.asm@Function453e"
+ org $486a
+ "engine/dumps/bank01.asm@Function486a"
+ org $5007
+ "engine/dumps/bank01.asm@Function5007"
org $52f9
"engine/menu/main_menu.asm@Initialize new game WRAM"
org $53cc
diff --git a/shim.sym b/shim.sym
index 8ef9319..fadcd81 100644..100755
--- a/shim.sym
+++ b/shim.sym
@@ -12,9 +12,30 @@
01:DA83 wUnknownListLengthda83
01:DA84 wUnknownListda84
-01:40FD Function40fd
-01:5007 Function5007
-01:50B9 Function50b9
+01:4333 Function4333
+01:4334 Function4334
+01:4374 Function4374
+01:439e Function439e
+01:43c9 Function43c9
+01:4430 Function4430
+01:4452 Function4452
+01:4459 Function4459
+01:446c Function446c
+01:4495 Function4495
+01:4545 Table4545
+01:4678 Function4678
+01:45d4 Function45d4
+01:47b8 Function47b8
+01:484d Function484d
+01:4856 Function4856
+01:4859 Function4859
+01:485c Function485c
+01:485f Function485f
+01:4b65 Function4b65
+01:4b78 Function4b78
+01:4b88 Function4b88
+01:4baa Function4baa
+01:4bc9 Function4bc9
01:5190 _UpdateSprites
01:5190 Function5190
01:52F9 Function52f9
diff --git a/wram.asm b/wram.asm
index 6e70525..5814309 100644
--- a/wram.asm
+++ b/wram.asm
@@ -248,8 +248,9 @@ wVBCopyDst:: ds 2 ; cb65
wVBCopyDoubleSize:: ds 1 ; cb67
wVBCopyDoubleSrc:: ds 2 ; cb68
wVBCopyDoubleDst:: ds 2 ; cb6a
- ds 2
-wcb6e:: db
+wcb6c:: db ; cb6c
+wcb6d:: db ; cb6d
+wcb6e:: db ; cb6e
SECTION "CB71", WRAM0[$CB70]
@@ -788,9 +789,9 @@ wd266:: db ; d266
SECTION "D29A", WRAM0[$D29A]
wd29a:: db ; d29a
wd29b:: db ; d29b
- db ; d29c
+wd29c:: db ; d29c
wd29d:: db ; d29d
- db
+wd29e:: db ; d29e
db
wd2a0:: db ; d2a0