tools

Retro Game Development and Reversing Tools of the Trade

Edit on Github | Updated: 1st April 2026

Explore the Tools of the Trade

Back in the day, game development was both an art and a science, involving a unique set of tools and technologies. On this site, you’ll find comprehensive links and guides to the essential tools used during the golden era of video game creation.

Programming

Programming Languages

Discover the programming languages that powered the classics. From the assembly languages that squeezed every ounce of performance from early hardware to the C and C++ languages that enabled more complex game designs, we cover the essentials that brought pixels to life. Dive into the specifics of languages such as:

  • Assembly: The low-level language used for its unparalleled control over hardware.
  • C: The versatile language that struck a balance between performance and portability.
  • C++: The language that introduced object-oriented programming to game development.

For more information on the programming languages used for game development check out this post:


Assemblers & Compilers

Learn about the assemblers and compilers that transformed code into playable games.

These powerful tools were pivotal in optimizing and translating the developers’ visions into the games we remember.

Understand the role of early compilers and their impact on game performance and development workflows. Key tools include:

  • Assemblers: Programs like MASM and TASM that converted assembly code into machine code.
  • Compilers: Tools like GCC and Watcom C that compiled higher-level code into efficient machine code.

For more information on how GNU GCC was used in game development check out this post:


Game Development IDEs

Explore the Integrated Development Environments (IDEs) that were instrumental in retro game development.

These IDEs provided comprehensive toolsets for coding, debugging, and testing, streamlining the development process for many classic games. Key IDEs from this era include:

  • Microsoft Visual Studio: A powerful and versatile IDE that supported multiple programming languages, making it a favorite among game developers for its robust debugging tools and integrated development features.
  • Borland C++: Known for its speed and efficiency, Borland C++ was a popular choice for many game developers due to its advanced compiler technology and comprehensive library support.
  • CodeWarrior: Initially developed for Macintosh, CodeWarrior later expanded to support multiple platforms, offering a flexible environment for cross-platform development which was essential for many game studios. Had special versions for PS2 and Gamecube support 1.
  • Turbo C++: An early IDE by Borland, Turbo C++ was known for its simplicity and speed, providing a streamlined environment for writing and testing code quickly.

These IDEs were pivotal in creating the games that defined a generation, providing the necessary tools and environments to bring imaginative worlds to life.

An advert for attracting game developers to use Microsoft Visual Studio from the September 2007 issue of Develop magazine: Microsoft Visual Studio


Software Development Kits

Every platform had its own official Software Development Kit (SDK), so whether you were developing for the PlayStation or the PC you would be interacting with different APIs. In addition there were third parties that created their own multi-platform SDKs which could be used on multiple games consoles or Operating Systems.

We have a post specifically about all the different SDKs for each platform.


Asset Development

3D Modelling

Explore the evolution of 3D modeling tools that gave depth and realism to early 3D games. From primitive polygon editors to the pioneering software that laid the groundwork for today’s sophisticated 3D graphics, get insights into the creative processes behind iconic game visuals. Essential tools and techniques include:

  • Early Polygon Editors: Basic tools for creating simple 3D models.
  • Advanced Modelling Software: Programs like 3D Studio, SoftImage and Maya that allowed for more detailed and complex designs.
  • Texture Mapping: Techniques for applying textures to 3D models to enhance visual realism.

For more information on 3D Software check out this post:

2D Images, Sprites and Textures

Known software used in the creation of 2D Image asserts for retro video games include:

  • Deluxe Paint (aka DPaint) - Created by Electronic Arts
  • DeBabilizer - Shown off during 1997 Computer Game Developers Conference (Used for palletizing sprites for StarCraft 2)

8-bit EGA Pixel art at LucasArts

Mark Ferrari has an excellent GDC talk, in which he discussed some of the techniques for drawing 8-bit game graphics, including color cycling and palette shifting in Deluxe Paint:


Music Creation

Music has always been a cornerstone of the gaming experience. Uncover the music creation tools and techniques that produced the memorable soundtracks of retro games. Learn about the hardware limitations and ingenious methods composers used to create captivating game music. Important aspects include:

  • Sound Chips: Hardware like the SID chip in the Commodore 64 and the Yamaha YM2612 in the Sega Genesis that defined the sound of many classic games.
  • Tracker Software: Programs like FastTracker and ProTracker that allowed composers to create music with limited hardware capabilities.
  • MIDI Composition: The use of MIDI to sequence and control sound modules and synthesizers for richer game audio.

Production

The tools used by producers for project management are much harder to find information on as no details will leak into the source code or compiled game binaries, however, we know of a few thanks to articles in magazines such as Develop.

DevTrack by TechExcel

DevTrack is TechExcel’s project issue-tracking tool, comprehensively managing issues as far reaching as new features, QA reports and IT activities. Clients include Activision, Electronic Arts, Sammy Studios, Sony Online Entertainment, Vivendi Universal.

