Difference between revisions of "Checksum"

From Sega Retro

m (Text replace - "Category:Technical Information" to "Category:Technical information")
 
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. [[sonic:Esrael|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 a rather simple security measure meant to prevent pirates from modifying the ROM image of a [[Sega Mega Drive]] game. 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. [[sonic:Esrael|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. The use of cheat devices such as a [[Game Genie (Mega Drive)|Game Genie]] may also trigger a checksum error, which can be mitigated by using a "master code".
  
 
Some games, such as ''[[Sonic & Knuckles]]'', lack checksum checks, possibly because of the time required to check the entire ROM.
 
Some games, such as ''[[Sonic & Knuckles]]'', lack checksum checks, possibly because of the time required to check the entire ROM.
 +
 +
==References==
 +
<references/>
  
 
[[Category:Technical information]]
 
[[Category:Technical information]]

Latest revision as of 14:46, 28 March 2021

The checksum is a rather simple security measure meant to prevent pirates from modifying the ROM image of a Sega Mega Drive game. 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 use of cheat devices such as a Game Genie may also trigger a checksum error, which can be mitigated by using a "master code".

Some games, such as Sonic & Knuckles, lack checksum checks, possibly because of the time required to check the entire ROM.

References