Fantasy console

From homebrew.pixelbath
Revision as of 19:13, 6 May 2017 by Mhoskins (talk | contribs) (→‎PICO-8: wikify)
Jump to navigation Jump to search

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 Pong

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.

PICO-8/Voxatron

 
PICO-8 Jelpi demo

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.

Lexaloffle website

Support and Community

The development community surrounding PICO-8 is robust despite its proprietary status.

LIKO-12

 
LIKO-12 fire demo

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

LIKO-12 GitHub page

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

Main TIC-80 website

Nano89

Nano89 is an 8-bit fantasy console with an 8-bit CPU and discrete virtual GPU. It is currently being developed by Pico-8 forum user and game developer SunSailor. The cartridge format is a PNG image with the game code embedded in the data section.

Specs

  • Display: Statler-GDU - 256x256 2-color, 256x128 4-color, 128x128 16-color, 64x128 RGB8
  • CPU: 8-bit with 3 address and 4 data registers, 64k address space
  • Sound: TBD
  • Coding: Assembler or BASIC

Nano89 website

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.

PixelVision 8 website

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.

PX8 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

DCPU-16 IDE website DCPU-16 specifications mirror