ROM Validation Checksum?

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Post Reply
User avatar
Lloyd Gordon
Posts: 150
Joined: Mon Nov 07, 2005 11:32 am
Location: Toronto
Contact:

ROM Validation Checksum?

Post by Lloyd Gordon » Fri Oct 27, 2006 9:15 am

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.

User avatar
Memblers
Site Admin
Posts: 3786
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers » Fri Oct 27, 2006 10:17 am

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.

tepples
Posts: 21841
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Fri Oct 27, 2006 11:04 am

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?

User avatar
Memblers
Site Admin
Posts: 3786
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers » Fri Oct 27, 2006 12:01 pm

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.

User avatar
Bregalad
Posts: 7793
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Post by Bregalad » Sat Oct 28, 2006 2:20 am

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.
Life is complex: it has both real and imaginary components.

tepples
Posts: 21841
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Sat Oct 28, 2006 3:06 pm

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.

User avatar
kyuusaku
Posts: 1665
Joined: Mon Sep 27, 2004 2:13 pm

Post by kyuusaku » Sat Oct 28, 2006 8:53 pm

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.

User avatar
Bregalad
Posts: 7793
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Post by Bregalad » Sun Oct 29, 2006 1:15 am

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).
Life is complex: it has both real and imaginary components.

User avatar
kyuusaku
Posts: 1665
Joined: Mon Sep 27, 2004 2:13 pm

Post by kyuusaku » Sun Oct 29, 2006 7:54 am

Without a doubt DKC's protection is entirely in software, I don't know what's wrong with your setup.

Post Reply