Glossary of Terms

Having had the opportunity to write and present on my research a few times, it has become evident that many of the terms I regularly use sound like complete and total nonsense to those without a videogame hacking, or at least a computer programming, background. This isn’t meant as a knock on anyone’s intelligence – but rather a recognition that much of my research material is incredibly esoteric. It is totally unreasonable for me to walk into a conference room and expect the audience to know the ins-and-outs of ROM hacking, emulation, or copyright law.

To help mitigate potential misunderstanding, I decided to include a fairly simple glossary with my thesis. It is still in progress but I thought I’d post it on the blog as a way of sharing it around and potentially getting some feedback. It’s not meant to be authoritative in any way, but rather a “way into” my research.


Emulator A program that enables one computer system (called the host) to behave like another computer system (called the guest). An emulator enables the host system to run software and other components which were originally designed for the guest system. ZSNES, for example, allows users to run Super NES games on a PC.
ROM Image (ROM) A ROM image (often shortened to “ROM”) is a computer file that contains a copy of the data present on a read-only memory chip. ROM images can be sourced from a videogame cartridge, a computer’s firmware, or from an arcade game’s main board. Many cartridge based videogames are copied to ROM files, which can then be played on modern computers using an emulator.
ROM Hacking ROM hacking is the process of modifying a ROM image of a videogame to alter elements within the game, including (but not limited to) graphics, levels, dialogue, and music.
ROM Map A ROM map is a linear breakdown of a data stored within a ROM image. Using hexadecimal addresses, a map explains where certain assets (such as text, animation, and music) are stored.
Assembly Code (ASM) Assembly is a low-level programming language for computers, microprocessors, microcontrollers, and other integrated circuits. It is a so-called “low-level” language that operates very close to hardware and, unlike high-level programming languages, cannot be easily ported between different types of hardware. Assembly was commonly used in early videogames, including titles for the Super NES and Game Boy.
Hex Editor A hex editor is a fundamental tool for ROM hacking. They are used for editing text, other data for which the structure is known (for example, item properties), and Assembly hacking.
ASM Hacking ASM hacking involves editing the ASM (Assembly) code within a ROM image. There is no set pattern for ASM hacking, as the code varies widely from game to game, but most skilled ASM hackers either use an emulator equipped with a built-in debugger or tracer, or run the ROM through a disassembler, then analyze the code and modify it using a hex editor or assembler according to their needs.
Disassembler / Disassembly A disassembler is a computer program that translates machine language into a human friendly version of the language, called Assembly language. A disassembler can separate a ROM image into a series of assembly files. A disassembler may add comments to code and names to functions, making the ROM image easier to edit.
Compiler A compiler takes a series of assembly files and puts them back together into a ROM image. This is a necessary step for videogame ROM hacking, as a disassembly is not playable using an emulator.
Patch File A file that contains a set of instructions to alter the data within a ROM image. Patches can be applied to a ROM image using specialized patching software. Hacks are distributed as patches due to the legal concerns surrounding the distribution of pre-altered ROM images.
Cease and Desist Order A cease and desist letter is a document sent to an individual or business to stop purportedly illegal activity (“cease”) and not to restart it (“desist”). The letter may warn that if the recipient does not discontinue specified conduct, or take certain actions, by deadlines set in the letter, that party may be sued.
Digital Millennium Copyright Act (DMCA) The Digital Millennium Copyright Act (DMCA) is a 1998 United States copyright law. It criminalizes production and dissemination of technology, devices, or services intended to circumvent measures that control access to copyrighted works (digital rights management or DRM). It also criminalizes the act of circumventing an access control, whether or not there is actual infringement of copyright itself. In addition, the DMCA heightens the penalties for copyright infringement on the Internet.
Copyright Strike A copyright strike is a policing practice used by YouTube for the purpose of managing copyright infringement and complying with the Digital Millennium Copyright Act. YouTube will issue a copyright strike on a user accused of copyright infringement. When a YouTube user has three copyright strikes, YouTube terminates that user’s YouTube channel, removes all of their videos, and prohibits them from creating another YouTube channel.
Speedrun A speedrun is a play-through (or a recording of a play-through) of a videogame performed with the intention of completing it as quickly as possible. Speedruns may cover a whole game or a selected part, such as a single level.
Challenge Run A challenge run is a playthrough of a game wherein the player plays under self-imposed restrictions in order to increase the game’s difficulty and replay value. Some common challenge runs include 100% runs, where the player must complete every objective in the game, and minimalist runs, where the player intentionally skips items or bonuses that would ease their progress.
Personal Best (PB) A personal best (PB) is a speedrunning term for the fastest time in which a particular speedrunner has completed a game. Speedrunners will often stream “PB grind” sessions in which they play a game over and over again to improve their time.

Add comment

By Michael