What exactly?
- That the way FMCB starts an ELF from the OSDSYS without 'clearing' the 'state' of the SPU2 is at fault?
- That it would be correct to implement the 'clearing' of the 'state' of the SPU2 once the OSDSYS is terminated?
- That launching ELFs from OSDSYS, causes ELFs (beside games started from i.e. OPL) to react and work differently, due to a different (initial) 'state' of the hardware?
Please be more specific!
You assumed that there is a way to do deinitialization, but there is no documented procedure for this.
I STATED that there MUST be 'something', which causes apps and games to start&work normally - even when the OSDSYS is invoked - if they are not having the same issues when they are started normally from disc like a PS2-game!
This invokes PS2Logo, which possibly makes SOMETHING which causes the PS2's 'state' to become 'more normal' again, because the same problems/coldboot-issues vanish, if even an old OPL-Version is started via disc, but it won't work starting the same ELF from the hacked OSDSYS - except if PS2Logo has been turned on!
As a matter of fact, FMCB does call the RPC deinitialization function of OSDSYS (with no effect in the matter discussed here).
Then there is something missing or not working as intended, because it is also a matter of fact that apps can behave differently depending on the way they are started!
This is most obvious in starting apps from the OSDSYS (from FMCB/FHDB's 'list') and does not happen when you start these ELFs via either disc or auto-/button-launch!
This does happen on a reboot-button-launch or reboot-auto-launch as well, because the SPU2 (or whatever else causes these issues) was never 'cleared' or 'set to the previous state' - after the OSDSYS invoked it -, to begin with!
So you were right! This will probably also happen on an IGR,... [if it doesn't clear the state the game left]
(but MIGHT only affect jumping from certain games to others, depending on the way these games have it initialized themselve, or which settings they use!)
To prevent that, IGR should also 'clear the state', IMO.
But even so, not all versions of OSDSYS have such a capability.
It doesn't need to!
Obviously Programms are USUALLY meant to be started via disc (except for KELFs) and thus it could be 'PS2Logo' or something else which is called/executed during the start of a disc!
So if OSDSYS does not have the capabilities to solve this problem to begin with, how is this FMCB's problem?
First off... The OSDSYS OBVIOUSLY does 'SOMETHING', which causes the PS2 to be in a 'state' that it doesn't have the previously mentioned issues like Sound-Stutters in Half Life, if OPL is simply started from disc (even after the hacked OSDSYS was running)!
Starting PS2Logo before also 'fixed'/'worked around' the issue, so PS2Logo also OBVIOUSLY does either something itself or one of the things it calls does something, which causes the PS2 to be in a 'cleaner state'!
Second... The issue is triggered by not terminating the OSDSYS on starting an ELF via FMCB's list/hacked OSDSYS... All other methods do NOT cause these issues.
- Starting it/an app from disc through the hacked OSDSYS (invokes PS2Logo) works and causes the issues to disappear!
- Not starting into the OSDSYS makes the issue disappear!
- Activating 'PS2Logo' in OPL makes the issues disappear, even when the app was started through the hacked OSDSYS from the list and even on those older versions which do not include the newest fix to clear the SPU2's state, before a game is started!
All these things point to the OSDSYS having an issue when starting ELFs the FMCB-way and that invoking PS2Logo does in fact do something to the PS2's 'state', that makes all those related problems vanish/disappear!
Well, you might not know all the informations!
It would be a pretty ENORMOUS work, if you had read EVERY post which is or could be related to this issue and still pulled off so many updates, game-patches and etc. in that short time!
I am not saying anything against your knowledge tho', haha... You're hacking the sh#% out of that console and on a quite broad spectrum of things as well!
the best solution is to reset that part of the SPU2 before the game boots.
Based on the information and knowledge I have, I've got to tell you that I THINK you are wrong on that one occasion!
When have I ever said anything against your stuff and implementations? Lol! I bet I am ONE OF those in the scene which 'hailed' you and your work (and still do) the most, especially because I like the structure and implementation of those!

You are pretty much the only one that I never pestered about 'implementation' because of that.
IMO, 'rightfully' it should reset that specific part not just before a game starts (but rather after an IGR), but before
the app itself is started, thus by the 'app' which invokes the SPU2 to begin with, which in regard to the coldboot-issues IS FMCB/FHDB's way of not 'clearing the state', when an ELF is launched from the OSDSYS...
So how do I 'know' that?
EVERY of those tests I asked those people to do and where related to the issue + your debugging of the SPU2 being the cause for Half Life's issues, is pointing to this!
There is just no way to warrant, that ELFs would work different either when started from the OSDSYS or after a soft-reboot after the OSDSYS was started!
?
What do you mean by that?
It should atleast cause no problems, just because someone wants to start an ELF/App from the hacked OSDSYS...
Rightfully, there would be no problem if the SPU2 was initialized properly.
You mean in regards to the state before an app is started, or how the app initializes it?
Right!
Like I said! I SUPPOSE only some games suffer from problems and they are probably even old!
A newer lib might properly change the settings/state to be valid again, but old games might not change the setting if it is not '0' (i.e. empty), which would cause it to use the previous settings.
If you think it should be done differently, go do your research and present your facts. Then we shall discuss.
Well... I tryed to... Please also look at some tests
@jolek and
@Peppe90 have posted regarding this...
AFAIK it also does not solely affect OPL, but can affect various apps!
Maybe we should create a seperate thread about this issue!
We've got hundreds of games, but only a handful (maybe even less than 10) have such an issue.
Indeed, but afaik this is NOT limited to OPL!