Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pthorpe92/chip8_disassembler_emulator
Currently disassembles Intel8080 (Chip8) ROM's into either Hex or Assembly. Soon will emulate completely. WIP
https://github.com/pthorpe92/chip8_disassembler_emulator
Last synced: 9 days ago
JSON representation
Currently disassembles Intel8080 (Chip8) ROM's into either Hex or Assembly. Soon will emulate completely. WIP
- Host: GitHub
- URL: https://github.com/pthorpe92/chip8_disassembler_emulator
- Owner: PThorpe92
- License: gpl-3.0
- Created: 2023-07-09T22:29:30.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-11T01:21:10.000Z (over 1 year ago)
- Last Synced: 2024-10-28T20:45:16.398Z (about 2 months ago)
- Language: Rust
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Overview
The Chip8 is a programming language and virtual machine created in the 1970s for early microcomputers. It was originally designed to allow easy game development. This project provides YET ANOTHER IMPLEMENTATION of a disassembler and soon to be emulator for Chip8 programs, targeting Intel 8080-based systems.
The disassembler takes a Chip8 ROM file (.ch8) as input and converts the binary instructions into either a hexadecimal file or a file with the assembly language/opcodes. The hexadecimal file can be useful for further analysis or debugging, while the assembly language file provides a human-readable representation of the ROM's instructions.
This is a fantastic resource for anything 8080 related:
https://altairclone.com/downloads/manuals/8080%20Programmers%20Manual.pdfThe emulator allows you to load and execute Chip8 games by emulating the behavior of an Intel 8080 processor. It provides an interactive environment where you can play games using the keyboard as input and see the game output on the screen.\
# Usage
./target/debug/chip8_dissasembler -i ./testroms/Space\ Invaders\ \[David\ Winter\].ch8 -f "bin" // creates rom.hex
./target/debug/chip8_disassembler -i ./target/debug/rom.hex -f "hex" // creates rom.asm with CPU instructions# Work in progress....
As of right now, it is not all that useful (who needs assembly language for a 60 year old CPU). When it can run space invaders, more info will be available.