Yet another 16bit fantasy computer
The computer has a 16-bit fictional CPU. For a detailed reference on how it works, see The CPU manual. There's also an ISA documentation file. Memory has basically two levels: CPU registers and 4 banks of 64KB of RAM each (Total 256KB). Persistent disk is planned, but not yet implemented. Since some parts of the memory are dedicated, general purpose memory is actually less than that. For details on how to compile it, please see Compiling and running.
There's an assembler software, so that you don't need to write programs directly in machine code. A C-like language and a compiler is planned, but not yet implemented. Some example programs can be found in the examples/ folder.
There's a pixel-art display generator script available in python, where you can provide a 320x200 image, and it'll convert it's color palette to Micro16 color pallete and generate the assembly file to display it on the Micro16 (You just need to translate it using the assembler).
Script usage:
$ python3 pa_to_m16data.py <filename.png>
Example:
$ micro16_asm examples/pixel_art_example.m16asm out.micro16
$ micro16 out.micro16
View assembly for this example
⚠ The art on the example is licensed under CC0 1.0, and the source can be found here.
There's a brainfuck compiler available, capable of translating a program written in the brainfuck language to the micro16 assembly:
$ micro16_bf examples/example.bf out.m16asm
$ micro16_asm out.m16asm out.micro16
$ micro16 out.micro16
View .bf file for this example
$ micro16_asm examples/led_blink.m16asm out.micro16
$ micro16 out.micro16