3 ms·
The art of CHIP-8
- glouwbug 1mo agoThe author runs his own chip8 game jams which is pretty fun. He also runs his own webcomic: https://beyondloom.com/comic/index.html https://beyondloom.com/comic/index.html
- bobson_dugnutt5 1mo agohttps://beyondloom.com/blog/octojam.html https://beyondloom.com/blog/octojam.html looks like the game jams are no longer happening. Quite a sad post to read
- sph 1mo agoFunny, I just learned of this website from elsewhere, and I bookmarked this arguably much more interesting project: https://beyondloom.com/decker/index.html https://beyondloom.com/decker/index.html
- Zecc 1mo agoThe comic was last updated a decade ago. I've added it to my RSS feeder without getting my hopes up. I was really getting into the story too.
- ms-fellag 1mo agoIf you want a "brief" history tour of the COSMAC Hardware under Chip-8 (From the ELF to the VIP) and the man behind it all (Joseph Weisbecker) then you're in luck because @TechTimeTraveller has just dropped a video on the subject https://www.youtube.com/watch?v=H3Pdf8iRw5E https://www.youtube.com/watch?v=H3Pdf8iRw5E (the history part ends around the 17min mark).
- Froztnova 1mo agoHah, I wrote an interpreter for this in C years back after hearing that it was a good first project for people who have an interest in virtual machines and emulation. I think I actually used some of the diagnosis/test suite ROMs that the author linked to smooth out the last few issues my implementation had. I also implemented the quirk flags and made them GUI-toggleable.
- hgoel 1mo agoBrings back memories of writing a Chip-8 emulator when bored out of my mind in an introductory programming class in undergrad. It's such an underrated project. Producing something that can actually run some full games in a first/second year undergrad class would do so much for how seriously students might take the CS/CE curriculum.
- markking 1mo ago[flagged]
- agentultra 1mo agoI wrote an interpreter in Zig not too long ago. I’d definitely recommend more folks try it out. It’s a straight-forward enough project to dip your toes in emulation and see if it’s your jam. And it’s not a big enough project that you’ll get overwhelmed before you finish.
- Joker_vD 1mo agoAh, detached "while" as a replacement for if-guarded "break". A concept that, syntactically, can very easily be fitted onto ALGOL/Pascal-like languages but not onto the C-likes: loop stmt1; while condA; stmt2; while condB; stmt again loop while condA; stmt again loop stmt; while condA again How do you fit that into {}-bracketed blocks elegantly? More on the topic of the article itself, don't you just love quirks of the older emulators that you, as an emulator writer, now have to support because everybody else expects them? What about the quirks that half of those "everybody" expect to exist, while the other half expects the opposite behaviour? And of course, as the application writer, you know have to know about and stay away from those quirks. Arcane trivia FTW!
- dhosek 1mo agoI was thinking that this was included in the Apple ][ Integer BASIC ROM, but when I checked it was Woz’s own special instruction set, SWEET-16 which gave compact (if slow) ability to do 16-bit coding on the 6502. These sorts of things are loads of fun to implement to get a closer feel to bare-metal programming. XKCD published a 16-bit “CPU” machine language 15ish years ago and I remember everyone was rushing to do code golf implementations of it, although I think a slower-paced approach to the project is better for the educational aspects.
- enygmata 1mo agoWhen I was writing my own CHIP-8 emulator I struggled to find info on timings as info on the COSMAC VIP was scarce. I resorted to arbitrary sleeping which solved most of the issued for the roms I tried back then. It had a JIT recompiler based on sljit.