From 242919f22a98324f9eded6034df7ca5b7dbaf0ae Mon Sep 17 00:00:00 2001 From: Atreya Bain Date: Wed, 6 Mar 2024 09:52:58 +0530 Subject: [PATCH] [doc] Add gif --- README.md | 18 ++++++++++++++++-- assets/pong.gif | Bin 0 -> 87317 bytes 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 assets/pong.gif diff --git a/README.md b/README.md index 8bc6b67..405faf1 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ # PORCEL-8 -Chip 8 emulator/interpreter. +Chip 8 emulator/interpreter +![pong.gif](assets/pong.gif) ### Status +
+Implementation status + - [X] Memory - [X] Timer - [X] Loading font @@ -23,8 +27,18 @@ Chip 8 emulator/interpreter. - Audio seems to stutter, but working - [X] Keyboard -### More information on CHIP-8 +
+ +Known inaccuracies: +- Get key is triggered when key is pressed (not just released) +- Display stutters + - This is due to rendering happening on a separate thread. +- Audio stutters + - This is due to using an audio queue, instead of the traditional audio callback. + +### Relevant Resources - [Guide to making a CHIP-8 emulator - Tobias V. Langhoff](https://tobiasvl.github.io/blog/write-a-chip-8-emulator/#specifications) - [CHIP-8 Test Suite](https://github.com/Timendus/chip8-test-suite) +- [CHIP-8 Program Pack](https://github.com/kripod/chip8-roms) - [Awesome CHIP-8](https://chip-8.github.io/links/) diff --git a/assets/pong.gif b/assets/pong.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d1575c21338245488d887bc3e6a0e94f9993873 GIT binary patch literal 87317 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⁢h)W>M4 z?uEDnStJ^yRX@Kj;ZP~S7_bulEn2yrFnT?@^NaJ!^`s|@u4~N2LJ{@!FZwnp;HZ25 z@KL+|#!+j0ebh;MzXUKk%pbK7-;zxMV4^{KolAJn)~Z-M>XKW%FK>Wy9yo~|`3bsk z)TP|p6|ajnfaE*X;kfAzyXf zcmiTi)Vi`U_C)sm!S?)Eqn7wh8K$r@VgI#JaV6j+jw%5sLDy|k0-S_*Ebg!-M@~uY zY�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