ROM hacking is the process of modifying a ROM image of a video game to alter the game's graphics, dialogue, levels, gameplay, and/or other elements. This is usually done by technically inclined video game fans to breathe new life into a cherished old game, as a creative outlet, or to make essentially new unofficial games using the old game's engine.
ROM hacking is generally accomplished through use of a hex editor (a program for editing non-textual data) and various specialized tools such as tile editors, and game-specific tools which are generally used for editing levels, items, and the like, although more advanced tools such as assemblers and debuggers are occasionally used. Once ready, they are usually distributed on the Internet for others to play on an emulator or games console.
Fan translation (known as "translation hacking" within the ROM hacking community) is a type of ROM hacking; there are also anti-censorship hacks that exist to restore a game to its original state, which is often seen with older games that were imported, as publishers' content policies for video games (most notably, Nintendo's) were much stricter in the United States than Japan or Europe. Although much of the methodology applies to both types of hacking, this article focuses on "creative hacking" such as editing game levels.
Most hacking groups offer web space for hosting hacks and screenshots (sometimes only hosting hacks by the group's members, sometimes hosting almost any hack), a message board, and often have an IRC channel. Many ROM hackers are publicly visible in some forums or websites for receive a kind of help to go well in his hack.
Having been created by many different programmers or programming teams, ROM data can be very diverse.
A hex editor is one of the most fundamental tools in any ROM hacker's repertoire. Hex editors are usually used for editing text, and for editing other data for which the structure is known (for example, item properties), and Assembly hacking.