aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/libc/start.c
diff options
context:
space:
mode:
authorspicyjpeg <88942473+spicyjpeg@users.noreply.github.com>2022-03-20 10:56:23 +0100
committerspicyjpeg <88942473+spicyjpeg@users.noreply.github.com>2022-03-20 10:56:23 +0100
commit4bbfe640a8c357137524e797a8d2bd0a94d3abfa (patch)
treecd1b0ac173ffb2e27d8116637434f413e18542f4 /libpsn00b/libc/start.c
parent8c68b4b8a5bf7757b8e4d6bc2f68f10584b0deb1 (diff)
Remove stdint.h, fix n00bdemo crashing
Diffstat (limited to 'libpsn00b/libc/start.c')
-rw-r--r--libpsn00b/libc/start.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/libpsn00b/libc/start.c b/libpsn00b/libc/start.c
index f190794..fd6fe33 100644
--- a/libpsn00b/libc/start.c
+++ b/libpsn00b/libc/start.c
@@ -6,19 +6,20 @@
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
+#include <stddef.h>
-#define KERNEL_ARG_STRING ((const char *) 0x80000180)
-#define KERNEL_RETURN_VALUE ((volatile int *) 0x8000dffc)
+#define KERNEL_ARG_STRING ((const char *) 0x80000180)
+#define KERNEL_RETURN_VALUE ((volatile int *) 0x8000dffc)
/* Argument parsing */
-int32_t __argc;
-const char **__argv;
+int __argc;
+const char **__argv;
#define ARGC_MAX 16
-static const char *_argv_buffer[ARGC_MAX];
-static char _arg_string_buffer[132];
+static const char *_argv_buffer[ARGC_MAX];
+static char _arg_string_buffer[132];
static void _parse_kernel_args() {
// Copy the argument string from kernel memory into a private buffer (which
@@ -61,10 +62,10 @@ extern uint8_t _end[];
// useful though to change the stack size and/or reinitialize the heap on
// systems that have more than 2 MB of RAM (e.g. emulators, devkits, PS1-based
// arcade boards).
-void _mem_init(size_t ram_size, size_t stack_max_size) {
- void *exe_end = _end + 4;
- size_t exe_size = (size_t) exe_end - (size_t) __text_start;
- size_t ram_used = (0x10000 + exe_size + stack_max_size) & 0xfffffffc;
+void _mem_init(int ram_size, int stack_max_size) {
+ void *exe_end = _end + 4;
+ int exe_size = (int) exe_end - (int) __text_start;
+ int ram_used = (0x10000 + exe_size + stack_max_size) & 0xfffffffc;
InitHeap(exe_end, ram_size - ram_used);
}
@@ -74,7 +75,7 @@ void _mem_init(size_t ram_size, size_t stack_max_size) {
extern void (*__CTOR_LIST__[])(void);
extern void (*__DTOR_LIST__[])(void);
-extern int32_t main(int32_t argc, const char* argv[]);
+extern int main(int argc, const char* argv[]);
// Even though _start() usually takes no arguments, this implementation allows
// parent executables to pass args directly to child executables without having