diff options
author | yenatch <yenatch@gmail.com> | 2015-02-10 19:15:15 -0800 |
---|---|---|
committer | yenatch <yenatch@gmail.com> | 2015-02-10 19:15:15 -0800 |
commit | 6ff7b7413c0e88efe26d88bd9f9055ba3baf342e (patch) | |
tree | b2c8f49d7762935d13f4dfbc40f50fed83894d7d /misc/mobile_42.asm | |
parent | b22a3347939a040ca3dc85c60c1cf6313c984add (diff) |
Split 40k lines of mobile noise out of main.asm.
Diffstat (limited to 'misc/mobile_42.asm')
-rw-r--r-- | misc/mobile_42.asm | 1947 |
1 files changed, 1947 insertions, 0 deletions
diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm new file mode 100644 index 000000000..310ceb622 --- /dev/null +++ b/misc/mobile_42.asm @@ -0,0 +1,1947 @@ + +SECTION "bank42", ROMX, BANK[$42] + +Function108000: ; 108000 + ld a, $80 + ld [wcf65], a + ld de, Unknown_10800b + jp Function108089 +; 10800b + +Unknown_10800b: +INCBIN "baserom.gbc", $10800b, $108012 - $10800b + +Function108012: + ld a, $80 + jr asm_108018 + +Function108016: ; 108016 + ld a, $0 +asm_108018: + ld [wcf65], a + ld de, Unknown_108021 + jp Function108089 +; 108021 + +Unknown_108021: +INCBIN "baserom.gbc", $108021, $108026 - $108021 + +Function108026: ; 108026 + ld a, $0 + jr asm_10802c + +Function10802a: ; 10802a + ld a, $1 + +asm_10802c: + ld [wcf65], a + ld de, Unknown_108035 + jp Function10805b +; 108035 + +Unknown_108035: +INCBIN "baserom.gbc", $108035, $10803d - $108035 + +Function10803d: ; 10803d + ld a, $0 + ld [wcf65], a + ld de, Unknown_108048 + jp Function108089 +; 108048 + +Unknown_108048: +INCBIN "baserom.gbc", $108048, $10804d - $108048 + +Function10804d: ; 10804d + ld a, $0 + ld [wcf65], a + ld de, Unknown_108058 + jp Function108089 +; 108058 + +Unknown_108058: +INCBIN "baserom.gbc", $108058, $10805b - $108058 + +Function10805b: ; 10805b + ld hl, wc734 + ld [hl], e + inc hl + ld [hl], d + ld a, [$ffde] + push af + xor a + ld [$ffde], a + ld hl, VramState + ld a, [hl] + push af + res 0, [hl] + ld hl, Options + ld a, [hl] + push af + set 4, [hl] + call Function1080b7 +.asm_108078 + call Function10824b + jr nc, .asm_108078 + pop af + ld [Options], a + pop af + ld [VramState], a + pop af + ld [$ffde], a + ret +; 108089 + +Function108089: ; 108089 + ld hl, BattleEnded + ld [hl], e + inc hl + ld [hl], d + ld a, [$ffde] + push af + xor a + ld [$ffde], a + ld hl, VramState + ld a, [hl] + push af + res 0, [hl] + ld hl, Options + ld a, [hl] + push af + set 4, [hl] + call Function108157 +.asm_1080a6 + call Function10824b + jr nc, .asm_1080a6 + pop af + ld [Options], a + pop af + ld [VramState], a + pop af + ld [$ffde], a + ret +; 1080b7 + +Function1080b7: ; 1080b7 + xor a + ld [wcf63], a + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ad + call Function1081ca + call Functione51 + call Functione58 + ld a, $1 + ld [rVBK], a + ld hl, LZ_108da7 + ld de, VTiles2 + call Decompress + ld a, $0 + ld [rVBK], a + ld hl, LZ_108d27 + ld de, $8200 + call Decompress + call EnableLCD + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + callba Function8cf53 + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, $8060 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + xor a + ld hl, wc300 + ld [hli], a + ld [hl], $0 + ld a, [$c6d0] + ld hl, $c6fd + ld de, $8300 + call Function1081e9 + ld a, [wc702] + ld hl, wc72f + ld de, $9310 + call Function1081e9 + ld a, [$c6d0] + ld de, $c6d1 + call Function108239 + ld a, [wc702] + ld de, wc703 + call Function108239 + xor a + call Function108b98 + call Function108af4 + ret +; 108157 + +Function108157: ; 108157 + xor a + ld [wcf63], a + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ad + call Function1081ca + call Functione51 + call Functione58 + call EnableLCD + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + callba Function8cf53 + xor a + ld hl, wc300 + ld [hli], a + ld [hl], $0 + call DelayFrame + ld a, [$c6d0] + ld de, $c6d1 + call Function108239 + ld a, [wc702] + ld de, wc703 + call Function108239 + xor a + call Function108b98 + call Function108af4 + ret +; 1081ad + +Function1081ad: ; 1081ad + ld a, $1 + ld [rVBK], a + ld hl, VTiles0 + ld bc, $1800 + xor a + call ByteFill + ld a, $0 + ld [rVBK], a + ld hl, VTiles0 + ld bc, $1800 + xor a + call ByteFill + ret +; 1081ca + +Function1081ca: ; 1081ca + ld a, $1 + ld [rVBK], a + ld hl, VBGMap0 + ld bc, $0800 + ld a, $0 + call ByteFill + ld a, $0 + ld [rVBK], a + ld hl, VBGMap0 + ld bc, $0800 + ld a, $7f + call ByteFill + ret +; 1081e9 + +Function1081e9: ; 1081e9 + push de + push af + predef GetUnownLetter + pop af + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + pop de + predef GetFrontpic + ret +; 108201 + +Function108201: ; 108201 + push de + push af + predef GetUnownLetter + pop af + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + pop de + predef Function5108b + ret +; 108219 + +Function108219: ; 108219 + ld [CurPartySpecies], a + hlcoord 7, 2 + ld d, $0 + ld e, $3 + predef Functiond008e + ret +; 108229 + +Function108229: ; 108229 + ld [CurPartySpecies], a + hlcoord 7, 2 + ld d, $0 + ld e, $3 + predef Functiond00a3 + ret +; 108239 + +Function108239: ; 108239 + push de + ld [wd265], a + call GetPokemonName + ld hl, StringBuffer1 + pop de + ld bc, $000b + call CopyBytes + ret +; 10824b + +Function10824b: ; 10824b + ld a, [wcf63] + bit 7, a + jr nz, .asm_10825a + call Function10827b + call DelayFrame + and a + ret + +.asm_10825a + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + call Functione51 + call Functione58 + callba Function106462 + callba Function106464 + scf + ret +; 10827b + +Function10827b: ; 10827b + ld a, [wcf63] + ld e, a + ld d, 0 + ld hl, Jumptable_10828a + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] +; 10828a + +Jumptable_10828a: ; 10828a + dw Function1082b7 + dw Function10830e + dw Function108638 + dw Function108763 + dw Function1087cf + dw Function108811 + dw Function108838 + dw Function10884c + dw Function108863 + dw Function108894 + dw Function10890a + dw Function10839b + dw Function1082c6 + dw Function10842c + dw Function1084d7 + dw Function108919 + dw Function108689 + dw Function1086f4 + dw Function10893d + dw Function108589 +; 1082b2 + +Function1082b2: ; 1082b2 + ld hl, wcf63 + inc [hl] + ret +; 1082b7 + +Function1082b7: ; 1082b7 + ld hl, wc734 + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + ld [wcf63], a + inc de + ld [hl], d + dec hl + ld [hl], e + ret +; 1082c6 + +Function1082c6: ; 1082c6 + ld hl, wcf63 + set 7, [hl] + ret +; 1082cc + +Function1082cc: ; 1082cc +.asm_1082cc + push bc + callba Function8cf69 + pop bc + call DelayFrame + dec c + jr nz, .asm_1082cc + ret +; 1082db + +Function1082db: ; 1082db +.asm_1082db + callba Function8cf69 + callba Functiond00b4 + callba Function10402d + jr nc, .asm_1082db + ret +; 1082f0 + +Function1082f0: ; 1082f0 +.asm_1082f0 + call Function108b78 + call DelayFrame + dec c + jr nz, .asm_1082f0 + ret +; 1082fa + +Function1082fa: ; 1082fa +.asm_1082fa + call Function108b78 + push hl + push bc + callba Function8cf69 + pop bc + pop hl + call DelayFrame + dec c + jr nz, .asm_1082fa + ret +; 10830e + +Function10830e: ; 10830e + ld de, MUSIC_EVOLUTION + call PlayMusic2 + ld a, $80 + ld [hSCX], a + xor a + ld [hSCY], a + ld a, $87 + ld [hWX], a + ld a, $50 + ld [hWY], a + call Function1089a8 + ld a, [$c6d0] + ld [CurPartySpecies], a + call Function10895e + ld a, [$c6fd] + ld [TempMonDVs], a + ld a, [$c6fe] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + call WaitBGMap +.asm_108348 + ld a, [hWX] + cp $7 + jr z, .asm_10835d + sub $4 + ld [hWX], a + ld a, [hSCX] + sub $4 + ld [hSCX], a + call DelayFrame + jr .asm_108348 + +.asm_10835d + ld a, $7 + ld [hWX], a + xor a + ld [hSCX], a + ld a, [$c6d0] + call GetCryIndex + jr c, .asm_108371 + ld e, c + ld d, b + call PlayCryHeader + +.asm_108371 + ld c, $50 + call DelayFrames + call Function108bec + lb de, $54, $58 + ld a, $20 + call Function3b2a + ld de, SFX_BALL_POOF + call PlaySFX + ld hl, TileMap + ld bc, $00f0 + ld a, $7f + call ByteFill + ld c, $50 + call Function1082cc + call Function1082b7 + ret +; 10839b + +Function10839b: ; 10839b + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ca + ld a, [wc702] + ld [CurPartySpecies], a + ld hl, wc72f + ld de, VTiles2 + call Function108201 + call EnableLCD + callba Function8d03d + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + lb de, $54, $58 + ld a, $21 + call Function3b2a + call Function108b45 + ld a, $1 + call Function108b98 + call Function108af4 + ld c, $30 + call Function1082cc + ld de, SFX_BALL_POOF + call PlaySFX + call Function1089d2 + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + ld a, [wc702] + ld [CurPartySpecies], a + ld a, [wc72f] + ld [TempMonDVs], a + ld a, [wc730] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + call Function108963 + ld a, [wc702] + call Function108229 + call Function1082db + call Function108c16 + call Function1082b7 + ret +; 10842c + +Function10842c: ; 10842c + ld de, MUSIC_EVOLUTION + call PlayMusic2 + ld a, $80 + ld [hSCX], a + xor a + ld [hSCY], a + ld a, $87 + ld [hWX], a + ld a, $50 + ld [hWY], a + call Function1089a8 + ld a, [$c6d0] + ld [CurPartySpecies], a + ld hl, $c6fd + call Function10898a + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, $8060 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + ld a, [$c6fd] + ld [TempMonDVs], a + ld a, [$c6fe] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + call WaitBGMap +.asm_108484 + ld a, [hWX] + cp $7 + jr z, .asm_108499 + sub $4 + ld [hWX], a + ld a, [hSCX] + sub $4 + ld [hSCX], a + call DelayFrame + jr .asm_108484 + +.asm_108499 + ld a, $7 + ld [hWX], a + xor a + ld [hSCX], a + ld a, [$c6d0] + call GetCryIndex + jr c, .asm_1084ad + ld e, c + ld d, b + call PlayCryHeader + +.asm_1084ad + ld c, $50 + call DelayFrames + call Function108c2b + lb de, $54, $58 + ld a, $20 + call Function3b2a + ld de, SFX_BALL_POOF + call PlaySFX + ld hl, TileMap + ld bc, $00f0 + ld a, $7f + call ByteFill + ld c, $50 + call Function1082cc + call Function1082b7 + ret +; 1084d7 + +Function1084d7: ; 1084d7 + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ca + ld a, [wc702] + ld [CurPartySpecies], a + ld hl, wc72f + ld de, VTiles2 + call Function108201 + call EnableLCD + callba Function8d03d + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, $8060 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + lb de, $54, $58 + ld a, $21 + call Function3b2a + call Function108b45 + ld a, $1 + call Function108b98 + call Function108af4 + ld c, $30 + call Function1082cc + ld de, SFX_BALL_POOF + call PlaySFX + call Function1089d2 + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + ld a, [wc702] + ld [CurPartySpecies], a + ld a, [wc72f] + ld [TempMonDVs], a + ld a, [wc730] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + ld a, [wc702] + ld hl, wc72f + call Function10898a + ld a, [wc702] + call Function108229 + call Function1082db + call Function108c40 + call Function1082b7 + ret +; 108589 + +Function108589: ; 108589 + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ca + ld a, [wc702] + ld [CurPartySpecies], a + ld hl, wc72f + ld de, VTiles2 + call Function108201 + call EnableLCD + callba Function8d03d + call DelayFrame + ld de, TradeBallGFX + ld hl, VTiles0 + lb bc, BANK(TradeBallGFX), $06 + call Request2bpp + ld de, TradePoofGFX + ld hl, $8060 + lb bc, BANK(TradePoofGFX), $0c + call Request2bpp + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + lb de, $54, $58 + ld a, $21 + call Function3b2a + call Function108b45 + ld a, $1 + call Function108b98 + call Function108af4 + ld c, $30 + call Function1082cc + ld de, SFX_BALL_POOF + call PlaySFX + call Function108a33 + xor a + ld [hSCX], a + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $50 + ld [hWY], a + ld a, [wc702] + ld [CurPartySpecies], a + ld a, [wc72f] + ld [TempMonDVs], a + ld a, [wc730] + ld [TempMonDVs + 1], a + ld b, $1a + call GetSGBLayout + ld a, $e4 + call DmgToCgbBGPals + ld a, [wc702] + ld hl, wc72f + call Function10898a + ld a, [wc702] + call Function108229 + call Function1082db + call Function1082b7 + ret +; 108638 + +Function108638: ; 108638 + callba Function8d03d + call WhiteBGMap + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + call DisableLCD + call Function1081ca + call Function108c80 + call Function108c6d + call EnableLCD + ld a, $c + ld [hSCX], a + ld a, $78 + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_109107 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + call Function108d07 + call Function108af4 + call Function1082b7 + ret +; 108689 + +Function108689: ; 108689 + callba Function8d03d + call WhiteBGMap + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + call DisableLCD + call Function1081ca + ld a, $1 + ld [rVBK], a + ld hl, LZ_108da7 + ld de, VTiles2 + call Decompress + ld a, $0 + ld [rVBK], a + ld hl, LZ_108d27 + ld de, $8200 + call Decompress + call Function108c80 + call Function108c6d + call EnableLCD + ld a, $c + ld [hSCX], a + ld a, $78 + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_109107 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + call Function108d07 + call Function108af4 + call Function1082b7 + ret +; 1086f4 + +Function1086f4: ; 1086f4 + call WhiteBGMap + call ClearSprites + call ClearTileMap + xor a + ld [hBGMapMode], a + call DisableLCD + ld a, $1 + ld [rVBK], a + ld hl, LZ_108da7 + ld de, VTiles2 + call Decompress + ld a, $0 + ld [rVBK], a + ld hl, LZ_108d27 + ld de, $8200 + call Decompress + call Function108c80 + call Function108c6d + call EnableLCD + ld a, $80 + ld [hSCX], a + ld a, $90 + ld [hSCY], a + ld a, $7 + ld [hWX], a + ld a, $90 + ld [hWY], a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, Palette_109107 + ld de, Unkn1Pals + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + call Function108d07 + call Function108af4 + call Function108b5a + ld a, $e0 + ld [hSCX], a + ld de, MUSIC_EVOLUTION + call PlayMusic2 + call Function1082b7 + ret +; 108763 + +Function108763: ; 108763 + ld de, SFX_GIVE_TRADEMON + call PlaySFX + ld c, $28 + ld hl, $d0b0 + call Function1082f0 + call Function108af4 +.asm_108774 + ld a, [hSCX] + cp $e0 + jr z, .asm_108791 + dec a + dec a + ld [hSCX], a + cp $f8 + jr nz, .asm_10878a + lb de, $54, $58 + ld a, $22 + call Function3b2a + +.asm_10878a + ld c, $1 + call Function1082cc + jr .asm_108774 + +.asm_108791 + ld a, [hSCY] + cp $f8 + jr z, .asm_1087cb + dec a + dec a + ld [hSCY], a + cp $40 + jr z, .asm_1087a9 + cp $30 + jr z, .asm_1087b7 + cp $68 + jr z, .asm_1087bc + jr .asm_1087c4 + +.asm_1087a9 + lb de, $54, $58 + ld a, $22 + call Function3b2a + xor a + call Function108ad4 + jr .asm_1087c4 + +.asm_1087b7 + call Function108bbd + jr .asm_1087c4 + +.asm_1087bc + call Function108bbd + ld a, $1 + call Function108ad4 + +.asm_1087c4 + ld c, $1 + call Function1082cc + jr .asm_108791 + +.asm_1087cb + call Function1082b2 + ret +; 1087cf + +Function1087cf: ; 1087cf + ld c, $28 + ld hl, StringBuffer2 + 2 + call Function1082f0 + call Function108af4 + call Function108b5a + lb de, $4a, $50 + ld a, $25 + call Function3b2a + 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 +.asm_1087fc + ld a, [hSCY] + cp $90 + jr z, .asm_10880d + sub $8 + ld [hSCY], a + ld c, $1 + call Function1082cc + jr .asm_1087fc + +.asm_10880d + call Function1082b7 + ret +; 108811 + +Function108811: ; 108811 + ld c, $28 + call Function1082cc + ld a, $1 + ld [wcf64], a + ld de, SFX_SHARPEN + call PlaySFX + ld c, $3c + call Function1082cc + lb de, $f2, $50 + ld a, $24 + call Function3b2a + call Function1082b7 + ld de, SFX_THROW_BALL + call PlaySFX + ret +; 108838 + +Function108838: ; 108838 + ld c, $28 + call Function1082cc + ld a, $1 + ld [wcf64], a + ld de, SFX_SHARPEN + call PlaySFX + call Function1082b7 + ret +; 10884c + +Function10884c: ; 10884c + ld c, $50 + call DelayFrames + lb de, $f2, $50 + ld a, $24 + call Function3b2a + call Function1082b7 + ld de, SFX_THROW_BALL + call PlaySFX + ret +; 108863 + +Function108863: ; 108863 + ld c, $28 + call Function1082cc +.asm_108868 + ld a, [hSCY] + cp $f8 + jr z, .asm_108879 + add $8 + ld [hSCY], a + ld c, $1 + call Function1082cc + jr .asm_108868 + +.asm_108879 + callba Function8d03d + lb de, $4a, $50 + ld a, $25 + call Function3b2a + ld de, SFX_GLASS_TING_2 + call PlaySFX + call Function108af4 + call Function1082b2 + ret +; 108894 + +Function108894: ; 108894 + ld c, $14 + ld hl, StringBuffer2 + 2 + call Function1082fa + ld de, SFX_GIVE_TRADEMON + call PlaySFX + ld c, $14 + ld hl, StringBuffer2 + 2 + call Function1082fa + call Function108af4 +.asm_1088ad + ld a, [hSCY] + cp $78 + jr z, .asm_1088ee + inc a + inc a + ld [hSCY], a + cp $30 + jr z, .asm_1088c5 + cp $40 + jr z, .asm_1088dd + cp $68 + jr z, .asm_1088cf + jr .asm_1088e7 + +.asm_1088c5 + lb de, $54, $58 + ld a, $22 + call Function3b2a + jr .asm_1088e7 + +.asm_1088cf + lb de, $54, $58 + ld a, $22 + call Function3b2a + xor a + call Function108ad4 + jr .asm_1088e7 + +.asm_1088dd + call Function108bbd + ld a, $1 + call Function108ad4 + jr .asm_1088e7 + +.asm_1088e7 + ld c, $1 + call Function1082cc + jr .asm_1088ad + +.asm_1088ee + ld a, [hSCX] + cp $c + jr z, .asm_108906 + inc a + inc a + ld [hSCX], a + cp $f8 + jr nz, .asm_1088e7 + call Function108bbd + ld c, $1 + call Function1082cc + jr .asm_1088ee + +.asm_108906 + call Function1082b2 + ret +; 10890a + +Function10890a: ; 10890a + ld c, $28 + ld hl, $d0b0 + call Function1082f0 + call Function108af4 + call Function1082b7 + ret +; 108919 + +Function108919: ; 108919 + ld c, $28 + call Function1082cc + callba Function8d03d + call WhiteBGMap + call ClearSprites + call ClearTileMap + call DisableLCD + call Function1081ad + call Function1081ca + call EnableLCD + call Function1082b7 + ret +; 10893d + +Function10893d: ; 10893d +.asm_10893d + ld a, [rBGP] + and a + jr z, .asm_108953 + sla a + sla a + call DmgToCgbBGPals + call Functioncf8 + ld c, $4 + call DelayFrames + jr .asm_10893d + +.asm_108953 + xor a + call DmgToCgbBGPals + call Functioncf8 + call Function1082b7 + ret +; 10895e + +Function10895e: ; 10895e + ld de, $8300 + jr asm_108966 + +Function108963: + ld de, $9310 + +asm_108966 + call DelayFrame + ld hl, VTiles2 + lb bc, $0a, $31 + call Request2bpp + call WaitTop + call Function108ac8 + hlcoord 7, 2 + xor a + ld [$ffad], a + ld bc, $0707 + predef FillBox + call WaitBGMap + ret +; 10898a + +Function10898a: ; 10898a + ld de, VTiles2 + call Function1081e9 + call WaitTop + call Function108ac8 + hlcoord 7, 2 + xor a + ld [$ffad], a + ld bc, $0707 + predef FillBox + call WaitBGMap + ret +; 1089a8 + +Function1089a8: ; 1089a8 + ld de, $c6d0 + ld a, [de] + cp $fd + jr z, asm_1089fc + call Function108a5b + ld de, $c6d0 + call Function108a92 + ld de, $c6d1 + call Function108a9c + ld a, [wc701] + ld de, $c6f2 + call Function108aa3 + ld de, $c6ff + call Function108abe + call Function108a87 + ret + +Function1089d2: + ld de, wc702 + ld a, [de] + cp $fd + jr z, asm_1089fc + call Function108a5b + ld de, wc702 + call Function108a92 + ld de, wc703 + call Function108a9c + ld a, [wc733] + ld de, wc724 + call Function108aa3 + ld de, wc731 + call Function108abe + call Function108a87 + ret + +asm_1089fc + call WaitTop + call Function108ac8 + ld a, $9c + ld [$ffd7], a + hlcoord 5, 0 + ld b, $6 + ld c, $9 + call TextBox + hlcoord 6, 2 + ld de, String_108a1d + call PlaceString + call Function108a87 + ret +; 108a1d + +String_108a1d: ; 108a1d + db "タマゴ" + next "おや/?????" + next $73, "№", $f2, "?????" + db "@" +; 108a33 + +Function108a33: ; 108a33 + call WaitTop + call Function108ac8 + ld a, $9c + ld [$ffd7], a + hlcoord 5, 0 + ld b, $6 + ld c, $9 + call TextBox + hlcoord 7, 4 + ld de, String_108a54 + call PlaceString + call Function108a87 + ret +; 108a54 + +String_108a54: ; 108a54 + db "なぞのタマゴ@" +; 108a5b + +Function108a5b: ; 108a5b + call WaitTop + call Function108ac8 + ld a, $9c + ld [$ffd7], a + hlcoord 4, 0 + ld b, $6 + ld c, $a + call TextBox + hlcoord 5, 0 + ld de, String_108a79 + call PlaceString + ret +; 108a79 + +String_108a79: ; 108a79 + db "─ №", $f2 + next "" + next "おや/" + next $73, "№", $f2, "" + db "@" +; 108a87 + +Function108a87: ; 108a87 + call WaitBGMap + call WaitTop + ld a, $98 + ld [$ffd7], a + ret +; 108a92 + +Function108a92: ; 108a92 + hlcoord 9, 0 + ld bc, $8103 + call PrintNum + ret +; 108a9c + +Function108a9c: ; 108a9c + hlcoord 5, 2 + call PlaceString + ret +; 108aa3 + +Function108aa3: ; 108aa3 + cp $3 + jr c, .asm_108aa8 + xor a + +.asm_108aa8 + push af + hlcoord 8, 4 + call PlaceString + inc bc + pop af + ld hl, Unknown_108abb + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + ld [bc], a + ret +; 108abb + +Unknown_108abb: ; 108abb + db " ", "♂", "♀" +; 108abe + +Function108abe: ; 108abe + hlcoord 8, 6 + ld bc, $8205 + call PrintNum + ret +; 108ac8 + +Function108ac8: ; 108ac8 + ld hl, TileMap + ld bc, $0168 + ld a, $7f + call ByteFill + ret +; 108ad4 + +Function108ad4: ; 108ad4 + and a + jr z, .asm_108adc + ld de, GFX_1092c7 + jr .asm_108adf + +.asm_108adc + ld de, GFX_1091c7 + +.asm_108adf + ld a, $1 + ld [rVBK], a + ld hl, $94a0 + lb bc, $42, $10 + call Functiondc9 + call DelayFrame + ld a, $0 + ld [rVBK], a + ret +; 108af4 + +Function108af4: ; 108af4 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, [wcf65] + and $1 + jr z, .asm_108b1c + ld hl, Palette_109187 + ld de, Unkn2Pals + ld bc, $0040 + call CopyBytes + ld hl, Palette_109187 + ld de, OBPals + ld bc, $0040 + call CopyBytes + jr .asm_108b34 + +.asm_108b1c + ld hl, Palette_109147 + ld de, Unkn2Pals + ld bc, $0040 + call CopyBytes + ld hl, Palette_109147 + ld de, OBPals + ld bc, $0040 + call CopyBytes + +.asm_108b34 + pop af + ld [rSVBK], a + ld a, $e4 + call Functioncf8 + ld a, $e4 + call DmgToCgbBGPals + call DelayFrame + ret +; 108b45 + +Function108b45: ; 108b45 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld de, $7fff + ld hl, Unkn1Pals + ld a, e + ld [hli], a + ld d, a + ld [hli], a + pop af + ld [rSVBK], a + ret +; 108b5a + +Function108b5a: ; 108b5a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld de, $3ff2 + ld hl, $d0a0 + ld c, $10 +.asm_108b69 + ld a, e + ld [hli], a + ld a, d + ld [hli], a + dec c + jr nz, .asm_108b69 + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 108b78 + +Function108b78: ; 108b78 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, c + and $2 + jr z, .asm_108b89 + ld de, $7fff + jr .asm_108b8c + +.asm_108b89 + ld de, $05ff + +.asm_108b8c + ld a, e + ld [hli], a + ld a, d + ld [hld], a + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret +; 108b98 + +Palette_108b98: +; removed + +Function108b98: ; 108b98 + ld d, a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, [wcf65] + and $1 + xor d + jr z, .asm_108bad + ld hl, Palette_108b98 + 8 + jr .asm_108bb0 + +.asm_108bad + ld hl, Palette_108b98 + +.asm_108bb0 + ld de, Unkn1Pals + 8 * 7 + ld bc, $0040 + call CopyBytes + pop af + ld [rSVBK], a + ret +; 108bbd + +Function108bbd: ; 108bbd + callba Function8d03d + call ClearSprites + ret +; 108bc7 + +Function108bc7: ; 108bc7 (42:4bc7) + ld a, [wcf64] + and a + ret z + ld hl, $5 + add hl, bc + ld a, [hl] + cp $f2 + jr z, .asm_108bd9 + sub $8 + ld [hl], a + ret +.asm_108bd9 + callba Function8d036 + ret + +Function108be0: ; 108be0 (42:4be0) + ld hl, $5 + add hl, bc + ld a, [hl] + cp $4a + ret z + add $8 + ld [hl], a + ret +; 108bec (42:4bec) + +Function108bec: ; 108bec + ld a, $90 + ld [hWY], a + ld hl, UnknownText_0x108c07 + call PrintText + ld c, $50 + call DelayFrames + ld hl, UnknownText_0x108c0c + call PrintText + ld c, $50 + call DelayFrames + ret +; 108c07 + +UnknownText_0x108c07: ; 0x108c07 + text_jump UnknownText_0x1bc787 + db "@" +; 0x108c0c + +UnknownText_0x108c0c: ; 0x108c0c + text_jump UnknownText_0x1bc79d + db "@" +; 0x108c11 + +UnknownText_0x108c11: ; 0x108c11 + text_jump UnknownText_0x1bc7b0 + db "@" +; 0x108c16 + +Function108c16: ; 108c16 + ld a, $90 + ld [hWY], a + ld hl, UnknownText_0x108c26 + call PrintText + ld c, $50 + call DelayFrames + ret +; 108c26 + +UnknownText_0x108c26: ; 0x108c26 + text_jump UnknownText_0x1bc7c3 + db "@" +; 0x108c2b + +Function108c2b: ; 108c2b + ld a, $90 + ld [hWY], a + ld hl, UnknownText_0x108c3b + call PrintText + ld c, $50 + call DelayFrames + ret +; 108c3b + +UnknownText_0x108c3b: ; 0x108c3b + text_jump UnknownText_0x1bc7dd + db $50 +; 0x108c40 + +Function108c40: ; 108c40 + ld a, $90 + ld [hWY], a + ld a, [wcf65] + and $80 + jr z, .asm_108c57 + ld hl, UnknownText_0x108c68 + call PrintText + ld c, $50 + call DelayFrames + ret + +.asm_108c57 + ld hl, UnknownText_0x108c63 + call PrintText + ld c, $50 + call DelayFrames + ret +; 108c63 + +UnknownText_0x108c63: ; 0x108c63 + text_jump UnknownText_0x1bc7f0 + db "@" +; 0x108c68 + +UnknownText_0x108c68: ; 0x108c68 + text_jump UnknownText_0x1bc80a + db "@" +; 0x108c6d + +Function108c6d: ; 108c6d + ld hl, LZ_108fe7 + ld de, VBGMap0 + call Decompress + ld hl, LZ_108fe7 + ld de, VBGMap1 + call Decompress + ret +; 108c80 + +Function108c80: ; 108c80 + ld a, $1 + ld [rVBK], a + ld hl, LZ_1090a7 + ld de, VBGMap0 + call Decompress + ld hl, LZ_1090a7 + ld de, VBGMap1 + call Decompress + ld a, $0 + ld [rVBK], a + ret +; 108c9b + +Function108c9b: ; 108c9b +; localization error: $b should be 6 here + + ld hl, Unknown_108ce9 + ld a, [hli] + ld [$c6d0], a + + ld de, $c6e7 + ld c, $b +.asm_108ca7 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108ca7 + + ld de, $c6ff + ld c, $2 +.asm_108cb2 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108cb2 + + ld de, $c6f2 + ld c, $b +.asm_108cbd + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108cbd + + ld a, [hli] + ld [wc702], a + + ld de, wc719 + ld c, $b +.asm_108ccc + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108ccc + + ld de, wc731 + ld c, $2 +.asm_108cd7 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108cd7 + + ld de, wc724 + ld c, $b +.asm_108ce2 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_108ce2 + + ret +; 108ce9 + +Unknown_108ce9: + db 3 + db "ゲーフり@@" + db $23, $01 + db "かびーん@@" + db 6 + db "クりーチャ@" + db $56, $04 + db "マツミヤ@@" +; 108d07 + +Function108d07: ; 108d07 + ld a, [wc74e] + and $7f + cp $8 + jr c, .asm_108d12 + ld a, $7 + +.asm_108d12 + ld bc, $0008 + ld hl, Palette_1093c7 + call AddNTimes + ld a, $5 + ld de, wd020 + ld bc, $0008 + call FarCopyWRAM + ret +; 108d27 + +LZ_108d27: +INCBIN "gfx/unknown/108d27.2bpp.lz" + +LZ_108da7: +INCBIN "gfx/unknown/108da7.2bpp.lz" + +LZ_108fe7: +INCBIN "gfx/unknown/108fe7.tilemap.lz" + +LZ_1090a7: +INCBIN "gfx/unknown/1090a7.tilemap.lz" + +Palette_1090f7: + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 31, 0, 25 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 9, 19, 31 + RGB 0, 0, 0 + +Palette_109107: + RGB 18, 31, 15 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 31, 15, 1 + RGB 14, 14, 31 + RGB 12, 9, 31 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 14, 14, 31 + RGB 12, 9, 31 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 31, 7, 9 + RGB 18, 0, 1 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 31, 15, 1 + RGB 18, 0, 30 + RGB 9, 0, 17 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 18, 0, 30 + RGB 9, 0, 17 + RGB 0, 0, 0 + +Palette_109147: + RGB 31, 31, 31 + RGB 31, 31, 12 + RGB 31, 13, 12 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 23, 15 + RGB 31, 18, 7 + RGB 31, 15, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 25 + RGB 31, 0, 25 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 9, 19, 31 + RGB 9, 19, 31 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +Palette_109187: + RGB 31, 31, 31 + RGB 31, 31, 12 + RGB 31, 13, 12 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 23, 15 + RGB 31, 18, 7 + RGB 31, 15, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 11, 11, 11 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 9, 19, 31 + RGB 9, 19, 31 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 25 + RGB 31, 0, 25 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 0, 0, 0 + +GFX_1091c7: +INCBIN "gfx/unknown/1091c7.2bpp" +GFX_1092c7: +INCBIN "gfx/unknown/1092c7.2bpp" + +Palette_1093c7: + RGB 18, 31, 15 + RGB 4, 13, 31 + RGB 0, 0, 31 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 31, 31, 0 + RGB 31, 15, 0 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 9, 24, 0 + RGB 2, 16, 0 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 31, 7, 9 + RGB 18, 0, 1 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 28, 5, 31 + RGB 17, 0, 17 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 9, 9, 9 + RGB 4, 4, 4 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 31, 13, 21 + RGB 27, 7, 12 + RGB 0, 0, 0 + RGB 18, 31, 15 + RGB 21, 20, 20 + RGB 14, 14, 31 + RGB 0, 0, 0 + |