summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorpikalaxalt <PikalaxALT@gmail.com>2016-05-22 21:03:52 -0400
committerpikalaxalt <PikalaxALT@gmail.com>2016-05-22 21:03:52 -0400
commit106251da1f1412dbca66db8c0e0fe7fe9eb63968 (patch)
treec57310e47a17e75c15fe971d1b833b0ce5d84ccf /engine
parent10984f14cebe3357c45c7d0d2b981d216fc623bf (diff)
engine/printer.asm
Diffstat (limited to 'engine')
-rwxr-xr-xengine/printer.asm772
-rwxr-xr-xengine/unknown_e8d35.asm159
2 files changed, 772 insertions, 159 deletions
diff --git a/engine/printer.asm b/engine/printer.asm
new file mode 100755
index 00000000..16b95eed
--- /dev/null
+++ b/engine/printer.asm
@@ -0,0 +1,772 @@
+Func_e8783: ; e8783 (3a:4783)
+ ld a, 9
+ push af
+ ld hl, wOverworldMap
+ lb bc, 4, 13
+ xor a
+ call Func_e8a2e
+ xor a
+ ld [rSB], a
+ ld [rSC], a
+ ld [wUnknownSerialFlag_d49b], a
+ ld hl, wUnknownSerialFlag_d49a
+ set 0, [hl]
+ ld a, [wd498]
+ ld [$cae3], a
+ pop af
+ ld [$caf4], a
+ ret
+
+; e87a8
+Func_e87a8: ; e87a8 (3a:47a8)
+ ld a, [wOverworldMap]
+ ld e, a
+ ld d, 0
+ ld hl, Jumptable_e87b7
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+Jumptable_e87b7:
+ dw Func_e87fd
+ dw Func_e88c9
+ dw Func_e88a6
+ dw Func_e881f
+ dw Func_e8906
+ dw Func_e88b4
+ dw Func_e884b
+ dw Func_e8906
+ dw Func_e88a6
+ dw Func_e8864
+ dw Func_e8906
+ dw Func_e88a6
+ dw Func_e8927
+ dw Func_e87e9
+ dw Func_e87f3
+ dw Func_e88a6
+ dw Func_e8889
+ dw Func_e87f7
+ dw Func_e8936
+ dw Func_e8939
+
+Func_e87df:
+ ld hl, wOverworldMap
+ inc [hl]
+ ret
+
+Func_e87e4:
+ ld hl, wOverworldMap
+ dec [hl]
+ ret
+
+Func_e87e9:
+ xor a
+ ld [$c971], a
+ ld hl, wOverworldMap
+ set 7, [hl]
+ ret
+
+Func_e87f3:
+ call Func_e87df
+ ret
+
+Func_e87f7:
+ ld a, $01
+ ld [wOverworldMap], a
+ ret
+
+Func_e87fd:
+ call Func_e8981
+ ld hl, Data_e8a3a
+ call Func_e8968
+ xor a
+ ld [$c976], a
+ ld [$c977], a
+ ld a, [$caf4]
+ ld [$c6e9], a
+ call Func_e87df
+ call Func_e8949
+ ld a, $01
+ ld [$cae0], a
+ ret
+
+Func_e881f:
+ call Func_e8981
+ ld hl, $c6e9
+ ld a, [hl]
+ and a
+ jr z, Func_e884b
+ ld hl, Data_e8a46
+ call Func_e8968
+ call Func_e89e6
+ ld a, $80
+ ld [$c976], a
+ ld a, $02
+ ld [$c977], a
+ call Func_e899f
+ call Func_e87df
+ call Func_e8949
+ ld a, $02
+ ld [$cae0], a
+ ret
+
+Func_e884b:
+ ld a, $06
+ ld [wOverworldMap], a
+ ld hl, Data_e8a4c
+ call Func_e8968
+ xor a
+ ld [$c976], a
+ ld [$c977], a
+ call Func_e87df
+ call Func_e8949
+ ret
+
+Func_e8864:
+ call Func_e8981
+ ld hl, Data_e8a40
+ call Func_e8968
+ call Func_e89cf
+ ld a, $04
+ ld [$c976], a
+ ld a, $00
+ ld [$c977], a
+ call Func_e899f
+ call Func_e87df
+ call Func_e8949
+ ld a, $03
+ ld [$cae0], a
+ ret
+
+Func_e8889:
+ call Func_e8981
+ ld hl, Data_e8a3a
+ call Func_e8968
+ xor a
+ ld [$c976], a
+ ld [$c977], a
+ ld a, [$caf4]
+ ld [$c6e9], a
+ call Func_e87df
+ call Func_e8949
+ ret
+
+Func_e88a6:
+ ld hl, $c973
+ inc [hl]
+ ld a, [hl]
+ cp a, $06
+ ret c
+ xor a
+ ld [hl], a
+ call Func_e87df
+ ret
+
+Func_e88b4:
+ ld hl, $c973
+ inc [hl]
+ ld a, [hl]
+ cp a, $06
+ ret c
+ xor a
+ ld [hl], a
+ ld hl, $c6e9
+ dec [hl]
+ call Func_e87e4
+ call Func_e87e4
+ ret
+
+Func_e88c9:
+ ld a, [wUnknownSerialFlag_d49b]
+ and a
+ ret nz
+ ld a, [$c970]
+ cp a, $ff
+ jr nz, .asm_e88dc
+ ld a, [$c971]
+ cp a, $ff
+ jr z, .asm_e88f8
+.asm_e88dc
+ ld a, [$c970]
+ cp a, $81
+ jr nz, .asm_e88f8
+ ld a, [$c971]
+ cp a, $00
+ jr nz, .asm_e88f8
+ ld hl, wUnknownSerialFlag_d49a
+ set 1, [hl]
+ ld a, $05
+ ld [$c972], a
+ call Func_e87df
+ ret
+
+.asm_e88f8
+ ld a, $ff
+ ld [$c970], a
+ ld [$c971], a
+ ld a, $0e
+ ld [wOverworldMap], a
+ ret
+
+Func_e8906:
+ ld a, [wUnknownSerialFlag_d49b]
+ and a
+ ret nz
+ ld a, [$c971]
+ and a, $f0
+ jr nz, .asm_e8921
+ ld a, [$c971]
+ and a, $01
+ jr nz, .asm_e891d
+ call Func_e87df
+ ret
+
+.asm_e891d
+ call Func_e87e4
+ ret
+
+.asm_e8921
+ ld a, $12
+ ld [wOverworldMap], a
+ ret
+
+Func_e8927:
+ ld a, [wUnknownSerialFlag_d49b]
+ and a
+ ret nz
+ ld a, [$c971]
+ and a, $f3
+ ret nz
+ call Func_e87df
+ ret
+
+Func_e8936:
+ call Func_e87df
+Func_e8939:
+ ld a, [wUnknownSerialFlag_d49b]
+ and a
+ ret nz
+ ld a, [$c971]
+ and a, $f0
+ ret nz
+ xor a
+ ld [wOverworldMap], a
+ ret
+
+Func_e8949:
+.asm_e8949
+ ld a, [wUnknownSerialFlag_d49b]
+ and a
+ jr nz, .asm_e8949
+ xor a
+ ld [$c974], a
+ ld [$c975], a
+ ld a, $01
+ ld [wUnknownSerialFlag_d49b], a
+ ld a, $88
+ ld [rSB], a
+ ld a, $01
+ ld [rSC], a
+ ld a, $81
+ ld [rSC], a
+ ret
+
+Func_e8968:
+ 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_e8981:
+ 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, $0280
+ call Func_e8a2e
+ ret
+
+Func_e899f:
+ ld hl, $0000
+ ld bc, $0004
+ ld de, $c6ea
+ call Func_e89c2
+ ld a, [$c976]
+ ld c, a
+ ld a, [$c977]
+ ld b, a
+ ld de, $c6f0
+ call Func_e89c2
+ ld a, l
+ ld [$c6ee], a
+ ld a, h
+ ld [$c6ef], a
+ ret
+
+Func_e89c2:
+.asm_e89c2
+ ld a, [de]
+ inc de
+ add l
+ jr nc, .asm_e89c8
+ inc h
+.asm_e89c8
+ ld l, a
+ dec bc
+ ld a, c
+ or b
+ jr nz, .asm_e89c2
+ ret
+
+Func_e89cf:
+ 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_e89e6:
+ ld a, [$c6e9]
+ ld b, a
+ ld a, [$caf4]
+ sub b
+ ld hl, $c978
+ ld de, $0028
+.asm_e89f4
+ and a
+ jr z, .asm_e89fb
+ add hl, de
+ dec a
+ jr .asm_e89f4
+
+.asm_e89fb
+ ld e, l
+ ld d, h
+ ld hl, $c6f0
+ ld c, $28
+.asm_e8a02
+ ld a, [de]
+ inc de
+ push bc
+ push de
+ push hl
+ swap a
+ ld d, a
+ and a, $f0
+ ld e, a
+ ld a, d
+ and a, $0f
+ ld d, a
+ and a, $08
+ ld a, d
+ jr nz, .asm_e8a1a
+ or a, $90
+ jr .asm_e8a1c
+
+.asm_e8a1a
+ or a, $80
+.asm_e8a1c
+ ld d, a
+ ld bc, $3a01
+ call CopyVideoData
+ pop hl
+ ld de, $0010
+ add hl, de
+ pop de
+ pop bc
+ dec c
+ jr nz, .asm_e8a02
+ ret
+
+Func_e8a2e: ; e8a2e (3a:4a2e)
+ push de
+ ld e, a
+.asm_e8a30
+ ld [hl], e
+ inc hl
+ dec bc
+ ld a, c
+ or b
+ jr nz, .asm_e8a30
+ ld a, e
+ pop de
+ ret
+
+Data_e8a3a:
+ db $01, $00, $00, $00, $01, $00
+Data_e8a40:
+ db $02, $00, $04, $00, $00, $00
+Data_e8a46:
+ db $04, $00, $80, $02, $00, $00
+Data_e8a4c:
+ db $04, $00, $00, $00, $04, $00
+Data_e8a52:
+ db $08, $00, $00, $00, $08, $00
+Data_e8a58:
+ db $0f, $00, $00, $00, $0f, $00
+
+Func_e8a5e: ; e8a5e (3a:4a5e)
+ ld a, [$d49a]
+ ld e, a
+ ld d, 0
+ ld hl, Jumptable_e8a6d
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+Jumptable_e8a6d:
+ dw Func_e8ab2
+ dw Func_e8ab3
+ dw Func_e8abc
+ dw Func_e8ac6
+ dw Func_e8ad0
+ dw Func_e8ada
+ dw Func_e8ae4
+ dw Func_e8b0f
+ dw Func_e8b19
+ dw Func_e8b23
+ dw Func_e8b2c
+ dw Func_e8b3a
+ dw Func_e8ab3
+ dw Func_e8b44
+ dw Func_e8b4d
+ dw Func_e8b4d
+ dw Func_e8b4d
+ dw Func_e8b44
+ dw Func_e8b4d
+ dw Func_e8b23
+ dw Func_e8b2c
+ dw Func_e8b6a
+ dw Func_e8ab3
+ dw Func_e8b56
+ dw Func_e8b4d
+ dw Func_e8b4d
+ dw Func_e8b4d
+ dw Func_e8b56
+ dw Func_e8b4d
+ dw Func_e8b23
+ dw Func_e8b2c
+ dw Func_e8b3a
+
+Func_e8aad:
+ ld hl, wUnknownSerialFlag_d49b
+ inc [hl]
+ ret
+
+Func_e8ab2:
+ ret
+
+Func_e8ab3:
+ ld a, $33
+ call Func_e8b5f
+ call Func_e8aad
+ ret
+
+Func_e8abc:
+ ld a, [$c6ea]
+ call Func_e8b5f
+ call Func_e8aad
+ ret
+
+Func_e8ac6:
+ ld a, [$c6eb]
+ call Func_e8b5f
+ call Func_e8aad
+ ret
+
+Func_e8ad0:
+ ld a, [$c6ec]
+ call Func_e8b5f
+ call Func_e8aad
+ ret
+
+Func_e8ada:
+ ld a, [$c6ed]
+ call Func_e8b5f
+ call Func_e8aad
+ ret
+
+Func_e8ae4:
+ ld hl, $c976
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld a, e
+ or d
+ jr z, .asm_e8b0c
+ dec de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ld a, [$c974]
+ ld e, a
+ ld a, [$c975]
+ ld d, a
+ ld hl, $c6f0
+ add hl, de
+ inc de
+ ld a, e
+ ld [$c974], a
+ ld a, d
+ ld [$c975], a
+ ld a, [hl]
+ call Func_e8b5f
+ ret
+
+.asm_e8b0c
+ call Func_e8aad
+Func_e8b0f:
+ ld a, [$c6ee]
+ call Func_e8b5f
+ call Func_e8aad
+ ret
+
+Func_e8b19:
+ ld a, [$c6ef]
+ call Func_e8b5f
+ call Func_e8aad
+ ret
+
+Func_e8b23:
+ ld a, $00
+ call Func_e8b5f
+ call Func_e8aad
+ ret
+
+Func_e8b2c:
+ ld a, [rSB]
+ ld [$c970], a
+ ld a, $00
+ call Func_e8b5f
+ call Func_e8aad
+ ret
+
+Func_e8b3a:
+ ld a, [rSB]
+ ld [$c971], a
+ xor a
+ ld [wUnknownSerialFlag_d49b], a
+ ret
+
+Func_e8b44:
+ ld a, $0f
+ call Func_e8b5f
+ call Func_e8aad
+ ret
+
+Func_e8b4d:
+ ld a, $00
+ call Func_e8b5f
+ call Func_e8aad
+ ret
+
+Func_e8b56:
+ ld a, $08
+ call Func_e8b5f
+ call Func_e8aad
+ ret
+
+Func_e8b5f:
+ ld [rSB], a
+ ld a, $01
+ ld [rSC], a
+ ld a, $81
+ ld [rSC], a
+ ret
+
+Func_e8b6a:
+ ld a, [rSB]
+ ld [$c971], a
+ xor a
+ ld [wUnknownSerialFlag_d49b], a
+ ret
+
+Func_e8b74: ; e8b74 (3a:4b74)
+ dr $e8b74,$e8d35
+
+Func_e8d35:: ; e8d35 (3a:4e79)
+ ld a, [wBoxDataStart]
+ and a
+ jp z, Func_e8df4
+ ld a, [wUpdateSpritesEnabled]
+ push af
+ xor a
+ ld [wUpdateSpritesEnabled], a
+ ld [hItemCounter], a
+ call Func_e8f24
+ ld a, [rIE]
+ push af
+ xor a
+ ld [rIF], a
+ ld a, $09
+ ld [rIE], a
+ call SaveScreenTilesToBuffer1
+ xor a
+ ld [H_AUTOBGTRANSFERENABLED], a
+ call Func_e988a
+ call Func_e8783
+ ld a, $10
+ ld [$cae2], a
+ call Func_e8efc
+ call LoadScreenTilesFromBuffer1
+ call Func_e8dfb
+ jr c, .asm_e8ddc
+ xor a
+ ld [wUnknownSerialFlag_d49a], a
+ ld [wUnknownSerialFlag_d49b], a
+ ld c, 12
+ call DelayFrames
+ xor a
+ ld [H_AUTOBGTRANSFERENABLED], a
+ call Func_e98ec
+ call Func_e8783
+ ld a, $00
+ ld [$cae2], a
+ call Func_e8efc
+ call LoadScreenTilesFromBuffer1
+ call Func_e8dfb
+ jr c, .asm_e8ddc
+ xor a
+ ld [wUnknownSerialFlag_d49a], a
+ ld [wUnknownSerialFlag_d49b], a
+ ld c, 12
+ call DelayFrames
+ xor a
+ ld [H_AUTOBGTRANSFERENABLED], a
+ call Func_e9907
+ call Func_e8783
+ ld a, $00
+ ld [$cae2], a
+ call Func_e8efc
+ call LoadScreenTilesFromBuffer1
+ call Func_e8dfb
+ jr c, .asm_e8ddc
+ xor a
+ ld [wUnknownSerialFlag_d49a], a
+ ld [wUnknownSerialFlag_d49b], a
+ ld c, 12
+ call DelayFrames
+ xor a
+ ld [H_AUTOBGTRANSFERENABLED], a
+ call Func_e9922
+ call Func_e8783
+ ld a, $03
+ ld [$cae2], a
+ call Func_e8efc
+ call LoadScreenTilesFromBuffer1
+ call Func_e8dfb
+.asm_e8ddc
+ xor a
+ ld [wUnknownSerialFlag_d49a], a
+ ld [wUnknownSerialFlag_d49b], a
+ xor a
+ ld [rIF], a
+ pop af
+ ld [rIE], a
+ call Func_0f3d
+ call Func_e8f3b
+ pop af
+ ld [wUpdateSpritesEnabled], a
+ ret
+
+Func_e8df4: ; e8df4
+ ld hl, String_e8e1f
+ call PrintText
+ ret
+
+Func_e8dfb: ; e8dfb
+ call Func_e8f16
+.asm_e8dfe
+ call JoypadLowSensitivity
+ call Func_e8eca
+ jr c, .asm_e8e1d
+ ld a, [wOverworldMap]
+ bit 7, a
+ jr nz, .asm_e8e1b
+ call Func_e87a8
+ call Func_e8f51
+ call Func_e8f82
+ call DelayFrame
+ jr .asm_e8dfe
+
+.asm_e8e1b
+ and a
+ ret
+
+.asm_e8e1d
+ scf
+ ret
+
+String_e8e1f: ; e8e1f
+ TX_FAR _NoPokemonText
+ db "@"
+
+Func_e8e24: ; e8e24
+ xor a
+ ld [hItemCounter], a
+ call Func_e8f24
+ call Func_ea3ea
+ ld a, [rIE]
+ push af
+ xor a
+ ld [rIF], a
+ ld a, $09
+ ld [rIE], a
+ call Func_e8783
+ ld a, $13
+ ld [$cae2], a
+ call Func_e8efc
+ call Func_e8f16
+.asm_e8e45
+ call JoypadLowSensitivity
+ call Func_e8eca
+ jr c, .asm_e8e62
+ ld a, [wOverworldMap]
+ bit 7, a
+ jr nz, .asm_e8e62
+ call Func_e87a8
+ call Func_e8f51
+ call Func_e8f82
+ call DelayFrame
+ jr .asm_e8e45
+
+.asm_e8e62
+ xor a
+ ld [wUnknownSerialFlag_d49a], a
+ ld [wUnknownSerialFlag_d49b], a
+ call Func_e8f09
+ xor a
+ ld [rIF], a
+ pop af
+ ld [rIE], a
+ call Func_0f3d
+ call Func_e8f3b
+ ret
diff --git a/engine/unknown_e8d35.asm b/engine/unknown_e8d35.asm
deleted file mode 100755
index 7aeeff39..00000000
--- a/engine/unknown_e8d35.asm
+++ /dev/null
@@ -1,159 +0,0 @@
-Func_e8d35:: ; e8d35 (3a:4e79)
- ld a, [wBoxDataStart]
- and a
- jp z, Func_e8df4
- ld a, [wUpdateSpritesEnabled]
- push af
- xor a
- ld [wUpdateSpritesEnabled], a
- ld [hItemCounter], a
- call Func_e8f24
- ld a, [rIE]
- push af
- xor a
- ld [rIF], a
- ld a, $09
- ld [rIE], a
- call SaveScreenTilesToBuffer1
- xor a
- ld [H_AUTOBGTRANSFERENABLED], a
- call Func_e988a
- call Func_e8783
- ld a, $10
- ld [$cae2], a
- call Func_e8efc
- call LoadScreenTilesFromBuffer1
- call Func_e8dfb
- jr c, .asm_e8ddc
- xor a
- ld [wUnknownSerialFlag_d49a], a
- ld [wUnknownSerialFlag_d49b], a
- ld c, 12
- call DelayFrames
- xor a
- ld [H_AUTOBGTRANSFERENABLED], a
- call Func_e98ec
- call Func_e8783
- ld a, $00
- ld [$cae2], a
- call Func_e8efc
- call LoadScreenTilesFromBuffer1
- call Func_e8dfb
- jr c, .asm_e8ddc
- xor a
- ld [wUnknownSerialFlag_d49a], a
- ld [wUnknownSerialFlag_d49b], a
- ld c, 12
- call DelayFrames
- xor a
- ld [H_AUTOBGTRANSFERENABLED], a
- call Func_e9907
- call Func_e8783
- ld a, $00
- ld [$cae2], a
- call Func_e8efc
- call LoadScreenTilesFromBuffer1
- call Func_e8dfb
- jr c, .asm_e8ddc
- xor a
- ld [wUnknownSerialFlag_d49a], a
- ld [wUnknownSerialFlag_d49b], a
- ld c, 12
- call DelayFrames
- xor a
- ld [H_AUTOBGTRANSFERENABLED], a
- call Func_e9922
- call Func_e8783
- ld a, $03
- ld [$cae2], a
- call Func_e8efc
- call LoadScreenTilesFromBuffer1
- call Func_e8dfb
-.asm_e8ddc
- xor a
- ld [wUnknownSerialFlag_d49a], a
- ld [wUnknownSerialFlag_d49b], a
- xor a
- ld [rIF], a
- pop af
- ld [rIE], a
- call Func_0f3d
- call Func_e8f3b
- pop af
- ld [wUpdateSpritesEnabled], a
- ret
-
-Func_e8df4: ; e8df4
- ld hl, String_e8e1f
- call PrintText
- ret
-
-Func_e8dfb: ; e8dfb
- call Func_e8f16
-.asm_e8dfe
- call JoypadLowSensitivity
- call Func_e8eca
- jr c, .asm_e8e1d
- ld a, [wOverworldMap]
- bit 7, a
- jr nz, .asm_e8e1b
- call Func_e87a8
- call Func_e8f51
- call Func_e8f82
- call DelayFrame
- jr .asm_e8dfe
-
-.asm_e8e1b
- and a
- ret
-
-.asm_e8e1d
- scf
- ret
-
-String_e8e1f: ; e8e1f
- TX_FAR _NoPokemonText
- db "@"
-
-Func_e8e24: ; e8e24
- xor a
- ld [hItemCounter], a
- call Func_e8f24
- call Func_ea3ea
- ld a, [rIE]
- push af
- xor a
- ld [rIF], a
- ld a, $09
- ld [rIE], a
- call Func_e8783
- ld a, $13
- ld [$cae2], a
- call Func_e8efc
- call Func_e8f16
-.asm_e8e45
- call JoypadLowSensitivity
- call Func_e8eca
- jr c, .asm_e8e62
- ld a, [wOverworldMap]
- bit 7, a
- jr nz, .asm_e8e62
- call Func_e87a8
- call Func_e8f51
- call Func_e8f82
- call DelayFrame
- jr .asm_e8e45
-
-.asm_e8e62
- xor a
- ld [wUnknownSerialFlag_d49a], a
- ld [wUnknownSerialFlag_d49b], a
- call Func_e8f09
- xor a
- ld [rIF], a
- pop af
- ld [rIE], a
- call Func_0f3d
- call Func_e8f3b
- ret
-