Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A DCPU-16 emulator
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs All the basic opcodes are working\!.


Jacob M. Peck, 2012


This is an emulator for the DCPU-16 architecture.

This emulator has no VRAM, no hardware emulation, and no interrupts. This is a purely memory-mapped emulator for educational purposes.


This requires an installation of Io (available at the IoLanguage website).

To start up demi-16, run the demi-16 loader:


You can also provide a binary file as an argument and demi-16 will load it for you:

./ asm/fib/fib.bin

Once inside, you'll have an interface from which to issue commands. There is a history with readline support, so arrow keys will cycle through your previously entered commands.

The help command provides information about the various commands available. To get more help on a particular command, simply do help command. For example:

help set

Some commands take no arguments. These are simple to use: just type them.


Some commands take an argument:

load asm/fib/fib.bin
reg a
dump_ram 3
exec 8801

Some commands work both with and without arguments, providing different modes of interaction:

reg b
dump_ram 3

Finally, a few commands take two arguments.

set_reg a 32
set_ram ffff 12

It should be noted that command names and register names are not case sensitive, but file names are. Also, whenever a command is expecting a number or a word, the number is interpreted as hexadecimal, i.e. set_reg a 32 will set A to 32(base 16) = 50(base 10).


Because I've never written something like this, and it looks like an approachable project.

I'll be happy when I can be assured that it works enough to perform some simple calculations (i.e., Fibonacci number generation), and most likely won't be testing it thoroughly. There may be an assembler included with this, but that is unlikely.

It is my goal to have this emulator binary-compatible with a specifications-abiding assembler.


BSD Licensed

Something went wrong with that request. Please try again.