GithubHelp home page GithubHelp logo

joshgoebel / projectabe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from felipemanga/projectabe

0.0 1.0 0.0 208.18 MB

ArduBoyEmulator in HTML5

License: MIT License

JavaScript 55.17% Java 27.81% CSS 1.23% HTML 0.76% Batchfile 0.70% Objective-C 9.17% C++ 1.63% C# 3.54%

projectabe's Introduction

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

projectabe's People

Contributors

felipemanga avatar soxfox42 avatar pharap avatar ralphgoodtimes avatar tcyrus avatar dlancer avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.