The reason we know about this tool is thanks to issue 78 of the UK game development magazine Develop which had a brief section on it: TECHEXCEL DEVTRACK

It was previously known as PowerTrack but rebranded to DevTrack in 1999 to focus on software development specifically.

In the February 1999 issue of EXE magazine it mentions the rebrand was at version 3.0: PowerTrack rebrand

The product is still going strong in 2025!


Reverse Engineering Tools for Games

Reverse engineering is a vital process for understanding and recreating the magic behind retro games. By dissecting and analyzing the original game code, assets, and mechanics, enthusiasts can learn how these classics were built and even modify or enhance them. Our site provides detailed information on the essential tools and techniques used in reverse engineering games. Here’s an overview of the key tools you’ll need:

Disassemblers

Disassemblers are crucial for breaking down compiled game code back into human-readable assembly language. These tools allow you to see the underlying instructions that the game uses to function, providing insight into the game’s logic and structure.

  • IDA Pro: One of the most powerful disassemblers, supporting a wide range of processors and file formats.
  • Ghidra: A free, open-source disassembler developed by the NSA, known for its robust features and user-friendly interface.
  • Radare2: A highly customizable and versatile disassembler and debugger, popular in the open-source community.

For more information on Disassemblers check out this post:


Debuggers

Debuggers are used to test and analyze game code in real-time, allowing you to track the execution of programs, inspect memory, and find bugs or glitches.

  • OllyDbg: A popular Windows debugger known for its strong analysis capabilities and ease of use.
  • x64dbg: An open-source debugger for Windows with modern features and an active development community.
  • Cheat Engine: While primarily known as a game cheating tool, Cheat Engine’s debugging features make it useful for reverse engineering.

Hex Editors

Hex editors let you view and modify the raw binary data of game files. They are essential for making precise changes to game code and assets at the byte level.

  • HxD: A fast and efficient hex editor for Windows with features like file comparison and memory modification.
  • Hex Fiend: A powerful hex editor for macOS, capable of handling large files with ease.
  • 010 Editor: A professional-grade hex editor with powerful scripting and parsing capabilities.

Decompilers

Decompilers attempt to convert executable code back into a higher-level programming language, making it easier to understand and modify.

  • Reko: An open-source decompiler designed for multiple architectures and file formats.
  • RetDec: A retagetable machine-code decompiler that supports various architectures and file types.
  • Ghidra: Besides being a disassembler, Ghidra also includes decompiler features that provide pseudo-code representations of disassembled binaries.

For more information on Ghidra check out this post:


File Format Analyzers

Understanding game-specific file formats is crucial for modifying assets and extracting valuable information. These tools help analyze and manipulate proprietary file formats used in games.

Diaphora - The Deeply Interactive Program Diffing Tool

Diaphora is an advanced program diffing framework written by joxeankoret that integrates directly into the IDA Pro disassembler (and supports Ghidra via a script). This tool is essential for tasks like comparing binary versions, allowing users to identify changes in functions, structures, and global variables between two databases. It provides a visual and interactive way to track code evolution and analyze modifications in complex binaries.

BSides Lisbon features a presentation by Joxean Koret, the creator of Diaphora, an open-source program diffing plugin for IDA Pro.

Koret details the tool’s architecture, which exports IDA databases to SQLite and uses 44 different heuristics to match functions, including techniques based on the Hex-Rays decompiler’s Abstract Syntax Tree (AST) for high-quality, cross-architecture comparison. The presentation includes demos of identifying a security patch and porting symbols between stripped and unstripped binaries.

Using BinDiff and Diaphora

Guided Hacking presents a tutorial on using both Diaphora and BinDiff to perform binary diffing. The video demonstrates how to set up workspaces to visually compare function control flow graphs and identify code similarities, which is essential for analyzing security patches, identifying vulnerabilities, and detecting code reuse in malware variants like the Conti ransomware.


Emulators

Emulators replicate the hardware of old gaming systems on modern computers, allowing you to run and test games in a controlled environment.

  • MAME: An emulator that supports a wide range of arcade and console systems.
  • PCSX2: A PlayStation 2 emulator that provides debugging features for reverse engineering.
  • Dolphin: A GameCube and Wii emulator known for its accuracy and debugging tools.

For more information on Reversing Emulators check out this post:

QEMU

QEMU is an open-source machine emulator and virtualizer that enables hardware-level virtualization and full-system emulation for running operating systems and software across different CPU architectures.

A Deep Dive into QEMU Internals

The Airbus Security Lab has an excellent write up about reverse engineering the internal mechanics of the QEMU emulator. It covers the Tiny Code Generator (TCG), memory management via SoftMMU, and the main execution loop, offering critical insights for security researchers aiming to audit or fuzz the emulation engine.


Game Cracking Software used back in the day

Cracking games for piracy and other purposes has existed for almost as long as the games industry has existed.

We have tons of modern software for Reverse Engineering and ROM Hacking but how were games cracked back in the day?

