ref: 3d2f30deb3e11a3fd405dad07baab19daa756ca0
dir: /misc/mobile_5b.asm/
Function16c000: ; 16c000 ld a, [hCGB] and a ret z ld a, [hFFEA] and a ret z ld a, [wcfbe] push af set 7, a ld [wcfbe], a call Function16c108 callba Function100063 callba Function100082 call Function16c031 callba Function1000a4 xor a ld [hFFEA], a pop af ld [wcfbe], a ret ; 16c031 Function16c031: ; 16c031 xor a ld [wJumptableIndex], a ld [wcf64], a ld [wd002], a ld [wd003], a .asm_16c03e call DelayFrame callba Function10635c ld a, [wd002] ld hl, Jumptable_16c05c rst JumpTable call Function16cb2e call Function16cbae ld a, [wd002] cp $ff jr nz, .asm_16c03e ret ; 16c05c Jumptable_16c05c: ; 16c05c dw Function16c074 dw Function16c0ba dw Function16c089 dw Function16c09e dw Function16c0a8 dw Function16c0dc dw Function16c0ec dw Function16c0ba dw Function16c0ca dw Function16c0dc dw Function16c0ec dw Function16c081 ; 16c074 Function16c074: ; 16c074 ld a, [wcf64] and a ret z ld [wd002], a xor a ld [wd003], a ret ; 16c081 Function16c081: ; 16c081 push af ld a, $ff ld [wd002], a pop af ret ; 16c089 Function16c089: ; 16c089 ld a, $1 ld [Buffer2], a ld [wd1f1], a xor a ld [hWY], a call Function16c0fa ld a, [wd002] ld [wcf64], a ret ; 16c09e Function16c09e: ; 16c09e ld a, [wcf64] cp $4 ret nz call Function16c0fa ret ; 16c0a8 Function16c0a8: ; 16c0a8 xor a ld [Buffer2], a ld [wd1f1], a call ClearSprites ld a, $90 ld [hWY], a call Function16c0fa ret ; 16c0ba Function16c0ba: ; 16c0ba call Function16c943 push af ld a, [wd003] inc a ld [wd003], a pop af call c, Function16c0fa ret ; 16c0ca Function16c0ca: ; 16c0ca ld a, [wd003] cp $28 push af ld a, [wd003] inc a ld [wd003], a pop af call z, Function16c0fa ret ; 16c0dc Function16c0dc: ; 16c0dc call Function16ca11 push af ld a, [wd003] inc a ld [wd003], a pop af call c, Function16c0fa ret ; 16c0ec Function16c0ec: ; 16c0ec call ClearBGPalettes call ClearScreen push af ld a, $ff ld [wd002], a pop af ret ; 16c0fa Function16c0fa: ; 16c0fa push af ld a, [wd002] inc a ld [wd002], a xor a ld [wd003], a pop af ret ; 16c108 Function16c108: ; 16c108 call DisableLCD ld hl, VTiles2 ld de, GFX_16c173 lb bc, BANK(GFX_16c173), $68 call Get2bpp call Function16c130 call Function16c145 call Function16c15c hlbgcoord 0, 0 call Function16cc73 call Function16cc02 xor a ld [hBGMapMode], a call EnableLCD ret ; 16c130 Function16c130: ; 16c130 ld de, UnknBGPals ld hl, Unknown_16c903 ld bc, 8 ld a, $5 call FarCopyWRAM callba ApplyPals ret ; 16c145 Function16c145: ; 16c145 hlcoord 0, 0 ld bc, 20 xor a call ByteFill ld hl, Tilemap_16c633 decoord 0, 1 ld bc, $0154 call CopyBytes ret ; 16c15c Function16c15c: ; 16c15c hlcoord 0, 0, AttrMap ld bc, SCREEN_WIDTH xor a call ByteFill ld hl, Tilemap_16c79b decoord 0, 1, AttrMap ld bc, 17 * SCREEN_WIDTH call CopyBytes ret ; 16c173 GFX_16c173: INCBIN "gfx/unknown/16c173.2bpp" Tilemap_16c633: INCBIN "gfx/unknown/16c633.tilemap" Tilemap_16c79b: INCBIN "gfx/unknown/16c79b.tilemap" Unknown_16c903: RGB 31, 31, 31 RGB 04, 10, 20 RGB 16, 19, 25 RGB 25, 27, 29 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 ; 16c943 Function16c943: ; 16c943 ld a, [wd003] and a jr nz, .asm_16c95e ld a, [rSVBK] push af ld a, $5 ld [rSVBK], a ld a, $ff ld bc, $0008 ld hl, UnknBGPals call ByteFill pop af ld [rSVBK], a .asm_16c95e ld a, [rSVBK] push af ld a, $5 ld [rSVBK], a ld e, $0 ld a, $0 .asm_16c969 ld hl, Unknown_16c903 call Function16cab6 call Function16cabb ld d, a ld hl, UnknBGPals call Function16cab6 call Function16cabb cp d jr z, .asm_16c991 ld b, $1 .asm_16c981 dec a cp d jr z, .asm_16c988 dec b jr nz, .asm_16c981 .asm_16c988 ld hl, UnknBGPals call Function16cab6 call Function16cadc .asm_16c991 ld hl, Unknown_16c903 call Function16cab6 call Function16cad8 ld d, a ld hl, UnknBGPals call Function16cab6 call Function16cad8 cp d jr z, .asm_16c9b9 ld b, $1 .asm_16c9a9 dec a cp d jr z, .asm_16c9b0 dec b jr nz, .asm_16c9a9 .asm_16c9b0 ld hl, UnknBGPals call Function16cab6 call Function16cb08 .asm_16c9b9 ld hl, Unknown_16c903 call Function16cab6 call Function16cac4 ld d, a ld hl, UnknBGPals call Function16cab6 call Function16cac4 cp d jr z, .asm_16c9e1 ld b, $1 .asm_16c9d1 dec a cp d jr z, .asm_16c9d8 dec b jr nz, .asm_16c9d1 .asm_16c9d8 ld hl, UnknBGPals call Function16cab6 call Function16cae8 .asm_16c9e1 rept 2 inc e endr ld a, e cp $8 jr nz, .asm_16c969 callba ApplyPals call SetPalettes ld a, [rSVBK] push af ld a, $1 ld [rSVBK], a ld a, [wd003] cp $1f jr z, .asm_16ca09 pop af ld [rSVBK], a ld e, $0 pop af ld [rSVBK], a and a ret .asm_16ca09 pop af ld [rSVBK], a pop af ld [rSVBK], a scf ret ; 16ca11 Function16ca11: ; 16ca11 ld a, [wd003] and a jr nz, .asm_16ca1d callba ApplyPals .asm_16ca1d ld a, [rSVBK] push af ld a, $5 ld [rSVBK], a ld e, $0 ld a, $0 .asm_16ca28 ld hl, UnknBGPals call Function16cab6 call Function16cabb cp $1f jr z, .asm_16ca48 ld b, $1 .asm_16ca37 inc a cp $1f jr z, .asm_16ca3f dec b jr nz, .asm_16ca37 .asm_16ca3f ld hl, UnknBGPals call Function16cab6 call Function16cadc .asm_16ca48 ld hl, UnknBGPals call Function16cab6 call Function16cad8 cp $1f jr z, .asm_16ca68 ld b, $1 .asm_16ca57 inc a cp $1f jr z, .asm_16ca5f dec b jr nz, .asm_16ca57 .asm_16ca5f ld hl, UnknBGPals call Function16cab6 call Function16cb08 .asm_16ca68 ld hl, UnknBGPals call Function16cab6 call Function16cac4 cp $1f jr z, .asm_16ca88 ld b, $1 .asm_16ca77 inc a cp $1f jr z, .asm_16ca7f dec b jr nz, .asm_16ca77 .asm_16ca7f ld hl, UnknBGPals call Function16cab6 call Function16cae8 .asm_16ca88 rept 2 inc e endr ld a, e cp $8 jr nz, .asm_16ca28 callba ApplyPals call SetPalettes ld a, [rSVBK] push af ld a, $1 ld [rSVBK], a ld a, [wd003] cp $1f jr z, .asm_16caae pop af ld [rSVBK], a pop af ld [rSVBK], a and a ret .asm_16caae pop af ld [rSVBK], a pop af ld [rSVBK], a scf ret ; 16cab6 Function16cab6: ; 16cab6 ld b, $0 ld c, e add hl, bc ret ; 16cabb Function16cabb: ; 16cabb inc hl ld a, [hl] srl a srl a and $1f ret ; 16cac4 Function16cac4: ; 16cac4 inc hl ld a, [hld] and $3 ld b, a ld a, [hl] sla a rl b sla a rl b sla a rl b ld a, b ret ; 16cad8 Function16cad8: ; 16cad8 ld a, [hl] and $1f ret ; 16cadc Function16cadc: ; 16cadc sla a sla a ld b, a inc hl ld a, [hl] and $83 or b ld [hl], a ret ; 16cae8 Function16cae8: ; 16cae8 ld c, a srl a srl a srl a ld b, a inc hl ld a, [hl] and $fc or b ld [hld], a ld a, c sla a sla a sla a sla a sla a ld b, a ld a, [hl] and $1f or b ld [hl], a ret ; 16cb08 Function16cb08: ; 16cb08 ld b, a ld a, [hl] and $e0 or b ld [hl], a ret ; 16cb0f Function16cb0f: ; 16cb0f xor a ld [Buffer1], a ld [Buffer2], a xor a ld [wd1ec], a ld a, $70 ld [wd1ee], a ld a, $4 ld [wd1ed], a ld a, $a0 ld [wd1ef], a xor a ld [wd1f0], a ret ; 16cb2e Function16cb2e: ; 16cb2e ld a, [Buffer2] and a ret z call Function16cb40 ld hl, Unknown_16cb86 ld de, Sprites call Function16cb5d ret ; 16cb40 Function16cb40: ; 16cb40 ld hl, wd1ec inc [hl] ld a, [hl] cp $18 ret c xor a ld [hl], a ld a, [wd1ef] cp $a0 jr nz, .asm_16cb57 ld a, $a7 ld [wd1ef], a ret .asm_16cb57 ld a, $a0 ld [wd1ef], a ret ; 16cb5d Function16cb5d: ; 16cb5d ld a, [hli] and a ret z .asm_16cb60 push af ld a, [wd1ee] add [hl] add $10 ld [de], a inc hl inc de ld a, [wd1ed] add [hl] add $8 ld [de], a inc hl inc de ld a, [wd1ef] add [hl] ld [de], a inc hl inc de ld a, [wd1f0] or [hl] ld [de], a inc hl inc de pop af dec a jr nz, .asm_16cb60 ret ; 16cb86 Unknown_16cb86: db 7 db 0, 0, 0, 1 db 8, 0, 1, 1 db 8, 8, 2, 0 db 8, 16, 3, 0 db 16, 0, 4, 1 db 16, 8, 5, 0 db 16, 16, 6, 0 ; 16cba3 Function16cba3: ; 16cba3 xor a ld [wd1f1], a ld [wd1f2], a ld [wd1f3], a ret ; 16cbae Function16cbae: ; 16cbae ld a, [wd1f1] and a ret z call Function16cbba call Function16cbd1 ret ; 16cbba Function16cbba: ; 16cbba ld hl, wd1f2 inc [hl] ld a, [hl] cp $c ret c xor a ld [hl], a ld a, [wd1f3] inc a cp $4 jr c, .asm_16cbcd xor a .asm_16cbcd ld [wd1f3], a ret ; 16cbd1 Function16cbd1: ; 16cbd1 ld a, [wd1f3] ld c, a ld b, 0 ld hl, Unknown_16cbfb add hl, bc ld a, [hl] ld bc, 2 ld hl, Unknown_16cfa3 call AddNTimes ld de, UnknBGPals + 1 palettes + 4 ld bc, 2 ld a, $5 call FarCopyWRAM callba ApplyPals ld a, $1 ld [hCGBPalUpdate], a ret ; 16cbfb Unknown_16cbfb: db 0, 1, 2, 1, 0, 1, 2 ; 16cc02 Function16cc02: ; 16cc02 call Function16cc18 call Function16cc49 call Function16cc62 call Function16cc25 call Function16cc6e call Function16cb0f call Function16cba3 ret ; 16cc18 Function16cc18: ; 16cc18 ld hl, VTiles1 ld de, GFX_16cca3 lb bc, BANK(GFX_16cca3), $2e call Get2bpp ret ; 16cc25 Function16cc25: ; 16cc25 ld hl, Unknown_16cfa9 ld de, UnknBGPals + 1 palettes call .CopyPal ld hl, Unknown_16cfb1 ld de, UnknOBPals call .CopyPal ld hl, Unknown_16cfb9 ld de, UnknOBPals + 1 palettes call .CopyPal ret ; 16cc41 .CopyPal: ; 16cc41 ld bc, 1 palettes ld a, $5 jp FarCopyWRAM ; 16cc49 Function16cc49: ; 16cc49 hlcoord 4, 15 ld a, $80 call Function16cc5a hlcoord 4, 16 ld a, $90 call Function16cc5a ret ; 16cc5a Function16cc5a: ; 16cc5a ld c, $10 .asm_16cc5c ld [hli], a inc a dec c jr nz, .asm_16cc5c ret ; 16cc62 Function16cc62: ; 16cc62 hlcoord 0, 15, AttrMap ld bc, $0028 ld a, $1 call ByteFill ret ; 16cc6e Function16cc6e: ; 16cc6e hlbgcoord 0, 0, VBGMap1 jr Function16cc73 Function16cc73: ld a, [rVBK] push af ld a, $0 ld [rVBK], a push hl decoord 0, 0 call Function16cc90 pop hl ld a, $1 ld [rVBK], a decoord 0, 0, AttrMap call Function16cc90 pop af ld [rVBK], a ret ; 16cc90 Function16cc90: ; 16cc90 ld bc, $1214 .asm_16cc93 push bc .asm_16cc94 ld a, [de] inc de ld [hli], a dec c jr nz, .asm_16cc94 ld bc, $000c add hl, bc pop bc dec b jr nz, .asm_16cc93 ret ; 16cca3 GFX_16cca3: INCBIN "gfx/unknown/16cca3.2bpp" Unknown_16cfa3: RGB 31, 31, 31 RGB 25, 27, 29 RGB 16, 19, 25 Unknown_16cfa9: RGB 31, 31, 31 RGB 25, 27, 29 RGB 31, 31, 31 RGB 07, 07, 07 Unknown_16cfb1: RGB 31, 31, 31 RGB 13, 09, 18 RGB 26, 21, 16 RGB 07, 07, 07 Unknown_16cfb9: RGB 31, 31, 31 RGB 18, 05, 02 RGB 27, 11, 12 RGB 07, 07, 07 ; 16cfc1