The last time Hackerfall tried to access this page, it returned a not found error. A cached version of the page is below, or clickhereto continue anyway

GitHub - prophittcorey/c8d: A Chip-8 disassembler in Python

c8d

A Chip-8 disassembler in Python

The disassembly is based on Cowgod's Chip-8 technical reference document. The document can be found here. If the document is unavailable you can find a saved copy within the docs folder docs/chip-8.pdf.

Requirements

  1. Python 2.7 or Python 3.0+

Installation

The easiest way to install c8d is via PyPi, this can be done with the following command:

Note, sudo may or may not be required depending on your environment.

The second way to install is by cloning the repository and installing the development version of the pip package:

$ git clone https://github.com/prophittcorey/c8d.git
$ cd c8d
$ make install

The pip package installs the c8d executable as well as the chip8 package which can be used to write your own scripts.

Note, you may have to source your shell for the c8d executable to be picked up.

Usage

The c8d executable currently supports two command line arguments:

  1. -h, prints the program usage
  2. -f FILE, input file to be processed and disassembled

Example Usage:

Note, if you wish to store the disassembly to a file you can redirect the output to a file:

$ c8d -f WIPEOFF > wipeoff.c8

Development

A make task has been included that installs all linters and testing packages that are required for development. The command is make init. Once run, development can ensue.

Once all dependencies have been installed the linters and tests can be run. The following commands are useful:

  1. make lint runs all linters on all Python code
  2. make test runs all unit tests

License

A Chip-8 disassembler in Python
Copyright (C) 2015, Corey Prophitt.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Continue reading on github.com