Try the new web-based runner! | Join the Discord!
Sharpie is a 16-bit fantasy console implemented in C#. It is a powerhouse designed to get in your way as little as possible while mimicking how old NES- and SNES-era games were programmed. It features its own custom Assembly language that facilitates most of what you'd need to not pull your hair out in the process of making a game, as well as support for C.
- CPU: 16-bit custom little-endian architecture.
- Registers: 32 general-purpose registers (Banked into two pages of 16).
- Memory: 64KB of addressable space with support for multi-bank cartridge switching.
- Graphics: Sprite-based rendering with a hardware camera, a 65536x65536 internal coordinate system, and a dedicated text overlay.
- Color: A fixed 32-color palette with support for real-time palette swaps and alternative sub-palettes.
- Audio: 8 monophonic channels supporting Square, Triangle, Sawtooth, and Noise waveforms as well as up to 128 distinct instruments.
- Input: Native support for up to two players (Keyboard and Gamepad).
- Download: Grab the latest
sharpie-cliandsharpie-runnerfrom the Releases tab. - Write Code: Create a
main.cormain.asm.
#include <sharpie.h>
int main(void) {
print("Hello Sharpie!");
return 42;
}- Build:
sharpie main.c -O - Run: Drag and drop
game.shronto the Sharpie window or pass its path through the command line.
Sharpie, the Sharpie Logo, and the Sharpie BIOS are licensed under the LGPL License. See LICENSE.md for details.
Sharpie (the fantasy console) is in no way affiliated with the actual brand of dry-erase markers.