Quote Originally Posted by SilverBull
It is hard-coded on the drive mechanics controller (mechacon), the BIOS has nothing to do with the drive region. There is no known way for any software running on the EE or IOP to change the drive region, or even to get any sectors off a disk from a wrong region.
That's true for all units manufacturated before 2006. Since the 7700x series Sony started to ship a single version of bios and mechanics controller which contains all regions. The region is then set at factory by writing a value on the mechacon chip EEPROM (which is internal to the said chip and has tight security). This is also why around that time most modchips stoped working with the newer PS2s and needed their CPLD microcodes to be updated.

Quote Originally Posted by SilverBull
The mechacon contains its own microcontroller and firmware (in an internal PROM), and it controls access to the drive. That is why modchips need some wires to the mechacon, instead of just the BIOS chip; they overwrite the disk authentication information (which is sent between the mechacon and drive DSP over a private bus), so the mechacon never "sees" the real region of the inserted disk.
Or if there's any, even (DVD-R/CD-R). I couldn't have it explained better :)

Quote Originally Posted by SilverBull
I don't know exactly when and why the boot sequence can fail, but there seem to be situations in which the drive controller is partially initialized, but the BIOS hangs in an infinite loop waiting for some response that will never happen.
Like I said on the previous post, faulty EE RAM can (and will on most cases) cause the RDRAM init to fail or even if the PS2 get to boot, cause random crashes, garbage on the screen and bad sound.
In the case of PS2 units that can't init the GS chip (TV stays on it's blue screen) or black screen with no boot the only diagnosis one can do is hook the EE SIO cable and set up it properly then wait for the DECI2 error messages. If RDRAM is faulty you will see something like this:

# Initialize memory (rev:3.17, ctm:393Mhz, cpuclk:295Mhz )
# RDRAM INIT returned error: -1
The error code varies depending on the kind of error... And sadly I don't know what each value means. And the unit hangs at that.

Quote Originally Posted by SilverBull
I think something like this causes the behaviour you are experiencing: upon boot, the BIOS send the initialization command to the mechacon (4 bytes, calculated off some other bytes from rom0:ROMVER), which succeeds. From this point onwards, the mechacon assumes the BIOS to be valid, and happily verifies each inserted disk. Therefore, it spins it up and searches for the region signature. If it matches, the disk is okay and the mechacon waits for normal software to read it (which won't happen, as the system failed to boot), so it keeps spinning. However, if the region doesn't match, the mechacon stops the disk and remembers the error status, ready to send it back to any application trying to read the disk (which, obviously, won't happen as well).
On early units (pre 7700x), because the Mechacon is completely independent from the IOP, it will work even if the ROM bios chip is removed, which prevents the IOP from booting for obvious reasons. I don't know how it is for the current production batches though.

For the IOP, the mechacon is seen as part of the DVD drive DSP registers as it's the DVD DSP chip that interfaces with the IOP. If the DVD drive hardware was faulty, you would get a normal boot log on EE SIO but still a black screen and the disc would not spin, I believe.

Hardware vs software behavior is such a wonderful topic for discussion, isn't it ? :thumbsup: