2024-03-02 15:41:55 +05:30
|
|
|
# PORCEL-8
|
2024-02-29 11:55:14 +05:30
|
|
|
|
2024-03-10 14:30:27 +05:30
|
|
|
Chip 8 emulator/interpreter.
|
2024-03-02 13:00:57 +05:30
|
|
|
|
2024-03-10 14:32:05 +05:30
|
|
|
```bash
|
|
|
|
./porcel8 -f an_awesome_chip8_rom.ch8
|
|
|
|
```
|
|
|
|
|
2024-03-06 09:52:58 +05:30
|
|
|

|
2024-03-02 13:00:57 +05:30
|
|
|
|
2024-03-10 14:30:27 +05:30
|
|
|
|
2024-03-10 14:32:05 +05:30
|
|
|
Please refer to the [Relevant Resources](#relevant-resources) section for some publicly available ROMs.
|
2024-03-10 14:30:27 +05:30
|
|
|
|
|
|
|
|
2024-03-02 13:00:57 +05:30
|
|
|
### Status
|
|
|
|
|
2024-03-06 09:52:58 +05:30
|
|
|
<details>
|
|
|
|
<summary>Implementation status</summary>
|
|
|
|
|
2024-03-04 18:05:35 +05:30
|
|
|
- [X] Memory
|
2024-03-04 21:07:25 +05:30
|
|
|
- [X] Timer
|
|
|
|
- [X] Loading font
|
2024-03-04 18:05:35 +05:30
|
|
|
- [X] Default font
|
2024-03-04 21:07:25 +05:30
|
|
|
- [ ] ~~Custom font~~ Future
|
2024-03-04 18:05:35 +05:30
|
|
|
- [X] Registers
|
2024-03-04 21:07:25 +05:30
|
|
|
- [X] Stack
|
2024-03-04 18:05:35 +05:30
|
|
|
- [X] Display
|
2024-03-05 22:21:59 +05:30
|
|
|
- [X] Instruction Processing
|
2024-03-04 21:07:25 +05:30
|
|
|
- [X] Bare requirements for IBM Logo
|
2024-03-05 22:21:59 +05:30
|
|
|
- [X] ALU operations
|
|
|
|
- [X] Procedure related
|
|
|
|
- [X] Timer
|
|
|
|
- [X] Super chip8 compatibility.
|
|
|
|
- [X] Audio
|
2024-03-06 08:02:15 +05:30
|
|
|
- Audio seems to stutter, but working
|
2024-03-05 22:21:59 +05:30
|
|
|
- [X] Keyboard
|
2024-03-02 13:00:57 +05:30
|
|
|
|
2024-03-06 09:52:58 +05:30
|
|
|
</details>
|
|
|
|
|
|
|
|
Known inaccuracies:
|
|
|
|
- Get key is triggered when key is pressed (not just released)
|
2024-03-10 14:33:36 +05:30
|
|
|
- Slight display and audio stutters
|
|
|
|
- Audio stutters are due to a workaround needed from an issue with SDL2 in my system.
|
2024-03-06 09:52:58 +05:30
|
|
|
|
|
|
|
### Relevant Resources
|
2024-03-02 13:00:57 +05:30
|
|
|
|
|
|
|
- [Guide to making a CHIP-8 emulator - Tobias V. Langhoff](https://tobiasvl.github.io/blog/write-a-chip-8-emulator/#specifications)
|
2024-03-06 07:26:11 +05:30
|
|
|
- [CHIP-8 Test Suite](https://github.com/Timendus/chip8-test-suite)
|
2024-03-06 09:52:58 +05:30
|
|
|
- [CHIP-8 Program Pack](https://github.com/kripod/chip8-roms)
|
2024-03-04 18:05:35 +05:30
|
|
|
- [Awesome CHIP-8](https://chip-8.github.io/links/)
|