iwram_brk/iwram_sbrk
[gbajam21] / src / util.h
1 #ifndef UTIL_H_
2 #define UTIL_H_
3
4 #include <stdint.h>
5
6 #define wait_vblank() \
7         do { \
8                 while(REG_DISPSTAT & DISPSTAT_VBLANK); \
9                 while(!(REG_DISPSTAT & DISPSTAT_VBLANK)); \
10         } while(0)
11
12 #define present(x) \
13         do { \
14                 REG_DISPCNT = DISPCNT_BG2 | DISPCNT_OBJ | 4 | ((x) << 4); \
15         } while(0)
16
17
18 #define set_bg_color(idx, r, g, b) \
19         do { \
20                 ((uint16_t*)CRAM_BG_ADDR)[idx] = (uint16_t)(r) | ((uint16_t)(g) << 5) | ((uint16_t)(b) << 10); \
21         } while(0)
22
23 int iwram_brk(void *addr);
24 void *iwram_sbrk(intptr_t delta);
25
26 void fillblock_16byte(void *dest, uint32_t val, int count);
27
28 void *get_pc(void);
29 void *get_sp(void);
30
31 #endif  /* UTIL_H_ */