wasm4
Octo
Our great sponsors
wasm4 | Octo | |
---|---|---|
10 | 8 | |
1,060 | 651 | |
- | - | |
8.3 | 5.9 | |
6 days ago | 6 months ago | |
TypeScript | JavaScript | |
ISC 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.
wasm4
-
WASM Instructions
Related:
A fast Pascal (Delphi) WebAssembly interpreter:
https://github.com/marat1961/wasm
WASM-4:
https://github.com/aduros/wasm4
Curated list of awesome things regarding WebAssembly (wasm) ecosystem:
https://github.com/mbasso/awesome-wasm
Also, it would be nice if there was a WASM (soft) CPU for QEMU, which (if it existed!) would go here:
https://github.com/qemu/qemu/tree/master/target
- Build retro games using WebAssembly for a fantasy console
-
Zig & Emscripten?
WASM4 seems to be a fantasy console with good docs that can run zig code in the browser, using the wasm target: https://github.com/aduros/wasm4/blob/main/cli/assets/templates/zig/build.zig
- WASM-4 Fantasy Console 2.0 tagged, with new languages Nim, Odin, & Zig
-
WASM-4 is a virtual game console for building retro games directly in WebAssembly
About assembly language, pure WAT (WebAssembly's text format) is an option if you're into that. Check out this example source (play)
Hi, could you please file a bug report? https://github.com/aduros/wasm4/issues
Posting here because there's a Rust template but no actual Rust games yet. Could be fun to see one.
-
WASM-4 is a virtual game console for building retro games in Rust and other WebAssembly languages
By the way, the memory corruption issue was also recently reported in Go (which uses similar linker flags to Rust) https://github.com/aduros/wasm4/issues/33
Octo
-
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?
quadplay - The quadplay✜ fantasy console
vis-chip-8 - Visual Chip-8 Emulator
wasmtime-go - Go WebAssembly runtime powered by Wasmtime
chip8-test-rom - ROM for testing chip8 emulator
javascriptmusic - A.K.A. WebAssembly Music. Live coding music and synthesis in Javascript / AssemblyScript (WebAssembly)
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")
PixelVision8 - Pixel Vision 8's core philosophy is to teach retro game development with streamlined workflows. PV8 is also a platform that standardizes 8-bit fantasy console limitations built on top of the open-source C# game engine based on MonoGame.
pixload - Image Payload Creating/Injecting tools
BootstrapBlazor - A set of enterprise-class UI components based on Bootstrap and Blazor
chip8Archive - A repository of community-submitted Chip8 programs and their metadata
pdx-tools - View maps, graphs, and tables of your save and compete in a casual, evergreen leaderboard of EU4 achievement speed runs. Upload and share your save with the world.
nature - 🍀 The Nature Programming Language, may you be able to experience the joy of programming.