A downloadable virtual computer for Windows, macOS, and Linux
What is Prism?
The intent of the Prism project was twofold:
- Provide a computer programming learning environment stripped back from modern complications - it is intentionally limited in many ways, mimicking the sort of limitations developers had to work around in the 80s and.90s
Congratulations on your purchase of the Grapefruitopia Industries Prism-384 Home Computer System
- High resolution widescreen 384x216 pixel display, able to display 5376 different colours.
- Display 512 sprites with advanced alpha blending technology.
- 60fps flicker free screen updates.
- Tile based display system - each 8x8 pixel cell can display a blend of 3 different colours, with one of 16 brighness levels, mapped from the 512x512 pixel (4096 tile) buffer.
- Programmable FM Synthesis audio.
- Mouse, keyboard and gamepad support.
- Specifications subject to change in later revisions.
What do you get
- A rudimentary Paint program that demonstrates how the colour attributes work.
- Assorted mostly undocumented examples.
- Online Documentation for the API
- A big discount on the final version
Still to do
- A gui frontend to complement the JS console.
- Improve the Paint program - create sprite and tileset definitions and a game map editor.
- Built in editor (currently everything needs to be edited in an External editor, such as VS Code.)
- Improve VS Code integration (debugger support, Intellisense definitions)
- Finish the audio system ( you can build FM Synth voices, and simple music patterns, but it's all still very manual, and driven by JS code)
- Proper documentation and a built in help system.
- Lots more examples.
- Ability to create standalone packages that can be distributed.
- Helper tools, such as an image colour converter to allow importing graphics into the correct colour modes.
- ..and lots more!
This is currently pre-alpha level software, so there's no guarantees that it'll actually work yet! Lots of things are still to be done, and lots of things will change regularly until everything stabilises. Also, there's next to no documentation as of yet, other than what is on this page!
Take a look in the fs\ folder - this contains the computer's virtual filesystem. .js files are executable - type:
You can type "IO.cat()" to get a directory listing.
Here's a few things to try
run("paint") run("mandlebrot") run("bounce") run("waveform")
You can currently download and run Prism on a Windows based computer (only Win10 has been supported).
Linux and Mac support is in the works, but is not yet ready for general release (the previously published Mac package doesn't actually run, so has been pulled until I get a chance to publish a working one)
The embedded web version above is really only intended as a live demo - eventually I plan to allow users to distribute their games and programs as an embeddable web version, but the logistics of this is yet to be explored!
Raspberry Pi (3) support is planned, too, but again is in early stages (it runs, but the graphics don't currently display!)
In order to download this virtual computer you must purchase it at or above the minimum price of $5 USD. You will get access to the following files:
- Build 2352 - Linux builds, and many improvementsFeb 24, 2019
- html5 demo now liveAug 24, 2018
- Build 1750 - Hello MacOS!Jul 14, 2018
- A little pixel paintingMay 21, 2018
- Build 1505 - Lots of audio improvementsMay 13, 2018
- Build 1304 - lots of minor improvementsApr 29, 2018
- Build 1189 - Improved AudioApr 14, 2018
- A First devlog - Painting with attributesApr 02, 2018