// 1bpp packed u32 gba_btn_a_data[] = { 0x00000000, 0x00000000, 0x00000000, 0x000000c0, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x30080484, 0x4242c242, 0x0c102021, 0x42424342, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x42060c34, 0xc830c000, 0x4260302c, 0x130c0300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xc0300804, 0x844242c2, 0x030c1020, 0x21424243, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x4242040c, 0x38f0c000, 0x42422030, 0x1c0f0300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00c43008, 0x04844242, 0x00230c10, 0x20214242, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0xc2424404, 0x0832c000, 0x43422220, 0x104c0300, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00408000, 0x00000080, 0x80800001, 0x00000000, 0x00000080, 0x00000000, 0x00020100, 0x00000000, 0x00000000, 0x00c03008, 0x04844242, 0x00030c10, 0x20214242, 0x00000000, 0x00000000, 0x38000000, 0x00000080, 0xc2424404, 0x0830c000, 0x43422220, 0x100c0300, 0x1c000000, 0x00000001, 0x40200000, 0x00000000, 0x00008080, 0x80000000, 0x00000000, 0x00000000, 0x02040000, 0x00000000, 0x00000000, 0x20400000, 0x00008080, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04020000, 0x00000000, 0x00000000, 0x00c03008, 0x04844242, 0x00030c10, 0x20214242, 0x00000000, 0x00000000, 0x0c000000, 0x00000000, 0xc2424404, 0x0830c000, 0x43422220, 0x100c0300, 0x30000000, 0x00000000, 0x00201000, 0x00000000, 0x00000080, 0x80000000, 0x00000000, 0x00000000, 0x00040800, 0x00000000, 0x00000000, 0x20000000, 0x00008000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0x00000000, 0x00c03008, 0x04844242, 0x00030c10, 0x20214242, 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0xc2424404, 0x0830c000, 0x43422220, 0x100c0300, 0x20000000, 0x00000000, 0x00001000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00c03008, 0x04844242, 0x00030c10, 0x20214242, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xc2424404, 0x0830c000, 0x43422220, 0x100c0300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; u32 gba_btn_b_data[] = { 0x00000000, 0x00000000, 0x00000000, 0x000000c0, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x300804c4, 0x42c24242, 0x0c102021, 0x42414242, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xc2060c34, 0xc830c000, 0x4160302c, 0x130c0300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xc0300804, 0xc442c242, 0x030c1020, 0x21424142, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x42c2040c, 0x38f0c000, 0x42412030, 0x1c0f0300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00c43008, 0x04c442c2, 0x00230c10, 0x20214241, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x4242c404, 0x0832c000, 0x42422120, 0x104c0300, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00408000, 0x00000080, 0x80800001, 0x00000000, 0x00000080, 0x00000000, 0x00020100, 0x00000000, 0x00000000, 0x00c03008, 0x04c442c2, 0x00030c10, 0x20214241, 0x00000000, 0x00000000, 0x38000000, 0x00000080, 0x4242c404, 0x0830c000, 0x42422120, 0x100c0300, 0x1c000000, 0x00000001, 0x40200000, 0x00000000, 0x00008080, 0x80000000, 0x00000000, 0x00000000, 0x02040000, 0x00000000, 0x00000000, 0x20400000, 0x00808000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04020000, 0x00000000, 0x00000000, 0x00c03008, 0x04c442c2, 0x00030c10, 0x20214241, 0x00000000, 0x00000000, 0x0c000000, 0x00000000, 0x4242c404, 0x0830c000, 0x42422120, 0x100c0300, 0x30000000, 0x00000000, 0x00201000, 0x00000000, 0x00000000, 0x80800000, 0x00000000, 0x00000000, 0x00040800, 0x00000000, 0x00000000, 0x20000000, 0x00800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0x00000000, 0x00c03008, 0x04c442c2, 0x00030c10, 0x20214241, 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0x4242c404, 0x0830c000, 0x42422120, 0x100c0300, 0x20000000, 0x00000000, 0x00001000, 0x00000000, 0x00000000, 0x00800000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00c03008, 0x04c442c2, 0x00030c10, 0x20214241, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x4242c404, 0x0830c000, 0x42422120, 0x100c0300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; u32 gba_btn_up_data[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xf80888c8, 0xe8888888, 0x0f080809, 0x0b080808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8818e810, 0xe0000000, 0x080c0b04, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00f80888, 0xc8e88888, 0x000f0808, 0x090b0808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x888818f0, 0xe0000000, 0x08080c07, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0002f808, 0x88c8e888, 0x00200f08, 0x08090b08, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x88888810, 0xe0000000, 0x08080804, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000000, 0x00808000, 0x00000000, 0x00000080, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0100f808, 0x88c8e888, 0x40000f08, 0x08090b08, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x88888810, 0xe0000000, 0x08080804, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00004080, 0x00000000, 0x80800000, 0x00000000, 0x00000080, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x0000f808, 0x88c8e888, 0x00000f08, 0x08090b08, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x88888810, 0xe0000000, 0x08080804, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00200000, 0x00000080, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x0000f808, 0x88c8e888, 0x00000f08, 0x08090b08, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x88888810, 0xe0000000, 0x08080804, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000f808, 0x88c8e888, 0x00000f08, 0x08090b08, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x88888810, 0xe0000000, 0x08080804, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; u32 gba_btn_down_data[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00e01088, 0x888888e8, 0x00030408, 0x0808080b, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xc88808f8, 0x08f80000, 0x0908080f, 0x080f0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000e010, 0x88888888, 0x00000304, 0x08080808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xe8c88808, 0xf8f80000, 0x0b090808, 0x0f0f0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000e0, 0x10888888, 0x00000003, 0x04080808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x88e8c888, 0x08f80200, 0x080b0908, 0x080f2000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000e0, 0x10888888, 0x00000003, 0x04080808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x88e8c888, 0x08f80001, 0x080b0908, 0x080f0040, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00808000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000e0, 0x10888888, 0x00000003, 0x04080808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x88e8c888, 0x08f80000, 0x080b0908, 0x080f0000, 0x00000000, 0x00000000, 0x80400000, 0x00000000, 0x00008080, 0x00000000, 0x80000000, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000e0, 0x10888888, 0x00000003, 0x04080808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x88e8c888, 0x08f80000, 0x080b0908, 0x080f0000, 0x00000000, 0x00000000, 0x00002000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000e0, 0x10888888, 0x00000003, 0x04080808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x88e8c888, 0x08f80000, 0x080b0908, 0x080f0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; u32 gba_btn_left_data[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000f808, 0x88c8e8c8, 0x00000f10, 0x20202f20, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8808f808, 0xf8000000, 0x20302f10, 0x0f000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000f8, 0x0888c8e8, 0x0000000f, 0x1020202f, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xc88808f8, 0xf8000000, 0x2020301f, 0x0f000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0xf80888c8, 0x00000000, 0x0f102020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xe9c88808, 0xf8000400, 0x2f202010, 0x0f000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01020000, 0xf80888c8, 0x00000000, 0x0f102020, 0x00000000, 0x00000000, 0xc0000000, 0x00000000, 0xe8c88808, 0xf8000002, 0x2f202010, 0x0f000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01000000, 0xf80888c8, 0x00000000, 0x0f102020, 0x00000000, 0x00000000, 0x60000000, 0x00000000, 0xe8c88808, 0xf8000000, 0x2f202010, 0x0f000000, 0x00000000, 0x00000000, 0x00800000, 0x00000000, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xf80888c8, 0x00000000, 0x0f102020, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0xe8c88808, 0xf8000000, 0x2f202010, 0x0f000000, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xf80888c8, 0x00000000, 0x0f102020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xe8c88808, 0xf8000000, 0x2f202010, 0x0f000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; u32 gba_btn_right_data[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000f008, 0x0404f404, 0x00001f10, 0x11131713, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x040cf408, 0xf0000000, 0x11101f10, 0x1f000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000f0, 0x080404f4, 0x0000001f, 0x10111317, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x04040cf8, 0xf0000000, 0x1311101f, 0x1f000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xf0080404, 0x00002000, 0x1f101113, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xf4040408, 0xf0000000, 0x97131110, 0x1f002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xf0080404, 0x80400000, 0x1f101113, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xf4040408, 0xf0000000, 0x17131110, 0x1f000040, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0xf0080404, 0x80000000, 0x1f101113, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xf4040408, 0xf0000000, 0x17131110, 0x1f000000, 0x06000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0xf0080404, 0x00000000, 0x1f101113, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xf4040408, 0xf0000000, 0x17131110, 0x1f000000, 0x08000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xf0080404, 0x00000000, 0x1f101113, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xf4040408, 0xf0000000, 0x17131110, 0x1f000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; u32 gba_btn_l_data[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000fc02, 0x01010101, 0x0000ff00, 0x01010107, 0x00000302, 0x02020202, 0x00000000, 0x00000000, 0x01ff01ff, 0x00000000, 0x00ff00ff, 0x00000000, 0x02030203, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000fc, 0x02010101, 0x000000ff, 0x00010101, 0x00000003, 0x02020202, 0x00000000, 0x00000000, 0x0101ffff, 0x00000000, 0x0700ffff, 0x00000000, 0x02020303, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000040, 0x00001000, 0xfc020101, 0x00000000, 0xff000101, 0x00000000, 0x03020202, 0x00000000, 0x00000000, 0x010101ff, 0x00000000, 0x010700ff, 0x00000000, 0x02020203, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00204000, 0x00000030, 0x10100000, 0xfc020101, 0x00000000, 0xff000101, 0x00000000, 0x03020202, 0x00000000, 0x00000000, 0x010101ff, 0x00000000, 0x010700ff, 0x00000000, 0x02020203, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10200000, 0x00000018, 0x10000000, 0xfc020101, 0x00000000, 0xff000101, 0x00000000, 0x03020202, 0x00000000, 0x00000000, 0x010101ff, 0x00000000, 0x010700ff, 0x00000000, 0x02020203, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000004, 0x00000000, 0xfc020101, 0x00000000, 0xff000101, 0x00000000, 0x03020202, 0x00000000, 0x00000000, 0x010101ff, 0x00000000, 0x010700ff, 0x00000000, 0x02020203, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xfc020101, 0x00000000, 0xff000101, 0x00000000, 0x03020202, 0x00000000, 0x00000000, 0x010101ff, 0x00000000, 0x010700ff, 0x00000000, 0x02020203, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; u32 gba_btn_r_data[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000c040, 0x40404040, 0x0000ff00, 0x60a060a0, 0x00003f40, 0x80808080, 0x00000000, 0x00000000, 0x40c040c0, 0x00000000, 0x00ff00ff, 0x00000000, 0x80ff80ff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000c0, 0x40404040, 0x000000ff, 0x0060a060, 0x0000003f, 0x40808080, 0x00000000, 0x00000000, 0x4040c0c0, 0x00000000, 0xa000ffff, 0x00000000, 0x8080ffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xc0404040, 0x00000000, 0xff0060a0, 0x00000800, 0x3f408080, 0x00000001, 0x00000002, 0x404040c0, 0x00000000, 0x60a000ff, 0x00000000, 0x808080ff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xc0404040, 0x00000000, 0xff0060a0, 0x08080000, 0x3f408080, 0x00040200, 0x0000000c, 0x404040c0, 0x00000000, 0x60a000ff, 0x00000000, 0x808080ff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0xc0404040, 0x00000000, 0xff0060a0, 0x08000000, 0x3f408080, 0x08040000, 0x00000018, 0x404040c0, 0x00000000, 0x60a000ff, 0x00000000, 0x808080ff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0xc0404040, 0x00000000, 0xff0060a0, 0x00000000, 0x3f408080, 0x08000000, 0x00000020, 0x404040c0, 0x00000000, 0x60a000ff, 0x00000000, 0x808080ff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xc0404040, 0x00000000, 0xff0060a0, 0x00000000, 0x3f408080, 0x00000000, 0x00000000, 0x404040c0, 0x00000000, 0x60a000ff, 0x00000000, 0x808080ff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; u32 gba_btn_start_data[] = { 0x00000000, 0x00000000, 0x00000000, 0x0000f008, 0x00000000, 0x00001f20, 0x00000000, 0x00000000, 0x00000080, 0x80008000, 0xf8f000bb, 0x91929300, 0x3f1f009b, 0x2a1b2a00, 0x00000003, 0x01010100, 0x00000000, 0x00000000, 0x00000000, 0x000000f0, 0x00000000, 0x0000001f, 0x00000000, 0x00000000, 0x00000080, 0x80008000, 0x08f000bb, 0x91929300, 0x201f009b, 0x2a1b2a00, 0x00000003, 0x01010100, 0x00000000, 0x00000000, 0x00000000, 0x001000f0, 0x00000000, 0x0110001f, 0x00000000, 0x00000000, 0x00000080, 0x80008000, 0x0af000bb, 0x91929300, 0xa01f009b, 0x2a1b2a00, 0x00000003, 0x01010100, 0x00000000, 0x00000000, 0x00000004, 0x080000f0, 0x00000141, 0x2000001f, 0x00000000, 0x00000000, 0x80000080, 0x80008000, 0x09f000bb, 0x91929300, 0x201f009b, 0x2a1b2a00, 0x03000003, 0x01010100, 0x00000000, 0x00000000, 0x00000204, 0x000000f0, 0x00018140, 0x0000001f, 0x00000000, 0x00000000, 0xc0000080, 0x80008000, 0x08f000bb, 0x91929300, 0x201f009b, 0x2a1b2a00, 0x06000003, 0x01010100, 0x00000000, 0x00000000, 0x00000200, 0x000000f0, 0x00018000, 0x0000001f, 0x00000000, 0x00000000, 0x40000080, 0x80008000, 0x08f000bb, 0x91929300, 0x201f009b, 0x2a1b2a00, 0x04000003, 0x01010100, 0x00000000, 0x00000000, 0x00000000, 0x000000f0, 0x00000000, 0x0000001f, 0x00000000, 0x00000000, 0x00000080, 0x80008000, 0x08f000bb, 0x91929300, 0x201f009b, 0x2a1b2a00, 0x00000003, 0x01010100, }; u32 gba_btn_select_data[] = { 0x00000000, 0x00000000, 0x00000000, 0x0000f008, 0x00000000, 0x00001f20, 0x00000000, 0x00000000, 0x000000e0, 0x6080e000, 0xf8f0002e, 0x2622ee00, 0x3f1f00ee, 0x2622ee00, 0x0000000e, 0x04040400, 0x00000000, 0x00000000, 0x00000000, 0x000000f0, 0x00000000, 0x0000001f, 0x00000000, 0x00000000, 0x000000e0, 0x6080e000, 0x08f0002e, 0x2622ee00, 0x201f00ee, 0x2622ee00, 0x0000000e, 0x04040400, 0x00000000, 0x00000000, 0x00000000, 0x001000f0, 0x00000000, 0x0110001f, 0x00000000, 0x00000000, 0x000000e0, 0x6080e000, 0x0af0002e, 0x2622ee00, 0xa01f00ee, 0x2622ee00, 0x0000000e, 0x04040400, 0x00000000, 0x00000000, 0x00000004, 0x080000f0, 0x00000141, 0x2000001f, 0x00000000, 0x00000000, 0x800000e0, 0x6080e000, 0x09f0002e, 0x2622ee00, 0x201f00ee, 0x2622ee00, 0x0300000e, 0x04040400, 0x00000000, 0x00000000, 0x00000204, 0x000000f0, 0x00018140, 0x0000001f, 0x00000000, 0x00000000, 0xc00000e0, 0x6080e000, 0x08f0002e, 0x2622ee00, 0x201f00ee, 0x2622ee00, 0x0600000e, 0x04040400, 0x00000000, 0x00000000, 0x00000200, 0x000000f0, 0x00018000, 0x0000001f, 0x00000000, 0x00000000, 0x400000e0, 0x6080e000, 0x08f0002e, 0x2622ee00, 0x201f00ee, 0x2622ee00, 0x0400000e, 0x04040400, 0x00000000, 0x00000000, 0x00000000, 0x000000f0, 0x00000000, 0x0000001f, 0x00000000, 0x00000000, 0x000000e0, 0x6080e000, 0x08f0002e, 0x2622ee00, 0x201f00ee, 0x2622ee00, 0x0000000e, 0x04040400, }; typedef struct SpriteAnimation { size_t *tile_offsets; size_t n_frames; } SpriteAnimation; typedef enum {BTN_STATE_IDLE, BTN_STATE_PRESSED} BtnState; static size_t btn_state_idle[] = {0}; static size_t btn_state_pressed[] = {16, 16, 32, 32, 48, 48, 64, 64, 80, 96}; static SpriteAnimation *animation_states[] = { &(SpriteAnimation){ .tile_offsets = &btn_state_idle, .n_frames = sizeof(btn_state_idle) / sizeof(size_t), }, &(SpriteAnimation){ .tile_offsets = &btn_state_pressed, .n_frames = sizeof(btn_state_pressed) / sizeof(size_t), }, };