Difference between revisions of "Checksum"

From Sega Retro

(calculation procedure)
 
m
Line 1: Line 1:
  
In the Megadrive, 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.
  
 
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 14:23, 26 August 2005

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.

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.