2 Create Dissassembler - cpe7/chip8 GitHub Wiki

Part 2: Create a disassembler and make sure it produces sensible output for a known good ROM

[REQ #1] The emulator shall be able of disassembling a Chip-8 ROM and producing source assembly listings.

11/7/14: Using Notepad++ (with HEX-Editor plug-in), I examined the raw hex data of the ROM binary files I downloaded from the links here, similar to this in depth look at the 8080. So by hand, identifying instructions, operations, variables, and addresses. I found a few different resources for instruction set information, as well as about the COSMAC VIP (Video Interface Processor), which was one of the microcomputers utilizing the Chip-8 programming language. Most resources identify roughly 30-35 defined instructions.


11/8/14: I created a Win32 Visual Studio C++ Console App, and started with basic file I/O to open a sample ROM file, parse byte by byte, and print hex values to the console. Next steps are to interpret/parse the binary data to identify the instructions/opcodes and then display in a readable format (and incorporate a type of data structure or lookup table).


11/9/14: Started to parse instruction set (crudely using if statements). Made comments for all instructions (identified at http://devernay.free.fr/hacks/chip8/C8TECH10.HTM#3.0).


11/10/14: Basic dissassembler is working (with a simple ROM file :p). I loaded a more complex file that included developer/designer ASCII text/comments at the beginning of it and realized I need to add 'smarts' to the detection of the Jump command, if identified at the beginning of the file.


⚠️ **GitHub.com Fallback** ⚠️