chip8dasm is a disassembler for the Chip-8 programming language. It allows you to convert Chip-8 machine code into human-readable assembly code.
The chip8dasm disassembler is a powerful tool built in C and designed to help programmers analyze and understand Chip-8 programs. It provides a way to translate the binary instructions of Chip-8 programs into human-readable assembly code.
- Easy-to-use: The chip8dasm disassembler is straightforward to use, making it accessible to begginer.
- Open-source: chip8dasm is an open-source project, allowing developers to contribute, modify, and improve the disassembler as needed.
- Linear view: TUI linear view
- Graph view
- Super chip-48 instruction support
git clone https://github.com/Lexterl33t/chip8dasm
cd chip8dasm/ && meson build && ninja -C build
./build/chip8dasm --disassemble example/example.ch8
=>
* 0x200 | 00e0 | cls
* 0x202 | 6c00 | ld v12, 0
* 0x204 | 4c00 | sne v12, 0
* 0x206 | 6e0f | ld v14, 15
* 0x208 | a203 | ld i, #3
* 0x20a | 6020 | ld v0, 32
* 0x20c | f055 | ld [i], v0
* 0x20e | 00e0 | cls
* 0x210 | 22be | call #190
* 0x212 | 2276 | call #118
* 0x214 | 228e | call #142
* 0x216 | 225e | call #94
* 0x218 | 2246 | call #70
* 0x21a | 1210 | jp #16
* 0x21c | 6100 | ld v1, 0
* 0x21e | 6217 | ld v2, 23
* 0x220 | 6304 | ld v3, 4
* 0x222 | 4110 | sne v1, 16
* 0x224 | 00ee | ret
* 0x226 | a2e8 | ld i, #232
* 0x228 | f11e | add i, v1
* 0x22a | f065 | ld v0, [i]
* 0x22c | 4000 | sne v0, 0
* 0x22e | 1234 | jp #52
* 0x230 | f029 | ld f, v0
......
If you're interested in contributing to chip8dasm, you can fork the repository, make your changes, and submit a pull request. All contributions are welcome and greatly appreciated!
For more information about the Chip-8 programming language and how to use chip8dasm, you can refer to the following resources:
- Chip-8 Wikipedia - Provides an overview of the Chip-8 programming language.
- chip8dasm GitHub Repository - The official GitHub repository for chip8dasm. Contains the source code, documentation, and more.