aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/psxapi/_syscalls.s
diff options
context:
space:
mode:
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