diff options
Diffstat (limited to 'misc')
-rwxr-xr-x | misc/battle_tower_47.asm | 4101 | ||||
-rwxr-xr-x | misc/battle_tower_5c.asm | 1270 | ||||
-rw-r--r-- | misc/crystal_misc.asm | 12 | ||||
-rwxr-xr-x | misc/fixed_words.asm | 4182 | ||||
-rw-r--r-- | misc/gbc_only.asm | 4 | ||||
-rwxr-xr-x | misc/mobile_12.asm | 1829 | ||||
-rw-r--r-- | misc/mobile_22.asm | 44 | ||||
-rw-r--r-- | misc/mobile_22_2.asm | 16 | ||||
-rw-r--r-- | misc/mobile_40.asm | 150 | ||||
-rwxr-xr-x | misc/mobile_41.asm | 23 | ||||
-rw-r--r-- | misc/mobile_42.asm | 128 | ||||
-rw-r--r-- | misc/mobile_45.asm | 40 | ||||
-rwxr-xr-x | misc/mobile_46.asm | 154 | ||||
-rwxr-xr-x | misc/mobile_5b.asm | 72 | ||||
-rwxr-xr-x | misc/mobile_5c.asm | 1215 | ||||
-rw-r--r-- | misc/mobile_5f.asm | 186 | ||||
-rw-r--r-- | misc/unused_title.asm | 6 |
17 files changed, 7708 insertions, 5724 deletions
diff --git a/misc/battle_tower_47.asm b/misc/battle_tower_47.asm index 68abcf1b9..a11f61064 100755 --- a/misc/battle_tower_47.asm +++ b/misc/battle_tower_47.asm @@ -11,6 +11,12 @@ IF DEF(CRYSTAL11) ld hl, BT_OTTrainerClass ELSE ld hl, BT_OTName + 5 +; BUG ALERT +; Instead of loading the Trainer Class, this routine +; loads the 6th character in the Trainer's name, then +; uses it to get the gender of the trainer. +; As a consequence, the enemy trainer's dialog will +; always be sampled from the female array. ENDC ld a, [hl] dec a @@ -81,4100 +87,9 @@ endr ret ; 11c05d -Function11c05d: ; 11c05d - ld a, e - or d - jr z, .asm_11c071 - ld a, e - and d - cp $ff - jr z, .asm_11c071 - push hl - call Function11c156 - pop hl - call PlaceString - and a - ret - -.asm_11c071 - ld c, l - ld b, h - scf - ret -; 11c075 - -Function11c075: ; 11c075 - push de - ld a, c - call Function11c254 - pop de - ld bc, wcd36 - call Function11c08f - ret -; 11c082 - -Function11c082: ; 11c082 - push de - ld a, c - call Function11c254 - pop de - ld bc, wcd36 - call Function11c0c6 - ret -; 11c08f - -Function11c08f: ; 11c08f - ld l, e - ld h, d - push hl - ld a, $3 -.asm_11c094 - push af - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - push bc - call Function11c05d - jr c, .asm_11c0a2 - inc bc - -.asm_11c0a2 - ld l, c - ld h, b - pop bc - pop af - dec a - jr nz, .asm_11c094 - pop hl - ld de, $0028 - add hl, de - ld a, $3 -.asm_11c0b0 - push af - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - push bc - call Function11c05d - jr c, .asm_11c0be - inc bc - -.asm_11c0be - ld l, c - ld h, b - pop bc - pop af - dec a - jr nz, .asm_11c0b0 - ret -; 11c0c6 - - -Function11c0c6: ; 11c0c6 - ld a, [wJumptableIndex] - ld l, a - ld a, [wcf64] - ld h, a - push hl - ld hl, $c608 + 16 - ld a, $0 - ld [hli], a - push de - xor a - ld [wJumptableIndex], a - ld a, $12 - ld [wcf64], a - ld a, $6 -.asm_11c0e1 - push af - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - or e - jr z, .asm_11c133 - push hl - push bc - call Function11c156 - call Function11c14a - ld e, c - pop bc - pop hl - ld a, e - or a - jr z, .asm_11c133 -.asm_11c0fa - ld a, [wcf64] - cp $12 - jr z, .asm_11c102 - inc e - -.asm_11c102 - cp e - jr nc, .asm_11c11c - ld a, [wJumptableIndex] - inc a - ld [wJumptableIndex], a - ld [hl], $4e - rra - jr c, .asm_11c113 - ld [hl], $55 - -.asm_11c113 - inc hl - ld a, $12 - ld [wcf64], a - dec e - jr .asm_11c0fa - -.asm_11c11c - cp $12 - jr z, .asm_11c123 - ld [hl], $7f - inc hl - -.asm_11c123 - sub e - ld [wcf64], a - ld de, $c608 -.asm_11c12a - ld a, [de] - cp $50 - jr z, .asm_11c133 - inc de - ld [hli], a - jr .asm_11c12a - -.asm_11c133 - pop af - dec a - jr nz, .asm_11c0e1 - ld [hl], $57 - pop bc - ld hl, $c608 + 16 - call PlaceWholeStringInBoxAtOnce - pop hl - ld a, l - ld [wJumptableIndex], a - ld a, h - ld [wcf64], a - ret -; 11c14a - -Function11c14a: ; 11c14a - ld c, $0 - ld hl, $c608 -.asm_11c14f - ld a, [hli] - cp $50 - ret z - inc c - jr .asm_11c14f -; 11c156 - -Function11c156: ; 11c156 - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, $50 - ld hl, $c608 - ld bc, $000b - call ByteFill - ld a, d - and a - jr z, .asm_11c19c - ld hl, Unknown_11daac - dec d - sla d - ld c, d - ld b, $0 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - push bc - pop hl - ld c, e - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - add hl, bc - ld bc, $0005 -.asm_11c18f - ld de, $c608 - call CopyBytes - ld de, $c608 - pop af - ld [rSVBK], a - ret - -.asm_11c19c - ld a, e - ld [wd265], a - call GetPokemonName - ld hl, StringBuffer1 - ld bc, $000a - jr .asm_11c18f -; 11c1ab - -Function11c1ab: ; 11c1ab - ld a, [hInMenu] - push af - ld a, $1 - ld [hInMenu], a - call Function11c1b9 - pop af - ld [hInMenu], a - ret -; 11c1b9 - -Function11c1b9: ; 11c1b9 - call Function11c1ca - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - call Function11c283 - pop af - ld [rSVBK], a - ret -; 11c1ca - -Function11c1ca: ; 11c1ca - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - ld [wcd23], a - ld [BGMapBuffer], a - ld [wcd21], a - ld [CreditsTimer], a - ld [wcd35], a - ld [wcd2b], a - ld a, $ff - ld [wcd24], a - ld a, [MenuSelection2] - dec a - call Function11c254 - call ClearBGPalettes - call ClearSprites - call ClearScreen - call Function11d323 - call SetPalettes - call DisableLCD - ld hl, GFX_11d67e - ld de, VTiles2 - ld bc, $60 - call CopyBytes - ld hl, LZ_11d6de - ld de, VTiles0 - call Decompress - call EnableLCD - callba Function104061 - callba Function8cf53 - callba LoadPokemonData - callba Function40c30 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, $c6d0 - ld de, LYOverrides - ld bc, $100 - call CopyBytes - pop af - ld [rSVBK], a - call Function11d4aa - call Function11d3ba - ret -; 11c254 - -Function11c254: ; 11c254 - push af - ld a, $4 - call GetSRAMBank - ld hl, $a007 - pop af - sla a - sla a - ld c, a - sla a - add c - ld c, a - ld b, $0 - add hl, bc - ld de, wcd36 - ld bc, $000c - call CopyBytes - call CloseSRAM - ret -; 11c277 - - -Function11c277: ; 11c277 (47:4277) - ld a, $7f - hlcoord 0, 6 - ld bc, $f0 - call ByteFill - ret - -Function11c283: ; 11c283 -.asm_11c283 - call JoyTextDelay - ld a, [hJoyPressed] - ld [hJoypadPressed], a - ld a, [wJumptableIndex] - bit 7, a - jr nz, .asm_11c2a2 - call Function11c2ac - callba Function8cf69 - callba Function104061 - jr .asm_11c283 - -.asm_11c2a2 - callba Function8cf53 - call ClearSprites - ret -; 11c2ac - -Function11c2ac: ; 11c2ac - ld a, [wJumptableIndex] - ld e, a - ld d, 0 - ld hl, Jumptable_11c2bb -rept 2 - add hl, de -endr - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 11c2bb - - -Jumptable_11c2bb: ; 11c2bb (47:42bb) - dw Function11c2e9 - dw Function11c346 - dw Function11c35f - dw Function11c373 - dw Function11c3c2 - dw Function11c3ed - dw Function11c52c - dw Function11c53d - dw Function11c658 - dw Function11c675 - dw Function11c9bd - dw Function11c9c3 - dw Function11caad - dw Function11cab3 - dw Function11cb52 - dw Function11cb66 - dw Function11cbf5 - dw Function11ccef - dw Function11cd04 - dw Function11cd20 - dw Function11cd54 - dw Function11ce0b - dw Function11ce2b - - -Function11c2e9: ; 11c2e9 (47:42e9) - lb de, $1a, $0d - ld a, $1d - call Function3b2a - lb de, $42, $0d - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $1 - ld [hl], a - lb de, $4a, $10 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $3 - ld [hl], a - lb de, $50, $80 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $4 - ld [hl], a - lb de, $50, $20 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $5 - ld [hl], a - lb de, $50, $10 - ld a, $1d - call Function3b2a - ld hl, $c - add hl, bc - ld a, $2 - ld [hl], a - ld hl, wcd23 - set 1, [hl] - set 2, [hl] - jp Function11cfb5 - -Function11c346: ; 11c346 (47:4346) - ld a, $9 - ld [wcd2d], a - ld a, $2 - ld [wcd2e], a - ld [wcd2f], a - ld [wcd30], a - ld de, wcd2d - call Function11cfce - jp Function11cfb5 - -Function11c35f: ; 11c35f (47:435f) - ld hl, wcd2f -rept 2 - inc [hl] -endr -rept 2 - dec hl -endr - dec [hl] - push af - ld de, wcd2d - call Function11cfce - pop af - ret nz - jp Function11cfb5 - -Function11c373: ; 11c373 (47:4373) - ld hl, wcd30 -rept 2 - inc [hl] -endr -rept 2 - dec hl -endr - dec [hl] - push af - ld de, wcd2d - call Function11cfce - pop af - ret nz - call Function11c38a - jp Function11cfb5 - -Function11c38a: ; 11c38a (47:438a) - ld hl, Unknown_11c986 - ld bc, wcd36 - ld a, $6 -.asm_11c392 - push af - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - push de - pop hl - ld a, [bc] - inc bc - ld e, a - ld a, [bc] - inc bc - ld d, a - push bc - or e - jr z, .asm_11c3af - ld a, e - and d - cp $ff - jr z, .asm_11c3af - call Function11c05d - jr .asm_11c3b5 -.asm_11c3af - ld de, String_11c3bc - call PlaceString -.asm_11c3b5 - pop bc - pop hl - pop af - dec a - jr nz, .asm_11c392 - ret -; 11c3bc (47:43bc) - -String_11c3bc: ; 11c3bc - db "ーーーーー@" -; 11c3c2 - -Function11c3c2: ; 11c3c2 (47:43c2) - call Function11c277 - ld de, Unknown_11cfbe - call Function11d035 - hlcoord 1, 7 - ld de, String_11c4db - call PlaceString - hlcoord 1, 16 - ld de, String_11c51b - call PlaceString - call Function11c4be - ld hl, wcd23 - set 0, [hl] - ld hl, wcd24 - res 0, [hl] - call Function11cfb5 - -Function11c3ed: ; 11c3ed (47:43ed) - ld hl, BGMapBuffer ; wcd20 (aliases: CreditsPos) - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and $8 - jr nz, .asm_11c426 - ld a, [de] - and $2 - jr nz, .asm_11c41a - ld a, [de] - and $1 - jr nz, .asm_11c42c - ld de, hJoyLast - ld a, [de] - and $40 - jr nz, .asm_11c47c - ld a, [de] - and $80 - jr nz, .asm_11c484 - ld a, [de] - and $20 - jr nz, .asm_11c48c - ld a, [de] - and $10 - jr nz, .asm_11c498 - ret -.asm_11c41a - call PlayClickSFX -.asm_11c41d - ld hl, wcd24 - set 0, [hl] - ld a, $c - jr .asm_11c475 -.asm_11c426 - ld a, $8 - ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) - ret -.asm_11c42c - ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) - cp $6 - jr c, .asm_11c472 - sub $6 - jr z, .asm_11c469 - dec a - jr z, .asm_11c41d - ld hl, wcd36 - ld c, $c - xor a -.asm_11c440 - or [hl] - inc hl - dec c - jr nz, .asm_11c440 - and a - jr z, .asm_11c460 - ld de, Unknown_11cfba - call Function11cfce - decoord 1, 2 - ld bc, wcd36 - call Function11c08f - ld hl, wcd24 - set 0, [hl] - ld a, $e - jr .asm_11c475 -.asm_11c460 - ld hl, wcd24 - set 0, [hl] - ld a, $11 - jr .asm_11c475 -.asm_11c469 - ld hl, wcd24 - set 0, [hl] - ld a, $a - jr .asm_11c475 -.asm_11c472 - call Function11c4a5 -.asm_11c475 - ld [wJumptableIndex], a - call PlayClickSFX - ret -.asm_11c47c - ld a, [hl] - cp $3 - ret c - sub $3 - jr .asm_11c4a3 -.asm_11c484 - ld a, [hl] - cp $6 - ret nc - add $3 - jr .asm_11c4a3 -.asm_11c48c - ld a, [hl] - and a - ret z - cp $3 - ret z - cp $6 - ret z - dec a - jr .asm_11c4a3 -.asm_11c498 - ld a, [hl] - cp $2 - ret z - cp $5 - ret z - cp $8 - ret z - inc a -.asm_11c4a3 - ld [hl], a - ret - -Function11c4a5: ; 11c4a5 (47:44a5) - ld hl, wcd23 - res 0, [hl] - ld a, [wcd2b] - and a - jr nz, .asm_11c4b7 - xor a - ld [wcd21], a - ld a, $6 - ret -.asm_11c4b7 - xor a - ld [CreditsTimer], a - ld a, $15 - ret - -Function11c4be: ; 11c4be (47:44be) - ld a, $1 - hlcoord 0, 6, AttrMap - ld bc, $a0 - call ByteFill - ld a, $7 - hlcoord 0, 14, AttrMap - ld bc, $28 - call ByteFill - callba Function104061 - ret -; 11c4db (47:44db) - -String_11c4db: ; 11c4db - db "6つのことば", $1f, "くみあわせます" - next "かえたいところ", $1f, "えらぶと でてくる" - next "ことばのグループから いれかえたい" - next "たんご", $1f, "えらんでください" - db "@" -; 11c51b - -String_11c51b: ; 11c51b - db "ぜんぶけす やめる けってい@" -; 11c52c - -Function11c52c: ; 11c52c (47:452c) - call Function11c277 - call Function11c5f0 - call Function11c618 - ld hl, wcd24 - res 1, [hl] - call Function11cfb5 - -Function11c53d: ; 11c53d (47:453d) - ld hl, wcd21 - ld de, hJoypadPressed ; $ffa3 - - ld a, [de] - and START - jr nz, .start - - ld a, [de] - and SELECT - jr nz, .select - - ld a, [de] - and B_BUTTON - jr nz, .b - - ld a, [de] - and A_BUTTON - jr nz, .a - - ld de, hJoyLast - - ld a, [de] - and D_UP - jr nz, .up - - ld a, [de] - and D_DOWN - jr nz, .down - - ld a, [de] - and D_LEFT - jr nz, .left - - ld a, [de] - and D_RIGHT - jr nz, .right - - ret - -.a - ld a, [wcd21] - cp $f - jr c, .asm_11c59d - sub $f - jr z, .asm_11c5ab - dec a - jr z, .asm_11c599 - jr .b - -.start - ld hl, wcd24 - set 0, [hl] - ld a, $8 - ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) - -.b - ld a, $4 - jr .asm_11c59f - -.select - ld a, [wcd2b] - xor $1 - ld [wcd2b], a - ld a, $15 - jr .asm_11c59f - -.asm_11c599 - ld a, $13 - jr .asm_11c59f - -.asm_11c59d - ld a, $8 - -.asm_11c59f - ld hl, wcd24 - set 1, [hl] - ld [wJumptableIndex], a - call PlayClickSFX - ret - -.asm_11c5ab - ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) - call Function11ca6a - call PlayClickSFX - ret - -.up - ld a, [hl] - cp $3 - ret c - sub $3 - jr .asm_11c5ee - -.down - ld a, [hl] - cp $f - ret nc - add $3 - jr .asm_11c5ee - -.left - ld a, [hl] - and a - ret z - cp $3 - ret z - cp $6 - ret z - cp $9 - ret z - cp $c - ret z - cp $f - ret z - dec a - jr .asm_11c5ee - -.right - ld a, [hl] - cp $2 - ret z - cp $5 - ret z - cp $8 - ret z - cp $b - ret z - cp $e - ret z - cp $11 - ret z - inc a - -.asm_11c5ee - ld [hl], a - ret -; 11c5f0 - -Function11c5f0: ; 11c5f0 (47:45f0) - ld de, Strings_11da52 - ld bc, Unknown_11c63a - ld a, $f -.asm_11c5f8 - push af - ld a, [bc] - inc bc - ld l, a - ld a, [bc] - inc bc - ld h, a - push bc - call PlaceString -.asm_11c603 - inc de - ld a, [de] - cp $50 - jr z, .asm_11c603 - pop bc - pop af - dec a - jr nz, .asm_11c5f8 - hlcoord 1, 17 - ld de, String_11c62a - call PlaceString - ret - -Function11c618: ; 11c618 (47:4618) - ld a, $2 - hlcoord 0, 6, AttrMap - ld bc, $c8 - call ByteFill - callba Function104061 - ret -; 11c62a (47:462a) - -String_11c62a: ; 11c62a - db "けす モード やめる@" -; 11c63a - -Unknown_11c63a: ; 11c63a - dwcoord 1, 7 - dwcoord 7, 7 - dwcoord 13, 7 - dwcoord 1, 9 - dwcoord 7, 9 - dwcoord 13, 9 - dwcoord 1, 11 - dwcoord 7, 11 - dwcoord 13, 11 - dwcoord 1, 13 - dwcoord 7, 13 - dwcoord 13, 13 - dwcoord 1, 15 - dwcoord 7, 15 - dwcoord 13, 15 -; 11c658 - -Function11c658: ; 11c658 (47:4658) - call Function11c277 - call Function11c770 - ld de, Unknown_11cfc2 - call Function11d035 - call Function11c9ab - call Function11c7bc - call Function11c86e - ld hl, wcd24 - res 3, [hl] - call Function11cfb5 - -Function11c675: ; 11c675 (47:4675) - ld hl, wcd25 - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and A_BUTTON - jr nz, .a - ld a, [de] - and B_BUTTON - jr nz, .b - ld a, [de] - and START - jr nz, .start - ld a, [de] - and SELECT - jr z, .select - - ld a, [wcd26] - and a - ret z - sub $c - jr nc, .asm_11c699 - xor a -.asm_11c699 - ld [wcd26], a - jr .asm_11c6c4 - -.start - ld hl, wcd28 - ld a, [wcd26] - add $c - cp [hl] - ret nc - ld [wcd26], a - ld a, [hl] - ld b, a - ld hl, wcd25 - ld a, [wcd26] - add [hl] - jr c, .asm_11c6b9 - cp b - jr c, .asm_11c6c4 -.asm_11c6b9 - ld a, [wcd28] - ld hl, wcd26 - sub [hl] - dec a - ld [wcd25], a -.asm_11c6c4 - call Function11c992 - call Function11c7bc - call Function11c86e - ret - -.select - ld de, hJoyLast - ld a, [de] - and D_UP - jr nz, .asm_11c708 - ld a, [de] - and D_DOWN - jr nz, .asm_11c731 - ld a, [de] - and D_LEFT - jr nz, .asm_11c746 - ld a, [de] - and D_RIGHT - jr nz, .asm_11c755 - ret - -.a - call Function11c8f6 - ld a, $4 - ld [wcd35], a - jr .asm_11c6fc -.b - ld a, [wcd2b] - and a - jr nz, .asm_11c6fa - ld a, $6 - jr .asm_11c6fc -.asm_11c6fa - ld a, $15 -.asm_11c6fc - ld [wJumptableIndex], a - ld hl, wcd24 - set 3, [hl] - call PlayClickSFX - ret -.asm_11c708 - ld a, [hl] - cp $3 - jr c, .asm_11c711 - sub $3 - jr .asm_11c76e -.asm_11c711 - ld a, [wcd26] - sub $3 - ret c - ld [wcd26], a - jr .asm_11c6c4 -.asm_11c71c - ld hl, wcd28 - ld a, [wcd26] - add $c - ret c - cp [hl] - ret nc - ld a, [wcd26] - add $3 - ld [wcd26], a - jr .asm_11c6c4 -.asm_11c731 - ld a, [wcd28] - ld b, a - ld a, [wcd26] - add [hl] - add $3 - cp b - ret nc - ld a, [hl] - cp $9 - jr nc, .asm_11c71c - add $3 - jr .asm_11c76e -.asm_11c746 - ld a, [hl] - and a - ret z - cp $3 - ret z - cp $6 - ret z - cp $9 - ret z - dec a - jr .asm_11c76e -.asm_11c755 - ld a, [wcd28] - ld b, a - ld a, [wcd26] - add [hl] - inc a - cp b - ret nc - ld a, [hl] - cp $2 - ret z - cp $5 - ret z - cp $8 - ret z - cp $b - ret z - inc a -.asm_11c76e - ld [hl], a - ret - -Function11c770: ; 11c770 (47:4770) - xor a - ld [wcd25], a - ld [wcd26], a - ld [wcd27], a - ld a, [wcd2b] - and a - jr nz, .asm_11c7ab - ld a, [wcd21] - and a - jr z, .asm_11c799 - dec a - sla a - ld hl, Unknown_11f220 - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - ld [wcd28], a - ld a, [hl] -.asm_11c795 - ld [wcd29], a - ret -.asm_11c799 - ld a, [wc7d2] - ld [wcd28], a -.asm_11c79f - ld c, $c - call SimpleDivide - and a - jr nz, .asm_11c7a8 - dec b -.asm_11c7a8 - ld a, b - jr .asm_11c795 -.asm_11c7ab - ld hl, $c68a + 30 - ld a, [CreditsTimer] - ld c, a - ld b, 0 -rept 2 - add hl, bc -endr - ld a, [hl] - ld [wcd28], a - jr .asm_11c79f - -Function11c7bc: ; 11c7bc (47:47bc) - ld bc, Unknown_11c854 - ld a, [wcd2b] - and a - jr nz, .asm_11c814 - ld a, [wcd21] - ld d, a - and a - jr z, .asm_11c7e9 - ld a, [wcd26] - ld e, a -.asm_11c7d0 - ld a, [bc] - ld l, a - inc bc - ld a, [bc] - ld h, a - inc bc - and l - cp $ff - ret z - push bc - push de - call Function11c05d - pop de - pop bc - inc e - ld a, [wcd28] - cp e - jr nz, .asm_11c7d0 - ret -.asm_11c7e9 - ld hl, wd100 - ld a, [wcd26] - ld e, a - add hl, de -.asm_11c7f1 - push de - ld a, [hli] - ld e, a - ld d, $0 - push hl - ld a, [bc] - ld l, a - inc bc - ld a, [bc] - ld h, a - inc bc - and l - cp $ff - jr z, .asm_11c811 - push bc - call Function11c05d - pop bc - pop hl - pop de - inc e - ld a, [wcd28] - cp e - jr nz, .asm_11c7f1 - ret -.asm_11c811 - pop hl - pop de - ret -.asm_11c814 - ld hl, $c648 - ld a, [wcd22] - ld e, a - ld d, $0 -rept 2 - add hl, de -endr - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wcd26] - ld e, a - ld d, $0 -rept 2 - add hl, de -endr - ld a, [wcd26] - ld e, a -.asm_11c831 - push de - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - ld a, [bc] - ld l, a - inc bc - ld a, [bc] - ld h, a - inc bc - and l - cp $ff - jr z, .asm_11c851 - push bc - call Function11c05d - pop bc - pop hl - pop de - inc e - ld a, [wcd28] - cp e - jr nz, .asm_11c831 - ret -.asm_11c851 - pop hl - pop de - ret -; 11c854 (47:4854) - -Unknown_11c854: ; 11c854 - dwcoord 2, 8 - dwcoord 8, 8 - dwcoord 14, 8 - dwcoord 2, 10 - dwcoord 8, 10 - dwcoord 14, 10 - dwcoord 2, 12 - dwcoord 8, 12 - dwcoord 14, 12 - dwcoord 2, 14 - dwcoord 8, 14 - dwcoord 14, 14 - dw -1 -; 11c86e - -Function11c86e: ; 11c86e (47:486e) - ld a, [wcd26] - and a - jr z, .asm_11c88a - hlcoord 2, 17 - ld de, String_11c8f0 - call PlaceString - hlcoord 6, 17 - ld c, $3 - xor a -.asm_11c883 - ld [hli], a - inc a - dec c - jr nz, .asm_11c883 - jr .asm_11c895 -.asm_11c88a - hlcoord 2, 17 - ld c, $7 - ld a, $7f -.asm_11c891 - ld [hli], a - dec c - jr nz, .asm_11c891 -.asm_11c895 - ld hl, wcd28 - ld a, [wcd26] - add $c - jr c, .asm_11c8b7 - cp [hl] - jr nc, .asm_11c8b7 - hlcoord 16, 17 - ld de, String_11c8f3 - call PlaceString - hlcoord 11, 17 - ld a, $3 - ld c, a -.asm_11c8b1 - ld [hli], a - inc a - dec c - jr nz, .asm_11c8b1 - ret -.asm_11c8b7 - hlcoord 17, 16 - ld a, $7f - ld [hl], a - hlcoord 11, 17 - ld c, $7 -.asm_11c8c2 - ld [hli], a - dec c - jr nz, .asm_11c8c2 - ret -; 11c8c7 (47:48c7) - -Function11c8c7: ; 11c8c7 - inc a - push af - and $f - ld [hDividend], a - pop af - and $f0 - swap a - ld [hQuotient], a - xor a - ld [$ffb5], a - push hl - callba Function11a80c - pop hl - ld a, [wcd63] - add $f6 - ld [hli], a - ld a, [wcd62] - add $f6 - ld [hli], a - ret -; 11c8ec - -String_11c8ec: ; 11c8ec - db "ぺージ@" -; 11c8f0 - -String_11c8f0: ; 11c8f0 - db "まえ@" -; 11c8f3 - -String_11c8f3: ; 11c8f3 - db "つぎ@" -; 11c8f6 - -Function11c8f6: ; 11c8f6 (47:48f6) - ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) - call Function11c95d - push hl - ld a, [wcd2b] - and a - jr nz, .asm_11c938 - ld a, [wcd21] - ld d, a - and a - jr z, .asm_11c927 - ld hl, wcd26 - ld a, [wcd25] - add [hl] -.asm_11c911 - ld e, a -.asm_11c912 - pop hl - push de - call Function11c05d - pop de - ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) - ld c, a - ld b, $0 - ld hl, wcd36 -rept 2 - add hl, bc -endr - ld [hl], e - inc hl - ld [hl], d - ret -.asm_11c927 - ld hl, wcd26 - ld a, [wcd25] - add [hl] - ld c, a - ld b, $0 - ld hl, wd100 - add hl, bc - ld a, [hl] - jr .asm_11c911 -.asm_11c938 - ld hl, $c648 - ld a, [wcd22] - ld e, a - ld d, $0 -rept 2 - add hl, de -endr - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wcd26] - ld e, a - ld d, $0 -rept 2 - add hl, de -endr - ld a, [wcd25] - ld e, a -rept 2 - add hl, de -endr - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - jr .asm_11c912 - -Function11c95d: ; 11c95d (47:495d) - sla a - ld c, a - ld b, 0 - ld hl, Unknown_11c986 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - push bc - push bc - pop hl - ld a, $5 - ld c, a - ld a, $7f -.asm_11c972 - ld [hli], a - dec c - jr nz, .asm_11c972 - dec hl - ld bc, -20 - add hl, bc - ld a, $5 - ld c, a - ld a, $7f -.asm_11c980 - ld [hld], a - dec c - jr nz, .asm_11c980 - pop hl - ret -; 11c986 (47:4986) - -Unknown_11c986: - dwcoord 1, 2 - dwcoord 7, 2 - dwcoord 13, 2 - dwcoord 1, 4 - dwcoord 7, 4 - dwcoord 13, 4 -; 11c992 - -Function11c992: ; 11c992 (47:4992) - ld a, $8 - hlcoord 2, 7 -.asm_11c997 - push af - ld a, $7f - push hl - ld bc, $11 - call ByteFill - pop hl - ld bc, $14 - add hl, bc - pop af - dec a - jr nz, .asm_11c997 - ret - -Function11c9ab: ; 11c9ab (47:49ab) - ld a, $7 - hlcoord 0, 6, AttrMap - ld bc, $c8 - call ByteFill - callba Function104061 - ret - -Function11c9bd: ; 11c9bd (47:49bd) - ld de, String_11ca38 - call Function11ca7f - -Function11c9c3: ; 11c9c3 (47:49c3) - ld hl, wcd2a - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and $1 - jr nz, .asm_11c9de - ld a, [de] - and $2 - jr nz, .asm_11c9e9 - ld a, [de] - and $40 - jr nz, .asm_11c9f7 - ld a, [de] - and $80 - jr nz, .asm_11c9fc - ret -.asm_11c9de - ld a, [hl] - and a - jr nz, .asm_11c9e9 - call Function11ca5e - xor a - ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) -.asm_11c9e9 - ld hl, wcd24 - set 4, [hl] - ld a, $4 - ld [wJumptableIndex], a - call PlayClickSFX - ret -.asm_11c9f7 - ld a, [hl] - and a - ret z - dec [hl] - ret -.asm_11c9fc - ld a, [hl] - and a - ret nz - inc [hl] - ret - -Function11ca01: ; 11ca01 (47:4a01) - hlcoord 14, 7, AttrMap - ld de, $14 - ld a, $5 - ld c, a -.asm_11ca0a - push hl - ld a, $6 - ld b, a - ld a, $7 -.asm_11ca10 - ld [hli], a - dec b - jr nz, .asm_11ca10 - pop hl - add hl, de - dec c - jr nz, .asm_11ca0a - -Function11ca19: ; 11ca19 (47:4a19) - hlcoord 0, 12, AttrMap - ld de, $14 - ld a, $6 - ld c, a -.asm_11ca22 - push hl - ld a, $14 - ld b, a - ld a, $7 -.asm_11ca28 - ld [hli], a - dec b - jr nz, .asm_11ca28 - pop hl - add hl, de - dec c - jr nz, .asm_11ca22 - callba Function104061 - ret -; 11ca38 (47:4a38) - -String_11ca38: ; 11ca38 - db "とうろくちゅう", $25, "あいさつ", $1f, "ぜんぶ" - next "けしても よろしいですか?@" -; 11ca57 - -String_11ca57: ; 11ca57 - db "はい" - next "いいえ@" -; 11ca5e - -Function11ca5e: ; 11ca5e (47:4a5e) - xor a -.asm_11ca5f - push af - call Function11ca6a - pop af - inc a - cp $6 - jr nz, .asm_11ca5f - ret - -Function11ca6a: ; 11ca6a (47:4a6a) - ld hl, wcd36 - ld c, a - ld b, $0 -rept 2 - add hl, bc -endr - ld [hl], b - inc hl - ld [hl], b - call Function11c95d - ld de, String_11c3bc - call PlaceString - ret - -Function11ca7f: ; 11ca7f (47:4a7f) - push de - ld de, Unknown_11cfc6 - call Function11cfce - ld de, Unknown_11cfca - call Function11cfce - hlcoord 1, 14 - pop de - call PlaceString - hlcoord 16, 8 - ld de, String_11ca57 - call PlaceString - call Function11ca01 - ld a, $1 - ld [wcd2a], a - ld hl, wcd24 - res 4, [hl] - call Function11cfb5 - ret - -Function11caad: ; 11caad (47:4aad) - ld de, String_11cb1c - call Function11ca7f - -Function11cab3: ; 11cab3 (47:4ab3) - ld hl, wcd2a - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and $1 - jr nz, .asm_11cace - ld a, [de] - and $2 - jr nz, .asm_11caf9 - ld a, [de] - and $40 - jr nz, .asm_11cb12 - ld a, [de] - and $80 - jr nz, .asm_11cb17 - ret -.asm_11cace - call PlayClickSFX - ld a, [hl] - and a - jr nz, .asm_11cafc - ld a, [wcd35] - and a - jr z, .asm_11caf3 - cp $ff - jr z, .asm_11caf3 - ld a, $ff - ld [wcd35], a - hlcoord 1, 14 - ld de, String_11cb31 - call PlaceString - ld a, $1 - ld [wcd2a], a - ret -.asm_11caf3 - ld hl, wJumptableIndex - set 7, [hl] - ret -.asm_11caf9 - call PlayClickSFX -.asm_11cafc - ld hl, wcd24 - set 4, [hl] - ld a, $4 - ld [wJumptableIndex], a - ld a, [wcd35] - cp $ff - ret nz - ld a, $1 - ld [wcd35], a - ret -.asm_11cb12 - ld a, [hl] - and a - ret z - dec [hl] - ret -.asm_11cb17 - ld a, [hl] - and a - ret nz - inc [hl] - ret -; 11cb1c (47:4b1c) - -String_11cb1c: ; 11cb1c - db "あいさつ", $25, "とうろく", $1f, "ちゅうし" - next "しますか?@" -; 11cb31 - -String_11cb31: ; 11cb31 - db "とうろくちゅう", $25, "あいさつ", $24, "ほぞん" - next "されません", $4a, "よろしい ですか?@" -; 11cb52 - -Function11cb52: ; 11cb52 (47:4b52) - ld hl, Unknown_11cc01 - ld a, [MenuSelection2] -.asm_11cb58 - dec a - jr z, .asm_11cb5f -rept 2 - inc hl -endr - jr .asm_11cb58 -.asm_11cb5f - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - call Function11ca7f - -Function11cb66: ; 11cb66 (47:4b66) - ld hl, wcd2a - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and $1 - jr nz, .asm_11cb81 - ld a, [de] - and $2 - jr nz, .asm_11cbd7 - ld a, [de] - and $40 - jr nz, .asm_11cbeb - ld a, [de] - and $80 - jr nz, .asm_11cbf0 - ret -.asm_11cb81 - ld a, [hl] - and a - jr nz, .asm_11cbd4 - ld a, $4 - call GetSRAMBank - ld hl, $a007 - ld a, [MenuSelection2] - dec a - sla a - sla a - ld c, a - sla a - add c - ld c, a - ld b, $0 - add hl, bc - ld de, wcd36 - ld c, $c -.asm_11cba2 - ld a, [de] - ld [hli], a - inc de - dec c - jr nz, .asm_11cba2 - call CloseSRAM - call PlayClickSFX - ld de, Unknown_11cfc6 - call Function11cfce - ld hl, Unknown_11cc7e - ld a, [MenuSelection2] -.asm_11cbba - dec a - jr z, .asm_11cbc1 -rept 2 - inc hl -endr - jr .asm_11cbba -.asm_11cbc1 - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - hlcoord 1, 14 - call PlaceString - ld hl, wJumptableIndex - inc [hl] - inc hl - ld a, $10 - ld [hl], a - ret -.asm_11cbd4 - call PlayClickSFX -.asm_11cbd7 - ld de, Unknown_11cfba - call Function11cfce - call Function11c38a - ld hl, wcd24 - set 4, [hl] - ld a, $4 - ld [wJumptableIndex], a - ret -.asm_11cbeb - ld a, [hl] - and a - ret z - dec [hl] - ret -.asm_11cbf0 - ld a, [hl] - and a - ret nz - inc [hl] - ret - -Function11cbf5: ; 11cbf5 (47:4bf5) - call WaitSFX - ld hl, wcf64 - dec [hl] - ret nz - dec hl - set 7, [hl] - ret -; 11cc01 (47:4c01) - -Unknown_11cc01: ; 11cc01 - dw String_11cc09 - dw String_11cc23 - dw String_11cc42 - dw String_11cc60 - -String_11cc09: ; 11cc09 - db "じこしょうかい は" - next "この あいさつで いいですか?@" - -String_11cc23: ; 11cc23 - db "たいせん ", $4a, "はじまるとき は" - next "この あいさつで いいですか?@" - -String_11cc42: ; 11cc42 - db "たいせん ", $1d, "かったとき は" - next "この あいさつで いいですか?@" - -String_11cc60: ; 11cc60 - db "たいせん ", $1d, "まけたとき は" - next "この あいさつで いいですか?@" -; 11cc7e - -Unknown_11cc7e: ; 11cc7e - dw String_11cc86 - dw String_11cc9d - dw String_11ccb9 - dw String_11ccd4 - -String_11cc86: ; 11cc86 - db "じこしょうかい の" - next "あいさつ", $1f, "とうろくした!@" - -String_11cc9d: ; 11cc9d - db "たいせん ", $4a, "はじまるとき の" - next "あいさつ", $1f, "とうろくした!@" - -String_11ccb9: ; 11ccb9 - db "たいせん ", $1d, "かったとき の" - next "あいさつ", $1f, "とうろくした!@" - -String_11ccd4: ; 11ccd4 - db "たいせん ", $1d, "まけたとき の" - next "あいさつ", $1f, "とうろくした!@" -; 11ccef - -Function11ccef: ; 11ccef (47:4cef) - ld de, Unknown_11cfc6 - call Function11cfce - hlcoord 1, 14 - ld de, String_11cd10 - call PlaceString - call Function11ca19 - call Function11cfb5 - -Function11cd04: ; 11cd04 (47:4d04) - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and a - ret z - ld a, $4 - ld [wJumptableIndex], a - ret -; 11cd10 (47:4d10) - -String_11cd10: ; 11cd10 - db "なにか ことば", $1f, "いれてください@" -; 11cd20 - -Function11cd20: ; 11cd20 (47:4d20) - call Function11c277 - ld de, Unknown_11cfc6 - call Function11cfce - hlcoord 1, 14 - ld a, [wcd2b] - ld [wcd2c], a - and a - jr nz, .asm_11cd3a - ld de, String_11cdc7 - jr .asm_11cd3d -.asm_11cd3a - ld de, String_11cdd9 -.asm_11cd3d - call PlaceString - hlcoord 4, 8 - ld de, String_11cdf5 - call PlaceString - call Function11cdaa - ld hl, wcd24 - res 5, [hl] - call Function11cfb5 - -Function11cd54: ; 11cd54 (47:4d54) - ld hl, wcd2c - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and A_BUTTON - jr nz, .asm_11cd6f - ld a, [de] - and B_BUTTON - jr nz, .asm_11cd73 - ld a, [de] - and D_UP - jr nz, .asm_11cd8b - ld a, [de] - and D_DOWN - jr nz, .asm_11cd94 - ret - -.asm_11cd6f - ld a, [hl] - ld [wcd2b], a -.asm_11cd73 - ld a, [wcd2b] - and a - jr nz, .asm_11cd7d - ld a, $6 - jr .asm_11cd7f - -.asm_11cd7d - ld a, $15 -.asm_11cd7f - ld [wJumptableIndex], a - ld hl, wcd24 - set 5, [hl] - call PlayClickSFX - ret - -.asm_11cd8b - ld a, [hl] - and a - ret z - dec [hl] - ld de, String_11cdc7 - jr .asm_11cd9b - -.asm_11cd94 - ld a, [hl] - and a - ret nz - inc [hl] - ld de, String_11cdd9 -.asm_11cd9b - push de - ld de, Unknown_11cfc6 - call Function11cfce - pop de - hlcoord 1, 14 - call PlaceString - ret - -Function11cdaa: ; 11cdaa (47:4daa) - ld a, $2 - hlcoord 0, 6, AttrMap - ld bc, $78 - call ByteFill - ld a, $7 - hlcoord 0, 12, AttrMap - ld bc, $50 - call ByteFill - callba Function104061 - ret -; 11cdc7 (47:4dc7) - -String_11cdc7: ; 11cdc7 - db "ことば", $1f, "しゅるいべつに" - next "えらべます@" -; 11cdd9 - -String_11cdd9: ; 11cdd9 - db "ことば", $1f, "アイウエォ の" - next "じゅんばんで ひょうじ します@" -; 11cdf5 - -String_11cdf5: ; 11cdf5 - db "しゅるいべつ モード" - next "アイウエォ モード@" -; 11ce0b - -Function11ce0b: ; 11ce0b (47:4e0b) - call Function11c277 - hlcoord 1, 7 - ld de, String_11cf79 - call PlaceString - hlcoord 1, 17 - ld de, String_11c62a - call PlaceString - call Function11c618 - ld hl, wcd24 - res 2, [hl] - call Function11cfb5 - -Function11ce2b: ; 11ce2b (47:4e2b) - ld a, [CreditsTimer] - sla a - sla a - ld c, a - ld b, 0 - ld hl, Unknown_11ceb9 - add hl, bc - - ld de, hJoypadPressed ; $ffa3 - ld a, [de] - and START - jr nz, .start - ld a, [de] - and SELECT - jr nz, .select - ld a, [de] - and A_BUTTON - jr nz, .a - ld a, [de] - and B_BUTTON - jr nz, .b - - ld de, hJoyLast - ld a, [de] - and D_UP - jr nz, .up - ld a, [de] - and D_DOWN - jr nz, .down - ld a, [de] - and D_LEFT - jr nz, .left - ld a, [de] - and D_RIGHT - jr nz, .right - - ret - -.a - ld a, [CreditsTimer] - cp $2d - jr c, .asm_11ce92 - sub $2d - jr z, .asm_11cea4 - dec a - jr z, .asm_11ce96 - jr .b - -.start - ld hl, wcd24 - set 0, [hl] - ld a, $8 - ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) -.b - ld a, $4 - jr .asm_11ce98 -.select - ld a, [wcd2b] - xor $1 - ld [wcd2b], a - ld a, $6 - jr .asm_11ce98 - -.asm_11ce92 - ld a, $8 - jr .asm_11ce98 - -.asm_11ce96 - ld a, $13 -.asm_11ce98 - ld [wJumptableIndex], a - ld hl, wcd24 - set 2, [hl] - call PlayClickSFX - ret -.asm_11cea4 - ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) - call Function11ca6a - call PlayClickSFX - ret - -.left - inc hl -.down - inc hl -.right - inc hl -.up - ld a, [hl] - cp $ff - ret z - ld [CreditsTimer], a - ret -; 11ceb9 (47:4eb9) - -Unknown_11ceb9: ; 11ceb9 - ; up left down right - db $ff, $01, $05, $ff - db $ff, $02, $06, $00 - db $ff, $03, $07, $01 - db $ff, $04, $08, $02 - db $ff, $14, $09, $03 - db $00, $06, $0a, $ff - db $01, $07, $0b, $05 - db $02, $08, $0c, $06 - db $03, $09, $0d, $07 - db $04, $19, $0e, $08 - db $05, $0b, $0f, $ff - db $06, $0c, $10, $0a - db $07, $0d, $11, $0b - db $08, $0e, $12, $0c - db $09, $1e, $13, $0d - db $0a, $10, $2d, $ff - db $0b, $11, $2d, $0f - db $0c, $12, $2d, $10 - db $0d, $13, $2d, $11 - db $0e, $26, $2d, $12 - db $ff, $15, $19, $04 - db $ff, $16, $1a, $14 - db $ff, $17, $1b, $15 - db $ff, $18, $1c, $16 - db $ff, $23, $1d, $17 - db $14, $1a, $1e, $09 - db $15, $1b, $1f, $19 - db $16, $1c, $20, $1a - db $17, $1d, $21, $1b - db $18, $2b, $22, $1c - db $19, $1f, $26, $0e - db $1a, $20, $27, $1e - db $1b, $21, $28, $1f - db $1c, $22, $29, $20 - db $1d, $2c, $2a, $21 - db $ff, $24, $2b, $18 - db $ff, $25, $2b, $23 - db $ff, $ff, $2b, $24 - db $1e, $27, $2e, $13 - db $1f, $28, $2e, $26 - db $20, $29, $2e, $27 - db $21, $2a, $2e, $28 - db $22, $ff, $2e, $29 - db $23, $ff, $2c, $1d - db $2b, $ff, $2f, $22 - db $0f, $2e, $ff, $ff - db $26, $2f, $ff, $2d - db $2c, $ff, $ff, $2e -; 11cf79 - -String_11cf79: ; 11cf79 - db "あいうえお なにぬねの や ゆ よ" - next "かきくけこ はひふへほ わ" - next "さしすせそ まみむめも そのた" - next "たちつてと らりるれろ" - db "@" -; 11cfb5 - -Function11cfb5: ; 11cfb5 (47:4fb5) - ld hl, wJumptableIndex - inc [hl] - ret -; 11cfba (47:4fba) - -Unknown_11cfba: - db 0, 0 ; start coords - db 20, 6 ; end coords - -Unknown_11cfbe: - db 0, 14 ; start coords - db 20, 4 ; end coords - -Unknown_11cfc2: - db 0, 6 ; start coords - db 20, 10 ; end coords - -Unknown_11cfc6: - db 0, 12 ; start coords - db 20, 6 ; end coords - -Unknown_11cfca: - db 14, 7 ; start coords - db 6, 5 ; end coords -; 11cfce - -Function11cfce: ; 11cfce (47:4fce) - hlcoord 0, 0 - ld bc, $14 - ld a, [de] - inc de - push af - ld a, [de] - inc de - and a -.asm_11cfda - jr z, .asm_11cfe0 - add hl, bc - dec a - jr .asm_11cfda -.asm_11cfe0 - pop af - ld c, a - ld b, 0 - add hl, bc - push hl - ld a, $79 - ld [hli], a - ld a, [de] - inc de -rept 2 - dec a -endr - jr z, .asm_11cff6 - ld c, a - ld a, $7a -.asm_11cff2 - ld [hli], a - dec c - jr nz, .asm_11cff2 -.asm_11cff6 - ld a, $7b - ld [hl], a - pop hl - ld bc, $14 - add hl, bc - ld a, [de] - dec de -rept 2 - dec a -endr - jr z, .asm_11d022 - ld b, a -.asm_11d005 - push hl - ld a, $7c - ld [hli], a - ld a, [de] -rept 2 - dec a -endr - jr z, .asm_11d015 - ld c, a - ld a, $7f -.asm_11d011 - ld [hli], a - dec c - jr nz, .asm_11d011 -.asm_11d015 - ld a, $7c - ld [hl], a - pop hl - push bc - ld bc, $14 - add hl, bc - pop bc - dec b - jr nz, .asm_11d005 -.asm_11d022 - ld a, $7d - ld [hli], a - ld a, [de] -rept 2 - dec a -endr - jr z, .asm_11d031 - ld c, a - ld a, $7a -.asm_11d02d - ld [hli], a - dec c - jr nz, .asm_11d02d -.asm_11d031 - ld a, $7e - ld [hl], a - ret - -Function11d035: ; 11d035 (47:5035) - hlcoord 0, 0 - ld bc, $14 - ld a, [de] - inc de - push af - ld a, [de] - inc de - and a -.asm_11d041 - jr z, .asm_11d047 - add hl, bc - dec a - jr .asm_11d041 -.asm_11d047 - pop af - ld c, a - ld b, $0 - add hl, bc - push hl - ld a, $79 - ld [hl], a - pop hl - push hl - ld a, [de] - dec a - inc de - ld c, a - add hl, bc - ld a, $7b - ld [hl], a - call Function11d0ac - ld a, $7e - ld [hl], a - pop hl - push hl - call Function11d0ac - ld a, $7d - ld [hl], a - pop hl - push hl - inc hl - push hl - call Function11d0ac - pop bc - dec de - ld a, [de] - cp $2 - jr z, .asm_11d082 -rept 2 - dec a -endr -.asm_11d078 - push af - ld a, $7a - ld [hli], a - ld [bc], a - inc bc - pop af - dec a - jr nz, .asm_11d078 -.asm_11d082 - pop hl - ld bc, $14 - add hl, bc - push hl - ld a, [de] - dec a - ld c, a - ld b, $0 - add hl, bc - pop bc - inc de - ld a, [de] - cp $2 - ret z - push bc -rept 2 - dec a -endr - ld c, a - ld b, a - ld de, $14 -.asm_11d09c - ld a, $7c - ld [hl], a - add hl, de - dec c - jr nz, .asm_11d09c - pop hl -.asm_11d0a4 - ld a, $7c - ld [hl], a - add hl, de - dec b - jr nz, .asm_11d0a4 - ret - -Function11d0ac: ; 11d0ac (47:50ac) - ld a, [de] - dec a - ld bc, $14 -.asm_11d0b1 - add hl, bc - dec a - jr nz, .asm_11d0b1 - ret - -Function11d0b6: ; 11d0b6 (47:50b6) - ld hl, $c - add hl, bc - ld a, [hl] - ld e, a - ld d, 0 - ld hl, Jumptable_11d0c7 -rept 2 - add hl, de -endr - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -Jumptable_11d0c7: ; 11d0c7 (47:50c7) - dw Function11d0dd - dw Function11d0e9 - dw Function11d0f5 - dw Function11d10f - dw Function11d134 - dw Function11d145 - dw Function11d156 - dw Function11d175 - dw Function11d1d7 - dw Function11d1d1 - dw Function11d1fc - - -Function11d0dd: ; 11d0dd (47:50dd) - ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) - sla a - ld hl, Unknown_11d208 - ld e, $1 - jr asm_11d11e - -Function11d0e9: ; 11d0e9 (47:50e9) - ld a, [wcd21] - sla a - ld hl, Unknown_11d21a - ld e, $2 - jr asm_11d11e - -Function11d0f5: ; 11d0f5 (47:50f5) - ld hl, Unknown_11d2be - ld a, [CreditsTimer] - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - call Function3b3c - ld a, [CreditsTimer] - sla a - ld hl, Unknown_11d23e - ld e, $4 - jr asm_11d11e - -Function11d10f: ; 11d10f (47:510f) - ld a, $27 - call Function3b3c - ld a, [wcd25] - sla a - ld hl, Unknown_11d29e - ld e, $8 - -asm_11d11e: ; 11d11e (47:511e) - push de - ld e, a - ld d, $0 - add hl, de - push hl - pop de - ld hl, $4 - add hl, bc - ld a, [de] - inc de - ld [hli], a - ld a, [de] - ld [hl], a - pop de - ld a, e - call Function11d2ee - ret - -Function11d134: ; 11d134 (47:5134) - ld a, $27 - call Function3b3c - ld a, [wcd2a] - sla a - ld hl, Unknown_11d2b6 - ld e, $10 - jr asm_11d11e - -Function11d145: ; 11d145 (47:5145) - ld a, $27 - call Function3b3c - ld a, [wcd2c] - sla a - ld hl, Unknown_11d2ba - ld e, $20 - jr asm_11d11e - -Function11d156: ; 11d156 (47:5156) - ld a, $2a - call Function3b3c - ld a, [wcd4a] - sla a - sla a - sla a - add $18 - ld hl, $4 - add hl, bc - ld [hli], a - ld a, $30 - ld [hl], a - ld a, $1 - ld e, a - call Function11d2ee - ret - -Function11d175: ; 11d175 (47:5175) - ld a, [wcd4d] - cp $4 - jr z, .asm_11d180 - ld a, $28 - jr .asm_11d182 -.asm_11d180 - ld a, $26 -.asm_11d182 - call Function3b3c - ld a, [wcd4d] - cp $4 - jr z, .asm_11d1b1 - ld a, [wcd4c] - sla a - sla a - sla a - add $20 - ld hl, $4 - add hl, bc - ld [hli], a - ld a, [wcd4d] - sla a - sla a - sla a - sla a - add $48 - ld [hl], a - ld a, $2 - ld e, a - call Function11d2ee - ret -.asm_11d1b1 - ld a, [wcd4c] - sla a - sla a - sla a - ld e, a - sla a - sla a - add e - add $18 - ld hl, $4 - add hl, bc - ld [hli], a - ld a, $8a - ld [hl], a - ld a, $2 - ld e, a - call Function11d2ee - ret - -Function11d1d1: ; 11d1d1 (47:51d1) - ld d, $98 - ld a, $2c - jr asm_11d1db - -Function11d1d7: ; 11d1d7 (47:51d7) - ld d, $10 - ld a, $2b - -asm_11d1db: ; 11d1db (47:51db) - push de - call Function3b3c - ld a, [wcd4a] - sla a - sla a - sla a - ld e, a - sla a - add e - add $40 - ld hl, $5 - add hl, bc - ld [hld], a - pop af - ld [hl], a - ld a, $4 - ld e, a - call Function11d2ee - ret - -Function11d1fc: ; 11d1fc (47:51fc) - ld a, $26 - call Function3b3c - ld a, $8 - ld e, a - call Function11d2ee - ret -; 11d208 (47:5208) - -Unknown_11d208: ; 11d208 - db $0d, $1a - db $3d, $1a - db $6d, $1a - db $0d, $2a - db $3d, $2a - db $6d, $2a - db $0d, $8a - db $3d, $8a - db $6d, $8a - -Unknown_11d21a: ; 11d21a - db $0d, $42 - db $3d, $42 - db $6d, $42 - db $0d, $52 - db $3d, $52 - db $6d, $52 - db $0d, $62 - db $3d, $62 - db $6d, $62 - db $0d, $72 - db $3d, $72 - db $6d, $72 - db $0d, $82 - db $3d, $82 - db $6d, $82 - db $0d, $92 - db $3d, $92 - db $6d, $92 - -Unknown_11d23e: ; 11d23e - db $10, $48 - db $18, $48 - db $20, $48 - db $28, $48 - db $30, $48 - db $10, $58 - db $18, $58 - db $20, $58 - db $28, $58 - db $30, $58 - db $10, $68 - db $18, $68 - db $20, $68 - db $28, $68 - db $30, $68 - db $10, $78 - db $18, $78 - db $20, $78 - db $28, $78 - db $30, $78 - db $40, $48 - db $48, $48 - db $50, $48 - db $58, $48 - db $60, $48 - db $40, $58 - db $48, $58 - db $50, $58 - db $58, $58 - db $60, $58 - db $40, $68 - db $48, $68 - db $50, $68 - db $58, $68 - db $60, $68 - db $70, $48 - db $80, $48 - db $90, $48 - db $40, $78 - db $48, $78 - db $50, $78 - db $58, $78 - db $60, $78 - db $70, $58 - db $70, $68 - db $0d, $92 - db $3d, $92 - db $6d, $92 - -Unknown_11d29e: ; 11d29e - db $10, $50 - db $40, $50 - db $70, $50 - db $10, $60 - db $40, $60 - db $70, $60 - db $10, $70 - db $40, $70 - db $70, $70 - db $10, $80 - db $40, $80 - db $70, $80 - -Unknown_11d2b6: ; 11d2b6 - db $80, $50 - db $80, $60 - -Unknown_11d2ba: ; 11d2ba - db $20, $50 - db $20, $60 - -Unknown_11d2be: ; 11d2be - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $28, $28 - db $29, $26 - db $26, $26 - -Function11d2ee: ; 11d2ee (47:52ee) - ld hl, wcd24 - and [hl] - jr nz, .asm_11d316 - ld a, e - ld hl, wcd23 - and [hl] - jr z, .asm_11d30f - ld hl, $e - add hl, bc - ld a, [hl] - and a - jr z, .asm_11d305 - dec [hl] - ret -.asm_11d305 - ld a, $0 - ld [hld], a - ld a, $1 - xor [hl] - ld [hl], a - and a - jr nz, .asm_11d316 -.asm_11d30f - ld hl, $7 - add hl, bc - xor a - ld [hl], a - ret -.asm_11d316 - ld hl, $5 - add hl, bc - ld a, $b0 - sub [hl] - ld hl, $7 - add hl, bc - ld [hl], a - ret +INCLUDE "misc/fixed_words.asm" -Function11d323: ; 11d323 - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, Palette_11d33a - ld de, wMapPals - ld bc, 16 * 8 - call CopyBytes - pop af - ld [rSVBK], a - ret -; 11d33a - -Palette_11d33a: - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 16, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 23, 17, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - -; 11d3ba - -Function11d3ba: ; 11d3ba - ld a, [rSVBK] - push af - ld hl, BattleMonSpclDef - ld a, $0 - ld [wcd2d], a - ld [hli], a - ld a, $d8 - ld [wcd2e], a - ld [hl], a - ld a, $fe - ld [wcd2f], a - ld a, $54 - ld [wcd30], a - ld a, $a8 - ld [wcd31], a - ld a, $c6 - ld [wcd32], a - ld a, $4a - ld [wcd33], a - ld a, $c6 - ld [wcd34], a - ld hl, Unknown_11f23c - ld a, $2d - -Function11d3ef: ; 11d3ef - push af - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - push hl - ld hl, wMapPals - add hl, de - ld a, [wcd2d] - ld e, a - ld a, [wcd2e] - ld d, a - push bc -.asm_11d406 - ld a, $3 - ld [rSVBK], a - ld a, [hli] - push af - ld a, $5 - ld [rSVBK], a - pop af - ld [de], a - inc de - ld a, $3 - ld [rSVBK], a - ld a, [hli] - push af - ld a, $5 - ld [rSVBK], a - pop af - ld [de], a - inc de - dec bc - ld a, c - or b - jr nz, .asm_11d406 - ld a, [wcd2f] - ld l, a - ld a, [wcd30] - ld h, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, l - ld [wcd2f], a - ld a, h - ld [wcd30], a - push bc - pop hl - ld c, $0 -.asm_11d43d - ld a, [hl] - cp $ff - jr z, .asm_11d453 - call Function11d493 - jr nz, .asm_11d44a - inc hl - jr .asm_11d43d - -.asm_11d44a - ld a, [hli] - ld [de], a - inc de - xor a - ld [de], a - inc de - inc c - jr .asm_11d43d - -.asm_11d453 - pop hl - ld b, $0 - add hl, bc - push hl - pop bc - ld a, [wcd31] - ld l, a - ld a, [wcd32] - ld h, a - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld a, l - ld [wcd31], a - ld a, h - ld [wcd32], a - ld a, [wcd33] - ld l, a - ld a, [wcd34] - ld h, a - ld a, e - ld [wcd2d], a - ld [hli], a - ld a, d - ld [wcd2e], a - ld [hli], a - ld a, l - ld [wcd33], a - ld a, h - ld [wcd34], a - pop hl - pop af - dec a - jr z, .asm_11d48f - jp Function11d3ef - -.asm_11d48f - pop af - ld [rSVBK], a - ret -; 11d493 - -Function11d493: ; 11d493 - push hl - push bc - push de - dec a - ld hl, rSVBK - ld e, $1 - ld [hl], e - call CheckSeenMon - ld hl, rSVBK - ld e, $5 - ld [hl], e - pop de - pop bc - pop hl - ret -; 11d4aa - -Function11d4aa: ; 11d4aa - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld hl, Unknown_11daac - ld bc, Unknown_11f220 - xor a - ld [wcd2d], a - inc a - ld [wcd2e], a - ld a, $e -.asm_11d4c1 - push af - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - ld hl, $0005 - add hl, de - ld a, [bc] -rept 2 - inc bc -endr - push bc -.asm_11d4cf - push af - push hl - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - ld hl, wd000 - add hl, de - ld a, [wcd2d] - ld [hli], a - inc a - ld [wcd2d], a - ld a, [wcd2e] - ld [hl], a - pop hl - ld de, $0008 - add hl, de - pop af - dec a - jr nz, .asm_11d4cf - ld hl, wcd2d - xor a - ld [hli], a - inc [hl] - pop bc - pop hl - pop af - dec a - jr nz, .asm_11d4c1 - pop af - ld [rSVBK], a - ret -; 11d4fe - - -Unknown_11d4fe: -; Pokemon sorted by kana. -; Notably, Rhydon is missing. - - dw Unknown_11d558 - dw Unknown_11d55f - dw Unknown_11d565 - dw Unknown_11d56c - dw Unknown_11d574 - dw Unknown_11d57f - dw Unknown_11d58e - dw Unknown_11d598 - dw Unknown_11d59f - dw Unknown_11d5a3 - dw Unknown_11d5b2 - dw Unknown_11d5bb - dw Unknown_11d5c0 - dw Unknown_11d5c8 - dw Unknown_11d5cb - dw Unknown_11d5cd - dw Unknown_11d5d1 - dw Unknown_11d5d4 - dw Unknown_11d5d6 - dw Unknown_11d5dc - dw Unknown_11d5e7 - dw Unknown_11d5ea - dw Unknown_11d5f7 - dw Unknown_11d5f9 - dw Unknown_11d5fc - dw Unknown_11d5fe - dw Unknown_11d60e - dw Unknown_11d61d - dw Unknown_11d62e - dw Unknown_11d636 - dw Unknown_11d63e - dw Unknown_11d649 - dw Unknown_11d64e - dw Unknown_11d651 - dw Unknown_11d656 - dw Unknown_11d65a - dw Unknown_11d660 - dw Unknown_11d662 - dw Unknown_11d665 - dw Unknown_11d66d - dw Unknown_11d671 - dw Unknown_11d674 - dw Unknown_11d678 - dw Unknown_11d67a - dw Unknown_11d67d - -Unknown_11d558: db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN, $ff -Unknown_11d55f: db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX, $ff -Unknown_11d565: db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB, $ff -Unknown_11d56c: db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI, $ff -Unknown_11d574: db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE, $ff -Unknown_11d57f: db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN, $ff -Unknown_11d58e: db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER, $ff -Unknown_11d598: db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT, $ff -Unknown_11d59f: db ABRA, GENGAR, TAUROS, $ff -Unknown_11d5a3: db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT, $ff -Unknown_11d5b2: db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH, $ff -Unknown_11d5bb: db SEADRA, SHELLDER, VAPOREON, DEWGONG, $ff -Unknown_11d5c0: db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE, $ff -Unknown_11d5c8: db SQUIRTLE, CELEBI, $ff -Unknown_11d5cb: db WOBBUFFET, $ff -Unknown_11d5cd: db DUGTRIO, HORSEA, EXEGGCUTE, $ff -Unknown_11d5d1: db CHIKORITA, CHINCHOU, $ff -Unknown_11d5d4: db SHUCKLE, $ff -Unknown_11d5d6: db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS, $ff -Unknown_11d5dc: db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN, $ff -Unknown_11d5e7: db ODDISH, EXEGGUTOR, $ff -Unknown_11d5ea: db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG, $ff -Unknown_11d5f7: db QUAGSIRE, $ff -Unknown_11d5f9: db NATU, XATU, $ff -Unknown_11d5fc: db DUNSPARCE, $ff -Unknown_11d5fe: db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR, $ff -Unknown_11d60e: db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB, $ff -Unknown_11d61d: db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL, $ff -Unknown_11d62e: db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG, $ff -Unknown_11d636: db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2, $ff -Unknown_11d63e: db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE, $ff -Unknown_11d649: db DRATINI, MEW, MEWTWO, MILTANK, $ff -Unknown_11d64e: db MISDREAVUS, SMOOCHUM, $ff -Unknown_11d651: db MEGANIUM, DITTO, TENTACOOL, MAREEP, $ff -Unknown_11d656: db FLAAFFY, VENOMOTH, TANGELA, $ff -Unknown_11d65a: db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA, $ff -Unknown_11d660: db KADABRA, $ff -Unknown_11d662: db LARVITAR, NOCTOWL, $ff -Unknown_11d665: db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN, $ff -Unknown_11d66d: db CHARMELEON, CHARIZARD, URSARING, $ff -Unknown_11d671: db JYNX, LUGIA, $ff -Unknown_11d674: db MAGNETON, LEDIAN, LEDYBA, $ff -Unknown_11d678: db VULPIX, $ff -Unknown_11d67a: db JUMPLUFF, TOTODILE, MACHOP -Unknown_11d67d: db $ff -; 11d67e - -GFX_11d67e: -INCBIN "gfx/pokedex/select_start.2bpp" -; 11d6de - -LZ_11d6de: -INCBIN "gfx/pokedex/slowpoke.2bpp.lz" -; 11da52 - -Strings_11da52: ; 11da52 - db "ポケモン@@" - db "タイプ@@@" - db "あいさつ@@" - db "ひと@@@@" - db "バトル@@@" - db "こえ@@@@" - db "かいわ@@@" - db "きもち@@@" - db "じょうたい@" - db "せいかつ@@" - db "しゅみ@@@" - db "こうどう@@" - db "じかん@@@" - db "むすび@@@" - db "あれこれ@@" -; 11daac - -Unknown_11daac: ; 11daac - dw Unknown_11dac8 - dw Unknown_11db58 - dw Unknown_11dc78 - dw Unknown_11dea0 - dw Unknown_11e0c8 - dw Unknown_11e2d8 - dw Unknown_11e4e8 - dw Unknown_11e710 - dw Unknown_11e920 - dw Unknown_11ea58 - dw Unknown_11eb90 - dw Unknown_11edb8 - dw Unknown_11eef0 - dw Unknown_11f100 - -Unknown_11dac8: ; 11dac8 - db "あく@@@", $26, $0, $0 - db "いわ@@@", $aa, $0, $0 - db "エスパー@", $da, $0, $0 - db "かくとう@", $4e, $1, $0 - db "くさ@@@", $ba, $1, $0 - db "ゴースト@", $e4, $1, $0 - db "こおり@@", $e6, $1, $0 - db "じめん@@", $68, $2, $0 - db "タイプ@@", $e8, $2, $0 - db "でんき@@", $8e, $3, $0 - db "どく@@@", $ae, $3, $0 - db "ドラゴン@", $bc, $3, $0 - db "ノーマル@", $22, $4, $0 - db "はがね@@", $36, $4, $0 - db "ひこう@@", $5e, $4, $0 - db "ほのお@@", $b2, $4, $0 - db "みず@@@", $f4, $4, $0 - db "むし@@@", $12, $5, $0 - -Unknown_11db58: ; 11db58 - db "ありがと@", $58, $0, $0 - db "ありがとう", $5a, $0, $0 - db "いくぜ!@", $80, $0, $0 - db "いくよ!@", $82, $0, $0 - db "いくわよ!", $84, $0, $0 - db "いやー@@", $a6, $0, $0 - db "おっす@@", $a, $1, $0 - db "おはつです", $22, $1, $0 - db "おめでとう", $2a, $1, $0 - db "ごめん@@", $f8, $1, $0 - db "ごめんよ@", $fa, $1, $0 - db "こらっ@@", $fc, $1, $0 - db "こんちは!", $a, $2, $0 - db "こんにちは", $10, $2, $0 - db "さようなら", $28, $2, $0 - db "サンキュー", $2e, $2, $0 - db "さんじょう", $30, $2, $0 - db "しっけい@", $48, $2, $0 - db "しつれい@", $4c, $2, $0 - db "じゃーね@", $6c, $2, $0 - db "すいません", $8c, $2, $0 - db "それじゃ@", $ca, $2, $0 - db "どうも@@", $a6, $3, $0 - db "なんじゃ@", $ee, $3, $0 - db "ハーイ@@", $2c, $4, $0 - db "はいはい@", $32, $4, $0 - db "バイバイ@", $34, $4, $0 - db "へイ@@@", $8a, $4, $0 - db "またね@@", $de, $4, $0 - db "もしもし@", $32, $5, $0 - db "やあ@@@", $3e, $5, $0 - db "やっほー@", $4e, $5, $0 - db "よう@@@", $62, $5, $0 - db "ようこそ@", $64, $5, $0 - db "よろしく@", $80, $5, $0 - db "らっしゃい", $94, $5, $0 - -Unknown_11dc78: ; 11dc78 - db "あいて@@", $1c, $0, $0 - db "あたし@@", $36, $0, $0 - db "あなた@@", $40, $0, $0 - db "あなたが@", $42, $0, $0 - db "あなたに@", $44, $0, $0 - db "あなたの@", $46, $0, $0 - db "あなたは@", $48, $0, $0 - db "あなたを@", $4a, $0, $0 - db "おかあさん", $e8, $0, $0 - db "おじいさん", $fc, $0, $0 - db "おじさん@", $2, $1, $0 - db "おとうさん", $e, $1, $0 - db "おとこのこ", $10, $1, $0 - db "おとな@@", $14, $1, $0 - db "おにいさん", $16, $1, $0 - db "おねえさん", $18, $1, $0 - db "おばあさん", $1c, $1, $0 - db "おばさん@", $20, $1, $0 - db "おれさま@", $34, $1, $0 - db "おんなのこ", $3a, $1, $0 - db "ガール@@", $40, $1, $0 - db "かぞく@@", $52, $1, $0 - db "かのじょ@", $72, $1, $0 - db "かれ@@@", $7c, $1, $0 - db "きみ@@@", $9a, $1, $0 - db "きみが@@", $9c, $1, $0 - db "きみに@@", $9e, $1, $0 - db "きみの@@", $a0, $1, $0 - db "きみは@@", $a2, $1, $0 - db "きみを@@", $a4, $1, $0 - db "ギャル@@", $ae, $1, $0 - db "きょうだい", $b2, $1, $0 - db "こども@@", $f0, $1, $0 - db "じぶん@@", $54, $2, $0 - db "じぶんが@", $56, $2, $0 - db "じぶんに@", $58, $2, $0 - db "じぶんの@", $5a, $2, $0 - db "じぶんは@", $5c, $2, $0 - db "じぶんを@", $5e, $2, $0 - db "だれ@@@", $18, $3, $0 - db "だれか@@", $1a, $3, $0 - db "だれが@@", $1c, $3, $0 - db "だれに@@", $1e, $3, $0 - db "だれの@@", $20, $3, $0 - db "だれも@@", $22, $3, $0 - db "だれを@@", $24, $3, $0 - db "ちゃん@@", $38, $3, $0 - db "ともだち@", $b8, $3, $0 - db "なかま@@", $d4, $3, $0 - db "ひと@@@", $62, $4, $0 - db "ボーイ@@", $98, $4, $0 - db "ボク@@@", $a0, $4, $0 - db "ボクが@@", $a2, $4, $0 - db "ボクに@@", $a4, $4, $0 - db "ボクの@@", $a6, $4, $0 - db "ボクは@@", $a8, $4, $0 - db "ボクを@@", $aa, $4, $0 - db "みんな@@", $4, $5, $0 - db "みんなが@", $6, $5, $0 - db "みんなに@", $8, $5, $0 - db "みんなの@", $a, $5, $0 - db "みんなは@", $c, $5, $0 - db "ライバル@", $8a, $5, $0 - db "わたし@@", $c2, $5, $0 - db "わたしが@", $c4, $5, $0 - db "わたしに@", $c6, $5, $0 - db "わたしの@", $c8, $5, $0 - db "わたしは@", $ca, $5, $0 - db "わたしを@", $cc, $5, $0 - -Unknown_11dea0: ; 11dea0 - db "あいしょう", $18, $0, $0 - db "いけ!@@", $88, $0, $0 - db "いちばん@", $96, $0, $0 - db "かくご@@", $4c, $1, $0 - db "かたせて@", $54, $1, $0 - db "かち@@@", $56, $1, $0 - db "かつ@@@", $58, $1, $0 - db "かった@@", $60, $1, $0 - db "かったら@", $62, $1, $0 - db "かって@@", $64, $1, $0 - db "かてない@", $66, $1, $0 - db "かてる@@", $68, $1, $0 - db "かなわない", $70, $1, $0 - db "きあい@@", $84, $1, $0 - db "きめた@@", $a8, $1, $0 - db "きりふだ@", $b6, $1, $0 - db "くらえ@@", $c2, $1, $0 - db "こい!@@", $da, $1, $0 - db "こうげき@", $e0, $1, $0 - db "こうさん@", $e2, $1, $0 - db "こんじょう", $8, $2, $0 - db "さいのう@", $16, $2, $0 - db "さくせん@", $1a, $2, $0 - db "さばき@@", $22, $2, $0 - db "しょうぶ@", $7e, $2, $0 - db "しょうり@", $80, $2, $0 - db "せめ@@@", $b4, $2, $0 - db "センス@@", $b6, $2, $0 - db "たいせん@", $e6, $2, $0 - db "たたかい@", $f6, $2, $0 - db "ちから@@", $32, $3, $0 - db "チャレンジ", $36, $3, $0 - db "つよい@@", $58, $3, $0 - db "つよすぎ@", $5a, $3, $0 - db "つらい@@", $5c, $3, $0 - db "つらかった", $5e, $3, $0 - db "てかげん@", $6c, $3, $0 - db "てき@@@", $6e, $3, $0 - db "てんさい@", $90, $3, $0 - db "でんせつ@", $94, $3, $0 - db "トレーナー", $c6, $3, $0 - db "にげ@@@", $4, $4, $0 - db "ぬるい@@", $10, $4, $0 - db "ねらう@@", $16, $4, $0 - db "バトル@@", $4a, $4, $0 - db "ファイト@", $72, $4, $0 - db "ふっかつ@", $78, $4, $0 - db "ポイント@", $94, $4, $0 - db "ポケモン@", $ac, $4, $0 - db "ほんき@@", $bc, $4, $0 - db "まいった!", $c4, $4, $0 - db "まけ@@@", $c8, $4, $0 - db "まけたら@", $ca, $4, $0 - db "まけて@@", $cc, $4, $0 - db "まける@@", $ce, $4, $0 - db "まもり@@", $ea, $4, $0 - db "みかた@@", $f2, $4, $0 - db "みとめない", $fe, $4, $0 - db "みとめる@", $0, $5, $0 - db "むてき@@", $16, $5, $0 - db "もらった!", $3c, $5, $0 - db "よゆう@@", $7a, $5, $0 - db "よわい@@", $82, $5, $0 - db "よわすぎ@", $84, $5, $0 - db "らくしょう", $8e, $5, $0 - db "りーダー@", $9e, $5, $0 - db "ルール@@", $a0, $5, $0 - db "レべル@@", $a6, $5, $0 - db "わざ@@@", $be, $5, $0 - -Unknown_11e0c8: ; 11e0c8 - db "!@@@@", $0, $0, $0 - db "!!@@@", $2, $0, $0 - db "!?@@@", $4, $0, $0 - db "?@@@@", $6, $0, $0 - db "…@@@@", $8, $0, $0 - db "…!@@@", $a, $0, $0 - db "………@@", $c, $0, $0 - db "ー@@@@", $e, $0, $0 - db "ーーー@@", $10, $0, $0 - db "あーあ@@", $14, $0, $0 - db "あーん@@", $16, $0, $0 - db "あははー@", $52, $0, $0 - db "あら@@@", $54, $0, $0 - db "いえ@@@", $72, $0, $0 - db "イエス@@", $74, $0, $0 - db "うう@@@", $ac, $0, $0 - db "うーん@@", $ae, $0, $0 - db "うおー!@", $b0, $0, $0 - db "うおりゃー", $b2, $0, $0 - db "うひょー@", $bc, $0, $0 - db "うふふ@@", $be, $0, $0 - db "うわー@@", $ca, $0, $0 - db "うわーん@", $cc, $0, $0 - db "ええ@@@", $d2, $0, $0 - db "えー@@@", $d4, $0, $0 - db "えーん@@", $d6, $0, $0 - db "えへへ@@", $dc, $0, $0 - db "おいおい@", $e0, $0, $0 - db "おお@@@", $e2, $0, $0 - db "おっと@@", $c, $1, $0 - db "がーん@@", $42, $1, $0 - db "キャー@@", $aa, $1, $0 - db "ギャー@@", $ac, $1, $0 - db "ぐふふふふ", $bc, $1, $0 - db "げっ@@@", $ce, $1, $0 - db "しくしく@", $3e, $2, $0 - db "ちえっ@@", $2e, $3, $0 - db "てへ@@@", $86, $3, $0 - db "ノー@@@", $20, $4, $0 - db "はあー@@", $2a, $4, $0 - db "はい@@@", $30, $4, $0 - db "はっはっは", $48, $4, $0 - db "ひいー@@", $56, $4, $0 - db "ひゃあ@@", $6a, $4, $0 - db "ふっふっふ", $7c, $4, $0 - db "ふにゃ@@", $7e, $4, $0 - db "ププ@@@", $80, $4, $0 - db "ふふん@@", $82, $4, $0 - db "ふん@@@", $88, $4, $0 - db "へっへっへ", $8e, $4, $0 - db "へへー@@", $90, $4, $0 - db "ほーほほほ", $9c, $4, $0 - db "ほら@@@", $b6, $4, $0 - db "まあ@@@", $c0, $4, $0 - db "むきー!!", $10, $5, $0 - db "むふー@@", $18, $5, $0 - db "むふふ@@", $1a, $5, $0 - db "むむ@@@", $1c, $5, $0 - db "よーし@@", $6a, $5, $0 - db "よし!@@", $72, $5, $0 - db "ラララ@@", $98, $5, $0 - db "わーい@@", $ac, $5, $0 - db "わーん!!", $b0, $5, $0 - db "ワォ@@@", $b2, $5, $0 - db "わっ!!@", $ce, $5, $0 - db "わははは!", $d0, $5, $0 - -Unknown_11e2d8: ; 11e2d8 - db "あのね@@", $50, $0, $0 - db "あんまり@", $6e, $0, $0 - db "いじわる@", $8e, $0, $0 - db "うそ@@@", $b6, $0, $0 - db "うむ@@@", $c4, $0, $0 - db "おーい@@", $e4, $0, $0 - db "おすすめ@", $6, $1, $0 - db "おばかさん", $1e, $1, $0 - db "かなり@@", $6e, $1, $0 - db "から@@@", $7a, $1, $0 - db "きぶん@@", $98, $1, $0 - db "けど@@@", $d6, $1, $0 - db "こそ@@@", $ea, $1, $0 - db "こと@@@", $ee, $1, $0 - db "さあ@@@", $12, $2, $0 - db "さっぱり@", $1e, $2, $0 - db "さて@@@", $20, $2, $0 - db "じゅうぶん", $72, $2, $0 - db "すぐ@@@", $94, $2, $0 - db "すごく@@", $98, $2, $0 - db "すこしは@", $9a, $2, $0 - db "すっっごい", $a0, $2, $0 - db "ぜーんぜん", $b0, $2, $0 - db "ぜったい@", $b2, $2, $0 - db "それで@@", $ce, $2, $0 - db "だけ@@@", $f2, $2, $0 - db "だって@@", $fc, $2, $0 - db "たぶん@@", $6, $3, $0 - db "たら@@@", $14, $3, $0 - db "ちょー@@", $3a, $3, $0 - db "ちょっと@", $3c, $3, $0 - db "ったら@@", $4e, $3, $0 - db "って@@@", $50, $3, $0 - db "ていうか@", $62, $3, $0 - db "でも@@@", $88, $3, $0 - db "どうしても", $9c, $3, $0 - db "とうぜん@", $a0, $3, $0 - db "どうぞ@@", $a2, $3, $0 - db "とりあえず", $be, $3, $0 - db "なあ@@@", $cc, $3, $0 - db "なんて@@", $f4, $3, $0 - db "なんでも@", $fc, $3, $0 - db "なんとか@", $fe, $3, $0 - db "には@@@", $8, $4, $0 - db "バッチり@", $46, $4, $0 - db "ばりばり@", $52, $4, $0 - db "ほど@@@", $b0, $4, $0 - db "ほんと@@", $be, $4, $0 - db "まさに@@", $d0, $4, $0 - db "マジ@@@", $d2, $4, $0 - db "マジで@@", $d4, $4, $0 - db "まったく@", $e4, $4, $0 - db "まで@@@", $e6, $4, $0 - db "まるで@@", $ec, $4, $0 - db "ムード@@", $e, $5, $0 - db "むしろ@@", $14, $5, $0 - db "めちゃ@@", $24, $5, $0 - db "めっぽう@", $28, $5, $0 - db "もう@@@", $2c, $5, $0 - db "モード@@", $2e, $5, $0 - db "もっと@@", $36, $5, $0 - db "もはや@@", $38, $5, $0 - db "やっと@@", $4a, $5, $0 - db "やっぱり@", $4c, $5, $0 - db "より@@@", $7c, $5, $0 - db "れば@@@", $a4, $5, $0 - -Unknown_11e4e8: ; 11e4e8 - db "あいたい@", $1a, $0, $0 - db "あそびたい", $32, $0, $0 - db "いきたい@", $7c, $0, $0 - db "うかれて@", $b4, $0, $0 - db "うれしい@", $c6, $0, $0 - db "うれしさ@", $c8, $0, $0 - db "エキサイト", $d8, $0, $0 - db "えらい@@", $de, $0, $0 - db "おかしい@", $ec, $0, $0 - db "ォッケー@", $8, $1, $0 - db "かえりたい", $48, $1, $0 - db "がっくし@", $5a, $1, $0 - db "かなしい@", $6c, $1, $0 - db "がんばって", $80, $1, $0 - db "きがしない", $86, $1, $0 - db "きがする@", $88, $1, $0 - db "ききたい@", $8a, $1, $0 - db "きになる@", $90, $1, $0 - db "きのせい@", $96, $1, $0 - db "きらい@@", $b4, $1, $0 - db "くやしい@", $be, $1, $0 - db "くやしさ@", $c0, $1, $0 - db "さみしい@", $24, $2, $0 - db "ざんねん@", $32, $2, $0 - db "しあわせ@", $36, $2, $0 - db "したい@@", $44, $2, $0 - db "したくない", $46, $2, $0 - db "しまった@", $64, $2, $0 - db "しょんぼり", $82, $2, $0 - db "すき@@@", $92, $2, $0 - db "だいきらい", $da, $2, $0 - db "たいくつ@", $dc, $2, $0 - db "だいじ@@", $de, $2, $0 - db "だいすき@", $e4, $2, $0 - db "たいへん@", $ea, $2, $0 - db "たのしい@", $0, $3, $0 - db "たのしすぎ", $2, $3, $0 - db "たべたい@", $8, $3, $0 - db "ダメダメ@", $e, $3, $0 - db "たりない@", $16, $3, $0 - db "ちくしょー", $34, $3, $0 - db "どうしよう", $9e, $3, $0 - db "ドキドキ@", $ac, $3, $0 - db "ナイス@@", $d0, $3, $0 - db "のみたい@", $26, $4, $0 - db "びっくり@", $60, $4, $0 - db "ふあん@@", $74, $4, $0 - db "ふらふら@", $86, $4, $0 - db "ほしい@@", $ae, $4, $0 - db "ボロボロ@", $b8, $4, $0 - db "まだまだ@", $e0, $4, $0 - db "まてない@", $e8, $4, $0 - db "まんぞく@", $f0, $4, $0 - db "みたい@@", $f8, $4, $0 - db "めずらしい", $22, $5, $0 - db "メラメラ@", $2a, $5, $0 - db "やだ@@@", $46, $5, $0 - db "やったー@", $48, $5, $0 - db "やばい@@", $50, $5, $0 - db "やばすぎる", $52, $5, $0 - db "やられた@", $54, $5, $0 - db "やられて@", $56, $5, $0 - db "よかった@", $6e, $5, $0 - db "ラブラブ@", $96, $5, $0 - db "ロマン@@", $a8, $5, $0 - db "ろんがい@", $aa, $5, $0 - db "わから@@", $b4, $5, $0 - db "わかり@@", $b6, $5, $0 - db "わくわく@", $ba, $5, $0 - -Unknown_11e710: ; 11e710 - db "あつい@@", $38, $0, $0 - db "あった@@", $3a, $0, $0 - db "あり@@@", $56, $0, $0 - db "ある@@@", $5e, $0, $0 - db "あわてて@", $6a, $0, $0 - db "いい@@@", $70, $0, $0 - db "いか@@@", $76, $0, $0 - db "イカス@@", $78, $0, $0 - db "いきおい@", $7a, $0, $0 - db "いける@@", $8a, $0, $0 - db "いじょう@", $8c, $0, $0 - db "いそがしい", $90, $0, $0 - db "いっしょに", $9a, $0, $0 - db "いっぱい@", $9c, $0, $0 - db "いない@@", $a0, $0, $0 - db "いや@@@", $a4, $0, $0 - db "いる@@@", $a8, $0, $0 - db "うまい@@", $c0, $0, $0 - db "うまく@@", $c2, $0, $0 - db "おおきい@", $e6, $0, $0 - db "おくれ@@", $f2, $0, $0 - db "おしい@@", $fa, $0, $0 - db "おもしろい", $2c, $1, $0 - db "おもしろく", $2e, $1, $0 - db "かっこいい", $5c, $1, $0 - db "かわいい@", $7e, $1, $0 - db "かんぺき@", $82, $1, $0 - db "けっこう@", $d0, $1, $0 - db "げんき@@", $d8, $1, $0 - db "こわい@@", $6, $2, $0 - db "さいこう@", $14, $2, $0 - db "さむい@@", $26, $2, $0 - db "さわやか@", $2c, $2, $0 - db "しかたない", $38, $2, $0 - db "すごい@@", $96, $2, $0 - db "すごすぎ@", $9c, $2, $0 - db "すてき@@", $a4, $2, $0 - db "たいした@", $e0, $2, $0 - db "だいじょぶ", $e2, $2, $0 - db "たかい@@", $ec, $2, $0 - db "ただしい@", $f8, $2, $0 - db "だめ@@@", $c, $3, $0 - db "ちいさい@", $2c, $3, $0 - db "ちがう@@", $30, $3, $0 - db "つかれ@@", $48, $3, $0 - db "とくい@@", $b0, $3, $0 - db "とまらない", $b6, $3, $0 - db "ない@@@", $ce, $3, $0 - db "なかった@", $d2, $3, $0 - db "なし@@@", $d8, $3, $0 - db "なって@@", $dc, $3, $0 - db "はやい@@", $50, $4, $0 - db "ひかる@@", $5a, $4, $0 - db "ひくい@@", $5c, $4, $0 - db "ひどい@@", $64, $4, $0 - db "ひとりで@", $66, $4, $0 - db "ひま@@@", $68, $4, $0 - db "ふそく@@", $76, $4, $0 - db "へた@@@", $8c, $4, $0 - db "まちがって", $e2, $4, $0 - db "やさしい@", $42, $5, $0 - db "よく@@@", $70, $5, $0 - db "よわって@", $86, $5, $0 - db "らく@@@", $8c, $5, $0 - db "らしい@@", $90, $5, $0 - db "わるい@@", $d4, $5, $0 - -Unknown_11e920: ; 11e920 - db "アルバイト", $64, $0, $0 - db "うち@@@", $ba, $0, $0 - db "おかね@@", $ee, $0, $0 - db "おこづかい", $f4, $0, $0 - db "おふろ@@", $24, $1, $0 - db "がっこう@", $5e, $1, $0 - db "きねん@@", $92, $1, $0 - db "グループ@", $c6, $1, $0 - db "ゲット@@", $d2, $1, $0 - db "こうかん@", $de, $1, $0 - db "しごと@@", $40, $2, $0 - db "しゅぎょう", $74, $2, $0 - db "じゅぎょう", $76, $2, $0 - db "じゅく@@", $78, $2, $0 - db "しんか@@", $88, $2, $0 - db "ずかん@@", $90, $2, $0 - db "せいかつ@", $ae, $2, $0 - db "せんせい@", $b8, $2, $0 - db "センター@", $ba, $2, $0 - db "タワー@@", $28, $3, $0 - db "つうしん@", $40, $3, $0 - db "テスト@@", $7e, $3, $0 - db "テレビ@@", $8c, $3, $0 - db "でんわ@@", $96, $3, $0 - db "どうぐ@@", $9a, $3, $0 - db "トレード@", $c4, $3, $0 - db "なまえ@@", $e8, $3, $0 - db "ニュース@", $a, $4, $0 - db "にんき@@", $c, $4, $0 - db "パーティー", $2e, $4, $0 - db "べんきょう", $92, $4, $0 - db "マシン@@", $d6, $4, $0 - db "めいし@@", $1e, $5, $0 - db "メッセージ", $26, $5, $0 - db "もようがえ", $3a, $5, $0 - db "ゆめ@@@", $5a, $5, $0 - db "ようちえん", $66, $5, $0 - db "ラジォ@@", $92, $5, $0 - db "ワールド@", $ae, $5, $0 - -Unknown_11ea58: ; 11ea58 - db "アイドル@", $1e, $0, $0 - db "アニメ@@", $4c, $0, $0 - db "うた@@@", $b8, $0, $0 - db "えいが@@", $d0, $0, $0 - db "おかし@@", $ea, $0, $0 - db "おしゃべり", $4, $1, $0 - db "おままごと", $28, $1, $0 - db "おもちゃ@", $30, $1, $0 - db "おんがく@", $38, $1, $0 - db "カード@@", $3e, $1, $0 - db "かいもの@", $46, $1, $0 - db "グルメ@@", $c8, $1, $0 - db "ゲーム@@", $cc, $1, $0 - db "ざっし@@", $1c, $2, $0 - db "さんぽ@@", $34, $2, $0 - db "じてんしゃ", $50, $2, $0 - db "しゅみ@@", $7a, $2, $0 - db "スポーツ@", $a8, $2, $0 - db "ダイエット", $d8, $2, $0 - db "たからもの", $f0, $2, $0 - db "たび@@@", $4, $3, $0 - db "ダンス@@", $2a, $3, $0 - db "つり@@@", $60, $3, $0 - db "デート@@", $6a, $3, $0 - db "でんしゃ@", $92, $3, $0 - db "ぬいぐるみ", $e, $4, $0 - db "パソコン@", $3e, $4, $0 - db "はな@@@", $4c, $4, $0 - db "ヒーロー@", $58, $4, $0 - db "ひるね@@", $6e, $4, $0 - db "ヒロイン@", $70, $4, $0 - db "ぼうけん@", $96, $4, $0 - db "ボード@@", $9a, $4, $0 - db "ボール@@", $9e, $4, $0 - db "ほん@@@", $ba, $4, $0 - db "マンガ@@", $ee, $4, $0 - db "やくそく@", $40, $5, $0 - db "やすみ@@", $44, $5, $0 - db "よてい@@", $74, $5, $0 - -Unknown_11eb90: ; 11eb90 - db "あう@@@", $20, $0, $0 - db "あきらめ@", $24, $0, $0 - db "あげる@@", $28, $0, $0 - db "あせる@@", $2e, $0, $0 - db "あそび@@", $30, $0, $0 - db "あそぶ@@", $34, $0, $0 - db "あつめ@@", $3e, $0, $0 - db "あるき@@", $60, $0, $0 - db "あるく@@", $62, $0, $0 - db "いく@@@", $7e, $0, $0 - db "いけ@@@", $86, $0, $0 - db "おき@@@", $f0, $0, $0 - db "おこり@@", $f6, $0, $0 - db "おこる@@", $f8, $0, $0 - db "おしえ@@", $fe, $0, $0 - db "おしえて@", $0, $1, $0 - db "おねがい@", $1a, $1, $0 - db "おぼえ@@", $26, $1, $0 - db "かえる@@", $4a, $1, $0 - db "がまん@@", $74, $1, $0 - db "きく@@@", $8c, $1, $0 - db "きたえ@@", $8e, $1, $0 - db "きめ@@@", $a6, $1, $0 - db "くる@@@", $c4, $1, $0 - db "さがし@@", $18, $2, $0 - db "さわぎ@@", $2a, $2, $0 - db "した@@@", $42, $2, $0 - db "しって@@", $4a, $2, $0 - db "して@@@", $4e, $2, $0 - db "しない@@", $52, $2, $0 - db "しまう@@", $60, $2, $0 - db "じまん@@", $66, $2, $0 - db "しらない@", $84, $2, $0 - db "しる@@@", $86, $2, $0 - db "しんじて@", $8a, $2, $0 - db "する@@@", $aa, $2, $0 - db "たべる@@", $a, $3, $0 - db "つかう@@", $42, $3, $0 - db "つかえ@@", $44, $3, $0 - db "つかって@", $46, $3, $0 - db "できない@", $70, $3, $0 - db "できる@@", $72, $3, $0 - db "でない@@", $84, $3, $0 - db "でる@@@", $8a, $3, $0 - db "なげる@@", $d6, $3, $0 - db "なやみ@@", $ea, $3, $0 - db "ねられ@@", $18, $4, $0 - db "ねる@@@", $1a, $4, $0 - db "のがし@@", $24, $4, $0 - db "のむ@@@", $28, $4, $0 - db "はしり@@", $3a, $4, $0 - db "はしる@@", $3c, $4, $0 - db "はたらき@", $40, $4, $0 - db "はたらく@", $42, $4, $0 - db "はまって@", $4e, $4, $0 - db "ぶつけ@@", $7a, $4, $0 - db "ほめ@@@", $b4, $4, $0 - db "みせて@@", $f6, $4, $0 - db "みて@@@", $fc, $4, $0 - db "みる@@@", $2, $5, $0 - db "めざす@@", $20, $5, $0 - db "もって@@", $34, $5, $0 - db "ゆずる@@", $58, $5, $0 - db "ゆるす@@", $5c, $5, $0 - db "ゆるせ@@", $5e, $5, $0 - db "られない@", $9a, $5, $0 - db "られる@@", $9c, $5, $0 - db "わかる@@", $b8, $5, $0 - db "わすれ@@", $c0, $5, $0 - -Unknown_11edb8: ; 11edb8 - db "あき@@@", $22, $0, $0 - db "あさ@@@", $2a, $0, $0 - db "あした@@", $2c, $0, $0 - db "いちにち@", $94, $0, $0 - db "いつか@@", $98, $0, $0 - db "いつも@@", $9e, $0, $0 - db "いま@@@", $a2, $0, $0 - db "えいえん@", $ce, $0, $0 - db "おととい@", $12, $1, $0 - db "おわり@@", $36, $1, $0 - db "かようび@", $78, $1, $0 - db "きのう@@", $94, $1, $0 - db "きょう@@", $b0, $1, $0 - db "きんようび", $b8, $1, $0 - db "げつようび", $d4, $1, $0 - db "このあと@", $f4, $1, $0 - db "このまえ@", $f6, $1, $0 - db "こんど@@", $c, $2, $0 - db "じかん@@", $3c, $2, $0 - db "じゅうねん", $70, $2, $0 - db "すいようび", $8e, $2, $0 - db "スタート@", $9e, $2, $0 - db "ずっと@@", $a2, $2, $0 - db "ストップ@", $a6, $2, $0 - db "そのうち@", $c4, $2, $0 - db "ついに@@", $3e, $3, $0 - db "つぎ@@@", $4a, $3, $0 - db "どようび@", $ba, $3, $0 - db "なつ@@@", $da, $3, $0 - db "にちようび", $6, $4, $0 - db "はじめ@@", $38, $4, $0 - db "はる@@@", $54, $4, $0 - db "ひる@@@", $6c, $4, $0 - db "ふゆ@@@", $84, $4, $0 - db "まいにち@", $c6, $4, $0 - db "もくようび", $30, $5, $0 - db "よなか@@", $76, $5, $0 - db "よる@@@", $7e, $5, $0 - db "らいしゅう", $88, $5, $0 - -Unknown_11eef0: ; 11eef0 - db "いたします", $92, $0, $0 - db "おります@", $32, $1, $0 - db "か!?@@", $3c, $1, $0 - db "かい?@@", $44, $1, $0 - db "かしら?@", $50, $1, $0 - db "かな?@@", $6a, $1, $0 - db "かも@@@", $76, $1, $0 - db "くれ@@@", $ca, $1, $0 - db "ございます", $e8, $1, $0 - db "しがち@@", $3a, $2, $0 - db "します@@", $62, $2, $0 - db "じゃ@@@", $6a, $2, $0 - db "じゃん@@", $6e, $2, $0 - db "しよう@@", $7c, $2, $0 - db "ぜ!@@@", $ac, $2, $0 - db "ぞ!@@@", $bc, $2, $0 - db "た@@@@", $d4, $2, $0 - db "だ@@@@", $d6, $2, $0 - db "だからね@", $ee, $2, $0 - db "だぜ@@@", $f4, $2, $0 - db "だった@@", $fa, $2, $0 - db "だね@@@", $fe, $2, $0 - db "だよ@@@", $10, $3, $0 - db "だよねー!", $12, $3, $0 - db "だわ@@@", $26, $3, $0 - db "ッス@@@", $4c, $3, $0 - db "ってかんじ", $52, $3, $0 - db "っぱなし@", $54, $3, $0 - db "つもり@@", $56, $3, $0 - db "ていない@", $64, $3, $0 - db "ている@@", $66, $3, $0 - db "でーす!@", $68, $3, $0 - db "でした@@", $74, $3, $0 - db "でしょ?@", $76, $3, $0 - db "でしょー!", $78, $3, $0 - db "です@@@", $7a, $3, $0 - db "ですか?@", $7c, $3, $0 - db "ですよ@@", $80, $3, $0 - db "ですわ@@", $82, $3, $0 - db "どうなの?", $a4, $3, $0 - db "どうよ?@", $a8, $3, $0 - db "とかいって", $aa, $3, $0 - db "なの@@@", $e0, $3, $0 - db "なのか@@", $e2, $3, $0 - db "なのだ@@", $e4, $3, $0 - db "なのよ@@", $e6, $3, $0 - db "なんだね@", $f2, $3, $0 - db "なんです@", $f8, $3, $0 - db "なんてね@", $fa, $3, $0 - db "ね@@@@", $12, $4, $0 - db "ねー@@@", $14, $4, $0 - db "の@@@@", $1c, $4, $0 - db "の?@@@", $1e, $4, $0 - db "ばっかり@", $44, $4, $0 - db "まーす!@", $c2, $4, $0 - db "ます@@@", $d8, $4, $0 - db "ますわ@@", $da, $4, $0 - db "ません@@", $dc, $4, $0 - db "みたいな@", $fa, $4, $0 - db "よ!@@@", $60, $5, $0 - db "よー@@@", $68, $5, $0 - db "よーん@@", $6c, $5, $0 - db "よね@@@", $78, $5, $0 - db "るよ@@@", $a2, $5, $0 - db "わけ@@@", $bc, $5, $0 - db "わよ!@@", $d2, $5, $0 - -Unknown_11f100: ; 11f100 - db "ああ@@@", $12, $0, $0 - db "あっち@@", $3c, $0, $0 - db "あの@@@", $4e, $0, $0 - db "ありゃ@@", $5c, $0, $0 - db "あれ@@@", $66, $0, $0 - db "あれは@@", $68, $0, $0 - db "あんな@@", $6c, $0, $0 - db "こう@@@", $dc, $1, $0 - db "こっち@@", $ec, $1, $0 - db "この@@@", $f2, $1, $0 - db "こりゃ@@", $fe, $1, $0 - db "これ@@@", $0, $2, $0 - db "これだ!@", $2, $2, $0 - db "これは@@", $4, $2, $0 - db "こんな@@", $e, $2, $0 - db "そう@@@", $be, $2, $0 - db "そっち@@", $c0, $2, $0 - db "その@@@", $c2, $2, $0 - db "そりゃ@@", $c6, $2, $0 - db "それ@@@", $c8, $2, $0 - db "それだ!@", $cc, $2, $0 - db "それは@@", $d0, $2, $0 - db "そんな@@", $d2, $2, $0 - db "どう@@@", $98, $3, $0 - db "どっち@@", $b2, $3, $0 - db "どの@@@", $b4, $3, $0 - db "どりゃ@@", $c0, $3, $0 - db "どれ@@@", $c2, $3, $0 - db "どれを@@", $c8, $3, $0 - db "どんな@@", $ca, $3, $0 - db "なに@@@", $de, $3, $0 - db "なんか@@", $ec, $3, $0 - db "なんだ@@", $f0, $3, $0 - db "なんで@@", $f6, $3, $0 - db "なんなんだ", $0, $4, $0 - db "なんの@@", $2, $4, $0 -; 11f220 - -Unknown_11f220: - db $12, $01, $24, $02 - db $45, $05, $45, $05 - db $42, $05, $42, $05 - db $45, $05, $42, $05 - db $27, $03, $27, $03 - db $45, $05, $27, $03 - db $42, $05, $24, $02 - -Unknown_11f23c: - db $12, $00, $2f, $00 - db $70, $00, $1e, $00 - db $ac, $00, $11, $00 - db $ce, $00, $09, $00 - db $e0, $00, $2e, $00 - db $3c, $01, $24, $00 - db $84, $01, $1b, $00 - db $ba, $01, $09, $00 - db $cc, $01, $07, $00 - db $da, $01, $1c, $00 - db $12, $02, $12, $00 - db $36, $02, $2b, $00 - db $8c, $02, $10, $00 - db $ac, $02, $08, $00 - db $bc, $02, $0c, $00 - db $d4, $02, $2c, $00 - db $2c, $03, $09, $00 - db $3e, $03, $12, $00 - db $62, $03, $1b, $00 - db $98, $03, $1a, $00 - db $cc, $03, $1c, $00 - db $04, $04, $05, $00 - db $0e, $04, $02, $00 - db $12, $04, $05, $00 - db $1c, $04, $07, $00 - db $2a, $04, $16, $00 - db $56, $04, $0e, $00 - db $72, $04, $0c, $00 - db $8a, $04, $05, $00 - db $94, $04, $16, $00 - db $c0, $04, $19, $00 - db $f2, $04, $0e, $00 - db $0e, $05, $08, $00 - db $1e, $05, $07, $00 - db $2c, $05, $09, $00 - db $3e, $05, $0d, $00 - db $58, $05, $04, $00 - db $60, $05, $14, $00 - db $88, $05, $0b, $00 - db $9e, $05, $01, $00 - db $a0, $05, $02, $00 - db $a4, $05, $02, $00 - db $a8, $05, $02, $00 - db $ac, $05, $15, $00 - db $00, $00, $09, $00 - -BTTrainerClassGenders: +BTTrainerClassGenders: ; 11f2f0 db MALE ; FALKNER db FEMALE ; WHITNEY db FEMALE ; BUGSY diff --git a/misc/battle_tower_5c.asm b/misc/battle_tower_5c.asm index bfbffc828..1c9c7436b 100755 --- a/misc/battle_tower_5c.asm +++ b/misc/battle_tower_5c.asm @@ -1,3 +1,183 @@ +Function1700b0: ; 1700b0 + call Function17021e + callba Function118121 + ret +; 1700ba + +Function1700ba: ; 1700ba + call Function17021e + callba Function11811a + ret +; 1700c4 + +Function1700c4: ; 1700c4 + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + + call Function17042c + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$be45], a + xor a + ld [$be46], a + ld hl, $dffc + ld de, $aa41 + ld bc, $0004 + call CopyBytes + ld hl, $d202 + ld de, $aa8e + ld bc, $0594 + call CopyBytes + ld hl, $aa5d + ld a, [hl] + inc [hl] + inc hl + sla a + sla a + ld e, a + ld d, $0 + add hl, de + ld e, l + ld d, h + ld hl, $dffc + ld bc, $0004 + call CopyBytes + call CloseSRAM + pop af + ld [rSVBK], a + ret +; 170114 + +Function170114: ; 170114 + call Function17021e + call Function170121 + callba Function11805f + ret +; 170121 + +Function170121: ; 170121 + ld a, $5 + call GetSRAMBank + ld hl, $a948 + ld de, $c608 + ld bc, $00f6 + call CopyBytes + call CloseSRAM + call Function170c8b + ret +; 170139 + +Function170139: ; 170139 + ld a, $5 + call GetSRAMBank + ld de, $aa41 + ld h, $0 + ld l, h + ld bc, $03e8 + call Function17020c + ld bc, $0064 + call Function17020c + ld bc, $000a + call Function17020c + ld a, [de] + ld c, a + ld b, $0 + add hl, bc + call CloseSRAM + ld a, h + ld [$c608], a + ld a, l + ld [$c608 + 1], a + ld hl, $c628 + ld a, [PlayerID] + ld [hli], a + ld a, [PlayerID + 1] + ld [hli], a + ld a, [wSecretID] + ld [hli], a + ld a, [wSecretID + 1] + ld [hli], a + ld e, l + ld d, h + ld hl, PlayerName + ld bc, $0005 ; Japanese name length + call CopyBytes + ld bc, PlayerID + ld de, PlayerGender + callba Function4e929 + ld de, $c62c + 5 + ld a, c + ld [de], a + inc de + ld a, $df + ld [wcd49], a + ld a, $dc + ld [wcd4a], a + ld a, $41 + ld [wcd4b], a + ld a, $de + ld [wcd4c], a + ld a, $3 +.asm_1701ac + push af + ld a, [wcd49] + ld l, a + ld a, [wcd4a] + ld h, a + ld bc, $0030 + call CopyBytes + ld a, l + ld [wcd49], a + ld a, h + ld [wcd4a], a + ld a, [wcd4b] + ld l, a + ld a, [wcd4c] + ld h, a + ld bc, $0006 + call CopyBytes + ld a, l + ld [wcd4b], a + ld a, h + ld [wcd4c], a + pop af + dec a + jr nz, .asm_1701ac + ld a, $4 + call GetSRAMBank + ld hl, $a013 + ld bc, $0024 + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, $a894 + ld bc, $0006 + call CopyBytes + ld hl, $c608 + ld de, $a948 + ld bc, $00f6 + call CopyBytes + call CloseSRAM + ret +; 17020c + +Function17020c: ; 17020c + ld a, [de] + inc de + and a + ret z + +.loop + add hl, bc + dec a + jr nz, .loop + ret +; 170215 + BattleTowerBattle: ; 170215 xor a ld [wcf63], a @@ -64,7 +244,9 @@ RunBattleTowerTrainer: ; 17024d callba HealParty call ReadBTTrainerParty call Clears5_a89a + predef StartBattle + callba LoadPokemonData callba HealParty ld a, [wBattleResult] @@ -325,20 +507,23 @@ BT_ChrisName: ; 170426 ; 17042c Function17042c: ; 17042c - ld hl, BT_TrainerTextIndex + $be + ld hl, w3_d202TrainerData ld a, 7 .loop push af push hl - ld c, 18 + ld c, BATTLETOWER_TRAINERDATALENGTH / 2 .loop2 + ; First byte is a comparison value. ld a, [hli] ld b, a + ; Second byte is a lookup index. ld a, [hli] and a - jr z, .skip + jr z, .empty cp $f - jr nc, .exit_inner_loop + jr nc, .copy_data + push hl ld hl, Unknown_170470 dec a @@ -347,31 +532,36 @@ Function17042c: ; 17042c add hl, de ld a, [hl] pop hl + + ; If Unknown_170470[a-1] <= b, overwrite the current trainer's data + ; with Unknown17047e, and exit the inner loop. cp b - jr c, .exit_inner_loop - jr z, .exit_inner_loop - jr .asm_170456 + jr c, .copy_data + jr z, .copy_data + jr .next_iteration -.skip +.empty + ; If a == 0 and b >= $fc, overwrite the current trainer's data with + ; Unknown17047e, and exit the inner loop. ld a, b cp $fc - jr nc, .exit_inner_loop + jr nc, .copy_data -.asm_170456 +.next_iteration dec c jr nz, .loop2 - jr .dont_copy + jr .next_trainer -.exit_inner_loop +.copy_data pop de push de ld hl, Unknown_17047e ld bc, BATTLETOWER_TRAINERDATALENGTH call CopyBytes -.dont_copy +.next_trainer pop hl - ld de, $00e0 + ld de, BATTLE_TOWER_STRUCT_LENGTH add hl, de pop af dec a @@ -380,18 +570,41 @@ Function17042c: ; 17042c ; 170470 Unknown_170470: - db $12, $24, $45, $45, $42, $42, $45, $42, $27, $27, $45, $27, $42, $24 + db $12 + db $24 + db $45 + db $45 + db $42 + db $42 + db $45 + db $42 + db $27 + db $27 + db $45 + db $27 + db $42 + db $24 Unknown_17047e: - db $03, $04, $05, $08 - db $03, $05, $0e, $06 - db $03, $02, $00, $00 - db $39, $07, $07, $04 - db $00, $05, $04, $07 - db $01, $05, $00, $00 - db $0f, $05, $14, $07 - db $05, $05, $11, $0c - db $0c, $06, $06, $04 +; see data/battle_tower_2.asm + db $03, 4 + db $05, 8 + db $03, 5 + db $0e, 6 + db $03, 2 + db $00, 0 + db $39, 7 + db $07, 4 + db $00, 5 + db $04, 7 + db $01, 5 + db $00, 0 + db $0f, 5 + db $14, 7 + db $05, 5 + db $11, 12 + db $0c, 6 + db $06, 4 CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; 1704a2 @@ -409,13 +622,1018 @@ CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; 1704a2 pop af ld [rSVBK], a - ld a, BANK(s1_be45) + ld a, BANK(sBattleTowerChallengeState) call GetSRAMBank ld a, $2 - ld [s1_be45], a + ld [sBattleTowerChallengeState], a ld hl, sNrOfBeatenBattleTowerTrainers inc [hl] call CloseSRAM SkipBattleTowerTrainer: ; 1704c9 ret ; 1704ca +Function1704ca: ; 1704ca + ld a, [$be46] + cp $7 + jr c, .asm_1704d3 + ld a, $6 + +.asm_1704d3 + ld hl, $afce + ld de, -$e0 +.asm_1704d9 + and a + jr z, .asm_1704e0 + add hl, de + dec a + jr .asm_1704d9 + +.asm_1704e0 + ret +; 1704e1 + +Function1704e1: ; 1704e1 + call SpeechTextBox + call FadeToMenu + call Function17021e + call Function1704f1 + call ReturnToCallingMenu + ret +; 1704f1 + +Function1704f1: ; 1704f1 + call ClearBGPalettes + call ClearSprites + call ClearScreen +.asm_1704fa + call JoyTextDelay + ld a, [wJumptableIndex] + bit 7, a + jr nz, .asm_17050f + call Function170510 + callba ReloadMapPart + jr .asm_1704fa + +.asm_17050f + ret +; 170510 + +Function170510: ; 170510 + ld a, [wJumptableIndex] + ld e, a + ld d, 0 + ld hl, Jumptable_17051f +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 17051f + +Jumptable_17051f: ; 17051f + dw Function170525 + dw Function170571 + dw Function170577 +; 170525 + +Function170525: ; 170525 + ld a, $5 + call GetSRAMBank + + ld hl, $a89c + ld de, StringBuffer3 + ld bc, $0016 + call CopyBytes + + ld hl, $a8b2 + ld de, $c608 + ld bc, $0096 + call CopyBytes + + call CloseSRAM + hlcoord 1, 1 + ld de, StringBuffer3 + call PlaceString + hlcoord 1, 3 + ld de, String_170676 + call PlaceString + hlcoord 4, 3 + ld de, StringBuffer4 + call PlaceString + hlcoord 8, 3 + ld de, String_17067a + call PlaceString + call Function1705b7 + call Function1705f0 + jr Function1705b2 + + +Function170571: + call SetPalettes + call Function1705b2 + + +Function170577: + ld hl, hJoyPressed + ld a, [hl] + and $1 + jr nz, .asm_1705ac + ld a, [hl] + and $2 + jr nz, .asm_1705ac + ld a, [hl] + and $40 + jr nz, .asm_17058f + ld a, [hl] + and $80 + jr nz, .asm_17059d + ret + +.asm_17058f + ld a, [wcf64] + and a + ret z + sub $f + ld [wcf64], a + call Function1705f0 + ret + +.asm_17059d + ld a, [wcf64] + cp $3c + ret z + add $f + ld [wcf64], a + call Function1705f0 + ret + +.asm_1705ac + ld hl, wJumptableIndex + set 7, [hl] + ret + +Function1705b2: + ld hl, wJumptableIndex + inc [hl] + ret +; 1705b7 + +Function1705b7: ; 1705b7 + hlcoord 0, 4 + ld a, $79 + ld [hli], a + ld c, $12 +.asm_1705bf + ld a, $7a + ld [hli], a + dec c + jr nz, .asm_1705bf + ld a, $7b + ld [hli], a + ld de, $0014 + ld c, $c +.asm_1705cd + ld a, $7c + ld [hl], a + add hl, de + dec c + jr nz, .asm_1705cd + ld a, $7d + ld [hli], a + ld c, $12 +.asm_1705d9 + ld a, $7a + ld [hli], a + dec c + jr nz, .asm_1705d9 + ld a, $7e + ld [hl], a + ld de, $ffec + add hl, de + ld c, $c +.asm_1705e8 + ld a, $7c + ld [hl], a + add hl, de + dec c + jr nz, .asm_1705e8 + ret +; 1705f0 + +Function1705f0: ; 1705f0 + call Function17064b + call Function17065d + ld a, $50 + ld [wcd4e], a + ld hl, $c608 + ld a, [wcf64] + ld c, a + xor a + ld b, a + add hl, bc + push hl + pop bc + hlcoord 1, 6 + ld a, $6 +.asm_17060c + push af + push hl + ld a, $3 +.asm_170610 + push af + ld de, wcd49 + ld a, [bc] + and a + jr z, .asm_170625 + ld a, $5 +.asm_17061a + push af + ld a, [bc] + ld [de], a + inc bc + inc de + pop af + dec a + jr nz, .asm_17061a + jr .asm_170631 + +.asm_170625 + ld a, $5 +.asm_170627 + push af + ld a, $e3 + ld [de], a + inc de + inc bc + pop af + dec a + jr nz, .asm_170627 + +.asm_170631 + ld de, wcd49 + push bc + call PlaceString + ld de, $0006 + add hl, de + pop bc + pop af + dec a + jr nz, .asm_170610 + pop hl + ld de, $0028 + add hl, de + pop af + dec a + jr nz, .asm_17060c + ret +; 17064b + +Function17064b: ; 17064b + hlcoord 1, 5 + xor a + ld b, $c +.asm_170651 + ld c, $12 +.asm_170653 + ld [hli], a + dec c + jr nz, .asm_170653 +rept 2 + inc hl +endr + dec b + jr nz, .asm_170651 + ret +; 17065d + +Function17065d: ; 17065d + ld a, [wcf64] + and a + jr z, .asm_170669 + hlcoord 18, 5 + ld a, $61 + ld [hl], a + +.asm_170669 + ld a, [wcf64] + cp $3c + ret z + hlcoord 18, 16 + ld a, $ee + ld [hl], a + ret +; 170676 + +String_170676: ; 170676 + db "ルーム@" +; 17067a + +String_17067a: ; 17067a + db "れきだいりーダーいちらん@" +; 170687 + +BattleTowerAction: ; 170687 + ld a, [ScriptVar] + ld e, a + ld d, 0 + ld hl, .jumptable +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 170696 + + +.jumptable: ; 170696 (5c:4696) + dw Function17075f ; 0x00 + dw Function170788 ; 0x01 + dw Function170778 ; 0x02 + dw Function170799 ; 0x03 + dw Function17079d ; 0x04 + dw Function1707ac ; 0x05 + dw Function1707f4 ; 0x06 + dw Function170868 ; 0x07 + dw Function170881 ; 0x08 + dw Function17089a ; 0x09 + dw Function1708b1 ; 0x0a + dw CheckMobileEventIndex ; 0x0b + dw Function1708c8 ; 0x0c + dw Function1708f0 ; 0x0d + dw Function17093c ; 0x0e + dw Function1709aa ; 0x0f + dw Function1709bb ; 0x10 + dw Function170a9c ; 0x11 + dw Function170aa0 ; 0x12 + dw Function170aaf ; 0x13 + dw Function170abe ; 0x14 + dw Function170ad7 ; 0x15 + dw Function170807 ; 0x16 + dw Function17081d ; 0x17 + dw Function170ae8 ; 0x18 + dw Function170b16 ; 0x19 + dw ResetBattleTowerTrainersSRAM ; 0x1a + dw Function1706ee ; 0x1b + dw Function17071b ; 0x1c + dw Function170729 ; 0x1d + dw Function17073e ; 0x1e + dw Function170737 ; 0x1f + + +; Reset the save memory for BattleTower-Trainers (Counter and all 7 TrainerBytes) +ResetBattleTowerTrainersSRAM: ; 1706d6 (5c:46d6) BattleTowerAction $1a + ld a, BANK(sBTTrainers) + call GetSRAMBank + + ld a, $ff + ld hl, sBTTrainers + ld bc, BATTLETOWER_NROFTRAINERS + call ByteFill + + xor a + ld [sNrOfBeatenBattleTowerTrainers], a + + call CloseSRAM + + ret + +Function1706ee: ; 1706ee (5c:46ee) BattleTowerAction $1b + ld a, BANK(sBattleTowerReward) + call GetSRAMBank + + ld a, [sBattleTowerReward] + call CloseSRAM + ld [ScriptVar], a + ld hl, NumItems + ld a, [hli] + cp MAX_ITEMS + ret c + ld b, MAX_ITEMS + ld a, [ScriptVar] + ld c, a +.loop + ld a, [hli] + cp c + jr nz, .next + ld a, [hl] + cp 95 + ret c +.next + inc hl + dec b + jr nz, .loop + ld a, POTION + ld [ScriptVar], a + ret + +Function17071b: ; 17071b (5c:471b) BattleTowerAction $1c + ld a, BANK(sBattleTowerChallengeState) + call GetSRAMBank + ld a, $3 + ld [sBattleTowerChallengeState], a + call CloseSRAM + ret + +Function170729: ; 170729 (5c:4729) BattleTowerAction $1d + ld a, BANK(sBattleTowerChallengeState) + call GetSRAMBank + ld a, $4 + ld [sBattleTowerChallengeState], a + call CloseSRAM + ret + +Function170737: ; 170737 (5c:4737) BattleTowerAction $1e + callba SaveOptions + ret + +Function17073e: ; 17073e (5c:473e) BattleTowerAction $1f +; Generate a random stat boosting item. +.loop + call Random + ld a, [hRandomAdd] + and $7 + cp 6 + jr c, .okay + sub 6 +.okay + add HP_UP + cp LUCKY_PUNCH + jr z, .loop + push af + ld a, BANK(sBattleTowerReward) + call GetSRAMBank + pop af + ld [sBattleTowerReward], a + call CloseSRAM + ret + +Function17075f: ; 17075f (5c:475f) BattleTowerAction $00 + call Function17089a + ld a, [ScriptVar] + and a + ret z + + ld a, BANK(sbe4f) + call GetSRAMBank + ld a, [sbe4f] + and $2 + ld [ScriptVar], a + call CloseSRAM + ret + +Function170778: ; 170778 (5c:4778) BattleTowerAction $02 + ld hl, sBattleTowerChallengeState + ld a, BANK(sBattleTowerChallengeState) + call GetSRAMBank + ld a, [hl] + ld [ScriptVar], a + call CloseSRAM + ret + +Function170788: ; 170788 (5c:4788) BattleTowerAction $01 + ld a, BANK(sbe4f) + call GetSRAMBank + ld a, [sbe4f] + or $2 + ld [sbe4f], a + call CloseSRAM + ret + +Function170799: ; 170799 (5c:4799) BattleTowerAction $03 + ld c, $1 + jr asm_17079f + +Function17079d: ; 17079d (5c:479d) BattleTowerAction $04 + ld c, $0 +asm_17079f: ; 17079f (5c:479f) + ld a, BANK(sBattleTowerChallengeState) + call GetSRAMBank + ld a, c + ld [sBattleTowerChallengeState], a + call CloseSRAM + ret + +Function1707ac: ; 1707ac (5c:47ac) BattleTowerAction $05 + ld a, $5 + call GetSRAMBank + ld a, [$aa8c] + ld b, a + ld a, [$be46] + ld [ScriptVar], a + call CloseSRAM + and a + ret z + ld a, b + cp $2 + jr nc, .asm_1707ef + push bc + call UpdateTime + pop bc + ld a, $5 + call GetSRAMBank + ld a, [$aa8b] + call CloseSRAM + ld c, a + ld a, [CurDay] + sub c + jr c, .asm_1707e5 + cp $8 + jr nc, .asm_1707ef + ld a, b + and a + jr nz, .asm_1707ef + ret +.asm_1707e5 + ld hl, CurDay + ld a, $8c + sub c + add [hl] + cp $8 + ret c +.asm_1707ef + ld a, $8 + ld [ScriptVar], a + +Function1707f4: ; 1707f4 (5c:47f4) BattleTowerAction $06 + ld a, $5 + call GetSRAMBank + xor a + ld [$be46], a + ld [$aa8b], a + ld [$aa8c], a + call CloseSRAM + ret + +Function170807: ; 170807 (5c:4807) BattleTowerAction $16 + call UpdateTime + ld a, $5 + call GetSRAMBank + ld a, [CurDay] + ld [$b2f9], a + xor a + ld [$b2fa], a + call CloseSRAM + ret + +Function17081d: ; 17081d (5c:481d) BattleTowerAction $17 + xor a + ld [ScriptVar], a + ld a, $5 + call GetSRAMBank + ld a, [$b2f9] + ld c, a + ld a, [$b2fa] + ld b, a + call CloseSRAM + cp $2 + jr nc, .asm_170853 + push bc + call UpdateTime + pop bc + ld a, [CurDay] + sub c + jr c, .asm_170849 + cp $b + jr nc, .asm_170853 + ld a, b + and a + jr nz, .asm_170853 + ret +.asm_170849 + ld hl, CurDay + ld a, $8c + sub c + add [hl] + cp $b + ret c +.asm_170853 + ld a, $1 + ld [ScriptVar], a + ld a, $5 + call GetSRAMBank + xor a + ld [$b2f9], a + ld [$b2fa], a + call CloseSRAM + ret + +Function170868: ; 170868 (5c:4868) BattleTowerAction $07 + ld a, BANK(sbe47) + call GetSRAMBank + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, [wd000 + $800] + ld [sbe47], a + pop af + ld [rSVBK], a + call CloseSRAM + ret + +Function170881: ; 170881 (5c:4881) BattleTowerAction $08 + ld a, BANK(sbe47) + call GetSRAMBank + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld a, [sbe47] + ld [wd000 + $800], a + pop af + ld [rSVBK], a + call CloseSRAM + ret + +Function17089a: ; 17089a BattleTowerAction $09 + ld a, [wSaveFileExists] + and a + jr z, .nope + callba Function14bcb + jr z, .yes + xor a + jr .nope + +.yes + ld a, $1 + +.nope + ld [ScriptVar], a + ret +; 1708b1 + + +Function1708b1: ; 1708b1 (5c:48b1) BattleTowerAction $0a + xor a + ld [MusicFade], a + call MaxVolume + ret + +CheckMobileEventIndex: ; 1708b9 (5c:48b9) BattleTowerAction $0b something to do with GS Ball + ld a, BANK(sMobileEventIndex) + call GetSRAMBank + ld a, [sMobileEventIndex] + ld [ScriptVar], a + call CloseSRAM + ret + +Function1708c8: ; 1708c8 (5c:48c8) BattleTowerAction $0c + call UpdateTime + ld a, $5 + call GetSRAMBank + ld a, [CurDay] + ld [$aa8b], a + xor a + ld [$aa8c], a + ld a, [$aa5d] + cp $2 + jr nc, .asm_1708ec + ld a, [CurDay] + ld [$aa48], a + ld a, $1 + ld [$aa47], a +.asm_1708ec + call CloseSRAM + ret + +Function1708f0: ; 1708f0 (5c:48f0) BattleTowerAction $0d + xor a + ld [ScriptVar], a + call UpdateTime + ld a, $5 + call GetSRAMBank + ld a, [$aa48] + ld c, a + ld a, [$aa47] + call CloseSRAM + and a + ret z + ld hl, CurDay + ld a, c + cp [hl] + jr nz, Function170923 + ld a, $5 + call GetSRAMBank + ld a, [$aa5d] + call CloseSRAM + cp $5 + ret c + ld a, $1 + ld [ScriptVar], a + ret + + +Function170923: ; 170923 + ld a, $5 + call GetSRAMBank + xor a + ld [$aa48], a + ld [$aa47], a + ld hl, $aa5d + ld bc, $0011 + call ByteFill + call CloseSRAM + ret +; 17093c + + +Function17093c: ; 17093c (5c:493c) BattleTowerAction $0e + xor a + ld [ScriptVar], a + ld a, EGG_TICKET + ld [CurItem], a + ld hl, NumItems + call CheckItem + ret nc + ld a, [PartyCount] + ld b, 0 + ld c, a + ld hl, PartySpecies +.loop + ld a, [hli] + cp EGG + jr nz, .not_egg + push hl + ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) + ld de, $6 + ld a, b + and a + jr z, .skip +.loop2 + add hl, de + dec a + jr nz, .loop2 +.skip + ld de, String_1709a4 + ld a, $6 +.asm_17096e + push af + ld a, [de] + inc de + cp [hl] + inc hl + jr nz, .asm_17099d + pop af + dec a + jr nz, .asm_17096e +rept 4 + dec hl +endr + ld a, $50 +rept 2 + ld [hli], a +endr + pop hl + ld a, EGG_TICKET + ld [CurItem], a + ld a, $1 + ld [wItemQuantityChangeBuffer], a + ld a, $ff + ld [wd107], a + ld hl, NumItems + call TossItem + ld a, $1 + ld [ScriptVar], a + ret + +.asm_17099d + pop af + pop hl +.not_egg + inc b + dec c + jr nz, .loop + ret +; 1709a4 (5c:49a4) + +String_1709a4: ; 1709a4 + db "なぞナゾ@@" + +Function1709aa: ; 1709aa (5c:49aa) BattleTowerAction $0f + ld a, [rSVBK] + push af + ld a, BANK(w3_d090) + ld [rSVBK], a + ld a, [w3_d090] + ld [ScriptVar], a + pop af + ld [rSVBK], a + ret + +Function1709bb: ; 1709bb (5c:49bb) BattleTowerAction $10 + xor a + ld [ScriptVar], a + ld a, $5 + call GetSRAMBank + ld a, [$a800] + call CloseSRAM + cp 6 + jr nc, .invalid + ld e, a + ld d, 0 + ld hl, Jumptable_1709e7 +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +.invalid + ld a, $5 + call GetSRAMBank + xor a + ld [$a800], a + call CloseSRAM + ret +; 1709e7 (5c:49e7) + +Jumptable_1709e7: ; 1709e7 + dw Function170a00 + dw Function170a00 + dw Function1709f3 + dw Function1709f3 + dw Function170a01 + dw Function170a33 +; 1709f3 + +Function1709f3: ; 1709f3 + ld a, $5 + call GetSRAMBank + ld a, $1 + ld [$a800], a + call CloseSRAM + +Function170a00: ; 170a00 + ret +; 170a01 + +Function170a01: ; 170a01 + ld a, $5 + call GetSRAMBank + ld hl, $b023 + ld de, $c608 + ld bc, $0069 + call CopyBytes + ld a, [$a825] + ld [wcd30], a + ld a, [$a826] + ld [wcd31], a + call CloseSRAM + callba Function11b6b4 + callba Function17d0f3 + ld a, $1 + ld [ScriptVar], a + ret +; 170a33 + +Function170a33: ; 170a33 + ld a, $0 + call GetSRAMBank + ld hl, wRTC + ld de, $c608 + ld bc, $0004 + call CopyBytes + call CloseSRAM + ld a, $5 + call GetSRAMBank + ld hl, $b08c + ld de, $c608 + ld c, $4 +.asm_170a54 + ld a, [de] + inc de + cp [hl] + jr nz, .asm_170a78 + inc hl + dec c + jr nz, .asm_170a54 + call CloseSRAM + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .asm_170a72 + ld a, [de] + and a + ret nz + +.asm_170a72 + ld a, $1 + ld [ScriptVar], a + ret + +.asm_170a78 + call CloseSRAM + ld a, $5 + call GetSRAMBank + xor a + ld [$a800], a + call CloseSRAM + ld [ScriptVar], a + ld a, [MapGroup] + ld b, a + ld a, [MapNumber] + ld c, a + call GetMapTrigger + ld a, d + or e + jr z, .asm_170a9b + xor a + ld [de], a + +.asm_170a9b + ret +; 170a9c + +Function170a9c: ; 170a9c (5c:4a9c) BattleTowerAction $11 + ld c, $0 + jr asm_170aa2 + +Function170aa0: ; 170aa0 (5c:4aa0) BattleTowerAction $12 + ld c, $1 +asm_170aa2: ; 170aa2 (5c:4aa2) + ld a, $5 + call GetSRAMBank + ld a, c + ld [$aa8d], a + call CloseSRAM + ret + +Function170aaf: ; 170aaf (5c:4aaf) BattleTowerAction $13 + ld a, $5 + call GetSRAMBank + ld a, [$aa8d] + ld [ScriptVar], a + call CloseSRAM + ret + +Function170abe: ; 170abe (5c:4abe) BattleTowerAction $14 + call Function17089a + ld a, [ScriptVar] + and a + ret z + ld a, BANK(sbe4f) + call GetSRAMBank + ld a, [sbe4f] + and $1 + ld [ScriptVar], a + call CloseSRAM + ret + +Function170ad7: ; 170ad7 (5c:4ad7) BattleTowerAction $15 + ld a, BANK(sbe4f) + call GetSRAMBank + ld a, [sbe4f] + or $1 + ld [sbe4f], a + call CloseSRAM + ret + +Function170ae8: ; 170ae8 (5c:4ae8) BattleTowerAction $18 + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld c, $a + call SimpleDivide + ld a, b + ld [wcd4f], a + xor a + ld [ScriptVar], a + callba Function119d93 + ret nc + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld [ScriptVar], a + ret + +Function170b16: ; 170b16 (5c:4b16) BattleTowerAction $19 + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld c, 10 + call SimpleDivide + ld a, b + ld [wcd4f], a + xor a + ld [ScriptVar], a + callba Function119dd1 + ret nc + ld a, $5 + call GetSRAMBank + ld a, [$b2fb] + call CloseSRAM + ld [ScriptVar], a + ret diff --git a/misc/crystal_misc.asm b/misc/crystal_misc.asm index 489ec77ee..662c1788a 100644 --- a/misc/crystal_misc.asm +++ b/misc/crystal_misc.asm @@ -173,7 +173,7 @@ Function17a78f: ; 17a78f (5e:678f) ret .asm_17a79f - callba Function104061 + callba ReloadMapPart ret ; 17a7a6 (5e:67a6) @@ -768,26 +768,26 @@ Function17aba0: ; 17aba0 (5e:6ba0) Function17abcf: ; 17abcf (5e:6bcf) ld a, [rSVBK] push af - ld a, BANK(wMapPals) + ld a, BANK(UnknBGPals) ld [rSVBK], a ld hl, Palette_17ac55 - ld de, wMapPals ; $d000 + ld de, UnknBGPals ; $d000 ld bc, $30 call CopyBytes ld hl, Palette_17ac95 - ld de, Unkn2Pals + ld de, UnknOBPals ld bc, $40 call CopyBytes ld hl, GFX_17afa5 + $510 - ld de, Unkn2Pals + 2 * 4 + ld de, UnknOBPals + 2 * 4 ld bc, $10 call CopyBytes ld hl, MapObjectPals + 8 - ld de, Unkn2Pals + 6 * 4 + ld de, UnknOBPals + 6 * 4 ld bc, $8 ld a, BANK(MapObjectPals) call FarCopyBytes diff --git a/misc/fixed_words.asm b/misc/fixed_words.asm new file mode 100755 index 000000000..708116689 --- /dev/null +++ b/misc/fixed_words.asm @@ -0,0 +1,4182 @@ +; These functions seem to be related to the selection of preset phrases +; for use in mobile communications. Annoyingly, they separate the +; Battle Tower function above from the data it references. +Function11c05d: ; 11c05d + ld a, e + or d + jr z, .asm_11c071 + ld a, e + and d + cp $ff + jr z, .asm_11c071 + push hl + call Function11c156 + pop hl + call PlaceString + and a + ret + +.asm_11c071 + ld c, l + ld b, h + scf + ret +; 11c075 + +Function11c075: ; 11c075 + push de + ld a, c + call Function11c254 + pop de + ld bc, wcd36 + call Function11c08f + ret +; 11c082 + +Function11c082: ; 11c082 + push de + ld a, c + call Function11c254 + pop de + ld bc, wcd36 + call Function11c0c6 + ret +; 11c08f + +Function11c08f: ; 11c08f + ld l, e + ld h, d + push hl + ld a, $3 +.asm_11c094 + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + push bc + call Function11c05d + jr c, .asm_11c0a2 + inc bc + +.asm_11c0a2 + ld l, c + ld h, b + pop bc + pop af + dec a + jr nz, .asm_11c094 + pop hl + ld de, $0028 + add hl, de + ld a, $3 +.asm_11c0b0 + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + push bc + call Function11c05d + jr c, .asm_11c0be + inc bc + +.asm_11c0be + ld l, c + ld h, b + pop bc + pop af + dec a + jr nz, .asm_11c0b0 + ret +; 11c0c6 + + +Function11c0c6: ; 11c0c6 + ld a, [wJumptableIndex] + ld l, a + ld a, [wcf64] + ld h, a + push hl + ld hl, $c608 + 16 + ld a, $0 + ld [hli], a + push de + xor a + ld [wJumptableIndex], a + ld a, $12 + ld [wcf64], a + ld a, $6 +.asm_11c0e1 + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + or e + jr z, .asm_11c133 + push hl + push bc + call Function11c156 + call Function11c14a + ld e, c + pop bc + pop hl + ld a, e + or a + jr z, .asm_11c133 +.asm_11c0fa + ld a, [wcf64] + cp $12 + jr z, .asm_11c102 + inc e + +.asm_11c102 + cp e + jr nc, .asm_11c11c + ld a, [wJumptableIndex] + inc a + ld [wJumptableIndex], a + ld [hl], $4e + rra + jr c, .asm_11c113 + ld [hl], $55 + +.asm_11c113 + inc hl + ld a, $12 + ld [wcf64], a + dec e + jr .asm_11c0fa + +.asm_11c11c + cp $12 + jr z, .asm_11c123 + ld [hl], $7f + inc hl + +.asm_11c123 + sub e + ld [wcf64], a + ld de, $c608 +.asm_11c12a + ld a, [de] + cp $50 + jr z, .asm_11c133 + inc de + ld [hli], a + jr .asm_11c12a + +.asm_11c133 + pop af + dec a + jr nz, .asm_11c0e1 + ld [hl], $57 + pop bc + ld hl, $c608 + 16 + call PlaceWholeStringInBoxAtOnce + pop hl + ld a, l + ld [wJumptableIndex], a + ld a, h + ld [wcf64], a + ret +; 11c14a + +Function11c14a: ; 11c14a + ld c, $0 + ld hl, $c608 +.asm_11c14f + ld a, [hli] + cp $50 + ret z + inc c + jr .asm_11c14f +; 11c156 + +Function11c156: ; 11c156 + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, $50 + ld hl, $c608 + ld bc, $000b + call ByteFill + ld a, d + and a + jr z, .asm_11c19c + ld hl, Unknown_11daac + dec d + sla d + ld c, d + ld b, $0 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + push bc + pop hl + ld c, e + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + add hl, bc + ld bc, $0005 +.asm_11c18f + ld de, $c608 + call CopyBytes + ld de, $c608 + pop af + ld [rSVBK], a + ret + +.asm_11c19c + ld a, e + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + ld bc, $000a + jr .asm_11c18f +; 11c1ab + +Function11c1ab: ; 11c1ab + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + call Function11c1b9 + pop af + ld [hInMenu], a + ret +; 11c1b9 + +Function11c1b9: ; 11c1b9 + call Function11c1ca + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + call Function11c283 + pop af + ld [rSVBK], a + ret +; 11c1ca + +Function11c1ca: ; 11c1ca + xor a + ld [wJumptableIndex], a + ld [wcf64], a + ld [wcf65], a + ld [wcf66], a + ld [wcd23], a + ld [BGMapBuffer], a + ld [wcd21], a + ld [CreditsTimer], a + ld [wcd35], a + ld [wcd2b], a + ld a, $ff + ld [wcd24], a + ld a, [MenuSelection2] + dec a + call Function11c254 + call ClearBGPalettes + call ClearSprites + call ClearScreen + call Function11d323 + call SetPalettes + call DisableLCD + ld hl, GFX_11d67e + ld de, VTiles2 + ld bc, $60 + call CopyBytes + ld hl, LZ_11d6de + ld de, VTiles0 + call Decompress + call EnableLCD + callba ReloadMapPart + callba Function8cf53 + callba LoadPokemonData + callba Function40c30 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, $c6d0 + ld de, LYOverrides + ld bc, $100 + call CopyBytes + pop af + ld [rSVBK], a + call Function11d4aa + call Function11d3ba + ret +; 11c254 + +Function11c254: ; 11c254 + push af + ld a, $4 + call GetSRAMBank + ld hl, $a007 + pop af + sla a + sla a + ld c, a + sla a + add c + ld c, a + ld b, $0 + add hl, bc + ld de, wcd36 + ld bc, $000c + call CopyBytes + call CloseSRAM + ret +; 11c277 + + +Function11c277: ; 11c277 (47:4277) + ld a, " " + hlcoord 0, 6 + ld bc, (SCREEN_HEIGHT - 6) * SCREEN_WIDTH + call ByteFill + ret + +Function11c283: ; 11c283 +.loop + call JoyTextDelay + ld a, [hJoyPressed] + ld [hJoypadPressed], a + ld a, [wJumptableIndex] + bit 7, a + jr nz, .exit + call .DoJumptableFunction + callba Function8cf69 + callba ReloadMapPart + jr .loop + +.exit + callba Function8cf53 + call ClearSprites + ret +; 11c2ac + +.DoJumptableFunction: ; 11c2ac + ld a, [wJumptableIndex] + ld e, a + ld d, 0 + ld hl, .Jumptable +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 11c2bb + + +.Jumptable: ; 11c2bb (47:42bb) + dw Function11c2e9 ; 00 + dw Function11c346 ; 01 + dw Function11c35f ; 02 + dw Function11c373 ; 03 + dw Function11c3c2 ; 04 + dw Function11c3ed ; 05 + dw Function11c52c ; 06 + dw Function11c53d ; 07 + dw Function11c658 ; 08 + dw Function11c675 ; 09 + dw Function11c9bd ; 0a + dw Function11c9c3 ; 0b + dw Function11caad ; 0c + dw Function11cab3 ; 0d + dw Function11cb52 ; 0e + dw Function11cb66 ; 0f + dw Function11cbf5 ; 10 + dw Function11ccef ; 11 + dw Function11cd04 ; 12 + dw Function11cd20 ; 13 + dw Function11cd54 ; 14 + dw Function11ce0b ; 15 + dw Function11ce2b ; 16 + + +Function11c2e9: ; 11c2e9 (47:42e9) + depixel 3, 1, 2, 5 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + depixel 8, 1, 2, 5 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, $c + add hl, bc + ld a, $1 + ld [hl], a + depixel 9, 2, 2, 0 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, $c + add hl, bc + ld a, $3 + ld [hl], a + depixel 10, 16 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, $c + add hl, bc + ld a, $4 + ld [hl], a + depixel 10, 4 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, $c + add hl, bc + ld a, $5 + ld [hl], a + depixel 10, 2 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct + ld hl, $c + add hl, bc + ld a, $2 + ld [hl], a + ld hl, wcd23 + set 1, [hl] + set 2, [hl] + jp Function11cfb5 + +Function11c346: ; 11c346 (47:4346) + ld a, $9 + ld [wcd2d], a + ld a, $2 + ld [wcd2e], a + ld [wcd2f], a + ld [wcd30], a + ld de, wcd2d + call Function11cfce + jp Function11cfb5 + +Function11c35f: ; 11c35f (47:435f) + ld hl, wcd2f +rept 2 + inc [hl] +endr +rept 2 + dec hl +endr + dec [hl] + push af + ld de, wcd2d + call Function11cfce + pop af + ret nz + jp Function11cfb5 + +Function11c373: ; 11c373 (47:4373) + ld hl, wcd30 +rept 2 + inc [hl] +endr +rept 2 + dec hl +endr + dec [hl] + push af + ld de, wcd2d + call Function11cfce + pop af + ret nz + call Function11c38a + jp Function11cfb5 + +Function11c38a: ; 11c38a (47:438a) + ld hl, Unknown_11c986 + ld bc, wcd36 + ld a, $6 +.asm_11c392 + push af + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + push de + pop hl + ld a, [bc] + inc bc + ld e, a + ld a, [bc] + inc bc + ld d, a + push bc + or e + jr z, .asm_11c3af + ld a, e + and d + cp $ff + jr z, .asm_11c3af + call Function11c05d + jr .asm_11c3b5 +.asm_11c3af + ld de, String_11c3bc + call PlaceString +.asm_11c3b5 + pop bc + pop hl + pop af + dec a + jr nz, .asm_11c392 + ret +; 11c3bc (47:43bc) + +String_11c3bc: ; 11c3bc + db "ーーーーー@" +; 11c3c2 + +Function11c3c2: ; 11c3c2 (47:43c2) + call Function11c277 + ld de, Unknown_11cfbe + call Function11d035 + hlcoord 1, 7 + ld de, String_11c4db + call PlaceString + hlcoord 1, 16 + ld de, String_11c51b + call PlaceString + call Function11c4be + ld hl, wcd23 + set 0, [hl] + ld hl, wcd24 + res 0, [hl] + call Function11cfb5 + +Function11c3ed: ; 11c3ed (47:43ed) + ld hl, BGMapBuffer ; wcd20 (aliases: CreditsPos) + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and $8 + jr nz, .asm_11c426 + ld a, [de] + and $2 + jr nz, .asm_11c41a + ld a, [de] + and $1 + jr nz, .asm_11c42c + ld de, hJoyLast + ld a, [de] + and $40 + jr nz, .asm_11c47c + ld a, [de] + and $80 + jr nz, .asm_11c484 + ld a, [de] + and $20 + jr nz, .asm_11c48c + ld a, [de] + and $10 + jr nz, .asm_11c498 + ret +.asm_11c41a + call PlayClickSFX +.asm_11c41d + ld hl, wcd24 + set 0, [hl] + ld a, $c + jr .asm_11c475 +.asm_11c426 + ld a, $8 + ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) + ret +.asm_11c42c + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + cp $6 + jr c, .asm_11c472 + sub $6 + jr z, .asm_11c469 + dec a + jr z, .asm_11c41d + ld hl, wcd36 + ld c, $c + xor a +.asm_11c440 + or [hl] + inc hl + dec c + jr nz, .asm_11c440 + and a + jr z, .asm_11c460 + ld de, Unknown_11cfba + call Function11cfce + decoord 1, 2 + ld bc, wcd36 + call Function11c08f + ld hl, wcd24 + set 0, [hl] + ld a, $e + jr .asm_11c475 +.asm_11c460 + ld hl, wcd24 + set 0, [hl] + ld a, $11 + jr .asm_11c475 +.asm_11c469 + ld hl, wcd24 + set 0, [hl] + ld a, $a + jr .asm_11c475 +.asm_11c472 + call Function11c4a5 +.asm_11c475 + ld [wJumptableIndex], a + call PlayClickSFX + ret +.asm_11c47c + ld a, [hl] + cp $3 + ret c + sub $3 + jr .asm_11c4a3 +.asm_11c484 + ld a, [hl] + cp $6 + ret nc + add $3 + jr .asm_11c4a3 +.asm_11c48c + ld a, [hl] + and a + ret z + cp $3 + ret z + cp $6 + ret z + dec a + jr .asm_11c4a3 +.asm_11c498 + ld a, [hl] + cp $2 + ret z + cp $5 + ret z + cp $8 + ret z + inc a +.asm_11c4a3 + ld [hl], a + ret + +Function11c4a5: ; 11c4a5 (47:44a5) + ld hl, wcd23 + res 0, [hl] + ld a, [wcd2b] + and a + jr nz, .asm_11c4b7 + xor a + ld [wcd21], a + ld a, $6 + ret +.asm_11c4b7 + xor a + ld [CreditsTimer], a + ld a, $15 + ret + +Function11c4be: ; 11c4be (47:44be) + ld a, $1 + hlcoord 0, 6, AttrMap + ld bc, $a0 + call ByteFill + ld a, $7 + hlcoord 0, 14, AttrMap + ld bc, $28 + call ByteFill + callba ReloadMapPart + ret +; 11c4db (47:44db) + +String_11c4db: ; 11c4db + db "6つのことば¯くみあわせます" + next "かえたいところ¯えらぶと でてくる" + next "ことばのグループから いれかえたい" + next "たんご¯えらんでください" + db "@" +; 11c51b + +String_11c51b: ; 11c51b + db "ぜんぶけす やめる けってい@" +; 11c52c + +Function11c52c: ; 11c52c (47:452c) + call Function11c277 + call Function11c5f0 + call Function11c618 + ld hl, wcd24 + res 1, [hl] + call Function11cfb5 + +Function11c53d: ; 11c53d (47:453d) + ld hl, wcd21 + ld de, hJoypadPressed ; $ffa3 + + ld a, [de] + and START + jr nz, .start + + ld a, [de] + and SELECT + jr nz, .select + + ld a, [de] + and B_BUTTON + jr nz, .b + + ld a, [de] + and A_BUTTON + jr nz, .a + + ld de, hJoyLast + + ld a, [de] + and D_UP + jr nz, .up + + ld a, [de] + and D_DOWN + jr nz, .down + + ld a, [de] + and D_LEFT + jr nz, .left + + ld a, [de] + and D_RIGHT + jr nz, .right + + ret + +.a + ld a, [wcd21] + cp $f + jr c, .asm_11c59d + sub $f + jr z, .asm_11c5ab + dec a + jr z, .asm_11c599 + jr .b + +.start + ld hl, wcd24 + set 0, [hl] + ld a, $8 + ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) + +.b + ld a, $4 + jr .asm_11c59f + +.select + ld a, [wcd2b] + xor $1 + ld [wcd2b], a + ld a, $15 + jr .asm_11c59f + +.asm_11c599 + ld a, $13 + jr .asm_11c59f + +.asm_11c59d + ld a, $8 + +.asm_11c59f + ld hl, wcd24 + set 1, [hl] + ld [wJumptableIndex], a + call PlayClickSFX + ret + +.asm_11c5ab + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + call Function11ca6a + call PlayClickSFX + ret + +.up + ld a, [hl] + cp $3 + ret c + sub $3 + jr .asm_11c5ee + +.down + ld a, [hl] + cp $f + ret nc + add $3 + jr .asm_11c5ee + +.left + ld a, [hl] + and a + ret z + cp $3 + ret z + cp $6 + ret z + cp $9 + ret z + cp $c + ret z + cp $f + ret z + dec a + jr .asm_11c5ee + +.right + ld a, [hl] + cp $2 + ret z + cp $5 + ret z + cp $8 + ret z + cp $b + ret z + cp $e + ret z + cp $11 + ret z + inc a + +.asm_11c5ee + ld [hl], a + ret +; 11c5f0 + +Function11c5f0: ; 11c5f0 (47:45f0) + ld de, Strings_11da52 + ld bc, Unknown_11c63a + ld a, $f +.asm_11c5f8 + push af + ld a, [bc] + inc bc + ld l, a + ld a, [bc] + inc bc + ld h, a + push bc + call PlaceString +.asm_11c603 + inc de + ld a, [de] + cp $50 + jr z, .asm_11c603 + pop bc + pop af + dec a + jr nz, .asm_11c5f8 + hlcoord 1, 17 + ld de, String_11c62a + call PlaceString + ret + +Function11c618: ; 11c618 (47:4618) + ld a, $2 + hlcoord 0, 6, AttrMap + ld bc, $c8 + call ByteFill + callba ReloadMapPart + ret +; 11c62a (47:462a) + +String_11c62a: ; 11c62a + db "けす モード やめる@" +; 11c63a + +Unknown_11c63a: ; 11c63a + dwcoord 1, 7 + dwcoord 7, 7 + dwcoord 13, 7 + dwcoord 1, 9 + dwcoord 7, 9 + dwcoord 13, 9 + dwcoord 1, 11 + dwcoord 7, 11 + dwcoord 13, 11 + dwcoord 1, 13 + dwcoord 7, 13 + dwcoord 13, 13 + dwcoord 1, 15 + dwcoord 7, 15 + dwcoord 13, 15 +; 11c658 + +Function11c658: ; 11c658 (47:4658) + call Function11c277 + call Function11c770 + ld de, Unknown_11cfc2 + call Function11d035 + call Function11c9ab + call Function11c7bc + call Function11c86e + ld hl, wcd24 + res 3, [hl] + call Function11cfb5 + +Function11c675: ; 11c675 (47:4675) + ld hl, wcd25 + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and A_BUTTON + jr nz, .a + ld a, [de] + and B_BUTTON + jr nz, .b + ld a, [de] + and START + jr nz, .start + ld a, [de] + and SELECT + jr z, .select + + ld a, [wcd26] + and a + ret z + sub $c + jr nc, .asm_11c699 + xor a +.asm_11c699 + ld [wcd26], a + jr .asm_11c6c4 + +.start + ld hl, wcd28 + ld a, [wcd26] + add $c + cp [hl] + ret nc + ld [wcd26], a + ld a, [hl] + ld b, a + ld hl, wcd25 + ld a, [wcd26] + add [hl] + jr c, .asm_11c6b9 + cp b + jr c, .asm_11c6c4 +.asm_11c6b9 + ld a, [wcd28] + ld hl, wcd26 + sub [hl] + dec a + ld [wcd25], a +.asm_11c6c4 + call Function11c992 + call Function11c7bc + call Function11c86e + ret + +.select + ld de, hJoyLast + ld a, [de] + and D_UP + jr nz, .asm_11c708 + ld a, [de] + and D_DOWN + jr nz, .asm_11c731 + ld a, [de] + and D_LEFT + jr nz, .asm_11c746 + ld a, [de] + and D_RIGHT + jr nz, .asm_11c755 + ret + +.a + call Function11c8f6 + ld a, $4 + ld [wcd35], a + jr .asm_11c6fc +.b + ld a, [wcd2b] + and a + jr nz, .asm_11c6fa + ld a, $6 + jr .asm_11c6fc +.asm_11c6fa + ld a, $15 +.asm_11c6fc + ld [wJumptableIndex], a + ld hl, wcd24 + set 3, [hl] + call PlayClickSFX + ret +.asm_11c708 + ld a, [hl] + cp $3 + jr c, .asm_11c711 + sub $3 + jr .asm_11c76e +.asm_11c711 + ld a, [wcd26] + sub $3 + ret c + ld [wcd26], a + jr .asm_11c6c4 +.asm_11c71c + ld hl, wcd28 + ld a, [wcd26] + add $c + ret c + cp [hl] + ret nc + ld a, [wcd26] + add $3 + ld [wcd26], a + jr .asm_11c6c4 +.asm_11c731 + ld a, [wcd28] + ld b, a + ld a, [wcd26] + add [hl] + add $3 + cp b + ret nc + ld a, [hl] + cp $9 + jr nc, .asm_11c71c + add $3 + jr .asm_11c76e +.asm_11c746 + ld a, [hl] + and a + ret z + cp $3 + ret z + cp $6 + ret z + cp $9 + ret z + dec a + jr .asm_11c76e +.asm_11c755 + ld a, [wcd28] + ld b, a + ld a, [wcd26] + add [hl] + inc a + cp b + ret nc + ld a, [hl] + cp $2 + ret z + cp $5 + ret z + cp $8 + ret z + cp $b + ret z + inc a +.asm_11c76e + ld [hl], a + ret + +Function11c770: ; 11c770 (47:4770) + xor a + ld [wcd25], a + ld [wcd26], a + ld [wcd27], a + ld a, [wcd2b] + and a + jr nz, .asm_11c7ab + ld a, [wcd21] + and a + jr z, .asm_11c799 + dec a + sla a + ld hl, Unknown_11f220 + ld c, a + ld b, 0 + add hl, bc + ld a, [hli] + ld [wcd28], a + ld a, [hl] +.asm_11c795 + ld [wcd29], a + ret +.asm_11c799 + ld a, [wc7d2] + ld [wcd28], a +.asm_11c79f + ld c, $c + call SimpleDivide + and a + jr nz, .asm_11c7a8 + dec b +.asm_11c7a8 + ld a, b + jr .asm_11c795 +.asm_11c7ab + ld hl, $c68a + 30 + ld a, [CreditsTimer] + ld c, a + ld b, 0 +rept 2 + add hl, bc +endr + ld a, [hl] + ld [wcd28], a + jr .asm_11c79f + +Function11c7bc: ; 11c7bc (47:47bc) + ld bc, Unknown_11c854 + ld a, [wcd2b] + and a + jr nz, .asm_11c814 + ld a, [wcd21] + ld d, a + and a + jr z, .asm_11c7e9 + ld a, [wcd26] + ld e, a +.asm_11c7d0 + ld a, [bc] + ld l, a + inc bc + ld a, [bc] + ld h, a + inc bc + and l + cp $ff + ret z + push bc + push de + call Function11c05d + pop de + pop bc + inc e + ld a, [wcd28] + cp e + jr nz, .asm_11c7d0 + ret +.asm_11c7e9 + ld hl, wd100 + ld a, [wcd26] + ld e, a + add hl, de +.asm_11c7f1 + push de + ld a, [hli] + ld e, a + ld d, $0 + push hl + ld a, [bc] + ld l, a + inc bc + ld a, [bc] + ld h, a + inc bc + and l + cp $ff + jr z, .asm_11c811 + push bc + call Function11c05d + pop bc + pop hl + pop de + inc e + ld a, [wcd28] + cp e + jr nz, .asm_11c7f1 + ret +.asm_11c811 + pop hl + pop de + ret +.asm_11c814 + ld hl, $c648 + ld a, [wcd22] + ld e, a + ld d, $0 +rept 2 + add hl, de +endr + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld a, [wcd26] + ld e, a + ld d, $0 +rept 2 + add hl, de +endr + ld a, [wcd26] + ld e, a +.asm_11c831 + push de + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + ld a, [bc] + ld l, a + inc bc + ld a, [bc] + ld h, a + inc bc + and l + cp $ff + jr z, .asm_11c851 + push bc + call Function11c05d + pop bc + pop hl + pop de + inc e + ld a, [wcd28] + cp e + jr nz, .asm_11c831 + ret +.asm_11c851 + pop hl + pop de + ret +; 11c854 (47:4854) + +Unknown_11c854: ; 11c854 + dwcoord 2, 8 + dwcoord 8, 8 + dwcoord 14, 8 + dwcoord 2, 10 + dwcoord 8, 10 + dwcoord 14, 10 + dwcoord 2, 12 + dwcoord 8, 12 + dwcoord 14, 12 + dwcoord 2, 14 + dwcoord 8, 14 + dwcoord 14, 14 + dw -1 +; 11c86e + +Function11c86e: ; 11c86e (47:486e) + ld a, [wcd26] + and a + jr z, .asm_11c88a + hlcoord 2, 17 + ld de, String_11c8f0 + call PlaceString + hlcoord 6, 17 + ld c, $3 + xor a +.asm_11c883 + ld [hli], a + inc a + dec c + jr nz, .asm_11c883 + jr .asm_11c895 +.asm_11c88a + hlcoord 2, 17 + ld c, $7 + ld a, $7f +.asm_11c891 + ld [hli], a + dec c + jr nz, .asm_11c891 +.asm_11c895 + ld hl, wcd28 + ld a, [wcd26] + add $c + jr c, .asm_11c8b7 + cp [hl] + jr nc, .asm_11c8b7 + hlcoord 16, 17 + ld de, String_11c8f3 + call PlaceString + hlcoord 11, 17 + ld a, $3 + ld c, a +.asm_11c8b1 + ld [hli], a + inc a + dec c + jr nz, .asm_11c8b1 + ret +.asm_11c8b7 + hlcoord 17, 16 + ld a, $7f + ld [hl], a + hlcoord 11, 17 + ld c, $7 +.asm_11c8c2 + ld [hli], a + dec c + jr nz, .asm_11c8c2 + ret +; 11c8c7 (47:48c7) + +Function11c8c7: ; 11c8c7 + inc a + push af + and $f + ld [hDividend], a + pop af + and $f0 + swap a + ld [hQuotient], a + xor a + ld [$ffb5], a + push hl + callba Function11a80c + pop hl + ld a, [wcd63] + add $f6 + ld [hli], a + ld a, [wcd62] + add $f6 + ld [hli], a + ret +; 11c8ec + +String_11c8ec: ; 11c8ec + db "ぺージ@" +; 11c8f0 + +String_11c8f0: ; 11c8f0 + db "まえ@" +; 11c8f3 + +String_11c8f3: ; 11c8f3 + db "つぎ@" +; 11c8f6 + +Function11c8f6: ; 11c8f6 (47:48f6) + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + call Function11c95d + push hl + ld a, [wcd2b] + and a + jr nz, .asm_11c938 + ld a, [wcd21] + ld d, a + and a + jr z, .asm_11c927 + ld hl, wcd26 + ld a, [wcd25] + add [hl] +.asm_11c911 + ld e, a +.asm_11c912 + pop hl + push de + call Function11c05d + pop de + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + ld c, a + ld b, $0 + ld hl, wcd36 +rept 2 + add hl, bc +endr + ld [hl], e + inc hl + ld [hl], d + ret +.asm_11c927 + ld hl, wcd26 + ld a, [wcd25] + add [hl] + ld c, a + ld b, $0 + ld hl, wd100 + add hl, bc + ld a, [hl] + jr .asm_11c911 +.asm_11c938 + ld hl, $c648 + ld a, [wcd22] + ld e, a + ld d, $0 +rept 2 + add hl, de +endr + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + push de + pop hl + ld a, [wcd26] + ld e, a + ld d, $0 +rept 2 + add hl, de +endr + ld a, [wcd25] + ld e, a +rept 2 + add hl, de +endr + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + jr .asm_11c912 + +Function11c95d: ; 11c95d (47:495d) + sla a + ld c, a + ld b, 0 + ld hl, Unknown_11c986 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + push bc + push bc + pop hl + ld a, $5 + ld c, a + ld a, $7f +.asm_11c972 + ld [hli], a + dec c + jr nz, .asm_11c972 + dec hl + ld bc, -20 + add hl, bc + ld a, $5 + ld c, a + ld a, $7f +.asm_11c980 + ld [hld], a + dec c + jr nz, .asm_11c980 + pop hl + ret +; 11c986 (47:4986) + +Unknown_11c986: + dwcoord 1, 2 + dwcoord 7, 2 + dwcoord 13, 2 + dwcoord 1, 4 + dwcoord 7, 4 + dwcoord 13, 4 +; 11c992 + +Function11c992: ; 11c992 (47:4992) + ld a, $8 + hlcoord 2, 7 +.asm_11c997 + push af + ld a, $7f + push hl + ld bc, $11 + call ByteFill + pop hl + ld bc, $14 + add hl, bc + pop af + dec a + jr nz, .asm_11c997 + ret + +Function11c9ab: ; 11c9ab (47:49ab) + ld a, $7 + hlcoord 0, 6, AttrMap + ld bc, $c8 + call ByteFill + callba ReloadMapPart + ret + +Function11c9bd: ; 11c9bd (47:49bd) + ld de, String_11ca38 + call Function11ca7f + +Function11c9c3: ; 11c9c3 (47:49c3) + ld hl, wcd2a + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and $1 + jr nz, .asm_11c9de + ld a, [de] + and $2 + jr nz, .asm_11c9e9 + ld a, [de] + and $40 + jr nz, .asm_11c9f7 + ld a, [de] + and $80 + jr nz, .asm_11c9fc + ret +.asm_11c9de + ld a, [hl] + and a + jr nz, .asm_11c9e9 + call Function11ca5e + xor a + ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) +.asm_11c9e9 + ld hl, wcd24 + set 4, [hl] + ld a, $4 + ld [wJumptableIndex], a + call PlayClickSFX + ret +.asm_11c9f7 + ld a, [hl] + and a + ret z + dec [hl] + ret +.asm_11c9fc + ld a, [hl] + and a + ret nz + inc [hl] + ret + +Function11ca01: ; 11ca01 (47:4a01) + hlcoord 14, 7, AttrMap + ld de, $14 + ld a, $5 + ld c, a +.asm_11ca0a + push hl + ld a, $6 + ld b, a + ld a, $7 +.asm_11ca10 + ld [hli], a + dec b + jr nz, .asm_11ca10 + pop hl + add hl, de + dec c + jr nz, .asm_11ca0a + +Function11ca19: ; 11ca19 (47:4a19) + hlcoord 0, 12, AttrMap + ld de, $14 + ld a, $6 + ld c, a +.asm_11ca22 + push hl + ld a, $14 + ld b, a + ld a, $7 +.asm_11ca28 + ld [hli], a + dec b + jr nz, .asm_11ca28 + pop hl + add hl, de + dec c + jr nz, .asm_11ca22 + callba ReloadMapPart + ret +; 11ca38 (47:4a38) + +String_11ca38: ; 11ca38 + db "とうろくちゅう", $25, "あいさつ¯ぜんぶ" + next "けしても よろしいですか?@" +; 11ca57 + +String_11ca57: ; 11ca57 + db "はい" + next "いいえ@" +; 11ca5e + +Function11ca5e: ; 11ca5e (47:4a5e) + xor a +.asm_11ca5f + push af + call Function11ca6a + pop af + inc a + cp $6 + jr nz, .asm_11ca5f + ret + +Function11ca6a: ; 11ca6a (47:4a6a) + ld hl, wcd36 + ld c, a + ld b, $0 +rept 2 + add hl, bc +endr + ld [hl], b + inc hl + ld [hl], b + call Function11c95d + ld de, String_11c3bc + call PlaceString + ret + +Function11ca7f: ; 11ca7f (47:4a7f) + push de + ld de, Unknown_11cfc6 + call Function11cfce + ld de, Unknown_11cfca + call Function11cfce + hlcoord 1, 14 + pop de + call PlaceString + hlcoord 16, 8 + ld de, String_11ca57 + call PlaceString + call Function11ca01 + ld a, $1 + ld [wcd2a], a + ld hl, wcd24 + res 4, [hl] + call Function11cfb5 + ret + +Function11caad: ; 11caad (47:4aad) + ld de, String_11cb1c + call Function11ca7f + +Function11cab3: ; 11cab3 (47:4ab3) + ld hl, wcd2a + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and $1 + jr nz, .asm_11cace + ld a, [de] + and $2 + jr nz, .asm_11caf9 + ld a, [de] + and $40 + jr nz, .asm_11cb12 + ld a, [de] + and $80 + jr nz, .asm_11cb17 + ret +.asm_11cace + call PlayClickSFX + ld a, [hl] + and a + jr nz, .asm_11cafc + ld a, [wcd35] + and a + jr z, .asm_11caf3 + cp $ff + jr z, .asm_11caf3 + ld a, $ff + ld [wcd35], a + hlcoord 1, 14 + ld de, String_11cb31 + call PlaceString + ld a, $1 + ld [wcd2a], a + ret +.asm_11caf3 + ld hl, wJumptableIndex + set 7, [hl] + ret +.asm_11caf9 + call PlayClickSFX +.asm_11cafc + ld hl, wcd24 + set 4, [hl] + ld a, $4 + ld [wJumptableIndex], a + ld a, [wcd35] + cp $ff + ret nz + ld a, $1 + ld [wcd35], a + ret +.asm_11cb12 + ld a, [hl] + and a + ret z + dec [hl] + ret +.asm_11cb17 + ld a, [hl] + and a + ret nz + inc [hl] + ret +; 11cb1c (47:4b1c) + +String_11cb1c: ; 11cb1c + db "あいさつ", $25, "とうろく¯ちゅうし" + next "しますか?@" +; 11cb31 + +String_11cb31: ; 11cb31 + db "とうろくちゅう", $25, "あいさつ", $24, "ほぞん" + next "されません", $4a, "よろしい ですか?@" +; 11cb52 + +Function11cb52: ; 11cb52 (47:4b52) + ld hl, Unknown_11cc01 + ld a, [MenuSelection2] +.asm_11cb58 + dec a + jr z, .asm_11cb5f +rept 2 + inc hl +endr + jr .asm_11cb58 +.asm_11cb5f + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + call Function11ca7f + +Function11cb66: ; 11cb66 (47:4b66) + ld hl, wcd2a + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and $1 + jr nz, .asm_11cb81 + ld a, [de] + and $2 + jr nz, .asm_11cbd7 + ld a, [de] + and $40 + jr nz, .asm_11cbeb + ld a, [de] + and $80 + jr nz, .asm_11cbf0 + ret +.asm_11cb81 + ld a, [hl] + and a + jr nz, .asm_11cbd4 + ld a, $4 + call GetSRAMBank + ld hl, $a007 + ld a, [MenuSelection2] + dec a + sla a + sla a + ld c, a + sla a + add c + ld c, a + ld b, $0 + add hl, bc + ld de, wcd36 + ld c, $c +.asm_11cba2 + ld a, [de] + ld [hli], a + inc de + dec c + jr nz, .asm_11cba2 + call CloseSRAM + call PlayClickSFX + ld de, Unknown_11cfc6 + call Function11cfce + ld hl, Unknown_11cc7e + ld a, [MenuSelection2] +.asm_11cbba + dec a + jr z, .asm_11cbc1 +rept 2 + inc hl +endr + jr .asm_11cbba +.asm_11cbc1 + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + hlcoord 1, 14 + call PlaceString + ld hl, wJumptableIndex + inc [hl] + inc hl + ld a, $10 + ld [hl], a + ret +.asm_11cbd4 + call PlayClickSFX +.asm_11cbd7 + ld de, Unknown_11cfba + call Function11cfce + call Function11c38a + ld hl, wcd24 + set 4, [hl] + ld a, $4 + ld [wJumptableIndex], a + ret +.asm_11cbeb + ld a, [hl] + and a + ret z + dec [hl] + ret +.asm_11cbf0 + ld a, [hl] + and a + ret nz + inc [hl] + ret + +Function11cbf5: ; 11cbf5 (47:4bf5) + call WaitSFX + ld hl, wcf64 + dec [hl] + ret nz + dec hl + set 7, [hl] + ret +; 11cc01 (47:4c01) + +Unknown_11cc01: ; 11cc01 + dw String_11cc09 + dw String_11cc23 + dw String_11cc42 + dw String_11cc60 + +String_11cc09: ; 11cc09 + db "じこしょうかい は" + next "この あいさつで いいですか?@" + +String_11cc23: ; 11cc23 + db "たいせん ", $4a, "はじまるとき は" + next "この あいさつで いいですか?@" + +String_11cc42: ; 11cc42 + db "たいせん ", $1d, "かったとき は" + next "この あいさつで いいですか?@" + +String_11cc60: ; 11cc60 + db "たいせん ", $1d, "まけたとき は" + next "この あいさつで いいですか?@" +; 11cc7e + +Unknown_11cc7e: ; 11cc7e + dw String_11cc86 + dw String_11cc9d + dw String_11ccb9 + dw String_11ccd4 + +String_11cc86: ; 11cc86 + db "じこしょうかい の" + next "あいさつ¯とうろくした!@" + +String_11cc9d: ; 11cc9d + db "たいせん ", $4a, "はじまるとき の" + next "あいさつ¯とうろくした!@" + +String_11ccb9: ; 11ccb9 + db "たいせん ", $1d, "かったとき の" + next "あいさつ¯とうろくした!@" + +String_11ccd4: ; 11ccd4 + db "たいせん ", $1d, "まけたとき の" + next "あいさつ¯とうろくした!@" +; 11ccef + +Function11ccef: ; 11ccef (47:4cef) + ld de, Unknown_11cfc6 + call Function11cfce + hlcoord 1, 14 + ld de, String_11cd10 + call PlaceString + call Function11ca19 + call Function11cfb5 + +Function11cd04: ; 11cd04 (47:4d04) + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and a + ret z + ld a, $4 + ld [wJumptableIndex], a + ret +; 11cd10 (47:4d10) + +String_11cd10: ; 11cd10 + db "なにか ことば¯いれてください@" +; 11cd20 + +Function11cd20: ; 11cd20 (47:4d20) + call Function11c277 + ld de, Unknown_11cfc6 + call Function11cfce + hlcoord 1, 14 + ld a, [wcd2b] + ld [wcd2c], a + and a + jr nz, .asm_11cd3a + ld de, String_11cdc7 + jr .asm_11cd3d +.asm_11cd3a + ld de, String_11cdd9 +.asm_11cd3d + call PlaceString + hlcoord 4, 8 + ld de, String_11cdf5 + call PlaceString + call Function11cdaa + ld hl, wcd24 + res 5, [hl] + call Function11cfb5 + +Function11cd54: ; 11cd54 (47:4d54) + ld hl, wcd2c + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and A_BUTTON + jr nz, .asm_11cd6f + ld a, [de] + and B_BUTTON + jr nz, .asm_11cd73 + ld a, [de] + and D_UP + jr nz, .asm_11cd8b + ld a, [de] + and D_DOWN + jr nz, .asm_11cd94 + ret + +.asm_11cd6f + ld a, [hl] + ld [wcd2b], a +.asm_11cd73 + ld a, [wcd2b] + and a + jr nz, .asm_11cd7d + ld a, $6 + jr .asm_11cd7f + +.asm_11cd7d + ld a, $15 +.asm_11cd7f + ld [wJumptableIndex], a + ld hl, wcd24 + set 5, [hl] + call PlayClickSFX + ret + +.asm_11cd8b + ld a, [hl] + and a + ret z + dec [hl] + ld de, String_11cdc7 + jr .asm_11cd9b + +.asm_11cd94 + ld a, [hl] + and a + ret nz + inc [hl] + ld de, String_11cdd9 +.asm_11cd9b + push de + ld de, Unknown_11cfc6 + call Function11cfce + pop de + hlcoord 1, 14 + call PlaceString + ret + +Function11cdaa: ; 11cdaa (47:4daa) + ld a, $2 + hlcoord 0, 6, AttrMap + ld bc, 6 * SCREEN_WIDTH + call ByteFill + ld a, $7 + hlcoord 0, 12, AttrMap + ld bc, 4 * SCREEN_WIDTH + call ByteFill + callba ReloadMapPart + ret +; 11cdc7 (47:4dc7) + +String_11cdc7: ; 11cdc7 +; Words will be displayed by category + db "ことば¯しゅるいべつに" + next "えらべます@" +; 11cdd9 + +String_11cdd9: ; 11cdd9 +; Words will be displayed in alphabetical order + db "ことば¯アイウエォ の" + next "じゅんばんで ひょうじ します@" +; 11cdf5 + +String_11cdf5: ; 11cdf5 + db "しゅるいべつ モード" ; Category mode + next "アイウエォ モード@" ; ABC mode +; 11ce0b + +Function11ce0b: ; 11ce0b (47:4e0b) + call Function11c277 + hlcoord 1, 7 + ld de, String_11cf79 + call PlaceString + hlcoord 1, 17 + ld de, String_11c62a + call PlaceString + call Function11c618 + ld hl, wcd24 + res 2, [hl] + call Function11cfb5 + +Function11ce2b: ; 11ce2b (47:4e2b) + ld a, [CreditsTimer] + sla a + sla a + ld c, a + ld b, 0 + ld hl, Unknown_11ceb9 + add hl, bc + + ld de, hJoypadPressed ; $ffa3 + ld a, [de] + and START + jr nz, .start + ld a, [de] + and SELECT + jr nz, .select + ld a, [de] + and A_BUTTON + jr nz, .a + ld a, [de] + and B_BUTTON + jr nz, .b + + ld de, hJoyLast + ld a, [de] + and D_UP + jr nz, .up + ld a, [de] + and D_DOWN + jr nz, .down + ld a, [de] + and D_LEFT + jr nz, .left + ld a, [de] + and D_RIGHT + jr nz, .right + + ret + +.a + ld a, [CreditsTimer] + cp NUM_KANA + jr c, .place + sub NUM_KANA + jr z, .asm_11cea4 + dec a + jr z, .asm_11ce96 + jr .b + +.start + ld hl, wcd24 + set 0, [hl] + ld a, $8 + ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos) +.b + ld a, $4 + jr .load + +.select + ld a, [wcd2b] + xor $1 + ld [wcd2b], a + ld a, $6 + jr .load + +.place + ld a, $8 + jr .load + +.asm_11ce96 + ld a, $13 +.load + ld [wJumptableIndex], a + ld hl, wcd24 + set 2, [hl] + call PlayClickSFX + ret + +.asm_11cea4 + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + call Function11ca6a + call PlayClickSFX + ret + +.left + inc hl +.down + inc hl +.right + inc hl +.up + ld a, [hl] + cp $ff + ret z + ld [CreditsTimer], a + ret +; 11ceb9 (47:4eb9) + +Unknown_11ceb9: ; 11ceb9 + ; up left down right + db $ff, $01, $05, $ff + db $ff, $02, $06, $00 + db $ff, $03, $07, $01 + db $ff, $04, $08, $02 + db $ff, $14, $09, $03 + db $00, $06, $0a, $ff + db $01, $07, $0b, $05 + db $02, $08, $0c, $06 + db $03, $09, $0d, $07 + db $04, $19, $0e, $08 + db $05, $0b, $0f, $ff + db $06, $0c, $10, $0a + db $07, $0d, $11, $0b + db $08, $0e, $12, $0c + db $09, $1e, $13, $0d + db $0a, $10, $2d, $ff + db $0b, $11, $2d, $0f + db $0c, $12, $2d, $10 + db $0d, $13, $2d, $11 + db $0e, $26, $2d, $12 + db $ff, $15, $19, $04 + db $ff, $16, $1a, $14 + db $ff, $17, $1b, $15 + db $ff, $18, $1c, $16 + db $ff, $23, $1d, $17 + db $14, $1a, $1e, $09 + db $15, $1b, $1f, $19 + db $16, $1c, $20, $1a + db $17, $1d, $21, $1b + db $18, $2b, $22, $1c + db $19, $1f, $26, $0e + db $1a, $20, $27, $1e + db $1b, $21, $28, $1f + db $1c, $22, $29, $20 + db $1d, $2c, $2a, $21 + db $ff, $24, $2b, $18 + db $ff, $25, $2b, $23 + db $ff, $ff, $2b, $24 + db $1e, $27, $2e, $13 + db $1f, $28, $2e, $26 + db $20, $29, $2e, $27 + db $21, $2a, $2e, $28 + db $22, $ff, $2e, $29 + db $23, $ff, $2c, $1d + db $2b, $ff, $2f, $22 + db $0f, $2e, $ff, $ff + db $26, $2f, $ff, $2d + db $2c, $ff, $ff, $2e +; 11cf79 + +String_11cf79: ; 11cf79 +; Hiragana table + db "あいうえお なにぬねの や ゆ よ" + next "かきくけこ はひふへほ わ" + next "さしすせそ まみむめも そのた" + next "たちつてと らりるれろ" + db "@" +; 11cfb5 + +Function11cfb5: ; 11cfb5 (47:4fb5) + ld hl, wJumptableIndex + inc [hl] + ret +; 11cfba (47:4fba) + +Unknown_11cfba: + db 0, 0 ; start coords + db 20, 6 ; end coords + +Unknown_11cfbe: + db 0, 14 ; start coords + db 20, 4 ; end coords + +Unknown_11cfc2: + db 0, 6 ; start coords + db 20, 10 ; end coords + +Unknown_11cfc6: + db 0, 12 ; start coords + db 20, 6 ; end coords + +Unknown_11cfca: + db 14, 7 ; start coords + db 6, 5 ; end coords +; 11cfce + +Function11cfce: ; 11cfce (47:4fce) + hlcoord 0, 0 + ld bc, $14 + ld a, [de] + inc de + push af + ld a, [de] + inc de + and a +.asm_11cfda + jr z, .asm_11cfe0 + add hl, bc + dec a + jr .asm_11cfda +.asm_11cfe0 + pop af + ld c, a + ld b, 0 + add hl, bc + push hl + ld a, $79 + ld [hli], a + ld a, [de] + inc de +rept 2 + dec a +endr + jr z, .asm_11cff6 + ld c, a + ld a, $7a +.asm_11cff2 + ld [hli], a + dec c + jr nz, .asm_11cff2 +.asm_11cff6 + ld a, $7b + ld [hl], a + pop hl + ld bc, $14 + add hl, bc + ld a, [de] + dec de +rept 2 + dec a +endr + jr z, .asm_11d022 + ld b, a +.asm_11d005 + push hl + ld a, $7c + ld [hli], a + ld a, [de] +rept 2 + dec a +endr + jr z, .asm_11d015 + ld c, a + ld a, $7f +.asm_11d011 + ld [hli], a + dec c + jr nz, .asm_11d011 +.asm_11d015 + ld a, $7c + ld [hl], a + pop hl + push bc + ld bc, $14 + add hl, bc + pop bc + dec b + jr nz, .asm_11d005 +.asm_11d022 + ld a, $7d + ld [hli], a + ld a, [de] +rept 2 + dec a +endr + jr z, .asm_11d031 + ld c, a + ld a, $7a +.asm_11d02d + ld [hli], a + dec c + jr nz, .asm_11d02d +.asm_11d031 + ld a, $7e + ld [hl], a + ret + +Function11d035: ; 11d035 (47:5035) + hlcoord 0, 0 + ld bc, $14 + ld a, [de] + inc de + push af + ld a, [de] + inc de + and a +.asm_11d041 + jr z, .asm_11d047 + add hl, bc + dec a + jr .asm_11d041 +.asm_11d047 + pop af + ld c, a + ld b, $0 + add hl, bc + push hl + ld a, $79 + ld [hl], a + pop hl + push hl + ld a, [de] + dec a + inc de + ld c, a + add hl, bc + ld a, $7b + ld [hl], a + call Function11d0ac + ld a, $7e + ld [hl], a + pop hl + push hl + call Function11d0ac + ld a, $7d + ld [hl], a + pop hl + push hl + inc hl + push hl + call Function11d0ac + pop bc + dec de + ld a, [de] + cp $2 + jr z, .asm_11d082 +rept 2 + dec a +endr +.asm_11d078 + push af + ld a, $7a + ld [hli], a + ld [bc], a + inc bc + pop af + dec a + jr nz, .asm_11d078 +.asm_11d082 + pop hl + ld bc, $14 + add hl, bc + push hl + ld a, [de] + dec a + ld c, a + ld b, $0 + add hl, bc + pop bc + inc de + ld a, [de] + cp $2 + ret z + push bc +rept 2 + dec a +endr + ld c, a + ld b, a + ld de, $14 +.asm_11d09c + ld a, $7c + ld [hl], a + add hl, de + dec c + jr nz, .asm_11d09c + pop hl +.asm_11d0a4 + ld a, $7c + ld [hl], a + add hl, de + dec b + jr nz, .asm_11d0a4 + ret + +Function11d0ac: ; 11d0ac (47:50ac) + ld a, [de] + dec a + ld bc, $14 +.asm_11d0b1 + add hl, bc + dec a + jr nz, .asm_11d0b1 + ret + +Function11d0b6: ; 11d0b6 (47:50b6) + ld hl, $c + add hl, bc + ld a, [hl] + ld e, a + ld d, 0 + ld hl, Jumptable_11d0c7 +rept 2 + add hl, de +endr + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +Jumptable_11d0c7: ; 11d0c7 (47:50c7) + dw Function11d0dd + dw Function11d0e9 + dw Function11d0f5 + dw Function11d10f + dw Function11d134 + dw Function11d145 + dw Function11d156 + dw Function11d175 + dw Function11d1d7 + dw Function11d1d1 + dw Function11d1fc + + +Function11d0dd: ; 11d0dd (47:50dd) + ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos) + sla a + ld hl, Unknown_11d208 + ld e, $1 + jr asm_11d11e + +Function11d0e9: ; 11d0e9 (47:50e9) + ld a, [wcd21] + sla a + ld hl, Unknown_11d21a + ld e, $2 + jr asm_11d11e + +Function11d0f5: ; 11d0f5 (47:50f5) + ld hl, Unknown_11d2be + ld a, [CreditsTimer] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + call Function3b3c + ld a, [CreditsTimer] + sla a + ld hl, Unknown_11d23e + ld e, $4 + jr asm_11d11e + +Function11d10f: ; 11d10f (47:510f) + ld a, $27 + call Function3b3c + ld a, [wcd25] + sla a + ld hl, Unknown_11d29e + ld e, $8 + +asm_11d11e: ; 11d11e (47:511e) + push de + ld e, a + ld d, $0 + add hl, de + push hl + pop de + ld hl, $4 + add hl, bc + ld a, [de] + inc de + ld [hli], a + ld a, [de] + ld [hl], a + pop de + ld a, e + call Function11d2ee + ret + +Function11d134: ; 11d134 (47:5134) + ld a, $27 + call Function3b3c + ld a, [wcd2a] + sla a + ld hl, Unknown_11d2b6 + ld e, $10 + jr asm_11d11e + +Function11d145: ; 11d145 (47:5145) + ld a, $27 + call Function3b3c + ld a, [wcd2c] + sla a + ld hl, Unknown_11d2ba + ld e, $20 + jr asm_11d11e + +Function11d156: ; 11d156 (47:5156) + ld a, $2a + call Function3b3c + ld a, [wcd4a] + sla a + sla a + sla a + add $18 + ld hl, $4 + add hl, bc + ld [hli], a + ld a, $30 + ld [hl], a + ld a, $1 + ld e, a + call Function11d2ee + ret + +Function11d175: ; 11d175 (47:5175) + ld a, [wcd4d] + cp $4 + jr z, .asm_11d180 + ld a, $28 + jr .asm_11d182 +.asm_11d180 + ld a, $26 +.asm_11d182 + call Function3b3c + ld a, [wcd4d] + cp $4 + jr z, .asm_11d1b1 + ld a, [wcd4c] + sla a + sla a + sla a + add $20 + ld hl, $4 + add hl, bc + ld [hli], a + ld a, [wcd4d] + sla a + sla a + sla a + sla a + add $48 + ld [hl], a + ld a, $2 + ld e, a + call Function11d2ee + ret +.asm_11d1b1 + ld a, [wcd4c] + sla a + sla a + sla a + ld e, a + sla a + sla a + add e + add $18 + ld hl, $4 + add hl, bc + ld [hli], a + ld a, $8a + ld [hl], a + ld a, $2 + ld e, a + call Function11d2ee + ret + +Function11d1d1: ; 11d1d1 (47:51d1) + ld d, $98 + ld a, $2c + jr asm_11d1db + +Function11d1d7: ; 11d1d7 (47:51d7) + ld d, $10 + ld a, $2b + +asm_11d1db: ; 11d1db (47:51db) + push de + call Function3b3c + ld a, [wcd4a] + sla a + sla a + sla a + ld e, a + sla a + add e + add $40 + ld hl, $5 + add hl, bc + ld [hld], a + pop af + ld [hl], a + ld a, $4 + ld e, a + call Function11d2ee + ret + +Function11d1fc: ; 11d1fc (47:51fc) + ld a, $26 + call Function3b3c + ld a, $8 + ld e, a + call Function11d2ee + ret +; 11d208 (47:5208) + +Unknown_11d208: ; 11d208 + db $0d, $1a + db $3d, $1a + db $6d, $1a + db $0d, $2a + db $3d, $2a + db $6d, $2a + db $0d, $8a + db $3d, $8a + db $6d, $8a + +Unknown_11d21a: ; 11d21a + db $0d, $42 + db $3d, $42 + db $6d, $42 + db $0d, $52 + db $3d, $52 + db $6d, $52 + db $0d, $62 + db $3d, $62 + db $6d, $62 + db $0d, $72 + db $3d, $72 + db $6d, $72 + db $0d, $82 + db $3d, $82 + db $6d, $82 + db $0d, $92 + db $3d, $92 + db $6d, $92 + +Unknown_11d23e: ; 11d23e + db $10, $48 + db $18, $48 + db $20, $48 + db $28, $48 + db $30, $48 + db $10, $58 + db $18, $58 + db $20, $58 + db $28, $58 + db $30, $58 + db $10, $68 + db $18, $68 + db $20, $68 + db $28, $68 + db $30, $68 + db $10, $78 + db $18, $78 + db $20, $78 + db $28, $78 + db $30, $78 + db $40, $48 + db $48, $48 + db $50, $48 + db $58, $48 + db $60, $48 + db $40, $58 + db $48, $58 + db $50, $58 + db $58, $58 + db $60, $58 + db $40, $68 + db $48, $68 + db $50, $68 + db $58, $68 + db $60, $68 + db $70, $48 + db $80, $48 + db $90, $48 + db $40, $78 + db $48, $78 + db $50, $78 + db $58, $78 + db $60, $78 + db $70, $58 + db $70, $68 + db $0d, $92 + db $3d, $92 + db $6d, $92 + +Unknown_11d29e: ; 11d29e + db $10, $50 + db $40, $50 + db $70, $50 + db $10, $60 + db $40, $60 + db $70, $60 + db $10, $70 + db $40, $70 + db $70, $70 + db $10, $80 + db $40, $80 + db $70, $80 + +Unknown_11d2b6: ; 11d2b6 + db $80, $50 + db $80, $60 + +Unknown_11d2ba: ; 11d2ba + db $20, $50 + db $20, $60 + +Unknown_11d2be: ; 11d2be + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $28, $28 + db $29, $26 + db $26, $26 + +Function11d2ee: ; 11d2ee (47:52ee) + ld hl, wcd24 + and [hl] + jr nz, .asm_11d316 + ld a, e + ld hl, wcd23 + and [hl] + jr z, .asm_11d30f + ld hl, $e + add hl, bc + ld a, [hl] + and a + jr z, .asm_11d305 + dec [hl] + ret +.asm_11d305 + ld a, $0 + ld [hld], a + ld a, $1 + xor [hl] + ld [hl], a + and a + jr nz, .asm_11d316 +.asm_11d30f + ld hl, $7 + add hl, bc + xor a + ld [hl], a + ret +.asm_11d316 + ld hl, $5 + add hl, bc + ld a, $b0 + sub [hl] + ld hl, $7 + add hl, bc + ld [hl], a + ret + +Function11d323: ; 11d323 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_11d33a + ld de, UnknBGPals + ld bc, 16 * 8 + call CopyBytes + pop af + ld [rSVBK], a + ret +; 11d33a + +Palette_11d33a: + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 16, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 23, 17, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + RGB 00, 00, 00 + +; 11d3ba + +Function11d3ba: ; 11d3ba + ld a, [rSVBK] + push af + ld hl, $c648 + ld a, w5_d800 % $100 + ld [wcd2d], a + ld [hli], a + ld a, w5_d800 / $100 + ld [wcd2e], a + ld [hl], a + + ld a, SortedPokemon % $100 + ld [wcd2f], a + ld a, SortedPokemon / $100 + ld [wcd30], a + + ld a, $c6a8 % $100 + ld [wcd31], a + ld a, $c6a8 / $100 + ld [wcd32], a + + ld a, $c64a % $100 + ld [wcd33], a + ld a, $c64a / $100 + ld [wcd34], a + + ld hl, Unknown_11f23c + ld a, (Unknown_11f23cEnd - Unknown_11f23c) / 4 + +.MasterLoop: ; 11d3ef + push af +; read row + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +; save the pointer to the next row + push hl +; add de to hl + ld hl, w3_d000 + add hl, de +; recover de from wcd2d (default: w5_d800) + ld a, [wcd2d] + ld e, a + ld a, [wcd2e] + ld d, a +; save bc for later + push bc + +.loop1 +; copy 2*bc bytes from 3:hl to 5:de + ld a, $3 + ld [rSVBK], a + ld a, [hli] + push af + ld a, $5 + ld [rSVBK], a + pop af + ld [de], a + inc de + + ld a, $3 + ld [rSVBK], a + ld a, [hli] + push af + ld a, $5 + ld [rSVBK], a + pop af + ld [de], a + inc de + + dec bc + ld a, c + or b + jr nz, .loop1 +; recover the pointer from wcd2f (default: SortedPokemon) + ld a, [wcd2f] + ld l, a + ld a, [wcd30] + ld h, a +; copy the pointer from [hl] to bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a +; store the pointer to the next pointer back in wcd2f + ld a, l + ld [wcd2f], a + ld a, h + ld [wcd30], a +; push pop that pointer to hl + push bc + pop hl + ld c, $0 +.loop2 +; Have you seen this Pokemon? + ld a, [hl] + cp $ff + jr z, .done + call .CheckSeenMon + jr nz, .next +; If not, skip it. + inc hl + jr .loop2 + +.next +; If so, append it to the list at 5:de, and increase the count. + ld a, [hli] + ld [de], a + inc de + xor a + ld [de], a + inc de + inc c + jr .loop2 + +.done +; Remember the original value of bc from the table? +; Well, the stack remembers it, and it's popping it to hl. + pop hl +; Add the number of seen Pokemon from the list. + ld b, $0 + add hl, bc +; Push pop to bc. + push hl + pop bc +; Load the pointer from [wcd31] (default: $c6a8) + ld a, [wcd31] + ld l, a + ld a, [wcd32] + ld h, a +; Save the quantity from bc to [hl] + ld a, c + ld [hli], a + ld a, b + ld [hli], a +; Save the new value of hl to [wcd31] + ld a, l + ld [wcd31], a + ld a, h + ld [wcd32], a +; Recover the pointer from [wcd33] (default: $c64a) + ld a, [wcd33] + ld l, a + ld a, [wcd34] + ld h, a +; Save the current value of de there + ld a, e + ld [wcd2d], a + ld [hli], a + ld a, d + ld [wcd2e], a +; Save the new value of hl back to [wcd33] + ld [hli], a + ld a, l + ld [wcd33], a + ld a, h + ld [wcd34], a +; Next row + pop hl + pop af + dec a + jr z, .ExitMasterLoop + jp .MasterLoop + +.ExitMasterLoop + pop af + ld [rSVBK], a + ret +; 11d493 + +.CheckSeenMon: ; 11d493 + push hl + push bc + push de + dec a + ld hl, rSVBK + ld e, $1 + ld [hl], e + call CheckSeenMon + ld hl, rSVBK + ld e, $5 + ld [hl], e + pop de + pop bc + pop hl + ret +; 11d4aa + +Function11d4aa: ; 11d4aa + ld a, [rSVBK] + push af + ld a, $3 + ld [rSVBK], a + ld hl, Unknown_11daac + ld bc, Unknown_11f220 + xor a + ld [wcd2d], a + inc a + ld [wcd2e], a + ld a, $e +.asm_11d4c1 + push af + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push hl + ld hl, $0005 + add hl, de + ld a, [bc] +rept 2 + inc bc +endr + push bc +.asm_11d4cf + push af + push hl + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ld hl, wd000 + add hl, de + ld a, [wcd2d] + ld [hli], a + inc a + ld [wcd2d], a + ld a, [wcd2e] + ld [hl], a + pop hl + ld de, $0008 + add hl, de + pop af + dec a + jr nz, .asm_11d4cf + ld hl, wcd2d + xor a + ld [hli], a + inc [hl] + pop bc + pop hl + pop af + dec a + jr nz, .asm_11d4c1 + pop af + ld [rSVBK], a + ret +; 11d4fe + + +SortedPokemon: +; Pokemon sorted by kana. +; Notably, Rhydon is missing. + + dw .a + dw .i + dw .u + dw .e + dw .o + dw .ka_ga + dw .ki_gi + dw .ku_gu + dw .ke_ge + dw .ko_go + dw .sa_za + dw .shi_ji + dw .su_zu + dw .se_ze + dw .so_zo + dw .ta_da + dw .chi_dhi + dw .tsu_du + dw .te_de + dw .to_do + dw .na + dw .ni + dw .nu + dw .ne + dw .no + dw .ha_ba_pa + dw .hi_bi_pi + dw .fu_bu_pu + dw .he_be_pe + dw .ho_bo_po + dw .ma + dw .mi + dw .mu + dw .me + dw .mo + dw .ya + dw .yu + dw .yo + dw .ra + dw .ri + dw .ru + dw .re + dw .ro + dw .wa + dw .end + +.a: db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN + db -1 +.i: db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX + db -1 +.u: db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB + db -1 +.e: db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI + db -1 +.o: db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE + db -1 +.ka_ga: db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN + db -1 +.ki_gi: db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER + db -1 +.ku_gu: db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT + db -1 +.ke_ge: db ABRA, GENGAR, TAUROS + db -1 +.ko_go: db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT + db -1 +.sa_za: db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH ; RHYDON should lead this list + db -1 +.shi_ji: db SEADRA, SHELLDER, VAPOREON, DEWGONG + db -1 +.su_zu: db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE + db -1 +.se_ze: db SQUIRTLE, CELEBI + db -1 +.so_zo: db WOBBUFFET + db -1 +.ta_da: db DUGTRIO, HORSEA, EXEGGCUTE + db -1 +.chi_dhi: db CHIKORITA, CHINCHOU + db -1 +.tsu_du: db SHUCKLE + db -1 +.te_de: db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS + db -1 +.to_do: db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN + db -1 +.na: db ODDISH, EXEGGUTOR + db -1 +.ni: db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG + db -1 +.nu: db QUAGSIRE + db -1 +.ne: db NATU, XATU + db -1 +.no: db DUNSPARCE + db -1 +.ha_ba_pa: db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR + db -1 +.hi_bi_pi: db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB + db -1 +.fu_bu_pu: db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL + db -1 +.he_be_pe: db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG + db -1 +.ho_bo_po: db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2 + db -1 +.ma: db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE + db -1 +.mi: db DRATINI, MEW, MEWTWO, MILTANK + db -1 +.mu: db MISDREAVUS, SMOOCHUM + db -1 +.me: db MEGANIUM, DITTO, TENTACOOL, MAREEP + db -1 +.mo: db FLAAFFY, VENOMOTH, TANGELA + db -1 +.ya: db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA + db -1 +.yu: db KADABRA + db -1 +.yo: db LARVITAR, NOCTOWL + db -1 +.ra: db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN + db -1 +.ri: db CHARMELEON, CHARIZARD, URSARING + db -1 +.ru: db JYNX, LUGIA + db -1 +.re: db MAGNETON, LEDIAN, LEDYBA + db -1 +.ro: db VULPIX + db -1 +.wa: db JUMPLUFF, TOTODILE, MACHOP +.end: db -1 +; 11d67e + +GFX_11d67e: +INCBIN "gfx/pokedex/select_start.2bpp" +; 11d6de + +LZ_11d6de: +INCBIN "gfx/pokedex/slowpoke.2bpp.lz" +; 11da52 + +Strings_11da52: ; 11da52 +; Fixed message categories + db "ポケモン@@" + db "タイプ@@@" + db "あいさつ@@" + db "ひと@@@@" + db "バトル@@@" + db "こえ@@@@" + db "かいわ@@@" + db "きもち@@@" + db "じょうたい@" + db "せいかつ@@" + db "しゅみ@@@" + db "こうどう@@" + db "じかん@@@" + db "むすび@@@" + db "あれこれ@@" +; 11daac + +Unknown_11daac: ; 11daac + dw .Types + dw .Greetings + dw .People + dw .Battle + dw .Exclamations + dw .Conversation + dw .Feelings + dw .Conditions + dw .Life + dw .Hobbies + dw .Actions + dw .Time + dw .Farewells + dw .ThisAndThat + +.Types: ; 11dac8 + db "あく@@@", $26, $0, $0 + db "いわ@@@", $aa, $0, $0 + db "エスパー@", $da, $0, $0 + db "かくとう@", $4e, $1, $0 + db "くさ@@@", $ba, $1, $0 + db "ゴースト@", $e4, $1, $0 + db "こおり@@", $e6, $1, $0 + db "じめん@@", $68, $2, $0 + db "タイプ@@", $e8, $2, $0 + db "でんき@@", $8e, $3, $0 + db "どく@@@", $ae, $3, $0 + db "ドラゴン@", $bc, $3, $0 + db "ノーマル@", $22, $4, $0 + db "はがね@@", $36, $4, $0 + db "ひこう@@", $5e, $4, $0 + db "ほのお@@", $b2, $4, $0 + db "みず@@@", $f4, $4, $0 + db "むし@@@", $12, $5, $0 + +.Greetings: ; 11db58 + db "ありがと@", $58, $0, $0 + db "ありがとう", $5a, $0, $0 + db "いくぜ!@", $80, $0, $0 + db "いくよ!@", $82, $0, $0 + db "いくわよ!", $84, $0, $0 + db "いやー@@", $a6, $0, $0 + db "おっす@@", $a, $1, $0 + db "おはつです", $22, $1, $0 + db "おめでとう", $2a, $1, $0 + db "ごめん@@", $f8, $1, $0 + db "ごめんよ@", $fa, $1, $0 + db "こらっ@@", $fc, $1, $0 + db "こんちは!", $a, $2, $0 + db "こんにちは", $10, $2, $0 + db "さようなら", $28, $2, $0 + db "サンキュー", $2e, $2, $0 + db "さんじょう", $30, $2, $0 + db "しっけい@", $48, $2, $0 + db "しつれい@", $4c, $2, $0 + db "じゃーね@", $6c, $2, $0 + db "すいません", $8c, $2, $0 + db "それじゃ@", $ca, $2, $0 + db "どうも@@", $a6, $3, $0 + db "なんじゃ@", $ee, $3, $0 + db "ハーイ@@", $2c, $4, $0 + db "はいはい@", $32, $4, $0 + db "バイバイ@", $34, $4, $0 + db "へイ@@@", $8a, $4, $0 + db "またね@@", $de, $4, $0 + db "もしもし@", $32, $5, $0 + db "やあ@@@", $3e, $5, $0 + db "やっほー@", $4e, $5, $0 + db "よう@@@", $62, $5, $0 + db "ようこそ@", $64, $5, $0 + db "よろしく@", $80, $5, $0 + db "らっしゃい", $94, $5, $0 + +.People: ; 11dc78 + db "あいて@@", $1c, $0, $0 + db "あたし@@", $36, $0, $0 + db "あなた@@", $40, $0, $0 + db "あなたが@", $42, $0, $0 + db "あなたに@", $44, $0, $0 + db "あなたの@", $46, $0, $0 + db "あなたは@", $48, $0, $0 + db "あなたを@", $4a, $0, $0 + db "おかあさん", $e8, $0, $0 + db "おじいさん", $fc, $0, $0 + db "おじさん@", $2, $1, $0 + db "おとうさん", $e, $1, $0 + db "おとこのこ", $10, $1, $0 + db "おとな@@", $14, $1, $0 + db "おにいさん", $16, $1, $0 + db "おねえさん", $18, $1, $0 + db "おばあさん", $1c, $1, $0 + db "おばさん@", $20, $1, $0 + db "おれさま@", $34, $1, $0 + db "おんなのこ", $3a, $1, $0 + db "ガール@@", $40, $1, $0 + db "かぞく@@", $52, $1, $0 + db "かのじょ@", $72, $1, $0 + db "かれ@@@", $7c, $1, $0 + db "きみ@@@", $9a, $1, $0 + db "きみが@@", $9c, $1, $0 + db "きみに@@", $9e, $1, $0 + db "きみの@@", $a0, $1, $0 + db "きみは@@", $a2, $1, $0 + db "きみを@@", $a4, $1, $0 + db "ギャル@@", $ae, $1, $0 + db "きょうだい", $b2, $1, $0 + db "こども@@", $f0, $1, $0 + db "じぶん@@", $54, $2, $0 + db "じぶんが@", $56, $2, $0 + db "じぶんに@", $58, $2, $0 + db "じぶんの@", $5a, $2, $0 + db "じぶんは@", $5c, $2, $0 + db "じぶんを@", $5e, $2, $0 + db "だれ@@@", $18, $3, $0 + db "だれか@@", $1a, $3, $0 + db "だれが@@", $1c, $3, $0 + db "だれに@@", $1e, $3, $0 + db "だれの@@", $20, $3, $0 + db "だれも@@", $22, $3, $0 + db "だれを@@", $24, $3, $0 + db "ちゃん@@", $38, $3, $0 + db "ともだち@", $b8, $3, $0 + db "なかま@@", $d4, $3, $0 + db "ひと@@@", $62, $4, $0 + db "ボーイ@@", $98, $4, $0 + db "ボク@@@", $a0, $4, $0 + db "ボクが@@", $a2, $4, $0 + db "ボクに@@", $a4, $4, $0 + db "ボクの@@", $a6, $4, $0 + db "ボクは@@", $a8, $4, $0 + db "ボクを@@", $aa, $4, $0 + db "みんな@@", $4, $5, $0 + db "みんなが@", $6, $5, $0 + db "みんなに@", $8, $5, $0 + db "みんなの@", $a, $5, $0 + db "みんなは@", $c, $5, $0 + db "ライバル@", $8a, $5, $0 + db "わたし@@", $c2, $5, $0 + db "わたしが@", $c4, $5, $0 + db "わたしに@", $c6, $5, $0 + db "わたしの@", $c8, $5, $0 + db "わたしは@", $ca, $5, $0 + db "わたしを@", $cc, $5, $0 + +.Battle: ; 11dea0 + db "あいしょう", $18, $0, $0 + db "いけ!@@", $88, $0, $0 + db "いちばん@", $96, $0, $0 + db "かくご@@", $4c, $1, $0 + db "かたせて@", $54, $1, $0 + db "かち@@@", $56, $1, $0 + db "かつ@@@", $58, $1, $0 + db "かった@@", $60, $1, $0 + db "かったら@", $62, $1, $0 + db "かって@@", $64, $1, $0 + db "かてない@", $66, $1, $0 + db "かてる@@", $68, $1, $0 + db "かなわない", $70, $1, $0 + db "きあい@@", $84, $1, $0 + db "きめた@@", $a8, $1, $0 + db "きりふだ@", $b6, $1, $0 + db "くらえ@@", $c2, $1, $0 + db "こい!@@", $da, $1, $0 + db "こうげき@", $e0, $1, $0 + db "こうさん@", $e2, $1, $0 + db "こんじょう", $8, $2, $0 + db "さいのう@", $16, $2, $0 + db "さくせん@", $1a, $2, $0 + db "さばき@@", $22, $2, $0 + db "しょうぶ@", $7e, $2, $0 + db "しょうり@", $80, $2, $0 + db "せめ@@@", $b4, $2, $0 + db "センス@@", $b6, $2, $0 + db "たいせん@", $e6, $2, $0 + db "たたかい@", $f6, $2, $0 + db "ちから@@", $32, $3, $0 + db "チャレンジ", $36, $3, $0 + db "つよい@@", $58, $3, $0 + db "つよすぎ@", $5a, $3, $0 + db "つらい@@", $5c, $3, $0 + db "つらかった", $5e, $3, $0 + db "てかげん@", $6c, $3, $0 + db "てき@@@", $6e, $3, $0 + db "てんさい@", $90, $3, $0 + db "でんせつ@", $94, $3, $0 + db "トレーナー", $c6, $3, $0 + db "にげ@@@", $4, $4, $0 + db "ぬるい@@", $10, $4, $0 + db "ねらう@@", $16, $4, $0 + db "バトル@@", $4a, $4, $0 + db "ファイト@", $72, $4, $0 + db "ふっかつ@", $78, $4, $0 + db "ポイント@", $94, $4, $0 + db "ポケモン@", $ac, $4, $0 + db "ほんき@@", $bc, $4, $0 + db "まいった!", $c4, $4, $0 + db "まけ@@@", $c8, $4, $0 + db "まけたら@", $ca, $4, $0 + db "まけて@@", $cc, $4, $0 + db "まける@@", $ce, $4, $0 + db "まもり@@", $ea, $4, $0 + db "みかた@@", $f2, $4, $0 + db "みとめない", $fe, $4, $0 + db "みとめる@", $0, $5, $0 + db "むてき@@", $16, $5, $0 + db "もらった!", $3c, $5, $0 + db "よゆう@@", $7a, $5, $0 + db "よわい@@", $82, $5, $0 + db "よわすぎ@", $84, $5, $0 + db "らくしょう", $8e, $5, $0 + db "りーダー@", $9e, $5, $0 + db "ルール@@", $a0, $5, $0 + db "レべル@@", $a6, $5, $0 + db "わざ@@@", $be, $5, $0 + +.Exclamations: ; 11e0c8 + db "!@@@@", $0, $0, $0 + db "!!@@@", $2, $0, $0 + db "!?@@@", $4, $0, $0 + db "?@@@@", $6, $0, $0 + db "…@@@@", $8, $0, $0 + db "…!@@@", $a, $0, $0 + db "………@@", $c, $0, $0 + db "ー@@@@", $e, $0, $0 + db "ーーー@@", $10, $0, $0 + db "あーあ@@", $14, $0, $0 + db "あーん@@", $16, $0, $0 + db "あははー@", $52, $0, $0 + db "あら@@@", $54, $0, $0 + db "いえ@@@", $72, $0, $0 + db "イエス@@", $74, $0, $0 + db "うう@@@", $ac, $0, $0 + db "うーん@@", $ae, $0, $0 + db "うおー!@", $b0, $0, $0 + db "うおりゃー", $b2, $0, $0 + db "うひょー@", $bc, $0, $0 + db "うふふ@@", $be, $0, $0 + db "うわー@@", $ca, $0, $0 + db "うわーん@", $cc, $0, $0 + db "ええ@@@", $d2, $0, $0 + db "えー@@@", $d4, $0, $0 + db "えーん@@", $d6, $0, $0 + db "えへへ@@", $dc, $0, $0 + db "おいおい@", $e0, $0, $0 + db "おお@@@", $e2, $0, $0 + db "おっと@@", $c, $1, $0 + db "がーん@@", $42, $1, $0 + db "キャー@@", $aa, $1, $0 + db "ギャー@@", $ac, $1, $0 + db "ぐふふふふ", $bc, $1, $0 + db "げっ@@@", $ce, $1, $0 + db "しくしく@", $3e, $2, $0 + db "ちえっ@@", $2e, $3, $0 + db "てへ@@@", $86, $3, $0 + db "ノー@@@", $20, $4, $0 + db "はあー@@", $2a, $4, $0 + db "はい@@@", $30, $4, $0 + db "はっはっは", $48, $4, $0 + db "ひいー@@", $56, $4, $0 + db "ひゃあ@@", $6a, $4, $0 + db "ふっふっふ", $7c, $4, $0 + db "ふにゃ@@", $7e, $4, $0 + db "ププ@@@", $80, $4, $0 + db "ふふん@@", $82, $4, $0 + db "ふん@@@", $88, $4, $0 + db "へっへっへ", $8e, $4, $0 + db "へへー@@", $90, $4, $0 + db "ほーほほほ", $9c, $4, $0 + db "ほら@@@", $b6, $4, $0 + db "まあ@@@", $c0, $4, $0 + db "むきー!!", $10, $5, $0 + db "むふー@@", $18, $5, $0 + db "むふふ@@", $1a, $5, $0 + db "むむ@@@", $1c, $5, $0 + db "よーし@@", $6a, $5, $0 + db "よし!@@", $72, $5, $0 + db "ラララ@@", $98, $5, $0 + db "わーい@@", $ac, $5, $0 + db "わーん!!", $b0, $5, $0 + db "ワォ@@@", $b2, $5, $0 + db "わっ!!@", $ce, $5, $0 + db "わははは!", $d0, $5, $0 + +.Conversation: ; 11e2d8 + db "あのね@@", $50, $0, $0 + db "あんまり@", $6e, $0, $0 + db "いじわる@", $8e, $0, $0 + db "うそ@@@", $b6, $0, $0 + db "うむ@@@", $c4, $0, $0 + db "おーい@@", $e4, $0, $0 + db "おすすめ@", $6, $1, $0 + db "おばかさん", $1e, $1, $0 + db "かなり@@", $6e, $1, $0 + db "から@@@", $7a, $1, $0 + db "きぶん@@", $98, $1, $0 + db "けど@@@", $d6, $1, $0 + db "こそ@@@", $ea, $1, $0 + db "こと@@@", $ee, $1, $0 + db "さあ@@@", $12, $2, $0 + db "さっぱり@", $1e, $2, $0 + db "さて@@@", $20, $2, $0 + db "じゅうぶん", $72, $2, $0 + db "すぐ@@@", $94, $2, $0 + db "すごく@@", $98, $2, $0 + db "すこしは@", $9a, $2, $0 + db "すっっごい", $a0, $2, $0 + db "ぜーんぜん", $b0, $2, $0 + db "ぜったい@", $b2, $2, $0 + db "それで@@", $ce, $2, $0 + db "だけ@@@", $f2, $2, $0 + db "だって@@", $fc, $2, $0 + db "たぶん@@", $6, $3, $0 + db "たら@@@", $14, $3, $0 + db "ちょー@@", $3a, $3, $0 + db "ちょっと@", $3c, $3, $0 + db "ったら@@", $4e, $3, $0 + db "って@@@", $50, $3, $0 + db "ていうか@", $62, $3, $0 + db "でも@@@", $88, $3, $0 + db "どうしても", $9c, $3, $0 + db "とうぜん@", $a0, $3, $0 + db "どうぞ@@", $a2, $3, $0 + db "とりあえず", $be, $3, $0 + db "なあ@@@", $cc, $3, $0 + db "なんて@@", $f4, $3, $0 + db "なんでも@", $fc, $3, $0 + db "なんとか@", $fe, $3, $0 + db "には@@@", $8, $4, $0 + db "バッチり@", $46, $4, $0 + db "ばりばり@", $52, $4, $0 + db "ほど@@@", $b0, $4, $0 + db "ほんと@@", $be, $4, $0 + db "まさに@@", $d0, $4, $0 + db "マジ@@@", $d2, $4, $0 + db "マジで@@", $d4, $4, $0 + db "まったく@", $e4, $4, $0 + db "まで@@@", $e6, $4, $0 + db "まるで@@", $ec, $4, $0 + db "ムード@@", $e, $5, $0 + db "むしろ@@", $14, $5, $0 + db "めちゃ@@", $24, $5, $0 + db "めっぽう@", $28, $5, $0 + db "もう@@@", $2c, $5, $0 + db "モード@@", $2e, $5, $0 + db "もっと@@", $36, $5, $0 + db "もはや@@", $38, $5, $0 + db "やっと@@", $4a, $5, $0 + db "やっぱり@", $4c, $5, $0 + db "より@@@", $7c, $5, $0 + db "れば@@@", $a4, $5, $0 + +.Feelings: ; 11e4e8 + db "あいたい@", $1a, $0, $0 + db "あそびたい", $32, $0, $0 + db "いきたい@", $7c, $0, $0 + db "うかれて@", $b4, $0, $0 + db "うれしい@", $c6, $0, $0 + db "うれしさ@", $c8, $0, $0 + db "エキサイト", $d8, $0, $0 + db "えらい@@", $de, $0, $0 + db "おかしい@", $ec, $0, $0 + db "ォッケー@", $8, $1, $0 + db "かえりたい", $48, $1, $0 + db "がっくし@", $5a, $1, $0 + db "かなしい@", $6c, $1, $0 + db "がんばって", $80, $1, $0 + db "きがしない", $86, $1, $0 + db "きがする@", $88, $1, $0 + db "ききたい@", $8a, $1, $0 + db "きになる@", $90, $1, $0 + db "きのせい@", $96, $1, $0 + db "きらい@@", $b4, $1, $0 + db "くやしい@", $be, $1, $0 + db "くやしさ@", $c0, $1, $0 + db "さみしい@", $24, $2, $0 + db "ざんねん@", $32, $2, $0 + db "しあわせ@", $36, $2, $0 + db "したい@@", $44, $2, $0 + db "したくない", $46, $2, $0 + db "しまった@", $64, $2, $0 + db "しょんぼり", $82, $2, $0 + db "すき@@@", $92, $2, $0 + db "だいきらい", $da, $2, $0 + db "たいくつ@", $dc, $2, $0 + db "だいじ@@", $de, $2, $0 + db "だいすき@", $e4, $2, $0 + db "たいへん@", $ea, $2, $0 + db "たのしい@", $0, $3, $0 + db "たのしすぎ", $2, $3, $0 + db "たべたい@", $8, $3, $0 + db "ダメダメ@", $e, $3, $0 + db "たりない@", $16, $3, $0 + db "ちくしょー", $34, $3, $0 + db "どうしよう", $9e, $3, $0 + db "ドキドキ@", $ac, $3, $0 + db "ナイス@@", $d0, $3, $0 + db "のみたい@", $26, $4, $0 + db "びっくり@", $60, $4, $0 + db "ふあん@@", $74, $4, $0 + db "ふらふら@", $86, $4, $0 + db "ほしい@@", $ae, $4, $0 + db "ボロボロ@", $b8, $4, $0 + db "まだまだ@", $e0, $4, $0 + db "まてない@", $e8, $4, $0 + db "まんぞく@", $f0, $4, $0 + db "みたい@@", $f8, $4, $0 + db "めずらしい", $22, $5, $0 + db "メラメラ@", $2a, $5, $0 + db "やだ@@@", $46, $5, $0 + db "やったー@", $48, $5, $0 + db "やばい@@", $50, $5, $0 + db "やばすぎる", $52, $5, $0 + db "やられた@", $54, $5, $0 + db "やられて@", $56, $5, $0 + db "よかった@", $6e, $5, $0 + db "ラブラブ@", $96, $5, $0 + db "ロマン@@", $a8, $5, $0 + db "ろんがい@", $aa, $5, $0 + db "わから@@", $b4, $5, $0 + db "わかり@@", $b6, $5, $0 + db "わくわく@", $ba, $5, $0 + +.Conditions: ; 11e710 + db "あつい@@", $38, $0, $0 + db "あった@@", $3a, $0, $0 + db "あり@@@", $56, $0, $0 + db "ある@@@", $5e, $0, $0 + db "あわてて@", $6a, $0, $0 + db "いい@@@", $70, $0, $0 + db "いか@@@", $76, $0, $0 + db "イカス@@", $78, $0, $0 + db "いきおい@", $7a, $0, $0 + db "いける@@", $8a, $0, $0 + db "いじょう@", $8c, $0, $0 + db "いそがしい", $90, $0, $0 + db "いっしょに", $9a, $0, $0 + db "いっぱい@", $9c, $0, $0 + db "いない@@", $a0, $0, $0 + db "いや@@@", $a4, $0, $0 + db "いる@@@", $a8, $0, $0 + db "うまい@@", $c0, $0, $0 + db "うまく@@", $c2, $0, $0 + db "おおきい@", $e6, $0, $0 + db "おくれ@@", $f2, $0, $0 + db "おしい@@", $fa, $0, $0 + db "おもしろい", $2c, $1, $0 + db "おもしろく", $2e, $1, $0 + db "かっこいい", $5c, $1, $0 + db "かわいい@", $7e, $1, $0 + db "かんぺき@", $82, $1, $0 + db "けっこう@", $d0, $1, $0 + db "げんき@@", $d8, $1, $0 + db "こわい@@", $6, $2, $0 + db "さいこう@", $14, $2, $0 + db "さむい@@", $26, $2, $0 + db "さわやか@", $2c, $2, $0 + db "しかたない", $38, $2, $0 + db "すごい@@", $96, $2, $0 + db "すごすぎ@", $9c, $2, $0 + db "すてき@@", $a4, $2, $0 + db "たいした@", $e0, $2, $0 + db "だいじょぶ", $e2, $2, $0 + db "たかい@@", $ec, $2, $0 + db "ただしい@", $f8, $2, $0 + db "だめ@@@", $c, $3, $0 + db "ちいさい@", $2c, $3, $0 + db "ちがう@@", $30, $3, $0 + db "つかれ@@", $48, $3, $0 + db "とくい@@", $b0, $3, $0 + db "とまらない", $b6, $3, $0 + db "ない@@@", $ce, $3, $0 + db "なかった@", $d2, $3, $0 + db "なし@@@", $d8, $3, $0 + db "なって@@", $dc, $3, $0 + db "はやい@@", $50, $4, $0 + db "ひかる@@", $5a, $4, $0 + db "ひくい@@", $5c, $4, $0 + db "ひどい@@", $64, $4, $0 + db "ひとりで@", $66, $4, $0 + db "ひま@@@", $68, $4, $0 + db "ふそく@@", $76, $4, $0 + db "へた@@@", $8c, $4, $0 + db "まちがって", $e2, $4, $0 + db "やさしい@", $42, $5, $0 + db "よく@@@", $70, $5, $0 + db "よわって@", $86, $5, $0 + db "らく@@@", $8c, $5, $0 + db "らしい@@", $90, $5, $0 + db "わるい@@", $d4, $5, $0 + +.Life: ; 11e920 + db "アルバイト", $64, $0, $0 + db "うち@@@", $ba, $0, $0 + db "おかね@@", $ee, $0, $0 + db "おこづかい", $f4, $0, $0 + db "おふろ@@", $24, $1, $0 + db "がっこう@", $5e, $1, $0 + db "きねん@@", $92, $1, $0 + db "グループ@", $c6, $1, $0 + db "ゲット@@", $d2, $1, $0 + db "こうかん@", $de, $1, $0 + db "しごと@@", $40, $2, $0 + db "しゅぎょう", $74, $2, $0 + db "じゅぎょう", $76, $2, $0 + db "じゅく@@", $78, $2, $0 + db "しんか@@", $88, $2, $0 + db "ずかん@@", $90, $2, $0 + db "せいかつ@", $ae, $2, $0 + db "せんせい@", $b8, $2, $0 + db "センター@", $ba, $2, $0 + db "タワー@@", $28, $3, $0 + db "つうしん@", $40, $3, $0 + db "テスト@@", $7e, $3, $0 + db "テレビ@@", $8c, $3, $0 + db "でんわ@@", $96, $3, $0 + db "どうぐ@@", $9a, $3, $0 + db "トレード@", $c4, $3, $0 + db "なまえ@@", $e8, $3, $0 + db "ニュース@", $a, $4, $0 + db "にんき@@", $c, $4, $0 + db "パーティー", $2e, $4, $0 + db "べんきょう", $92, $4, $0 + db "マシン@@", $d6, $4, $0 + db "めいし@@", $1e, $5, $0 + db "メッセージ", $26, $5, $0 + db "もようがえ", $3a, $5, $0 + db "ゆめ@@@", $5a, $5, $0 + db "ようちえん", $66, $5, $0 + db "ラジォ@@", $92, $5, $0 + db "ワールド@", $ae, $5, $0 + +.Hobbies: ; 11ea58 + db "アイドル@", $1e, $0, $0 + db "アニメ@@", $4c, $0, $0 + db "うた@@@", $b8, $0, $0 + db "えいが@@", $d0, $0, $0 + db "おかし@@", $ea, $0, $0 + db "おしゃべり", $4, $1, $0 + db "おままごと", $28, $1, $0 + db "おもちゃ@", $30, $1, $0 + db "おんがく@", $38, $1, $0 + db "カード@@", $3e, $1, $0 + db "かいもの@", $46, $1, $0 + db "グルメ@@", $c8, $1, $0 + db "ゲーム@@", $cc, $1, $0 + db "ざっし@@", $1c, $2, $0 + db "さんぽ@@", $34, $2, $0 + db "じてんしゃ", $50, $2, $0 + db "しゅみ@@", $7a, $2, $0 + db "スポーツ@", $a8, $2, $0 + db "ダイエット", $d8, $2, $0 + db "たからもの", $f0, $2, $0 + db "たび@@@", $4, $3, $0 + db "ダンス@@", $2a, $3, $0 + db "つり@@@", $60, $3, $0 + db "デート@@", $6a, $3, $0 + db "でんしゃ@", $92, $3, $0 + db "ぬいぐるみ", $e, $4, $0 + db "パソコン@", $3e, $4, $0 + db "はな@@@", $4c, $4, $0 + db "ヒーロー@", $58, $4, $0 + db "ひるね@@", $6e, $4, $0 + db "ヒロイン@", $70, $4, $0 + db "ぼうけん@", $96, $4, $0 + db "ボード@@", $9a, $4, $0 + db "ボール@@", $9e, $4, $0 + db "ほん@@@", $ba, $4, $0 + db "マンガ@@", $ee, $4, $0 + db "やくそく@", $40, $5, $0 + db "やすみ@@", $44, $5, $0 + db "よてい@@", $74, $5, $0 + +.Actions: ; 11eb90 + db "あう@@@", $20, $0, $0 + db "あきらめ@", $24, $0, $0 + db "あげる@@", $28, $0, $0 + db "あせる@@", $2e, $0, $0 + db "あそび@@", $30, $0, $0 + db "あそぶ@@", $34, $0, $0 + db "あつめ@@", $3e, $0, $0 + db "あるき@@", $60, $0, $0 + db "あるく@@", $62, $0, $0 + db "いく@@@", $7e, $0, $0 + db "いけ@@@", $86, $0, $0 + db "おき@@@", $f0, $0, $0 + db "おこり@@", $f6, $0, $0 + db "おこる@@", $f8, $0, $0 + db "おしえ@@", $fe, $0, $0 + db "おしえて@", $0, $1, $0 + db "おねがい@", $1a, $1, $0 + db "おぼえ@@", $26, $1, $0 + db "かえる@@", $4a, $1, $0 + db "がまん@@", $74, $1, $0 + db "きく@@@", $8c, $1, $0 + db "きたえ@@", $8e, $1, $0 + db "きめ@@@", $a6, $1, $0 + db "くる@@@", $c4, $1, $0 + db "さがし@@", $18, $2, $0 + db "さわぎ@@", $2a, $2, $0 + db "した@@@", $42, $2, $0 + db "しって@@", $4a, $2, $0 + db "して@@@", $4e, $2, $0 + db "しない@@", $52, $2, $0 + db "しまう@@", $60, $2, $0 + db "じまん@@", $66, $2, $0 + db "しらない@", $84, $2, $0 + db "しる@@@", $86, $2, $0 + db "しんじて@", $8a, $2, $0 + db "する@@@", $aa, $2, $0 + db "たべる@@", $a, $3, $0 + db "つかう@@", $42, $3, $0 + db "つかえ@@", $44, $3, $0 + db "つかって@", $46, $3, $0 + db "できない@", $70, $3, $0 + db "できる@@", $72, $3, $0 + db "でない@@", $84, $3, $0 + db "でる@@@", $8a, $3, $0 + db "なげる@@", $d6, $3, $0 + db "なやみ@@", $ea, $3, $0 + db "ねられ@@", $18, $4, $0 + db "ねる@@@", $1a, $4, $0 + db "のがし@@", $24, $4, $0 + db "のむ@@@", $28, $4, $0 + db "はしり@@", $3a, $4, $0 + db "はしる@@", $3c, $4, $0 + db "はたらき@", $40, $4, $0 + db "はたらく@", $42, $4, $0 + db "はまって@", $4e, $4, $0 + db "ぶつけ@@", $7a, $4, $0 + db "ほめ@@@", $b4, $4, $0 + db "みせて@@", $f6, $4, $0 + db "みて@@@", $fc, $4, $0 + db "みる@@@", $2, $5, $0 + db "めざす@@", $20, $5, $0 + db "もって@@", $34, $5, $0 + db "ゆずる@@", $58, $5, $0 + db "ゆるす@@", $5c, $5, $0 + db "ゆるせ@@", $5e, $5, $0 + db "られない@", $9a, $5, $0 + db "られる@@", $9c, $5, $0 + db "わかる@@", $b8, $5, $0 + db "わすれ@@", $c0, $5, $0 + +.Time: ; 11edb8 + db "あき@@@", $22, $0, $0 + db "あさ@@@", $2a, $0, $0 + db "あした@@", $2c, $0, $0 + db "いちにち@", $94, $0, $0 + db "いつか@@", $98, $0, $0 + db "いつも@@", $9e, $0, $0 + db "いま@@@", $a2, $0, $0 + db "えいえん@", $ce, $0, $0 + db "おととい@", $12, $1, $0 + db "おわり@@", $36, $1, $0 + db "かようび@", $78, $1, $0 + db "きのう@@", $94, $1, $0 + db "きょう@@", $b0, $1, $0 + db "きんようび", $b8, $1, $0 + db "げつようび", $d4, $1, $0 + db "このあと@", $f4, $1, $0 + db "このまえ@", $f6, $1, $0 + db "こんど@@", $c, $2, $0 + db "じかん@@", $3c, $2, $0 + db "じゅうねん", $70, $2, $0 + db "すいようび", $8e, $2, $0 + db "スタート@", $9e, $2, $0 + db "ずっと@@", $a2, $2, $0 + db "ストップ@", $a6, $2, $0 + db "そのうち@", $c4, $2, $0 + db "ついに@@", $3e, $3, $0 + db "つぎ@@@", $4a, $3, $0 + db "どようび@", $ba, $3, $0 + db "なつ@@@", $da, $3, $0 + db "にちようび", $6, $4, $0 + db "はじめ@@", $38, $4, $0 + db "はる@@@", $54, $4, $0 + db "ひる@@@", $6c, $4, $0 + db "ふゆ@@@", $84, $4, $0 + db "まいにち@", $c6, $4, $0 + db "もくようび", $30, $5, $0 + db "よなか@@", $76, $5, $0 + db "よる@@@", $7e, $5, $0 + db "らいしゅう", $88, $5, $0 + +.Farewells: ; 11eef0 + db "いたします", $92, $0, $0 + db "おります@", $32, $1, $0 + db "か!?@@", $3c, $1, $0 + db "かい?@@", $44, $1, $0 + db "かしら?@", $50, $1, $0 + db "かな?@@", $6a, $1, $0 + db "かも@@@", $76, $1, $0 + db "くれ@@@", $ca, $1, $0 + db "ございます", $e8, $1, $0 + db "しがち@@", $3a, $2, $0 + db "します@@", $62, $2, $0 + db "じゃ@@@", $6a, $2, $0 + db "じゃん@@", $6e, $2, $0 + db "しよう@@", $7c, $2, $0 + db "ぜ!@@@", $ac, $2, $0 + db "ぞ!@@@", $bc, $2, $0 + db "た@@@@", $d4, $2, $0 + db "だ@@@@", $d6, $2, $0 + db "だからね@", $ee, $2, $0 + db "だぜ@@@", $f4, $2, $0 + db "だった@@", $fa, $2, $0 + db "だね@@@", $fe, $2, $0 + db "だよ@@@", $10, $3, $0 + db "だよねー!", $12, $3, $0 + db "だわ@@@", $26, $3, $0 + db "ッス@@@", $4c, $3, $0 + db "ってかんじ", $52, $3, $0 + db "っぱなし@", $54, $3, $0 + db "つもり@@", $56, $3, $0 + db "ていない@", $64, $3, $0 + db "ている@@", $66, $3, $0 + db "でーす!@", $68, $3, $0 + db "でした@@", $74, $3, $0 + db "でしょ?@", $76, $3, $0 + db "でしょー!", $78, $3, $0 + db "です@@@", $7a, $3, $0 + db "ですか?@", $7c, $3, $0 + db "ですよ@@", $80, $3, $0 + db "ですわ@@", $82, $3, $0 + db "どうなの?", $a4, $3, $0 + db "どうよ?@", $a8, $3, $0 + db "とかいって", $aa, $3, $0 + db "なの@@@", $e0, $3, $0 + db "なのか@@", $e2, $3, $0 + db "なのだ@@", $e4, $3, $0 + db "なのよ@@", $e6, $3, $0 + db "なんだね@", $f2, $3, $0 + db "なんです@", $f8, $3, $0 + db "なんてね@", $fa, $3, $0 + db "ね@@@@", $12, $4, $0 + db "ねー@@@", $14, $4, $0 + db "の@@@@", $1c, $4, $0 + db "の?@@@", $1e, $4, $0 + db "ばっかり@", $44, $4, $0 + db "まーす!@", $c2, $4, $0 + db "ます@@@", $d8, $4, $0 + db "ますわ@@", $da, $4, $0 + db "ません@@", $dc, $4, $0 + db "みたいな@", $fa, $4, $0 + db "よ!@@@", $60, $5, $0 + db "よー@@@", $68, $5, $0 + db "よーん@@", $6c, $5, $0 + db "よね@@@", $78, $5, $0 + db "るよ@@@", $a2, $5, $0 + db "わけ@@@", $bc, $5, $0 + db "わよ!@@", $d2, $5, $0 + +.ThisAndThat: ; 11f100 + db "ああ@@@", $12, $0, $0 + db "あっち@@", $3c, $0, $0 + db "あの@@@", $4e, $0, $0 + db "ありゃ@@", $5c, $0, $0 + db "あれ@@@", $66, $0, $0 + db "あれは@@", $68, $0, $0 + db "あんな@@", $6c, $0, $0 + db "こう@@@", $dc, $1, $0 + db "こっち@@", $ec, $1, $0 + db "この@@@", $f2, $1, $0 + db "こりゃ@@", $fe, $1, $0 + db "これ@@@", $0, $2, $0 + db "これだ!@", $2, $2, $0 + db "これは@@", $4, $2, $0 + db "こんな@@", $e, $2, $0 + db "そう@@@", $be, $2, $0 + db "そっち@@", $c0, $2, $0 + db "その@@@", $c2, $2, $0 + db "そりゃ@@", $c6, $2, $0 + db "それ@@@", $c8, $2, $0 + db "それだ!@", $cc, $2, $0 + db "それは@@", $d0, $2, $0 + db "そんな@@", $d2, $2, $0 + db "どう@@@", $98, $3, $0 + db "どっち@@", $b2, $3, $0 + db "どの@@@", $b4, $3, $0 + db "どりゃ@@", $c0, $3, $0 + db "どれ@@@", $c2, $3, $0 + db "どれを@@", $c8, $3, $0 + db "どんな@@", $ca, $3, $0 + db "なに@@@", $de, $3, $0 + db "なんか@@", $ec, $3, $0 + db "なんだ@@", $f0, $3, $0 + db "なんで@@", $f6, $3, $0 + db "なんなんだ", $0, $4, $0 + db "なんの@@", $2, $4, $0 +; 11f220 + +Unknown_11f220: + db $12, $01, $24, $02 + db $45, $05, $45, $05 + db $42, $05, $42, $05 + db $45, $05, $42, $05 + db $27, $03, $27, $03 + db $45, $05, $27, $03 + db $42, $05, $24, $02 + +Unknown_11f23c: +macro_11f23c: macro + dw x - w3_d000, \1 +x = x + 2 * \1 +endm +x = $d012 + macro_11f23c $2f + macro_11f23c $1e + macro_11f23c $11 + macro_11f23c $09 + macro_11f23c $2e + macro_11f23c $24 + macro_11f23c $1b + macro_11f23c $09 + macro_11f23c $07 + macro_11f23c $1c + macro_11f23c $12 + macro_11f23c $2b + macro_11f23c $10 + macro_11f23c $08 + macro_11f23c $0c + macro_11f23c $2c + macro_11f23c $09 + macro_11f23c $12 + macro_11f23c $1b + macro_11f23c $1a + macro_11f23c $1c + macro_11f23c $05 + macro_11f23c $02 + macro_11f23c $05 + macro_11f23c $07 + macro_11f23c $16 + macro_11f23c $0e + macro_11f23c $0c + macro_11f23c $05 + macro_11f23c $16 + macro_11f23c $19 + macro_11f23c $0e + macro_11f23c $08 + macro_11f23c $07 + macro_11f23c $09 + macro_11f23c $0d + macro_11f23c $04 + macro_11f23c $14 + macro_11f23c $0b + macro_11f23c $01 + macro_11f23c $02 + macro_11f23c $02 + macro_11f23c $02 + macro_11f23c $15 +x = $d000 + macro_11f23c $09 +Unknown_11f23cEnd: diff --git a/misc/gbc_only.asm b/misc/gbc_only.asm index 2349bb687..81d3eadb4 100644 --- a/misc/gbc_only.asm +++ b/misc/gbc_only.asm @@ -10,7 +10,7 @@ GBCOnlyScreen: ; 4ea82 call ClearTileMap ld hl, GBCOnlyGFX - ld de, $d000 + ld de, wd000 ld a, [rSVBK] push af ld a, 0 @@ -19,7 +19,7 @@ GBCOnlyScreen: ; 4ea82 pop af ld [rSVBK], a - ld de, $d000 + ld de, wd000 ld hl, VTiles2 lb bc, BANK(GBCOnlyGFX), $54 call Get2bpp diff --git a/misc/mobile_12.asm b/misc/mobile_12.asm new file mode 100755 index 000000000..185d19e89 --- /dev/null +++ b/misc/mobile_12.asm @@ -0,0 +1,1829 @@ +InitMobileProfile: ; 4802f (12:402f) + xor a + set 6, a + ld [wd002], a + ld hl, wd003 + set 0, [hl] + ld a, c + and a + call z, Function48000 + call ClearBGPalettes + call Function48d3d + ld a, [wd479] + bit 1, a + jr z, .asm_4805a + ld a, [wd003] + set 0, a + set 1, a + set 2, a + set 3, a + ld [wd003], a +.asm_4805a + call Function486bf + call LoadFontsExtra + ld de, GFX_488c3 + ld hl, VTiles2 tile $10 + lb bc, BANK(GFX_488c3), 1 + call Request1bpp + ld de, GFX_488cb + ld hl, VTiles2 tile $11 + lb bc, BANK(GFX_488cb), 1 + call Request1bpp + call Function4a3a7 + call ClearBGPalettes + ld a, [wd002] + bit 6, a + jr z, .asm_4808a + call Function48689 + jr .asm_480d7 +.asm_4808a + ld a, $5 + ld [MusicFade], a + ld a, MUSIC_MOBILE_ADAPTER_MENU % $100 + ld [MusicFadeIDLo], a + ld a, MUSIC_MOBILE_ADAPTER_MENU / $100 + ld [MusicFadeIDHi], a + ld c, 20 + call DelayFrames + ld b, $1 + call Function4930f + call ClearBGPalettes + hlcoord 0, 0 + ld b, $2 + ld c, $14 + call ClearBox + hlcoord 0, 1 + ld a, $c + ld [hl], a + ld bc, $13 + add hl, bc + ld [hl], a + ld de, MobileProfileString + hlcoord 1, 1 + call PlaceString + hlcoord 0, 2 + ld b, $a + ld c, $12 + call Function48cdc + hlcoord 2, 4 + ld de, String_48482 + call PlaceString +.asm_480d7 + hlcoord 2, 6 + ld de, String_48489 + call PlaceString + hlcoord 2, 8 + ld de, String_4848d + call PlaceString + hlcoord 2, 10 + ld de, String_48495 + call PlaceString + hlcoord 2, 12 + ld de, String_4849e + call PlaceString + ld a, [wd002] + bit 6, a + jr nz, .asm_48113 + ld a, [PlayerGender] + ld hl, Strings_484fb + call GetNthString + ld d, h + ld e, l + hlcoord 11, 4 + call PlaceString +.asm_48113 + hlcoord 11, 6 + call Function487ec + ld a, [wd474] + dec a + ld hl, Prefectures + call GetNthString + ld d, h + ld e, l + hlcoord 11, 8 + call PlaceString + hlcoord 11, 10 + call Function489ea + hlcoord 0, 14 + ld b, $2 + ld c, $12 + call TextBox + hlcoord 1, 16 + ld de, String_48275 + call PlaceString + call Function48187 + call Function3200 + call SetPalettes + call Function1bc9 + ld hl, MenuSelection2 + ld b, [hl] + push bc + jr asm_4815f + +Function48157: ; 48157 (12:4157) + call Function1bd3 + ld hl, MenuSelection2 + ld b, [hl] + push bc + +asm_4815f: ; 4815f (12:415f) + bit 0, a + jp nz, Function4820d + ld b, a + ld a, [wd002] + bit 6, a + jr z, .asm_48177 + ld hl, wd479 + bit 1, [hl] + jr z, .asm_48177 + bit 1, b + jr nz, .asm_4817a +.asm_48177 + jp Function48272 +.asm_4817a + call ClearBGPalettes + call Function48d30 + pop bc + call ClearTileMap + ld a, $ff + ret + +Function48187: ; 48187 (12:4187) + ld a, [wd479] + bit 1, a + jr nz, .asm_481f1 + ld a, [wd003] + ld d, a + call Function48725 + jr c, .asm_481a2 + lb bc, 1, 4 + hlcoord 2, 12 + call ClearBox + jr .asm_481ad +.asm_481a2 + push de + hlcoord 2, 12 + ld de, String_4849e + call PlaceString + pop de +.asm_481ad + ld a, [wd002] + bit 6, a + jr nz, .asm_481c1 + bit 0, d + jr nz, .asm_481c1 + lb bc, 1, 8 + hlcoord 11, 4 + call ClearBox +.asm_481c1 + bit 1, d + jr nz, .asm_481ce + lb bc, 1, 8 + hlcoord 11, 6 + call ClearBox +.asm_481ce + bit 2, d + jr nz, .asm_481db + lb bc, 2, 8 + hlcoord 11, 7 + call ClearBox +.asm_481db + bit 3, d + jr nz, .asm_481f1 + ld a, [wd479] + bit 0, a + jr nz, .asm_481f8 + lb bc, 1, 8 + hlcoord 11, 10 + call ClearBox + jr .asm_48201 +.asm_481f1 + ld a, [wd479] + bit 0, a + jr nz, .asm_48201 +.asm_481f8 + hlcoord 11, 10 + ld de, String_48202 + call PlaceString +.asm_48201 + ret +; 48202 (12:4202) + +String_48202: ; 48202 + db "Tell Later@" +; 4820d + +Function4820d: ; 4820d (12:420d) + call Function1bee + ld hl, MenuSelection2 + ld a, [hl] + push af + ld a, [wd002] + bit 6, a + jr z, .asm_4821f + pop af + inc a + push af +.asm_4821f + pop af + cp $1 + jr z, asm_4828d + cp $2 + jp z, Function4876f + cp $3 + jp z, Function48304 + cp $4 + jp z, Function488d3 + ld a, $2 + call Function1ff8 + ld a, [wd002] + bit 6, a + jr z, .asm_4825c + jr .asm_4825c +; 48241 (12:4241) + + hlcoord 1, 15 + ld b, $2 + ld c, $12 + call ClearBox + ld de, String_484a1 + hlcoord 1, 16 + call PlaceString + call WaitBGMap + ld c, 48 + call DelayFrames + +.asm_4825c + call ClearBGPalettes + call Function48d30 + pop bc + call ClearTileMap + ld b, SCGB_08 + call GetSGBLayout + ld hl, wd479 + set 1, [hl] + xor a + ret + +Function48272: ; 48272 (12:4272) + jp Function4840c +; 48275 (12:4275) + +String_48275: ; 48275 + db "Personal Info@" +; 48283 + +Function48283: ; 48283 (12:4283) + lb bc, 2, 18 + hlcoord 1, 15 + call ClearBox + ret + +asm_4828d: ; 4828d (12:428d) + call Function48283 + hlcoord 1, 16 + ld de, String_484b1 + call PlaceString + ld hl, MenuDataHeader_0x484f1 + call LoadMenuDataHeader + call Function4873c + hlcoord 11, 2 + ld b, $4 + ld c, $7 + call Function48cdc + hlcoord 13, 4 + ld de, String_484fb + call PlaceString + hlcoord 13, 6 + ld de, String_484ff + call PlaceString + call WaitBGMap + ld a, [PlayerGender] + inc a + ld [wMenuCursorBuffer], a + call Function1bc9 + call PlayClickSFX + call ExitMenu + bit 0, a + jp z, Function4840c + ld hl, MenuSelection2 + ld a, [hl] + ld hl, Strings_484fb + cp $1 + jr z, .asm_482ed +.asm_482e1 + ld a, [hli] + cp $50 + jr nz, .asm_482e1 + ld a, $1 + ld [PlayerGender], a + jr .asm_482f1 +.asm_482ed + xor a + ld [PlayerGender], a +.asm_482f1 + ld d, h + ld e, l + hlcoord 11, 4 + call PlaceString + ld a, [wd003] + set 0, a + ld [wd003], a + jp Function4840c + +Function48304: ; 48304 (12:4304) + call Function48283 + hlcoord 1, 16 + ld de, String_484cf + call PlaceString + ld hl, MenuDataHeader_0x48504 + call LoadMenuDataHeader + ld hl, MenuDataHeader_0x48513 + call LoadMenuDataHeader + hlcoord 10, 0 + ld b, $c + ld c, $8 + call Function48cdc + ld a, [wMenuCursorBuffer] + ld b, a + ld a, [wMenuScrollPosition] + ld c, a + push bc + ld a, [wd474] + dec a + cp $29 + jr c, .asm_4833f + sub $29 + inc a + ld [wMenuCursorBuffer], a + ld a, $29 +.asm_4833f + ld [wMenuScrollPosition], a + callba Function104148 +.asm_48348 + call HandleScrollingMenu + ld de, $629 + call Function48383 + jr c, .asm_48348 + ld d, a + pop bc + ld a, b + ld [wMenuCursorBuffer], a + ld a, c + ld [wMenuScrollPosition], a + ld a, d + push af + call ExitMenu + call ExitMenu + pop af + ld a, [hJoyPressed] + bit 0, a + jr z, .asm_48377 + call Function483bb + ld a, [wd003] + set 2, a + ld [wd003], a +.asm_48377 + call Function48187 + callba Function104148 + jp Function4840c + +Function48383: ; 48383 (12:4383) + push bc + push af + bit 5, a + jr nz, .asm_48390 + bit 4, a + jr nz, .asm_4839f + and a + jr .asm_483b7 +.asm_48390 + ld a, [wMenuScrollPosition] + sub d + ld [wMenuScrollPosition], a + jr nc, .asm_483af + xor a + ld [wMenuScrollPosition], a + jr .asm_483af +.asm_4839f + ld a, [wMenuScrollPosition] + add d + ld [wMenuScrollPosition], a + cp e + jr c, .asm_483af + ld a, e + ld [wMenuScrollPosition], a + jr .asm_483af +.asm_483af + ld hl, MenuSelection2 + ld a, [hl] + ld [wMenuCursorBuffer], a + scf +.asm_483b7 + pop bc + ld a, b + pop bc + ret + +Function483bb: ; 483bb (12:43bb) + ld hl, wcf77 + ld a, [hl] + inc a + ld [wd474], a + dec a + ld b, a + ld hl, Prefectures +.asm_483c8 + and a + jr z, .asm_483d5 +.asm_483cb + ld a, [hli] + cp "@" + jr nz, .asm_483cb + ld a, b + dec a + ld b, a + jr .asm_483c8 +.asm_483d5 + ld d, h + ld e, l + ld b, $2 + ld c, $8 + hlcoord 11, 7 + call ClearBox + hlcoord 11, 8 + call PlaceString + ret +; 483e8 (12:43e8) + +Function483e8: ; 483e8 + push de + ld hl, Prefectures + ld a, [MenuSelection] + cp $ff + jr nz, .asm_483f8 + ld hl, Wakayama ; last string + jr .asm_48405 + +.asm_483f8 + ld d, a + and a + jr z, .asm_48405 +.asm_483fc + ld a, [hli] + cp "@" + jr nz, .asm_483fc + ld a, d + dec a + jr .asm_483f8 + +.asm_48405 + ld d, h + ld e, l + pop hl + call PlaceString + ret +; 4840c + +Function4840c: ; 4840c (12:440c) + call Function48187 + call Function48283 + hlcoord 1, 16 + ld de, String_48275 + call PlaceString + call Function486bf + pop bc + ld hl, MenuSelection2 + ld [hl], b + ld a, [wd002] + bit 6, a + jr nz, .asm_48437 + ld b, $9 + ld c, $1 + hlcoord 1, 4 + call ClearBox + jp Function48157 +.asm_48437 + ld b, $7 + ld c, $1 + hlcoord 1, 6 + call ClearBox + jp Function48157 + +Function48444: ; 48444 (12:4444) + push bc + push af + push de + push hl + ld hl, Unknown_4845d +.asm_4844b + and a + jr z, .asm_48453 +rept 2 + inc hl +endr + dec a + jr .asm_4844b +.asm_48453 + ld d, h + ld e, l + pop hl + call PlaceString + pop de + pop af + pop bc + ret +; 4845d (12:445d) + +Unknown_4845d: ; 4845d +; 4845d + db "0@" + db "1@" + db "2@" + db "3@" + db "4@" + db "5@" + db "6@" + db "7@" + db "8@" + db "9@" +; 48471 + +MobileProfileString: db " Mobile Profile@" +String_48482: db "Gender@" +String_48489: db "Age@" +String_4848d: db "Address@" +String_48495: db "Zip Code@" +String_4849e: db "OK@" +String_484a1: db "Profile Changed@" +String_484b1: db "Boy or girl?@" +String_484be: db "How old are you?@" +String_484cf: db "Where do you live?@" +String_484e2: db "Your zip code?@" +; 484f1 + +MenuDataHeader_0x484f1: ; 0x484f1 + db $40 ; flags + db 02, 11 ; start coords + db 07, 19 ; end coords + dw MenuData2_0x484f9 + db 1 ; default option +; 0x484f9 + +MenuData2_0x484f9: ; 0x484f9 + db $a0 ; flags + db 2 ; items +Strings_484fb: +String_484fb: db "Boy@" +String_484ff: db "Girl@" +; 0x48504 + +MenuDataHeader_0x48504: ; 0x48504 + db $40 ; flags + db 00, 10 ; start coords + db 17, 19 ; end coords + +MenuDataHeader_0x48509: ; 0x48509 + db $40 ; flags + db 05, 10 ; start coords + db 07, 19 ; end coords + +MenuDataHeader_0x4850e: ; 0x4850e + db $40 ; flags + db 09, 10 ; start coords + db 11, 19 ; end coords + +MenuDataHeader_0x48513: ; 0x48513 + db $40 ; flags + db 01, 11 ; start coords + db 12, 18 ; end coords + dw MenuData2_0x4851b + db 1 ; default option +; 0x4851b + +MenuData2_0x4851b: ; 0x4851b + db $1d ; flags + db 6 ; items + +Unknown_4851d: ; 4851d + db $00, $01, $12, $2b, $45, $12, $e8, $43, $00, $00, $00, $00, $00, $00, $2e, $00, $01, $02, $03, $04 + db $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f, $10, $11, $12, $13, $14, $15, $16, $17, $18 + db $19, $1a, $1b, $1c, $1d, $1e, $1f, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $2a, $2b, $2c + db $2d, $ff + +Prefectures: +Aichi: db "あいちけん@" ; Aichi +Aomori: db "あおもりけん@" ; Aomori +Akita: db "あきたけん@" ; Akita +Ishikawa: db "いしかわけん@" ; Ishikawa +Ibaraki: db "いばらきけん@" ; Ibaraki +Iwate: db "いわてけん@" ; Iwate +Ehime: db "えひめけん@" ; Ehime +Oita: db "おおいたけん@" ; Oita +Osakafu: db "おおさかふ@" ; Osakafu +Okayama: db "おかやまけん@" ; Okayama +Okinawa: db "おきなわけん@" ; Okinawa +Kagawa: db "かがわけん@" ; Kagawa +Kagoshima: db "かごしまけん@" ; Kagoshima +Kanagawa: db "かながわけん@" ; Kanagawa +Gifu: db "ぎふけん@" ; Gifu +Kyotofu: db "きょうとふ@" ; Kyotofu +Kumamoto: db "くまもとけん@" ; Kumamoto +Gunma: db "ぐんまけん@" ; Gunma +Kochi: db "こうちけん@" ; Kochi +Saitama: db "さいたまけん@" ; Saitama +Saga: db "さがけん@" ; Saga +Shiga: db "しがけん@" ; Shiga +Shizuoka: db "しずおかけん@" ; Shizuoka +Shimane: db "しまねけん@" ; Shimane +Chiba: db "ちばけん@" ; Chiba +Tokyo: db "とうきょうと@" ; Tokyo +Tokushima: db "とくしまけん@" ; Tokushima +Tochigi: db "とちぎけん@" ; Tochigi +Tottori: db "とっとりけん@" ; Tottori +Toyama: db "とやまけん@" ; Toyama +Nagasaki: db "ながさきけん@" ; Nagasaki +Nagano: db "ながのけん@" ; Nagano +Naraken: db "ならけん@" ; Naraken +Niigata: db "にいがたけん@" ; Niigata +Hyogo: db "ひょうごけん@" ; Hyogo +Hiroshima: db "ひろしまけん@" ; Hiroshima +Fukui: db "ふくいけん@" ; Fukui +Fukuoka: db "ふくおかけん@" ; Fukuoka +Fukushima: db "ふくしまけん@" ; Fukushima +Hokkaido: db "ほっかいどう@" ; Hokkaido +Mie: db "みえけん@" ; Mie +Miyagi: db "みやぎけん@" ; Miyagi +Miyazaki: db "みやざきけん@" ; Miyazaki +Yamagata: db "やまがたけん@" ; Yamagata +Yamaguchi: db "やまぐちけん@" ; Yamaguchi +Yamanashi: db "やまなしけん@" ; Yamanashi +Wakayama: db "わかやまけん@" ; Wakayama +; 48689 + +Function48689: ; 48689 (12:4689) + ld c, 7 + call DelayFrames + ld b, $1 + call Function4930f + call ClearBGPalettes + hlcoord 0, 0 + ld b, $4 + ld c, $14 + call ClearBox + hlcoord 0, 2 + ld a, $c + ld [hl], a + ld bc, $13 + add hl, bc + ld [hl], a + ld de, MobileProfileString + hlcoord 1, 2 + call PlaceString + hlcoord 0, 4 + ld b, $8 + ld c, $12 + call Function48cdc + ret + +Function486bf: ; 486bf (12:46bf) + ld hl, wcfa1 + ld a, [wd002] + bit 6, a + jr nz, .asm_486ce + ld a, $4 + ld [hli], a + jr .asm_486d1 +.asm_486ce + ld a, $6 + ld [hli], a +.asm_486d1 + ld a, $1 + ld [hli], a + ld a, [wd002] + bit 6, a + jr nz, .asm_486e7 + call Function48725 + ld a, $4 + jr nc, .asm_486e4 + ld a, $5 +.asm_486e4 + ld [hli], a + jr .asm_486fb +.asm_486e7 + ld a, [wd479] + bit 1, a + jr nz, .asm_486f8 + call Function48725 + jr c, .asm_486f8 + ld a, $3 + ld [hli], a + jr .asm_486fb +.asm_486f8 + ld a, $4 + ld [hli], a +.asm_486fb + ld a, $1 + ld [hli], a + ld [hl], $0 + set 5, [hl] + inc hl + xor a + ld [hli], a + ld a, $20 + ld [hli], a + ld a, $1 + add $40 + add $80 + push af + ld a, [wd002] + bit 6, a + jr z, .asm_4871a + pop af + add $2 + push af +.asm_4871a + pop af + ld [hli], a + ld a, $1 +rept 2 + ld [hli], a +endr + xor a +rept 3 + ld [hli], a +endr + ret + +Function48725: ; 48725 (12:4725) + ld a, [wd003] + bit 0, a + jr z, .asm_4873a + bit 1, a + jr z, .asm_4873a + bit 2, a + jr z, .asm_4873a + bit 3, a + jr z, .asm_4873a + scf + ret +.asm_4873a + and a + ret + +Function4873c: ; 4873c (12:473c) + ld hl, wcfa1 + ld a, $4 + ld [hli], a + ld a, $c + ld [hli], a + ld a, $2 + ld [hli], a + ld a, $1 + ld [hli], a + ld [hl], $0 + set 5, [hl] + inc hl + xor a + ld [hli], a + ld a, $20 + ld [hli], a + ld a, $1 + add $2 + ld [hli], a + ld a, [PlayerGender] + and a + jr z, .asm_48764 + ld a, $2 + jr .asm_48766 +.asm_48764 + ld a, $1 +.asm_48766 + ld [hli], a + ld a, $1 + ld [hli], a + xor a +rept 3 + ld [hli], a +endr + ret + +Function4876f: ; 4876f (12:476f) + call Function48283 + hlcoord 1, 16 + ld de, String_484be + call PlaceString + ld hl, MenuDataHeader_0x48509 + call LoadMenuDataHeader + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + hlcoord 10, 5 + ld b, $1 + ld c, $8 + call Function48cdc + call WaitBGMap + ld a, [wd473] + and a + jr z, .asm_487ab + cp $64 + jr z, .asm_487b2 + hlcoord 12, 5 + ld [hl], $10 + hlcoord 12, 7 + ld [hl], $11 + jr .asm_487b7 +.asm_487ab + hlcoord 12, 5 + ld [hl], $10 + jr .asm_487b7 +.asm_487b2 + hlcoord 12, 7 + ld [hl], $11 +.asm_487b7 + hlcoord 11, 6 + call Function487ec + ld c, 10 + call DelayFrames + ld a, [wd473] + push af +.asm_487c6 + call JoyTextDelay + call Function4880e + jr nc, .asm_487c6 + ld a, $1 + call Function1ff8 + pop bc + jr nz, .asm_487da + ld a, b + ld [wd473], a +.asm_487da + ld a, [wd473] + call ExitMenu + hlcoord 11, 6 + call Function487ec + pop af + ld [hInMenu], a + jp Function4840c + +Function487ec: ; 487ec (12:47ec) + push hl + ld de, wd473 + call Function487ff + pop hl +rept 4 + inc hl +endr + ld de, String_4880d + call PlaceString + ret + +Function487ff: ; 487ff (12:47ff) + push hl + ld a, " " + ld [hli], a + ld [hl], a + pop hl + ld b, PRINTNUM_LEADINGZEROS | 1 + ld c, 3 + call PrintNum + ret +; 4880d (12:480d) + +String_4880d: ; 4880d + db "@" +; 4880e + +Function4880e: ; 4880e (12:480e) + ld a, [hJoyPressed] + and A_BUTTON + jp nz, Function488b9 + ld a, [hJoyPressed] + and B_BUTTON + jp nz, Function488b4 + ld hl, hJoyLast + ld a, [hl] + and D_UP + jr nz, .asm_48843 + ld a, [hl] + and D_DOWN + jr nz, .asm_48838 + ld a, [hl] + and D_LEFT + jr nz, .asm_4884f + ld a, [hl] + and D_RIGHT + jr nz, .asm_4885f + call DelayFrame + and a + ret +.asm_48838 + ld hl, wd473 + ld a, [hl] + and a + jr z, .asm_48840 + dec a +.asm_48840 + ld [hl], a + jr .asm_4886f +.asm_48843 + ld hl, wd473 + ld a, [hl] + cp $64 + jr nc, .asm_4884c + inc a +.asm_4884c + ld [hl], a + jr .asm_4886f +.asm_4884f + ld a, [wd473] + cp $5b + jr c, .asm_48858 + ld a, $5a +.asm_48858 + add $a + ld [wd473], a + jr .asm_4886f +.asm_4885f + ld a, [wd473] + cp $a + jr nc, .asm_48868 + ld a, $a +.asm_48868 + sub $a + ld [wd473], a + jr .asm_4886f +.asm_4886f + ld a, [wd473] + and a + jr z, .asm_48887 + cp $64 + jr z, .asm_48898 + jr z, .asm_488a7 + hlcoord 12, 5 + ld [hl], $10 + hlcoord 12, 7 + ld [hl], $11 + jr .asm_488a7 +.asm_48887 + hlcoord 10, 5 + ld b, $1 + ld c, $8 + call Function48cdc + hlcoord 12, 5 + ld [hl], $10 + jr .asm_488a7 +.asm_48898 + hlcoord 10, 5 + ld b, $1 + ld c, $8 + call Function48cdc + hlcoord 12, 7 + ld [hl], $11 +.asm_488a7 + hlcoord 11, 6 + call Function487ec + call WaitBGMap + ld a, $1 + and a + ret + +Function488b4: ; 488b4 (12:48b4) + ld a, $0 + and a + scf + ret + +Function488b9: ; 488b9 (12:48b9) + ld a, [wd003] + set 1, a + ld [wd003], a + scf + ret +; 488c3 (12:48c3) + +GFX_488c3: ; 488c3 +INCBIN "gfx/unknown/0488c3.2bpp" + +GFX_488cb: ; 488cb +INCBIN "gfx/unknown/0488cb.2bpp" + +Function488d3: ; 488d3 (12:48d3) + call Function48283 + hlcoord 1, 16 + ld de, String_484e2 + call PlaceString + call Function48a3a + jp c, Function4840c + ld hl, MenuDataHeader_0x4850e + call LoadMenuDataHeader + ld a, [hInMenu] + push af + ld a, $1 + ld [hInMenu], a + hlcoord 10, 9 + ld b, $1 + ld c, $8 + call Function48cdc + ld a, [wd475] + and $f + ld d, $0 + hlcoord 11, 10 + call Function489ea + call WaitBGMap + ld a, [wd475] + ld b, a + ld a, [wd476] + ld c, a + ld a, [wd477] + ld d, a + ld a, [wd478] + ld e, a + push de + push bc + ld d, $0 + ld b, $0 + +asm_48922: ; 48922 (12:4922) + push bc + call JoyTextDelay + ld a, [hJoyDown] + and a + jp z, Function4896e + bit 0, a + jp nz, Function4896e + bit 1, a + jp nz, Function4896e + ld a, [wd002] + and %11001111 + res 7, a + ld [wd002], a + pop bc + inc b + ld a, b + cp $5 + push bc + jr c, .asm_4894c + pop bc + ld b, $4 + push bc +.asm_4894c + pop bc + push bc + ld a, b + cp $4 + jr nz, asm_48972 + ld c, 10 + call DelayFrames + jr asm_48972 +; 4895a (12:495a) + +Function4895a: ; 4895a + ld a, [hJoyPressed] + and a + jr z, .asm_48965 + pop bc + ld b, $1 + push bc + jr asm_48972 + +.asm_48965 + ld a, [hJoyLast] + and a + jr z, asm_48972 + + pop bc + ld b, $1 + push bc + +Function4896e: ; 4896e (12:496e) + pop bc + ld b, $0 + push bc + +asm_48972: ; 48972 (12:4972) + call Function48ab5 + push af + cp $f0 + jr z, .asm_48994 + cp $f + jr nz, .asm_48988 + ld a, [wd002] + set 7, a + and $cf + ld [wd002], a +.asm_48988 + hlcoord 11, 10 + ld b, $0 + ld c, d + add hl, bc + ld b, $3 + call Function48c11 +.asm_48994 + call WaitBGMap + pop af + pop bc + jr nc, asm_48922 + jr nz, .asm_489b1 + pop bc + ld a, b + ld [wd475], a + ld a, c + ld [wd476], a + pop bc + ld a, b + ld [wd477], a + ld a, c + ld [wd478], a + jr .asm_489c5 +.asm_489b1 + push af + ld a, [wd479] + set 0, a + ld [wd479], a + ld a, [wd003] + set 3, a + ld [wd003], a + pop af + pop bc + pop bc +.asm_489c5 + push af + push bc + push de + push hl + ld a, $1 + call Function1ff8 + pop hl + pop de + pop bc + pop af + call ExitMenu + hlcoord 11, 10 + call Function489ea + hlcoord 11, 9 + lb bc, 1, 8 + call ClearBox + pop af + ld [hInMenu], a + jp Function4840c + +Function489ea: ; 489ea (12:49ea) + push de + ld a, [wd475] + and $f + call Function48444 + ld a, [wd476] + and $f0 + swap a + inc hl + call Function48444 + ld a, [wd476] + and $f + inc hl + call Function48444 + inc hl + ld de, String_48a38 + call PlaceString + ld a, [wd477] + and $f0 + swap a + inc hl + call Function48444 + ld a, [wd477] + and $f + inc hl + call Function48444 + ld a, [wd478] + and $f0 + swap a + inc hl + call Function48444 + ld a, [wd478] + and $f + inc hl + call Function48444 + pop de + ret +; 48a38 (12:4a38) + +String_48a38: ; 48a38 + db "-@" +; 48a3a + +Function48a3a: ; 48a3a (12:4a3a) + ld hl, MenuDataHeader_0x48a9c + call LoadMenuDataHeader + call Function4873c + ld a, $a + ld [wcfa1], a + ld a, $b + ld [wcfa2], a + ld a, $1 + ld [MenuSelection2], a + hlcoord 10, 8 + ld b, $4 + ld c, $8 + call Function48cdc + hlcoord 12, 10 + ld de, String_48aa1 + call PlaceString + call Function1bc9 + push af + call PlayClickSFX + call ExitMenu + pop af + bit 1, a + jp nz, Function48a9a + ld a, [MenuSelection2] + cp $1 + jr z, .asm_48a98 + ld a, [wd003] + set 3, a + ld [wd003], a + ld a, [wd479] + res 0, a + ld [wd479], a + xor a + ld bc, $4 + ld hl, wd475 + call ByteFill + jr Function48a9a +.asm_48a98 + and a + ret + +Function48a9a: ; 48a9a (12:4a9a) + scf + ret +; 48a9c (12:4a9c) + +MenuDataHeader_0x48a9c: ; 0x48a9c + db $40 ; flags + db 08, 10 ; start coords + db 13, 19 ; end coord + +String_48aa1: ; 48aa1 + db "Tell Now" + next "Tell Later@" +; 48ab5 + + +Function48ab5: ; 48ab5 (12:4ab5) + ld a, [hJoyPressed] + and A_BUTTON + jp nz, Function48c0f + ld a, [hJoyPressed] + and B_BUTTON + jp nz, Function48c0d + ld a, d + and a + jr z, .asm_48adf + cp $1 + jr z, .asm_48ae7 + cp $2 + jr z, .asm_48af1 + cp $3 + jr z, .asm_48af9 + cp $4 + jr z, .asm_48b03 + cp $5 + jr z, .asm_48b0b + cp $6 + jr .asm_48b15 +.asm_48adf + ld hl, wd475 + ld a, [hl] + and $f + jr .asm_48b1d +.asm_48ae7 + ld hl, wd476 + ld a, [hl] + swap a + or $f0 + jr .asm_48b1d +.asm_48af1 + ld hl, wd476 + ld a, [hl] + and $f + jr .asm_48b1d +.asm_48af9 + ld hl, wd477 + ld a, [hl] + swap a + or $f0 + jr .asm_48b1d +.asm_48b03 + ld hl, wd477 + ld a, [hl] + and $f + jr .asm_48b1d +.asm_48b0b + ld hl, wd478 + ld a, [hl] + swap a + or $f0 + jr .asm_48b1d +.asm_48b15 + ld hl, wd478 + ld a, [hl] + and $f + jr .asm_48b1d +.asm_48b1d + push hl + push af + ld e, $0 + hlcoord 11, 10 + ld a, d +.asm_48b25 + and a + jr z, .asm_48b2c + inc e + dec a + jr .asm_48b25 +.asm_48b2c + ld hl, hJoyLast + ld a, [hl] + and D_UP + jr nz, .asm_48b8d + ld a, [hl] + and D_DOWN + jr nz, .asm_48b55 + ld a, [hl] + and D_LEFT + jp nz, Function48bd7 + ld a, [hl] + and D_RIGHT + jr nz, .asm_48b9d + hlcoord 11, 10 + call Function489ea + ld a, [wd002] + bit 7, a + jr nz, .asm_48b51 +.asm_48b51 + pop bc + pop bc + and a + ret +.asm_48b55 + pop af + ld b, a + and $f + and a + ld a, b + jr nz, .asm_48b61 + and $f0 + add $a +.asm_48b61 + dec a +.asm_48b62 + push de + push af + hlcoord 10, 9 + ld b, $1 + ld c, $8 + call Function48cdc + pop af + pop de + hlcoord 11, 10 + ld b, a + ld a, d + cp $3 + jr c, .asm_48b7a + inc hl +.asm_48b7a + ld a, b + pop hl + bit 7, a + jr z, .asm_48b85 + call Function48c4d + jr .asm_48b88 +.asm_48b85 + call Function48c5a +.asm_48b88 + ld a, $f0 + jp Function48c00 +.asm_48b8d + pop af + ld b, a + and $f + cp $9 + ld a, b + jr c, .asm_48b9a + and $f0 + add $ff +.asm_48b9a + inc a + jr .asm_48b62 +.asm_48b9d + push de + hlcoord 10, 9 + ld b, $1 + ld c, $8 + call Function48cdc + pop de + ld a, d + cp $6 + jr nc, .asm_48baf + inc d +.asm_48baf + pop af + pop hl + ld b, a + ld a, d + cp $6 + ld a, b + jr z, .asm_48bc4 + bit 7, a + jr nz, .asm_48bc4 + inc hl + ld a, [hl] + swap a + and $f + jr asm_48bc7 +.asm_48bc4 + ld a, [hl] + and $f + +asm_48bc7: ; 48bc7 (12:4bc7) + hlcoord 11, 10 + push af + ld a, d + cp $3 + pop bc + ld a, b + jr c, .asm_48bd3 + inc hl +.asm_48bd3 + ld a, $f + jr Function48c00 + +Function48bd7: ; 48bd7 (12:4bd7) + push de + hlcoord 10, 9 + ld b, $1 + ld c, $8 + call Function48cdc + pop de + ld a, d + and a + pop af + pop hl + ld b, a + ld a, d + and a + ld a, b + jr z, .asm_48bf3 + bit 7, a + jr z, .asm_48bf8 + dec d + dec hl +.asm_48bf3 + ld a, [hl] + and $f + jr asm_48bc7 +.asm_48bf8 + dec d + ld a, [hl] + swap a + and $f + jr asm_48bc7 + +Function48c00: ; 48c00 (12:4c00) + push af + hlcoord 11, 10 + call Function489ea + ld a, $1 + and a + pop bc + ld a, b + ret + +Function48c0d: ; 48c0d (12:4c0d) + xor a + and a + +Function48c0f: ; 48c0f (12:4c0f) + scf + ret + +Function48c11: ; 48c11 (12:4c11) + ld a, [wd002] + bit 7, a + jr z, .asm_48c20 + ld a, d + cp $3 + jr c, .asm_48c1e + inc hl +.asm_48c1e + ld [hl], $7f +.asm_48c20 + ld a, [wd002] + swap a + and $3 + inc a + cp b + jr nz, .asm_48c40 + ld a, [wd002] + bit 7, a + jr z, .asm_48c3a + res 7, a + ld [wd002], a + xor a + jr .asm_48c40 +.asm_48c3a + set 7, a + ld [wd002], a + xor a +.asm_48c40 + swap a + ld b, a + ld a, [wd002] + and $cf + or b + ld [wd002], a + ret + +Function48c4d: ; 48c4d (12:4c4d) + swap a + and $f0 + push af + ld a, [hl] + and $f + ld [hl], a + pop af + or [hl] + ld [hl], a + ret + +Function48c5a: ; 48c5a (12:4c5a) + push af + ld a, [hl] + and $f0 + ld [hl], a + pop af + or [hl] + ld [hl], a + ret + +Function48c63: ; 48c63 + ld a, "@" + ld [de], a + ld a, c + cp $30 + jr nc, .asm_48c8c + and a + jr z, .asm_48c8c + dec c + push de + ld h, d + ld l, e + ld a, "@" + ld b, 7 +.asm_48c76 + ld [hli], a + dec b + jr nz, .asm_48c76 + ld hl, Prefectures + ld a, c + call GetNthString +.asm_48c81 + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + cp "@" + jr nz, .asm_48c81 + and a + pop de + ret + +.asm_48c8c + scf + ret +; 48c8e + +Function48c8e: ; 48c8e + ld hl, wd02a + ld d, h + ld e, l + callba Function48c63 + hlcoord 10, 7 + call PlaceString + call WaitBGMap + ret +; 48ca3 + +Function48ca3: ; 48ca3 + push af + push bc + push de + push hl + ld b, 0 + ld c, 0 + ld d, 0 +.asm_48cad + cp 100 + jr c, .asm_48cb6 + sub 100 + inc b + jr .asm_48cad + +.asm_48cb6 + cp 10 + jr c, .asm_48cbf + sub 10 + inc c + jr .asm_48cb6 + +.asm_48cbf + cp 1 + jr c, .asm_48cc7 + dec a + inc d + jr .asm_48cbf + +.asm_48cc7 + ld a, b + call Function48444 + inc hl + ld a, c + call Function48444 + inc hl + ld a, d + call Function48444 + pop hl + pop de + pop bc + pop af + ret +; 48cda + +Function48cda: ; 48cda (12:4cda) + ld h, d + ld l, e + +Function48cdc: ; 48cdc (12:4cdc) + push bc + push hl + call Function48cfd + pop hl + pop bc + ld de, AttrMap - TileMap + add hl, de +rept 2 + inc b +endr +rept 2 + inc c +endr + ld a, $0 +.asm_48ced + push bc + push hl +.asm_48cef + ld [hli], a + dec c + jr nz, .asm_48cef + pop hl + ld de, $14 + add hl, de + pop bc + dec b + jr nz, .asm_48ced + ret + +Function48cfd: ; 48cfd (12:4cfd) + push hl + ld a, $4 + ld [hli], a + inc a + call Function48d2a + inc a + ld [hl], a + pop hl + ld de, $14 + add hl, de +.asm_48d0c + push hl + ld a, $7 + ld [hli], a + ld a, $7f + call Function48d2a + ld [hl], $8 + pop hl + ld de, $14 + add hl, de + dec b + jr nz, .asm_48d0c + ld a, $9 + ld [hli], a + ld a, $a + call Function48d2a + ld [hl], $b + ret + +Function48d2a: ; 48d2a (12:4d2a) + ld d, c +.asm_48d2b + ld [hli], a + dec d + jr nz, .asm_48d2b + ret + +Function48d30: ; 48d30 (12:4d30) + ld hl, wd475 + call Function48d4a + ld hl, wd477 + call Function48d4a + ret + +Function48d3d: ; 48d3d (12:4d3d) + ld hl, wd475 + call Function48d94 + ld hl, wd477 + call Function48d94 + ret + +Function48d4a: ; 48d4a (12:4d4a) + inc hl + ld a, [hl] + ld b, a + and $f + ld c, a + srl b + srl b + srl b + srl b + push bc + ld c, 10 + ld a, b + call SimpleMultiply + pop bc + add c + ld [hld], a + xor a + ld [hMultiplicand + 0], a + ld [hMultiplicand + 1], a + ld a, [hl] + srl a + srl a + srl a + srl a + ld c, 10 + call SimpleMultiply + ld b, a + ld a, [hli] + and $f + add b + ld [hMultiplicand + 2], a + ld a, 100 + ld [hMultiplier], a + call Multiply + ld a, [hProduct + 2] + ld b, a + ld a, [hProduct + 3] + ld c, a + ld e, [hl] + add e + ld c, a + ld a, b + adc $0 + ld b, a + ld a, c + ld [hld], a + ld [hl], b + ret + +Function48d94: ; 48d94 (12:4d94) + xor a + ld [hDividend + 0], a + ld [hDividend + 1], a + ld a, [hli] + ld [hDividend + 0], a + ld a, [hl] + ld [hDividend + 1], a + ld a, 100 + ld [hDivisor], a + ld b, 2 + call Divide + ld a, [hDivisor] + ld c, $a + call SimpleDivide + sla b + sla b + sla b + sla b + or b + ld [hld], a + ld a, [hQuotient + 2] + ld c, 10 + call SimpleDivide + sla b + sla b + sla b + sla b + or b + ld [hl], a + ret diff --git a/misc/mobile_22.asm b/misc/mobile_22.asm index 291006118..061e67117 100644 --- a/misc/mobile_22.asm +++ b/misc/mobile_22.asm @@ -93,7 +93,7 @@ Function8919e: ; 8919e (22:519e) Function891ab: ; 891ab call Function89240 - callba Function104061 + callba ReloadMapPart call Function8923c ret ; 891b8 @@ -150,13 +150,13 @@ Function891fe: ; 891fe Function89209: ; 89209 ld a, 1 - ld [wc2ce], a + ld [wSpriteUpdatesEnabled], a ret ; 8920f Function8920f: ; 8920f ld a, 0 - ld [wc2ce], a + ld [wSpriteUpdatesEnabled], a ret ; 89215 @@ -623,7 +623,7 @@ Function8949c: ; 8949c ld a, 5 ld [rSVBK], a ld hl, Palette_894b3 - ld de, wMapPals + 8 * 7 + ld de, UnknBGPals + 8 * 7 ld bc, 8 call CopyBytes pop af @@ -665,35 +665,37 @@ Function894dc: ; 894dc push af ld a, 5 ld [rSVBK], a + ld c, d ld b, 0 - ld hl, Unknown_89509 + ld hl, .PalettePointers rept 2 add hl, bc endr ld a, [hli] ld h, [hl] ld l, a - ld de, wMapPals - ld bc, 24 + ld de, UnknBGPals + ld bc, 3 palettes call CopyBytes - ld hl, Palette_89557 - ld de, wd018 - ld bc, 24 + ld hl, .Pals345 + ld de, UnknBGPals + 3 palettes + ld bc, 3 palettes call CopyBytes + pop af ld [rSVBK], a pop bc ret ; 89509 -Unknown_89509: ; 89509 - dw Palette_8950f - dw Palette_89527 - dw Palette_8953f +.PalettePointers: ; 89509 + dw .Pals012a + dw .Pals012b + dw .Pals012c ; 8950f -Palette_8950f: ; 8950f +.Pals012a: ; 8950f RGB 31, 31, 31 RGB 10, 17, 13 RGB 10, 08, 22 @@ -709,7 +711,7 @@ Palette_8950f: ; 8950f RGB 10, 17, 13 RGB 00, 00, 00 -Palette_89527: ; 89527 +.Pals012b: ; 89527 RGB 31, 31, 31 RGB 30, 22, 11 RGB 31, 08, 15 @@ -725,7 +727,7 @@ Palette_89527: ; 89527 RGB 30, 22, 11 RGB 00, 00, 00 -Palette_8953f: ; 8953f +.Pals012c: ; 8953f RGB 31, 31, 31 RGB 15, 20, 26 RGB 25, 07, 20 @@ -741,7 +743,7 @@ Palette_8953f: ; 8953f RGB 15, 20, 26 RGB 00, 00, 00 -Palette_89557: ; 89557 +.Pals345: ; 89557 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 13, 00 @@ -2152,7 +2154,7 @@ Function89d0d: ; 89d0d (22:5d0d) ld a, $5 ld [rSVBK], a ld c, $8 - ld de, wMapPals + ld de, UnknBGPals .asm_89d1c push bc ld hl, Palette_89d4e @@ -3392,7 +3394,7 @@ Function8a5b6: ; 8a5b6 (22:65b6) ld bc, $18 call CopyBytes ld hl, Palette_8a5fd - ld de, Unkn2Pals + ld de, UnknOBPals ld bc, $8 call CopyBytes ld hl, Palette_8a605 @@ -3439,7 +3441,7 @@ Function8a60d: ; 8a60d ld a, $5 ld [rSVBK], a ld hl, Palette_8a624 - ld de, Unkn2Pals + ld de, UnknOBPals ld bc, $0008 call CopyBytes pop af diff --git a/misc/mobile_22_2.asm b/misc/mobile_22_2.asm index 7a206e3e0..b794ba33a 100644 --- a/misc/mobile_22_2.asm +++ b/misc/mobile_22_2.asm @@ -610,7 +610,7 @@ Function8b6bb: ; 8b6bb ld a, $5 ld [rSVBK], a ld hl, Palette_8b6d5 - ld de, wMapPals + ld de, UnknBGPals ld bc, $0018 call CopyBytes pop af @@ -805,7 +805,7 @@ Function8b7bd: ; 8b7bd ld a, [wd030] ld [wMenuCursorBuffer], a ld a, [wd031] - ld [wd0e4], a + ld [wMenuScrollPosition], a ld a, [wd032] and a jr z, .asm_8b7e0 @@ -856,13 +856,13 @@ Function8b7bd: ; 8b7bd ld c, a ld a, [MenuSelection2] ld [wd030], a - ld a, [wd0e4] + ld a, [wMenuScrollPosition] ld [wd031], a ret ; 8b832 Function8b832: ; 8b832 - ld a, [wd0e4] + ld a, [wMenuScrollPosition] ld hl, wMenuData2Items sub [hl] jr nc, Function8b84b @@ -871,7 +871,7 @@ Function8b832: ; 8b832 ; 8b83e Function8b83e: ; 8b83e - ld a, [wd0e4] + ld a, [wMenuScrollPosition] ld hl, wMenuData2Items add [hl] cp $24 @@ -879,7 +879,7 @@ Function8b83e: ; 8b83e ld a, $24 Function8b84b: ; 8b84b - ld [wd0e4], a + ld [wMenuScrollPosition], a ld a, [MenuSelection2] ld [wMenuCursorBuffer], a ret @@ -994,7 +994,7 @@ endr hlcoord 19, 13 ld a, $11 ld [hl], a - ld a, [wd0e4] + ld a, [wMenuScrollPosition] cp $24 ret c hlcoord 0, 13 @@ -1018,7 +1018,7 @@ String_8b938: db "いれる ところを えらんでください@" ; Please sel Function8b94a: ; 8b94a ld [wd033], a xor a - ld [wd0e4], a + ld [wMenuScrollPosition], a ld [wd032], a ld [wd0e3], a ld [wd031], a diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm index 4743f2c27..9b98046c0 100644 --- a/misc/mobile_40.asm +++ b/misc/mobile_40.asm @@ -171,6 +171,7 @@ Function1000fa: ; 1000fa ld [hFFC9], a ld [hMobile], a ei + ld a, [wLinkMode] push af xor a @@ -837,7 +838,7 @@ Jumptable_10052a: ; 10052a Function100534: ; 100534 call Function100513 call UpdateSprites - call Function321c + call ApplyTilemap ld a, [wcd28] inc a ld [wcd28], a @@ -1495,7 +1496,7 @@ Function100902: ; 100902 call PrintNum ld de, SFX_TWO_PC_BEEPS call PlaySFX - callba Function104061 + callba ReloadMapPart ld c, $3c call DelayFrames ret @@ -1506,7 +1507,7 @@ Function100902: ; 100902 call PlaceString ld de, SFX_4_NOTE_DITTY call PlaySFX - callba Function104061 + callba ReloadMapPart ld c, 120 call DelayFrames ret @@ -1536,7 +1537,7 @@ Function100989: ; 100989 decoord 0, 0 call Function1009a5 call Function1009ae - callba Function104061 + callba ReloadMapPart ld hl, w3_dd68 decoord 0, 0, AttrMap call Function1009a5 @@ -1591,7 +1592,7 @@ Function1009d2: ; 1009d2 ld [rVBK], a ld hl, w3_d800 - ld de, VBGMap0 + debgcoord 0, 0 lb bc, $3, $24 call Get2bpp @@ -1620,78 +1621,81 @@ Function1009f3: ; 1009f3 ret ; 100a09 -Function100a09: ; 100a09 - call Function100a2e +_LinkBattleSendReceiveAction: ; 100a09 + call .StageForSend ld [wd431], a - callba Function4000 + callba PlaceWaitingText ld a, [wLinkMode] cp LINK_MOBILE - jr nz, .asm_100a2a + jr nz, .not_mobile call Function100a87 call Function100da5 callba FinishBattleAnim - jr .asm_100a2d + jr .done -.asm_100a2a +.not_mobile call Function100a53 -.asm_100a2d +.done ret ; 100a2e -Function100a2e: ; 100a2e - ld a, [wd0ec] +.StageForSend: ; 100a2e + ld a, [wPlayerAction] and a - jr nz, .asm_100a48 + jr nz, .switch ld a, [CurPlayerMove] - ld b, $e + ld b, BATTLEACTION_E cp STRUGGLE - jr z, .asm_100a4f - ld b, $d + jr z, .struggle + ld b, BATTLEACTION_D cp $ff - jr z, .asm_100a4f + jr z, .struggle ld a, [CurMoveNum] - jr .asm_100a50 + jr .use_move -.asm_100a48 +.switch ld a, [CurPartyMon] - add $4 - jr .asm_100a50 + add BATTLEACTION_SWITCH1 + jr .use_move -.asm_100a4f +.struggle ld a, b -.asm_100a50 +.use_move and $f ret ; 100a53 Function100a53: ; 100a53 ld a, [wd431] - ld [wcf56], a + ld [wPlayerLinkAction], a ld a, $ff - ld [wcf52], a -.asm_100a5e - call Function8c1 + ld [wOtherPlayerLinkAction], a +.waiting + call LinkCommunicationsSendReceive call DelayFrame - ld a, [wcf52] + ld a, [wOtherPlayerLinkAction] inc a - jr z, .asm_100a5e - ld b, $a -.asm_100a6c + jr z, .waiting + + ld b, 10 +.receive call DelayFrame - call Function8c1 + call LinkCommunicationsSendReceive dec b - jr nz, .asm_100a6c - ld b, $a -.asm_100a77 + jr nz, .receive + + ld b, 10 +.acknowledge call DelayFrame - call Function908 + call LinkCommunicationsSignalDataReceived dec b - jr nz, .asm_100a77 - ld a, [wcf52] - ld [wd430], a + jr nz, .acknowledge + + ld a, [wOtherPlayerLinkAction] + ld [wBattleAction], a ret ; 100a87 @@ -1843,17 +1847,17 @@ Function100b7a: ; 100b7a callba Function24085 callba MobileTextBorder call UpdateSprites - call Function321c + call ApplyTilemap callba Function2411a ld hl, wcfa5 set 7, [hl] ret ; 100b9f -Function100b9f: ; 100b9f +MobileMoveSelectionScreen: ; 100b9f xor a ld [wd0e3], a - callba Function3e786 + callba CheckPlayerHasUsableMoves ret z call Function100dd8 jp c, xor_a_dec_a @@ -1984,7 +1988,7 @@ Function100c74: ; 100c74 Function100c98: ; 100c98 ld de, Unknown_100cad - call Function1bb1 + call InitMenu3 ld a, [wd0eb] inc a ld [wcfa3], a @@ -2148,7 +2152,7 @@ Function100db0: ; 100db0 Function100dc0: ; 100dc0 ld a, [wLinkMode] - cp $4 + cp LINK_MOBILE jr nz, .asm_100dd0 ld hl, wcd2a bit 3, [hl] @@ -2523,7 +2527,7 @@ Unknown_100fc0: ; 100fc0 db -1 Unknown_100feb: ; 100feb - dbwww $00, sPartyScratch1, SCRATCHMON_STRUCT_LENGTH * PARTY_LENGTH, NULL + dbwww $00, sPartyMail, MAIL_STRUCT_LENGTH * PARTY_LENGTH, NULL db -1 Unknown_100ff3: ; 100ff3 @@ -2794,16 +2798,16 @@ Function1011f1: ; 1011f1 res 4, [hl] ld hl, GameTimerPause bit 7, [hl] - jr z, .asm_101210 + jr z, .skip ld hl, wdc41 set 4, [hl] -.asm_101210 +.skip call Function10209c xor a ld [wdc5f], a ld [wdc60], a - ld a, $4 + ld a, LINK_MOBILE ld [wLinkMode], a ret ; 101220 @@ -6305,7 +6309,7 @@ Function1029cf: ; 1029cf ld hl, wcd4b set 1, [hl] ld de, Unknown_102a33 - call Function1bb1 + call InitMenu3 ld a, [wcd4a] inc a ld [wcd4a], a @@ -6465,7 +6469,7 @@ Function102b32: ; 102b32 ld [CurPartyMon], a ld a, $1 ld [wd1e9], a - callba Function421d8 + callba EvolvePokemon call Function102d9a call Function102dd3 call Function102dec @@ -6478,7 +6482,7 @@ Function102b4e: ; 102b4e ld a, [MenuSelection2] push af ld de, Unknown_102b73 - call Function1bb1 + call InitMenu3 pop af ld [MenuSelection2], a ld a, [OTPartyCount] @@ -6503,7 +6507,7 @@ Function102b7b: ; 102b7b ld a, [MenuSelection2] push af ld de, Unknown_102b94 - call Function1bb1 + call InitMenu3 pop af ld [MenuSelection2], a ld a, [PartyCount] @@ -6769,7 +6773,7 @@ Function102d48: ; 102d48 ld hl, PartyMon1DVs call AddNTimes predef GetUnownLetter - callba Functionfba18 + callba UpdateUnownDex ld a, [wdef4] and a jr nz, .asm_102d98 @@ -6825,7 +6829,7 @@ Function102dd3: ; 102dd3 Function102dec: ; 102dec ld hl, Unknown_1032e2 - ld de, Unkn2Pals + ld de, UnknOBPals ld bc, $0020 ld a, $5 call FarCopyWRAM @@ -7686,9 +7690,9 @@ Unknown_1035d7: ; 1035d7 dw Unknown_103608 dw Unknown_1035fe - dw Function103612 - dw Function103612 - dw Function103612 + dw AskMobileOrCable + dw AskMobileOrCable + dw AskMobileOrCable Unknown_1035e7: ; 1035e7 dwcoord 0, 6 @@ -7719,18 +7723,18 @@ Unknown_103608: ; 103608 db 2, 2, 3 ; 103612 -Function103612: ; 103612 +AskMobileOrCable: ; 103612 ld hl, MenuDataHeader_103640 call LoadMenuDataHeader ld a, [wdc40] and $f - jr z, .asm_103622 + jr z, .skip_load ld [wMenuCursorBuffer], a -.asm_103622 +.skip_load call InterpretMenu2 call WriteBackup - jr c, .asm_10363b + jr c, .pressed_b ld a, [MenuSelection2] ld [ScriptVar], a ld c, a @@ -7740,7 +7744,7 @@ Function103612: ; 103612 ld [wdc40], a ret -.asm_10363b +.pressed_b xor a ld [ScriptVar], a ret @@ -7958,16 +7962,16 @@ Function10378c: ; 10378c ld c, $0 ld hl, SwarmFlags bit 4, [hl] - jr nz, .asm_10379c + jr nz, .already_set ld c, $1 ld hl, SwarmFlags set 4, [hl] -.asm_10379c +.already_set push bc - callba Function14ab2 + callba Link_SaveGame pop bc - jr c, .asm_1037b5 + jr c, .failed_to_save ld a, $1 ld [ScriptVar], a ld a, c @@ -7976,7 +7980,7 @@ Function10378c: ; 10378c callba Function1006fd ret -.asm_1037b5 +.failed_to_save xor a ld [ScriptVar], a ld a, c @@ -7989,19 +7993,19 @@ Function10378c: ; 10378c Function1037c2: ; 1037c2 call Function103823 - jr c, .asm_1037de + jr c, .nope ld a, [wdc5f] and a - jr z, .asm_1037de + jr z, .nope ld hl, UnknownText_0x1037e6 call PrintText call YesNoBox - jr c, .asm_1037de + jr c, .nope ld a, $1 ld [ScriptVar], a ret -.asm_1037de +.nope xor a ld [wdc5f], a ld [ScriptVar], a diff --git a/misc/mobile_41.asm b/misc/mobile_41.asm index 9b2664e6b..69abe1cd2 100755 --- a/misc/mobile_41.asm +++ b/misc/mobile_41.asm @@ -743,7 +743,9 @@ endr ret ; 10630f -Function10630f: ; 10630f +; functions related to the cable club and various NPC scripts referencing mobile communications + +Mobile_DummyReturnFalse: ; 10630f xor a ld [ScriptVar], a ret @@ -766,8 +768,10 @@ MobileFn_106314: mobile ; 106314 Function10632f: ; 10632f or a - mobile + ret +Function106331: ; 106331 - called by Mobile_DummyReturnFalse in Crystal-J + ; check ~[4:b000] == [7:a800] ld a, $4 call GetSRAMBank ld a, [$b000] @@ -781,17 +785,22 @@ Function10632f: ; 10632f call CloseSRAM ld a, c cp b - jr nz, .asm_106359 + jr nz, .nope + + ; check [7:a800] != 0 and a - jr z, .asm_106359 - and $8f + jr z, .nope + + ; check !([7:a800] & %01110000) + and %10001111 cp c - jr nz, .asm_106359 + jr nz, .nope + ld c, a scf ret -.asm_106359 +.nope xor a ld c, a ret diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm index 39d27e941..0e25021bf 100644 --- a/misc/mobile_42.asm +++ b/misc/mobile_42.asm @@ -241,13 +241,13 @@ Function1081ad: ; 1081ad Function1081ca: ; 1081ca ld a, $1 ld [rVBK], a - ld hl, VBGMap0 + hlbgcoord 0, 0 ld bc, $0800 ld a, $0 call ByteFill ld a, $0 ld [rVBK], a - ld hl, VBGMap0 + hlbgcoord 0, 0 ld bc, $0800 ld a, $7f call ByteFill @@ -276,7 +276,7 @@ Function108201: ; 108201 ld [CurSpecies], a call GetBaseData pop de - predef Function5108b + predef FrontpicPredef ret ; 108219 @@ -459,7 +459,7 @@ Function10830e: ; 10830e ld [TempMonDVs], a ld a, [$c6fe] ld [TempMonDVs + 1], a - ld b, $1a + ld b, SCGB_1A call GetSGBLayout ld a, $e4 call DmgToCgbBGPals @@ -492,14 +492,14 @@ Function10830e: ; 10830e ld c, $50 call DelayFrames call Function108bec - lb de, $54, $58 - ld a, $20 - call Function3b2a + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_20 + call _InitSpriteAnimStruct ld de, SFX_BALL_POOF call PlaySFX hlcoord 0, 0 ld bc, $00f0 - ld a, $7f + ld a, " " call ByteFill ld c, $50 call Function1082cc @@ -527,9 +527,9 @@ Function10839b: ; 10839b ld [hWX], a ld a, $90 ld [hWY], a - lb de, $54, $58 - ld a, $21 - call Function3b2a + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_21 + call _InitSpriteAnimStruct call Function108b45 ld a, $1 call Function108b98 @@ -552,7 +552,7 @@ Function10839b: ; 10839b ld [TempMonDVs], a ld a, [wPlayerWrapCount] ld [TempMonDVs + 1], a - ld b, $1a + ld b, SCGB_1A call GetSGBLayout ld a, $e4 call DmgToCgbBGPals @@ -594,7 +594,7 @@ Function10842c: ; 10842c ld [TempMonDVs], a ld a, [$c6fe] ld [TempMonDVs + 1], a - ld b, $1a + ld b, SCGB_1A call GetSGBLayout ld a, $e4 call DmgToCgbBGPals @@ -627,14 +627,14 @@ Function10842c: ; 10842c ld c, $50 call DelayFrames call Function108c2b - lb de, $54, $58 - ld a, $20 - call Function3b2a + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_20 + call _InitSpriteAnimStruct ld de, SFX_BALL_POOF call PlaySFX hlcoord 0, 0 ld bc, $00f0 - ld a, $7f + ld a, " " call ByteFill ld c, $50 call Function1082cc @@ -671,9 +671,9 @@ Function1084d7: ; 1084d7 ld [hWX], a ld a, $90 ld [hWY], a - lb de, $54, $58 - ld a, $21 - call Function3b2a + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_21 + call _InitSpriteAnimStruct call Function108b45 ld a, $1 call Function108b98 @@ -696,7 +696,7 @@ Function1084d7: ; 1084d7 ld [TempMonDVs], a ld a, [wPlayerWrapCount] ld [TempMonDVs + 1], a - ld b, $1a + ld b, SCGB_1A call GetSGBLayout ld a, $e4 call DmgToCgbBGPals @@ -740,9 +740,9 @@ Function108589: ; 108589 ld [hWX], a ld a, $90 ld [hWY], a - lb de, $54, $58 - ld a, $21 - call Function3b2a + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_21 + call _InitSpriteAnimStruct call Function108b45 ld a, $1 call Function108b98 @@ -765,7 +765,7 @@ Function108589: ; 108589 ld [TempMonDVs], a ld a, [wPlayerWrapCount] ld [TempMonDVs + 1], a - ld b, $1a + ld b, SCGB_1A call GetSGBLayout ld a, $e4 call DmgToCgbBGPals @@ -804,7 +804,7 @@ Function108638: ; 108638 ld a, $5 ld [rSVBK], a ld hl, Palette_109107 - ld de, wMapPals + ld de, UnknBGPals ld bc, $0040 call CopyBytes pop af @@ -850,7 +850,7 @@ Function108689: ; 108689 ld a, $5 ld [rSVBK], a ld hl, Palette_109107 - ld de, wMapPals + ld de, UnknBGPals ld bc, $0040 call CopyBytes pop af @@ -894,7 +894,7 @@ Function1086f4: ; 1086f4 ld a, $5 ld [rSVBK], a ld hl, Palette_109107 - ld de, wMapPals + ld de, UnknBGPals ld bc, $0040 call CopyBytes pop af @@ -927,9 +927,9 @@ endr ld [hSCX], a cp $f8 jr nz, .asm_10878a - lb de, $54, $58 - ld a, $22 - call Function3b2a + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_22 + call _InitSpriteAnimStruct .asm_10878a ld c, $1 @@ -953,9 +953,9 @@ endr jr .asm_1087c4 .asm_1087a9 - lb de, $54, $58 - ld a, $22 - call Function3b2a + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_22 + call _InitSpriteAnimStruct xor a call Function108ad4 jr .asm_1087c4 @@ -985,18 +985,18 @@ Function1087cf: ; 1087cf call Function1082f0 call Function108af4 call Function108b5a - lb de, $4a, $50 - ld a, $25 - call Function3b2a + depixel 9, 10, 2, 0 + ld a, SPRITE_ANIM_INDEX_25 + call _InitSpriteAnimStruct ld de, SFX_FORESIGHT call PlaySFX ld c, $a call Function1082cc xor a ld [wcf64], a - lb de, $4a, $50 - ld a, $23 - call Function3b2a + depixel 9, 10, 2, 0 + ld a, SPRITE_ANIM_INDEX_23 + call _InitSpriteAnimStruct .asm_1087fc ld a, [hSCY] cp $90 @@ -1021,9 +1021,9 @@ Function108811: ; 108811 call PlaySFX ld c, $3c call Function1082cc - lb de, $f2, $50 - ld a, $24 - call Function3b2a + depixel 30, 10, 2, 0 + ld a, SPRITE_ANIM_INDEX_24 + call _InitSpriteAnimStruct call Function1082b7 ld de, SFX_THROW_BALL call PlaySFX @@ -1042,11 +1042,11 @@ Function108838: ; 108838 ; 10884c Function10884c: ; 10884c - ld c, $50 + ld c, 80 call DelayFrames - lb de, $f2, $50 - ld a, $24 - call Function3b2a + depixel 30, 10, 2, 0 + ld a, SPRITE_ANIM_INDEX_24 + call _InitSpriteAnimStruct call Function1082b7 ld de, SFX_THROW_BALL call PlaySFX @@ -1068,9 +1068,9 @@ Function108863: ; 108863 .asm_108879 callba Function8d03d - lb de, $4a, $50 - ld a, $25 - call Function3b2a + depixel 9, 10, 2, 0 + ld a, SPRITE_ANIM_INDEX_25 + call _InitSpriteAnimStruct ld de, SFX_GLASS_TING_2 call PlaySFX call Function108af4 @@ -1105,15 +1105,15 @@ endr jr .asm_1088e7 .asm_1088c5 - lb de, $54, $58 - ld a, $22 - call Function3b2a + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_22 + call _InitSpriteAnimStruct jr .asm_1088e7 .asm_1088cf - lb de, $54, $58 - ld a, $22 - call Function3b2a + depixel 10, 11, 4, 0 + ld a, SPRITE_ANIM_INDEX_22 + call _InitSpriteAnimStruct xor a call Function108ad4 jr .asm_1088e7 @@ -1423,7 +1423,7 @@ Function108af4: ; 108af4 and $1 jr z, .asm_108b1c ld hl, Palette_109187 - ld de, Unkn2Pals + ld de, UnknOBPals ld bc, $0040 call CopyBytes ld hl, Palette_109187 @@ -1434,7 +1434,7 @@ Function108af4: ; 108af4 .asm_108b1c ld hl, Palette_109147 - ld de, Unkn2Pals + ld de, UnknOBPals ld bc, $0040 call CopyBytes ld hl, Palette_109147 @@ -1459,7 +1459,7 @@ Function108b45: ; 108b45 ld a, $5 ld [rSVBK], a ld de, $7fff - ld hl, wMapPals + ld hl, UnknBGPals ld a, e ld [hli], a ld d, a @@ -1537,7 +1537,7 @@ Function108b98: ; 108b98 ld hl, Palette_108b98 .asm_108bb0 - ld de, wMapPals + 8 * 7 + ld de, UnknBGPals + 8 * 7 ld bc, $0040 call CopyBytes pop af @@ -1669,10 +1669,10 @@ UnknownText_0x108c68: ; 0x108c68 Function108c6d: ; 108c6d ld hl, LZ_108fe7 - ld de, VBGMap0 + debgcoord 0, 0 call Decompress ld hl, LZ_108fe7 - ld de, VBGMap1 + debgcoord 0, 0, VBGMap1 call Decompress ret ; 108c80 @@ -1681,10 +1681,10 @@ Function108c80: ; 108c80 ld a, $1 ld [rVBK], a ld hl, LZ_1090a7 - ld de, VBGMap0 + debgcoord 0, 0 call Decompress ld hl, LZ_1090a7 - ld de, VBGMap1 + debgcoord 0, 0, VBGMap1 call Decompress ld a, $0 ld [rVBK], a diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm index 6852745b5..006a135f1 100644 --- a/misc/mobile_45.asm +++ b/misc/mobile_45.asm @@ -5750,7 +5750,7 @@ Function1161d5: ; 1161d5 pop af ld [rSVBK], a - callba Function104061 + callba ReloadMapPart ld a, $8 ld [MusicFade], a ld de, MUSIC_MOBILE_ADAPTER @@ -5786,7 +5786,7 @@ Function116294: ; 116294 ld bc, $0010 call CopyBytes ld hl, Palette_11734e - ld de, wMapPals + 8 * 7 + ld de, UnknBGPals + 8 * 7 ld bc, $0008 call CopyBytes call SetPalettes @@ -5912,7 +5912,7 @@ Function11636e: ; 11636e ld a, $5 ld [rSVBK], a ld hl, BGPals - ld de, wMapPals + ld de, UnknBGPals ld bc, $0040 call CopyBytes pop af @@ -5931,7 +5931,7 @@ Function11636e: ; 11636e call UpdateSprites pop af ld [rSVBK], a - callba Function104061 + callba ReloadMapPart ld a, $8 ld [MusicFade], a ld a, [wc2c0] @@ -5955,7 +5955,7 @@ Function1163c0: ; 1163c0 call ByteFill call DelayFrame callba Function14146 - ld b, $9 + ld b, SCGB_09 call GetSGBLayout ld a, [rSVBK] push af @@ -5975,7 +5975,7 @@ Function1163c0: ; 1163c0 callba Function14157 pop af ld [rSVBK], a - callba Function104061 + callba ReloadMapPart ld a, [wLinkMode] cp $4 jr z, .asm_11642a @@ -6006,7 +6006,7 @@ Function116441: ; 116441 callba Function17d405 ld a, $90 ld [hWY], a - callba Function104061 + callba ReloadMapPart ld a, $8 ld [MusicFade], a ld a, [wc2c0] @@ -7711,7 +7711,7 @@ Function117699: ; 117699 (45:7699) call ClearBGPalettes call ClearSprites callba Function171c87 - callba Function104061 + callba ReloadMapPart callba Function8cf53 ret @@ -7722,7 +7722,7 @@ Function1176ee: ; 1176ee (45:76ee) jr nz, .asm_117709 call Function117719 callba Function8cf69 - callba Function104061 + callba ReloadMapPart jr Function1176ee .asm_117709 callba Function8cf53 @@ -7757,16 +7757,16 @@ Jumptable_117728: ; 117728 (45:7728) Function117738: ; 117738 (45:7738) callba Function171ccd - lb de, $30, $18 + depixel 6, 3 ld a, $1d - call Function3b2a + call _InitSpriteAnimStruct ld hl, $c add hl, bc ld a, $6 ld [hl], a - lb de, $48, $20 + depixel 9, 4 ld a, $1d - call Function3b2a + call _InitSpriteAnimStruct ld hl, $c add hl, bc ld a, $7 @@ -7978,7 +7978,7 @@ Function1178aa: ; 1178aa (45:78aa) call LoadMenuDataHeader call MenuBox call MenuBoxCoord2Tile - callba Function104061 + callba ReloadMapPart hlcoord 16, 8 ld de, String_1179c5 call PlaceString @@ -8077,7 +8077,7 @@ Function117984: ; 117984 (45:7984) call LoadMenuDataHeader call MenuBox call MenuBoxCoord2Tile - callba Function104061 + callba ReloadMapPart hlcoord 1, 14 ld de, String_1179e1 call PlaceString @@ -8184,7 +8184,7 @@ Function117ab4: ; 0x117ab4 call ClearSprites callba Function172e78 callba Function172eb9 - callba Function104061 + callba ReloadMapPart ret ; 0x117acd @@ -8299,12 +8299,12 @@ Function117b4f: jr nz, .asm_117ba4 ; 0x117b93 $f call ExitMenu call ExitMenu - callba Function104061 + callba ReloadMapPart jp Function117cdd .asm_117ba4 call ExitMenu call ExitMenu - callba Function104061 + callba ReloadMapPart ld a, $80 ld [wJumptableIndex], a ret @@ -8387,7 +8387,7 @@ Function117c4a: call LoadMenuDataHeader call MenuBox call MenuBoxCoord2Tile - callba Function104061 + callba ReloadMapPart ld hl, MobileStadiumSuccessText call PrintText ld a, [rSVBK] @@ -8407,7 +8407,7 @@ Function117c4a: add hl, de dec c jr nz, .asm_117c71 ; 0x117c7b $f4 - call FadeToWhite + call RotateThreePalettesRight pop af ld [rSVBK], a ld a, $80 diff --git a/misc/mobile_46.asm b/misc/mobile_46.asm index 54e5a81ba..836da4fa0 100755 --- a/misc/mobile_46.asm +++ b/misc/mobile_46.asm @@ -175,7 +175,7 @@ Function118125: ; 118125 cp [hl] jr nz, .asm_11813e xor a - ld [wMapPals], a + ld [w3_d000], a pop af ld [rSVBK], a call Function118452 @@ -197,33 +197,37 @@ Function118180: ; 118180 ld de, $a89c ld bc, $0016 call CopyBytes + ld a, [rSVBK] push af ld a, $3 ld [rSVBK], a - ld de, $d202 + + ld de, w3_d202 ld c, $96 - callba Function17d0b3 - jr c, .asm_1181d0 - ld de, $d202 - ld bc, $0196 - callba Function17d1e1 - jr c, .asm_1181d0 - ld hl, $d202 + callba CheckStringForErrors_IgnoreTerminator + jr c, .return_d3 + + ld de, w3_d202 + lb bc, 1, $96 + callba CheckStringContainsLessThanBNextCharacters + jr c, .return_d3 + + ld hl, w3_d202 ld de, $a8b2 ld bc, $0096 call CopyBytes -.asm_1181c9 +.reset_banks pop af ld [rSVBK], a call CloseSRAM ret -.asm_1181d0 +.return_d3 ld a, $d3 ld [wc300], a ld [ScriptVar], a - jr .asm_1181c9 + jr .reset_banks ; 1181da Function1181da: ; 1181da @@ -1067,7 +1071,7 @@ Function11878d: ; 11878d (46:478d) set 0, [hl] ld a, $6 ld [rSVBK], a - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 ld a, [hl] sla a @@ -1286,7 +1290,7 @@ Function118936: call LoadMenuDataHeader call MenuBox call MenuBoxCoord2Tile - call Function321c + call ApplyTilemap hlcoord 16, 8, AttrMap ld a, $40 or [hl] @@ -1462,7 +1466,7 @@ Function118a65: ; 118a65 ld de, wcc60 ld bc, $80 call CopyBytes - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 jp Function118b10 ; 118a7a @@ -1472,7 +1476,7 @@ Function118a7a: ; 118a7a ld de, wcc60 ld bc, $80 call CopyBytes - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 jp Function118b10 ; 118a8f @@ -1482,7 +1486,7 @@ Function118a8f: ; 118a8f ld de, wcc60 ld bc, $80 call CopyBytes - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 jp Function118b10 ; 118aa4 @@ -1504,7 +1508,7 @@ Function118abc: ; 118abc (46:4abc) ld de, wcc60 ld bc, $80 call CopyBytes - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 jr Function118b10 ; 118ad0 (46:4ad0) @@ -1514,7 +1518,7 @@ Function118ad0: ld de, wcc60 ld bc, $80 call CopyBytes - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 jr Function118b10 @@ -2101,7 +2105,7 @@ Function119009: ld a, $40 ld [wcd89], a ld hl, wc314 + 48 + 2 - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 ld a, $2c jp Function119e2b @@ -2115,7 +2119,7 @@ Function119054: ; 119054 ld e, a ld a, [wcd50] ld d, a - ld a, [wMapPals] + ld a, [UnknBGPals] ld c, a ld a, [wd001] ld b, a @@ -2127,7 +2131,7 @@ Function119054: ; 119054 ld a, $6 ld [rSVBK], a ld hl, wd002 - ld a, [wMapPals] + ld a, [UnknBGPals] ld c, a ld a, [wd001] ld b, a @@ -2174,7 +2178,7 @@ Function1190d0: ; 1190d0 ld de, wcc60 call Function1191ad ret c - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 jp Function118b10 ; 1190ec @@ -2194,7 +2198,7 @@ Function1190ec: ; 1190ec call CloseSRAM ld a, $6 call GetSRAMBank - ld a, [wMapPals] + ld a, [UnknBGPals] ld c, a ld a, [wd001] ld b, a @@ -2207,7 +2211,7 @@ Function1190ec: ; 1190ec jr z, .asm_11913e ld a, $6 ld [rSVBK], a - ld a, [wMapPals] + ld a, [UnknBGPals] ld c, a ld a, [wd001] ld b, a @@ -2674,7 +2678,7 @@ Function1193fb: ld a, $8 ld [wcd3c], a call Function119ed8 - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 jp Function118b10 ; 119413 @@ -2682,7 +2686,7 @@ Function1193fb: Function119413: ; 119413 ld a, $6 call GetSRAMBank - ld a, [wMapPals] + ld a, [UnknBGPals] ld c, a ld a, [wd001] ld b, a @@ -3039,7 +3043,7 @@ Function119648: ; 119648 (46:5648) ld [wcd3c], a call Function119ed8 call Function118b24 - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 ld a, $2a jp Function119e2b @@ -3334,7 +3338,7 @@ Function1197dc: xor a ld [de], a call Function118b24 - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 ld a, $2a jp Function119e2b @@ -3533,14 +3537,14 @@ Function119973: ; 119973 xor a ld [wcf65], a ld [StringBuffer2 + 10], a - ld de, wMapPals + ld de, UnknBGPals ld a, $20 jp Function119e2b ; 119987 Function119987: ; 119987 ld hl, wd001 - ld a, [wMapPals] + ld a, [UnknBGPals] or [hl] jr z, .asm_1199a0 ld a, [wcf64] @@ -3702,13 +3706,13 @@ Function1199e2: ; 1199e2 ld [StringBuffer2 + 12], a Function119ac9: - ld a, [wMapPals] + ld a, [UnknBGPals] ld l, a ld a, [wd001] ld h, a dec hl ld a, l - ld [wMapPals], a + ld [UnknBGPals], a ld a, h ld [wd001], a ld a, [wcf64] @@ -4463,7 +4467,7 @@ Function119f98: ; 119f98 and a jr z, .asm_119fd4 call ExitMenu - callba Function104061 + callba ReloadMapPart callba Function115dc3 ld a, [wcd33] ld [wcf66], a @@ -4480,14 +4484,14 @@ Function119f98: ; 119f98 ld [wc30d], a ld a, $1 ld [wc314], a - callba Function104061 + callba ReloadMapPart and a ret .asm_119fef call ExitMenu call ExitMenu - callba Function104061 + callba ReloadMapPart ld a, [wcd45] ld [wcf66], a callba Function115dc3 @@ -4562,7 +4566,7 @@ Function11a00e: ; 11a00e callba Function106462 callba Function106464 call ExitMenu - callba Function104061 + callba ReloadMapPart callba Function115d99 ld c, $0 callba Function115e18 @@ -4585,7 +4589,7 @@ Function11a0ca: ; 11a0ca callba Function106462 callba Function106464 call ExitMenu - callba Function104061 + callba ReloadMapPart callba Function115d99 ld c, $0 callba Function115e18 @@ -4677,7 +4681,7 @@ Function11a192: ; 11a192 and a jr nz, .asm_11a1b6 call ExitMenu - callba Function104061 + callba ReloadMapPart call Function11a63c hlcoord 4, 2 ld de, String_11a6d2 @@ -4687,7 +4691,7 @@ Function11a192: ; 11a192 .asm_11a1b6 call ExitMenu - callba Function104061 + callba ReloadMapPart ld a, [wcd45] ld [wcf66], a ld [wcd80], a @@ -4741,7 +4745,7 @@ Function11a207: ; 11a207 call LoadMenuDataHeader call MenuBox call MenuBoxCoord2Tile - call Function321c + call ApplyTilemap hlcoord 16, 8 ld de, String_11a2cf call PlaceString @@ -4818,7 +4822,7 @@ Function11a235: ; 11a235 and a jr nz, .asm_11a2c4 call ExitMenu - callba Function104061 + callba ReloadMapPart ld a, [wcd46] cp $0 jr z, .asm_11a2b4 @@ -4840,7 +4844,7 @@ Function11a235: ; 11a235 .asm_11a2c4 call ExitMenu - callba Function104061 + callba ReloadMapPart and a ret ; 11a2cf @@ -4919,7 +4923,7 @@ Function11a33a: ; 11a33a .asm_11a346 call ExitMenu - callba Function104061 + callba ReloadMapPart callba Function115dc3 and a ret @@ -4963,7 +4967,7 @@ Function11a38d: ; 11a38d and a jr nz, .asm_11a3b1 call ExitMenu - callba Function104061 + callba ReloadMapPart call Function11a63c hlcoord 4, 2 ld de, String_11a6d2 @@ -4973,7 +4977,7 @@ Function11a38d: ; 11a38d .asm_11a3b1 call ExitMenu - callba Function104061 + callba ReloadMapPart ld a, [wcd45] ld [wcf66], a ld [wcd80], a @@ -5038,7 +5042,7 @@ Function11a41b: ; 11a41b and a jr nz, .asm_11a43f call ExitMenu - callba Function104061 + callba ReloadMapPart call Function11a63c hlcoord 4, 2 ld de, String_11a6d2 @@ -5048,7 +5052,7 @@ Function11a41b: ; 11a41b .asm_11a43f call ExitMenu - callba Function104061 + callba ReloadMapPart ld a, $1c ld [wcf66], a ld [wcd80], a @@ -5109,7 +5113,7 @@ Function11a49e: ; 11a49e and a jr nz, .asm_11a4c7 call ExitMenu - callba Function104061 + callba ReloadMapPart call Function11a63c hlcoord 4, 2 ld de, String_11a6d2 @@ -5121,7 +5125,7 @@ Function11a49e: ; 11a49e .asm_11a4c7 call ExitMenu - callba Function104061 + callba ReloadMapPart ld a, [wcd46] ld [wcf66], a ld [wcd80], a @@ -5156,7 +5160,7 @@ Function11a4fe: ; 11a4fe and a jr nz, .asm_11a522 call ExitMenu - callba Function104061 + callba ReloadMapPart call Function11a63c hlcoord 4, 2 ld de, String_11a6d2 @@ -5166,7 +5170,7 @@ Function11a4fe: ; 11a4fe .asm_11a522 call ExitMenu - callba Function104061 + callba ReloadMapPart ld a, [wcd45] ld [wcf66], a ld [wcd80], a @@ -5195,7 +5199,7 @@ Function11a536: ; 11a536 call Function11a9f0 jr nz, .asm_11a562 call ExitMenu - callba Function104061 + callba ReloadMapPart .asm_11a562 scf @@ -5271,7 +5275,7 @@ Function11a5b9: ; 11a5b9 ld b, $4 ld c, $12 call Function3eea - callba Function104061 + callba ReloadMapPart call UpdateSprites ld c, $0 callba Function115e18 @@ -5306,7 +5310,7 @@ Function11a5f5: ; 11a5f5 hlcoord 15, 7 ld a, $ed ld [hl], a - callba Function104061 + callba ReloadMapPart ret ; 11a63c @@ -5840,9 +5844,9 @@ UnknownText_0x11ac1f: ; 0x11ac1f Function11ac3e: ; 11ac3e call SpeechTextBox call FadeToMenu - callab InefficientlyClear121BytesAtwc300 + callab ClearSpriteAnims call Function11ac51 - call Function2b3c + call ReturnToCallingMenu ret ; 11ac51 @@ -5881,7 +5885,7 @@ Function11ac51: ; 11ac51 ld a, $78 ld [wc3b5], a callba Function8cf7a - callba Function104061 + callba ReloadMapPart jr .asm_11ac82 .asm_11aca8 @@ -6025,7 +6029,7 @@ Function11ad95: ; 11ad95 hlcoord 10, 10, AttrMap ld bc, $0808 call Function11afd6 - callba Function104061 + callba ReloadMapPart call Function11ad8a ld a, $1 ld [MenuSelection2], a @@ -6104,7 +6108,7 @@ Function11adc4: .asm_11ae2e call ExitMenu - callba Function104061 + callba ReloadMapPart ret ; 11ae38 @@ -6142,7 +6146,7 @@ Function11ae4e: ; 11ae4e hlcoord 9, 12, AttrMap lb bc, 6, 11 call Function11afd6 - callba Function104061 + callba ReloadMapPart call Function11ad8a ld a, $1 ld [MenuSelection2], a @@ -6210,7 +6214,7 @@ Function11ae98: .asm_11aef7 call ExitMenu call ExitMenu - callba Function104061 + callba ReloadMapPart ret ; 11af04 @@ -6233,7 +6237,7 @@ Function11af04: ; 11af04 hlcoord 9, 12, AttrMap lb bc, 6, 11 call Function11afd6 - callba Function104061 + callba ReloadMapPart call Function11ad8a ld a, $2 ld [MenuSelection2], a @@ -6301,7 +6305,7 @@ Function11af4e: .asm_11afaa call ExitMenu call ExitMenu - callba Function104061 + callba ReloadMapPart ret ; 11afb7 @@ -7549,8 +7553,8 @@ Function11b6b4: ; 11b6b4 .asm_11b70f ld de, $c63d - ld bc, $0105 - callba Function17d1e1 + lb bc, 1, 5 + callba CheckStringContainsLessThanBNextCharacters jr nc, .asm_11b723 callba Function17d187 @@ -7563,8 +7567,8 @@ Function11b6b4: ; 11b6b4 .asm_11b736 ld de, $c642 - ld bc, $0105 - callba Function17d1e1 + lb bc, 1, 5 + callba CheckStringContainsLessThanBNextCharacters jr nc, .asm_11b74a callba Function17d199 @@ -7577,8 +7581,8 @@ Function11b6b4: ; 11b6b4 .asm_11b75d ld de, $c647 - ld bc, $0221 - callba Function17d1e1 + lb bc, 2, $21 + callba CheckStringContainsLessThanBNextCharacters jr c, .asm_11b770 ld a, b cp $2 @@ -7596,8 +7600,8 @@ Function11b6b4: ; 11b6b4 .asm_11b789 ld de, $c668 - ld bc, $0105 - callba Function17d1e1 + lb bc, 1, 5 + callba CheckStringContainsLessThanBNextCharacters jr nc, .asm_11b79d callba Function17d1c9 @@ -7676,7 +7680,7 @@ Function11b7e5: ; 11b7e5 ld [wd1e9], a ld a, $2 ld [wLinkMode], a - callba Function421d8 + callba EvolvePokemon xor a ld [wLinkMode], a callba Function14a58 @@ -7697,7 +7701,7 @@ Function11b7e5: ; 11b7e5 ld [de], a .asm_11b872 - call Function2b3c + call ReturnToCallingMenu call RestartMapMusic ret ; 11b879 @@ -7919,7 +7923,7 @@ Function11b98f: ; 11b98f call CopyBytes ld a, "@" ld [de], a - ld hl, sPartyScratch1 + ld hl, sPartyMail ld bc, PARTYMON_STRUCT_LENGTH - 1 ld a, [wcd2a] .loop5 diff --git a/misc/mobile_5b.asm b/misc/mobile_5b.asm index 3e26aa9ea..19d192aeb 100755 --- a/misc/mobile_5b.asm +++ b/misc/mobile_5b.asm @@ -169,7 +169,7 @@ Function16c108: ; 16c108 call Function16c130 call Function16c145 call Function16c15c - ld hl, VBGMap0 + hlbgcoord 0, 0 call Function16cc73 call Function16cc02 xor a @@ -179,7 +179,7 @@ Function16c108: ; 16c108 ; 16c130 Function16c130: ; 16c130 - ld de, wMapPals + ld de, UnknBGPals ld hl, Unknown_16c903 ld bc, 8 ld a, $5 @@ -274,7 +274,7 @@ Function16c943: ; 16c943 ld [rSVBK], a ld a, $ff ld bc, $0008 - ld hl, wMapPals + ld hl, UnknBGPals call ByteFill pop af ld [rSVBK], a @@ -291,7 +291,7 @@ Function16c943: ; 16c943 call Function16cab6 call Function16cabb ld d, a - ld hl, wMapPals + ld hl, UnknBGPals call Function16cab6 call Function16cabb cp d @@ -305,7 +305,7 @@ Function16c943: ; 16c943 jr nz, .asm_16c981 .asm_16c988 - ld hl, wMapPals + ld hl, UnknBGPals call Function16cab6 call Function16cadc @@ -314,7 +314,7 @@ Function16c943: ; 16c943 call Function16cab6 call Function16cad8 ld d, a - ld hl, wMapPals + ld hl, UnknBGPals call Function16cab6 call Function16cad8 cp d @@ -328,7 +328,7 @@ Function16c943: ; 16c943 jr nz, .asm_16c9a9 .asm_16c9b0 - ld hl, wMapPals + ld hl, UnknBGPals call Function16cab6 call Function16cb08 @@ -337,7 +337,7 @@ Function16c943: ; 16c943 call Function16cab6 call Function16cac4 ld d, a - ld hl, wMapPals + ld hl, UnknBGPals call Function16cab6 call Function16cac4 cp d @@ -351,7 +351,7 @@ Function16c943: ; 16c943 jr nz, .asm_16c9d1 .asm_16c9d8 - ld hl, wMapPals + ld hl, UnknBGPals call Function16cab6 call Function16cae8 @@ -402,7 +402,7 @@ Function16ca11: ; 16ca11 ld e, $0 ld a, $0 .asm_16ca28 - ld hl, wMapPals + ld hl, UnknBGPals call Function16cab6 call Function16cabb cp $1f @@ -416,12 +416,12 @@ Function16ca11: ; 16ca11 jr nz, .asm_16ca37 .asm_16ca3f - ld hl, wMapPals + ld hl, UnknBGPals call Function16cab6 call Function16cadc .asm_16ca48 - ld hl, wMapPals + ld hl, UnknBGPals call Function16cab6 call Function16cad8 cp $1f @@ -435,12 +435,12 @@ Function16ca11: ; 16ca11 jr nz, .asm_16ca57 .asm_16ca5f - ld hl, wMapPals + ld hl, UnknBGPals call Function16cab6 call Function16cb08 .asm_16ca68 - ld hl, wMapPals + ld hl, UnknBGPals call Function16cab6 call Function16cac4 cp $1f @@ -454,7 +454,7 @@ Function16ca11: ; 16ca11 jr nz, .asm_16ca77 .asm_16ca7f - ld hl, wMapPals + ld hl, UnknBGPals call Function16cab6 call Function16cae8 @@ -752,7 +752,7 @@ Function16cc25: ; 16cc25 ld de, wd008 call Function16cc41 ld hl, Unknown_16cfb1 - ld de, Unkn2Pals + ld de, UnknOBPals call Function16cc41 ld hl, Unknown_16cfb9 ld de, wd048 @@ -795,7 +795,7 @@ Function16cc62: ; 16cc62 ; 16cc6e Function16cc6e: ; 16cc6e - ld hl, VBGMap1 + hlbgcoord 0, 0, VBGMap1 jr Function16cc73 Function16cc73: @@ -890,7 +890,7 @@ Function16d43b: ; 16d43b call ClearSprites callba Function16d421 callba Function16d42e - ld b, $8 + ld b, SCGB_08 call GetSGBLayout call SetPalettes call WaitBGMap @@ -925,19 +925,19 @@ rept 2 inc c endr ld a, $7 -.asm_16d630 +.loop push bc push hl -.asm_16d632 +.loop2 ld [hli], a dec c - jr nz, .asm_16d632 + jr nz, .loop2 pop hl - ld de, $0014 + ld de, SCREEN_WIDTH add hl, de pop bc dec b - jr nz, .asm_16d630 + jr nz, .loop ret ; 16d640 @@ -950,20 +950,20 @@ Function16d640: ; 16d640 inc a ld [hl], a pop hl - ld de, $0014 + ld de, SCREEN_WIDTH add hl, de -.asm_16d64f +.loop push hl ld a, $33 ld [hli], a - ld a, $7f + ld a, " " call Function16d66d ld [hl], $34 pop hl - ld de, $0014 + ld de, SCREEN_WIDTH add hl, de dec b - jr nz, .asm_16d64f + jr nz, .loop ld a, $35 ld [hli], a ld a, $36 @@ -974,10 +974,10 @@ Function16d640: ; 16d640 Function16d66d: ; 16d66d ld d, c -.asm_16d66e +.loop ld [hli], a dec d - jr nz, .asm_16d66e + jr nz, .loop ret ; 16d673 @@ -1028,7 +1028,7 @@ Function16d6ae: ; 16d6ae ret ; 16d6ca -Function16d6ca: ; 16d6ca +LinkTextbox: ; 16d6ca call Function16d61d ret ; 16d6ce @@ -1044,11 +1044,11 @@ Function16d6ce: ; 16d6ce Function16d6e1: ; 16d6e1 hlcoord 4, 10 - ld b, $1 - ld c, $a - predef Function28eef + ld b, 1 + ld c, 10 + predef Predef_LinkTextbox hlcoord 5, 11 - ld de, String_16d701 + ld de, .Waiting call PlaceString call WaitBGMap call Function3200 @@ -1056,7 +1056,7 @@ Function16d6e1: ; 16d6e1 jp DelayFrames ; 16d701 -String_16d701: ; 16d701 +.Waiting: ; 16d701 db "WAITING..!@" ; 16d70c diff --git a/misc/mobile_5c.asm b/misc/mobile_5c.asm index 5d9e207bb..ebebb302c 100755 --- a/misc/mobile_5c.asm +++ b/misc/mobile_5c.asm @@ -73,1189 +73,8 @@ Function17005a: ; 17005a ret ; 1700b0 -Function1700b0: ; 1700b0 - call Function17021e - callba Function118121 - ret -; 1700ba - -Function1700ba: ; 1700ba - call Function17021e - callba Function11811a - ret -; 1700c4 - -Function1700c4: ; 1700c4 - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - call Function17042c - ld a, $5 - call GetSRAMBank - ld a, $1 - ld [$be45], a - xor a - ld [$be46], a - ld hl, $dffc - ld de, $aa41 - ld bc, $0004 - call CopyBytes - ld hl, $d202 - ld de, $aa8e - ld bc, $0594 - call CopyBytes - ld hl, $aa5d - ld a, [hl] - inc [hl] - inc hl - sla a - sla a - ld e, a - ld d, $0 - add hl, de - ld e, l - ld d, h - ld hl, $dffc - ld bc, $0004 - call CopyBytes - call CloseSRAM - pop af - ld [rSVBK], a - ret -; 170114 - -Function170114: ; 170114 - call Function17021e - call Function170121 - callba Function11805f - ret -; 170121 - -Function170121: ; 170121 - ld a, $5 - call GetSRAMBank - ld hl, $a948 - ld de, $c608 - ld bc, $00f6 - call CopyBytes - call CloseSRAM - call Function170c8b - ret -; 170139 - -Function170139: ; 170139 - ld a, $5 - call GetSRAMBank - ld de, $aa41 - ld h, $0 - ld l, h - ld bc, $03e8 - call Function17020c - ld bc, $0064 - call Function17020c - ld bc, $000a - call Function17020c - ld a, [de] - ld c, a - ld b, $0 - add hl, bc - call CloseSRAM - ld a, h - ld [$c608], a - ld a, l - ld [$c608 + 1], a - ld hl, $c628 - ld a, [PlayerID] - ld [hli], a - ld a, [PlayerID + 1] - ld [hli], a - ld a, [wSecretID] - ld [hli], a - ld a, [wSecretID + 1] - ld [hli], a - ld e, l - ld d, h - ld hl, PlayerName - ld bc, $0005 ; Japanese name length - call CopyBytes - ld bc, PlayerID - ld de, PlayerGender - callba Function4e929 - ld de, $c62c + 5 - ld a, c - ld [de], a - inc de - ld a, $df - ld [wcd49], a - ld a, $dc - ld [wcd4a], a - ld a, $41 - ld [wcd4b], a - ld a, $de - ld [wcd4c], a - ld a, $3 -.asm_1701ac - push af - ld a, [wcd49] - ld l, a - ld a, [wcd4a] - ld h, a - ld bc, $0030 - call CopyBytes - ld a, l - ld [wcd49], a - ld a, h - ld [wcd4a], a - ld a, [wcd4b] - ld l, a - ld a, [wcd4c] - ld h, a - ld bc, $0006 - call CopyBytes - ld a, l - ld [wcd4b], a - ld a, h - ld [wcd4c], a - pop af - dec a - jr nz, .asm_1701ac - ld a, $4 - call GetSRAMBank - ld hl, $a013 - ld bc, $0024 - call CopyBytes - call CloseSRAM - ld a, $5 - call GetSRAMBank - ld hl, $a894 - ld bc, $0006 - call CopyBytes - ld hl, $c608 - ld de, $a948 - ld bc, $00f6 - call CopyBytes - call CloseSRAM - ret -; 17020c - -Function17020c: ; 17020c - ld a, [de] - inc de - and a - ret z -.asm_170210 - add hl, bc - dec a - jr nz, .asm_170210 - ret -; 170215 - INCLUDE "misc/battle_tower_5c.asm" -Function1704ca: ; 1704ca - ld a, [$be46] - cp $7 - jr c, .asm_1704d3 - ld a, $6 - -.asm_1704d3 - ld hl, $afce - ld de, -$e0 -.asm_1704d9 - and a - jr z, .asm_1704e0 - add hl, de - dec a - jr .asm_1704d9 - -.asm_1704e0 - ret -; 1704e1 - -Function1704e1: ; 1704e1 - call SpeechTextBox - call FadeToMenu - call Function17021e - call Function1704f1 - call Function2b3c - ret -; 1704f1 - -Function1704f1: ; 1704f1 - call ClearBGPalettes - call ClearSprites - call ClearScreen -.asm_1704fa - call JoyTextDelay - ld a, [wJumptableIndex] - bit 7, a - jr nz, .asm_17050f - call Function170510 - callba Function104061 - jr .asm_1704fa - -.asm_17050f - ret -; 170510 - -Function170510: ; 170510 - ld a, [wJumptableIndex] - ld e, a - ld d, 0 - ld hl, Jumptable_17051f -rept 2 - add hl, de -endr - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 17051f - -Jumptable_17051f: ; 17051f - dw Function170525 - dw Function170571 - dw Function170577 -; 170525 - -Function170525: ; 170525 - ld a, $5 - call GetSRAMBank - - ld hl, $a89c - ld de, StringBuffer3 - ld bc, $0016 - call CopyBytes - - ld hl, $a8b2 - ld de, $c608 - ld bc, $0096 - call CopyBytes - - call CloseSRAM - hlcoord 1, 1 - ld de, StringBuffer3 - call PlaceString - hlcoord 1, 3 - ld de, String_170676 - call PlaceString - hlcoord 4, 3 - ld de, StringBuffer4 - call PlaceString - hlcoord 8, 3 - ld de, String_17067a - call PlaceString - call Function1705b7 - call Function1705f0 - jr Function1705b2 - - -Function170571: - call SetPalettes - call Function1705b2 - - -Function170577: - ld hl, hJoyPressed - ld a, [hl] - and $1 - jr nz, .asm_1705ac - ld a, [hl] - and $2 - jr nz, .asm_1705ac - ld a, [hl] - and $40 - jr nz, .asm_17058f - ld a, [hl] - and $80 - jr nz, .asm_17059d - ret - -.asm_17058f - ld a, [wcf64] - and a - ret z - sub $f - ld [wcf64], a - call Function1705f0 - ret - -.asm_17059d - ld a, [wcf64] - cp $3c - ret z - add $f - ld [wcf64], a - call Function1705f0 - ret - -.asm_1705ac - ld hl, wJumptableIndex - set 7, [hl] - ret - -Function1705b2: - ld hl, wJumptableIndex - inc [hl] - ret -; 1705b7 - -Function1705b7: ; 1705b7 - hlcoord 0, 4 - ld a, $79 - ld [hli], a - ld c, $12 -.asm_1705bf - ld a, $7a - ld [hli], a - dec c - jr nz, .asm_1705bf - ld a, $7b - ld [hli], a - ld de, $0014 - ld c, $c -.asm_1705cd - ld a, $7c - ld [hl], a - add hl, de - dec c - jr nz, .asm_1705cd - ld a, $7d - ld [hli], a - ld c, $12 -.asm_1705d9 - ld a, $7a - ld [hli], a - dec c - jr nz, .asm_1705d9 - ld a, $7e - ld [hl], a - ld de, $ffec - add hl, de - ld c, $c -.asm_1705e8 - ld a, $7c - ld [hl], a - add hl, de - dec c - jr nz, .asm_1705e8 - ret -; 1705f0 - -Function1705f0: ; 1705f0 - call Function17064b - call Function17065d - ld a, $50 - ld [wcd4e], a - ld hl, $c608 - ld a, [wcf64] - ld c, a - xor a - ld b, a - add hl, bc - push hl - pop bc - hlcoord 1, 6 - ld a, $6 -.asm_17060c - push af - push hl - ld a, $3 -.asm_170610 - push af - ld de, wcd49 - ld a, [bc] - and a - jr z, .asm_170625 - ld a, $5 -.asm_17061a - push af - ld a, [bc] - ld [de], a - inc bc - inc de - pop af - dec a - jr nz, .asm_17061a - jr .asm_170631 - -.asm_170625 - ld a, $5 -.asm_170627 - push af - ld a, $e3 - ld [de], a - inc de - inc bc - pop af - dec a - jr nz, .asm_170627 - -.asm_170631 - ld de, wcd49 - push bc - call PlaceString - ld de, $0006 - add hl, de - pop bc - pop af - dec a - jr nz, .asm_170610 - pop hl - ld de, $0028 - add hl, de - pop af - dec a - jr nz, .asm_17060c - ret -; 17064b - -Function17064b: ; 17064b - hlcoord 1, 5 - xor a - ld b, $c -.asm_170651 - ld c, $12 -.asm_170653 - ld [hli], a - dec c - jr nz, .asm_170653 -rept 2 - inc hl -endr - dec b - jr nz, .asm_170651 - ret -; 17065d - -Function17065d: ; 17065d - ld a, [wcf64] - and a - jr z, .asm_170669 - hlcoord 18, 5 - ld a, $61 - ld [hl], a - -.asm_170669 - ld a, [wcf64] - cp $3c - ret z - hlcoord 18, 16 - ld a, $ee - ld [hl], a - ret -; 170676 - -String_170676: ; 170676 - db "ルーム@" -; 17067a - -String_17067a: ; 17067a - db "れきだいりーダーいちらん@" -; 170687 - -BattleTowerAction: ; 170687 - ld a, [ScriptVar] - ld e, a - ld d, 0 - ld hl, .jumptable -rept 2 - add hl, de -endr - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 170696 - - -.jumptable: ; 170696 (5c:4696) - dw Function17075f ; 0x00 - dw Function170788 ; 0x01 - dw Function170778 ; 0x02 - dw Function170799 ; 0x03 - dw Function17079d ; 0x04 - dw Function1707ac ; 0x05 - dw Function1707f4 ; 0x06 - dw Function170868 ; 0x07 - dw Function170881 ; 0x08 - dw Function17089a ; 0x09 - dw Function1708b1 ; 0x0a - dw CheckMobileEventIndex ; 0x0b - dw Function1708c8 ; 0x0c - dw Function1708f0 ; 0x0d - dw Function17093c ; 0x0e - dw Function1709aa ; 0x0f - dw Function1709bb ; 0x10 - dw Function170a9c ; 0x11 - dw Function170aa0 ; 0x12 - dw Function170aaf ; 0x13 - dw Function170abe ; 0x14 - dw Function170ad7 ; 0x15 - dw Function170807 ; 0x16 - dw Function17081d ; 0x17 - dw Function170ae8 ; 0x18 - dw Function170b16 ; 0x19 - dw ResetBattleTowerTrainersSRAM ; 0x1a - dw Function1706ee ; 0x1b - dw Function17071b ; 0x1c - dw Function170729 ; 0x1d - dw Function17073e ; 0x1e - dw Function170737 ; 0x1f - - -; Reset the save memory for BattleTower-Trainers (Counter and all 7 TrainerBytes) -ResetBattleTowerTrainersSRAM: ; 1706d6 (5c:46d6) BattleTowerAction $1a - ld a, BANK(sBTTrainers) - call GetSRAMBank - - ld a, $ff - ld hl, sBTTrainers - ld bc, BATTLETOWER_NROFTRAINERS - call ByteFill - - xor a - ld [sNrOfBeatenBattleTowerTrainers], a - - call CloseSRAM - - ret - -Function1706ee: ; 1706ee (5c:46ee) - ld a, BANK(sbe50) - call GetSRAMBank - - ld a, [sbe50] - call CloseSRAM - ld [ScriptVar], a - ld hl, NumItems - ld a, [hli] - cp $14 - ret c - ld b, $14 - ld a, [ScriptVar] - ld c, a -.asm_170709 - ld a, [hli] - cp c - jr nz, .asm_170711 - ld a, [hl] - cp $5f - ret c -.asm_170711 - inc hl - dec b - jr nz, .asm_170709 - ld a, $12 - ld [ScriptVar], a - ret - -Function17071b: ; 17071b (5c:471b) - ld a, BANK(s1_be45) - call GetSRAMBank - ld a, $3 - ld [s1_be45], a - call CloseSRAM - ret - -Function170729: ; 170729 (5c:4729) - ld a, BANK(s1_be45) - call GetSRAMBank - ld a, $4 - ld [s1_be45], a - call CloseSRAM - ret - -Function170737: ; 170737 (5c:4737) - callba SaveOptions - ret - -Function17073e: ; 17073e (5c:473e) - call Random - ld a, [hRandomAdd] - and $7 - cp $6 - jr c, .asm_17074b - sub $6 -.asm_17074b - add $1a - cp $1e - jr z, Function17073e - push af - ld a, BANK(sbe50) - call GetSRAMBank - pop af - ld [sbe50], a - call CloseSRAM - ret - -Function17075f: ; 17075f (5c:475f) - call Function17089a - ld a, [ScriptVar] - and a - ret z - ld a, BANK(sbe4f) - call GetSRAMBank - ld a, [sbe4f] - and $2 - ld [ScriptVar], a - call CloseSRAM - ret - -Function170778: ; 170778 (5c:4778) - ld hl, s1_be45 - ld a, BANK(s1_be45) - call GetSRAMBank - ld a, [hl] - ld [ScriptVar], a - call CloseSRAM - ret - -Function170788: ; 170788 (5c:4788) - ld a, BANK(sbe4f) - call GetSRAMBank - ld a, [sbe4f] - or $2 - ld [sbe4f], a - call CloseSRAM - ret - -Function170799: ; 170799 (5c:4799) - ld c, $1 - jr asm_17079f - -Function17079d: ; 17079d (5c:479d) - ld c, $0 -asm_17079f: ; 17079f (5c:479f) - ld a, BANK(s1_be45) - call GetSRAMBank - ld a, c - ld [s1_be45], a - call CloseSRAM - ret - -Function1707ac: ; 1707ac (5c:47ac) - ld a, $5 - call GetSRAMBank - ld a, [$aa8c] - ld b, a - ld a, [$be46] - ld [ScriptVar], a - call CloseSRAM - and a - ret z - ld a, b - cp $2 - jr nc, .asm_1707ef - push bc - call UpdateTime - pop bc - ld a, $5 - call GetSRAMBank - ld a, [$aa8b] - call CloseSRAM - ld c, a - ld a, [CurDay] - sub c - jr c, .asm_1707e5 - cp $8 - jr nc, .asm_1707ef - ld a, b - and a - jr nz, .asm_1707ef - ret -.asm_1707e5 - ld hl, CurDay - ld a, $8c - sub c - add [hl] - cp $8 - ret c -.asm_1707ef - ld a, $8 - ld [ScriptVar], a - -Function1707f4: ; 1707f4 (5c:47f4) - ld a, $5 - call GetSRAMBank - xor a - ld [$be46], a - ld [$aa8b], a - ld [$aa8c], a - call CloseSRAM - ret - -Function170807: ; 170807 (5c:4807) - call UpdateTime - ld a, $5 - call GetSRAMBank - ld a, [CurDay] - ld [$b2f9], a - xor a - ld [$b2fa], a - call CloseSRAM - ret - -Function17081d: ; 17081d (5c:481d) - xor a - ld [ScriptVar], a - ld a, $5 - call GetSRAMBank - ld a, [$b2f9] - ld c, a - ld a, [$b2fa] - ld b, a - call CloseSRAM - cp $2 - jr nc, .asm_170853 - push bc - call UpdateTime - pop bc - ld a, [CurDay] - sub c - jr c, .asm_170849 - cp $b - jr nc, .asm_170853 - ld a, b - and a - jr nz, .asm_170853 - ret -.asm_170849 - ld hl, CurDay - ld a, $8c - sub c - add [hl] - cp $b - ret c -.asm_170853 - ld a, $1 - ld [ScriptVar], a - ld a, $5 - call GetSRAMBank - xor a - ld [$b2f9], a - ld [$b2fa], a - call CloseSRAM - ret - -Function170868: ; 170868 (5c:4868) - ld a, BANK(sbe47) - call GetSRAMBank - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, [wd000 + $800] - ld [sbe47], a - pop af - ld [rSVBK], a - call CloseSRAM - ret - -Function170881: ; 170881 (5c:4881) - ld a, BANK(sbe47) - call GetSRAMBank - ld a, [rSVBK] - push af - ld a, $3 - ld [rSVBK], a - ld a, [sbe47] - ld [wd000 + $800], a - pop af - ld [rSVBK], a - call CloseSRAM - ret - -Function17089a: ; 17089a - ld a, [wcfcd] - and a - jr z, .asm_1708ad - callba Function14bcb - jr z, .asm_1708ab - xor a - jr .asm_1708ad - -.asm_1708ab - ld a, $1 - -.asm_1708ad - ld [ScriptVar], a - ret -; 1708b1 - - -Function1708b1: ; 1708b1 (5c:48b1) - xor a - ld [MusicFade], a - call MaxVolume - ret - -CheckMobileEventIndex: ; 1708b9 (5c:48b9) something to do with GS Ball - ld a, BANK(sMobileEventIndex) - call GetSRAMBank - ld a, [sMobileEventIndex] - ld [ScriptVar], a - call CloseSRAM - ret - -Function1708c8: ; 1708c8 (5c:48c8) - call UpdateTime - ld a, $5 - call GetSRAMBank - ld a, [CurDay] - ld [$aa8b], a - xor a - ld [$aa8c], a - ld a, [$aa5d] - cp $2 - jr nc, .asm_1708ec - ld a, [CurDay] - ld [$aa48], a - ld a, $1 - ld [$aa47], a -.asm_1708ec - call CloseSRAM - ret - -Function1708f0: ; 1708f0 (5c:48f0) - xor a - ld [ScriptVar], a - call UpdateTime - ld a, $5 - call GetSRAMBank - ld a, [$aa48] - ld c, a - ld a, [$aa47] - call CloseSRAM - and a - ret z - ld hl, CurDay - ld a, c - cp [hl] - jr nz, Function170923 - ld a, $5 - call GetSRAMBank - ld a, [$aa5d] - call CloseSRAM - cp $5 - ret c - ld a, $1 - ld [ScriptVar], a - ret - - -Function170923: ; 170923 - ld a, $5 - call GetSRAMBank - xor a - ld [$aa48], a - ld [$aa47], a - ld hl, $aa5d - ld bc, $0011 - call ByteFill - call CloseSRAM - ret -; 17093c - - -Function17093c: ; 17093c (5c:493c) - xor a - ld [ScriptVar], a - ld a, EGG_TICKET - ld [CurItem], a - ld hl, NumItems - call CheckItem - ret nc - ld a, [PartyCount] - ld b, 0 - ld c, a - ld hl, PartySpecies -.loop - ld a, [hli] - cp EGG - jr nz, .not_egg - push hl - ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) - ld de, $6 - ld a, b - and a - jr z, .skip -.loop2 - add hl, de - dec a - jr nz, .loop2 -.skip - ld de, String_1709a4 - ld a, $6 -.asm_17096e - push af - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_17099d - pop af - dec a - jr nz, .asm_17096e -rept 4 - dec hl -endr - ld a, $50 -rept 2 - ld [hli], a -endr - pop hl - ld a, EGG_TICKET - ld [CurItem], a - ld a, $1 - ld [wItemQuantityChangeBuffer], a - ld a, $ff - ld [wd107], a - ld hl, NumItems - call TossItem - ld a, $1 - ld [ScriptVar], a - ret - -.asm_17099d - pop af - pop hl -.not_egg - inc b - dec c - jr nz, .loop - ret -; 1709a4 (5c:49a4) - -String_1709a4: ; 1709a4 - db "なぞナゾ@@" - -Function1709aa: ; 1709aa (5c:49aa) - ld a, [rSVBK] - push af - ld a, BANK(w3_d090) - ld [rSVBK], a - ld a, [w3_d090] - ld [ScriptVar], a - pop af - ld [rSVBK], a - ret - -Function1709bb: ; 1709bb (5c:49bb) - xor a - ld [ScriptVar], a - ld a, $5 - call GetSRAMBank - ld a, [$a800] - call CloseSRAM - cp 6 - jr nc, .invalid - ld e, a - ld d, 0 - ld hl, Jumptable_1709e7 -rept 2 - add hl, de -endr - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -.invalid - ld a, $5 - call GetSRAMBank - xor a - ld [$a800], a - call CloseSRAM - ret -; 1709e7 (5c:49e7) - -Jumptable_1709e7: ; 1709e7 - dw Function170a00 - dw Function170a00 - dw Function1709f3 - dw Function1709f3 - dw Function170a01 - dw Function170a33 -; 1709f3 - -Function1709f3: ; 1709f3 - ld a, $5 - call GetSRAMBank - ld a, $1 - ld [$a800], a - call CloseSRAM - -Function170a00: ; 170a00 - ret -; 170a01 - -Function170a01: ; 170a01 - ld a, $5 - call GetSRAMBank - ld hl, $b023 - ld de, $c608 - ld bc, $0069 - call CopyBytes - ld a, [$a825] - ld [wcd30], a - ld a, [$a826] - ld [wcd31], a - call CloseSRAM - callba Function11b6b4 - callba Function17d0f3 - ld a, $1 - ld [ScriptVar], a - ret -; 170a33 - -Function170a33: ; 170a33 - ld a, $0 - call GetSRAMBank - ld hl, wRTC - ld de, $c608 - ld bc, $0004 - call CopyBytes - call CloseSRAM - ld a, $5 - call GetSRAMBank - ld hl, $b08c - ld de, $c608 - ld c, $4 -.asm_170a54 - ld a, [de] - inc de - cp [hl] - jr nz, .asm_170a78 - inc hl - dec c - jr nz, .asm_170a54 - call CloseSRAM - ld a, [MapGroup] - ld b, a - ld a, [MapNumber] - ld c, a - call GetMapTrigger - ld a, d - or e - jr z, .asm_170a72 - ld a, [de] - and a - ret nz - -.asm_170a72 - ld a, $1 - ld [ScriptVar], a - ret - -.asm_170a78 - call CloseSRAM - ld a, $5 - call GetSRAMBank - xor a - ld [$a800], a - call CloseSRAM - ld [ScriptVar], a - ld a, [MapGroup] - ld b, a - ld a, [MapNumber] - ld c, a - call GetMapTrigger - ld a, d - or e - jr z, .asm_170a9b - xor a - ld [de], a - -.asm_170a9b - ret -; 170a9c - -Function170a9c: ; 170a9c (5c:4a9c) - ld c, $0 - jr asm_170aa2 - -Function170aa0: ; 170aa0 (5c:4aa0) - ld c, $1 -asm_170aa2: ; 170aa2 (5c:4aa2) - ld a, $5 - call GetSRAMBank - ld a, c - ld [$aa8d], a - call CloseSRAM - ret - -Function170aaf: ; 170aaf (5c:4aaf) - ld a, $5 - call GetSRAMBank - ld a, [$aa8d] - ld [ScriptVar], a - call CloseSRAM - ret - -Function170abe: ; 170abe (5c:4abe) - call Function17089a - ld a, [ScriptVar] - and a - ret z - ld a, BANK(sbe4f) - call GetSRAMBank - ld a, [sbe4f] - and $1 - ld [ScriptVar], a - call CloseSRAM - ret - -Function170ad7: ; 170ad7 (5c:4ad7) - ld a, BANK(sbe4f) - call GetSRAMBank - ld a, [sbe4f] - or $1 - ld [sbe4f], a - call CloseSRAM - ret - -Function170ae8: ; 170ae8 (5c:4ae8) - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld c, $a - call SimpleDivide - ld a, b - ld [wcd4f], a - xor a - ld [ScriptVar], a - callba Function119d93 - ret nc - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld [ScriptVar], a - ret - -Function170b16: ; 170b16 (5c:4b16) - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld c, 10 - call SimpleDivide - ld a, b - ld [wcd4f], a - xor a - ld [ScriptVar], a - callba Function119dd1 - ret nc - ld a, $5 - call GetSRAMBank - ld a, [$b2fb] - call CloseSRAM - ld [ScriptVar], a - ret - Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44 callba Function_LoadOpponentTrainerAndPokemons ld a, [rSVBK] @@ -1297,7 +116,7 @@ Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44 ld [hUsedSpriteIndex], a ld a, [hl] ld [hUsedSpriteTile], a - callba Function143c8 + callba GetUsedSprite ret ; 170b90 @@ -1532,7 +351,7 @@ Function170cc6: ; 170cc6 ld hl, LZ_1715a4 ld de, wd000 call Decompress - ld de, wMapPals + ld de, UnknBGPals ld hl, VTiles0 lb bc, $6, $53 call Get2bpp @@ -1593,7 +412,7 @@ Function1719ed: ; 1719ed (5c:59ed) call ClearBGPalettes call ClearSprites callba Function171d2b - callba Function104061 + callba ReloadMapPart callba Function8cf53 ret @@ -1604,7 +423,7 @@ Function171a11: ; 171a11 (5c:5a11) jr nz, .asm_171a2c call Function171a36 callba Function8cf69 - callba Function104061 + callba ReloadMapPart jr Function171a11 .asm_171a2c callba Function8cf53 @@ -1760,23 +579,23 @@ Function171b42: ; 171b42 (5c:5b42) jr Function171b42 Function171b4b: ; 171b4b (5c:5b4b) - lb de, $40, $10 - ld a, $1d - call Function3b2a + depixel 8, 2 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct ld hl, $c add hl, bc ld a, $8 ld [hl], a - lb de, $40, $98 - ld a, $1d - call Function3b2a + depixel 8, 19 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct ld hl, $c add hl, bc ld a, $9 ld [hl], a - lb de, $8a, $70 - ld a, $1d - call Function3b2a + depixel 17, 14, 2, 0 + ld a, SPRITE_ANIM_INDEX_1D + call _InitSpriteAnimStruct ld hl, $c add hl, bc ld a, $a @@ -1861,7 +680,7 @@ Function171beb: ; 171beb (5c:5beb) call LoadMenuDataHeader call MenuBox call MenuBoxCoord2Tile - callba Function104061 + callba ReloadMapPart hlcoord 1, 14 ld de, String_171c73 call PlaceString @@ -1957,10 +776,10 @@ Function171ccd: ; 171ccd (5c:5ccd) ld a, $5 ld [rSVBK], a ld hl, Palette_171d71 - ld de, wMapPals + ld de, UnknBGPals ld bc, $40 call CopyBytes - ld hl, MovementAnimation + ld hl, EngineBuffer5 ld a, $ff ld [hli], a ld a, $7f @@ -2120,7 +939,7 @@ Function172eb9: ld a, $5 ld [rSVBK], a ld hl, Palette_172edf - ld de, wMapPals + ld de, UnknBGPals ld bc, $40 call CopyBytes ld hl, Palette_172edf diff --git a/misc/mobile_5f.asm b/misc/mobile_5f.asm index 01a4db77f..19c3748e8 100644 --- a/misc/mobile_5f.asm +++ b/misc/mobile_5f.asm @@ -6,7 +6,7 @@ Function17c000: ; 17c000 call DisableLCD ld hl, VTiles2 - ld bc, $310 + ld bc, $31 tiles xor a call ByteFill @@ -48,11 +48,11 @@ Function17c000: ; 17c000 ld a, [rSVBK] push af - ld a, 5 ; BANK(wMapPals) + ld a, 5 ; BANK(UnknBGPals) ld [rSVBK], a ld hl, HaveWantPals - ld de, wMapPals + ld de, UnknBGPals ld bc, $80 call CopyBytes @@ -61,7 +61,7 @@ Function17c000: ; 17c000 ld hl, MobileSelectGFX ld de, VTiles0 tile $30 - ld bc, $200 + ld bc, $20 tiles call CopyBytes ld a, 1 @@ -69,19 +69,19 @@ Function17c000: ; 17c000 ld hl, HaveWantGFX ld de, VTiles2 - ld bc, $800 + ld bc, $80 tiles call CopyBytes ld hl, HaveWantGFX + $800 ld de, VTiles1 - ld bc, $100 + ld bc, $10 tiles call CopyBytes xor a ld [rVBK], a call EnableLCD - callba Function104061 + callba ReloadMapPart ret ; 17c083 @@ -226,46 +226,48 @@ CheckStringForErrors: ; 17d073 ret ; 17d0b3 -Function17d0b3: ; 17d0b3 -.asm_17d0b3 +CheckStringForErrors_IgnoreTerminator: ; 17d0b3 +; Find control chars +.loop ld a, [de] inc de and a - jr z, .asm_17d0ee - cp $60 - jr nc, .asm_17d0ee - cp $4e - jr z, .asm_17d0ee - cp $50 - jr z, .asm_17d0ee + jr z, .next + cp "<DEXEND>" + 1 + jr nc, .next + cp "<NEXT>" + jr z, .next + cp "@" + jr z, .next + cp $5 - jr c, .asm_17d0ec - cp $14 - jr c, .asm_17d0ee + jr c, .end + cp "<PLAY_G>" + jr c, .next cp $19 - jr c, .asm_17d0ec + jr c, .end cp $1d - jr c, .asm_17d0ee - cp $26 - jr c, .asm_17d0ec + jr c, .next + cp "%" + 1 + jr c, .end cp $35 - jr c, .asm_17d0ee - cp $3a - jr c, .asm_17d0ec - cp $3f - jr c, .asm_17d0ee - cp $40 - jr c, .asm_17d0ec - cp $49 - jr c, .asm_17d0ee - -.asm_17d0ec + jr c, .next + cp "<GREEN>" + 1 + jr c, .end + cp "<ENEMY>" + jr c, .next + cp "<ENEMY>" + 1 + jr c, .end + cp "<MOM>" + jr c, .next + +.end scf ret -.asm_17d0ee +.next dec c - jr nz, .asm_17d0b3 + jr nz, .loop and a ret ; 17d0f3 @@ -303,7 +305,7 @@ Function17d0f3: ; 17d0f3 ld [wd1e9], a ld a, $2 ld [wLinkMode], a - callba Function421d8 + callba EvolvePokemon xor a ld [wLinkMode], a callba Function14a58 @@ -324,7 +326,7 @@ Function17d0f3: ; 17d0f3 ld [de], a .asm_17d180 - call Function2b3c + call ReturnToCallingMenu call RestartMapMusic ret ; 17d187 @@ -380,22 +382,22 @@ Function17d1c9: ; 17d1c9 ret ; 17d1e1 -Function17d1e1: ; 17d1e1 -.asm_17d1e1 +CheckStringContainsLessThanBNextCharacters: ; 17d1e1 +.loop ld a, [de] inc de - cp $4e - jr nz, .asm_17d1ea + cp "<NEXT>" + jr nz, .next_char dec b - jr z, .asm_17d1ef + jr z, .done -.asm_17d1ea +.next_char dec c - jr nz, .asm_17d1e1 + jr nz, .loop and a ret -.asm_17d1ef +.done scf ret ; 17d1f1 @@ -415,7 +417,7 @@ Function17d1f1: ; 17d1f1 ld bc, PARTYMON_STRUCT_LENGTH call AddNTimes predef GetUnownLetter - callab Functionfba18 + callab UpdateUnownDex ld a, [wdef4] and a jr nz, .asm_17d223 @@ -440,18 +442,18 @@ Function17d1f1: ; 17d1f1 Special_Menu_ChallengeExplanationCancel: ; 17d224 ld a, [ScriptVar] and a - jr nz, .asm_17d234 + jr nz, .English ld a, $4 ld [ScriptVar], a ld hl, MenuDataHeader_17d26a ; Japanese Menu, where you can choose 'News' as an option - jr .asm_17d23c + jr .Load_Interpret -.asm_17d234 +.English ld a, $4 ld [ScriptVar], a ld hl, MenuDataHeader_ChallengeExplanationCancel ; English Menu -.asm_17d23c +.Load_Interpret call LoadMenuDataHeader call Function17d246 call WriteBackup @@ -460,25 +462,25 @@ Special_Menu_ChallengeExplanationCancel: ; 17d224 Function17d246: ; 17d246 call InterpretMenu2 - jr c, .asm_17d264 + jr c, .Exit ld a, [ScriptVar] cp $5 - jr nz, .asm_17d25d + jr nz, .UseMenuSelection2 ld a, [MenuSelection2] cp $3 ret z - jr c, .asm_17d25d + jr c, .UseMenuSelection2 dec a - jr .asm_17d260 + jr .LoadToScriptVar -.asm_17d25d +.UseMenuSelection2 ld a, [MenuSelection2] -.asm_17d260 +.LoadToScriptVar ld [ScriptVar], a ret -.asm_17d264 +.Exit ld a, $4 ld [ScriptVar], a ret @@ -494,8 +496,8 @@ MenuDataHeader_17d26a: ; 17d26a MenuData2_17d272: ; 17d272 db $a0 ; flags db 4 - db "ニュース", $1f, "よみこむ@" - db "ニュース", $1f, "みる@" + db "ニュース¯よみこむ@" + db "ニュース¯みる@" db "せつめい@" db "やめる@" ; 17d28f @@ -562,7 +564,7 @@ Function17d2ce: ; 17d2ce ld [MusicFadeIDHi], a call PlayMusic call ReturnToMapFromSubmenu - call Function2b3c + call ReturnToCallingMenu ret ; 17d314 @@ -629,31 +631,31 @@ Function17d370: ; 17d370 call ClearBGPalettes call ClearSprites call ClearScreen - callba Function104061 + callba ReloadMapPart call DisableLCD ld hl, VTiles1 tile $6e ld de, $c608 - ld bc, $0010 + ld bc, 1 tiles call CopyBytes ld a, $1 ld [rVBK], a ld hl, PokemonNewsGFX ld de, VTiles1 - ld bc, $0480 + ld bc, $48 tiles call CopyBytes xor a ld hl, VTiles2 tile $7f - ld bc, $0010 + ld bc, 1 tiles call ByteFill ld hl, $c608 ld de, VTiles1 tile $6e - ld bc, $0010 + ld bc, 1 tiles call CopyBytes xor a ld [rVBK], a ld hl, GFX_17eb7e ld de, VTiles2 tile $60 - ld bc, $0010 + ld bc, 1 tiles call CopyBytes call EnableLCD call Function17d60b @@ -664,7 +666,7 @@ Function17d370: ; 17d370 ld a, $6 call GetSRAMBank ld hl, $a006 - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 call CopyBytes call CloseSRAM @@ -675,27 +677,27 @@ Function17d3f6: ; 17d3f6 call ClearBGPalettes call ClearSprites call ClearScreen - callba Function104061 + callba ReloadMapPart Function17d405: call DisableLCD ld hl, VTiles1 tile $6e ld de, $c608 - ld bc, $0010 + ld bc, 1 tiles call CopyBytes ld a, $1 ld [rVBK], a ld hl, PokemonNewsGFX ld de, VTiles1 - ld bc, $0480 + ld bc, $48 tiles call CopyBytes xor a ld hl, VTiles2 tile $7f - ld bc, $0010 + ld bc, 1 tiles call ByteFill ld hl, $c608 ld de, VTiles1 tile $6e - ld bc, $0010 + ld bc, 1 tiles call CopyBytes xor a ld [rVBK], a @@ -705,7 +707,7 @@ Function17d405: ld a, $5 ld [rSVBK], a ld hl, Palette_17eff6 - ld de, wMapPals + ld de, UnknBGPals ld bc, $0040 call CopyBytes call SetPalettes @@ -721,7 +723,7 @@ Function17d45a: ; 17d45a bit 7, a jr nz, .asm_17d46f call Function17d474 - callba Function104061 + callba ReloadMapPart jr .asm_17d45a .asm_17d46f @@ -935,7 +937,7 @@ endr call Function17e451 call Function17e55b call Function17e5af - callba Function104061 + callba ReloadMapPart jp Function17e438 ; 17d5be @@ -985,7 +987,7 @@ Function17d5f6: ; 17d5f6 ld a, $5 ld [rSVBK], a ld hl, $c608 - ld de, wMapPals + ld de, UnknBGPals ld bc, $0040 call CopyBytes ld a, $4 @@ -1239,7 +1241,7 @@ Function17d78d: ; 17d78d call GetSRAMBank ld hl, $a006 add hl, bc - ld de, wMapPals + ld de, UnknBGPals ld bc, $1000 call CopyBytes call CloseSRAM @@ -1363,7 +1365,7 @@ Function17d85d: ; 17d85d ld a, [hli] ld d, a push hl - ld hl, wMapPals + ld hl, UnknBGPals add hl, de ld de, wcc60 .asm_17d86c @@ -1432,7 +1434,7 @@ Function17d85d: ; 17d85d ld a, $3 ld [rSVBK], a ld hl, $c608 - ld de, wMapPals + ld de, UnknBGPals ld b, $0 call CopyBytes ld a, $4 @@ -1467,7 +1469,7 @@ Function17d902: ; 17d902 call Function17e41e call Function17e32b pop de - ld hl, wMapPals + ld hl, UnknBGPals add hl, de ld de, wcc60 .asm_17d918 @@ -1973,7 +1975,7 @@ MenuData2_17dc96: Function17dc9f: ; 17dc9f call Function17e415 call Function17e41e - call Function4dd + call RotateFourPalettesLeft ret ; 17dca9 @@ -1984,7 +1986,7 @@ Function17dca9: ; 17dca9 Function17dcaf: ld a, $5 ld [rSVBK], a - ld hl, wMapPals + ld hl, UnknBGPals ld de, $0008 ld c, $8 .asm_17dcbb @@ -1997,7 +1999,7 @@ Function17dcaf: add hl, de dec c jr nz, .asm_17dcbb - call FadeToWhite + call RotateThreePalettesRight ld a, $4 ld [rSVBK], a ret @@ -2362,7 +2364,7 @@ Function17ded9: ; 17ded9 push hl push bc predef TryAddMonToParty - callba Function4db49 + callba SetCaughtData pop bc pop hl bit 1, b @@ -2400,7 +2402,7 @@ Function17ded9: ; 17ded9 ld a, [hli] ld b, a push hl - callba SetPartymonCaughtData + callba SetGiftPartyMonCaughtData pop hl pop bc jr .asm_17df5e @@ -2558,7 +2560,7 @@ Function17e026: ; 17e026 push hl callba LoadEnemyMon callba SentPkmnIntoBox - callba Function4db83 + callba SetBoxMonCaughtData pop hl pop bc ld a, BANK(sBoxMonNicknames) @@ -2587,7 +2589,7 @@ Function17e026: ; 17e026 ld b, a push hl call CloseSRAM - callba SetBoxMonCaughtData + callba SetGiftBoxMonCaughtData ld a, $1 call GetSRAMBank pop hl @@ -3111,7 +3113,7 @@ Function17e3ac: ; 17e3ac push af ld a, $1 ld [rSVBK], a - callba Function14e13 + callba SaveChecksum pop af ld [rSVBK], a ret @@ -3165,7 +3167,7 @@ Function17e409: ; 17e409 ; 17e40f Function17e40f: ; 17e40f - ld de, wMapPals + ld de, UnknBGPals add hl, de jr Function17e41e @@ -4419,7 +4421,7 @@ endr ld e, a ld a, [hli] ld d, a - ld hl, wMapPals + ld hl, UnknBGPals add hl, de ld e, l ld d, h @@ -4674,7 +4676,7 @@ Function17f53d: ; 17f53d call Function17f555 pop af ld [rSVBK], a - call Function2b4d + call ExitAllMenus ret ; 17f555 diff --git a/misc/unused_title.asm b/misc/unused_title.asm index 143994d9a..a74a376a3 100644 --- a/misc/unused_title.asm +++ b/misc/unused_title.asm @@ -31,7 +31,7 @@ endr call CopyBytes ld hl, UnusedTitleBG_Tilemap - ld de, VBGMap0 + debgcoord 0, 0 ld bc, 32 * 32 .copy ld a, 0 @@ -67,12 +67,12 @@ endr ld [rSVBK], a ld hl, UnusedTitleBG_Palettes - ld de, wMapPals + ld de, UnknBGPals ld bc, $40 call CopyBytes ld hl, UnusedTitleFG_Palettes - ld de, Unkn2Pals + ld de, UnknOBPals ld bc, $40 call CopyBytes |