Fantasy console
A fantasy console is a console that has no physical implementation; it only exists as a virtual machine. Like programming languages, fantasy hardware is sometimes built for entertainment purposes. The idea has recently gained popularity as the retrocomputing movement has gained steam with the resurgence of 80s nostalgia.
For the list below, Memory Mapped means that the console does attempt to map objects to a memory system. This may include memory banks, video RAM, and other memory-based affordances. If the system is not memory mapped, then the physical layout of memory is not a consideration for that console.
To be considered for inclusion into this list, the fantasy console must have some sample demos, even if a full game is not available.
List of Fantasy Consoles
Console Name | FC Language | Build Language | License | Platform(s) | Display | Memory Mapped |
---|---|---|---|---|---|---|
BASIC8 by Tony Wang | BASIC | C++ | $14.99 | Windows, macOS, Linux | 160x128 | ? |
Bitmelo by David Byers | JavaScript | JavaScript | MIT | Windows, Browser | 320x180 | No |
Bitsy by Adam Le Doux | Instructions | JavaScript | Free | Browser | 16x16 1-bit sprites (8x8 per sprite) | ? |
BITY-8 by Alan Morgan | Lua | Rust | GPL v3 | Cargo (Multiplatform) | 192x144 4-bit rewritable palette | Yes |
CHROMA-60 by Arkia | ASM | C | Free | Windows, Linux | 240x135 | ? |
Click4 by Josef Patoprsty | ASM | Löve | Free, MIT | Windows, macOS, Linux | 64x64 | Yes |
CToy by Anaël Seghezzi | C | C | Free, zlib | Windows, macOS, Linux | 128x128 | ? |
DRAK-0 by Drew Wibbenmeyer | ChaiScript, LuaJIT (coming soon) | C++ | NYOP, MIT | Windows | 320x240 | ? |
DX8 by Robin Southern | ASM | C/ASM | Free, MIT | Windows | 320x256 | ?
99 |
ECoS by MLJWare | Lua | Löve | NYOP | Windows, macOS, Linux | 128x128, 1-bit | Yes |
ESP LGE by Igor (corax89) | C-like | C++ | GPL 3.0 | ESPBoy, Browser | 128x128, 16 color palette switchable to any 16-bit (R5G6B5) value | Yes |
Fancade by Martin Magni | Visual Scripting | C | F2P | iOS, Android | Voxel | No |
FAZIC by Michał Kalbarczyk | BASIC | C++ | Free | Browser | 320x240 | ? |
G-eon by Memorix101 | JavaScript | C++ | NYOP | Windows, Linux, Raspberry Pi | 640x480 | No |
Homegirl by poeticAndroid | Lua | D | Free, Pro (NYOP) | Windows, Linux, macOS | 16 different screen modes with a configurable aspect ratio, up to 256 colors from a 12-bit palette per screen | No |
IBNIZ by viznut | C | Instructions | Free, zlib | Windows, Linux | 256x256 | ? |
Leikr by Torbuntu | Groovy, but can use Java, Kotlin, Clojure, or Lua | Java | Free, Apache | Linux, Raspberry Pi 3B/3B+, 3A+, ClockworkPi GameShell, Windows | 240x160 | No |
LIKO-12 by RamiLego4Game | Lua | Löve | NYOP, MIT | Windows, macOS, Linux, Android | 192x128 | No |
LowRes Coder by Timo Kloss | BASIC | ? | $4.99 (F2P) | iOS | Up to 128x128 | ? |
LowRes NX by Timo Kloss | BASIC | ? | Free, LGPL3 | Windows, macOS, iOS | 160x128 | ? |
LuaG Console by Vulcalien | Lua | Java | Free, Apache | Windows, macOS, Linux | 160x160 | No |
MakeCode Arcade by Microsoft | Blocks, JavaScript, TypeScript | ? | Free, MIT | Browser, Raspberry Pi 0, custom handhelds | 160x120 | No |
nano Jammer by Casual Effects | nano | ? | Free, BSD | Browser | 64x64 | ? |
NEKO8 by Egor Dorichev | Lua, BASIC, ASM, MoonScript | ? | NYOP, ? | Windows, macOS, Linux, Android | 192x128 | ? |
Nibble by Felipe Tavares | Lua | ? | Free | Windows, macOS, Linux | 400x240, 8 palettes of 16 colors (from 24-bit values) | Yes |
Octo by John Earnest | ASM | Javascript | MIT | Browser | 64x32, 1-bit (CHIP-8 on Wikipedia) | Yes |
Phosphor by Marc Lepage | Lua | ? | Free, MIT | Browser | 192x128 | No |
PICO-8 by Lexaloffle | Lua | ? | $14.99 | Windows, macOS, Linux, Raspbery Pi | 128x128 | Yes |
Pix64 by ZappedCow | PNG | C# (Monogame) | NYOP | Windows, Linux | 64x64 | ? |
Pixel Vision 8 by Jesse Freeman | Lua | C# | MS-PL (similar to MIT) | Windows, macOS, Linux | 256x240 base, customizable | Yes |
Prism-384 by Grapefruitopia Industries | JavaScript | ? | $5 | Windows, macOS, Linux, Raspberry Pi | 384x216 | Yes |
PuzzleScript, DungeonScript by Stephen Lavelle | Instructions | ? | Free, MIT | Browser | Configurable, Voxel (DungeonScript) | No |
PX8 by hallucino | Lua, Python | ? | NYOP, MIT | Windows, macOS, Linux | Configurable | No |
Pyxel by Takashi Kitao | Python | Python | Free, MIT | Windows, macOS, Linux | 256x256, fixed 16-color palette | No |
quadplay by Casual Effects | PyxlScript | JavaScript | Free, LGPL3 | Windows, macOS, Linux | 384x224 | No |
Raccoon by Lutopia & Linheha | JavaScript | ? | Free, Unlicense | Browser | 128x128 | ? |
Rewtro by Kesiev | JSON | JavaScript | Free, MIT | Browser | 160x144, 256x192, 320x200; 16 colors | No |
Riko4 by Bryan | Lua | ? | Free, MIT | Windows, macOS, Linux | 280x160 | ? |
SCRIPT-8 by Gabriel Florit | JavaScript | ? | Free, MIT | Browser | 128x128 | ? |
Tako 80 by pistacchio | JavaScript | ? | Free, MIT | Browser | 160x144 | ? |
TIC-80 by Vadim Grigoruk | Lua, MoonScript, JavaScript | C++ | Free, $5 (Pro), MIT | Windows, macOS, Linux, Android | 240x136 | Yes |
VectorBoy by David Jalbert | Lua | ? | NYOP | Windows | Vector | No |
Voxatron by Lexaloffle | micro-scripting | ? | $19.99 | Windows, macOS, Linux | Voxel | Yes |
VVpet by Gardrek | Lua | Löve | Free, ? | Windows, macOS, Linux | 64x64x2, 128x128x4, Configurable | No |
x8studio by takezoff | Lua | ? | In development | Android?, iOS? | 128x128, fixed 16-color palette | ? |
yuki-js by Nik Coughlin | JavaScript subset | ? | Free, MIT | Browser | Configurable | Not by default |
Zany80 by Noam Preil | Z80 ASM, C89 | ? | Free, Apache | Windows, Linux, Browser | Serial I/O | ? |