ProjectABE (ArduBoy Emulator) released!

(JohnnydCoder) #405

Hey @FManga,

Project ABE looks great! :smile:

However, I was trying to run some code for a game I was making and I didn’t really know how to upload it to the arduboy emulator.

Is there something I’m missing?

(Miloslav Číž) #406

One of these:

  • Drag&drop a hex file into the emulator.
  • Web version only: add ?hex=game.hex to the url (replace game.hex with url of the game hex that is uploaded somewhere on the Internet).
  • PC version only: run from the command line with the hex file parameter, e.g. ProjectABE game.hex.
  • Open the emulator, click new game, copy-paste the source code and click build (if the game source is in a single file).


Alternatively, you can just copy the code in the emulator to your Arduino program, and upload it there.
That’s how I do it.
I usually don’t upload unless the emulator shows it’s working.
It saves me a lot of time, and saves my arduboy from writes/rewrites.
I wonder if those flash chips have a maximum of writes?

(JohnnydCoder) #408

Thanks a lot! :smile:
I appriciate it.

(Scott R) #409

You can also set the PC version as default app on windows and just double click a .hex.

(serisman) #410

Are others experiencing the same issue with the online version where it is tedious to use the built-in IDE and actually get it to build and reload?

For me, whenever I try to do a build (from either Chrome or Firefox), it takes a while and then shows an error “TypeError: Cannot set property minStack of # which has only a getter”. It seems like I then have to click on the “reset (F6)” option, wait a bit, and then finally refresh the browser before it finally loads the new version.

Am I doing something wrong, or is there a bug with the online version? The desktop version seems to be working more like I would expect.

By, the way, I love having this emulator! Great job!

(Felipe Manga) #411

I remember fixing this bug ages ago. Together with the fact that many of @ProDigit’s suggestions are features that were already implemented, I think the builds must be terribly outdated compared to the source. I’ll give them a look soon and upload new builds.

Not sure what you mean. The OLED is 1 bit.


It allows for 3-4 shades of grey, by switching on and off the pixels at certain time interval.
I installed the windows exe.

It also doesn’t allow for me to turn off the emulator only, while keeping the code field in tact. If I turned off the emulator via the power button, my work is lost (window closes)

(Felipe Manga) #413

Nothing prevents you from doing this in the emulator, but it probably won’t look exactly the same due to some limitations like the browser FPS cap. Maybe try one of the skins with CRT fading for better greys.

As for the IDE: consider it an alpha-quality preview. Don’t try to use it seriously yet, as doing so might result in lost code. It requires a lot of work before its stable.


What is the link to the online version?
The only one I found, directed to a page saying “coming soon” , or something…

(Felipe Manga) #415



Oh, thanks!
I saw the game library before, but I never noticed the subsection to create new games!

(Gavin Atkin) #417

I noticed the emulator does not have the latest version of Arduventure, any chance that could get updated?

(Felipe Manga) #418

This is also something that was corrected long ago. I don’t know how the build got so outdated, I’m pretty sure I made a release after that. :thinking:

Anyway, I updated the online version and you should see Arduventure 101 (if you don’t, try incognito/private browsing to circumvent the cache).
Would TeamARG like to take control of repo.json to make updates easier?

I’ll update the offline builds later.

@serisman: The minStack error should also be gone in the online version now.

(Gavin Atkin) #419

Oh cool, I deleted the cookies for the site and it has the updated version now. I’ll ask the rest of the team if they’d like control of the repo.

Thank you!


I re-read the scaler option.
Is there a way to improve checkerboard pixels, to appear grey?
Or wouldn’t this be feasible?

Would definitely make for some interesting results!


I tried using the online Arduboy emulator, and it crashed on me (twice).
I merely was doing the audio programming:

void playTone(unsigned int frequency, unsigned long duration)
if ( == true)
tone(PIN_SPEAKER_1, frequency, duration);

and put under loop:

playTone(1000, 250);

and the program hang, and the tone was heard constantly.
restarting could only be done via another window, or resetting the cookies.
I’d still want to ask how do you stop the emulator? Is there an ‘emergency stop’ function available, like a ‘CTRL + BREAK’, or ‘CTRL + C’, like on the old DOS programs?

(Felipe Manga) #422

Can you share the entire sketch? From your description it looks like it’s doing what its supposed to.
Are you sure it’s hanging?

There is no way to stop the emulation right now. One option is to use the offline emulator to test with a separate IDE for coding.

(Felipe Manga) #423

AFAIK, the best that can be done without introducing terrible artifacts is temporal averaging (the “CRT effect”) that can be seen in the Fallout Pipboy skins.


Yes, it does what it’s supposed to do, but recompile (F8) once or twice and it freezes.
The beep also isn’t constant, but fluctuates slightly.

Running on Win 7 64 bit with Chrome 32 bit, and extension ‘volume booster’, if that helps.

Other info: 2 core, 2.9 GHz Celeron G3920, 4GB of ram and a few hundred GB of ROM.