DeciMatrix 8086

DeciMatrix logo

DeciMatrix is a program designed to decode the Matrix into decimal. It’s a spin-off of the Terminal Matrix 8086’s DCMATRIX command, built into a standalone executable sharing the same metamorphic property of run-within-OS-or-bootstrap-itself-without-OS provided by the QDot language and its standard library. It works with CGA, EGA and VGA graphic adapters and it runs on any IBM-PC compatible, being the minimum requirement an 8086 processor with 16Kb of RAM. Its binary sums up to just a couple kilobytes and very surprisingly is simultaneously a valid DOS executable and a bootable disk image, meaning that it can run even on machines with no operating system at all!

It is based on the premise that it’s easier for people to become proficient in interpreting the Matrix code if instead of dealing with very cryptic symbols rolling down in the screen, they could deal with static and familiar symbols. It’s still quite hard to learn how to see through the code, though; but don’t worry — if you happen to never see the woman in red, at least you’ll have used a very cool DOS screen-saver.


You can download the DeciMatrix binary below.

DeciMatrix is free software under GPLv3+ and you can obtain its source code here. It requires NASM, The Netwide Assembler, in order to be built, and GNU Make to automate that process.


DeciMatrix can run directly on real hardware or inside a virtual machine — under DOS, or bootstrapping itself. To use it under DOS on bare metal, just copy its binary to the respective machine and run it as usual:


I recommend you use FreeDOS, the free software implementation of DOS, for best results. To run DeciMatrix without operating system support you need to write it to a storage medium that your computer can boot from; it may be a floppy disk, a hard drive, an optical disk or even an USB mass storage device. Using this method requires that you afford a dedicated media only for DeciMatrix, so make sure to backup any existing data, and to reformat the media when re-purposing it.

You can use RAWWRITE to make a bootable floppy disk under DOS. Just run RAWWRITE and follow the prompts inputting the program’s binary name (eg. dcmatrix.com) and the destination floppy drive letter (eg. a:). Under GNU you can use the command-line utility dd, of the GNU coreutils package, to make a bootable floppy disk, hard disk or USB mass storage device. If you are logged in as root, the incantation is as simple as:

# dd if=dcmatrix.com of=<device-node>

Where the variable device-node is the device node of the respective drive. In GNU you can also make a bootable optical disk by using the command-line utility genisoimage, from the cdrkit package, in the following way:

$ mkdir dcmatrix
$ mv dcmatrix.com dcmatrix
$ genisoimage -no-emul-boot -b dcmatrix.com -o dcmatrix.iso dcmatrix

This generates the dcmatrix.iso file that is a bootable optical disk image that you can burn using wodim (from the same package as genisoimage) or similar software.

If you’d like to run DeciMatrix on a virtual machine under DOS your best bet is probably DOSBox, but DOSEMU also does the job. For any of them, just run the program as you would in a real DOS machine. To run it in a virtual machine without any operating system installed you can use QEMU instead — just invoke it like this:

$ qemu-system-i386 -fda dcmatrix.com


To get a feel of how DeciMatrix looks like, a video of a session recorded in DOSBox, specifically for this purpose, has been made available. Enjoy!

Original recording