d7a3308b5d0c281bacc8298b480e6bda8965df98
[gbajam21] / src / main.c
1 #include <math.h>
2 #include "gbaregs.h"
3 #include "intr.h"
4 #include "debug.h"
5
6 #define RGB15(r, g, b) \
7         (((uint16_t)(r) & 0x1f) | \
8          (((uint16_t)(g) & 0x1f) << 5) | \
9          (((uint16_t)(b) & 0x1f) << 10))
10
11 int main(void)
12 {
13         int i, j;
14         uint16_t *vptr;
15
16         emuprint("\nStarting GBAJAM21\n-----------------\n");
17
18         intr_init();
19
20         REG_DISPCNT = 3 | DISPCNT_BG2;
21
22         vptr = (uint16_t*)VRAM_START_ADDR;
23         for(i=0; i<160; i++) {
24                 for(j=0; j<240; j++) {
25                         int xor = i ^ j;
26                         int r = xor >> 2;
27                         int g = xor >> 1;
28                         int b = xor;
29
30                         *vptr++ = RGB15(r, g, b);
31                 }
32         }
33
34         for(;;);
35         return 0;
36 }