C8SALT | Octo | |
---|---|---|
1 | 9 | |
6 | 694 | |
- | 0.0% | |
0.0 | 5.9 | |
over 2 years ago | over 1 year ago | |
Python | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
C8SALT
-
C8SALT, the first ever TI-BASIC CHIP-8 emulator- now with a working DXYN
https://github.com/NinjaWeedle/C8SALT Github link for those interested
Octo
-
Ask HN: What's the most fun you've had developing for an older gaming system?
TL;DR: Octo[1] and OctoJam were cozily little highlights to the grimmest pandemic years.
Octo[1] targets variants of CHIP-8, an ancient virtual console. The language is so different from daily work that it even the annoyances were refreshing. Yes, that includes having to overwrite parts of instructions to get desired behavior.
The maintainer has moved on[2] to working on Decker[3], but I'm still grateful for his dedication. He underestimates his contributions to encouraging a new generation of emulator developers. I haven't had time to do a deep dive into emulation, but I've enjoyed making:
* A little Mastermind-like game (https://pushfoo.itch.io/safecracker)
* A terminal-like text library (https://pushfoo.itch.io/termlib-demo)
Others have done far better. Timendus even wrote his own linker toolkit to build a multi-tasking operating system[4]. If you're interested, there have been some rumblings of an October event of some sort now and then on the EmuDev Discord server to fill the gap left by OctoJam's end.
[1]: https://github.com/JohnEarnest/Octo
[2]: https://beyondloom.com/blog/octojam.html
[3]: https://github.com/JohnEarnest/Decker
[4]: https://timendus.itch.io/chipception-os
-
Ask HN: Show me your half baked project
1. Octo, a CHIP-8 assembler: https://github.com/JohnEarnest/Octo
P.S. Octojam 10 runs until 12:00 AM PST on November 1st! See the following if you're interested! https://itch.io/jam/octojam-10
-
Is there a pointer equivalent of declaring an array?
In addition to what other posters suggested, it could be a good idea to try assembly languages as a way to manually work with locations in memory. Something like Octo could be fun if you want to try memory manipulation without worrying about real-world complexities like syscalls and memory alignment. If you want something extra challenging, you could always try x86 / amd64 assembly. Some C compilers even support inline assembly if you want to mix C and assembly.
-
How do I make a "game" for Chip8?
Yes, Octo is the most used tool to create CHIP-8 programs today. John has a little introduction text for writing in its dialect here: https://github.com/JohnEarnest/Octo/blob/gh-pages/docs/BeginnersGuide.md
-
Feedback on my very own C++ CHIP8 Interpreter/Emulator
I also want to thank you all for all the advice you gave to me and others about CHIP8. It was very helpful to read some posts here ! I also used John Earnest's OCTO a lot for debugging.
- Octo
-
Is chip 8 emulator flicker normal?
The octo FAQ touches on this "pre-xoring" technique, and theres a worked example of doing this data preparation in macros. I've also written varioustools that can handle the xoring for you.
-
Executable PNGs
In my own system, Octo[0], I encode programs and their metadata in a similar steganographic fashion in GIF files. As others have noted here, both GIF and PNG offer extension mechanisms and ways to embed "comments", but popular image-sharing sites universally re-encode images and discard this data. The advantage of GIF over PNG (for my purposes) is that I store an arbitrary payload in a fixed-looking image by creating additional frames of animation.
In the past, I've also used a different technique- if you simply concatenate a PNG onto a JAR (which is really just a ZIP archive) you end up with a file that acts like a PNG unless you change the extension to JAR, in which case it acts like a Java executable. This works because the PNG header is at the beginning of the file, while the ZIP header is at the end. Nowadays, though, desktop Java is pretty much dead, so it's a less exciting party trick.
[0] https://github.com/JohnEarnest/Octo
What are some alternatives?
ti842py - A TI-BASIC to Python 3 transpiler
wasm4 - Build retro games using WebAssembly for a fantasy console.
EMUCHIP8 - EMUCHIP8, a CHIP-8 emulator.
nature - The Nature Programming Language
pcbasic - PC-BASIC - A free, cross-platform emulator for the GW-BASIC family of interpreters
chip8-test-suite - A collection of ROM images with tests that will aid you in developing your own CHIP-8, SUPER-CHIP or XO-CHIP interpreter (or "emulator")