16 comments

[ 3.2 ms ] story [ 42.2 ms ] thread
How does it compare to other fantasy consoles? This reminds me of the Chip16 virtual machine.
Most other fantasy consoles are based on their own virtual machines or stripped-down scripting languages (like Lua in PICO-8), but this is based on WebAssembly so there is a variety of languages you can pick. You can of course write an WebAssembly module from scratch or a built-in assembly language called CurlyWas [1].

[1] https://github.com/exoticorn/curlywas/

It doesn't look like this has any editing UI (i.e. code, sound, graphics, etc. editors) like PICO-8 or TIC-80. So it's more of a bare runtime for a console and you're on your own to make all the assets.
Another fantasy console: https://wasm4.org/
Oh, I forgot that WASM-4 is a thing. It indeed makes a good comparison:

- MicroW8 was originally conceived from the size-coding community (I think it was mainly inspired from TIC-80), and partly because of that its compressed cart is much smaller than WASM-4 carts and can be shared with just a single URL. The built-in assembly language (CurlyWas) also certainly helps.

- MicroW8 has a relatively rich support for palettes and fonts. That might be a matter of taste though (some want a very constrained environment, others want a slightly more powerful but still retro-looking environment).

- As a result WASM-4 doesn't have any sort of text handling while MicroW8 has one, arguably similar to PICO-8 as well due to its control characters.

- MicroW8 doesn't yet have audio support, though it is in the high priority to my understanding.

(comment deleted)
For anyone wondering:

> On a keyboard use the arrow keys and the keys Z, X, A and S to emulate the A, B, X and Y buttons.

Are there any fantasy consoles with CPU limits?
I'm wondering the same thing. Both MicroW8 and WASM-4 seem to be unlimited, whereas it'd be nice if there was some standard for CPU speed in case I wanted to, say, port it to a retro console.
IIRC Pico-8 does.
no, pico-8 does not have any cpu limits, but it has a code size ("cartridge" size limit) of 32k of lua.

edit: incorrect, see reply

Pico-8 has an artificial CPU limit; once you surpass 100% utilization the system cuts the framerate in half until CPU usage dips back down under the imposed cap.
There are a lot that emulate 8-bit CPUs, although which have fixed clock speeds, I'm not sure.

I have my own 8Mhz 8-bit AVR that I work on from time to time. It's more designed for the Assembly coder experience.

https://k8.fingswotidun.com/static/ide/?gist=78d170a65bc6c9d...

I have wondered about doing a version the the same virtual IO 'hardware' and a WASM core.

I would really like to explore something like a whole section of the internet that runs on something like an 80 column fantasy console and restricts all web pages to like 50 or 100kb or something.