/ProjectABE

ArduBoyEmulator in HTML5

Primary LanguageJavaScriptMIT LicenseMIT

ProjectABE

ArduBoyEmulator and IDE in HTML5

Want to contribute?

npm install -g gulp-cli
npm install -g serve
npm install -g cordova   # optional, for android build only
git clone https://github.com/felipemanga/ProjectABE.git
cd ProjectABE
npm install
mkdir build
gulp copy
gulp web-build
serve build

Running the emulator

The emulator can be used in one of the following ways:

If you want to use the online emulator, you can run a HEX/Arduboy directly by adding it to the URL like this: https://felipemanga.github.io/ProjectABE/?url=https://site/file.hex

Offline is similar, if you have the executable in your PATH:

ProjectABE /path/to/file.hex

You can also drag-and-drop a hex/arduboy file into the game list to play it.

Build comparison

Feature Browser Windows Linux OS X Android
Emulator Yes Yes Yes Yes Yes
IDE Yes Yes Yes Yes Yes
Compiler Cloud Local Local Local Cloud
Uploader No Yes Yes Yes No

Emulator interface

You can play by touching the buttons, if you have a touchscreen. If your device has a keyboard, use the arrow keys and Ctrl/A/Z for button A and Alt/B/S/X for button B. Joysticks/pads are also supported, if your browser supports the gamepad API.

Press F to toggle fullscreen mode.

You can start/stop recording a GIF of the game by pressing R. If you want a PNG screenshot, press P.

To exit a game and go back to the list, press Esc or click on the power button above the screen.

Some games look/play better on a vertical screen, like 1943 or Breakout-V. The emulator can be put in vertical mode by clicking on the chip in the lower-right of the Arduboy's screen.

Aside from the standard Arduboy and Microcard, other skins are available. Press F3 to cycle through them. You can specify which skin to load by adding a parameter to the URL (?hex=game.hex&skin=Tama) or the commandline (ProjectABE --skin=Tama game.hex).

If you want to debug the game you're currently playing, click on the USB port (bottom-center). To upload the game to your Arduboy, press U (offline version only).

Keyboard bindings:

Key Function
Arrow keys Arrow keys
Ctrl/A/Z Button A
Alt/B/S/X Button B
F Fullscreen
R Record GIF
P PNG screenshot
Esc Exit game
F3 Change skin
U Upload to physical device
F6 Reset game

IDE / Debugger

ProjectABE includes an IDE (based on the awesome Ace editor). It allows you to write, build and debug Arduboy games in your browser, without installing anything on your computer. Since it's a work-in-progress, the edges are still rough, but it's already possible to make entire games in it (see Hello, Commander).

If you have an existing project, you can drag-and-drop code (or a zip file containing code) into the editor. If your project is on github or bitbucket, the IDE can load your code from there by pointing ProjectABE to your repository like this: https://felipemanga.github.io/ProjectABE/?url=https://github.com/felipemanga/HelloCommander

To use the IDE in the Windows, Linux, and OS X builds, you need to have the Arduino IDE installed. You will also need to install the necessary libraries. Projects will be loaded from the Arduino Sketchbook folder.

You can also drag-and-drop images to have them converted into source code, ready to be used with the Arduboy2 library, with an ascii-art preview (dashes are transparent, spaces are black, and sharps white):

Simply ignore the arrays you do not need and GCC will not add them to the final build.

IDE Keyboard shortcuts:

Key Function
Ctrl-Enter Build and run
Ctrl-P Jump to file
F6 Reset
F7 Step-In
F8 Resume