diff options
Diffstat (limited to 'engine/unknown_ea3ea.asm')
-rwxr-xr-x | engine/unknown_ea3ea.asm | 181 |
1 files changed, 90 insertions, 91 deletions
diff --git a/engine/unknown_ea3ea.asm b/engine/unknown_ea3ea.asm index 9962649d..ca5d8bff 100755 --- a/engine/unknown_ea3ea.asm +++ b/engine/unknown_ea3ea.asm @@ -1,4 +1,4 @@ -Func_ea3ea: ; ea3ea (3a:63ea) +Printer_GetMonStats: call GBPalWhiteOutWithDelay3 call ClearScreen call LoadHpBarAndStatusTilePatterns @@ -140,7 +140,7 @@ Func_ea3ea: ; ea3ea (3a:63ea) call LoadFlippedFrontSpriteByMonIndex ret -.GetNamePointer: ; ea511 (3a:6511) +.GetNamePointer: ld bc, NAME_LENGTH ld a, [wWhichPokemon] call AddNTimes @@ -148,7 +148,7 @@ Func_ea3ea: ; ea3ea (3a:63ea) ld d, h ret -.PlaceMoveName: ; ea51d (3a:651d) +.PlaceMoveName: and a jr z, .no_move ld [wPokeBallAnimData], a @@ -177,18 +177,18 @@ Func_ea3ea: ; ea3ea (3a:63ea) next "SPECIAL@" ; ea554 -.Blank: ; ea554 (3a:6554) +.Blank: db "--------------@" -GFX_ea563: ; ea563 (3a:6563) +GFX_ea563: INCBIN "gfx/stats_screen_hp.1bpp" -GFX_ea563End: ; ea56b (3a:656b) +GFX_ea563End: GFX_ea56b: INCBIN "gfx/stats_screen_lv.1bpp" -GFX_ea56bEnd: ; ea573 (3a:6573) +GFX_ea56bEnd: -Func_ea573: ; ea573 (3a:6573) +PrinterDebug_LoadGFX: ld hl, vChars1 + $7e0 ld de, GFX_ea597 lb bc, BANK(GFX_ea597), (GFX_ea597End - GFX_ea597) / 16 @@ -211,34 +211,34 @@ Func_ea573: ; ea573 (3a:6573) jr nz, .loop ret -GFX_ea597: ; ea597 (3a:6597) +GFX_ea597: INCBIN "gfx/zero_one_ea597.2bpp" GFX_ea597End: -Func_ea5b7: ; ea5b7 (3a:65b7) +PrinterDebug_ConvertStatusFlagsToTiles: ld hl, wOAMBuffer + 32 * 4 + 2 ld de, 4 ld a, [wPrinterStatusFlags] ld c, 8 -.asm_ea5c2 +.loop sla a - jr c, .asm_ea5ca + jr c, .place_1 ld [hl], $fe - jr .asm_ea5cc + jr .okay -.asm_ea5ca +.place_1 ld [hl], $ff -.asm_ea5cc +.okay add hl, de dec c - jr nz, .asm_ea5c2 + jr nz, .loop ret -Func_ea5d1: ; ea5d1 (3a:65d1) +PrinterDebug_DoFunction: ld a, [wPrinterSendState] ld e, a ld d, 0 - ld hl, Jumptable_ea5e0 + ld hl, .Jumptable add hl, de add hl, de ld a, [hli] @@ -246,7 +246,7 @@ Func_ea5d1: ; ea5d1 (3a:65d1) ld l, a jp [hl] -Jumptable_ea5e0: +.Jumptable: dw Func_ea623 dw Func_ea6d2 dw Func_ea6af @@ -267,34 +267,33 @@ Jumptable_ea5e0: dw Func_ea72f dw Func_ea732 - -Func_ea606: ; ea606 (3a:6606) +Func_ea606: ld hl, wPrinterSendState inc [hl] ret -Func_ea60b: ; ea60b (3a:660b) +Func_ea60b: ld hl, wPrinterSendState dec [hl] ret -Func_ea610: ; ea610 (3a:6610) +Func_ea610: xor a ld [wPrinterStatusFlags], a ld hl, wPrinterSendState set 7, [hl] ret -Func_ea61a: ; ea61a (3a:661a) +Func_ea61a: call Func_ea606 ret -Func_ea61e: ; ea61e (3a:661e) +Func_ea61e: xor a ld [wPrinterSendState], a ret -Func_ea623: ; ea623 (3a:6623) +Func_ea623: call Func_ea784 ld hl, Data_ea9de call Func_ea76b @@ -309,7 +308,7 @@ Func_ea623: ; ea623 (3a:6623) ld [wPrinterStatusIndicator], a ret -Func_ea645: ; ea645 (3a:6645) +Func_ea645: call Func_ea784 ld hl, wPrinterRowIndex ld a, [hl] @@ -317,7 +316,7 @@ Func_ea645: ; ea645 (3a:6645) jr z, Func_ea671 ld hl, Data_ea9ea call Func_ea76b - call Func_ea7e9 + call PrinterDebug_PrepOAMForPrinting ld a, $80 ld [wPrinterDataSize], a ld a, $2 @@ -329,7 +328,7 @@ Func_ea645: ; ea645 (3a:6645) ld [wPrinterStatusIndicator], a ret -Func_ea671: ; ea671 (3a:6671) +Func_ea671: ld a, $6 ld [wPrinterSendState], a ld hl, Data_ea9f0 @@ -341,7 +340,7 @@ Func_ea671: ; ea671 (3a:6671) call Func_ea74c ret -Func_ea68a: ; ea68a (3a:668a) +Func_ea68a: call Func_ea784 ld hl, Data_ea9e4 call Func_ea76b @@ -357,7 +356,7 @@ Func_ea68a: ; ea68a (3a:668a) ld [wPrinterStatusIndicator], a ret -Func_ea6af: ; ea6af (3a:66af) +Func_ea6af: ld hl, wPrinterSerialFrameDelay inc [hl] ld a, [hl] @@ -368,7 +367,7 @@ Func_ea6af: ; ea6af (3a:66af) call Func_ea606 ret -Func_ea6bd: ; ea6bd (3a:66bd) +Func_ea6bd: ld hl, wPrinterSerialFrameDelay inc [hl] ld a, [hl] @@ -382,7 +381,7 @@ Func_ea6bd: ; ea6bd (3a:66bd) call Func_ea60b ret -Func_ea6d2: ; ea6d2 (3a:66d2) +Func_ea6d2: call Func_ea742 ret c ld a, [wPrinterHandshake] @@ -408,7 +407,7 @@ Func_ea6d2: ; ea6d2 (3a:66d2) ld [wPrinterSendState], a ret -Func_ea701: ; ea701 (3a:6701) +Func_ea701: call Func_ea742 ret c ld a, [wPrinterStatusFlags] @@ -429,7 +428,7 @@ Func_ea701: ; ea701 (3a:6701) ld [wPrinterSendState], a ret -Func_ea721: ; ea721 (3a:6721) +Func_ea721: call Func_ea742 ret c ld a, [wPrinterStatusFlags] @@ -438,9 +437,9 @@ Func_ea721: ; ea721 (3a:6721) call Func_ea606 ret -Func_ea72f: ; ea72f (3a:672f) +Func_ea72f: call Func_ea606 -Func_ea732: ; ea732 (3a:6732) +Func_ea732: ld a, [wPrinterOpcode] and a ret nz @@ -451,7 +450,7 @@ Func_ea732: ; ea732 (3a:6732) ld [wPrinterSendState], a ret -Func_ea742: ; ea742 (3a:6742) +Func_ea742: ld a, [wPrinterOpcode] and a jr nz, .asm_ea74a @@ -462,7 +461,7 @@ Func_ea742: ; ea742 (3a:6742) scf ret -Func_ea74c: ; ea74c (3a:674c) +Func_ea74c: .asm_ea74c ld a, [wPrinterOpcode] and a @@ -480,7 +479,7 @@ Func_ea74c: ; ea74c (3a:674c) ld [rSC], a ret -Func_ea76b: ; ea76b (3a:676b) +Func_ea76b: ld a, [hli] ld [wPrinterDataHeader], a ld a, [hli] @@ -495,7 +494,7 @@ Func_ea76b: ; ea76b (3a:676b) ld [wPrinterDataHeader + 5], a ret -Func_ea784: ; ea784 (3a:6784) +Func_ea784: xor a ld hl, wPrinterDataHeader ld [hli], a @@ -508,12 +507,12 @@ Func_ea784: ; ea784 (3a:6784) xor a ld [wPrinterDataSize], a ld [wPrinterDataSize + 1], a - ld hl, wPrinterSendDataSource + ld hl, wPrinterSendDataSource1 ld bc, $280 call FillMemory ret -Func_ea7a2: ; ea7a2 (3a:67a2) +Func_ea7a2: ld hl, $0 ld bc, $4 ld de, wPrinterDataHeader @@ -522,7 +521,7 @@ Func_ea7a2: ; ea7a2 (3a:67a2) ld c, a ld a, [wPrinterDataSize + 1] ld b, a - ld de, wPrinterSendDataSource + ld de, wPrinterSendDataSource1 call Func_ea7c5 ld a, l ld [wPrinterDataHeader + 4], a @@ -530,7 +529,7 @@ Func_ea7a2: ; ea7a2 (3a:67a2) ld [wPrinterDataHeader + 5], a ret -Func_ea7c5: ; ea7c5 (3a:67c5) +Func_ea7c5: .asm_ea7c5 ld a, [de] inc de @@ -545,9 +544,9 @@ Func_ea7c5: ; ea7c5 (3a:67c5) jr nz, .asm_ea7c5 ret -Func_ea7d2: ; ea7d2 (3a:67d2) +Func_ea7d2: ld a, $1 - ld [wPrinterSendDataSource], a + ld [wPrinterSendDataSource1], a ld a, [wcae2] ld [wPrinterStatusReceived], a ld a, $e4 @@ -556,7 +555,7 @@ Func_ea7d2: ; ea7d2 (3a:67d2) ld [wc6f3], a ret -Func_ea7e9: ; ea7e9 (3a:67e9) +PrinterDebug_PrepOAMForPrinting: ld a, [wPrinterRowIndex] ld b, a ld a, [wPrinterQueueLength] @@ -573,7 +572,7 @@ Func_ea7e9: ; ea7e9 (3a:67e9) .start_working ld e, l ld d, h - ld hl, wPrinterSendDataSource + ld hl, wPrinterSendDataSource1 ld c, $28 .prep_loop ld a, [de] @@ -598,7 +597,7 @@ Func_ea7e9: ; ea7e9 (3a:67e9) or $80 .got_vram_address ld d, a - lb bc, BANK(Func_ea7e9), $1 + lb bc, BANK(PrinterDebug_PrepOAMForPrinting), $1 call CopyVideoData pop hl ld de, $10 @@ -610,7 +609,7 @@ Func_ea7e9: ; ea7e9 (3a:67e9) call .UnnecessaryCall ret -.UnnecessaryCall: ; ea834 (3a:6834) +.UnnecessaryCall: ld hl, wcbdc ld bc, $20 xor a @@ -637,7 +636,7 @@ Func_ea7e9: ; ea7e9 (3a:67e9) jr nz, .master_loop ret -.AreWePrintingThisSegment: ; ea860 (3a:6860) +.AreWePrintingThisSegment: ld a, [wPrinterRowIndex] ld b, a ld a, [wPrinterQueueLength] @@ -671,7 +670,7 @@ Func_ea7e9: ; ea7e9 (3a:67e9) and a ret -.GetVRAMAddress: ; ea886 (3a:6886) +.GetVRAMAddress: push hl inc hl inc hl @@ -690,7 +689,7 @@ Func_ea7e9: ; ea7e9 (3a:67e9) pop hl ret -.GetOAMFlags: ; ea8a1 (3a:68a1) +.GetOAMFlags: push hl inc hl inc hl @@ -700,7 +699,7 @@ Func_ea7e9: ; ea7e9 (3a:67e9) pop hl ret -.DoBitOperation: ; ea8ab (3a:68ab) +.DoBitOperation: and $60 swap a ld e, a @@ -712,29 +711,29 @@ Func_ea7e9: ; ea7e9 (3a:67e9) ld l, a jp [hl] -.Jumptable: ; ea8ba (3a:68ba) +.Jumptable: dw .nop - dw .one - dw .two + dw .xflip + dw .yflip dw .both -.nop: ; ea8c2 (3a:68c2) +.nop: ret -.one: ; ea8c3 (3a:68c3) - call .Invert +.xflip: + call .XFlip ret -.two: ; ea8c7 (3a:68c7) - call .Swap +.yflip: + call .YFlip ret -.both: ; ea8cb (3a:68cb) - call .Invert - call .Swap +.both: + call .XFlip + call .YFlip ret -.Invert: ; ea8d2 (3a:68d2) +.XFlip: ld hl, wcbdc ld c, 16 .byte_loop @@ -751,7 +750,7 @@ Func_ea7e9: ; ea7e9 (3a:67e9) jr nz, .byte_loop ret -.Swap: ; ea8e8 (3a:68e8) +.YFlip: ld hl, wcbdc ld de, wcbea ld c, $4 @@ -774,7 +773,7 @@ Func_ea7e9: ; ea7e9 (3a:67e9) jr nz, .swap_loop ret -.ApplyObjectPalettes: ; ea902 (3a:6902) +.ApplyObjectPalettes: push hl ld hl, wcbdc ld de, wcbec @@ -814,12 +813,12 @@ Func_ea7e9: ; ea7e9 (3a:67e9) pop hl ret -.ExpandPalettesToBC: ; ea936 (3a:6936) +.ExpandPalettesToBC: call .GetPaletteFunction call .ApplyPaletteFunction ret -.GetPaletteFunction: ; ea93d (3a:693d) +.GetPaletteFunction: ld e, a ld d, 0 ld hl, .PalJumptable @@ -830,38 +829,38 @@ Func_ea7e9: ; ea7e9 (3a:67e9) ld l, a jp [hl] -.PalJumptable: ; ea949 (3a:6949) +.PalJumptable: dw .Pal0 dw .Pal1 dw .Pal2 dw .Pal3 -.Pal0: ; ea951 (3a:6951) +.Pal0: ld a, [rOBP0] and $3 ret -.Pal2: ; ea956 (3a:6956) +.Pal2: ld a, [rOBP0] and $c srl a srl a ret -.Pal1: ; ea95f (3a:695f) +.Pal1: ld a, [rOBP0] and $30 swap a ret -.Pal3: ; ea966 (3a:6966) +.Pal3: ld a, [rOBP0] and $c0 rlca rlca ret -.ApplyPaletteFunction: ; ea96d (3a:696d) +.ApplyPaletteFunction: ld e, a ld d, 0 ld hl, .PalFunJumptable @@ -872,47 +871,47 @@ Func_ea7e9: ; ea7e9 (3a:67e9) ld l, a jp [hl] -.PalFunJumptable: ; ea979 (3a:6979) +.PalFunJumptable: dw .zero_zero - dw .one_zero - dw .zero_one - dw .one_one + dw .xflip_zero + dw .zero_xflip + dw .xflip_xflip -.zero_zero: ; ea981 (3a:6981) +.zero_zero: sla b sla c ret -.one_zero: ; ea986 (3a:6986) +.xflip_zero: scf rl b sla c ret -.zero_one: ; ea98c (3a:698c) +.zero_xflip: sla b scf rl c ret -.one_one: ; ea992 (3a:6992) +.xflip_xflip: scf rl b scf rl c ret -.PlaceObject: ; ea999 (3a:6999) +.PlaceObject: push hl ld a, [hli] ld c, [hl] and $8 - jr nz, .use_wc830 - ld hl, wPrinterSendDataSource + jr nz, .use_source_2 + ld hl, wPrinterSendDataSource1 jr .got_data_source -.use_wc830 - ld hl, wc830 +.use_source_2 + ld hl, wPrinterSendDataSource2 .got_data_source ld b, $0 ld a, c @@ -945,7 +944,7 @@ Func_ea7e9: ; ea7e9 (3a:67e9) pop hl ret -.GetBitMask: ; ea9d0 (3a:69d0) +.GetBitMask: push hl push de ld de, -$10 |