aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/psxapi/_syscalls.s
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi92@disroot.org>2025-07-05 02:34:11 +0200
committerXavier Del Campo Romero <xavi92@disroot.org>2025-07-05 02:34:11 +0200
commitbeb76e4dd362374b8f42cd971d394bba1074cd8d (patch)
tree3ea4cc342737afb9225c01160c92647ba66c78bd /libpsn00b/psxapi/_syscalls.s
parent5d9aa2d3dfc7d6e51c2eb942ab4cdbae5571a40a (diff)
downloadpsn00bsdk-beb76e4dd362374b8f42cd971d394bba1074cd8d.tar.gz
Replace .include with #includefix-include
For some reason, both mipsel-unknown-elf-gcc 8.2.0 and mipsel-non-elf 15.1.0 were unable to resolve .include assembler directives. As a workaround, it is still possible to use the preprocessor, and therefore the usual #include preprocessor directive. However, this requires the assembly files to use the uppercase .S file extension.
Diffstat (limited to 'libpsn00b/psxapi/_syscalls.s')
-rw-r--r--libpsn00b/psxapi/_syscalls.s161
1 files changed, 0 insertions, 161 deletions
diff --git a/libpsn00b/psxapi/_syscalls.s b/libpsn00b/psxapi/_syscalls.s
deleted file mode 100644
index cef349d..0000000
--- a/libpsn00b/psxapi/_syscalls.s
+++ /dev/null
@@ -1,161 +0,0 @@
-# PSn00bSDK syscall wrappers
-# (C) 2022-2023 spicyjpeg - MPL licensed
-
-.set noreorder
-
-## Interrupt enable/disable
-
-.section .text.EnterCriticalSection, "ax", @progbits
-.global EnterCriticalSection
-.type EnterCriticalSection, @function
-
-EnterCriticalSection:
- li $a0, 0x01
- syscall 0
-
- jr $ra
- nop
-
-.section .text.ExitCriticalSection, "ax", @progbits
-.global ExitCriticalSection
-.type ExitCriticalSection, @function
-
-ExitCriticalSection:
- li $a0, 0x02
- syscall 0
-
- jr $ra
- nop
-
-.section .text.SwEnterCriticalSection, "ax", @progbits
-.global SwEnterCriticalSection
-.type SwEnterCriticalSection, @function
-
-SwEnterCriticalSection:
- mfc0 $a0, $12 # cop0r12 &= ~0x401
- li $a1, -1026
- and $a1, $a0
- mtc0 $a1, $12
- andi $a0, 0x0401 # return !((cop0r12_prev & 0x401) < 0x401)
- sltiu $v0, $a0, 0x0401
-
- jr $ra
- xori $v0, 1
-
-.section .text.SwExitCriticalSection, "ax", @progbits
-.global SwExitCriticalSection
-.type SwExitCriticalSection, @function
-
-SwExitCriticalSection:
- mfc0 $a0, $12 # cop0r12 |= 0x401
- nop
- ori $a0, 0x0401
- mtc0 $a0, $12
- nop
-
- jr $ra
- nop
-
-## PCDRV (host file access) API
-
-.section .text.PCinit, "ax", @progbits
-.global PCinit
-.type PCinit, @function
-
-PCinit:
- break 0, 0x101 # () -> error
-
- jr $ra
- nop
-
-.section .text.PCcreat, "ax", @progbits
-.global PCcreat
-.type PCcreat, @function
-
-PCcreat:
- li $a2, 0
- move $a1, $a0
- break 0, 0x102 # (path, path, 0) -> error, fd
-
- bgez $v0, .Lcreate_ok # if (error < 0) fd = error
- nop
- move $v1, $v0
-.Lcreate_ok:
- jr $ra # return fd
- move $v0, $v1
-
-.section .text.PCopen, "ax", @progbits
-.global PCopen
-.type PCopen, @function
-
-PCopen:
- move $a2, $a1
- move $a1, $a0
- break 0, 0x103 # (path, path, mode) -> error, fd
-
- bgez $v0, .Lopen_ok # if (error < 0) fd = error
- nop
- move $v1, $v0
-.Lopen_ok:
- jr $ra # return fd
- move $v0, $v1
-
-.section .text.PCclose, "ax", @progbits
-.global PCclose
-.type PCclose, @function
-
-PCclose:
- move $a1, $a0
- break 0, 0x104 # (fd, fd) -> error
-
- jr $ra
- nop
-
-.section .text.PCread, "ax", @progbits
-.global PCread
-.type PCread, @function
-
-PCread:
- move $a3, $a1
- move $a1, $a0
- break 0, 0x105 # (fd, fd, length, data) -> error, length
-
- bgez $v0, .Lread_ok # if (error < 0) length = error
- nop
- move $v1, $v0
-.Lread_ok:
- jr $ra # return length
- move $v0, $v1
-
-.section .text.PCwrite, "ax", @progbits
-.global PCwrite
-.type PCwrite, @function
-
-PCwrite:
- move $a3, $a1
- move $a1, $a0
- break 0, 0x106 # (fd, fd, length, data) -> error, length
-
- bgez $v0, .Lwrite_ok # if (error < 0) length = error
- nop
- move $v1, $v0
-.Lwrite_ok:
- jr $ra # return length
- move $v0, $v1
-
-.section .text.PClseek, "ax", @progbits
-.global PClseek
-.type PClseek, @function
-
-PClseek:
- move $a3, $a2
- move $a2, $a1
- move $a1, $a0
- break 0, 0x107 # (fd, fd, offset, mode) -> error, offset
-
- bgez $v0, .Lseek_ok # if (error < 0) offset = error
- nop
- move $v1, $v0
-.Lseek_ok:
- jr $ra # return offset
- move $v0, $v1