summaryrefslogtreecommitdiff
path: root/src/engine/bank20.asm
blob: 11ca29a1f88df0e4f43c0f51d334cee285a38b17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
Func_80000: ; 80000 (20:4000)
INCBIN "baserom.gbc",$80000,$80028 - $80000

Func_80028: ; 80028 (20:4028)
INCBIN "baserom.gbc",$80028,$8020f - $80028

Func_8020f: ; 8020f (20:420f)
	push bc
	push af
	ld bc, MapDataPointers
	ld h, $0
	add hl, bc
	ld c, [hl]
	inc hl
	ld b, [hl]
	pop af
	ld l, a
	ld h, $0
	sla l
	rl h
	sla l
	rl h
	add hl, bc
	pop bc
	ret

Func_80229: ; 80229 (20:4229)
	ld a, [hli]
	ld [$d4c4], a
	ld a, [hli]
	ld [$d4c5], a
	ld a, [hli]
	add $20
	ld [$d4c6], a
	ret
; 0x80238

INCBIN "baserom.gbc",$80238,$8025b - $80238

Func_8025b: ; 8025b (20:425b)
	push hl
	ld l, $4
	call Func_8020f
	call Func_80229
	ld a, [hl]
	push af
	ld [$d4c8], a
	ld a, $10
	ld [$d4c7], a
	call Func_80274
	pop af
	pop hl
	ret

Func_80274: ; 80274 (20:4274)
	call Func_8029f
	jr asm_8027c

Func_80279: ; 80279 (20:4279)
	call Func_802bb
asm_8027c
	push hl
	push bc
	push de
	ld a, [$d4c8]
	ld b, a
	ld a, [$d4c7]
	ld c, a
	ld hl, $d4c2
	ld e, [hl]
	inc hl
	ld d, [hl]
	ld hl, $d4c4
	ld a, [hli]
	ld h, [hl]
	ld l, a
	inc hl
	inc hl
	call Func_395a
	call BankswitchVRAM_0
	pop de
	pop bc
	pop hl
	ret

Func_8029f: ; 8029f (20:429f)
	ld a, [$d4ca]
	swap a
	push af
	and $f0
	ld [$d4c2], a
	pop af
	and $f
	add $80
	ld [$d4c3], a
	ld a, [$d4cb]
	and $1
	call BankswitchVRAM
	ret

Func_802bb: ; 802bb (20:42bb)
	ld a, [$d4ca]
	push af
	xor $80
	ld [$d4ca], a
	call Func_8029f
	ld a, [$d4c3]
	add $8
	ld [$d4c3], a
	pop af
	ld [$d4ca], a
	ret
; 0x802d4

INCBIN "baserom.gbc",$802d4,$80418 - $802d4

Func_80418: ; 80418 (20:4418)
INCBIN "baserom.gbc",$80418,$80480 - $80418

Func_80480: ; 80480 (20:4480)
INCBIN "baserom.gbc",$80480,$804d8 - $80480

Func_804d8: ; 804d8 (20:44d8)
INCBIN "baserom.gbc",$804d8,$80b7a - $804d8

Func_80b7a: ; 80b7a (20:4b7a)
INCBIN "baserom.gbc",$80b7a,$80e5a - $80b7a

Unknown_80e5a: ; 80e5a (20:4e5a)
INCBIN "baserom.gbc",$80e5a,$80e5d - $80e5a

MapDataPointers: ; 80e5d (20:4e5d)
INCBIN "baserom.gbc",$80e5d,$84000 - $80e5d