We have a post specifically about this software in the link below.


Posts

Here is a list of posts on the site that have been tagged as related to game development or reverse engineering tools.

tools
3D Software used in Retro-era Game Development

Introduction This post will focus on 3D software used to produce commercial video games in the 90s up until the 2010s due to the focus of this site being retro... ...

tools
3D Studio (Max)

Introduction 3D Studio started life as a prototype called MODEL created by Tom Hudson for Yost Group back in 1988 and evolved to become one of the most used 3D... ...

tools
Central Point Backup Format Visualiser (CPBACKUP.001,.002..)

Central Point Backup Restoring Recently I was sent some really interesting files that are known to contain Spiderman Sega mega drive source assets, they were ripped from floppy disks. However... ...

tools
C/C++ Compiler Toolchains (Console & PC)

When reverse engineering commercial console binaries built from C/C++, the first question is often which toolchain produced the code as it can make your job reverse engineering a game so... ...

tools
Creating a LibRetro Frontend in Rust

Welcome to this comprehensive tutorial on creating a LibRetro Frontend using Rust! If you’re passionate about retro gaming and interested in creating your very own emulation frontend from scratch, you’ve... ...

tools
Disassemblers - A Deep Dive

Understanding How Disassemblers Work: A Deep Dive In the world of retro gaming, reverse engineering, and software development, disassemblers are essential tools. They provide a bridge between binary code and... ...

tools
Game Programming Starter Kit

The Game Progrtamming Starter Kit was a product that aimed to provide professional level game development tools to the wider public

...

tools
Ghidra Decompiler & Disassembler - Awesome List

Ghidra is the most advanced reverse engineering tool on the market, and best of all it is completely free and open source! Most of the content on RetroReversing will be... ...

tools
Gigaleak NEWS_05 - Star Fox 2 3D CAD Pipeline & Development Toolkit

NEWS_05.tar is a 109 MB workstation backup snapshot from a Nintendo developer’s machine, dated around May 1995. Unlike the structured source-code drops elsewhere in the Gigaleak, NEWS_05 captures raw mid-development... ...

tools
ILBMViewer

Drop ILBM or LBM files here to view ...

tools
Maya (Alias Wavefront, Autodesk) - The history of the Maya 3D software in the games industry

Introduction Maya was first released in 1998 as the successor to Alias’s PowerAnimator, integrating technologies from multiple earlier tools (Alias PowerAnimator, Wavefront’s Advanced Visualizer, etc.) into a single package. It... ...

tools
N64 3D Modelling Software

During the Nintendo 64s lifetime 3D modelling tools evolved at an incredible pace. 3D games were the new trend which pushed developers into creating new 3D games in order to... ...

tools
PDB Files - Using PDB files for Reverse Engineering

If you are very lucky indeed then the game you want to reverse engineer comes with full debug symbols in the form of a Program Database file or PDB for... ...

tools
Exploring Retro Game Programming Languages - From Assembly to higher level languages

Introduction Welcome to our journey through the fascinating world of programming languages used to create retro games! In the early days of video games, developers had to work with limited... ...

tools
Super Famicom SFX-DOS Development Environment

The Nintendo Gigaleak preserves a surprisingly complete Super Famicom disk and I/O environment inside the Super Mario Kart source directory. This is the SFX-DOS stack: a SNES-side support layer for... ...

tools
Sega Saturn SYSROF Object Format Visualizer (.obj,.abs)

SYSROF Object Module Format The SYSROF format was commonly used in the early 90s by companies like Hitachi for their own compiler toolchain instead of other formats such as COFF... ...

tools
Sega Saturn Artist Tools

This post will cover the most commonly used tools by artists when developing assets for Sega Saturn games, including 2D, 3D and Video. 2D Art Software The Sega Saturn had... ...

tools
Sega Saturn Memory Map

Main memory Map The table below highlights the main areas that can be accessed in Sega Saturn games. Start End Name Description 0x00 0x000FFFFF Boot ROM Repets every 512 kb... ...

tools
Sega Saturn Save State Visualizer (.yss)

Drop YSS files here to view The emulator Yabause uses a simple format to save the state of the emulated machine, drag and drop a .yss file below and you... ...

tools
Understanding libRetro - An Internal Look for Programmers

Introduction libRetro is a versatile framework designed to facilitate the development of emulators and games through a unified interface. This post explores the internal workings of libRetro, providing insights tailored... ...

tools
N64 ROM Visualizer (.z64)

Drop Z64 files here to view ...

tools
N64 Rom Analysis with Radare2

This guide will presume you have already installed the radare2 suite of binary analysis tools on your computer. Radare 2 supports z64 big endian binaries using the r_bin plugin that... ...

tools
Introduction to Software Development Kits (SDKs)

Introduction to Software Development Kits (SDKs) Software Development Kits come in all shapes and sizes, some are built by the games console manufacturer themselves and others are built by 3rd-party... ...


References