Difference between revisions of "Checksum"
From Sega Retro
Line 1: | Line 1: | ||
− | In the [[Sega Genesis]], the '''checksum''' is a rather simple security measure meant to prevent pirates from modifying the ROM image. It may also have been used for internal security, as a method to keep developers from making unauthorized changes to the code. At any rate, it has caused hackers incalculable headache until circumvention methods were discovered. | + | In the [[Sega Genesis]], the '''checksum''' is a rather simple security measure meant to prevent pirates from modifying the ROM image. It may also have been used for internal security, as a method to keep developers from making unauthorized changes to the code. At any rate, it has caused hackers incalculable headache until circumvention methods were discovered. [[Esrael]] wrote a program [[ESE FixCheckSum]] to correct the checksum. Emulators like [[Kega Fusion]] and [[Gens/GS]] provide an option to automatically correct checksums when a ROM is loaded. |
The checksum is calculated by adding up every word from $200 to the end of the ROM. This is then compared against the value stored in the header, and if the values differ, the game displays a red screen and stops running. Most modern emulators fix the checksum automatically. | The checksum is calculated by adding up every word from $200 to the end of the ROM. This is then compared against the value stored in the header, and if the values differ, the game displays a red screen and stops running. Most modern emulators fix the checksum automatically. |
Revision as of 21:21, 8 July 2009
In the Sega Genesis, the checksum is a rather simple security measure meant to prevent pirates from modifying the ROM image. It may also have been used for internal security, as a method to keep developers from making unauthorized changes to the code. At any rate, it has caused hackers incalculable headache until circumvention methods were discovered. Esrael wrote a program ESE FixCheckSum to correct the checksum. Emulators like Kega Fusion and Gens/GS provide an option to automatically correct checksums when a ROM is loaded.
The checksum is calculated by adding up every word from $200 to the end of the ROM. This is then compared against the value stored in the header, and if the values differ, the game displays a red screen and stops running. Most modern emulators fix the checksum automatically.
Some games, such as Sonic & Knuckles, lack checksum checks, possibly because of the time required to check the entire ROM.