summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2021-04-21 17:24:32 +0200
committerBad Diode <bd@badd10de.dev>2021-04-21 17:24:32 +0200
commit579942ed5500bc9155649201708ffb925139d172 (patch)
tree97b47dbc134c7d088f50dbc08ed4d6b6c201272f
parent58d00f8ff54697b6f30cb6e12321ebc5a2377331 (diff)
downloadgba-experiments-579942ed5500bc9155649201708ffb925139d172.tar.gz
gba-experiments-579942ed5500bc9155649201708ffb925139d172.zip
Add more buttons to input testinput-demo
-rw-r--r--src/gba-buttons.c690
-rw-r--r--src/main.c207
2 files changed, 877 insertions, 20 deletions
diff --git a/src/gba-buttons.c b/src/gba-buttons.c
index de62212..cc53c01 100644
--- a/src/gba-buttons.c
+++ b/src/gba-buttons.c
@@ -228,6 +228,696 @@ u32 gba_btn_b_data[112][8] = {
228 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 228 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
229}; 229};
230 230
231u32 gba_btn_up_data[112][8] = {
232 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
233 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
234 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
235 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
236 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
237 {0x11111000, 0x00001000, 0x10001000, 0x11001000, 0x11101000, 0x10001000, 0x10001000, 0x10001000},
238 {0x00001111, 0x00001000, 0x00001000, 0x00001001, 0x00001011, 0x00001000, 0x00001000, 0x00001000},
239 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
240 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
241 {0x10001000, 0x00011000, 0x11101000, 0x00010000, 0x11100000, 0x00000000, 0x00000000, 0x00000000},
242 {0x00001000, 0x00001100, 0x00001011, 0x00000100, 0x00000011, 0x00000000, 0x00000000, 0x00000000},
243 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
244 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
245 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
246 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
247 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
248 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
249 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
250 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
251 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
252 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
253 {0x00000000, 0x11111000, 0x00001000, 0x10001000, 0x11001000, 0x11101000, 0x10001000, 0x10001000},
254 {0x00000000, 0x00001111, 0x00001000, 0x00001000, 0x00001001, 0x00001011, 0x00001000, 0x00001000},
255 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
256 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
257 {0x10001000, 0x10001000, 0x00011000, 0x11110000, 0x11100000, 0x00000000, 0x00000000, 0x00000000},
258 {0x00001000, 0x00001000, 0x00001100, 0x00000111, 0x00000011, 0x00000000, 0x00000000, 0x00000000},
259 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
260 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
261 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
262 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
263 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
264 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
265 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10000000},
266 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
267 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
268 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
269 {0x00000000, 0x00000010, 0x11111000, 0x00001000, 0x10001000, 0x11001000, 0x11101000, 0x10001000},
270 {0x00000000, 0x00100000, 0x00001111, 0x00001000, 0x00001000, 0x00001001, 0x00001011, 0x00001000},
271 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
272 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
273 {0x10001000, 0x10001000, 0x10001000, 0x00010000, 0x11100000, 0x00000000, 0x00000000, 0x00000000},
274 {0x00001000, 0x00001000, 0x00001000, 0x00000100, 0x00000011, 0x00000000, 0x00000000, 0x00000000},
275 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
276 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
277 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
278 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
279 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
280 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10000000},
281 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x10000000, 0x00000000},
282 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10000000},
283 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
284 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
285 {0x00000001, 0x00000000, 0x11111000, 0x00001000, 0x10001000, 0x11001000, 0x11101000, 0x10001000},
286 {0x01000000, 0x00000000, 0x00001111, 0x00001000, 0x00001000, 0x00001001, 0x00001011, 0x00001000},
287 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
288 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
289 {0x10001000, 0x10001000, 0x10001000, 0x00010000, 0x11100000, 0x00000000, 0x00000000, 0x00000000},
290 {0x00001000, 0x00001000, 0x00001000, 0x00000100, 0x00000011, 0x00000000, 0x00000000, 0x00000000},
291 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
292 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
293 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
294 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
295 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
296 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01000000, 0x10000000},
297 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x10000000, 0x00000000, 0x00000000},
298 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10000000},
299 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000},
300 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
301 {0x00000000, 0x00000000, 0x11111000, 0x00001000, 0x10001000, 0x11001000, 0x11101000, 0x10001000},
302 {0x00000000, 0x00000000, 0x00001111, 0x00001000, 0x00001000, 0x00001001, 0x00001011, 0x00001000},
303 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
304 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
305 {0x10001000, 0x10001000, 0x10001000, 0x00010000, 0x11100000, 0x00000000, 0x00000000, 0x00000000},
306 {0x00001000, 0x00001000, 0x00001000, 0x00000100, 0x00000011, 0x00000000, 0x00000000, 0x00000000},
307 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
308 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
309 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
310 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
311 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
312 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00100000, 0x00000000, 0x00000000},
313 {0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
314 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
315 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0x00000000},
316 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
317 {0x00000000, 0x00000000, 0x11111000, 0x00001000, 0x10001000, 0x11001000, 0x11101000, 0x10001000},
318 {0x00000000, 0x00000000, 0x00001111, 0x00001000, 0x00001000, 0x00001001, 0x00001011, 0x00001000},
319 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
320 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
321 {0x10001000, 0x10001000, 0x10001000, 0x00010000, 0x11100000, 0x00000000, 0x00000000, 0x00000000},
322 {0x00001000, 0x00001000, 0x00001000, 0x00000100, 0x00000011, 0x00000000, 0x00000000, 0x00000000},
323 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
324 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
325 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
326 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
327 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
328 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
329 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
330 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
331 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
332 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
333 {0x00000000, 0x00000000, 0x11111000, 0x00001000, 0x10001000, 0x11001000, 0x11101000, 0x10001000},
334 {0x00000000, 0x00000000, 0x00001111, 0x00001000, 0x00001000, 0x00001001, 0x00001011, 0x00001000},
335 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
336 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
337 {0x10001000, 0x10001000, 0x10001000, 0x00010000, 0x11100000, 0x00000000, 0x00000000, 0x00000000},
338 {0x00001000, 0x00001000, 0x00001000, 0x00000100, 0x00000011, 0x00000000, 0x00000000, 0x00000000},
339 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
340 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
341 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
342 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
343 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
344};
345
346u32 gba_btn_down_data[112][8] = {
347 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
348 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
349 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
350 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
351 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
352 {0x00000000, 0x11100000, 0x00010000, 0x10001000, 0x10001000, 0x10001000, 0x10001000, 0x11101000},
353 {0x00000000, 0x00000011, 0x00000100, 0x00001000, 0x00001000, 0x00001000, 0x00001000, 0x00001011},
354 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
355 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
356 {0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x00001000, 0x11111000, 0x00000000, 0x00000000},
357 {0x00001001, 0x00001000, 0x00001000, 0x00001111, 0x00001000, 0x00001111, 0x00000000, 0x00000000},
358 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
359 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
360 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
361 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
362 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
363 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
364 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
365 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
366 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
367 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
368 {0x00000000, 0x00000000, 0x11100000, 0x00010000, 0x10001000, 0x10001000, 0x10001000, 0x10001000},
369 {0x00000000, 0x00000000, 0x00000011, 0x00000100, 0x00001000, 0x00001000, 0x00001000, 0x00001000},
370 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
371 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
372 {0x11101000, 0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x11111000, 0x00000000, 0x00000000},
373 {0x00001011, 0x00001001, 0x00001000, 0x00001000, 0x00001111, 0x00001111, 0x00000000, 0x00000000},
374 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
375 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
376 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
377 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
378 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
379 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
380 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
381 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
382 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
383 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
384 {0x00000000, 0x00000000, 0x00000000, 0x11100000, 0x00010000, 0x10001000, 0x10001000, 0x10001000},
385 {0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000100, 0x00001000, 0x00001000, 0x00001000},
386 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
387 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
388 {0x10001000, 0x11101000, 0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x00000010, 0x00000000},
389 {0x00001000, 0x00001011, 0x00001001, 0x00001000, 0x00001000, 0x00001111, 0x00100000, 0x00000000},
390 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
391 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
392 {0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
393 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
394 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
395 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
396 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
397 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
398 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
399 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
400 {0x00000000, 0x00000000, 0x00000000, 0x11100000, 0x00010000, 0x10001000, 0x10001000, 0x10001000},
401 {0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000100, 0x00001000, 0x00001000, 0x00001000},
402 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
403 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
404 {0x10001000, 0x11101000, 0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x00000000, 0x00000001},
405 {0x00001000, 0x00001011, 0x00001001, 0x00001000, 0x00001000, 0x00001111, 0x00000000, 0x01000000},
406 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
407 {0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
408 {0x00000000, 0x10000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
409 {0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
410 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
411 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
412 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
413 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
414 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
415 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
416 {0x00000000, 0x00000000, 0x00000000, 0x11100000, 0x00010000, 0x10001000, 0x10001000, 0x10001000},
417 {0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000100, 0x00001000, 0x00001000, 0x00001000},
418 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
419 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
420 {0x10001000, 0x11101000, 0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x00000000, 0x00000000},
421 {0x00001000, 0x00001011, 0x00001001, 0x00001000, 0x00001000, 0x00001111, 0x00000000, 0x00000000},
422 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
423 {0x10000000, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
424 {0x00000000, 0x00000000, 0x10000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
425 {0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
426 {0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
427 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
428 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
429 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
430 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
431 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
432 {0x00000000, 0x00000000, 0x00000000, 0x11100000, 0x00010000, 0x10001000, 0x10001000, 0x10001000},
433 {0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000100, 0x00001000, 0x00001000, 0x00001000},
434 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
435 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
436 {0x10001000, 0x11101000, 0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x00000000, 0x00000000},
437 {0x00001000, 0x00001011, 0x00001001, 0x00001000, 0x00001000, 0x00001111, 0x00000000, 0x00000000},
438 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
439 {0x00000000, 0x00000000, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
440 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000},
441 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
442 {0x00000000, 0x00000000, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
443 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
444 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
445 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
446 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
447 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
448 {0x00000000, 0x00000000, 0x00000000, 0x11100000, 0x00010000, 0x10001000, 0x10001000, 0x10001000},
449 {0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000100, 0x00001000, 0x00001000, 0x00001000},
450 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
451 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
452 {0x10001000, 0x11101000, 0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x00000000, 0x00000000},
453 {0x00001000, 0x00001011, 0x00001001, 0x00001000, 0x00001000, 0x00001111, 0x00000000, 0x00000000},
454 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
455 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
456 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
457 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
458 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
459};
460
461u32 gba_btn_left_data[112][8] = {
462 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
463 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
464 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
465 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
466 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
467 {0x00000000, 0x00000000, 0x11111000, 0x00001000, 0x10001000, 0x11001000, 0x11101000, 0x11001000},
468 {0x00000000, 0x00000000, 0x00001111, 0x00010000, 0x00100000, 0x00100000, 0x00101111, 0x00100000},
469 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
470 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
471 {0x10001000, 0x00001000, 0x11111000, 0x00001000, 0x11111000, 0x00000000, 0x00000000, 0x00000000},
472 {0x00100000, 0x00110000, 0x00101111, 0x00010000, 0x00001111, 0x00000000, 0x00000000, 0x00000000},
473 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
474 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
475 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
476 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
477 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
478 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
479 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
480 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
481 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
482 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
483 {0x00000000, 0x00000000, 0x00000000, 0x11111000, 0x00001000, 0x10001000, 0x11001000, 0x11101000},
484 {0x00000000, 0x00000000, 0x00000000, 0x00001111, 0x00010000, 0x00100000, 0x00100000, 0x00101111},
485 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
486 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
487 {0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x11111000, 0x00000000, 0x00000000, 0x00000000},
488 {0x00100000, 0x00100000, 0x00110000, 0x00011111, 0x00001111, 0x00000000, 0x00000000, 0x00000000},
489 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
490 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
491 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
492 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
493 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
494 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
495 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
496 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
497 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
498 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
499 {0x00000000, 0x00000000, 0x00000100, 0x00000000, 0x11111000, 0x00001000, 0x10001000, 0x11001000},
500 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001111, 0x00010000, 0x00100000, 0x00100000},
501 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
502 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
503 {0x11101001, 0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x00000000, 0x00000100, 0x00000000},
504 {0x00101111, 0x00100000, 0x00100000, 0x00010000, 0x00001111, 0x00000000, 0x00000000, 0x00000000},
505 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
506 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
507 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
508 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
509 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
510 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
511 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
512 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
513 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
514 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
515 {0x00000001, 0x00000010, 0x00000000, 0x00000000, 0x11111000, 0x00001000, 0x10001000, 0x11001000},
516 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001111, 0x00010000, 0x00100000, 0x00100000},
517 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
518 {0x11000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
519 {0x11101000, 0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x00000000, 0x00000000, 0x00000010},
520 {0x00101111, 0x00100000, 0x00100000, 0x00010000, 0x00001111, 0x00000000, 0x00000000, 0x00000000},
521 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
522 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
523 {0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
524 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
525 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
526 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10000000},
527 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
528 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
529 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
530 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
531 {0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x11111000, 0x00001000, 0x10001000, 0x11001000},
532 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001111, 0x00010000, 0x00100000, 0x00100000},
533 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
534 {0x01100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
535 {0x11101000, 0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x00000000, 0x00000000, 0x00000000},
536 {0x00101111, 0x00100000, 0x00100000, 0x00010000, 0x00001111, 0x00000000, 0x00000000, 0x00000000},
537 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
538 {0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
539 {0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
540 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
541 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
542 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01000000, 0x00000000},
543 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
544 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
545 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
546 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
547 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111000, 0x00001000, 0x10001000, 0x11001000},
548 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001111, 0x00010000, 0x00100000, 0x00100000},
549 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
550 {0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
551 {0x11101000, 0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x00000000, 0x00000000, 0x00000000},
552 {0x00101111, 0x00100000, 0x00100000, 0x00010000, 0x00001111, 0x00000000, 0x00000000, 0x00000000},
553 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
554 {0x00000000, 0x00000000, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
555 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
556 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
557 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
558 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
559 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
560 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
561 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
562 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
563 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111000, 0x00001000, 0x10001000, 0x11001000},
564 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001111, 0x00010000, 0x00100000, 0x00100000},
565 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
566 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
567 {0x11101000, 0x11001000, 0x10001000, 0x00001000, 0x11111000, 0x00000000, 0x00000000, 0x00000000},
568 {0x00101111, 0x00100000, 0x00100000, 0x00010000, 0x00001111, 0x00000000, 0x00000000, 0x00000000},
569 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
570 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
571 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
572 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
573 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
574};
575
576u32 gba_btn_right_data[112][8] = {
577 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
578 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
579 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
580 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
581 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
582 {0x00000000, 0x00000000, 0x11110000, 0x00001000, 0x00000100, 0x00000100, 0x11110100, 0x00000100},
583 {0x00000000, 0x00000000, 0x00011111, 0x00010000, 0x00010001, 0x00010011, 0x00010111, 0x00010011},
584 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
585 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
586 {0x00000100, 0x00001100, 0x11110100, 0x00001000, 0x11110000, 0x00000000, 0x00000000, 0x00000000},
587 {0x00010001, 0x00010000, 0x00011111, 0x00010000, 0x00011111, 0x00000000, 0x00000000, 0x00000000},
588 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
589 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
590 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
591 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
592 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
593 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
594 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
595 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
596 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
597 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
598 {0x00000000, 0x00000000, 0x00000000, 0x11110000, 0x00001000, 0x00000100, 0x00000100, 0x11110100},
599 {0x00000000, 0x00000000, 0x00000000, 0x00011111, 0x00010000, 0x00010001, 0x00010011, 0x00010111},
600 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
601 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
602 {0x00000100, 0x00000100, 0x00001100, 0x11111000, 0x11110000, 0x00000000, 0x00000000, 0x00000000},
603 {0x00010011, 0x00010001, 0x00010000, 0x00011111, 0x00011111, 0x00000000, 0x00000000, 0x00000000},
604 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
605 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
606 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
607 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
608 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
609 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
610 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
611 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
612 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
613 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
614 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11110000, 0x00001000, 0x00000100, 0x00000100},
615 {0x00000000, 0x00000000, 0x00100000, 0x00000000, 0x00011111, 0x00010000, 0x00010001, 0x00010011},
616 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
617 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
618 {0x11110100, 0x00000100, 0x00000100, 0x00001000, 0x11110000, 0x00000000, 0x00000000, 0x00000000},
619 {0x10010111, 0x00010011, 0x00010001, 0x00010000, 0x00011111, 0x00000000, 0x00100000, 0x00000000},
620 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
621 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
622 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
623 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
624 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
625 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
626 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
627 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
628 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
629 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
630 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11110000, 0x00001000, 0x00000100, 0x00000100},
631 {0x10000000, 0x01000000, 0x00000000, 0x00000000, 0x00011111, 0x00010000, 0x00010001, 0x00010011},
632 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
633 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
634 {0x11110100, 0x00000100, 0x00000100, 0x00001000, 0x11110000, 0x00000000, 0x00000000, 0x00000000},
635 {0x00010111, 0x00010011, 0x00010001, 0x00010000, 0x00011111, 0x00000000, 0x00000000, 0x01000000},
636 {0x00000011, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
637 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
638 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
639 {0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
640 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
641 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
642 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
643 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
644 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001},
645 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
646 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11110000, 0x00001000, 0x00000100, 0x00000100},
647 {0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00011111, 0x00010000, 0x00010001, 0x00010011},
648 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
649 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
650 {0x11110100, 0x00000100, 0x00000100, 0x00001000, 0x11110000, 0x00000000, 0x00000000, 0x00000000},
651 {0x00010111, 0x00010011, 0x00010001, 0x00010000, 0x00011111, 0x00000000, 0x00000000, 0x00000000},
652 {0x00000110, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
653 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
654 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
655 {0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
656 {0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
657 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
658 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
659 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
660 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00000000},
661 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
662 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11110000, 0x00001000, 0x00000100, 0x00000100},
663 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00011111, 0x00010000, 0x00010001, 0x00010011},
664 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
665 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
666 {0x11110100, 0x00000100, 0x00000100, 0x00001000, 0x11110000, 0x00000000, 0x00000000, 0x00000000},
667 {0x00010111, 0x00010011, 0x00010001, 0x00010000, 0x00011111, 0x00000000, 0x00000000, 0x00000000},
668 {0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
669 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
670 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
671 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
672 {0x00000000, 0x00000000, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
673 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
674 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
675 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
676 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
677 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
678 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11110000, 0x00001000, 0x00000100, 0x00000100},
679 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00011111, 0x00010000, 0x00010001, 0x00010011},
680 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
681 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
682 {0x11110100, 0x00000100, 0x00000100, 0x00001000, 0x11110000, 0x00000000, 0x00000000, 0x00000000},
683 {0x00010111, 0x00010011, 0x00010001, 0x00010000, 0x00011111, 0x00000000, 0x00000000, 0x00000000},
684 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
685 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
686 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
687 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
688 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
689};
690
691u32 gba_btn_l_data[112][8] = {
692 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
693 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
694 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
695 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
696 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
697 {0x00000000, 0x00000000, 0x11111100, 0x00000010, 0x00000001, 0x00000001, 0x00000001, 0x00000001},
698 {0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000111},
699 {0x00000000, 0x00000000, 0x00000011, 0x00000010, 0x00000010, 0x00000010, 0x00000010, 0x00000010},
700 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
701 {0x00000001, 0x11111111, 0x00000001, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
702 {0x00000000, 0x11111111, 0x00000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
703 {0x00000010, 0x00000011, 0x00000010, 0x00000011, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
704 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
705 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
706 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
707 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
708 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
709 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
710 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
711 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
712 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
713 {0x00000000, 0x00000000, 0x00000000, 0x11111100, 0x00000010, 0x00000001, 0x00000001, 0x00000001},
714 {0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x00000001, 0x00000001, 0x00000001},
715 {0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000010, 0x00000010, 0x00000010, 0x00000010},
716 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
717 {0x00000001, 0x00000001, 0x11111111, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
718 {0x00000111, 0x00000000, 0x11111111, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
719 {0x00000010, 0x00000010, 0x00000011, 0x00000011, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
720 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
721 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
722 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
723 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
724 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
725 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
726 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
727 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
728 {0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x01000000},
729 {0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x11111100, 0x00000010, 0x00000001, 0x00000001},
730 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x00000001, 0x00000001},
731 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000010, 0x00000010, 0x00000010},
732 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
733 {0x00000001, 0x00000001, 0x00000001, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
734 {0x00000001, 0x00000111, 0x00000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
735 {0x00000010, 0x00000010, 0x00000010, 0x00000011, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
736 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
737 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
738 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
739 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
740 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
741 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
742 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
743 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
744 {0x00000000, 0x00100000, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00110000},
745 {0x00010000, 0x00010000, 0x00000000, 0x00000000, 0x11111100, 0x00000010, 0x00000001, 0x00000001},
746 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x00000001, 0x00000001},
747 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000010, 0x00000010, 0x00000010},
748 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
749 {0x00000001, 0x00000001, 0x00000001, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
750 {0x00000001, 0x00000111, 0x00000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
751 {0x00000010, 0x00000010, 0x00000010, 0x00000011, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
752 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
753 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
754 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
755 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
756 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
757 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000},
758 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
759 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
760 {0x00010000, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00011000},
761 {0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x11111100, 0x00000010, 0x00000001, 0x00000001},
762 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x00000001, 0x00000001},
763 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000010, 0x00000010, 0x00000010},
764 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
765 {0x00000001, 0x00000001, 0x00000001, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
766 {0x00000001, 0x00000111, 0x00000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
767 {0x00000010, 0x00000010, 0x00000010, 0x00000011, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
768 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
769 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
770 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
771 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
772 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
773 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000},
774 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
775 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
776 {0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100},
777 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111100, 0x00000010, 0x00000001, 0x00000001},
778 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x00000001, 0x00000001},
779 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000010, 0x00000010, 0x00000010},
780 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
781 {0x00000001, 0x00000001, 0x00000001, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
782 {0x00000001, 0x00000111, 0x00000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
783 {0x00000010, 0x00000010, 0x00000010, 0x00000011, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
784 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
785 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
786 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
787 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
788 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
789 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
790 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
791 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
792 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
793 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111100, 0x00000010, 0x00000001, 0x00000001},
794 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x00000001, 0x00000001},
795 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x00000010, 0x00000010, 0x00000010},
796 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
797 {0x00000001, 0x00000001, 0x00000001, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
798 {0x00000001, 0x00000111, 0x00000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
799 {0x00000010, 0x00000010, 0x00000010, 0x00000011, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
800 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
801 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
802 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
803 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
804};
805
806u32 gba_btn_r_data[112][8] = {
807 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
808 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
809 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
810 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
811 {0x00000000, 0x00000000, 0x11000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000},
812 {0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x01100000, 0x10100000, 0x01100000, 0x10100000},
813 {0x00000000, 0x00000000, 0x00111111, 0x01000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000},
814 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
815 {0x01000000, 0x11000000, 0x01000000, 0x11000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
816 {0x00000000, 0x11111111, 0x00000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
817 {0x10000000, 0x11111111, 0x10000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
818 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
819 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
820 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
821 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
822 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
823 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
824 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
825 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
826 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
827 {0x00000000, 0x00000000, 0x00000000, 0x11000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000},
828 {0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x01100000, 0x10100000, 0x01100000},
829 {0x00000000, 0x00000000, 0x00000000, 0x00111111, 0x01000000, 0x10000000, 0x10000000, 0x10000000},
830 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
831 {0x01000000, 0x01000000, 0x11000000, 0x11000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
832 {0x10100000, 0x00000000, 0x11111111, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
833 {0x10000000, 0x10000000, 0x11111111, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
834 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
835 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
836 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
837 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
838 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
839 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
840 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
841 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
842 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
843 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11000000, 0x01000000, 0x01000000, 0x01000000},
844 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x01100000, 0x10100000},
845 {0x00000000, 0x00000000, 0x00001000, 0x00000000, 0x00111111, 0x01000000, 0x10000000, 0x10000000},
846 {0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000010},
847 {0x01000000, 0x01000000, 0x01000000, 0x11000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
848 {0x01100000, 0x10100000, 0x00000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
849 {0x10000000, 0x10000000, 0x10000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
850 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
851 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
852 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
853 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
854 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
855 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
856 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
857 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
858 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
859 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11000000, 0x01000000, 0x01000000, 0x01000000},
860 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x01100000, 0x10100000},
861 {0x00001000, 0x00001000, 0x00000000, 0x00000000, 0x00111111, 0x01000000, 0x10000000, 0x10000000},
862 {0x00000000, 0x00000100, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001100},
863 {0x01000000, 0x01000000, 0x01000000, 0x11000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
864 {0x01100000, 0x10100000, 0x00000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
865 {0x10000000, 0x10000000, 0x10000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
866 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
867 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
868 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
869 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
870 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
871 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
872 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
873 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001000},
874 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
875 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11000000, 0x01000000, 0x01000000, 0x01000000},
876 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x01100000, 0x10100000},
877 {0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00111111, 0x01000000, 0x10000000, 0x10000000},
878 {0x00001000, 0x00000100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00011000},
879 {0x01000000, 0x01000000, 0x01000000, 0x11000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
880 {0x01100000, 0x10100000, 0x00000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
881 {0x10000000, 0x10000000, 0x10000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
882 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
883 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
884 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
885 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
886 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
887 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
888 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
889 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001000},
890 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
891 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11000000, 0x01000000, 0x01000000, 0x01000000},
892 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x01100000, 0x10100000},
893 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00111111, 0x01000000, 0x10000000, 0x10000000},
894 {0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00100000},
895 {0x01000000, 0x01000000, 0x01000000, 0x11000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
896 {0x01100000, 0x10100000, 0x00000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
897 {0x10000000, 0x10000000, 0x10000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
898 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
899 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
900 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
901 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
902 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
903 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
904 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
905 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
906 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
907 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11000000, 0x01000000, 0x01000000, 0x01000000},
908 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x11111111, 0x00000000, 0x01100000, 0x10100000},
909 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00111111, 0x01000000, 0x10000000, 0x10000000},
910 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
911 {0x01000000, 0x01000000, 0x01000000, 0x11000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
912 {0x01100000, 0x10100000, 0x00000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
913 {0x10000000, 0x10000000, 0x10000000, 0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
914 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
915 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
916 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
917 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
918 {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
919};
920
231typedef struct SpriteAnimation { 921typedef struct SpriteAnimation {
232 size_t *tile_offsets; 922 size_t *tile_offsets;
233 size_t n_frames; 923 size_t n_frames;
diff --git a/src/main.c b/src/main.c
index 2015ee0..563340e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -491,7 +491,7 @@ load_sprite_data(u32 *sprite_data, size_t n_tiles, size_t n_frames) {
491int main(void) { 491int main(void) {
492 // Configure the display in mode 0 to show OBJs, where tile memory is 492 // Configure the display in mode 0 to show OBJs, where tile memory is
493 // sequential. 493 // sequential.
494 DISP_CTRL = DISP_MODE_3 | DISP_ENABLE_SPRITES | DISP_BG_2; 494 DISP_CTRL = DISP_MODE_0 | DISP_ENABLE_SPRITES | DISP_BG_2;
495 495
496 // Add colors to the sprite color palette. Tiles with color number 0 are 496 // Add colors to the sprite color palette. Tiles with color number 0 are
497 // treated as transparent. 497 // treated as transparent.
@@ -505,16 +505,16 @@ int main(void) {
505 OBJ_ATTR_0(i) = (1 << 9); 505 OBJ_ATTR_0(i) = (1 << 9);
506 } 506 }
507 507
508 sprite_tile_counter = 512; 508 sprite_tile_counter = 0;
509 sprite_memory = &TILE_MEM[4][sprite_tile_counter]; 509 sprite_memory = &TILE_MEM[4][sprite_tile_counter];
510 510
511 // Initialize the A/B button sprites. 511 // Initialize the A/B button sprites.
512 int buttons_x = SCREEN_WIDTH - 64 - 10; 512 int buttons_x = SCREEN_WIDTH / 2;
513 int buttons_y = 120; 513 int buttons_y = SCREEN_HEIGHT / 2;
514 ButtonSprite btn_b = { 514 ButtonSprite btn_b = {
515 .id = load_sprite_data(&gba_btn_b_data, 16, 7), 515 .id = load_sprite_data(&gba_btn_b_data, 16, 7),
516 .x = buttons_x, 516 .x = buttons_x + 32,
517 .y = buttons_y, 517 .y = buttons_y + 32,
518 .frame = 0, 518 .frame = 0,
519 .state = BTN_STATE_IDLE, 519 .state = BTN_STATE_IDLE,
520 }; 520 };
@@ -524,8 +524,8 @@ int main(void) {
524 524
525 ButtonSprite btn_a = { 525 ButtonSprite btn_a = {
526 .id = load_sprite_data(&gba_btn_a_data, 16, 7), 526 .id = load_sprite_data(&gba_btn_a_data, 16, 7),
527 .x = buttons_x + 20, 527 .x = buttons_x + 32 + 20,
528 .y = buttons_y - 16, 528 .y = buttons_y + 32 - 16,
529 .frame = 0, 529 .frame = 0,
530 .state = BTN_STATE_IDLE, 530 .state = BTN_STATE_IDLE,
531 }; 531 };
@@ -533,22 +533,79 @@ int main(void) {
533 OBJ_ATTR_1(btn_a.id) = btn_a.x | (1 << 0xF); 533 OBJ_ATTR_1(btn_a.id) = btn_a.x | (1 << 0xF);
534 OBJ_ATTR_2(btn_a.id) = sprites[btn_a.id].tile_start; 534 OBJ_ATTR_2(btn_a.id) = sprites[btn_a.id].tile_start;
535 535
536 draw_logo(); 536 ButtonSprite btn_down = {
537 .id = load_sprite_data(&gba_btn_down_data, 16, 7),
538 .x = buttons_x - 64 - 16,
539 .y = buttons_y + 32,
540 .frame = 0,
541 .state = BTN_STATE_IDLE,
542 };
543 OBJ_ATTR_0(btn_down.id) = btn_down.y;
544 OBJ_ATTR_1(btn_down.id) = btn_down.x | (1 << 0xF);
545 OBJ_ATTR_2(btn_down.id) = sprites[btn_down.id].tile_start;
546
547 ButtonSprite btn_up = {
548 .id = load_sprite_data(&gba_btn_up_data, 16, 7),
549 .x = buttons_x - 64 - 16,
550 .y = buttons_y + 32 - 18,
551 .frame = 0,
552 .state = BTN_STATE_IDLE,
553 };
554 OBJ_ATTR_0(btn_up.id) = btn_up.y;
555 OBJ_ATTR_1(btn_up.id) = btn_up.x | (1 << 0xF);
556 OBJ_ATTR_2(btn_up.id) = sprites[btn_up.id].tile_start;
557
558 ButtonSprite btn_left = {
559 .id = load_sprite_data(&gba_btn_left_data, 16, 7),
560 .x = buttons_x - 64 - 16 - 12,
561 .y = buttons_y + 32 - 10,
562 .frame = 0,
563 .state = BTN_STATE_IDLE,
564 };
565 OBJ_ATTR_0(btn_left.id) = btn_left.y;
566 OBJ_ATTR_1(btn_left.id) = btn_left.x | (1 << 0xF);
567 OBJ_ATTR_2(btn_left.id) = sprites[btn_left.id].tile_start;
568
569 ButtonSprite btn_right = {
570 .id = load_sprite_data(&gba_btn_right_data, 16, 7),
571 .x = buttons_x - 64 - 16 + 11,
572 .y = buttons_y + 32 - 10,
573 .frame = 0,
574 .state = BTN_STATE_IDLE,
575 };
576 OBJ_ATTR_0(btn_right.id) = btn_right.y;
577 OBJ_ATTR_1(btn_right.id) = btn_right.x | (1 << 0xF);
578 OBJ_ATTR_2(btn_right.id) = sprites[btn_right.id].tile_start;
579
580 ButtonSprite btn_l = {
581 .id = load_sprite_data(&gba_btn_l_data, 16, 7),
582 .x = buttons_x - 64 - 28,
583 .y = buttons_y - 32 - 20,
584 .frame = 0,
585 .state = BTN_STATE_IDLE,
586 };
587 OBJ_ATTR_0(btn_l.id) = btn_l.y;
588 OBJ_ATTR_1(btn_l.id) = btn_l.x | (1 << 0xF);
589 OBJ_ATTR_2(btn_l.id) = sprites[btn_l.id].tile_start;
590
591 ButtonSprite btn_r = {
592 .id = load_sprite_data(&gba_btn_r_data, 16, 7),
593 .x = buttons_x + 32 + 20,
594 .y = buttons_y - 32 - 20,
595 .frame = 0,
596 .state = BTN_STATE_IDLE,
597 };
598 OBJ_ATTR_0(btn_r.id) = btn_r.y;
599 OBJ_ATTR_1(btn_r.id) = btn_r.x | (1 << 0xF);
600 OBJ_ATTR_2(btn_r.id) = sprites[btn_r.id].tile_start;
601
602 // draw_logo();
537 603
538 int frame_counter = 0; 604 int frame_counter = 0;
539 while(true) { 605 while(true) {
540 wait_vsync(); 606 wait_vsync();
541 poll_keys(); 607 poll_keys();
542 608
543 // Toggle frame counter when we press down.
544 if (key_pressed(KEY_DOWN) || key_hold(KEY_DOWN)) {
545 }
546 if (key_pressed(KEY_UP) || key_hold(KEY_UP)) {
547 }
548 if (key_pressed(KEY_LEFT) || key_hold(KEY_LEFT)) {
549 }
550 if (key_pressed(KEY_RIGHT) || key_hold(KEY_RIGHT)) {
551 }
552 if (key_pressed(KEY_B)) { 609 if (key_pressed(KEY_B)) {
553 btn_b.frame = 0; 610 btn_b.frame = 0;
554 btn_b.state = BTN_STATE_PRESSED; 611 btn_b.state = BTN_STATE_PRESSED;
@@ -558,8 +615,8 @@ int main(void) {
558 btn_b.frame++; 615 btn_b.frame++;
559 } 616 }
560 } else { 617 } else {
561 size_t n_frames = animation_states[btn_b.state]->n_frames;
562 // Finish the animation and reset idle state. 618 // Finish the animation and reset idle state.
619 size_t n_frames = animation_states[btn_b.state]->n_frames;
563 if (btn_b.frame > 0 && btn_b.frame < n_frames - 1) { 620 if (btn_b.frame > 0 && btn_b.frame < n_frames - 1) {
564 btn_b.frame++; 621 btn_b.frame++;
565 } else { 622 } else {
@@ -576,8 +633,8 @@ int main(void) {
576 btn_a.frame++; 633 btn_a.frame++;
577 } 634 }
578 } else { 635 } else {
579 size_t n_frames = animation_states[btn_a.state]->n_frames;
580 // Finish the animation and reset idle state. 636 // Finish the animation and reset idle state.
637 size_t n_frames = animation_states[btn_a.state]->n_frames;
581 if (btn_a.frame > 0 && btn_a.frame < n_frames - 1) { 638 if (btn_a.frame > 0 && btn_a.frame < n_frames - 1) {
582 btn_a.frame++; 639 btn_a.frame++;
583 } else { 640 } else {
@@ -585,13 +642,123 @@ int main(void) {
585 btn_a.state = BTN_STATE_IDLE; 642 btn_a.state = BTN_STATE_IDLE;
586 } 643 }
587 } 644 }
645 if (key_pressed(KEY_DOWN)) {
646 btn_down.frame = 0;
647 btn_down.state = BTN_STATE_PRESSED;
648 } else if (key_hold(KEY_DOWN)) {
649 size_t n_frames = animation_states[btn_down.state]->n_frames;
650 if (btn_down.frame < n_frames - 1) {
651 btn_down.frame++;
652 }
653 } else {
654 // Finish the animation and reset idle state.
655 size_t n_frames = animation_states[btn_down.state]->n_frames;
656 if (btn_down.frame > 0 && btn_down.frame < n_frames - 1) {
657 btn_down.frame++;
658 } else {
659 btn_down.frame = 0;
660 btn_down.state = BTN_STATE_IDLE;
661 }
662 }
663 if (key_pressed(KEY_UP)) {
664 btn_up.frame = 0;
665 btn_up.state = BTN_STATE_PRESSED;
666 } else if (key_hold(KEY_UP)) {
667 size_t n_frames = animation_states[btn_up.state]->n_frames;
668 if (btn_up.frame < n_frames - 1) {
669 btn_up.frame++;
670 }
671 } else {
672 // Finish the animation and reset idle state.
673 size_t n_frames = animation_states[btn_up.state]->n_frames;
674 if (btn_up.frame > 0 && btn_up.frame < n_frames - 1) {
675 btn_up.frame++;
676 } else {
677 btn_up.frame = 0;
678 btn_up.state = BTN_STATE_IDLE;
679 }
680 }
681 if (key_pressed(KEY_LEFT)) {
682 btn_left.frame = 0;
683 btn_left.state = BTN_STATE_PRESSED;
684 } else if (key_hold(KEY_LEFT)) {
685 size_t n_frames = animation_states[btn_left.state]->n_frames;
686 if (btn_left.frame < n_frames - 1) {
687 btn_left.frame++;
688 }
689 } else {
690 // Finish the animation and reset idle state.
691 size_t n_frames = animation_states[btn_left.state]->n_frames;
692 if (btn_left.frame > 0 && btn_left.frame < n_frames - 1) {
693 btn_left.frame++;
694 } else {
695 btn_left.frame = 0;
696 btn_left.state = BTN_STATE_IDLE;
697 }
698 }
699 if (key_pressed(KEY_RIGHT)) {
700 btn_right.frame = 0;
701 btn_right.state = BTN_STATE_PRESSED;
702 } else if (key_hold(KEY_RIGHT)) {
703 size_t n_frames = animation_states[btn_right.state]->n_frames;
704 if (btn_right.frame < n_frames - 1) {
705 btn_right.frame++;
706 }
707 } else {
708 // Finish the animation and reset idle state.
709 size_t n_frames = animation_states[btn_right.state]->n_frames;
710 if (btn_right.frame > 0 && btn_right.frame < n_frames - 1) {
711 btn_right.frame++;
712 } else {
713 btn_right.frame = 0;
714 btn_right.state = BTN_STATE_IDLE;
715 }
716 }
588 if (key_pressed(KEY_L)) { 717 if (key_pressed(KEY_L)) {
718 btn_l.frame = 0;
719 btn_l.state = BTN_STATE_PRESSED;
720 } else if (key_hold(KEY_L)) {
721 size_t n_frames = animation_states[btn_l.state]->n_frames;
722 if (btn_l.frame < n_frames - 1) {
723 btn_l.frame++;
724 }
725 } else {
726 // Finish the animation and reset idle state.
727 size_t n_frames = animation_states[btn_l.state]->n_frames;
728 if (btn_l.frame > 0 && btn_l.frame < n_frames - 1) {
729 btn_l.frame++;
730 } else {
731 btn_l.frame = 0;
732 btn_l.state = BTN_STATE_IDLE;
733 }
589 } 734 }
590 if (key_pressed(KEY_R)) { 735 if (key_pressed(KEY_R)) {
736 btn_r.frame = 0;
737 btn_r.state = BTN_STATE_PRESSED;
738 } else if (key_hold(KEY_R)) {
739 size_t n_frames = animation_states[btn_r.state]->n_frames;
740 if (btn_r.frame < n_frames - 1) {
741 btn_r.frame++;
742 }
743 } else {
744 // Finish the animation and reset idle state.
745 size_t n_frames = animation_states[btn_r.state]->n_frames;
746 if (btn_r.frame > 0 && btn_r.frame < n_frames - 1) {
747 btn_r.frame++;
748 } else {
749 btn_r.frame = 0;
750 btn_r.state = BTN_STATE_IDLE;
751 }
591 } 752 }
592 753
593 OBJ_ATTR_2(btn_b.id) = sprites[btn_b.id].tile_start + animation_states[btn_b.state]->tile_offsets[btn_b.frame]; 754 OBJ_ATTR_2(btn_b.id) = sprites[btn_b.id].tile_start + animation_states[btn_b.state]->tile_offsets[btn_b.frame];
594 OBJ_ATTR_2(btn_a.id) = sprites[btn_a.id].tile_start + animation_states[btn_a.state]->tile_offsets[btn_a.frame]; 755 OBJ_ATTR_2(btn_a.id) = sprites[btn_a.id].tile_start + animation_states[btn_a.state]->tile_offsets[btn_a.frame];
756 OBJ_ATTR_2(btn_up.id) = sprites[btn_up.id].tile_start + animation_states[btn_up.state]->tile_offsets[btn_up.frame];
757 OBJ_ATTR_2(btn_down.id) = sprites[btn_down.id].tile_start + animation_states[btn_down.state]->tile_offsets[btn_down.frame];
758 OBJ_ATTR_2(btn_left.id) = sprites[btn_left.id].tile_start + animation_states[btn_left.state]->tile_offsets[btn_left.frame];
759 OBJ_ATTR_2(btn_right.id) = sprites[btn_right.id].tile_start + animation_states[btn_right.state]->tile_offsets[btn_right.frame];
760 OBJ_ATTR_2(btn_l.id) = sprites[btn_l.id].tile_start + animation_states[btn_l.state]->tile_offsets[btn_l.frame];
761 OBJ_ATTR_2(btn_r.id) = sprites[btn_r.id].tile_start + animation_states[btn_r.state]->tile_offsets[btn_r.frame];
595 frame_counter++; 762 frame_counter++;
596 }; 763 };
597 764