What Is ROM Corruption?
By Milton Kazmeyer
, last updated March 13, 2012
Read-only memory, or ROM, can contain programming vital to the performance of computers, video games or hand-held devices. Manufacturers place programs called “firmware” in these permanent storage chips; firmware is permanent software that remains static under normal circumstances. If ROM data becomes corrupted, it can have significant effects on the behavior of the system or device involved.
Corruption of firmware on read-only memory chips can occur for a variety of reasons. A defect in the manufacturing process can lead to ROM corruption, either immediately or over time. An improper voltage regulator in the electronic device might allow too much power to flow to the chip, deteriorating its ability to maintain the software image over time. In addition, a sudden electrical overcharge, such as that caused by a lightning strike, can overwhelm internal safeties and damage-sensitive electronics. The corruption caused by this type of damage is usually extreme, however, and may affect other components than the ROM chips.
Programmable ROM chips allow manufacturers to update firmware programs periodically, but it also opens up another avenue for ROM corruption. To update ROM-based firmware, first you must “flash” the ROM, erasing it, before installing the new program. If something interrupts this process as it happens, it can result in a partial program image being stored on the chip, rendering the device unresponsive.
Another type of ROM corruption can occur when users copy ROM images from older hardware for the purposes of emulation. Many older devices such as arcade games stored their programming on read-only memory chips, and hobbyists have revived a number of old games by dumping those ROM images to disk and using programs such as the Multiple Arcade Machine Emulator to allow them to play the games on their PC. Since the hardware involved can be decades old and the procedure for copying off the images is improvised, it is easy for corruption of the ROM data to occur during the transfer process. Since properly emulating arcade hardware can be a trial and error process, identifying problems with these images can take time and effort.
In some cases, users may intentionally corrupt ROM data in order to perform certain tasks. In the case of arcade game images, for instance, corrupting parts of the ROM can affect game play, altering enemy behavior or graphics or even giving extra lives or other benefits. Since many game manufacturers used proprietary programming techniques when creating their games, making these alterations is a trial-and-error process involving intentionally corrupting parts of the ROM data and activating the program to evaluate the changes.