Skip to content

Conversation

israpps
Copy link
Contributor

@israpps israpps commented Feb 21, 2025

allow SDL to be built without IOP handling
new make variable NO_IOP_HANDLING will disable features that have influence over the iop, such as loading modules and rebooting the IOP

The RPC EE servers remain bc they are obviously needed


Fix IRX return value check on SDL

Module ID being less <= 0 means that MODLOAD returned an error (see kerr.h)

Now, for the module return value...

((ret & 3) != 0) is the condition used by rom0:MODLOAD to check if module requested to be unloaded from it's main function (eg: aborted startup, whatever...). newer modloads use a different (and not backwards compatible) logic. so this new logic will work as intended as long as the program using this library did not replace the MODLOAD module with one that supports unloading...

This is MUCH better than the old flawed logic. since SDL will no longer deem a module returning MODULE_NO_RESIDENT_END as successfully executed

new make variable `NO_IOP_HANDLING` will disable features that have influence over the iop, such as loading modules and rebooting the IOP

The RPC EE servers remain bc they are obviously needed
Module ID being less <= 0 means that MODLOAD returned an error (see kerr.h)

Now, for the module return value...

´((ret & 3) != 0)´ is the condition used by ´rom0:MODLOAD´ to check if module requested to be unloaded from it's main function (eg: aborted startup, whatever...). newer modloads use a different (and not backwards compatible) logic. so this new logic will work as intended as long as the program using this library did not replace the MODLOAD module with one that supports unloading...
@israpps
Copy link
Contributor Author

israpps commented Feb 21, 2025

I havent tested these changes yet, my intention is to use them for making PS2Doom work over Namco System 246/256

And also, to give programmers more freedom if they want it. backwards compatibility will be the default of course, regardless of how bad that was

@Wolf3s
Copy link
Contributor

Wolf3s commented Feb 24, 2025

I havent tested these changes yet, my intention is to use them for making PS2Doom work over Namco System 246/256

And also, to give programmers more freedom if they want it. backwards compatibility will be the default of course, regardless of how bad that was

Well i can test these features on my ps2doom´s fork.

@israpps
Copy link
Contributor Author

israpps commented Feb 25, 2025

I havent tested these changes yet, my intention is to use them for making PS2Doom work over Namco System 246/256
And also, to give programmers more freedom if they want it. backwards compatibility will be the default of course, regardless of how bad that was

Well i can test these features on my ps2doom´s fork.

does it work?

I compiled one with latest ps2sdk and it hangs on SDL init

@Wolf3s
Copy link
Contributor

Wolf3s commented Feb 25, 2025

I havent tested these changes yet, my intention is to use them for making PS2Doom work over Namco System 246/256
And also, to give programmers more freedom if they want it. backwards compatibility will be the default of course, regardless of how bad that was

Well i can test these features on my ps2doom´s fork.

does it work?

I compiled one with latest ps2sdk and it hangs on SDL init

It doesn't work :p.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants