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.
CHIP-8
CHIP-8 is an interpreted programming language developed by Joseph Weisbecker. It runs in a virtual machine with a display resolution of 64x32 and 1 bit of color (on or off).
One of the first computers in add support for CHIP-8 as the COSMAC VIP, sold by RCA in the late 70s. This computer had a processor also made by RCA with a speed of about 1.77 MHz and 2 kB of RAM. The operating system contained a CHIP-8 interpreter that allowed the system to run games using the CHIP-8 language.
The TELMAC also had a second version of CHIP-8 called CHIP-82 that used a 64x64 resolution. Given its limited market, most CHIP-8 programs use only the standard resolution of 64x32.
SUPER-CHIP (SCHIP)
In the early 1990s, technology had advanced to the point where the HP48 calculator was capable of executing interpreted scripts. Because of the HP48's native LCD resolution, the SUPER-CHIP standard emerged with a 128x64 pixel resolution and some new instructions to ease programming.
PICO-8
PICO-8 is a proprietary virtual console developed by Lexaloffle Games. It comes packaged free with the purchase of Voxatron, or available for purchase as a standalone program. The software also comes preinstalled on the PocketCHIP hardware.
The console is notable for its severe restrictions, limiting the programmer to a fixed palette of 16 colors, 32k of memory (Lua tokens), and rudimentary sound.
Specs
- Display: 128x128, 16 color
- Memory: 32KB of Lua
- Sound: 4-channel
- Input: 6 buttons
Development
The language of PICO-8 is Lua. The PICO-8 software itself comes with a sprite and map editor, code editor, and the ability to build "cartridges" for distribution. Cartridge code is encoded into a PNG file in the last 3 bytes of every pixel. The Lexaloffle website runs cartridges in the browser when distributed via their forum.
PICOLOVE is an open-source project emulating the PICO-8 in Love2D, a graphical Lua framework.
Support and Community
The development community surrounding PICO-8 is robust despite its proprietary status.
LIKO-12
The LIKO-12 project started as an open-source version of PICO-8. It features the ability to load PICO-8 cartridges, but features a 192x128 display for LIKO-12 projects. Since its inception, LIKO-12 has evolved to become a full-fledged fantasy computer, complete with a virtual peripherals system with emulated hard disks and peripherals in addition to its terminal console.
Specs
- Display: 192x128, 16 color (PICO-8 palette)
- Storage: Two emulated 50MB hard disks
- Sound: 4-channel
- Input: Keyboard and mouse
TIC-80
Comes with a code, sprite, map, sound effect, and music editor.
Specs
- Display: 240x136, 16 color compile-time selectable
- Memory: 64KB of Lua or Moonscript
- Sound: 4 channels (select square, triangle or noise)
- Input: 2 gamepads with 6 buttons / mouse
PixelVision8
The main goal of PixelVision 8 seems similar to PICO-8, to encourage development of games with platform limitations. PixelVision allows customizable parameters when creating a new game, such as CPU speed, palette, sprite limitations, sound channels, and other system features. Scripting for all virtual machines is done in Lua.
The retail version is planned for $14.95, with the prerelease version around $10.
PX8
PX8 is a fantasy console built in Rust. The cartridges contain graphics, code, and music, and the entire platform can be included as a Rust library. It is compatible with PICO-8 and can load PICO-8 cartridges. Unlike PICO-8, it PX8 has no token or sprite limitation. The default resolution can be adjusted up to 256x256.
0x10c
While not a "fantasy console" per se, the 0x10c specification was fleshed out initially by Markus "Notch" Persson of Minecraft fame. When he dropped development of the project bearing the same name, fans took over the project and implemented the microcomputer described in his design documents.
Specs
Display: LEM1802 - 128x96, SPED-3 3D vector display Peripherals: M35FD floppy drive, SPC2000 deep sleep chamber, real-time clock Input: Keyboard