Difference between revisions of "MicroW8"
Dresdenboy (talk | contribs) (→Sound: Fixed a mistake) |
|||
(5 intermediate revisions by one other user not shown) | |||
Line 3: | Line 3: | ||
At the time of writing it currently is the most powerful fantasy console out there in terms of performance, code density, graphics and audio capabilities. | At the time of writing it currently is the most powerful fantasy console out there in terms of performance, code density, graphics and audio capabilities. | ||
− | The initial motivation behind MicroW8 was to explore whether there was a way to make WebAssembly viable for size-coding. | + | The initial motivation behind MicroW8 was to explore whether there was a way to make WebAssembly viable for size-coding. However the author also made sure that all design decisions make sense from the point of view of bigger projects as well. |
=== Setting Up === | === Setting Up === | ||
Line 20: | Line 20: | ||
This will compile, pack and start your intro in the microW8 environment and will watch the original sourcefile for any changes, so that upon saving the latest changes in your favorite editor, it will automatically compile, pack and relaunch your intro. | This will compile, pack and start your intro in the microW8 environment and will watch the original sourcefile for any changes, so that upon saving the latest changes in your favorite editor, it will automatically compile, pack and relaunch your intro. | ||
− | === | + | === Graphics === |
The MicroW8 has a resolution of 320x240 pixels with 256 colors, accessable via framebuffer (located at memory address 120) or via primitive functions like setPixel, line, circle, rectangle. | The MicroW8 has a resolution of 320x240 pixels with 256 colors, accessable via framebuffer (located at memory address 120) or via primitive functions like setPixel, line, circle, rectangle. | ||
The palette consists of 12 hues of 16 shades each, followed by a shiftable version of the sweetie16 palette in 1,2,4,8,16 and 32 color variants in the last 64 color indices. | The palette consists of 12 hues of 16 shades each, followed by a shiftable version of the sweetie16 palette in 1,2,4,8,16 and 32 color variants in the last 64 color indices. | ||
+ | [[File:Microw8pal.png|thumb|left|MicroW8 Default Palette]] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
For full documentation on the graphics capabilities, check out https://exoticorn.github.io/microw8/docs/#graphics | For full documentation on the graphics capabilities, check out https://exoticorn.github.io/microw8/docs/#graphics | ||
Line 31: | Line 53: | ||
Expect Sound capabilities somewhere in between the AY/YM chipset and a SID chip. | Expect Sound capabilities somewhere in between the AY/YM chipset and a SID chip. | ||
− | For full documentation on the | + | For full documentation on the sound capabilities, check out https://exoticorn.github.io/microw8/docs/#sound |
− | |||
=== Additional Resources === | === Additional Resources === |
Latest revision as of 10:53, 28 January 2024
MicroW8 is a WebAssembly based fantasy console inspired by the likes of TIC-80, WASM-4 and PICO-8.
At the time of writing it currently is the most powerful fantasy console out there in terms of performance, code density, graphics and audio capabilities.
The initial motivation behind MicroW8 was to explore whether there was a way to make WebAssembly viable for size-coding. However the author also made sure that all design decisions make sense from the point of view of bigger projects as well.
Setting Up
MicroW8 is pretty lightweight and easy to setup. Just download the latest version of MicroW8 for you favorite platform at: https://exoticorn.github.io/microw8/
After which you can open up your favorite editor and either open an existing example or create your own program. The MicroW8 supports the following languages: CurlyWas, WASM (wat), C, Rust and Zig.
Then open up your console and type the following:
uw8 run -w -p -l 9 myintro.cwa -o myintro.uw8
This will compile, pack and start your intro in the microW8 environment and will watch the original sourcefile for any changes, so that upon saving the latest changes in your favorite editor, it will automatically compile, pack and relaunch your intro.
Graphics
The MicroW8 has a resolution of 320x240 pixels with 256 colors, accessable via framebuffer (located at memory address 120) or via primitive functions like setPixel, line, circle, rectangle.
The palette consists of 12 hues of 16 shades each, followed by a shiftable version of the sweetie16 palette in 1,2,4,8,16 and 32 color variants in the last 64 color indices.
For full documentation on the graphics capabilities, check out https://exoticorn.github.io/microw8/docs/#graphics
Sound
The MicroW8 support sound via a custom soundchip (registers located at location 80 in memory) or via a dedicated soundcall for bytebeat. Expect Sound capabilities somewhere in between the AY/YM chipset and a SID chip.
For full documentation on the sound capabilities, check out https://exoticorn.github.io/microw8/docs/#sound