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.
Contents
CHIP-8
CHIP-8 is an interpreted programming language developed by Joseph Weisbecker. It was first described in the December 1978 issue of Byte Magazine as a "hexidecimal interpreted bytecode" that was more compact and memory-efficient than BASIC interpreters of the time. The CHIP-8 bytecode 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.
SCRIPT-8
A browser-based fantasy console by Gabriel Florit that uses Javascript as its main coding language. It features a live code editor, enhancements for rapid coding, pause/rewind features, and sprite/music/map editors. Its main storage format are "cassettes" which are URL-encoded for simple sharing.
Specs
- Display: 128x128, 8 color (greyscale), 60 fps
- Input: Mouse, keyboard, gamepad
PICO-8/Voxatron
PICO-8 is a proprietary virtual console developed by Lexaloffle Games. It comes packaged free with the purchase of Voxatron, a fantasy voxel console, 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
Leikr
Leikr is built on the mini2Dx Java framework and allows users to write games and applications in Groovy. Hard system specifications seem unlikely, as the author's stated goal is "It is not the intention of the Leikr Game System to compete or replace any current Fantasy Consoles."
Neko8
Neko8 is another fantasy console that was inspired by Pico-8, LIKO-12, and TIC-80. It is a name-your-own-price download (including free), and includes built-in code editor, sprite editor, tile map editor, sfx editor, and music editor.
Specs
- Display: 192x128, 16 color, 512 8x8 sprites
- Storage: Unspecified
- Sound: Unspecified
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
- Memory: 80k
PixelVision8
PixelVision 8 is a fantasy console designer system. The core system runs its own OS, and developers can "build" a system from various components, such as cartridge, sound, and graphics. Scripting for all virtual machines is done in Lua.
The Pro version is planned for $14.99, and comes with ReaperBoy PV8 (demo game using Game Boy-like hardware). The Pro version allows developers to mount a local folder as a workstation folder in PV8, and comes with more advanced editing tools.
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, PX8 has no token or sprite limitation. The default resolution can be adjusted up to 256x256.
Development seems to have stopped on PX8 in 2017, with the original GitHub repo now pointing to a generic drawing engine called "Unicorn Console". The link below points to the last known fork of PX8.
Retro-40
Retro-40 is a fantasy machine that uses Forth as its system language.
Specs
Display: 256x192, 16-color Storage: TBD
Homegirl
Homegirl is a faux-attempt at an Amiga-like workstation. It has a "Workbench" and "applications" but is pretty much a reimplimentation of an OCS Amiga.
- See Homegirl GitHub
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