diff options
| author | Xavier Del Campo Romero <xavi92@disroot.org> | 2025-07-07 13:22:53 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi92@disroot.org> | 2025-07-25 14:16:41 +0200 |
| commit | 14f60e4fd65c42f126eaee7e09cb4251c167c6ed (patch) | |
| tree | 313b5e16d7d99cf1518c953e2efe5e5fc920dfbf /src/ps1 | |
| parent | 48a61c16eaa6dcfc75d00dba302537ce1492db98 (diff) | |
| download | wnix-tty.tar.gz | |
wiptty
Diffstat (limited to 'src/ps1')
| -rw-r--r-- | src/ps1/CMakeLists.txt | 22 | ||||
| -rw-r--r-- | src/ps1/playstation.x | 2 | ||||
| -rw-r--r-- | src/ps1/start.c | 2 | ||||
| -rw-r--r-- | src/ps1/system.cnf | 8 |
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
|
