I noticed that the SNES can tell some ROM's are not valid (Nintendo and Konami) and cannot be played on the SNES. Does anybody know what is used to flag a "valid" game? Are there some bytes to identify manufacturer and maybe a checksum or validation byte(s)? Thanks.
Yeah, SNES ROMs have info at the end of the first bank that says the game name, maker, ROM size, checksum, banking type, SRAM size, extra chips, and I think that's about it. When I made my NSF player I had to use ucon64 to fix the checksum (well, didn't have to obviously, but I wanted it correct).
Also some games will check the PPU and not run if it's the wrong region.
Does BIOS code in the Super NES verify this checksum, or is the checksum just used to verify that the ROMs submitted to Nintendo by the game publisher are correct?
Like the NES, there is no BIOS (except for the 64-byte boot loader ROM used by the SPC-700). So the info there will only get read if the game program accesses it. But it does make life easier for any game copier devices. So yeah, must've been for verification or something. Can't imagine it'd be much more efficient than writing it on an attached piece of paper though, I mean how often would they be making new maskroms? heheh.
Oh, one other bit of info in there I forgot to mention is that it specifies the ROM version too.
Yeah, the SNES copy protection is all about lockout chips just like the NES (but different version), and this time even japanese games get lockout chips.
Some recent game tricks and can detect the use of an adaptater that requires you to plug a licenced cart in one slot for the lockout lines and anything (imported, pirate, or licenced card) in the others. I don't know how they do it. It is not by checking the PPU, because even normal licenced games will detect the things if used through an adaptater.
So a correct checksum isn't needed to run a game on hardware I assume. It is very usefull in emulation scene to know if your ROM is a good dump. (Nintendo helped the emulation scene, hehehe)
Unfortunately, some translatory fixed the checksum in their translations along with the ips patch, wich is bad, because one could think that was an actual licenced translation. Also some licenced developpers were to lazy to implement the correct checksum. So that's not the ultimate way to know if your ROM is good, but in almost all cases it works fine.
Bregalad wrote:
Yeah, the SNES copy protection is all about lockout chips just like the NES (but different version), and this time even japanese games get lockout chips.
Some recent game tricks and can detect the use of an adaptater that requires you to plug a licenced cart in one slot for the lockout lines and anything (imported, pirate, or licenced card) in the others. I don't know how they do it.
It's because the key chip in Super NES games that use the SA-1 coprocessor is actually used for what the patent describes it for: shutting off the ROM enable.
Games can only use 50/60hz and SRAM size detection for protection. AFAIK the SA-1 is the only board which requires a CIC to unlock the ROM, nothing else has similar hardware measures.
My licenced PAL Donkey Kong Country cartridge show a "blue screen of death" when turned on with a licenced PAL SNES through an unlicenced universal adaptater that switch the CIC adress lines to another licenced PAL cartridge.
And Donkey Kong Country doesn't use the SA-1, nor is uses any other particular co-processeur (just the MAD-1, and I don't think it is responsible for that).
Without a doubt DKC's protection is entirely in software, I don't know what's wrong with your setup.