diff --git a/libpsx/src/setup.c b/libpsx/src/setup.c index 1a28685..2c7790d 100644 --- a/libpsx/src/setup.c +++ b/libpsx/src/setup.c @@ -1,5 +1,7 @@ #include #include +#include +#include extern int __bss_start[]; extern int __bss_end[]; @@ -26,15 +28,14 @@ static void call_ctors(void) void psxsdk_setup() { - unsigned int x; + printf("Initializing PSXSDK... \n"); dprintf("Clearing BSS space...\n"); - -// Clear BSS space - for(x = (unsigned int)__bss_start; x < (unsigned int)__bss_end; x++) - *((unsigned char*)x) = 0; + +// Clear BSS space + memset(__bss_start, 0, (ptrdiff_t)__bss_end - (ptrdiff_t)__bss_start); dprintf("BSS space cleared.\n");