X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;ds=sidebyside;f=src%2Futil.h;h=264367be94a4082ad3f544e99e01f025334f8175;hb=77eea907b4ba007632e37588b6cd7eb66c9eab07;hp=f719b17b3735d397fcb924df46aaf754639726b6;hpb=a4b392b15da0d7da367b1121ec5949f26e10628a;p=gbajam22 diff --git a/src/util.h b/src/util.h index f719b17..264367b 100644 --- a/src/util.h +++ b/src/util.h @@ -5,6 +5,11 @@ #include #include "gba.h" +#define RGB555(r, g, b) \ + ((((uint16_t)(r) >> 3) & 0x1f) | \ + (((uint16_t)(g) << 2) & 0x3e0) | \ + (((uint16_t)(b) << 7) & 0x7c00)) + #ifdef BUILD_GBA #define wait_vblank() \ @@ -15,13 +20,17 @@ #define present(x) \ do { \ - REG_DISPCNT = DISPCNT_BG2 | DISPCNT_OBJ | 4 | ((x) << 4); \ + REG_DISPCNT = (REG_DISPCNT & 0xffef) | ((x) << 4); \ } while(0) +#define ARM_IWRAM __attribute__((noinline, target("arm"), section(".iwram"))) + #else /* non-GBA build */ #define wait_vblank() void present(int buf); /* defined in src/pc/main.c */ + +#define ARM_IWRAM #endif #define set_bg_color(idx, r, g, b) \