Skip to content

BramOtte/urcl-explorer

Repository files navigation

URCl Explorer

An IDE for URCL. See full feature list below

Important notes ⚠️

Keep in mind that currently there is no saving functionality build into the website, thus make sure to save your code to a file before you close your browser tab.

Run 🏃‍♂️

Github Pages

You only need your browser to use urcl-explorer just go to github pages and start writing and running URCL code.

Local Server

To use the URCL website offline you will need to clone the repository to your computer, run a static http server and then connect to that server using your browser.

First clone the repo to your computer this can be done in the terminal like this:

git clone https://github.com/BramOtte/urcl-explorer.git

Then navigate to the folder you just cloned to which is by default urcl-explorer.

cd urcl-explorer

Install a static http server, an example of one is http-server which you can install using npm. But you can use any other http server as long as it gives proper mime-types to javascript files.

npm install -g http-server

And run it.

http-server -p 8000

Finally, open your browser and visit http://localhost:8000.

Node.js

Download dependencies

npm install

Build the emulator

npm run bundle-node

And finally run the emulator

node js/urcx-emu.js [<...options>] <sourcefile>

example

node js/urcx-emu.js examples/urcl/text-io.urcl

Install 🔩

Node.js Windows / Linux

Add the bin folder to your Path environment variable and run the emulator with the urcx-emu command:

urcx-emu [<...options>] <sourcefile>

Features

This feature list is not complete yet. 🚧🚧🚧

Devices

Console

ports

Display

This device is operated via the %X, %Y, %COLOR, and %BUFFER ports You can save the display as an image by holding ctrl and right-clicking the display to bring up the browser conext menu.

Color modes

The color mode defines how the colors being outputted via the %COLOR port should be displayed.

Mode Description
PICO8 The color pallet the fantasy console PICO-8 uses
MONO The lowest 8 bits represent a brightness value 0 is black 255 is white
BIN 0 is black any thing else is white
RGB8 3 red, 3 green, 2 blue the highest 3 bits represent a red value the next 3 green and the lowest 2 blue
RGB16 5 red, 6 green, 5 blue
RGB24 8 red, 8 green, 8 blue
RGB Automatically picks RGB8, RGB16 or RGB24 depending on the BITS header
RGBI 1 red, 1 green, 1 blue, 1 intensity, intensity 0 colors are at half brightness with 1 full.