aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/psxapi
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
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')
-rw-r--r--libpsn00b/psxapi/_initcd.s (renamed from libpsn00b/psxapi/fs/_InitCd.s)6
-rw-r--r--libpsn00b/psxapi/drivers.s164
-rw-r--r--libpsn00b/psxapi/fs.s50
-rw-r--r--libpsn00b/psxapi/fs/_96_init.s10
-rw-r--r--libpsn00b/psxapi/fs/_96_remove.s10
-rw-r--r--libpsn00b/psxapi/fs/chdir.s10
-rw-r--r--libpsn00b/psxapi/fs/erase.s10
-rw-r--r--libpsn00b/psxapi/fs/firstfile.s10
-rw-r--r--libpsn00b/psxapi/fs/nextfile.s10
-rw-r--r--libpsn00b/psxapi/fs/rename.s10
-rw-r--r--libpsn00b/psxapi/generate_stubs.py129
-rw-r--r--libpsn00b/psxapi/stdio.s114
-rw-r--r--libpsn00b/psxapi/stdio/atoi.s9
-rw-r--r--libpsn00b/psxapi/stdio/atol.s9
-rw-r--r--libpsn00b/psxapi/stdio/close.s10
-rw-r--r--libpsn00b/psxapi/stdio/getc.s10
-rw-r--r--libpsn00b/psxapi/stdio/getchar.s10
-rw-r--r--libpsn00b/psxapi/stdio/gets.s10
-rw-r--r--libpsn00b/psxapi/stdio/ioctl.s10
-rw-r--r--libpsn00b/psxapi/stdio/open.s10
-rw-r--r--libpsn00b/psxapi/stdio/printf.s10
-rw-r--r--libpsn00b/psxapi/stdio/putc.s10
-rw-r--r--libpsn00b/psxapi/stdio/puts.s10
-rw-r--r--libpsn00b/psxapi/stdio/read.s10
-rw-r--r--libpsn00b/psxapi/stdio/seek.s10
-rw-r--r--libpsn00b/psxapi/stdio/write.s10
-rw-r--r--libpsn00b/psxapi/stubs.json410
-rw-r--r--libpsn00b/psxapi/sys.s266
-rw-r--r--libpsn00b/psxapi/sys/_boot.s10
-rw-r--r--libpsn00b/psxapi/sys/_bu_init.s10
-rw-r--r--libpsn00b/psxapi/sys/_card_chan.s10
-rw-r--r--libpsn00b/psxapi/sys/_card_clear.s10
-rw-r--r--libpsn00b/psxapi/sys/_card_info.s10
-rw-r--r--libpsn00b/psxapi/sys/_card_load.s10
-rw-r--r--libpsn00b/psxapi/sys/_card_read.s10
-rw-r--r--libpsn00b/psxapi/sys/_card_status.s10
-rw-r--r--libpsn00b/psxapi/sys/_card_wait.s10
-rw-r--r--libpsn00b/psxapi/sys/_card_write.s10
-rw-r--r--libpsn00b/psxapi/sys/_new_card.s10
-rw-r--r--libpsn00b/psxapi/sys/adddev.s10
-rw-r--r--libpsn00b/psxapi/sys/adddummytty.s10
-rw-r--r--libpsn00b/psxapi/sys/b_initheap.s10
-rw-r--r--libpsn00b/psxapi/sys/changeclearpad.s10
-rw-r--r--libpsn00b/psxapi/sys/changeclearrcnt.s10
-rw-r--r--libpsn00b/psxapi/sys/deldev.s10
-rw-r--r--libpsn00b/psxapi/sys/disableevent.s10
-rw-r--r--libpsn00b/psxapi/sys/enableevent.s10
-rw-r--r--libpsn00b/psxapi/sys/entercriticalsection.s11
-rw-r--r--libpsn00b/psxapi/sys/exec.s10
-rw-r--r--libpsn00b/psxapi/sys/exitcriticalsection.s11
-rw-r--r--libpsn00b/psxapi/sys/flushcache.s10
-rw-r--r--libpsn00b/psxapi/sys/getrcnt.s10
-rw-r--r--libpsn00b/psxapi/sys/getsysteminfo.s10
-rw-r--r--libpsn00b/psxapi/sys/initcard.s10
-rw-r--r--libpsn00b/psxapi/sys/initpad.s10
-rw-r--r--libpsn00b/psxapi/sys/listdev.s10
-rw-r--r--libpsn00b/psxapi/sys/openevent.s10
-rw-r--r--libpsn00b/psxapi/sys/resetrcnt.s10
-rw-r--r--libpsn00b/psxapi/sys/returnfromexception.s10
-rw-r--r--libpsn00b/psxapi/sys/setcustomexitfromexception.s10
-rw-r--r--libpsn00b/psxapi/sys/setdefaultexitfromexception.s10
-rw-r--r--libpsn00b/psxapi/sys/setrcnt.s10
-rw-r--r--libpsn00b/psxapi/sys/startcard.s10
-rw-r--r--libpsn00b/psxapi/sys/startpad.s10
-rw-r--r--libpsn00b/psxapi/sys/startrcnt.s10
-rw-r--r--libpsn00b/psxapi/sys/stopcard.s10
-rw-r--r--libpsn00b/psxapi/sys/stoppad.s10
-rw-r--r--libpsn00b/psxapi/sys/stoprcnt.s10
-rw-r--r--libpsn00b/psxapi/sys/sysenqintrp.s10
69 files changed, 1136 insertions, 623 deletions
diff --git a/libpsn00b/psxapi/fs/_InitCd.s b/libpsn00b/psxapi/_initcd.s
index decf2bd..c3a2861 100644
--- a/libpsn00b/psxapi/fs/_InitCd.s
+++ b/libpsn00b/psxapi/_initcd.s
@@ -11,7 +11,7 @@ _InitCd:
lui $a0, IOBASE # Load IOBASE value
- lw $v0, DPCR($a0) # Get current DMA settings
+ lw $v0, DMA_DPCR($a0) # Get current DMA settings
nop
sw $v0, 4($sp) # Save to stack
@@ -21,14 +21,14 @@ _InitCd:
lui $a0, IOBASE # Load IOBASE again
lw $v0, 4($sp) # Get old DMA control settings
- lw $v1, DPCR($a0) # Get DMA settings by _96_init()
+ lw $v1, DMA_DPCR($a0) # Get DMA settings by _96_init()
lui $a1, 0xffff # Mask out settings for CD DMA
ori $a1, 0x0f00
and $v0, $a1
or $v0, $v1 # Merge and set new DMA settings
- sw $v0, DPCR($a0)
+ sw $v0, DMA_DPCR($a0)
lw $ra, 0($sp)
addiu $sp, 8
diff --git a/libpsn00b/psxapi/drivers.s b/libpsn00b/psxapi/drivers.s
new file mode 100644
index 0000000..1cf5050
--- /dev/null
+++ b/libpsn00b/psxapi/drivers.s
@@ -0,0 +1,164 @@
+# 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._bu_init
+.global _bu_init
+.type _bu_init, @function
+_bu_init:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x55
+
+.section .text._96_init
+.global _96_init
+.type _96_init, @function
+_96_init:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x71
+
+.section .text._96_remove
+.global _96_remove
+.type _96_remove, @function
+_96_remove:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x72
+
+.section .text.AddDummyTty
+.global AddDummyTty
+.type AddDummyTty, @function
+AddDummyTty:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x99
+
+.section .text._card_info
+.global _card_info
+.type _card_info, @function
+_card_info:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0xab
+
+.section .text._card_load
+.global _card_load
+.type _card_load, @function
+_card_load:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0xac
+
+.section .text._card_clear
+.global _card_clear
+.type _card_clear, @function
+_card_clear:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0xaf
+
+## B0 table functions (12)
+
+.section .text.AddDev
+.global AddDev
+.type AddDev, @function
+AddDev:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x47
+
+.section .text.DelDev
+.global DelDev
+.type DelDev, @function
+DelDev:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x48
+
+.section .text.ListDev
+.global ListDev
+.type ListDev, @function
+ListDev:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x49
+
+.section .text.InitCard
+.global InitCard
+.type InitCard, @function
+InitCard:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x4a
+
+.section .text.StartCard
+.global StartCard
+.type StartCard, @function
+StartCard:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x4b
+
+.section .text.StopCard
+.global StopCard
+.type StopCard, @function
+StopCard:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x4c
+
+.section .text._card_write
+.global _card_write
+.type _card_write, @function
+_card_write:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x4e
+
+.section .text._card_read
+.global _card_read
+.type _card_read, @function
+_card_read:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x4f
+
+.section .text._new_card
+.global _new_card
+.type _new_card, @function
+_new_card:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x50
+
+.section .text._card_chan
+.global _card_chan
+.type _card_chan, @function
+_card_chan:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x58
+
+.section .text._card_status
+.global _card_status
+.type _card_status, @function
+_card_status:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x5c
+
+.section .text._card_wait
+.global _card_wait
+.type _card_wait, @function
+_card_wait:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x5d
+
diff --git a/libpsn00b/psxapi/fs.s b/libpsn00b/psxapi/fs.s
new file mode 100644
index 0000000..f225d64
--- /dev/null
+++ b/libpsn00b/psxapi/fs.s
@@ -0,0 +1,50 @@
+# 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
+
+## B0 table functions (5)
+
+.section .text.chdir
+.global chdir
+.type chdir, @function
+chdir:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x40
+
+.section .text.firstfile
+.global firstfile
+.type firstfile, @function
+firstfile:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x42
+
+.section .text.nextfile
+.global nextfile
+.type nextfile, @function
+nextfile:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x43
+
+.section .text.rename
+.global rename
+.type rename, @function
+rename:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x44
+
+.section .text.erase
+.global erase
+.type erase, @function
+erase:
+ li $t2, 0xb0
+ jr $t2
+ li $t1, 0x45
+
diff --git a/libpsn00b/psxapi/fs/_96_init.s b/libpsn00b/psxapi/fs/_96_init.s
deleted file mode 100644
index ac35d6b..0000000
--- a/libpsn00b/psxapi/fs/_96_init.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _96_init
-.type _96_init, @function
-_96_init:
- addiu $t2, $0 , 0xa0
- jr $t2
- addiu $t1, $0 , 0x71
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/fs/_96_remove.s b/libpsn00b/psxapi/fs/_96_remove.s
deleted file mode 100644
index a65c0ba..0000000
--- a/libpsn00b/psxapi/fs/_96_remove.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _96_remove
-.type _96_remove, @function
-_96_remove:
- addiu $t2, $0 , 0xa0
- jr $t2
- addiu $t1, $0 , 0x72
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/fs/chdir.s b/libpsn00b/psxapi/fs/chdir.s
deleted file mode 100644
index 83abf70..0000000
--- a/libpsn00b/psxapi/fs/chdir.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global chdir
-.type chdir, @function
-chdir:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x40
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/fs/erase.s b/libpsn00b/psxapi/fs/erase.s
deleted file mode 100644
index 0ddd05f..0000000
--- a/libpsn00b/psxapi/fs/erase.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global erase
-.type erase, @function
-erase:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x45
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/fs/firstfile.s b/libpsn00b/psxapi/fs/firstfile.s
deleted file mode 100644
index 2d1c1cd..0000000
--- a/libpsn00b/psxapi/fs/firstfile.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global firstfile
-.type firstfile, @function
-firstfile:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x42
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/fs/nextfile.s b/libpsn00b/psxapi/fs/nextfile.s
deleted file mode 100644
index 51a285a..0000000
--- a/libpsn00b/psxapi/fs/nextfile.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global nextfile
-.type nextfile, @function
-nextfile:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x43
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/fs/rename.s b/libpsn00b/psxapi/fs/rename.s
deleted file mode 100644
index 5815dba..0000000
--- a/libpsn00b/psxapi/fs/rename.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global rename
-.type rename, @function
-rename:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x44
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/generate_stubs.py b/libpsn00b/psxapi/generate_stubs.py
new file mode 100644
index 0000000..9db60de
--- /dev/null
+++ b/libpsn00b/psxapi/generate_stubs.py
@@ -0,0 +1,129 @@
+#!/usr/bin/env python3
+# PSn00bSDK BIOS stub generator
+# (C) 2022 spicyjpeg - MPL licensed
+
+import os, sys, json
+from argparse import ArgumentParser, FileType
+
+## Listing section generation
+
+SECTION_TEMPLATE = """## {title} ({count})
+
+{body}"""
+FUNCTION_TEMPLATE = """.section .text.{name}
+.global {name}
+.type {name}, @function
+{name}:
+ li $t2, 0x{address:02x}
+ jr $t2
+ li $t1, 0x{id:02x}
+
+"""
+SYSCALL_TEMPLATE = """.section .text.{name}
+.global {name}
+.type {name}, @function
+{name}:
+ li $a0, 0x{id:02x}
+ syscall 0
+ jr $ra
+ nop
+
+"""
+
+STUB_TYPES = {
+ "a": ( 0xa0, FUNCTION_TEMPLATE, "A0 table functions" ),
+ "b": ( 0xb0, FUNCTION_TEMPLATE, "B0 table functions" ),
+ "c": ( 0xc0, FUNCTION_TEMPLATE, "C0 table functions" ),
+ "syscall": ( 0x00, SYSCALL_TEMPLATE, "Syscalls" )
+}
+
+def generate_section(_type, entries):
+ address, template, title = STUB_TYPES[_type]
+ body = ""
+
+ for entry in entries:
+ if entry.get("comment", None):
+ body += f"# {entry['comment'].strip()}\n"
+
+ body += template.format(
+ name = entry["name"].strip(),
+ address = address,
+ id = entry["id"]
+ )
+
+ return SECTION_TEMPLATE.format(
+ title = title,
+ count = len(entries),
+ body = body
+ )
+
+## Main
+
+HEADER_TEMPLATE = """# 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
+
+"""
+
+def get_args():
+ parser = ArgumentParser(
+ description = "Generates MIPS assembly listings of BIOS API stubs."
+ )
+ parser.add_argument(
+ "json_list",
+ type = FileType("rt"),
+ help = "path to JSON list of stubs to generate"
+ )
+ parser.add_argument(
+ "-o", "--output",
+ type = str,
+ default = os.curdir,
+ help = "where to save generated files (current directory by default)",
+ metavar = "directory"
+ )
+
+ return parser.parse_args()
+
+def main():
+ args = get_args()
+
+ with args.json_list as _file:
+ all_entries = json.load(_file)
+
+ # { file: { type: [ entry, ... ], ... }, ... }
+ files = {}
+
+ # Sort all functions by the file they are going to be put in, and by the
+ # type within the file.
+ for entry in all_entries:
+ _type = entry["type"].strip().lower()
+ _file = entry["file"].strip()
+
+ if type(entry["id"]) is str:
+ entry["id"] = int(entry["id"], 0)
+
+ if _file not in files:
+ files[_file] = { _type: [] for _type in STUB_TYPES.keys() }
+
+ files[_file][_type].append(entry)
+
+ for path, types in files.items():
+ full_path = os.path.normpath(os.path.join(args.output, path))
+ listing = HEADER_TEMPLATE
+
+ for _type, entries in types.items():
+ if not entries:
+ continue
+
+ entries.sort(key = lambda entry: entry["id"])
+ listing += generate_section(_type, entries)
+
+ with open(full_path, "wt", newline = "\n") as _file:
+ _file.write(listing)
+
+if __name__ == "__main__":
+ main()
diff --git a/libpsn00b/psxapi/stdio.s b/libpsn00b/psxapi/stdio.s
new file mode 100644
index 0000000..e65f871
--- /dev/null
+++ b/libpsn00b/psxapi/stdio.s
@@ -0,0 +1,114 @@
+# 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 (13)
+
+.section .text.open
+.global open
+.type open, @function
+open:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x00
+
+.section .text.seek
+.global seek
+.type seek, @function
+seek:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x01
+
+.section .text.read
+.global read
+.type read, @function
+read:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x02
+
+.section .text.write
+.global write
+.type write, @function
+write:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x03
+
+.section .text.close
+.global close
+.type close, @function
+close:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x04
+
+.section .text.ioctl
+.global ioctl
+.type ioctl, @function
+ioctl:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x05
+
+.section .text.getc
+.global getc
+.type getc, @function
+getc:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x08
+
+.section .text.putc
+.global putc
+.type putc, @function
+putc:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x09
+
+.section .text.getchar
+.global getchar
+.type getchar, @function
+getchar:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x3b
+
+.section .text.putchar
+.global putchar
+.type putchar, @function
+putchar:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x3c
+
+.section .text.gets
+.global gets
+.type gets, @function
+gets:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x3d
+
+.section .text.puts
+.global puts
+.type puts, @function
+puts:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x3e
+
+.section .text.printf
+.global printf
+.type printf, @function
+printf:
+ li $t2, 0xa0
+ jr $t2
+ li $t1, 0x3f
+
diff --git a/libpsn00b/psxapi/stdio/atoi.s b/libpsn00b/psxapi/stdio/atoi.s
deleted file mode 100644
index 74c4ae7..0000000
--- a/libpsn00b/psxapi/stdio/atoi.s
+++ /dev/null
@@ -1,9 +0,0 @@
-.set noreorder
-.section .text
-
-.global atoi
-.type atoi, @function
-atoi:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x10
diff --git a/libpsn00b/psxapi/stdio/atol.s b/libpsn00b/psxapi/stdio/atol.s
deleted file mode 100644
index f0da653..0000000
--- a/libpsn00b/psxapi/stdio/atol.s
+++ /dev/null
@@ -1,9 +0,0 @@
-.set noreorder
-.section .text
-
-.global atol
-.type atol, @function
-atol:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x11
diff --git a/libpsn00b/psxapi/stdio/close.s b/libpsn00b/psxapi/stdio/close.s
deleted file mode 100644
index 6d52762..0000000
--- a/libpsn00b/psxapi/stdio/close.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global close
-.type close, @function
-close:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x04
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/stdio/getc.s b/libpsn00b/psxapi/stdio/getc.s
deleted file mode 100644
index 2a93af6..0000000
--- a/libpsn00b/psxapi/stdio/getc.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global getc
-.type getc, @function
-getc:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x08
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/stdio/getchar.s b/libpsn00b/psxapi/stdio/getchar.s
deleted file mode 100644
index ad645c0..0000000
--- a/libpsn00b/psxapi/stdio/getchar.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global getchar
-.type getchar, @function
-getchar:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x3b
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/stdio/gets.s b/libpsn00b/psxapi/stdio/gets.s
deleted file mode 100644
index ba423ef..0000000
--- a/libpsn00b/psxapi/stdio/gets.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global gets
-.type gets, @function
-gets:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x3d
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/stdio/ioctl.s b/libpsn00b/psxapi/stdio/ioctl.s
deleted file mode 100644
index 9ba17e6..0000000
--- a/libpsn00b/psxapi/stdio/ioctl.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global ioctl
-.type ioctl, @function
-ioctl:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x05
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/stdio/open.s b/libpsn00b/psxapi/stdio/open.s
deleted file mode 100644
index ce8c684..0000000
--- a/libpsn00b/psxapi/stdio/open.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global open
-.type open, @function
-open:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x00
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/stdio/printf.s b/libpsn00b/psxapi/stdio/printf.s
deleted file mode 100644
index 64f1390..0000000
--- a/libpsn00b/psxapi/stdio/printf.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global printf
-.type printf, @function
-printf:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x3f
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/stdio/putc.s b/libpsn00b/psxapi/stdio/putc.s
deleted file mode 100644
index 1c6d916..0000000
--- a/libpsn00b/psxapi/stdio/putc.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global putc
-.type putc, @function
-putc:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x09
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/stdio/puts.s b/libpsn00b/psxapi/stdio/puts.s
deleted file mode 100644
index 96815eb..0000000
--- a/libpsn00b/psxapi/stdio/puts.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global puts
-.type puts, @function
-puts:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x3e
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/stdio/read.s b/libpsn00b/psxapi/stdio/read.s
deleted file mode 100644
index 4209232..0000000
--- a/libpsn00b/psxapi/stdio/read.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global read
-.type read, @function
-read:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x02
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/stdio/seek.s b/libpsn00b/psxapi/stdio/seek.s
deleted file mode 100644
index 944afd9..0000000
--- a/libpsn00b/psxapi/stdio/seek.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global seek
-.type seek, @function
-seek:
- addiu $t2, $0, 0xA0
- jr $t2
- addiu $t1, $0, 0x01
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/stdio/write.s b/libpsn00b/psxapi/stdio/write.s
deleted file mode 100644
index c451952..0000000
--- a/libpsn00b/psxapi/stdio/write.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global write
-.type write, @function
-write:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x03
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/stubs.json b/libpsn00b/psxapi/stubs.json
new file mode 100644
index 0000000..9198b06
--- /dev/null
+++ b/libpsn00b/psxapi/stubs.json
@@ -0,0 +1,410 @@
+[
+ {
+ "type": "a",
+ "id": 0,
+ "name": "open",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 1,
+ "name": "seek",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 2,
+ "name": "read",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 3,
+ "name": "write",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 4,
+ "name": "close",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 5,
+ "name": "ioctl",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 8,
+ "name": "getc",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 9,
+ "name": "putc",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 19,
+ "name": "b_setjmp",
+ "file": "sys.s"
+ },
+ {
+ "type": "a",
+ "id": 20,
+ "name": "b_longjmp",
+ "file": "sys.s"
+ },
+ {
+ "type": "a",
+ "id": 57,
+ "name": "b_InitHeap",
+ "file": "sys.s"
+ },
+ {
+ "type": "a",
+ "id": 59,
+ "name": "getchar",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 60,
+ "name": "putchar",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 61,
+ "name": "gets",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 62,
+ "name": "puts",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 63,
+ "name": "printf",
+ "file": "stdio.s"
+ },
+ {
+ "type": "a",
+ "id": 67,
+ "name": "Exec",
+ "file": "sys.s"
+ },
+ {
+ "type": "a",
+ "id": 68,
+ "name": "FlushCache",
+ "file": "sys.s"
+ },
+ {
+ "type": "a",
+ "id": 85,
+ "name": "_bu_init",
+ "file": "drivers.s"
+ },
+ {
+ "type": "a",
+ "id": 113,
+ "name": "_96_init",
+ "file": "drivers.s"
+ },
+ {
+ "type": "a",
+ "id": 114,
+ "name": "_96_remove",
+ "file": "drivers.s"
+ },
+ {
+ "type": "a",
+ "id": 153,
+ "name": "AddDummyTty",
+ "file": "drivers.s"
+ },
+ {
+ "type": "a",
+ "id": 160,
+ "name": "_boot",
+ "file": "sys.s"
+ },
+ {
+ "type": "a",
+ "id": 171,
+ "name": "_card_info",
+ "file": "drivers.s"
+ },
+ {
+ "type": "a",
+ "id": 172,
+ "name": "_card_load",
+ "file": "drivers.s"
+ },
+ {
+ "type": "a",
+ "id": 175,
+ "name": "_card_clear",
+ "file": "drivers.s"
+ },
+ {
+ "type": "a",
+ "id": 180,
+ "name": "GetSystemInfo",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 0,
+ "name": "_kernel_malloc",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 1,
+ "name": "_kernel_free",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 2,
+ "name": "SetRCnt",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 3,
+ "name": "GetRCnt",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 4,
+ "name": "StartRCnt",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 5,
+ "name": "StopRCnt",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 6,
+ "name": "ResetRCnt",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 8,
+ "name": "OpenEvent",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 12,
+ "name": "EnableEvent",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 13,
+ "name": "DisableEvent",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 18,
+ "name": "InitPAD",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 19,
+ "name": "StartPAD",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 20,
+ "name": "StopPAD",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 23,
+ "name": "ReturnFromException",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 24,
+ "name": "SetDefaultExitFromException",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 25,
+ "name": "SetCustomExitFromException",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 64,
+ "name": "chdir",
+ "file": "fs.s"
+ },
+ {
+ "type": "b",
+ "id": 66,
+ "name": "firstfile",
+ "file": "fs.s"
+ },
+ {
+ "type": "b",
+ "id": 67,
+ "name": "nextfile",
+ "file": "fs.s"
+ },
+ {
+ "type": "b",
+ "id": 68,
+ "name": "rename",
+ "file": "fs.s"
+ },
+ {
+ "type": "b",
+ "id": 69,
+ "name": "erase",
+ "file": "fs.s"
+ },
+ {
+ "type": "b",
+ "id": 71,
+ "name": "AddDev",
+ "file": "drivers.s"
+ },
+ {
+ "type": "b",
+ "id": 72,
+ "name": "DelDev",
+ "file": "drivers.s"
+ },
+ {
+ "type": "b",
+ "id": 73,
+ "name": "ListDev",
+ "file": "drivers.s"
+ },
+ {
+ "type": "b",
+ "id": 74,
+ "name": "InitCard",
+ "file": "drivers.s"
+ },
+ {
+ "type": "b",
+ "id": 75,
+ "name": "StartCard",
+ "file": "drivers.s"
+ },
+ {
+ "type": "b",
+ "id": 76,
+ "name": "StopCard",
+ "file": "drivers.s"
+ },
+ {
+ "type": "b",
+ "id": 78,
+ "name": "_card_write",
+ "file": "drivers.s"
+ },
+ {
+ "type": "b",
+ "id": 79,
+ "name": "_card_read",
+ "file": "drivers.s"
+ },
+ {
+ "type": "b",
+ "id": 80,
+ "name": "_new_card",
+ "file": "drivers.s"
+ },
+ {
+ "type": "b",
+ "id": 86,
+ "name": "GetC0Table",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 87,
+ "name": "GetB0Table",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 88,
+ "name": "_card_chan",
+ "file": "drivers.s"
+ },
+ {
+ "type": "b",
+ "id": 91,
+ "name": "ChangeClearPAD",
+ "file": "sys.s"
+ },
+ {
+ "type": "b",
+ "id": 92,
+ "name": "_card_status",
+ "file": "drivers.s"
+ },
+ {
+ "type": "b",
+ "id": 93,
+ "name": "_card_wait",
+ "file": "drivers.s"
+ },
+ {
+ "type": "c",
+ "id": 2,
+ "name": "SysEnqIntRP",
+ "file": "sys.s"
+ },
+ {
+ "type": "c",
+ "id": 3,
+ "name": "SysDeqIntRP",
+ "file": "sys.s"
+ },
+ {
+ "type": "c",
+ "id": 10,
+ "name": "ChangeClearRCnt",
+ "file": "sys.s"
+ },
+ {
+ "type": "syscall",
+ "id": 1,
+ "name": "EnterCriticalSection",
+ "file": "sys.s"
+ },
+ {
+ "type": "syscall",
+ "id": 2,
+ "name": "ExitCriticalSection",
+ "file": "sys.s"
+ }
+]
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
+
diff --git a/libpsn00b/psxapi/sys/_boot.s b/libpsn00b/psxapi/sys/_boot.s
deleted file mode 100644
index 9052772..0000000
--- a/libpsn00b/psxapi/sys/_boot.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _boot
-.type _boot, @function
-_boot:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0xa0
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/_bu_init.s b/libpsn00b/psxapi/sys/_bu_init.s
deleted file mode 100644
index f074899..0000000
--- a/libpsn00b/psxapi/sys/_bu_init.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _bu_init
-.type _bu_init, @function
-_bu_init:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x55
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/_card_chan.s b/libpsn00b/psxapi/sys/_card_chan.s
deleted file mode 100644
index 7847820..0000000
--- a/libpsn00b/psxapi/sys/_card_chan.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _card_chan
-.type _card_chan, @function
-_card_chan:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x58
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/_card_clear.s b/libpsn00b/psxapi/sys/_card_clear.s
deleted file mode 100644
index 163415c..0000000
--- a/libpsn00b/psxapi/sys/_card_clear.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _card_clear
-.type _card_clear, @function
-_card_clear:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0xaf
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/_card_info.s b/libpsn00b/psxapi/sys/_card_info.s
deleted file mode 100644
index 5e6720f..0000000
--- a/libpsn00b/psxapi/sys/_card_info.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _card_info
-.type _card_info, @function
-_card_info:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0xab
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/_card_load.s b/libpsn00b/psxapi/sys/_card_load.s
deleted file mode 100644
index 0e871cb..0000000
--- a/libpsn00b/psxapi/sys/_card_load.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _card_load
-.type _card_load, @function
-_card_load:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0xac
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/_card_read.s b/libpsn00b/psxapi/sys/_card_read.s
deleted file mode 100644
index 9026c63..0000000
--- a/libpsn00b/psxapi/sys/_card_read.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _card_read
-.type _card_read, @function
-_card_read:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x4f
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/_card_status.s b/libpsn00b/psxapi/sys/_card_status.s
deleted file mode 100644
index 1dd37aa..0000000
--- a/libpsn00b/psxapi/sys/_card_status.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _card_status
-.type _card_status, @function
-_card_status:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x5c
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/_card_wait.s b/libpsn00b/psxapi/sys/_card_wait.s
deleted file mode 100644
index 5ceb4d5..0000000
--- a/libpsn00b/psxapi/sys/_card_wait.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _card_wait
-.type _card_wait, @function
-_card_wait:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x5d
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/_card_write.s b/libpsn00b/psxapi/sys/_card_write.s
deleted file mode 100644
index 5e1450b..0000000
--- a/libpsn00b/psxapi/sys/_card_write.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _card_write
-.type _card_write, @function
-_card_write:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x4e
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/_new_card.s b/libpsn00b/psxapi/sys/_new_card.s
deleted file mode 100644
index cfd6f57..0000000
--- a/libpsn00b/psxapi/sys/_new_card.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global _new_card
-.type _new_card, @function
-_new_card:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x50
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/adddev.s b/libpsn00b/psxapi/sys/adddev.s
deleted file mode 100644
index 7fa717d..0000000
--- a/libpsn00b/psxapi/sys/adddev.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-
-.section .text
-
-.global AddDev
-.type AddDev, @function
-AddDev:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x47 \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/adddummytty.s b/libpsn00b/psxapi/sys/adddummytty.s
deleted file mode 100644
index a569d38..0000000
--- a/libpsn00b/psxapi/sys/adddummytty.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-
-.section .text
-
-.global AddDummyTty
-.type AddDummyTty, @function
-AddDummyTty:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x99
diff --git a/libpsn00b/psxapi/sys/b_initheap.s b/libpsn00b/psxapi/sys/b_initheap.s
deleted file mode 100644
index 7411dd6..0000000
--- a/libpsn00b/psxapi/sys/b_initheap.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global b_InitHeap
-.type b_InitHeap, @function
-b_InitHeap:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x39
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/changeclearpad.s b/libpsn00b/psxapi/sys/changeclearpad.s
deleted file mode 100644
index 509b03f..0000000
--- a/libpsn00b/psxapi/sys/changeclearpad.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global ChangeClearPAD
-.type ChangeClearPAD, @function
-ChangeClearPAD:
- addiu $t2, $0 , 0xb0
- jr $t2
- addiu $t1, $0 , 0x5b
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/changeclearrcnt.s b/libpsn00b/psxapi/sys/changeclearrcnt.s
deleted file mode 100644
index a65676d..0000000
--- a/libpsn00b/psxapi/sys/changeclearrcnt.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global ChangeClearRCnt
-.type ChangeClearRCnt, @function
-ChangeClearRCnt:
- addiu $t2, $0 , 0xc0
- jr $t2
- addiu $t1, $0 , 0x0a
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/deldev.s b/libpsn00b/psxapi/sys/deldev.s
deleted file mode 100644
index 185cd32..0000000
--- a/libpsn00b/psxapi/sys/deldev.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-
-.section .text
-
-.global DelDev
-.type DelDev, @function
-DelDev:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x48 \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/disableevent.s b/libpsn00b/psxapi/sys/disableevent.s
deleted file mode 100644
index fb60549..0000000
--- a/libpsn00b/psxapi/sys/disableevent.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global DisableEvent
-.type DisableEvent, @function
-DisableEvent:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x0d
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/enableevent.s b/libpsn00b/psxapi/sys/enableevent.s
deleted file mode 100644
index a95e1fc..0000000
--- a/libpsn00b/psxapi/sys/enableevent.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global EnableEvent
-.type EnableEvent, @function
-EnableEvent:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x0c
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/entercriticalsection.s b/libpsn00b/psxapi/sys/entercriticalsection.s
deleted file mode 100644
index ce9a368..0000000
--- a/libpsn00b/psxapi/sys/entercriticalsection.s
+++ /dev/null
@@ -1,11 +0,0 @@
-.set noreorder
-.section .text
-
-.global EnterCriticalSection
-.type EnterCriticalSection, @function
-EnterCriticalSection:
- addiu $a0, $0, 1
- syscall 0
- jr $ra
- nop
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/exec.s b/libpsn00b/psxapi/sys/exec.s
deleted file mode 100644
index dacce7e..0000000
--- a/libpsn00b/psxapi/sys/exec.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-
-.section .text
-
-.global Exec
-.type Exec, @function
-Exec:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x43 \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/exitcriticalsection.s b/libpsn00b/psxapi/sys/exitcriticalsection.s
deleted file mode 100644
index e2ee060..0000000
--- a/libpsn00b/psxapi/sys/exitcriticalsection.s
+++ /dev/null
@@ -1,11 +0,0 @@
-.set noreorder
-.section .text
-
-.global ExitCriticalSection
-.type ExitCriticalSection, @function
-ExitCriticalSection:
- addiu $a0, $0, 2
- syscall 0
- jr $ra
- nop
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/flushcache.s b/libpsn00b/psxapi/sys/flushcache.s
deleted file mode 100644
index 7eeb510..0000000
--- a/libpsn00b/psxapi/sys/flushcache.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-
-.section .text
-
-.global FlushCache
-.type FlushCache, @function
-FlushCache:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0x44
diff --git a/libpsn00b/psxapi/sys/getrcnt.s b/libpsn00b/psxapi/sys/getrcnt.s
deleted file mode 100644
index 0b035ed..0000000
--- a/libpsn00b/psxapi/sys/getrcnt.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-
-.section .text
-
-.global GetRCnt
-.type GetRCnt, @function
-GetRCnt:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x03 \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/getsysteminfo.s b/libpsn00b/psxapi/sys/getsysteminfo.s
deleted file mode 100644
index 60c1d43..0000000
--- a/libpsn00b/psxapi/sys/getsysteminfo.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-
-.section .text
-
-.global GetSystemInfo
-.type GetSystemInfo, @function
-GetSystemInfo:
- addiu $t2, $0, 0xa0
- jr $t2
- addiu $t1, $0, 0xb4 \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/initcard.s b/libpsn00b/psxapi/sys/initcard.s
deleted file mode 100644
index bdc3ffd..0000000
--- a/libpsn00b/psxapi/sys/initcard.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global InitCARD
-.type InitCARD, @function
-InitCARD:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x4a
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/initpad.s b/libpsn00b/psxapi/sys/initpad.s
deleted file mode 100644
index f2a6642..0000000
--- a/libpsn00b/psxapi/sys/initpad.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global InitPAD
-.type InitPAD, @function
-InitPAD:
- addiu $t2, $0 , 0xb0
- jr $t2
- addiu $t1, $0 , 0x12
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/listdev.s b/libpsn00b/psxapi/sys/listdev.s
deleted file mode 100644
index fa3afec..0000000
--- a/libpsn00b/psxapi/sys/listdev.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global ListDev
-.type ListDev, @function
-ListDev:
- addiu $t2, $0 , 0xb0
- jr $t2
- addiu $t1, $0 , 0x49
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/openevent.s b/libpsn00b/psxapi/sys/openevent.s
deleted file mode 100644
index 9be0a3e..0000000
--- a/libpsn00b/psxapi/sys/openevent.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global OpenEvent
-.type OpenEvent, @function
-OpenEvent:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x08
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/resetrcnt.s b/libpsn00b/psxapi/sys/resetrcnt.s
deleted file mode 100644
index 5811625..0000000
--- a/libpsn00b/psxapi/sys/resetrcnt.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-
-.section .text
-
-.global ResetRCnt
-.type ResetRCnt, @function
-ResetRCnt:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x06 \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/returnfromexception.s b/libpsn00b/psxapi/sys/returnfromexception.s
deleted file mode 100644
index ec67b64..0000000
--- a/libpsn00b/psxapi/sys/returnfromexception.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global ReturnFromException
-.type ReturnFromException, @function
-ReturnFromException:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x17
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/setcustomexitfromexception.s b/libpsn00b/psxapi/sys/setcustomexitfromexception.s
deleted file mode 100644
index bcba057..0000000
--- a/libpsn00b/psxapi/sys/setcustomexitfromexception.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global SetCustomExitFromException
-.type SetCustomExitFromException, @function
-SetCustomExitFromException:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x19
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/setdefaultexitfromexception.s b/libpsn00b/psxapi/sys/setdefaultexitfromexception.s
deleted file mode 100644
index baaf591..0000000
--- a/libpsn00b/psxapi/sys/setdefaultexitfromexception.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global SetDefaultExitFromException
-.type SetDefaultExitFromException, @function
-SetDefaultExitFromException:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x18
-
diff --git a/libpsn00b/psxapi/sys/setrcnt.s b/libpsn00b/psxapi/sys/setrcnt.s
deleted file mode 100644
index ec6180a..0000000
--- a/libpsn00b/psxapi/sys/setrcnt.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-
-.section .text
-
-.global SetRCnt
-.type SetRCnt, @function
-SetRCnt:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x02 \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/startcard.s b/libpsn00b/psxapi/sys/startcard.s
deleted file mode 100644
index 44f1676..0000000
--- a/libpsn00b/psxapi/sys/startcard.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global StartCARD
-.type StartCARD, @function
-StartCARD:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x4b
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/startpad.s b/libpsn00b/psxapi/sys/startpad.s
deleted file mode 100644
index fdd380f..0000000
--- a/libpsn00b/psxapi/sys/startpad.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global StartPAD
-.type StartPAD, @function
-StartPAD:
- addiu $t2, $0 , 0xb0
- jr $t2
- addiu $t1, $0 , 0x13
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/startrcnt.s b/libpsn00b/psxapi/sys/startrcnt.s
deleted file mode 100644
index 0fd5c33..0000000
--- a/libpsn00b/psxapi/sys/startrcnt.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-
-.section .text
-
-.global StartRCnt
-.type StartRCnt, @function
-StartRCnt:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x04 \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/stopcard.s b/libpsn00b/psxapi/sys/stopcard.s
deleted file mode 100644
index 9c38d5d..0000000
--- a/libpsn00b/psxapi/sys/stopcard.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global StopCARD
-.type StopCARD, @function
-StopCARD:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x4c
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/stoppad.s b/libpsn00b/psxapi/sys/stoppad.s
deleted file mode 100644
index 5e77a43..0000000
--- a/libpsn00b/psxapi/sys/stoppad.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global StopPAD
-.type StopPAD, @function
-StopPAD:
- addiu $t2, $0 , 0xb0
- jr $t2
- addiu $t1, $0 , 0x14
- \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/stoprcnt.s b/libpsn00b/psxapi/sys/stoprcnt.s
deleted file mode 100644
index 4af94da..0000000
--- a/libpsn00b/psxapi/sys/stoprcnt.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-
-.section .text
-
-.global StopRCnt
-.type StopRCnt, @function
-StopRCnt:
- addiu $t2, $0, 0xb0
- jr $t2
- addiu $t1, $0, 0x05 \ No newline at end of file
diff --git a/libpsn00b/psxapi/sys/sysenqintrp.s b/libpsn00b/psxapi/sys/sysenqintrp.s
deleted file mode 100644
index b1efe65..0000000
--- a/libpsn00b/psxapi/sys/sysenqintrp.s
+++ /dev/null
@@ -1,10 +0,0 @@
-.set noreorder
-.section .text
-
-.global SysEnqIntRP
-.type SysEnqIntRP, @function
-SysEnqIntRP:
- addiu $t2, $0, 0xc0
- jr $t2
- addiu $t1, $0, 0x02
- \ No newline at end of file