diff --git a/engine/inc/irx/irx_loader.hpp b/engine/inc/irx/irx_loader.hpp index a9aa19f..d0dbcac 100644 --- a/engine/inc/irx/irx_loader.hpp +++ b/engine/inc/irx/irx_loader.hpp @@ -27,6 +27,7 @@ class IrxLoader { void loadSio2man(const bool& verbose); void loadPadman(const bool& verbose); void loadLibsd(const bool& verbose); + void loadPOSIX(const bool& verbose); void loadUsbModules(const bool& verbose); void loadAudsrv(const bool& verbose); diff --git a/engine/src/irx/fileXio.irx-em b/engine/src/irx/fileXio.irx-em new file mode 100644 index 0000000..fbdfe29 --- /dev/null +++ b/engine/src/irx/fileXio.irx-em @@ -0,0 +1,2 @@ +$PS2SDK/iop/irx/fileXio.irx +fileXio_irx diff --git a/engine/src/irx/iomanX.irx-em b/engine/src/irx/iomanX.irx-em new file mode 100644 index 0000000..d83e4fc --- /dev/null +++ b/engine/src/irx/iomanX.irx-em @@ -0,0 +1,2 @@ +$PS2SDK/iop/irx/iomanX.irx +iomanX_irx diff --git a/engine/src/irx/irx_loader.cpp b/engine/src/irx/irx_loader.cpp index c36f9b8..ae7bca9 100644 --- a/engine/src/irx/irx_loader.cpp +++ b/engine/src/irx/irx_loader.cpp @@ -33,6 +33,12 @@ extern int size_audsrv_irx; extern u8 libsd_irx[]; extern int size_libsd_irx; +extern u8 fileXio_irx_irx[]; +extern int size_fileXio_irx_irx; + +extern u8 iomanX_irx_irx[]; +extern int size_iomanX_irx_irx; + extern u8 bdm_irx[]; extern int size_bdm_irx; @@ -116,6 +122,24 @@ void IrxLoader::loadLibsd(const bool& verbose) { if (verbose) TYRA_LOG("IRX: Libsd loaded!"); } +void IrxLoader::loadPOSIX(const bool& verbose) { + if (verbose) TYRA_LOG("IRX: Loading fileXio..."); + + int ret; + SifExecModuleBuffer(&fileXio_irx, size_fileXio_irx, 0, nullptr, &ret); + TYRA_ASSERT(ret >= 0, "Failed to load module: fileXio_irx"); + + if (verbose) TYRA_LOG("IRX: fileXio_irx loaded!"); + + if (verbose) TYRA_LOG("IRX: Loading iomanX..."); + + int ret; + SifExecModuleBuffer(&iomanX_irx, size_iomanX_irx, 0, nullptr, &ret); + TYRA_ASSERT(ret >= 0, "Failed to load module: iomanX_irx"); + + if (verbose) TYRA_LOG("IRX: iomanX loaded!"); +} + void IrxLoader::loadUsbModules(const bool& verbose) { if (verbose) TYRA_LOG("IRX: Loading usb modules...");