A virtual game platform with capabilities similar to 80s game consoles. This repo is contains the Windows/Linux implementation, some games, the compiler, assembler, and documentation.
A Nintendo Switch Homebrew implementation exists HERE.
The platform has:
- A 16 bit instruction size
- 16 different general purpose registers
- 65536 bytes (64K) of addressable memory
- An 8-bit color depth screen for a palette of 256 colors
- Support for 256 concurrent sprites
- Support for sprites with 4 colors or 3 colors + alpha
- A screen resolution of 256 x 192 and a refresh rate of 60 Hz (16 ms)
- A maximum of 65536 instructions per program
- A speed of 500,000 instructions per second (0.5 MIPS)
An Added Bonus:
- An assembler
- A compiler and language
- with vim syntax highlighting file in /etc
- and a vscode extension, search the marketplace for vaporlang
- Debugging functionality
- Documentation (see /docs)
Example programs in assembly and vaporlang are included.
- Fallen Colony: This demo includes many sprites, multiple rooms, and a mini map. It does not have combat or win/loss states.
These programs are much simpler and some do not use any rom.
One program demonstrates the ability to create sprites at runtime.
Why did you make this? Who is it for?
This is a hobby project to allow myself and others to write games for a very simple architecture without some of the annoyances that physical architectures impose.