Sim-AVR problems with the new Arduboy2 V5

One thing I have noticed is that it seems to have broken the sim-avr Arduboy environment. It appears the screen handling / optimizations have broken it. Disappointing as this was what I was using for dev / test. @dxb have you had a look at the new library?

Hi, how do I go about reproducing the issue? i.e. which game/version shows the problem? Thank you.

Everyone I have tried. It will not even render the ‘Arduboy’ logo.

I just tried CastleBoy and latest Dark-And-Under with latest Arduboy2 library and they work fine. Which exact version of sim-arduboy are you using (link to repo + commit ID) and which exact game/version should I test with?

I am not sure what repo version it is. Can I tell from the code?

git remote -v


git log -1


commit 6457ba293ded410c118fa85fb50ccdaa7419b48f (HEAD -> arduboy, origin/arduboy, origin/HEAD)
Author: Delio Brignoli <>
Date:   Sun Sep 17 18:09:55 2017 +0100

    examples: add board_arduboy to run arduboy .hex files
    Remove usage of threads.
    Implement Arduboy buttons.
    These changes are meant to be temporary and are being pushed
    for those who want to try this out.

Mmm … temporary??

Anyhow, I am using the test ‘Hello World’ code that comes with the library.

Thanks @MLXXXp for splitting this issue. @filmote, the output of git remote -v is missing.

@filmote, I cannot be sure until I see which repo you cloned from but it looks like you are using a long abandoned initial implementation. All new code is here

Wow … its being working perfectly the whole time.

I have downloaded it from the repo. In the old installation, I hae code under \simavr-arduboy\examples\board\arduboy\ but none of the new code looks anything like the old. Where should I unpack the zip to?

Hi. Clone the repo (using git command line or GitHub UI App) to a new folder as described in the README then follow the instructions in the README to make sure all dependencies are installed.

Note: the repository uses submodules (i.e. it clones a git sub-repository into it’s own checkout directory). GitHub UI app may do this for you (using git on the command line to clone the repo as described in the README does this for you).

I am totally confused …

I did these …

> /usr/bin/ruby -e "$(curl -fsSL"
> brew tap osx-cross/avr
> brew install --HEAD osx-cross/avr/simavr
> brew install sdl2

Then ran make, which had numerous “/System/Library/Frameworks/GLUT.framework/Headers/glut.h:507:22: note: ‘glutKeyboardFunc’ has been explicitly marked deprecated here” type of errors.

Now, which directory should I be in when I run this? I cannot see any executable.

./sim_arduboy filename.hex


This commit broke the emulator probably because the assembler optimisation relies on exact simulation of relative clock relationship between SPI peripheral and CPU core. Need to think about this…


Ladies and Gentlemen, the fix is IN

In order to get it proceed as follows:

> cd sim-arduboy
> git pull origin master
> git submodule update
> make
> ./sim_arduboy [path to HEX file]

I will try this when I get home … nice, speedy work!