mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
1230 lines
14 KiB
NASM
1230 lines
14 KiB
NASM
|
ClearBox: ; fb6
|
||
|
; Fill a c*b box at hl with blank tiles.
|
||
|
|
||
|
ld a, " "
|
||
|
.y
|
||
|
push bc
|
||
|
push hl
|
||
|
.x
|
||
|
ld [hli], a
|
||
|
dec c
|
||
|
jr nz, .x
|
||
|
pop hl
|
||
|
ld bc, 20 ; screen width
|
||
|
add hl, bc
|
||
|
pop bc
|
||
|
dec b
|
||
|
jr nz, .y
|
||
|
ret
|
||
|
; fc8
|
||
|
|
||
|
|
||
|
ClearTileMap: ; fc8
|
||
|
; Fill TileMap with blank tiles.
|
||
|
|
||
|
ld hl, TileMap
|
||
|
ld a, " "
|
||
|
ld bc, 360 ; screen dimensions 20*18
|
||
|
call ByteFill
|
||
|
|
||
|
; We aren't done if the LCD is on.
|
||
|
ld a, [rLCDC]
|
||
|
bit 7, a
|
||
|
ret z
|
||
|
jp WaitBGMap
|
||
|
; fdb
|
||
|
|
||
|
|
||
|
Functionfdb: ; fdb
|
||
|
ld a, $7
|
||
|
ld hl, AttrMap
|
||
|
ld bc, $0168
|
||
|
call ByteFill
|
||
|
jr ClearTileMap
|
||
|
; fe8
|
||
|
|
||
|
|
||
|
|
||
|
TextBox: ; fe8
|
||
|
; Draw a text box width c height b at hl
|
||
|
; Dimensions do not include the border.
|
||
|
push bc
|
||
|
push hl
|
||
|
call TextBoxBorder
|
||
|
pop hl
|
||
|
pop bc
|
||
|
jr TextBoxPalette
|
||
|
; ff1
|
||
|
|
||
|
|
||
|
TextBoxBorder: ; ff1
|
||
|
|
||
|
; Top
|
||
|
push hl
|
||
|
ld a, "┌"
|
||
|
ld [hli], a
|
||
|
inc a ; "─"
|
||
|
call NPlaceChar
|
||
|
inc a ; "┐"
|
||
|
ld [hl], a
|
||
|
|
||
|
; Middle
|
||
|
pop hl
|
||
|
ld de, 20 ; screen width
|
||
|
add hl, de
|
||
|
.PlaceRow
|
||
|
push hl
|
||
|
ld a, "│"
|
||
|
ld [hli], a
|
||
|
ld a, " "
|
||
|
call NPlaceChar
|
||
|
ld [hl], "│"
|
||
|
pop hl
|
||
|
ld de, 20 ; screen width
|
||
|
add hl, de
|
||
|
dec b
|
||
|
jr nz, .PlaceRow
|
||
|
|
||
|
; Bottom
|
||
|
ld a, "└"
|
||
|
ld [hli], a
|
||
|
ld a, "─"
|
||
|
call NPlaceChar
|
||
|
ld [hl], "┘"
|
||
|
|
||
|
ret
|
||
|
; 101e
|
||
|
|
||
|
|
||
|
NPlaceChar: ; 101e
|
||
|
; Place char a c times
|
||
|
ld d,c
|
||
|
.loop
|
||
|
ld [hli],a
|
||
|
dec d
|
||
|
jr nz, .loop
|
||
|
ret
|
||
|
; 1024
|
||
|
|
||
|
|
||
|
TextBoxPalette: ; 1024
|
||
|
; Fill text box width c height b at hl with pal 7
|
||
|
ld de, AttrMap - TileMap
|
||
|
add hl, de
|
||
|
inc b
|
||
|
inc b
|
||
|
inc c
|
||
|
inc c
|
||
|
ld a, 7 ; pal
|
||
|
.gotoy
|
||
|
push bc
|
||
|
push hl
|
||
|
.gotox
|
||
|
ld [hli], a
|
||
|
dec c
|
||
|
jr nz, .gotox
|
||
|
pop hl
|
||
|
ld de, 20 ; screen width
|
||
|
add hl, de
|
||
|
pop bc
|
||
|
dec b
|
||
|
jr nz, .gotoy
|
||
|
ret
|
||
|
; 103e
|
||
|
|
||
|
|
||
|
SpeechTextBox: ; 103e
|
||
|
; Standard textbox.
|
||
|
hlcoord 0, 12
|
||
|
ld b, 4 ; height
|
||
|
ld c, 18 ; screen width - 2 (border)
|
||
|
jp TextBox
|
||
|
; 1048
|
||
|
|
||
|
UnknownText_0x1048: ; 1048
|
||
|
db $0, "ゲームフりーク!", $57
|
||
|
; 1052
|
||
|
|
||
|
Function1052: ; 1052
|
||
|
ld hl, .text_1056
|
||
|
ret
|
||
|
.text_1056
|
||
|
db "@"
|
||
|
; 1057
|
||
|
|
||
|
|
||
|
PrintText: ; 1057
|
||
|
call Function106c
|
||
|
push hl
|
||
|
hlcoord 1, 14
|
||
|
ld bc, 18 + 3<<8
|
||
|
call ClearBox
|
||
|
pop hl
|
||
|
|
||
|
PrintTextBoxText: ; 1065
|
||
|
bccoord 1, 14
|
||
|
call Function13e5
|
||
|
ret
|
||
|
; 106c
|
||
|
|
||
|
|
||
|
Function106c: ; 106c
|
||
|
push hl
|
||
|
call SpeechTextBox
|
||
|
call Function1ad2
|
||
|
call Function321c
|
||
|
pop hl
|
||
|
ret
|
||
|
; 1078
|
||
|
|
||
|
|
||
|
|
||
|
PlaceString: ; 1078
|
||
|
push hl
|
||
|
|
||
|
PlaceNextChar: ; 1079
|
||
|
ld a, [de]
|
||
|
cp "@"
|
||
|
jr nz, CheckDict
|
||
|
ld b, h
|
||
|
ld c, l
|
||
|
pop hl
|
||
|
ret
|
||
|
pop de
|
||
|
|
||
|
NextChar: ; 1083
|
||
|
inc de
|
||
|
jp PlaceNextChar
|
||
|
|
||
|
CheckDict: ; 1087
|
||
|
cp $15
|
||
|
jp z, Function117b
|
||
|
cp $4f
|
||
|
jp z, Char4F
|
||
|
cp $4e
|
||
|
jp z, Function12a7
|
||
|
cp $16
|
||
|
jp z, Function12b9
|
||
|
and a
|
||
|
jp z, Function1383
|
||
|
cp $4c
|
||
|
jp z, $1337
|
||
|
cp $4b
|
||
|
jp z, Char4B
|
||
|
cp $51 ; Player name
|
||
|
jp z, Function12f2
|
||
|
cp $49
|
||
|
jp z, Function1186
|
||
|
cp $52 ; Mother name
|
||
|
jp z, Function118d
|
||
|
cp $53
|
||
|
jp z, Function1194
|
||
|
cp $35
|
||
|
jp z, Function11e8
|
||
|
cp $36
|
||
|
jp z, Function11ef
|
||
|
cp $37
|
||
|
jp z, Function11f6
|
||
|
cp $38
|
||
|
jp z, Function119b
|
||
|
cp $39
|
||
|
jp z, Function11a2
|
||
|
cp $54
|
||
|
jp z, Function11c5
|
||
|
cp $5b
|
||
|
jp z, Function11b7
|
||
|
cp $5e
|
||
|
jp z, Function11be
|
||
|
cp $5c
|
||
|
jp z, Function11b0
|
||
|
cp $5d
|
||
|
jp z, Function11a9
|
||
|
cp $23
|
||
|
jp z, Function11cc
|
||
|
cp $22
|
||
|
jp z, Function12b0
|
||
|
cp $55
|
||
|
jp z, Char55
|
||
|
cp $56
|
||
|
jp z, Function11d3
|
||
|
cp $57
|
||
|
jp z, $137c
|
||
|
cp $58
|
||
|
jp z, Function135a
|
||
|
cp $4a
|
||
|
jp z, Function11da
|
||
|
cp $24
|
||
|
jp z, Function11e1
|
||
|
cp $25
|
||
|
jp z, NextChar
|
||
|
cp $1f
|
||
|
jr nz, .asm_1122
|
||
|
ld a, $7f
|
||
|
.asm_1122
|
||
|
cp $5f
|
||
|
jp z, Char5F
|
||
|
cp $59
|
||
|
jp z, Function11fd
|
||
|
cp $5a
|
||
|
jp z, Char5D
|
||
|
cp $3f
|
||
|
jp z, $121b
|
||
|
cp $14
|
||
|
jp z, $1252
|
||
|
cp $e4
|
||
|
jr z, .asm_1174 ; 0x113d $35
|
||
|
cp $e5
|
||
|
jr z, .asm_1174 ; 0x1141 $31
|
||
|
jr .asm_114c ; 0x1143 $7
|
||
|
ld b, a
|
||
|
call Function13c6
|
||
|
jp NextChar
|
||
|
.asm_114c
|
||
|
cp $60
|
||
|
jr nc, .asm_1174 ; 0x114e $24
|
||
|
cp $40
|
||
|
jr nc, .asm_1165 ; 0x1152 $11
|
||
|
cp $20
|
||
|
jr nc, .asm_115c ; 0x1156 $4
|
||
|
add $80
|
||
|
jr .asm_115e ; 0x115a $2
|
||
|
.asm_115c
|
||
|
add $90
|
||
|
.asm_115e
|
||
|
ld b, $e5
|
||
|
call Function13c6
|
||
|
jr .asm_1174 ; 0x1163 $f
|
||
|
.asm_1165
|
||
|
cp $44
|
||
|
jr nc, .asm_116d ; 0x1167 $4
|
||
|
add $59
|
||
|
jr .asm_116f ; 0x116b $2
|
||
|
.asm_116d
|
||
|
add $86
|
||
|
.asm_116f
|
||
|
ld b, $e4
|
||
|
call Function13c6
|
||
|
.asm_1174
|
||
|
ld [hli], a
|
||
|
call PrintLetterDelay
|
||
|
jp NextChar
|
||
|
; 0x117b
|
||
|
|
||
|
|
||
|
Function117b: ; 117b
|
||
|
ld c, l
|
||
|
ld b, h
|
||
|
ld a, $5f
|
||
|
ld hl, $7036
|
||
|
rst FarCall
|
||
|
jp PlaceNextChar
|
||
|
; 1186
|
||
|
|
||
|
Function1186: ; 1186
|
||
|
push de
|
||
|
ld de, MomsName
|
||
|
jp $126a
|
||
|
; 118d
|
||
|
|
||
|
Function118d: ; 118d
|
||
|
push de
|
||
|
ld de, PlayerName
|
||
|
jp $126a
|
||
|
; 1194
|
||
|
|
||
|
Function1194: ; 1194
|
||
|
push de
|
||
|
ld de, RivalName
|
||
|
jp $126a
|
||
|
; 119b
|
||
|
|
||
|
Function119b: ; 119b
|
||
|
push de
|
||
|
ld de, RedsName
|
||
|
jp $126a
|
||
|
; 11a2
|
||
|
|
||
|
Function11a2: ; 11a2
|
||
|
push de
|
||
|
ld de, GreensName
|
||
|
jp $126a
|
||
|
; 11a9
|
||
|
|
||
|
Function11a9: ; 11a9
|
||
|
push de
|
||
|
ld de, Char5DText
|
||
|
jp $126a
|
||
|
; 11b0
|
||
|
|
||
|
Function11b0: ; 11b0
|
||
|
push de
|
||
|
ld de, Char5CText
|
||
|
jp $126a
|
||
|
; 11b7
|
||
|
|
||
|
Function11b7: ; 11b7
|
||
|
push de
|
||
|
ld de, Char5BText
|
||
|
jp $126a
|
||
|
; 11be
|
||
|
|
||
|
Function11be: ; 11be
|
||
|
push de
|
||
|
ld de, Char5EText
|
||
|
jp $126a
|
||
|
; 11c5
|
||
|
|
||
|
Function11c5: ; 11c5
|
||
|
push de
|
||
|
ld de, Char54Text
|
||
|
jp $126a
|
||
|
; 11cc
|
||
|
|
||
|
Function11cc: ; 11cc
|
||
|
push de
|
||
|
ld de, Char23Text
|
||
|
jp $126a
|
||
|
; 11d3
|
||
|
|
||
|
Function11d3: ; 11d3
|
||
|
push de
|
||
|
ld de, $1292
|
||
|
jp $126a
|
||
|
; 11da
|
||
|
|
||
|
Function11da: ; 11da
|
||
|
push de
|
||
|
ld de, Char4AText
|
||
|
jp $126a
|
||
|
; 11e1
|
||
|
|
||
|
Function11e1: ; 11e1
|
||
|
push de
|
||
|
ld de, Char24Text
|
||
|
jp $126a
|
||
|
; 11e8
|
||
|
|
||
|
Function11e8: ; 11e8
|
||
|
push de
|
||
|
ld de, Char37Text
|
||
|
jp $126a
|
||
|
; 11ef
|
||
|
|
||
|
Function11ef: ; 11ef
|
||
|
push de
|
||
|
ld de, Char37Text
|
||
|
jp $126a
|
||
|
; 11f6
|
||
|
|
||
|
Function11f6: ; 11f6
|
||
|
push de
|
||
|
ld de, Char37Text
|
||
|
jp $126a
|
||
|
; 11fd
|
||
|
|
||
|
|
||
|
Function11fd: ; 11fd
|
||
|
ld a, [hBattleTurn]
|
||
|
xor $1
|
||
|
jr Function1205
|
||
|
; 1203
|
||
|
|
||
|
Char5D: ; 1203
|
||
|
ld a, [hBattleTurn]
|
||
|
; 1205
|
||
|
|
||
|
Function1205: ; 1205
|
||
|
push de
|
||
|
and a
|
||
|
jr nz, .asm_120e ; 0x1207 $5
|
||
|
ld de, BattleMonNick
|
||
|
jr .asm_126a ; 0x120c $5c
|
||
|
.asm_120e
|
||
|
ld de, Char5AText ; Enemy
|
||
|
call PlaceString
|
||
|
ld h, b
|
||
|
ld l, c
|
||
|
ld de, EnemyMonNick
|
||
|
jr .asm_126a ; 0x1219 $4f
|
||
|
push de
|
||
|
ld a, [InLinkBattle]
|
||
|
and a
|
||
|
jr nz, .linkbattle
|
||
|
ld a, [TrainerClass]
|
||
|
cp $9
|
||
|
jr z, .asm_1248 ; 0x1227 $1f
|
||
|
cp $2a
|
||
|
jr z, .asm_1248 ; 0x122b $1b
|
||
|
ld de, $c656
|
||
|
call PlaceString
|
||
|
ld h, b
|
||
|
ld l, c
|
||
|
ld de, String12a2
|
||
|
call PlaceString
|
||
|
push bc
|
||
|
ld hl, $5939
|
||
|
ld a, $e
|
||
|
rst FarCall
|
||
|
pop hl
|
||
|
ld de, StringBuffer1
|
||
|
jr .asm_126a ; 0x1246 $22
|
||
|
.asm_1248
|
||
|
ld de, RivalName
|
||
|
jr .asm_126a ; 0x124b $1d
|
||
|
.linkbattle
|
||
|
ld de, $c656
|
||
|
jr .asm_126a ; 0x1250 $18
|
||
|
push de
|
||
|
ld de, PlayerName
|
||
|
call PlaceString
|
||
|
ld h, b
|
||
|
ld l, c
|
||
|
ld a, [PlayerGender]
|
||
|
bit 0, a
|
||
|
ld de, String12a5
|
||
|
jr z, .asm_126a ; 0x1263 $5
|
||
|
ld de, String12a6
|
||
|
jr .asm_126a ; 0x1268 $0
|
||
|
.asm_126a
|
||
|
call PlaceString
|
||
|
ld h, b
|
||
|
ld l, c
|
||
|
pop de
|
||
|
jp NextChar
|
||
|
; 0x1273
|
||
|
|
||
|
Char5CText: ; 1273
|
||
|
db "TM@"
|
||
|
Char5DText: ; 1276
|
||
|
db "TRAINER@"
|
||
|
Char5BText: ; 127e
|
||
|
db "PC@"
|
||
|
Char5EText: ; 1281
|
||
|
db "ROCKET@"
|
||
|
Char54Text: ; 1288
|
||
|
db "POKé@"
|
||
|
Char23Text: ; 128d
|
||
|
db "こうげき@"
|
||
|
Char56Text:; 1292
|
||
|
db "……@"
|
||
|
Char5AText: ; 1295
|
||
|
db "Enemy @"
|
||
|
Char4AText: ; 129c
|
||
|
db $e1, $e2, "@" ; PK MN
|
||
|
Char24Text: ; 129f
|
||
|
db $70, $71, "@" ; PO KE
|
||
|
String12a2: ; 12a2
|
||
|
db " @"
|
||
|
Char35Text:
|
||
|
Char36Text:
|
||
|
Char37Text: ; 12a4
|
||
|
db "@"
|
||
|
String12a5: ; 12a5
|
||
|
db "@"
|
||
|
String12a6: ; 12a6
|
||
|
db "@"
|
||
|
; 12a7
|
||
|
|
||
|
Function12a7: ; 12a7
|
||
|
pop hl
|
||
|
ld bc, $0028
|
||
|
add hl, bc
|
||
|
push hl
|
||
|
jp NextChar
|
||
|
; 12b0
|
||
|
|
||
|
Function12b0: ; 12b0
|
||
|
pop hl
|
||
|
ld bc, $0014
|
||
|
add hl, bc
|
||
|
push hl
|
||
|
jp NextChar
|
||
|
; 12b9
|
||
|
|
||
|
Function12b9: ; 12b9
|
||
|
pop hl
|
||
|
push de
|
||
|
ld bc, $3b60
|
||
|
add hl, bc
|
||
|
ld de, $ffec
|
||
|
ld c, $1
|
||
|
.asm_12c4
|
||
|
ld a, h
|
||
|
and a
|
||
|
jr nz, .asm_12cd
|
||
|
ld a, l
|
||
|
cp $14
|
||
|
jr c, .asm_12d1
|
||
|
|
||
|
.asm_12cd
|
||
|
add hl, de
|
||
|
inc c
|
||
|
jr .asm_12c4
|
||
|
|
||
|
.asm_12d1
|
||
|
ld hl, TileMap
|
||
|
ld de, $0014
|
||
|
ld a, c
|
||
|
.asm_12d8
|
||
|
and a
|
||
|
jr z, .asm_12df
|
||
|
add hl, de
|
||
|
dec a
|
||
|
jr .asm_12d8
|
||
|
|
||
|
.asm_12df
|
||
|
pop de
|
||
|
inc de
|
||
|
ld a, [de]
|
||
|
ld c, a
|
||
|
ld b, $0
|
||
|
add hl, bc
|
||
|
push hl
|
||
|
jp NextChar
|
||
|
; 12ea
|
||
|
|
||
|
|
||
|
Char4F: ; 12ea
|
||
|
pop hl
|
||
|
hlcoord 1, 16
|
||
|
push hl
|
||
|
jp NextChar
|
||
|
; 0x12f2
|
||
|
|
||
|
Function12f2: ; 12f2
|
||
|
push de
|
||
|
ld a, [InLinkBattle]
|
||
|
cp $3
|
||
|
jr z, .asm_1301
|
||
|
cp $4
|
||
|
jr z, .asm_1301
|
||
|
call Function13c7
|
||
|
|
||
|
.asm_1301
|
||
|
call Function13b6
|
||
|
call Functionaaf
|
||
|
ld hl, $c5b9
|
||
|
ld bc, $0312
|
||
|
call ClearBox
|
||
|
call Function13cd
|
||
|
ld c, $14
|
||
|
call DelayFrames
|
||
|
ld hl, $c5b9
|
||
|
pop de
|
||
|
jp NextChar
|
||
|
; 131f
|
||
|
|
||
|
|
||
|
Char4B: ; 131f
|
||
|
ld a, [InLinkBattle]
|
||
|
or a
|
||
|
jr nz, .asm_1328
|
||
|
call Function13c7
|
||
|
|
||
|
.asm_1328
|
||
|
call Function13b6
|
||
|
|
||
|
push de
|
||
|
call Functionaaf
|
||
|
pop de
|
||
|
|
||
|
ld a, [InLinkBattle]
|
||
|
or a
|
||
|
call z, Function13cd
|
||
|
|
||
|
push de
|
||
|
call Function138c
|
||
|
call Function138c
|
||
|
hlcoord 1, 16
|
||
|
pop de
|
||
|
jp NextChar
|
||
|
; 1345
|
||
|
|
||
|
|
||
|
Char55: ; 1345
|
||
|
push de
|
||
|
ld de, Text_1354
|
||
|
ld b, h
|
||
|
ld c, l
|
||
|
call PlaceString
|
||
|
ld h, b
|
||
|
ld l, c
|
||
|
pop de
|
||
|
jp NextChar
|
||
|
; 1354
|
||
|
|
||
|
Text_1354: ; 1354
|
||
|
db $4b, "@"
|
||
|
; 1356
|
||
|
|
||
|
|
||
|
Char5F: ; 1356
|
||
|
; ends a Pokédex entry
|
||
|
ld [hl], "."
|
||
|
pop hl
|
||
|
ret
|
||
|
; 135a
|
||
|
|
||
|
Function135a: ; 135a
|
||
|
ld a, [InLinkBattle]
|
||
|
cp $3
|
||
|
jr z, .asm_1368
|
||
|
cp $4
|
||
|
jr z, .asm_1368
|
||
|
call Function13c7
|
||
|
|
||
|
.asm_1368
|
||
|
call Function13b6
|
||
|
call Functionaaf
|
||
|
ld a, [InLinkBattle]
|
||
|
cp $3
|
||
|
jr z, .asm_137c
|
||
|
cp $4
|
||
|
jr z, .asm_137c
|
||
|
call Function13cd
|
||
|
|
||
|
.asm_137c
|
||
|
pop hl
|
||
|
ld de, .string_1382
|
||
|
dec de
|
||
|
ret
|
||
|
|
||
|
.string_1382
|
||
|
db "@"
|
||
|
; 1383
|
||
|
|
||
|
Function1383: ; 1383
|
||
|
ld a, $e6
|
||
|
ld [hli], a
|
||
|
call PrintLetterDelay
|
||
|
jp NextChar
|
||
|
; 138c
|
||
|
|
||
|
Function138c: ; 138c
|
||
|
ld hl, $c5b9
|
||
|
ld de, $c5a5
|
||
|
ld a, $3
|
||
|
.asm_1394
|
||
|
push af
|
||
|
ld c, $12
|
||
|
.asm_1397
|
||
|
ld a, [hli]
|
||
|
ld [de], a
|
||
|
inc de
|
||
|
dec c
|
||
|
jr nz, .asm_1397
|
||
|
inc de
|
||
|
inc de
|
||
|
inc hl
|
||
|
inc hl
|
||
|
pop af
|
||
|
dec a
|
||
|
jr nz, .asm_1394
|
||
|
ld hl, $c5e1
|
||
|
ld a, $7f
|
||
|
ld bc, $0012
|
||
|
call ByteFill
|
||
|
ld c, $5
|
||
|
call DelayFrames
|
||
|
ret
|
||
|
; 13b6
|
||
|
|
||
|
Function13b6: ; 13b6
|
||
|
push bc
|
||
|
ld a, [hOAMUpdate]
|
||
|
push af
|
||
|
ld a, $1
|
||
|
ld [hOAMUpdate], a
|
||
|
call WaitBGMap
|
||
|
pop af
|
||
|
ld [hOAMUpdate], a
|
||
|
pop bc
|
||
|
ret
|
||
|
; 13c6
|
||
|
|
||
|
Function13c6: ; 13c6
|
||
|
ret
|
||
|
; 13c7
|
||
|
|
||
|
Function13c7: ; 13c7
|
||
|
ld a, $ee
|
||
|
ld [$c606], a
|
||
|
ret
|
||
|
; 13cd
|
||
|
|
||
|
Function13cd: ; 13cd
|
||
|
ld a, [$c605]
|
||
|
ld [$c606], a
|
||
|
ret
|
||
|
; 13d4
|
||
|
|
||
|
Function13d4: ; 13d4
|
||
|
ld b, a
|
||
|
ld a, [hROMBank]
|
||
|
push af
|
||
|
ld a, b
|
||
|
rst Bankswitch
|
||
|
|
||
|
call PlaceString
|
||
|
pop af
|
||
|
rst Bankswitch
|
||
|
|
||
|
ret
|
||
|
; 13e0
|
||
|
|
||
|
Function13e0: ; 13e0
|
||
|
ld hl, $13e4
|
||
|
ret
|
||
|
|
||
|
.string_13e4
|
||
|
db "@"
|
||
|
; 13e5
|
||
|
|
||
|
|
||
|
Function13e5: ; 13e5
|
||
|
ld a, [$cfcf]
|
||
|
push af
|
||
|
set 1, a
|
||
|
ld [$cfcf], a
|
||
|
call Function13f6
|
||
|
pop af
|
||
|
ld [$cfcf], a
|
||
|
ret
|
||
|
; 13f6
|
||
|
|
||
|
Function13f6: ; 13f6
|
||
|
.asm_13f6
|
||
|
ld a, [hli]
|
||
|
cp "@"
|
||
|
ret z
|
||
|
call Function13ff
|
||
|
jr .asm_13f6
|
||
|
; 13ff
|
||
|
|
||
|
Function13ff: ; 13ff
|
||
|
push hl
|
||
|
push bc
|
||
|
ld c, a
|
||
|
ld b, 0
|
||
|
ld hl, TextCommands
|
||
|
add hl, bc
|
||
|
add hl, bc
|
||
|
ld e, [hl]
|
||
|
inc hl
|
||
|
ld d, [hl]
|
||
|
pop bc
|
||
|
pop hl
|
||
|
|
||
|
; jp de
|
||
|
push de
|
||
|
ret
|
||
|
; 1410
|
||
|
|
||
|
TextCommands: ; 1410
|
||
|
dw Text_00
|
||
|
dw Text_01
|
||
|
dw Text_02
|
||
|
dw Text_03
|
||
|
dw Text_04
|
||
|
dw Text_05
|
||
|
dw Text_06
|
||
|
dw Text_07
|
||
|
dw Text_08
|
||
|
dw Text_09
|
||
|
dw Text_0A
|
||
|
dw Text_PlaySound ; $0b
|
||
|
dw Text_0C
|
||
|
dw Text_0D
|
||
|
dw Text_PlaySound ; $0e
|
||
|
dw Text_PlaySound ; $0f
|
||
|
dw Text_PlaySound ; $10
|
||
|
dw Text_PlaySound ; $11
|
||
|
dw Text_PlaySound ; $12
|
||
|
dw Text_PlaySound ; $13
|
||
|
dw Text_14
|
||
|
dw Text_15
|
||
|
dw Text_16
|
||
|
; 143e
|
||
|
|
||
|
Text_00: ; 143e
|
||
|
; TX
|
||
|
; write text until "@"
|
||
|
; [$00]["...@"]
|
||
|
|
||
|
ld d, h
|
||
|
ld e, l
|
||
|
ld h, b
|
||
|
ld l, c
|
||
|
call PlaceString
|
||
|
ld h, d
|
||
|
ld l, e
|
||
|
inc hl
|
||
|
ret
|
||
|
; 1449
|
||
|
|
||
|
Text_01: ; 1449
|
||
|
; TX_RAM
|
||
|
; write text from a ram address
|
||
|
; little endian
|
||
|
; [$01][addr]
|
||
|
|
||
|
ld a, [hli]
|
||
|
ld e, a
|
||
|
ld a, [hli]
|
||
|
ld d, a
|
||
|
push hl
|
||
|
ld h, b
|
||
|
ld l, c
|
||
|
call PlaceString
|
||
|
pop hl
|
||
|
ret
|
||
|
; 1455
|
||
|
|
||
|
Text_16: ; 1455
|
||
|
; TX_FAR
|
||
|
; write text from a different bank
|
||
|
; little endian
|
||
|
; [$16][addr][bank]
|
||
|
|
||
|
ld a, [hROMBank]
|
||
|
push af
|
||
|
|
||
|
ld a, [hli]
|
||
|
ld e, a
|
||
|
ld a, [hli]
|
||
|
ld d, a
|
||
|
ld a, [hli]
|
||
|
|
||
|
ld [hROMBank], a
|
||
|
ld [MBC3RomBank], a
|
||
|
|
||
|
push hl
|
||
|
ld h, d
|
||
|
ld l, e
|
||
|
call Function13f6
|
||
|
pop hl
|
||
|
|
||
|
pop af
|
||
|
ld [hROMBank], a
|
||
|
ld [MBC3RomBank], a
|
||
|
ret
|
||
|
; 1470
|
||
|
|
||
|
Text_02: ; 1470
|
||
|
; TX_NUM
|
||
|
; write bcdnumber from address, typically ram
|
||
|
; little endian
|
||
|
; [$02][addr][flags]
|
||
|
; flags: see PrintBCDNumber
|
||
|
|
||
|
ld a, [hli]
|
||
|
ld e, a
|
||
|
ld a, [hli]
|
||
|
ld d, a
|
||
|
ld a, [hli]
|
||
|
push hl
|
||
|
ld h, b
|
||
|
ld l, c
|
||
|
ld c, a
|
||
|
call PrintBCDNumber
|
||
|
ld b, h
|
||
|
ld c, l
|
||
|
pop hl
|
||
|
ret
|
||
|
; 1480
|
||
|
|
||
|
Text_03: ; 1480
|
||
|
; TX_MOVE
|
||
|
; move to a new tile
|
||
|
; little endian
|
||
|
; [$03][tileaddr]
|
||
|
|
||
|
ld a, [hli]
|
||
|
ld [$d0e6], a
|
||
|
ld c, a
|
||
|
ld a, [hli]
|
||
|
ld [$d0e7], a
|
||
|
ld b, a
|
||
|
ret
|
||
|
; 148b
|
||
|
|
||
|
Text_04: ; 148b
|
||
|
; TX_BOX
|
||
|
; draw a box
|
||
|
; little endian
|
||
|
; [$04][tileaddr][height][width]
|
||
|
|
||
|
ld a, [hli]
|
||
|
ld e, a
|
||
|
ld a, [hli]
|
||
|
ld d, a
|
||
|
ld a, [hli]
|
||
|
ld b, a
|
||
|
ld a, [hli]
|
||
|
ld c, a
|
||
|
push hl
|
||
|
ld h, d
|
||
|
ld l, e
|
||
|
call TextBox
|
||
|
pop hl
|
||
|
ret
|
||
|
; 149b
|
||
|
|
||
|
Text_05: ; 149b
|
||
|
; TX_LOW
|
||
|
; write text at (1,16)
|
||
|
; [$05]
|
||
|
|
||
|
bccoord 1, 16
|
||
|
ret
|
||
|
; 149f
|
||
|
|
||
|
Text_06:: ; 149f
|
||
|
; TX_WAITBUTTON
|
||
|
; wait for button press
|
||
|
; show arrow
|
||
|
; [06]
|
||
|
|
||
|
ld a, [InLinkBattle]
|
||
|
cp $3
|
||
|
jp z, Text_0D
|
||
|
cp $4
|
||
|
jp z, Text_0D
|
||
|
push hl
|
||
|
call Function13c7
|
||
|
push bc
|
||
|
call Functionaaf
|
||
|
pop bc
|
||
|
call Function13cd
|
||
|
pop hl
|
||
|
ret
|
||
|
; 14ba
|
||
|
|
||
|
Text_07: ; 14ba
|
||
|
push hl
|
||
|
call Function13cd
|
||
|
call Function138c
|
||
|
call Function138c
|
||
|
pop hl
|
||
|
bccoord 1, 16
|
||
|
ret
|
||
|
; 14c9
|
||
|
|
||
|
Text_08: ; 14c9
|
||
|
; TX_ASM
|
||
|
|
||
|
; rom only?
|
||
|
bit 7, h
|
||
|
jr nz, .asm_14ce
|
||
|
jp [hl]
|
||
|
|
||
|
.asm_14ce
|
||
|
ld a, "@"
|
||
|
ld [hl], a
|
||
|
ret
|
||
|
; 14d2
|
||
|
|
||
|
Text_09: ; 14d2
|
||
|
ld a, [hli]
|
||
|
ld e, a
|
||
|
ld a, [hli]
|
||
|
ld d, a
|
||
|
ld a, [hli]
|
||
|
push hl
|
||
|
ld h, b
|
||
|
ld l, c
|
||
|
ld b, a
|
||
|
and $f
|
||
|
ld c, a
|
||
|
ld a, b
|
||
|
and $f0
|
||
|
swap a
|
||
|
set 6, a
|
||
|
ld b, a
|
||
|
call PrintNum
|
||
|
ld b, h
|
||
|
ld c, l
|
||
|
pop hl
|
||
|
ret
|
||
|
; 14ed
|
||
|
|
||
|
Text_0A: ; 14ed
|
||
|
push hl
|
||
|
push bc
|
||
|
call GetJoypadPublic
|
||
|
ld a, [hJoyDown]
|
||
|
and BUTTON_A | BUTTON_B
|
||
|
jr nz, .asm_14fd
|
||
|
ld c, 30
|
||
|
call DelayFrames
|
||
|
|
||
|
.asm_14fd
|
||
|
pop bc
|
||
|
pop hl
|
||
|
ret
|
||
|
; 1500
|
||
|
|
||
|
Text_PlaySound:: ; 1500
|
||
|
; chars:
|
||
|
; $0b, $0e, $0f, $10, $11, $12, $13
|
||
|
; see TextSFX
|
||
|
|
||
|
push bc
|
||
|
dec hl
|
||
|
ld a, [hli]
|
||
|
ld b, a
|
||
|
push hl
|
||
|
ld hl, TextSFX
|
||
|
.asm_1508
|
||
|
ld a, [hli]
|
||
|
cp $ff
|
||
|
jr z, .asm_151f
|
||
|
cp b
|
||
|
jr z, .asm_1514
|
||
|
inc hl
|
||
|
inc hl
|
||
|
jr .asm_1508
|
||
|
|
||
|
.asm_1514
|
||
|
push de
|
||
|
ld e, [hl]
|
||
|
inc hl
|
||
|
ld d, [hl]
|
||
|
call StartSFX
|
||
|
call WaitSFX
|
||
|
pop de
|
||
|
|
||
|
.asm_151f
|
||
|
pop hl
|
||
|
pop bc
|
||
|
ret
|
||
|
; 1522
|
||
|
|
||
|
Function1522: ; 1522
|
||
|
push de
|
||
|
ld e, [hl]
|
||
|
inc hl
|
||
|
ld d, [hl]
|
||
|
call Function37ce
|
||
|
pop de
|
||
|
pop hl
|
||
|
pop bc
|
||
|
ret
|
||
|
; 152d
|
||
|
|
||
|
TextSFX: ; 152d
|
||
|
dbw $0b, SFX_DEX_FANFARE_50_79
|
||
|
dbw $12, SFX_FANFARE
|
||
|
dbw $0e, SFX_DEX_FANFARE_20_49
|
||
|
dbw $0f, SFX_ITEM
|
||
|
dbw $10, SFX_CAUGHT_MON
|
||
|
dbw $11, SFX_DEX_FANFARE_80_109
|
||
|
dbw $13, SFX_SLOT_MACHINE_START
|
||
|
db $ff ; end
|
||
|
; 1543
|
||
|
|
||
|
Text_0C: ; 1543
|
||
|
ld a, [hli]
|
||
|
ld d, a
|
||
|
push hl
|
||
|
ld h, b
|
||
|
ld l, c
|
||
|
.asm_1548
|
||
|
push de
|
||
|
ld a, "…"
|
||
|
ld [hli], a
|
||
|
call GetJoypadPublic
|
||
|
ld a, [hJoyDown]
|
||
|
and BUTTON_A | BUTTON_B
|
||
|
jr nz, .asm_155a
|
||
|
ld c, 10
|
||
|
call DelayFrames
|
||
|
.asm_155a
|
||
|
pop de
|
||
|
dec d
|
||
|
jr nz, .asm_1548
|
||
|
ld b, h
|
||
|
ld c, l
|
||
|
pop hl
|
||
|
ret
|
||
|
; 1562
|
||
|
|
||
|
Text_0D: ; 1562
|
||
|
; wait for key down
|
||
|
; display arrow
|
||
|
push hl
|
||
|
push bc
|
||
|
call Functionaaf
|
||
|
pop bc
|
||
|
pop hl
|
||
|
ret
|
||
|
; 156a
|
||
|
|
||
|
Text_14: ; 156a
|
||
|
; TX_PREDEF
|
||
|
; [$14][id]
|
||
|
|
||
|
ld a, [hli]
|
||
|
push hl
|
||
|
ld e, a
|
||
|
ld d, 0
|
||
|
ld hl, $4000
|
||
|
add hl, de
|
||
|
add hl, de
|
||
|
ld a, $9
|
||
|
call GetFarHalfword
|
||
|
ld d, h
|
||
|
ld e, l
|
||
|
ld h, b
|
||
|
ld l, c
|
||
|
call PlaceString
|
||
|
pop hl
|
||
|
ret
|
||
|
; 1582
|
||
|
|
||
|
Text_15: ; 1582
|
||
|
; TX_DAY
|
||
|
|
||
|
call GetWeekday
|
||
|
push hl
|
||
|
push bc
|
||
|
ld c, a
|
||
|
ld b, 0
|
||
|
ld hl, .Days
|
||
|
add hl, bc
|
||
|
add hl, bc
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
ld d, h
|
||
|
ld e, l
|
||
|
pop hl
|
||
|
call PlaceString
|
||
|
ld h, b
|
||
|
ld l, c
|
||
|
ld de, .Day
|
||
|
call PlaceString
|
||
|
pop hl
|
||
|
ret
|
||
|
; 15a2
|
||
|
|
||
|
.Days ; 15a2
|
||
|
dw .Sun
|
||
|
dw .Mon
|
||
|
dw .Tues
|
||
|
dw .Wednes
|
||
|
dw .Thurs
|
||
|
dw .Fri
|
||
|
dw .Satur
|
||
|
|
||
|
.Sun db "SUN@"
|
||
|
.Mon db "MON@"
|
||
|
.Tues db "TUES@"
|
||
|
.Wednes db "WEDNES@"
|
||
|
.Thurs db "THURS@"
|
||
|
.Fri db "FRI@"
|
||
|
.Satur db "SATUR@"
|
||
|
.Day db "DAY@"
|
||
|
; 15d8
|
||
|
|