summaryrefslogtreecommitdiff
path: root/misc/gbc_only.asm
blob: d642d6c241256e846eb7cf9455e7861c55a0c2f0 (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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
GBCOnlyScreen: ; 4ea82

	ld a, [hCGB]
	and a
	ret nz

	ld de, MUSIC_NONE
	call PlayMusic

	call ClearTileMap

	ld hl, GBCOnlyGFX
	ld de, $d000
	ld a, [rSVBK]
	push af
	ld a, 0
	ld [rSVBK], a
	call Decompress
	pop af
	ld [rSVBK], a

	ld de, $d000
	ld hl, VTiles2
	lb bc, BANK(GBCOnlyGFX), $54
	call Get2bpp

	ld de, Font
	ld hl, VTiles1
	lb bc, BANK(Font), $80
	call Get1bpp

	call DrawGBCOnlyScreen

	call WaitBGMap

; better luck next time
.loop
	call DelayFrame
	jr .loop
; 4eac5


DrawGBCOnlyScreen: ; 4eac5

	call DrawGBCOnlyBorder

	; Pokemon
	hlcoord 3, 2
	ld b, 14
	ld c, 4
	ld a, $8
	call DrawGBCOnlyGraphic

	; Crystal
	hlcoord 5, 6
	ld b, 10
	ld c, 2
	ld a, $40
	call DrawGBCOnlyGraphic

	ld de, GBCOnlyString
	hlcoord 1, 10
	call PlaceString

	ret
; 4eaea


DrawGBCOnlyBorder: ; 4eaea

	hlcoord 0, 0
	ld [hl], 0 ; top-left

	inc hl
	ld a, 1 ; top
	call .FillRow

	ld [hl], 2 ; top-right

	hlcoord 0, 1
	ld a, 3 ; left
	call .FillColumn

	hlcoord 19, 1
	ld a, 4 ; right
	call .FillColumn

	hlcoord 0, 17
	ld [hl], 5 ; bottom-left

	inc hl
	ld a, 6 ; bottom
	call .FillRow

	ld [hl], 7 ; bottom-right
	ret
; 4eb15

.FillRow ; 4eb15
	ld c, SCREEN_WIDTH - 2
.next_column
	ld [hli], a
	dec c
	jr nz, .next_column
	ret
; 4eb1c

.FillColumn ; 4eb1c
	ld de, SCREEN_WIDTH
	ld c, SCREEN_HEIGHT - 2
.next_row
	ld [hl], a
	add hl, de
	dec c
	jr nz, .next_row
	ret
; 4eb27


DrawGBCOnlyGraphic: ; 4eb27
	ld de, SCREEN_WIDTH
.y
	push bc
	push hl
.x
	ld [hli], a
	inc a
	dec b
	jr nz, .x
	pop hl
	add hl, de
	pop bc
	dec c
	jr nz, .y
	ret
; 4eb38


GBCOnlyString: ; 4eb38
	db   "This Game Pak is"
	next "designed only for"
	next "use on the"
	next "Game Boy Color.@"
; 4eb76


GBCOnlyGFX: ; 4eb76
INCBIN "gfx/misc/gbc_only.w112.2bpp.lz"
; 4f0bc