dcpu16 - an assembler, disassembler and emulator for Notch's DCPU-16 virtual CPU for the game 0x10c
# Run an object file through the emulator dcpu16 <object file> # Run an object file through the emulator and dump CPU state at each clock tick dcpu16 --debug <object file> # Run an assembler file through the emulator dcpu16 <assembler file ending in .dasm or .dasm16> # Decompile an object file to an assembler file dcpu16 --disassemble <object file> # .. or round trip an assembler file dcpu16 --disassemble <assembler file ending in .dasm or .dasm16> # Compile an assembler file to an object file dcpu16 --assemble <assembler file> > <object file> # Run a file and limit the number of instructions dcpu16 --limit 20 <file> # Run a file and simulate a 2ms penalty for each cycle dcpu16 --penalty 2 <file> # Allow a program to run past the last instruction that was loaded # (therefore allowing programs to rewrite themselves larger) dcpu --full_memory <file> # Run the CPU with a console device mapped from 0x8000 to 0x817f dcpu16 --console 32768 33151 alphabet.dasm
The Perl modules:
CPU::Emulator::DCPU16
CPU::Emulator::DCPU16::Assembler
CPU::Emulator::DCPU16::Disassembler
The Spec:
http://0x10c.com/doc/dcpu-16.txt
Simon Wistow <simon@thegestalt.org>
Copyright 2011 - Simon Wistow
Released under the same terms as Perl itself.
Latest development version available from
https://github.com/simonwistow/CPU-Emulator-DCPU16
To install CPU::Emulator::DCPU16, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CPU::Emulator::DCPU16
CPAN shell
perl -MCPAN -e shell install CPU::Emulator::DCPU16
For more information on module installation, please visit the detailed CPAN module installation guide.