ProjectABE (ArduBoy Emulator) released!

(Pharap) #425

I know it’s possible to inspect RAM and instructions, but what about EEPROM?

Or is there at least a way to turn the Arduboy logo on at the start?
(Normally I don’t like it, but I’ve got a very specific reason for needing it.)

(serisman) #426

Great Thanks! I just checked, and yes it seems to be building much better now.

(Felipe Manga) #427

There’s no user interface for inspecting EEPROM, but you can access it through the browser’s console. There is a global EEPROM variable.
By default the logo should be enabled.

(Pharap) #428

I later discovered the game I was testing with wasn’t calling bootLogo.

I think inspecting EERPOM would be a useful feature,
but if nobody else has asked for it then don’t worry about it.

(I was trying to do something very specific and I was using the emulator because I was being too lazy to toggle the EEPROM flag on my actual Arduboy (though that’s what I ended up doing anyway).)

(Felipe Manga) #429

I’ll be sure to add it in the new version (the one with Pokitto, Gamebuino, and Arduboy “compatibles” support). The current version of ProjectABE was meant to be a discardable prototype and its IDE is falling apart. :stuck_out_tongue:

(Jean Charles Lebeau) #430

FManga, does your version support the META too ? Actual simulator of the META works fine but is too long to real simulate the games, so if yours is quickest, it’s could be great.

(Felipe Manga) #431

I haven’t looked at the META yet, but the Pokitto is also Cortex-M0+ based, so it shouldn’t be hard to add the META once the Pokitto core is mature. Emulating faster microcontroller-based devices quickly in the browser is hard.

(Jean Charles Lebeau) #432

Yes, it’s sure. I don’t expect magic, but if you success to do it faster as actual, we could have more fun with emulator and it’s could be more near reality, so better to test too. Actual simulator works fine and is beautifull but it’s impossible to have fun playing a race on the emulator for example. I have test your emulator on the Arduboy, it’s another hardware but emulation is really good.



doesn’t seem to affect anything happening on the screen?

(Felipe Manga) #434

do you have:
if( !arduboy.nextFrame() ) return;
in your loop function? Can you post a link to your source?
Does it behave differently on hardware?


Thanks! It’s working now!


This may have already been answered, but how accurate is this performance-wise to an actual arduboy? I don’t own an arduboy (yet, should be getting one in the next couple months) so I’ve been making a game and testing using this and it runs fine. However, I’m afraid my crappy code might not run as well on an actual arduboy. I’m mostly worried about the way I’m decompressing maps, as I don’t think it’s the “fastest” or “best” way of doing it…

(Felipe Manga) #437

The latest version of Chrome seems to have taken a performance hit for some reason, so Firefox is more accurate. It is generally as fast as hardware, so if it’s playable in the emulator it should be fine.

The best way to know for sure is to share code/bins in a WIP thread so that others can test for you.


Thanks for the response, as of right now I am using the offline version of the emulator so I shouldn’t have any browser related performance issues with it. However I started the project in the emulator using chrome, and I saw no performance issues (3 days ago, latest chrome version). I’ll be sure to post a WIP thread once the game is in a state where you can do more than just walk around… and also when I figure out what to call the game!


Is the offline emulator less stable than the online emulator? At seemingly random times when testing in the offline emulator, my games speed will drop to around 10% for a few seconds, and after that my game begins to have some collision issues (being able to walk though 1 specific tile, only in north direction, and only in specific spots). I spent almost an hour trying to figure out why, but after trying the game in chrome I realized that it only happens on the offline emulator. Using chrome I get no speed drops, and collision works fine.

(Simon) #440

I have been using the offline version for ever and can report that it is really robust. I have had an occasional problem with Mac OS where a copy of NWJS is still running even though all windows of ProjectABE are closed. When this happens, I can often see he logging of previous instances of my program still being shown and the CPU being consumed by the process.

I have never had an instance of the code behaving differently to the real device. I suspect its your code (sorry).


Maybe I worded my issue poorly, I didn’t mean that abe was acting different than the real device (I still haven’t been able to get my own arduboy yet), I meant that one version of abe was having an issue which another version of abe was not. If the issue was caused only by my code, it should happen in both versions of abe… except the issue only happens in one version.

(Felipe Manga) #442

Are you using the debugger? That isn’t very stable in the offline build yet.


I didn’t even know the offline version had any of the debugging features, so no, I haven’t been using them.

(Felipe Manga) #445

I’ll have to check, but its possible the offline builds are outdated compared to the online one.
Since the offline builds are based on Chromium, once updated, they should have similar performance to Chrome.
Even then, with the current browser versions, the best way to run the emulator is Firefox.