X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;ds=sidebyside;f=src%2Futil.c;h=b6b62e65ab1be01597a58a5fadfd4c2c0c8aba42;hb=d985165d0e156c785895a5272113ff477bebeeb8;hp=c734f85ebbe0a248bfe01bd71af26912eb671e3c;hpb=41765ea063cbab26ae05e7259ffc8a7c85db2f5d;p=gbajam22 diff --git a/src/util.c b/src/util.c index c734f85..b6b62e6 100644 --- a/src/util.c +++ b/src/util.c @@ -3,7 +3,13 @@ #include "util.h" #include "debug.h" +#ifdef BUILD_GBA extern char __iheap_start; +#else +#define IWRAM_POOL_SZ 32768 +#define __iheap_start iwram[0] +static char iwram[IWRAM_POOL_SZ]; +#endif static char *top = &__iheap_start; int iwram_brk(void *addr) @@ -76,3 +82,31 @@ char *strdup_nf_impl(const char *s, const char *file, int line) memcpy(res, s, len + 1); return res; } + +#ifndef BUILD_GBA +/* utility functions which are implemented in assembly on GBA builds */ + +void fillblock_16byte(void *dest, uint32_t val, int count) +{ + int i; + uint32_t *p = dest; + + for(i=0; i