Merge pull request #244 from yenatch/drumkit

Magnet Train and drumkits.
This commit is contained in:
Bryan Bishop 2014-04-10 20:49:11 -05:00
commit 0b0db14435
2 changed files with 665 additions and 271 deletions

View File

@ -1293,7 +1293,7 @@ GetNoiseSample: ; e86c5
ld e, a ld e, a
ld d, $00 ld d, $00
; load ptr to noise sample set in hl ; load ptr to noise sample set in hl
ld hl, NoiseSampleSetsPointers ld hl, Drumkits
add hl, de add hl, de
add hl, de add hl, de
ld a, [hli] ld a, [hli]
@ -2813,306 +2813,305 @@ WaveSamples: ; e8db2
db $11, $00, $00, $08, $00, $13, $57, $9a, $b4, $ba, $a9, $98, $87, $65, $43, $21 db $11, $00, $00, $08, $00, $13, $57, $9a, $b4, $ba, $a9, $98, $87, $65, $43, $21
; e8e52 ; e8e52
NoiseSampleSetsPointers: ; e8e52 Drumkits: ; e8e52
dw NoiseSampleSets0 dw Drumkit0
dw NoiseSampleSets1 dw Drumkit1
dw NoiseSampleSets2 dw Drumkit2
dw NoiseSampleSets3 dw Drumkit3
dw NoiseSampleSets4 dw Drumkit4
dw NoiseSampleSets5 dw Drumkit5
; e8e5e ; e8e5e
NoiseSampleSets: Drumkit0: ; e8e5e
NoiseSampleSets0: ; e8e5e dw Drum00 ; rest
dw NoiseSampleSet00 ; rest dw Snare1 ; c
dw NoiseSampleSet01 ; c dw Snare2 ; c#
dw NoiseSampleSet02 ; c# dw Snare3 ; d
dw NoiseSampleSet03 ; d dw Snare4 ; d#
dw NoiseSampleSet04 ; d# dw Drum05 ; e
dw NoiseSampleSet05 ; e dw Triangle1 ; f
dw NoiseSampleSet06 ; f dw Triangle2 ; f#
dw NoiseSampleSet07 ; f# dw HiHat1 ; g
dw NoiseSampleSet08 ; g dw Snare5 ; g#
dw NoiseSampleSet09 ; g# dw Snare6 ; a
dw NoiseSampleSet10 ; a dw Snare7 ; a#
dw NoiseSampleSet11 ; a# dw HiHat2 ; b
dw NoiseSampleSet12 ; b Drumkit1: ; e8e78
NoiseSampleSets1: ; e8e78 dw Drum00
dw NoiseSampleSet00 dw HiHat1
dw NoiseSampleSet08 dw Snare5
dw NoiseSampleSet09 dw Snare6
dw NoiseSampleSet10 dw Snare7
dw NoiseSampleSet11 dw HiHat2
dw NoiseSampleSet12 dw HiHat3
dw NoiseSampleSet13 dw Snare8
dw NoiseSampleSet14 dw Triangle3
dw NoiseSampleSet15 dw Triangle4
dw NoiseSampleSet16 dw Snare9
dw NoiseSampleSet17 dw Snare10
dw NoiseSampleSet18 dw Snare11
dw NoiseSampleSet19 Drumkit2: ; e8e92
NoiseSampleSets2: ; e8e92 dw Drum00
dw NoiseSampleSet00 dw Snare1
dw NoiseSampleSet01 dw Snare9
dw NoiseSampleSet17 dw Snare10
dw NoiseSampleSet18 dw Snare11
dw NoiseSampleSet19 dw Drum05
dw NoiseSampleSet05 dw Triangle1
dw NoiseSampleSet06 dw Triangle2
dw NoiseSampleSet07 dw HiHat1
dw NoiseSampleSet08 dw Snare5
dw NoiseSampleSet09 dw Snare6
dw NoiseSampleSet10 dw Snare7
dw NoiseSampleSet11 dw HiHat2
dw NoiseSampleSet12 Drumkit3: ; e8eac
NoiseSampleSets3: ; e8eac dw Drum21
dw NoiseSampleSet21 dw Snare12
dw NoiseSampleSet22 dw Snare13
dw NoiseSampleSet23 dw Snare14
dw NoiseSampleSet24 dw Kick1
dw NoiseSampleSet25 dw Triangle5
dw NoiseSampleSet26 dw Drum20
dw NoiseSampleSet20 dw Drum27
dw NoiseSampleSet27 dw Drum28
dw NoiseSampleSet28 dw Drum29
dw NoiseSampleSet29 dw Drum21
dw NoiseSampleSet21 dw Kick2
dw NoiseSampleSet37 dw Crash2
dw NoiseSampleSet34 Drumkit4: ; e8ec6
NoiseSampleSets4: ; e8ec6 dw Drum21
dw NoiseSampleSet21 dw Drum20
dw NoiseSampleSet20 dw Snare13
dw NoiseSampleSet23 dw Snare14
dw NoiseSampleSet24 dw Kick1
dw NoiseSampleSet25 dw Drum33
dw NoiseSampleSet33 dw Triangle5
dw NoiseSampleSet26 dw Drum35
dw NoiseSampleSet35 dw Drum31
dw NoiseSampleSet31 dw Drum32
dw NoiseSampleSet32 dw Drum36
dw NoiseSampleSet36 dw Kick2
dw NoiseSampleSet37 dw Crash1
dw NoiseSampleSet30 Drumkit5: ; e8ee0
NoiseSampleSets5: ; e8ee0 dw Drum00
dw NoiseSampleSet00 dw Snare9
dw NoiseSampleSet17 dw Snare10
dw NoiseSampleSet18 dw Snare11
dw NoiseSampleSet19 dw Drum27
dw NoiseSampleSet27 dw Drum28
dw NoiseSampleSet28 dw Drum29
dw NoiseSampleSet29 dw Drum05
dw NoiseSampleSet05 dw Triangle1
dw NoiseSampleSet06 dw Crash1
dw NoiseSampleSet30 dw Snare14
dw NoiseSampleSet24 dw Snare13
dw NoiseSampleSet23 dw Kick2
dw NoiseSampleSet37
; e8efa ; e8efa
NoiseSampleSet00: ; e8efa Drum00: ; e8efa
; unused ; unused
db $20, $11, $00 noise $20, $11, $00
db $ff ; end db $ff ; end
; e8efe ; e8efe
NoiseSampleSet01: ; e8efe Snare1: ; e8efe
db $20, $c1, $33 noise $20, $c1, $33
db $ff ; end db $ff ; end
; e8f02 ; e8f02
NoiseSampleSet02: ; e8f02 Snare2: ; e8f02
db $20, $b1, $33 noise $20, $b1, $33
db $ff ; end db $ff ; end
; e8f06 ; e8f06
NoiseSampleSet03: ; e8f06 Snare3: ; e8f06
db $20, $a1, $33 noise $20, $a1, $33
db $ff ; end db $ff ; end
; e8f0a ; e8f0a
NoiseSampleSet04: ; e8f0a Snare4: ; e8f0a
db $20, $81, $33 noise $20, $81, $33
db $ff ; end db $ff ; end
; e8f0e ; e8f0e
NoiseSampleSet05: ; e8f0e Drum05: ; e8f0e
db $27, $84, $37 noise $27, $84, $37
db $26, $84, $36 noise $26, $84, $36
db $25, $83, $35 noise $25, $83, $35
db $24, $83, $34 noise $24, $83, $34
db $23, $82, $33 noise $23, $82, $33
db $22, $81, $32 noise $22, $81, $32
db $ff ; end db $ff ; end
; e8f21 ; e8f21
NoiseSampleSet06: ; e8f21 Triangle1: ; e8f21
db $20, $51, $2a noise $20, $51, $2a
db $ff ; end db $ff ; end
; e8f25 ; e8f25
NoiseSampleSet07: ; e8f25 Triangle2: ; e8f25
db $21, $41, $2b noise $21, $41, $2b
db $20, $61, $2a noise $20, $61, $2a
db $ff ; end db $ff ; end
; e8f2c ; e8f2c
NoiseSampleSet08: ; e8f2c HiHat1: ; e8f2c
db $20, $81, $10 noise $20, $81, $10
db $ff ; end db $ff ; end
; e8f30 ; e8f30
NoiseSampleSet09: ; e8f30 Snare5: ; e8f30
db $20, $82, $23 noise $20, $82, $23
db $ff ; end db $ff ; end
; e8f34 ; e8f34
NoiseSampleSet10: ; e8f34 Snare6: ; e8f34
db $20, $82, $25 noise $20, $82, $25
db $ff ; end db $ff ; end
; e8f38 ; e8f38
NoiseSampleSet11: ; e8f38 Snare7: ; e8f38
db $20, $82, $26 noise $20, $82, $26
db $ff ; end db $ff ; end
; e8f3c ; e8f3c
NoiseSampleSet12: ; e8f3c HiHat2: ; e8f3c
db $20, $a1, $10 noise $20, $a1, $10
db $ff ; end db $ff ; end
; e8f40 ; e8f40
NoiseSampleSet13: ; e8f40 HiHat3: ; e8f40
db $20, $a2, $11 noise $20, $a2, $11
db $ff ; end db $ff ; end
; e8f44 ; e8f44
NoiseSampleSet14: ; e8f44 Snare8: ; e8f44
db $20, $a2, $50 noise $20, $a2, $50
db $ff ; end db $ff ; end
; e8f48 ; e8f48
NoiseSampleSet15: ; e8f48 Triangle3: ; e8f48
db $20, $a1, $18 noise $20, $a1, $18
db $20, $31, $33 noise $20, $31, $33
db $ff ; end db $ff ; end
; e8f4f ; e8f4f
NoiseSampleSet16: ; e8f4f Triangle4: ; e8f4f
db $22, $91, $28 noise $22, $91, $28
db $20, $71, $18 noise $20, $71, $18
db $ff ; end db $ff ; end
; e8f56 ; e8f56
NoiseSampleSet17: ; e8f56 Snare9: ; e8f56
db $20, $91, $22 noise $20, $91, $22
db $ff ; end db $ff ; end
; e8f5a ; e8f5a
NoiseSampleSet18: ; e8f5a Snare10: ; e8f5a
db $20, $71, $22 noise $20, $71, $22
db $ff ; end db $ff ; end
; e8f5e ; e8f5e
NoiseSampleSet19: ; e8f5e Snare11: ; e8f5e
db $20, $61, $22 noise $20, $61, $22
db $ff ; end db $ff ; end
; e8f62 ; e8f62
NoiseSampleSet20: ; e8f62 Drum20: ; e8f62
db $20, $11, $11 noise $20, $11, $11
db $ff ; end db $ff ; end
; e8f66 ; e8f66
NoiseSampleSet21: ; e8f66 Drum21: ; e8f66
db $ff db $ff
; e8f67 ; e8f67
NoiseSampleSet22: ; e8f67 Snare12: ; e8f67
db $20, $91, $33 noise $20, $91, $33
db $ff ; end db $ff ; end
; e8f6b ; e8f6b
NoiseSampleSet23: ; e8f6b Snare13: ; e8f6b
db $20, $51, $32 noise $20, $51, $32
db $ff ; end db $ff ; end
; e8f6f ; e8f6f
NoiseSampleSet24: ; e8f6f Snare14: ; e8f6f
db $20, $81, $31 noise $20, $81, $31
db $ff ; end db $ff ; end
; e8f73 ; e8f73
NoiseSampleSet25: ; e8f73 Kick1: ; e8f73
db $20, $88, $6b noise $20, $88, $6b
db $20, $71, $00 noise $20, $71, $00
db $ff ; end db $ff ; end
; e8f7a ; e8f7a
NoiseSampleSet26: ; e8f7a Triangle5: ; e8f7a
db $30, $91, $18 noise $30, $91, $18
db $ff ; end db $ff ; end
; e8f7e ; e8f7e
NoiseSampleSet27: ; e8f7e Drum27: ; e8f7e
db $27, $92, $10 noise $27, $92, $10
db $ff ; end db $ff ; end
; e8f82 ; e8f82
NoiseSampleSet28: ; e8f82 Drum28: ; e8f82
db $33, $91, $00 noise $33, $91, $00
db $33, $11, $00 noise $33, $11, $00
db $ff ; end db $ff ; end
; e8f89 ; e8f89
NoiseSampleSet29: ; e8f89 Drum29: ; e8f89
db $33, $91, $11 noise $33, $91, $11
db $33, $11, $00 noise $33, $11, $00
db $ff ; end db $ff ; end
; e8f90 ; e8f90
NoiseSampleSet30: ; e8f90 Crash1: ; e8f90
db $33, $88, $15 noise $33, $88, $15
db $20, $65, $12 noise $20, $65, $12
db $ff ; end db $ff ; end
; e8f97 ; e8f97
NoiseSampleSet31: ; e8f97 Drum31: ; e8f97
db $33, $51, $21 noise $33, $51, $21
db $33, $11, $11 noise $33, $11, $11
db $ff ; end db $ff ; end
; e8f9e ; e8f9e
NoiseSampleSet32: ; e8f9e Drum32: ; e8f9e
db $33, $51, $50 noise $33, $51, $50
db $33, $11, $11 noise $33, $11, $11
db $ff ; end db $ff ; end
; e8fa5 ; e8fa5
NoiseSampleSet33: ; e8fa5 Drum33: ; e8fa5
db $20, $a1, $31 noise $20, $a1, $31
db $ff ; end db $ff ; end
; e8fa9 ; e8fa9
NoiseSampleSet34: ; e8fa9 Crash2: ; e8fa9
db $20, $84, $12 noise $20, $84, $12
db $ff ; end db $ff ; end
; e8fad ; e8fad
NoiseSampleSet35: ; e8fad Drum35: ; e8fad
db $33, $81, $00 noise $33, $81, $00
db $33, $11, $00 noise $33, $11, $00
db $ff ; end db $ff ; end
; e8fb4 ; e8fb4
NoiseSampleSet36: ; e8fb4 Drum36: ; e8fb4
db $33, $81, $21 noise $33, $81, $21
db $33, $11, $11 noise $33, $11, $11
db $ff ; end db $ff ; end
; e8fbb ; e8fbb
NoiseSampleSet37: ; e8fbb Kick2: ; e8fbb
db $20, $a8, $6b noise $20, $a8, $6b
db $20, $71, $00 noise $20, $71, $00
db $ff ; end db $ff ; end
; e8fc2 ; e8fc2

