diff options
Diffstat (limited to 'src/mess/machine/dccons.c')
-rw-r--r-- | src/mess/machine/dccons.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/mess/machine/dccons.c b/src/mess/machine/dccons.c index 67137a5103d..48f4bd372a6 100644 --- a/src/mess/machine/dccons.c +++ b/src/mess/machine/dccons.c @@ -162,28 +162,28 @@ WRITE32_MEMBER(dc_cons_state::dc_mess_g1_ctrl_w ) break; /* - The following register is involved in BIOS checksum protection system. - current understanding of its functioning based on several hardware tests: + The following register is involved in BIOS checksum protection system. + current understanding of its functioning based on several hardware tests: - after power on system is in "protected state": - - access to G1 ATA register area (5F70XX) is locked, ie GD-ROM in Dreamcast or cartridge/DIMM in arcade systems is not accessible; - - *any* data readed via G1 data bus (ie BIOS) is summed internally by chipset; - - write to GD_UNLOCK (5F74E4) register set "last address" of checksummed area; + after power on system is in "protected state": + - access to G1 ATA register area (5F70XX) is locked, ie GD-ROM in Dreamcast or cartridge/DIMM in arcade systems is not accessible; + - *any* data readed via G1 data bus (ie BIOS) is summed internally by chipset; + - write to GD_UNLOCK (5F74E4) register set "last address" of checksummed area; - then readed address matches with "last address" - calculated summ compared with some hardcoded value - if values match - system becomes in "unlocked state": - - G1 ATA registers unlocked; - - by write to GD_UNLOCK register system can be switched back to "protected state" + then readed address matches with "last address" - calculated summ compared with some hardcoded value + if values match - system becomes in "unlocked state": + - G1 ATA registers unlocked; + - by write to GD_UNLOCK register system can be switched back to "protected state" - if values doesn't match - system switch to "locked state": - - similar to protected, but data summing seems not performed anymore, - at least write to GD_UNLOCK and "pumping" through G1 bus data chunk with valid checksumm have no effect; - - the only exit from this state - power off/on or reset; + if values doesn't match - system switch to "locked state": + - similar to protected, but data summing seems not performed anymore, + at least write to GD_UNLOCK and "pumping" through G1 bus data chunk with valid checksumm have no effect; + - the only exit from this state - power off/on or reset; - actual checksum algorithm is unknown, but its supposed to be simple and weak, - known few modded BIOSes which succesfully passes this CRC check, because of good luck + actual checksum algorithm is unknown, but its supposed to be simple and weak, + known few modded BIOSes which succesfully passes this CRC check, because of good luck - all described above works the same way in all HOLLY/CLX2-based systems - Dreamcast, Naomi 1/2, Atomiswave, SystemSP + all described above works the same way in all HOLLY/CLX2-based systems - Dreamcast, Naomi 1/2, Atomiswave, SystemSP */ case GD_UNLOCK: if (data==0 || data==0x001fffff || data==0x42fe) |