aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/psxapi/sys.s
diff options
context:
space:
mode:
authorJohn "Lameguy" Wilbert Villamor <lameguy64@gmail.com>2022-03-25 09:22:20 +0800
committerGitHub <noreply@github.com>2022-03-25 09:22:20 +0800
commit975e614b3c840e2f717adac1d1cb9cee4e5e561b (patch)
tree6584ce5b0dbe27a466c95c81fac61b0d90f627bd /libpsn00b/psxapi/sys.s
parent05d44488bd5587786f4bd0286fc0f555c79aa46a (diff)
parent45168ae43e29aa5930ee5a206475ae836078915f (diff)
downloadpsn00bsdk-975e614b3c840e2f717adac1d1cb9cee4e5e561b.tar.gz
Merge pull request #46 from spicyjpeg/psxmdec
Critical ldscript fixes, initial MDEC support and CI updates
Diffstat (limited to 'libpsn00b/psxapi/sys.s')
-rw-r--r--libpsn00b/psxapi/sys.s266
1 files changed, 266 insertions, 0 deletions
diff --git a/libpsn00b/psxapi/sys.s b/libpsn00b/psxapi/sys.s
new file mode 100644
index 0000000..e54bd98
--- /dev/null
+++ b/libpsn00b/psxapi/sys.s
@@ -0,0 +1,266 @@
+# PSn00bSDK BIOS API stubs
+# (C) 2022 spicyjpeg - MPL licensed
+
+# This file has been generated automatically. Each function is placed in its
+# own section to allow the linker to strip unused functions.
+
+.set noreorder
+
+## A0 table functions (7)
+
+.section .text.b_setjmp
+.global b_setjmp
+.type b_setjmp, @function
+b_setjmp:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x13
+
+.section .text.b_longjmp
+.global b_longjmp
+.type b_longjmp, @function
+b_longjmp:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x14
+
+.section .text.b_InitHeap
+.global b_InitHeap
+.type b_InitHeap, @function
+b_InitHeap:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x39
+
+.section .text.Exec
+.global Exec
+.type Exec, @function
+Exec:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x43
+
+.section .text.FlushCache
+.global FlushCache
+.type FlushCache, @function
+FlushCache:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x44
+
+.section .text._boot
+.global _boot
+.type _boot, @function
+_boot:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0xa0
+
+.section .text.GetSystemInfo
+.global GetSystemInfo
+.type GetSystemInfo, @function
+GetSystemInfo:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0xb4
+
+## B0 table functions (19)
+
+.section .text._kernel_malloc
+.global _kernel_malloc
+.type _kernel_malloc, @function
+_kernel_malloc:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x00
+
+.section .text._kernel_free
+.global _kernel_free
+.type _kernel_free, @function
+_kernel_free:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x01
+
+.section .text.SetRCnt
+.global SetRCnt
+.type SetRCnt, @function
+SetRCnt:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x02
+
+.section .text.GetRCnt
+.global GetRCnt
+.type GetRCnt, @function
+GetRCnt:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x03
+
+.section .text.StartRCnt
+.global StartRCnt
+.type StartRCnt, @function
+StartRCnt:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x04
+
+.section .text.StopRCnt
+.global StopRCnt
+.type StopRCnt, @function
+StopRCnt:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x05
+
+.section .text.ResetRCnt
+.global ResetRCnt
+.type ResetRCnt, @function
+ResetRCnt:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x06
+
+.section .text.OpenEvent
+.global OpenEvent
+.type OpenEvent, @function
+OpenEvent:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x08
+
+.section .text.EnableEvent
+.global EnableEvent
+.type EnableEvent, @function
+EnableEvent:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x0c
+
+.section .text.DisableEvent
+.global DisableEvent
+.type DisableEvent, @function
+DisableEvent:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x0d
+
+.section .text.InitPAD
+.global InitPAD
+.type InitPAD, @function
+InitPAD:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x12
+
+.section .text.StartPAD
+.global StartPAD
+.type StartPAD, @function
+StartPAD:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x13
+
+.section .text.StopPAD
+.global StopPAD
+.type StopPAD, @function
+StopPAD:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x14
+
+.section .text.ReturnFromException
+.global ReturnFromException
+.type ReturnFromException, @function
+ReturnFromException:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x17
+
+.section .text.SetDefaultExitFromException
+.global SetDefaultExitFromException
+.type SetDefaultExitFromException, @function
+SetDefaultExitFromException:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x18
+
+.section .text.SetCustomExitFromException
+.global SetCustomExitFromException
+.type SetCustomExitFromException, @function
+SetCustomExitFromException:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x19
+
+.section .text.GetC0Table
+.global GetC0Table
+.type GetC0Table, @function
+GetC0Table:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x56
+
+.section .text.GetB0Table
+.global GetB0Table
+.type GetB0Table, @function
+GetB0Table:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x57
+
+.section .text.ChangeClearPAD
+.global ChangeClearPAD
+.type ChangeClearPAD, @function
+ChangeClearPAD:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x5b
+
+## C0 table functions (3)
+
+.section .text.SysEnqIntRP
+.global SysEnqIntRP
+.type SysEnqIntRP, @function
+SysEnqIntRP:
+ li $t2, 0xc0
+ jr $t2
+ li $t1, 0x02
+
+.section .text.SysDeqIntRP
+.global SysDeqIntRP
+.type SysDeqIntRP, @function
+SysDeqIntRP:
+ li $t2, 0xc0
+ jr $t2
+ li $t1, 0x03
+
+.section .text.ChangeClearRCnt
+.global ChangeClearRCnt
+.type ChangeClearRCnt, @function
+ChangeClearRCnt:
+ li $t2, 0xc0
+ jr $t2
+ li $t1, 0x0a
+
+## Syscalls (2)
+
+.section .text.EnterCriticalSection
+.global EnterCriticalSection
+.type EnterCriticalSection, @function
+EnterCriticalSection:
+ li $a0, 0x01
+ syscall 0
+ jr $ra
+ nop
+
+.section .text.ExitCriticalSection
+.global ExitCriticalSection
+.type ExitCriticalSection, @function
+ExitCriticalSection:
+ li $a0, 0x02
+ syscall 0
+ jr $ra
+ nop
+