Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/caljer1/9900dis/llms.txt

Use this file to discover all available pages before exploring further.

9900dis is a command-line disassembler for Texas Instruments TMS9900 and TMS9995 CPUs. It reads a binary ROM file and produces an assembly listing compatible with the xas99 assembler from the xdt99 tool suite. What makes it unique is its iterative approach: the output file can be edited to add labels, equates, data hints, and comments, then fed back in as input — each re-run incorporates your annotations and produces progressively richer, more readable output.

Installation

Install 9900dis from a binary release or run it directly from Python source

Quickstart

Disassemble your first ROM in minutes with a step-by-step walkthrough

Command reference

Full documentation for all CLI flags: —rom, —listing, —aorg, —cpu

Iterative workflow

Learn how to refine output across multiple disassembly passes

Annotation reference

Complete syntax for labels, equates, data hints, and inline comments

CPU instructions

Full TMS9900 instruction set decoded by 9900dis

How it works

9900dis reads a binary ROM and decodes each word using the TMS9900 instruction encoding rules. The first pass produces a complete but unannotated listing. From there, you incrementally mark up the file to guide subsequent passes.
1

Disassemble the ROM

Run 9900dis with your ROM file and a target listing path. Specify the load address with --aorg if the ROM is not at 0x0000.
9900dis --aorg 6000 --rom sys.bin --listing sys.asm
2

Annotate the listing

Open sys.asm in a text editor. Add labels to known entry points, define equates for hardware registers, mark data words with f:data, and add inline comments.
3

Re-run the disassembler

Run the same command again. 9900dis reads back your annotations and replaces raw hex addresses with your symbolic names across the entire listing.
9900dis --aorg 6000 --rom sys.bin --listing sys.asm
4

Repeat until readable

Continue annotating and re-running until the listing is fully documented. The output reassembles cleanly with xas99.
9900dis output is designed to round-trip through the xas99 assembler from the xdt99 tool suite. The generated listing can be reassembled to produce a byte-identical binary.

Build docs developers (and LLMs) love