summaryrefslogtreecommitdiff
path: root/engine/unknown_ea3ea.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/unknown_ea3ea.asm')
-rwxr-xr-xengine/unknown_ea3ea.asm972
1 files changed, 972 insertions, 0 deletions
diff --git a/engine/unknown_ea3ea.asm b/engine/unknown_ea3ea.asm
new file mode 100755
index 00000000..c00785b4
--- /dev/null
+++ b/engine/unknown_ea3ea.asm
@@ -0,0 +1,972 @@
+Func_ea3ea: ; ea3ea (3a:63ea)
+ call GBPalWhiteOutWithDelay3
+ call ClearScreen
+ call LoadHpBarAndStatusTilePatterns
+ ld de, GFX_ea563
+ ld hl, vChars2 + $710
+ lb bc, BANK(GFX_ea563), (GFX_ea563End - GFX_ea563) / 8
+ call CopyVideoDataDouble
+
+ ld de, GFX_ea56b
+ ld hl, vChars2 + $6e0
+ lb bc, BANK(GFX_ea56b), (GFX_ea56bEnd - GFX_ea56b) / 8
+ call CopyVideoDataDouble
+
+ xor a
+ ld [H_AUTOBGTRANSFERENABLED], a
+ xor a
+ ld [wWhichTradeMonSelectionMenu], a
+ call LoadMonData
+
+ ld hl, wTileMap
+ lb bc, $10, $12
+ call TextBoxBorder
+
+ coord hl, 0, 12
+ lb bc, $04, $12
+ call TextBoxBorder
+
+ coord hl, 3, 10
+ call PrintLevelFull
+
+ coord hl, 2, 10
+ ld a, $6e
+ ld [hli], a
+ ld [hl], " "
+
+ coord hl, 2, 11
+ ld [hl], "′"
+
+ coord hl, 4, 11
+ ld de, wLoadedMonMaxHP
+ lb bc, 2, 3
+ call PrintNumber
+
+ ld a, [wMonHeader]
+ ld [wPokeBallAnimData], a
+ ld [wd0b5], a
+ ld hl, wPartyMonNicks
+ call Func_ea511
+ coord hl, 8, 2
+ call PlaceString
+
+ call GetMonName
+ coord hl, 9, 3
+ call PlaceString
+
+ predef IndexToPokedex
+ coord hl, 2, 8
+ ld [hl], "№"
+ inc hl
+ ld [hl], $f2
+ inc hl
+ ld de, wPokeBallAnimData
+ lb bc, $80 | 1, 3
+ call PrintNumber
+
+ coord hl, 8, 4
+ ld de, String_ea52f
+ call PlaceString
+
+ ld hl, wPartyMonOT
+ call Func_ea511
+ coord hl, 9, 5
+ call PlaceString
+
+ coord hl, 9, 6
+ ld de, String_ea533
+ call PlaceString
+
+ coord hl, 13, 6
+ ld de, wLoadedMonOTID
+ lb bc, $80 | 2, 5
+ call PrintNumber
+
+ coord hl, 9, 8
+ ld de, String_ea537
+ ld a, [hFlags_0xFFFA]
+ set 2, a
+ ld [hFlags_0xFFFA], a
+ call PlaceString
+ ld a, [hFlags_0xFFFA]
+ res 2, a
+ ld [hFlags_0xFFFA], a
+
+ coord hl, 16, 8
+ ld de, wLoadedMonAttack
+ ld a, 4
+.loop
+ push af
+ push de
+
+ push hl
+ lb bc, 2, 3
+ call PrintNumber
+ pop hl
+ ld bc, SCREEN_WIDTH
+ add hl, bc
+
+ pop de
+ inc de
+ inc de
+ pop af
+ dec a
+ jr nz, .loop
+
+ coord hl, 1, 13
+ ld a, [wLoadedMonMoves]
+ call Func_ea51d
+
+ coord hl, 1, 14
+ ld a, [wLoadedMonMoves + 1]
+ call Func_ea51d
+
+ coord hl, 1, 15
+ ld a, [wLoadedMonMoves + 2]
+ call Func_ea51d
+
+ coord hl, 1, 16
+ ld a, [wLoadedMonMoves + 3]
+ call Func_ea51d
+
+ ld b, $04 ; SET_PAL_STATUS_SCREEN
+ call RunPaletteCommand
+
+ ld a, $01
+ ld [H_AUTOBGTRANSFERENABLED], a
+ call Delay3
+ call GBPalNormal
+ coord hl, 1, 1
+ call LoadFlippedFrontSpriteByMonIndex
+ ret
+
+Func_ea511: ; ea511 (3a:6511)
+ ld bc, NAME_LENGTH
+ ld a, [wWhichPokemon]
+ call AddNTimes
+ ld e, l
+ ld d, h
+ ret
+
+Func_ea51d: ; ea51d (3a:651d)
+ and a
+ jr z, .asm_e6528
+ ld [wPokeBallAnimData], a
+ call GetMoveName
+ jr .asm_ea52b
+
+.asm_e6528
+ ld de, String_ea554
+.asm_ea52b
+ call PlaceString
+ ret
+; ea52f
+
+String_ea52f:
+ db "OT/@"
+; ea533
+
+String_ea533:
+ db $73, "№/@"
+; ea537
+
+String_ea537:
+ db "ATTACK"
+ next "DEFENSE"
+ next "SPEED"
+ next "SPECIAL@"
+; ea554
+
+String_ea554: ; ea554 (3a:6554)
+ db "--------------@"
+
+GFX_ea563: ; ea563 (3a:6563)
+INCBIN "gfx/stats_screen_hp.1bpp"
+GFX_ea563End: ; ea56b (3a:656b)
+
+GFX_ea56b:
+INCBIN "gfx/stats_screen_lv.1bpp"
+GFX_ea56bEnd: ; ea573 (3a:6573)
+
+Func_ea573: ; ea573 (3a:6573)
+ ld hl, vChars1 + $7e0
+ ld de, GFX_ea597
+ lb bc, BANK(GFX_ea597), (GFX_ea597End - GFX_ea597) / 16
+ call CopyVideoData
+
+ ld hl, wOAMBuffer + 32 * 4
+ ld a, $08
+ ld c, $08
+.loop
+ ld [hl], $10
+ inc hl
+ ld [hl], a
+ inc hl
+ ld [hl], $fe
+ inc hl
+ ld [hl], $00
+ inc hl
+ add $08
+ dec c
+ jr nz, .loop
+ ret
+
+GFX_ea597: ; ea597 (3a:6597)
+INCBIN "gfx/zero_one_ea597.2bpp"
+GFX_ea597End:
+
+Func_ea5b7: ; ea5b7 (3a:65b7)
+ ld hl, wOAMBuffer + 32 * 4 + 2
+ ld de, 4
+ ld a, [$c971]
+ ld c, 8
+.asm_ea5c2
+ sla a
+ jr c, .asm_ea5ca
+ ld [hl], $fe
+ jr .asm_ea5cc
+
+.asm_ea5ca
+ ld [hl], $ff
+.asm_ea5cc
+ add hl, de
+ dec c
+ jr nz, .asm_ea5c2
+ ret
+
+Func_ea5d1: ; ea5d1 (3a:65d1)
+ ld a, [wOverworldMap]
+ ld e, a
+ ld d, 0
+ ld hl, Jumptable_ea5e0
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+Jumptable_ea5e0:
+ dw Func_ea623
+ dw Func_ea6d2
+ dw Func_ea6af
+ dw Func_ea645
+ dw Func_ea701
+ dw Func_ea6bd
+ dw Func_ea671
+ dw Func_ea701
+ dw Func_ea6af
+ dw Func_ea68a
+ dw Func_ea701
+ dw Func_ea6af
+ dw Func_ea721
+ dw Func_ea610
+ dw Func_ea61a
+ dw Func_ea6af
+ dw Func_ea61e
+ dw Func_ea72f
+ dw Func_ea732
+
+
+Func_ea606: ; ea606 (3a:6606)
+ ld hl, wOverworldMap
+ inc [hl]
+ ret
+
+Func_ea60b: ; ea60b (3a:660b)
+ ld hl, wOverworldMap
+ dec [hl]
+ ret
+
+Func_ea610: ; ea610 (3a:6610)
+ xor a
+ ld [$c971], a
+ ld hl, wOverworldMap
+ set 7, [hl]
+ ret
+
+Func_ea61a: ; ea61a (3a:661a)
+ call Func_ea606
+ ret
+
+Func_ea61e: ; ea61e (3a:661e)
+ xor a
+ ld [wOverworldMap], a
+ ret
+
+Func_ea623: ; ea623 (3a:6623)
+ call Func_ea784
+ ld hl, Data_ea9de
+ call Func_ea76b
+ xor a
+ ld [$c976], a
+ ld [$c977], a
+ ld a, [$caf4]
+ ld [$c6e9], a
+ call Func_ea606
+ call Func_ea74c
+ ld a, $01
+ ld [$cae0], a
+ ret
+
+Func_ea645: ; ea645 (3a:6645)
+ call Func_ea784
+ ld hl, $c6e9
+ ld a, [hl]
+ and a
+ jr z, Func_ea671
+ ld hl, Data_ea9ea
+ call Func_ea76b
+ call Func_ea7e9
+ ld a, $80
+ ld [$c976], a
+ ld a, $02
+ ld [$c977], a
+ call Func_ea7a2
+ call Func_ea606
+ call Func_ea74c
+ ld a, $02
+ ld [$cae0], a
+ ret
+
+Func_ea671: ; ea671 (3a:6671)
+ ld a, $06
+ ld [wOverworldMap], a
+ ld hl, Data_ea9f0
+ call Func_ea76b
+ xor a
+ ld [$c976], a
+ ld [$c977], a
+ call Func_ea606
+ call Func_ea74c
+ ret
+
+Func_ea68a: ; ea68a (3a:668a)
+ call Func_ea784
+ ld hl, Data_ea9e4
+ call Func_ea76b
+ call Func_ea7d2
+ ld a, $04
+ ld [$c976], a
+ ld a, $00
+ ld [$c977], a
+ call Func_ea7a2
+ call Func_ea606
+ call Func_ea74c
+ ld a, $03
+ ld [$cae0], a
+ ret
+
+Func_ea6af: ; ea6af (3a:66af)
+ ld hl, $c973
+ inc [hl]
+ ld a, [hl]
+ cp a, $06
+ ret c
+ xor a
+ ld [hl], a
+ call Func_ea606
+ ret
+
+Func_ea6bd: ; ea6bd (3a:66bd)
+ ld hl, $c973
+ inc [hl]
+ ld a, [hl]
+ cp 6
+ ret c
+ xor a
+ ld [hl], a
+ ld hl, $c6e9
+ dec [hl]
+ call Func_ea60b
+ call Func_ea60b
+ ret
+
+Func_ea6d2: ; ea6d2 (3a:66d2)
+ call Func_ea742
+ ret c
+ ld a, [$c970]
+ cp a, $ff
+ jr nz, .asm_ea6e4
+ ld a, [$c971]
+ cp a, $ff
+ jr z, .asm_ea6fb
+.asm_ea6e4
+ ld a, [$c970]
+ cp a, $81
+ jr nz, .asm_ea6fb
+ ld a, [$c971]
+ cp a, $00
+ jr nz, .asm_ea6fb
+ ld hl, wUnknownSerialFlag_d49a
+ set 1, [hl]
+ call Func_ea606
+ ret
+
+.asm_ea6fb
+ ld a, $0e
+ ld [wOverworldMap], a
+ ret
+
+Func_ea701: ; ea701 (3a:6701)
+ call Func_ea742
+ ret c
+ ld a, [$c971]
+ and $f0
+ jr nz, .asm_ea71b
+ ld a, [$c971]
+ and $01
+ jr nz, .asm_ea717
+ call Func_ea606
+ ret
+
+.asm_ea717
+ call Func_ea60b
+ ret
+
+.asm_ea71b
+ ld a, $11
+ ld [wOverworldMap], a
+ ret
+
+Func_ea721: ; ea721 (3a:6721)
+ call Func_ea742
+ ret c
+ ld a, [$c971]
+ and $f3
+ ret nz
+ call Func_ea606
+ ret
+
+Func_ea72f: ; ea72f (3a:672f)
+ call Func_ea606
+Func_ea732: ; ea732 (3a:6732)
+ ld a, [wUnknownSerialFlag_d49b]
+ and a
+ ret nz
+ ld a, [$c971]
+ and $f0
+ ret nz
+ xor a
+ ld [wOverworldMap], a
+ ret
+
+Func_ea742: ; ea742 (3a:6742)
+ ld a, [wUnknownSerialFlag_d49b]
+ and a
+ jr nz, .asm_ea74a
+ and a
+ ret
+
+.asm_ea74a
+ scf
+ ret
+
+Func_ea74c: ; ea74c (3a:674c)
+.asm_ea74c
+ ld a, [wUnknownSerialFlag_d49b]
+ and a
+ jr nz, .asm_ea74c
+ ld a, $01
+ ld [wUnknownSerialFlag_d49b], a
+ xor a
+ ld [$c974], a
+ ld [$c975], a
+ ld a, $88
+ ld [rSB], a
+ ld a, $01
+ ld [rSC], a
+ ld a, $81
+ ld [rSC], a
+ ret
+
+Func_ea76b: ; ea76b (3a:676b)
+ ld a, [hli]
+ ld [$c6ea], a
+ ld a, [hli]
+ ld [$c6eb], a
+ ld a, [hli]
+ ld [$c6ec], a
+ ld a, [hli]
+ ld [$c6ed], a
+ ld a, [hli]
+ ld [$c6ee], a
+ ld a, [hl]
+ ld [$c6ef], a
+ ret
+
+Func_ea784: ; ea784 (3a:6784)
+ xor a
+ ld hl, $c6ea
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ ld hl, $c6ee
+ ld [hli], a
+ ld [hl], a
+ xor a
+ ld [$c976], a
+ ld [$c977], a
+ ld hl, $c6f0
+ ld bc, $280
+ call FillMemory
+ ret
+
+Func_ea7a2: ; ea7a2 (3a:67a2)
+ ld hl, $0000
+ ld bc, $0004
+ ld de, $c6ea
+ call Func_ea7c5
+ ld a, [$c976]
+ ld c, a
+ ld a, [$c977]
+ ld b, a
+ ld de, $c6f0
+ call Func_ea7c5
+ ld a, l
+ ld [$c6ee], a
+ ld a, h
+ ld [$c6ef], a
+ ret
+
+Func_ea7c5: ; ea7c5 (3a:67c5)
+.asm_ea7c5
+ ld a, [de]
+ inc de
+ add l
+ jr nc, .asm_ea7cb
+ inc h
+.asm_ea7cb
+ ld l, a
+ dec bc
+ ld a, c
+ or b
+ jr nz, .asm_ea7c5
+ ret
+
+Func_ea7d2: ; ea7d2 (3a:67d2)
+ ld a, $01
+ ld [$c6f0], a
+ ld a, [$cae2]
+ ld [$c6f1], a
+ ld a, $e4
+ ld [$c6f2], a
+ ld a, [$cae3]
+ ld [$c6f3], a
+ ret
+
+Func_ea7e9: ; ea7e9 (3a:67e9)
+ ld a, [$c6e9]
+ ld b, a
+ ld a, [$caf4]
+ sub b
+ ld hl, $c978
+ ld de, $0028
+.asm_ea7f7
+ and a
+ jr z, .asm_ea7fe
+ add hl, de
+ dec a
+ jr .asm_ea7f7
+
+.asm_ea7fe
+ ld e, l
+ ld d, h
+ ld hl, $c6f0
+ ld c, $28
+.asm_ea805
+ ld a, [de]
+ inc de
+ push bc
+ push de
+ push hl
+ swap a
+ ld d, a
+ and $f0
+ ld e, a
+ ld a, d
+ and $0f
+ ld d, a
+ and $08
+ ld a, d
+ jr nz, .asm_ea81d
+ or $90
+ jr .asm_ea81f
+
+.asm_ea81d
+ or $80
+.asm_ea81f
+ ld d, a
+ lb bc, $3a, $01
+ call CopyVideoData
+ pop hl
+ ld de, $0010
+ add hl, de
+ pop de
+ pop bc
+ dec c
+ jr nz, .asm_ea805
+ call Func_ea834
+ ret
+
+Func_ea834: ; ea834 (3a:6834)
+ ld hl, $cbdc
+ ld bc, $0020
+ xor a
+ call FillMemory
+ ld hl, $c300
+ ld c, $28
+.asm_ea843
+ push bc
+ push hl
+ call Func_ea860
+ jr nc, .asm_ea856
+ call Func_ea886
+ call Func_ea8a1
+ call Func_ea902
+ call Func_ea999
+.asm_ea856
+ pop hl
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ pop bc
+ dec c
+ jr nz, .asm_ea843
+ ret
+
+Func_ea860: ; ea860 (3a:6860)
+ ld a, [$c6e9]
+ ld b, a
+ ld a, [$caf4]
+ sub b
+ ld c, a
+ ld b, $10
+.asm_ea86b
+ ld a, c
+ and a
+ jr z, .asm_ea876
+ ld a, b
+ add $10
+ ld b, a
+ dec c
+ jr .asm_ea86b
+
+.asm_ea876
+ ld a, b
+ ld e, a
+ add $10
+ ld d, a
+ ld a, [hl]
+ cp e
+ jr c, .asm_ea884
+ cp d
+ jr nc, .asm_ea884
+ scf
+ ret
+
+.asm_ea884
+ and a
+ ret
+
+Func_ea886: ; ea886 (3a:6886)
+ push hl
+ inc hl
+ inc hl
+ ld a, [hl]
+ swap a
+ ld d, a
+ and $f0
+ ld e, a
+ ld a, d
+ and $0f
+ or $80
+ ld d, a
+ ld hl, $cbdc
+ lb bc, $3a, $01
+ call CopyVideoData
+ pop hl
+ ret
+
+Func_ea8a1: ; ea8a1 (3a:68a1)
+ push hl
+ inc hl
+ inc hl
+ inc hl
+ ld a, [hl]
+ call Func_ea8ab
+ pop hl
+ ret
+
+Func_ea8ab: ; ea8ab (3a:68ab)
+ and $60
+ swap a
+ ld e, a
+ ld d, 0
+ ld hl, Jumptable_ea8ba
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+Jumptable_ea8ba: ; ea8ba (3a:68ba)
+ dw Func_ea8c2
+ dw Func_ea8c3
+ dw Func_ea8c7
+ dw Func_ea8cb
+
+Func_ea8c2: ; ea8c2 (3a:68c2)
+ ret
+
+Func_ea8c3: ; ea8c3 (3a:68c3)
+ call Func_ea8d2
+ ret
+
+Func_ea8c7: ; ea8c7 (3a:68c7)
+ call Func_ea8e8
+ ret
+
+Func_ea8cb: ; ea8cb (3a:68cb)
+ call Func_ea8d2
+ call Func_ea8e8
+ ret
+
+Func_ea8d2: ; ea8d2 (3a:68d2)
+ ld hl, $cbdc
+ ld c, 16
+.asm_ea8d7
+ ld d, [hl]
+ ld a, 0
+ ld b, 8
+.asm_ea8dc
+ sla d
+ rr a
+ dec b
+ jr nz, .asm_ea8dc
+ ld [hli], a
+ dec c
+ jr nz, .asm_ea8d7
+ ret
+
+Func_ea8e8: ; ea8e8 (3a:68e8)
+ ld hl, $cbdc
+ ld de, $cbea
+ ld c, $04
+.asm_ea8f0
+ ld b, [hl]
+ ld a, [de]
+ ld [hli], a
+ ld a, b
+ ld [de], a
+ inc de
+ ld b, [hl]
+ ld a, [de]
+ ld [hli], a
+ ld a, b
+ ld [de], a
+ dec de
+ dec de
+ dec de
+ dec c
+ jr nz, .asm_ea8f0
+ ret
+
+Func_ea902: ; ea902 (3a:6902)
+ push hl
+ ld hl, $cbdc
+ ld de, $cbec
+ ld a, $08
+.asm_ea90b
+ push af
+ ld bc, $0000
+ ld a, $08
+.asm_ea911
+ push af
+ xor a
+ rlc [hl]
+ rl a
+ inc hl
+ rlc [hl]
+ rl a
+ dec hl
+ push hl
+ push de
+ call Func_ea936
+ pop de
+ pop hl
+ pop af
+ dec a
+ jr nz, .asm_ea911
+ inc hl
+ inc hl
+ ld a, b
+ ld [de], a
+ inc de
+ ld a, c
+ ld [de], a
+ inc de
+ pop af
+ dec a
+ jr nz, .asm_ea90b
+ pop hl
+ ret
+
+Func_ea936 ; ea936 (3a:6936)
+ call Func_ea93d
+ call Func_ea96d
+ ret
+
+Func_ea93d: ; ea93d (3a:693d)
+ ld e, a
+ ld d, 0
+ ld hl, Jumptable_ea949
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+Jumptable_ea949: ; ea949 (3a:6949)
+ dw Func_ea951
+ dw Func_ea95f
+ dw Func_ea956
+ dw Func_ea966
+
+Func_ea951: ; ea951 (3a:6951)
+ ld a, [rOBP0]
+ and $03
+ ret
+
+Func_ea956: ; ea956 (3a:6956)
+ ld a, [rOBP0]
+ and $0c
+ srl a
+ srl a
+ ret
+
+Func_ea95f: ; ea95f (3a:695f)
+ ld a, [rOBP0]
+ and $30
+ swap a
+ ret
+
+Func_ea966: ; ea966 (3a:6966)
+ ld a, [rOBP0]
+ and $c0
+ rlca
+ rlca
+ ret
+
+Func_ea96d: ; ea96d (3a:696d)
+ ld e, a
+ ld d, 0
+ ld hl, Jumptable_ea979
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+Jumptable_ea979: ; ea979 (3a:6979)
+ dw Func_ea981
+ dw Func_ea986
+ dw Func_ea98c
+ dw Func_ea992
+
+Func_ea981: ; ea981 (3a:6981)
+ sla b
+ sla c
+ ret
+
+Func_ea986: ; ea986 (3a:6986)
+ scf
+ rl b
+ sla c
+ ret
+
+Func_ea98c: ; ea98c (3a:698c)
+ sla b
+ scf
+ rl c
+ ret
+
+Func_ea992: ; ea992 (3a:6992)
+ scf
+ rl b
+ scf
+ rl c
+ ret
+
+Func_ea999: ; ea999 (3a:6999)
+ push hl
+ ld a, [hli]
+ ld c, [hl]
+ and $08
+ jr nz, .asm_ea9a5
+ ld hl, $c6f0
+ jr .asm_ea9a8
+
+.asm_ea9a5
+ ld hl, $c830
+.asm_ea9a8
+ ld b, $00
+ ld a, c
+ and $f8
+ sub $08
+ ld c, a
+ sla c
+ rl b
+ add hl, bc
+ ld e, l
+ ld d, h
+ ld hl, $cbec
+ ld c, $08
+.asm_ea9bc
+ call Func_ea9d0
+ ld a, [de]
+ and b
+ or [hl]
+ ld [de], a
+ inc hl
+ inc de
+ ld a, [de]
+ and b
+ or [hl]
+ ld [de], a
+ inc hl
+ inc de
+ dec c
+ jr nz, .asm_ea9bc
+ pop hl
+ ret
+
+Func_ea9d0: ; ea9d0 (3a:69d0)
+ push hl
+ push de
+ ld de, $fff0
+ add hl, de
+ ld a, [hli]
+ or [hl]
+ xor $ff
+ ld b, a
+ pop de
+ pop hl
+ ret
+
+Data_ea9de: ; ea9de
+ db $01, $00, $00, $00, $01, $00
+Data_ea9e4: ; ea9e4
+ db $02, $00, $04, $00, $00, $00
+Data_ea9ea: ; ea9ea
+ db $04, $00, $80, $02, $00, $00
+Data_ea9f0: ; ea9f0
+ db $04, $00, $00, $00, $04, $00
+Data_ea9f6: ; ea9f6
+ db $08, $00, $00, $00, $08, $00
+Data_ea9fc: ; ea9fc
+ db $0f, $00, $00, $00, $0f, $00