summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libpsx/src/setup.c11
1 files changed, 6 insertions, 5 deletions
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 <psx.h>
#include <stdio.h>
+#include <stddef.h>
+#include <string.h>
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");