567
main.asm
View File

@ -71188,12 +71188,12 @@ Function8c5dc: ; 8c5dc (23:45dc)
call DelayFrame call DelayFrame
jr Function8c673 jr Function8c673
.asm_8c639 .asm_8c639
ld hl, $46a1 ld hl, Unknown_8c6a1
ld a, [TimeOfDayPal] ; $d841 ld a, [TimeOfDayPal] ; $d841
and $3 and 3
cp $3 cp 3
jr nz, .asm_8c648 jr nz, .asm_8c648
ld hl, $46a9 ld hl, Unknown_8c6a9
.asm_8c648 .asm_8c648
ld a, [rSVBK] ; $ff00+$70 ld a, [rSVBK] ; $ff00+$70
push af push af
@ -71243,16 +71243,33 @@ Function8c698: ; 8c698 (23:4698)
ret ret
; 8c6a1 (23:46a1) ; 8c6a1 (23:46a1)
INCBIN "baserom.gbc",$8c6a1,$8c6b1 - $8c6a1 Unknown_8c6a1: ; 8c6a1
RGB 31, 18, 29
RGB 31, 11, 15
RGB 31, 05, 05
RGB 07, 07, 07
; 8c6a9
Unknown_8c6a9: ; 8c6a9
RGB 31, 18, 29
RGB 31, 05, 05
RGB 31, 05, 05
RGB 31, 05, 05
; 8c6b1
; known jump sources: 8c5fa (23:45fa) ; known jump sources: 8c5fa (23:45fa)
Function8c6b1: ; 8c6b1 (23:46b1) Function8c6b1: ; 8c6b1 (23:46b1)
ld a, [OtherTrainerClass] ; $d22f ld a, [OtherTrainerClass] ; $d22f
ld de, $46b8 ld de, Unknown_8c6b8
ret ret
; 8c6b8 (23:46b8) ; 8c6b8 (23:46b8)
INCBIN "baserom.gbc",$8c6b8,$8c6d8 - $8c6b8 Unknown_8c6b8: ; 8c6b8
db $03, $c0, $0f, $f0, $3c, $3c, $30, $0c
db $60, $06, $63, $c6, $c6, $63, $fc, $3f
db $fc, $3f, $c6, $63, $63, $c6, $60, $06
db $30, $0c, $3c, $3c, $0f, $f0, $03, $c0
; 8c6d8
Function8c6d8: ; 8c6d8 Function8c6d8: ; 8c6d8
ld a, [rSVBK] ld a, [rSVBK]
@ -71299,14 +71316,14 @@ Function8c6f7: ; 8c6f7 (23:46f7)
Function8c70c: ; 8c70c (23:470c) Function8c70c: ; 8c70c (23:470c)
ld e, a ld e, a
ld a, d ld a, d
ld d, $0 ld d, 0
ld hl, $4728 ld hl, Unknown_8c728
add hl, de add hl, de
add hl, de add hl, de
ld e, [hl] ld e, [hl]
inc hl inc hl
ld d, [hl] ld d, [hl]
ld hl, $0 ld hl, 0
.asm_8c71b .asm_8c71b
srl a srl a
jr nc, .asm_8c720 jr nc, .asm_8c720
@ -71319,12 +71336,19 @@ Function8c70c: ; 8c70c (23:470c)
ret ret
; 8c728 (23:4728) ; 8c728 (23:4728)
INCBIN "baserom.gbc",$8c728,$8c768 - $8c728 Unknown_8c728: ; 8c728
; Another sine wave?
x set 0
rept $20
dw (sin(x) + (sin(x) & $ff)) >> 8 ; round up
x set x + $100 * $40000
endr
; 8c768
; no known jump sources ; no known jump sources
Function8c768: ; 8c768 (23:4768) Function8c768: ; 8c768 (23:4768)
callba Function5602 callba Function5602
ld de, $4792 ld de, Unknown_8c792
.asm_8c771 .asm_8c771
ld a, [de] ld a, [de]
cp $ff cp $ff
@ -71351,7 +71375,18 @@ Function8c768: ; 8c768 (23:4768)
ret ret
; 8c792 (23:4792) ; 8c792 (23:4792)
INCBIN "baserom.gbc",$8c792,$8c7b7 - $8c792 Unknown_8c792: ; 8c792
dbbw 4, 2, $c548 ; (8, 8)
dbbw 6, 4, $c533 ; (7, 7)
dbbw 8, 6, $c51e ; (6, 6)
dbbw 10, 8, $c509 ; (5, 5)
dbbw 12, 10, $c4f4 ; (4, 4)
dbbw 14, 12, $c4df ; (3, 3)
dbbw 16, 14, $c4ca ; (2, 2)
dbbw 18, 16, $c4b5 ; (1, 1)
dbbw 20, 18, $c4a0 ; (0, 0)
db $ff
; 8c7b7
; known jump sources: 8c784 (23:4784) ; known jump sources: 8c784 (23:4784)
Function8c7b7: ; 8c7b7 (23:47b7) Function8c7b7: ; 8c7b7 (23:47b7)
@ -71372,11 +71407,18 @@ Function8c7b7: ; 8c7b7 (23:47b7)
ret ret
; 8c7c9 (23:47c9) ; 8c7c9 (23:47c9)
INCBIN "baserom.gbc",$8c7c9,$8c7d4 - $8c7c9 Function8c7c9: ; 8c7c9
ld a, $1
ld [hBGMapMode], a
call WaitBGMap
xor a
ld [hBGMapMode], a
ret
; 8c7d4
Function8c7d4: ; 8c7d4 Function8c7d4: ; 8c7d4
call WaitSFX call WaitSFX
ld de, $0053 ld de, SFX_SURF
call PlaySFX call PlaySFX
call WaitSFX call WaitSFX
ret ret
@ -71397,13 +71439,13 @@ Function8c7e1: ; 8c7e1
Function8c80a: ; 8c80a Function8c80a: ; 8c80a
callba Function8cf53 callba Function8cf53
ld de, $49cc ld de, GFX_8c9cc
ld hl, VTiles1 ld hl, VTiles1
ld bc, $2304 lb bc, BANK(GFX_8c9cc), 4
call Request2bpp call Request2bpp
ld de, $4893 ld de, HeadbuttTreeGFX
ld hl, $8840 ld hl, $8840
ld bc, $2308 lb bc, BANK(HeadbuttTreeGFX), 8
call Request2bpp call Request2bpp
call Function8cad3 call Function8cad3
ld a, $1b ld a, $1b
@ -71418,7 +71460,7 @@ Function8c80a: ; 8c80a
ld a, $20 ld a, $20
ld [$cf64], a ld [$cf64], a
call WaitSFX call WaitSFX
ld de, $006d ld de, SFX_SANDSTORM
call PlaySFX call PlaySFX
.asm_8c852 .asm_8c852
ld hl, $cf64 ld hl, $cf64
@ -71442,15 +71484,17 @@ Function8c80a: ; 8c80a
ld bc, $0010 ld bc, $0010
xor a xor a
call ByteFill call ByteFill
ld de, $4200 ld de, Font
ld hl, VTiles1 ld hl, VTiles1
ld bc, $3e0c lb bc, BANK(Font), $c
call Get1bpp call Get1bpp
call Functione4a call Functione4a
ret ret
; 8c893 ; 8c893
HeadbuttTreeGFX: ; 8c893
INCBIN "baserom.gbc", $8c893, $8c913 - $8c893 INCBIN "baserom.gbc", $8c893, $8c913 - $8c893
; 8c913
Function8c913: ; 8c913 Function8c913: ; 8c913
xor a xor a
@ -71459,8 +71503,8 @@ Function8c913: ; 8c913
and $c and $c
srl a srl a
ld e, a ld e, a
ld d, $0 ld d, 0
ld hl, $4938 ld hl, Unknown_8c938
add hl, de add hl, de
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
@ -71478,7 +71522,12 @@ Function8c913: ; 8c913
ret ret
; 8c938 ; 8c938
INCBIN "baserom.gbc", $8c938, $8c940 - $8c938 Unknown_8c938: ; 8c938
dw $c570 ; ( 8, 10)
dw $c520 ; ( 8, 6)
dw $c546 ; ( 6, 8)
dw $c54a ; (10, 8)
; 8c940
Function8c940: ; 8c940 Function8c940: ; 8c940
ld a, e ld a, e
@ -71486,7 +71535,7 @@ Function8c940: ; 8c940
ld [$cf63], a ld [$cf63], a
call Function8c96d call Function8c96d
call WaitSFX call WaitSFX
ld de, $001e ld de, SFX_PLACE_PUZZLE_PIECE_DOWN
call PlaySFX call PlaySFX
.asm_8c952 .asm_8c952
ld a, [$cf63] ld a, [$cf63]
@ -71505,18 +71554,24 @@ Function8c940: ; 8c940
Function8c96d: ; 8c96d Function8c96d: ; 8c96d
callab Function8cf53 callab Function8cf53
ld de, $49cc ld de, GFX_8c9cc
ld hl, VTiles1 ld hl, VTiles1
ld bc, $2304 lb bc, BANK(GFX_8c9cc), 4
call Request2bpp call Request2bpp
ld de, $498c ld de, CutTreeGFX
ld hl, $8840 ld hl, $8840
ld bc, $2304 lb bc, BANK(CutTreeGFX), 4
call Request2bpp call Request2bpp
ret ret
; 8c98c ; 8c98c
INCBIN "baserom.gbc",$8c98c,$8ca0c - $8c98c CutTreeGFX: ; c898c
INCBIN "baserom.gbc", $8c98c, $8c9cc - $8c98c
; c89cc
GFX_8c9cc: ; 8c9cc
INCBIN "baserom.gbc", $8c9cc, $8ca0c - $8c9cc
; 8ca0c
Function8ca0c: ; 8ca0c Function8ca0c: ; 8ca0c
ld a, [$cf63] ld a, [$cf63]
@ -71628,7 +71683,7 @@ Function8ca8e: ; 8ca8e (23:4a8e)
and $c and $c
add e add e
ld e, a ld e, a
ld hl, $4ab3 ld hl, Unknown_8cab3
add hl, de add hl, de
add hl, de add hl, de
ld e, [hl] ld e, [hl]
@ -71637,7 +71692,24 @@ Function8ca8e: ; 8ca8e (23:4a8e)
ret ret
; 8cab3 (23:4ab3) ; 8cab3 (23:4ab3)
INCBIN "baserom.gbc",$8cab3,$8cad3 - $8cab3 Unknown_8cab3: ; 8cab3
db $58, $60
db $48, $60
db $58, $70
db $48, $70
db $58, $40
db $48, $40
db $58, $50
db $48, $50
db $38, $60
db $48, $60
db $38, $50
db $48, $50
db $58, $60
db $68, $60
db $58, $50
db $68, $50
; 8cad3
; known jump sources: 8ca23 (23:4a23) ; known jump sources: 8ca23 (23:4a23)
Function8cad3: ; 8cad3 (23:4ad3) Function8cad3: ; 8cad3 (23:4ad3)
@ -71645,8 +71717,8 @@ Function8cad3: ; 8cad3 (23:4ad3)
and $c and $c
srl a srl a
ld e, a ld e, a
ld d, $0 ld d, 0
ld hl, $4ae5 ld hl, Unknown_8cae5
add hl, de add hl, de
ld e, [hl] ld e, [hl]
inc hl inc hl
@ -71654,7 +71726,12 @@ Function8cad3: ; 8cad3 (23:4ad3)
ret ret
; 8cae5 (23:4ae5) ; 8cae5 (23:4ae5)
INCBIN "baserom.gbc",$8cae5,$8caed - $8cae5 Unknown_8cae5: ; 8cae5
db $50, $68
db $50, $48
db $40, $58
db $60, $58
; 8caed
Function8caed: ; 8caed Function8caed: ; 8caed
call DelayFrame call DelayFrame
@ -71756,7 +71833,7 @@ Function8cb9b: ; 8cb9b (23:4b9b)
ld a, [CurPartyMon] ; $d109 ld a, [CurPartyMon] ; $d109
ld hl, PartySpecies ; $dcd8 ld hl, PartySpecies ; $dcd8
ld e, a ld e, a
ld d, $0 ld d, 0
add hl, de add hl, de
ld a, [hl] ld a, [hl]
ld [$d265], a ld [$d265], a
@ -71778,7 +71855,7 @@ Function8cbc8: ; 8cbc8 (23:4bc8)
ret c ret c
and $7 and $7
ret nz ret nz
ld de, $18 ld de, SFX_FLY
call PlaySFX call PlaySFX
ret ret
.asm_8cbe0 .asm_8cbe0
@ -71925,8 +72002,8 @@ Function8ccc9: ; 8ccc9
call ClearSprites call ClearSprites
call DisableLCD call DisableLCD
callab Function8cf53 callab Function8cf53
call Function8cdc3 call SetMagnetTrainPals
call Function8cd27 call DrawMagnetTrain
ld a, $90 ld a, $90
ld [hWY], a ld [hWY], a
call EnableLCD call EnableLCD
@ -71964,61 +72041,59 @@ Function8ccc9: ; 8ccc9
ret ret
; 8cd27 ; 8cd27
Function8cd27: ; 8cd27 DrawMagnetTrain: ; 8cd27
ld hl, VBGMap0 ld hl, VBGMap0
xor a xor a
.asm_8cd2b .asm_8cd2b
call Function8cd74 call GetMagnetTrainBGTiles
ld b, $10 ld b, 32 / 2
call Function8cd6c call .FillAlt
inc a inc a
cp $12 cp $12
jr c, .asm_8cd2b jr c, .asm_8cd2b
ld hl, $98c0 ld hl, $98c0
ld de, $4eff ld de, MagnetTrainTilemap1
ld c, $14 ld c, 20
call Function8cd65 call .FillLine
ld hl, $98e0 ld hl, $98e0
ld de, $4f13 ld de, MagnetTrainTilemap2
ld c, $14 ld c, 20
call Function8cd65 call .FillLine
ld hl, $9900 ld hl, $9900
ld de, $4f27 ld de, MagnetTrainTilemap3
ld c, $14 ld c, 20
call Function8cd65 call .FillLine
ld hl, $9920 ld hl, $9920
ld de, $4f3b ld de, MagnetTrainTilemap4
ld c, $14 ld c, 20
call Function8cd65 call .FillLine
ret ret
; 8cd65 ; 8cd65
Function8cd65: ; 8cd65 .FillLine ; 8cd65
.asm_8cd65
ld a, [de] ld a, [de]
inc de inc de
ld [hli], a ld [hli], a
dec c dec c
jr nz, .asm_8cd65 jr nz, .FillLine
ret ret
; 8cd6c ; 8cd6c
Function8cd6c: ; 8cd6c .FillAlt ; 8cd6c
.asm_8cd6c
ld [hl], e ld [hl], e
inc hl inc hl
ld [hl], d ld [hl], d
inc hl inc hl
dec b dec b
jr nz, .asm_8cd6c jr nz, .FillAlt
ret ret
; 8cd74 ; 8cd74
Function8cd74: ; 8cd74 GetMagnetTrainBGTiles: ; 8cd74
push hl push hl
ld e, a ld e, a
ld d, $0 ld d, 0
ld hl, $4d82 ld hl, MagnetTrainBGTiles
add hl, de add hl, de
add hl, de add hl, de
ld e, [hl] ld e, [hl]
@ -72028,7 +72103,28 @@ Function8cd74: ; 8cd74
ret ret
; 8cd82 ; 8cd82
INCBIN "baserom.gbc",$8cd82,$8cda6 - $8cd82 MagnetTrainBGTiles: ; 8cd82
; Alternating tiles for each line
; of the Magnet Train tilemap.
db $4c, $4d ; bush
db $5c, $5d ; bush
db $4c, $4d ; bush
db $5c, $5d ; bush
db $08, $08 ; fence
db $18, $18 ; fence
db $1f, $1f ; track
db $31, $31 ; track
db $11, $11 ; track
db $11, $11 ; track
db $0d, $0d ; track
db $31, $31 ; track
db $04, $04 ; fence
db $18, $18 ; fence
db $4c, $4d ; bush
db $5c, $5d ; bush
db $4c, $4d ; bush
db $5c, $5d ; bush
; 8cda6
Function8cda6: ; 8cda6 Function8cda6: ; 8cda6
ld hl, LYOverrides ld hl, LYOverrides
@ -72044,25 +72140,34 @@ Function8cda6: ; 8cda6
ret ret
; 8cdc3 ; 8cdc3
Function8cdc3: ; 8cdc3 SetMagnetTrainPals: ; 8cdc3
ld a, $1 ld a, $1
ld [rVBK], a ld [rVBK], a
; bushes
ld hl, VBGMap0 ld hl, VBGMap0
ld bc, $0080 ld bc, $0080
ld a, $2 ld a, $2
call ByteFill call ByteFill
; train
ld hl, $9880 ld hl, $9880
ld bc, $0140 ld bc, $0140
xor a xor a
call ByteFill call ByteFill
; more bushes
ld hl, $99c0 ld hl, $99c0
ld bc, $0080 ld bc, $0080
ld a, $2 ld a, $2
call ByteFill call ByteFill
; train window
ld hl, $9907 ld hl, $9907
ld bc, $0006 ld bc, $0006
ld a, $4 ld a, $4
call ByteFill call ByteFill
ld a, $0 ld a, $0
ld [rVBK], a ld [rVBK], a
ret ret
@ -72071,8 +72176,8 @@ Function8cdc3: ; 8cdc3
Function8cdf7: ; 8cdf7 Function8cdf7: ; 8cdf7
ld a, [$cf63] ld a, [$cf63]
ld e, a ld e, a
ld d, $0 ld d, 0
ld hl, $4e06 ld hl, Jumptable_8ce06
add hl, de add hl, de
add hl, de add hl, de
ld a, [hli] ld a, [hli]
@ -72081,7 +72186,124 @@ Function8cdf7: ; 8cdf7
jp [hl] jp [hl]
; 8ce06 ; 8ce06
INCBIN "baserom.gbc",$8ce06,$8ceae - $8ce06 Jumptable_8ce06: ; 8ce06
dw Function8ce19
dw Function8ce6d
dw Function8ce47
dw Function8ce6d
dw Function8ce7a
dw Function8ce6d
dw Function8cea2
; 8ce14
Function8ce14: ; 8ce14
ld hl, $cf63
inc [hl]
ret
; 8ce19
Function8ce19: ; 8ce19
ld d, $55
ld a, [$d195]
ld e, a
ld b, $15
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
ld a, [PlayerGender]
bit 0, a
jr z, .asm_8ce31
ld b, $1f
.asm_8ce31
pop af
ld [rSVBK], a
ld a, b
call Function3b2a
ld hl, $0003
add hl, bc
ld [hl], $0
call Function8ce14
ld a, $80
ld [$cf66], a
ret
; 8ce47
Function8ce47: ; 8ce47
ld hl, $d193
ld a, [$cf65]
cp [hl]
jr z, .asm_8ce64
ld e, a
ld a, [$d191]
xor $ff
inc a
add e
ld [$cf65], a
ld hl, $c3c0
ld a, [$d191]
add [hl]
ld [hl], a
ret
.asm_8ce64
call Function8ce14
ld a, $80
ld [$cf66], a
ret
; 8ce6d
Function8ce6d: ; 8ce6d
ld hl, $cf66
ld a, [hl]
and a
jr z, .asm_8ce76
dec [hl]
ret
.asm_8ce76
call Function8ce14
ret
; 8ce7a
Function8ce7a: ; 8ce7a
ld hl, $d194
ld a, [$cf65]
cp [hl]
jr z, .asm_8ce9e
ld e, a
ld a, [$d191]
xor $ff
inc a
ld d, a
ld a, e
add d
add d
ld [$cf65], a
ld hl, $c3c0
ld a, [$d191]
ld d, a
ld a, [hl]
add d
add d
ld [hl], a
ret
ret
.asm_8ce9e
call Function8ce14
ret
; 8cea2
Function8cea2: ; 8cea2
ld a, $80
ld [$cf63], a
ld de, SFX_TRAIN_ARRIVED
call PlaySFX
ret
; 8ceae
Function8ceae: ; 8ceae Function8ceae: ; 8ceae
callba Function8cf69 callba Function8cf69
@ -72120,7 +72342,11 @@ Function8ceae: ; 8ceae
ret ret
; 8ceff ; 8ceff
INCBIN "baserom.gbc",$8ceff,$8cf4f - $8ceff MagnetTrainTilemap1: db $1f, $05, $06, $0a, $0a, $0a, $09, $0a, $0a, $0a, $0a, $0a, $0a, $09, $0a, $0a, $0a, $0b, $0c, $1f
MagnetTrainTilemap2: db $14, $15, $16, $1a, $1a, $1a, $19, $1a, $1a, $1a, $1a, $1a, $1a, $19, $1a, $1a, $1a, $1b, $1c, $1d
MagnetTrainTilemap3: db $24, $25, $26, $27, $07, $2f, $29, $28, $28, $28, $28, $28, $28, $29, $07, $2f, $2a, $2b, $2c, $2d
MagnetTrainTilemap4: db $20, $1f, $2e, $1f, $17, $00, $2e, $1f, $1f, $1f, $1f, $1f, $1f, $2e, $17, $00, $1f, $2e, $1f, $0f
; 8cf4f
Function8cf4f: ; 8cf4f Function8cf4f: ; 8cf4f
call Function3238 call Function3238
@ -72147,8 +72373,6 @@ Function8cf62: ; 8cf62
ret ret
; 8cf69 ; 8cf69
Function8cf69: ; 8cf69 Function8cf69: ; 8cf69
push hl push hl
push de push de
@ -72619,7 +72843,7 @@ Function8d24b: ; 8d24b
add hl, bc add hl, bc
ld e, [hl] ld e, [hl]
ld d, $0 ld d, $0
ld hl, $525b ld hl, Jumptable_8d25b
add hl, de add hl, de
add hl, de add hl, de
ld a, [hli] ld a, [hli]
@ -72748,7 +72972,62 @@ Function8d302: ; 8d302 (23:5302)
jp [hl] jp [hl]
; 8d306 (23:5306) ; 8d306 (23:5306)
INCBIN "baserom.gbc",$8d306,$8d35a - $8d306 ; Anonymous jumptable (see Function8d6c5)
dw Function8d30a
dw Function8d321
; 8d30a
Function8d30a: ; 8d30a
call Function8d6d8
ld hl, $0000
add hl, bc
ld a, [hl]
ld hl, $000d
add hl, bc
and $3
ld [hl], a
inc [hl]
swap a
ld hl, $000c
add hl, bc
ld [hl], a
Function8d321: ; 8d321
ld hl, $0004
add hl, bc
ld a, [hl]
cp $a4
jr nc, .asm_8d356
ld hl, $000d
add hl, bc
add $4
ld hl, $0004
add hl, bc
ld [hl], a
ld hl, $0005
add hl, bc
inc [hl]
ld hl, $000d
add hl, bc
ld a, [hl]
sla a
sla a
ld d, $2
ld hl, $000c
add hl, bc
ld a, [hl]
add $3
ld [hl], a
call Function8d6de
ld hl, $0007
add hl, bc
ld [hl], a
ret
.asm_8d356
call Function8d036
ret
; 8d35a
; no known jump sources ; no known jump sources
Function8d35a: ; 8d35a (23:535a) Function8d35a: ; 8d35a (23:535a)
@ -72925,7 +73204,7 @@ Function8d43e: ; 8d43e (23:543e)
call Function8d036 call Function8d036
ld a, $4 ld a, $4
ld [$cf64], a ld [$cf64], a
ld de, $1e ld de, SFX_PLACE_PUZZLE_PIECE_DOWN
call PlaySFX call PlaySFX
ret ret
.asm_8d461 .asm_8d461
@ -72960,7 +73239,119 @@ Function8d483: ; 8d483 (23:5483)
jp [hl] jp [hl]
; 8d487 (23:5487) ; 8d487 (23:5487)
INCBIN "baserom.gbc",$8d487,$8d52a - $8d487 ; Anonymous jumptable (see Function8d6c5)
dw Function8d493
dw Function8d4d5
dw Function8d4a5
dw Function8d4b8
dw Function8d4e8
dw Function8d526
; 8d493
Function8d493: ; 8d493
ld a, $14
call Function8d120
ld hl, $000b
add hl, bc
ld [hl], $2
ld hl, $000c
add hl, bc
ld [hl], $20
ret
; 8d4a5
Function8d4a5: ; 8d4a5
ld hl, $000c
add hl, bc
ld a, [hl]
and a
jr z, .asm_8d4af
dec [hl]
ret
.asm_8d4af
call Function8d6d8
ld hl, $000c
add hl, bc
ld [hl], $40
Function8d4b8: ; 8d4b8
ld hl, $000c
add hl, bc
ld a, [hl]
cp $30
jr c, .asm_8d4cd
dec [hl]
ld d, $28
call Function8d6de
ld hl, $0007
add hl, bc
ld [hl], a
ret
.asm_8d4cd
ld de, SFX_GOT_SAFARI_BALLS
call PlaySFX
jr Function8d526
; 8d4d5
Function8d4d5: ; 8d4d5
ld hl, $000b
add hl, bc
ld [hl], $4
ld hl, $000c
add hl, bc
ld [hl], $30
ld hl, $000d
add hl, bc
ld [hl], $24
ret
; 8d4e8
Function8d4e8: ; 8d4e8
ld hl, $000d
add hl, bc
ld a, [hl]
and a
jr z, .asm_8d51c
ld d, a
ld hl, $000c
add hl, bc
ld a, [hl]
call Function8e72c
ld hl, $0007
add hl, bc
ld [hl], a
ld hl, $000c
add hl, bc
inc [hl]
ld a, [hl]
and $3f
ret nz
ld hl, $000c
add hl, bc
ld [hl], $20
ld hl, $000d
add hl, bc
ld a, [hl]
sub $c
ld [hl], a
ld de, SFX_SWITCH_POKEMON
call PlaySFX
ret
.asm_8d51c
xor a
ld hl, $0007
add hl, bc
ld [hl], a
call Function8d6d8
ret
Function8d526: ; 8d526
call Function8d036
ret
; 8d52a
; no known jump sources ; no known jump sources
Function8d52a: ; 8d52a (23:552a) Function8d52a: ; 8d52a (23:552a)
@ -72973,7 +73364,7 @@ Function8d52a: ; 8d52a (23:552a)
jr nc, .asm_8d53f jr nc, .asm_8d53f
and $3 and $3
ret nz ret nz
ld de, $3 ld de, SFX_POKEBALLS_PLACED_ON_TABLE
call PlaySFX call PlaySFX
ret ret
.asm_8d53f .asm_8d53f
@ -73277,7 +73668,12 @@ Function8d6c5: ; 8d6c5 (23:56c5)
ret ret
; 8d6d8 (23:56d8) ; 8d6d8 (23:56d8)
INCBIN "baserom.gbc",$8d6d8,$8d6de - $8d6d8 Function8d6d8: ; 8d6d8
ld hl, $000b
add hl, bc
inc [hl]
ret
; 8d6de
; known jump sources: 8d363 (23:5363), 8d39c (23:539c), 8d3d7 (23:53d7), 8d465 (23:5465), 8d561 (23:5561), 8d59d (23:559d), 8d658 (23:5658), 8d677 (23:5677), 8d68f (23:568f) ; known jump sources: 8d363 (23:5363), 8d39c (23:539c), 8d3d7 (23:53d7), 8d465 (23:5465), 8d561 (23:5561), 8d59d (23:559d), 8d658 (23:5658), 8d677 (23:5677), 8d68f (23:568f)
Function8d6de: ; 8d6de (23:56de) Function8d6de: ; 8d6de (23:56de)
@ -74353,15 +74749,14 @@ Function902c9: ; 902c9
; no known jump sources ; no known jump sources
Function902e3: ; 902e3 (24:42e3) Function902e3: ; 902e3 (24:42e3)
ld de, $6c ld de, SFX_NO_SIGNAL
call PlaySFX call PlaySFX
jr asm_902f1 jr Function902f1
Function902eb:: ; 902eb Function902eb:: ; 902eb
call Function9031d call Function9031d
call Function90355 call Function90355
asm_902f1: Function902f1:
call Function9032f call Function9032f
call Function90355 call Function90355
call Function9033b call Function9033b
@ -75151,7 +75546,7 @@ Function90b8d: ; 90b8d (24:4b8d)
call DelayFrame call DelayFrame
jr .asm_90ba9 jr .asm_90ba9
.asm_90bc4 .asm_90bc4
ld de, $8 ld de, SFX_READ_TEXT_2
call PlaySFX call PlaySFX
call WaitSFX call WaitSFX
pop af pop af
@ -87981,13 +88376,13 @@ INCBIN "gfx/misc/footprints.w128.1bpp"
INCBIN "baserom.gbc", $fb434, $fb449 - $fb434 INCBIN "baserom.gbc", $fb434, $fb449 - $fb434
Functionfb449:: ; fb449 Functionfb449:: ; fb449
ld de, $4200 ld de, Font
ld hl, VTiles1 ld hl, VTiles1
ld bc, Function3e80 ld bc, Function3e80
ld a, [rLCDC] ld a, [rLCDC]
bit 7, a bit 7, a
jp z, Copy1bpp jp z, Copy1bpp
ld de, $4200 ld de, Font
ld hl, VTiles1 ld hl, VTiles1
ld bc, $3e20 ld bc, $3e20
call Functionddc call Functionddc