summaryrefslogtreecommitdiff
path: root/src/ps1
diff options
context:
space:
mode:
Diffstat (limited to 'src/ps1')
-rw-r--r--src/ps1/CMakeLists.txt22
-rw-r--r--src/ps1/playstation.x2
-rw-r--r--src/ps1/start.c2
-rw-r--r--src/ps1/system.cnf8
4 files changed, 29 insertions, 5 deletions
diff --git a/src/ps1/CMakeLists.txt b/src/ps1/CMakeLists.txt
index 6ba4543..c455ef3 100644
--- a/src/ps1/CMakeLists.txt
+++ b/src/ps1/CMakeLists.txt
@@ -1,5 +1,27 @@
+# wanix, a Unix-like operating system for WebAssembly applications.
+# Copyright (C) 2025 Xavier Del Campo Romero
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
target_link_libraries(${PROJECT_NAME} PRIVATE c)
target_link_libraries(nanowasm PRIVATE c)
+target_link_libraries(dynstr PRIVATE c)
target_sources(${PROJECT_NAME} PRIVATE start.c)
target_link_options(${PROJECT_NAME} PRIVATE
-T${CMAKE_CURRENT_LIST_DIR}/playstation.x)
+add_custom_target(system_cnf ALL
+ ${CMAKE_COMMAND} -E copy_if_different
+ ${CMAKE_CURRENT_LIST_DIR}/system.cnf ${cdroot}
+)
+add_dependencies(iso system_cnf)
diff --git a/src/ps1/playstation.x b/src/ps1/playstation.x
index 00a1a74..71a4c34 100644
--- a/src/ps1/playstation.x
+++ b/src/ps1/playstation.x
@@ -68,5 +68,7 @@ SECTIONS
__bss_start = ADDR(.bss);
__bss_end = ADDR(.bss) + SIZEOF(.bss);
+ __ram_end = 0x8020FFFF;
+
__scratchpad = 0x1f800000;
}
diff --git a/src/ps1/start.c b/src/ps1/start.c
index 09ca6c9..c5558fe 100644
--- a/src/ps1/start.c
+++ b/src/ps1/start.c
@@ -1,7 +1,7 @@
__attribute__((__section__(".text.startup"))) void _start(void)
{
int main(void);
- extern char *__bss_start, *__bss_end;
+ extern char __bss_start[], __bss_end[];
for (char *s = __bss_start; s < __bss_end; s++)
*s = 0;
diff --git a/src/ps1/system.cnf b/src/ps1/system.cnf
index 1c3aebe..8f875bf 100644
--- a/src/ps1/system.cnf
+++ b/src/ps1/system.cnf
@@ -1,4 +1,4 @@
-BOOT = cdrom:\wanix.exe;1
-TCB = 1
-EVENT = 8
-STACK = 801FF800
+BOOT = cdrom:\wanix.exe;1
+TCB = 1
+EVENT = 16
+STACK = 801FF800