sp193
Developer
Unless proven otherwise, there are no known problems with launching ELFs from the hacked OSDSYS menu.
Yes, some apps have problems once booted from the hacked OSDSYS menu, but the reasons have got to do with the app itself. Harvest Moon has problems.
No. There is no procedure for this. However, OSDSND is actually RSPU2DRV, so some things were done differently and there are some deinitialization functions of sorts. But there is no deinit function for libsd, which is what most games were made with.
Clearing the effect region for SPU2 did not seem to have any effect. I have tried it. FMCB v1.9x already scans for and calls the deinitialization function of OSDSYS, which does not improve anything for Half Life. I know it does things like disabling V-sync interrupts, muting of sounds and deinitualization of RPC services.
I think there is some misunderstanding here. You wrote that there is a problem with FMCB, caused by failing to call a procedure that will put the SPU2 in a state that is appropriate for even bugged games.
I wrote that there is no such procedure, so I refuse to locate said code. This code would be within either PS2LOGO and/or OSDSYS. It has nothing to do with FMCB and you do not even need FMCB to actually experiment with this; since the hardware is put in a state that is not handled well by Half Life once the browser is booted, you can test your fix by booting your fix from the hacked OSDSYS menu.
The SPU2 handles sound generation. There is nothing else that will make noises. Only software that loads a sound driver can control SPU2. I have used dsidb to adjust the effect volume level (EVOLR and EVOLL), by reading and writing to the SPU2 registers. And setting EVOLL and EVOLR of SPU2 core 1 mutes the noise. Disabling digital effects also mutes the noise.
There are various ways to read and write to registers. Personally, I used the copy of RDB within OPL because this can only happen on a CEX PS2.
Yes, some apps have problems once booted from the hacked OSDSYS menu, but the reasons have got to do with the app itself. Harvest Moon has problems.
Yes, and we have discussed some things. For the benefit of all, I shall also write responses in this thread.I replied to your previous reply in a llooooong PM.![]()
SRAM is also cleared when an app is started from the OSDSYS, I suppose... Settings in registers also?
No. There is no procedure for this. However, OSDSND is actually RSPU2DRV, so some things were done differently and there are some deinitialization functions of sorts. But there is no deinit function for libsd, which is what most games were made with.
Clearing the effect region for SPU2 did not seem to have any effect. I have tried it. FMCB v1.9x already scans for and calls the deinitialization function of OSDSYS, which does not improve anything for Half Life. I know it does things like disabling V-sync interrupts, muting of sounds and deinitualization of RPC services.
The other only real way to prove it, is by building a new Loader from the source or do it the hard way and:
I think there is some misunderstanding here. You wrote that there is a problem with FMCB, caused by failing to call a procedure that will put the SPU2 in a state that is appropriate for even bugged games.
I wrote that there is no such procedure, so I refuse to locate said code. This code would be within either PS2LOGO and/or OSDSYS. It has nothing to do with FMCB and you do not even need FMCB to actually experiment with this; since the hardware is put in a state that is not handled well by Half Life once the browser is booted, you can test your fix by booting your fix from the hacked OSDSYS menu.
I don't say it is the SPU2 and if it is, it doesn't even need to be a setting in a register, but the 'fix' to OPL certainly fixes FMCB'S issue... ^^
The SPU2 handles sound generation. There is nothing else that will make noises. Only software that loads a sound driver can control SPU2. I have used dsidb to adjust the effect volume level (EVOLR and EVOLL), by reading and writing to the SPU2 registers. And setting EVOLL and EVOLR of SPU2 core 1 mutes the noise. Disabling digital effects also mutes the noise.
There are various ways to read and write to registers. Personally, I used the copy of RDB within OPL because this can only happen on a CEX PS2.
Last edited:
