PS2 What, exactly, allows IOP_IRQ_CDVD to be triggered by the power button?

uyjulian

Developer
What, exactly, allows IOP_IRQ_CDVD to be triggered by the power button?

I'm curious as to why IOP_IRQ_CDVD is only being triggered when DEV9 is in an initialized state.
I know that poweroff from ps2sdk will chain the IOP_IRQ_CDVD handler from CDVDMAN.
When I only load poweroff.irx, then hit the reset button, the console resets immediately.
However, when I also load ps2dev9.irx, then hit the reset button, the IOP_IRQ_CDVD callback is called.

Another thing: when I boot the PS2 with network adapter inserted, boot from HDD EEPROM flag enabled, no memory card, and no HDD, the fan spins up.
Before the duration when the fan spins up, when I press the reset button, both reset and eject lights turn off for a while, then turn back on, indicating a reset.
During the duration when the fan spins up, I can press the reset button as many times as I want and it won't reset during that time period. The reset light blinks quickly, but the eject light stays lit.
However, after the fan spins down, when I press the reset button, both reset and eject lights turn off for a while, then turn back on, indicating a reset.

I don't see any mentions of CDVD registers in dev9 from ps2sdk, so I'm curious if the fan speed and power button causing IOP_IRQ_CDVD interrupt is controlable individually…
 
I know for sure when you have the network adaptor/HDD modules loaded the console will not do a quick reset from just tapping the reset button, youd need to hold it to standby then power up from there. I believe it is so you cannot quick reset during network or HDD use to prevent corruption. I couldn't say for sure exactly why this is persay but I'd assume to prevent HDD corruption or quick resets while online to prevent possible glitches with resetting the game before your profile saves, ie item drop duping, etc.
 
Back
Top