ABAsm DP1 - Program the Arduboy, on the Arduboy!



ABasm is an Arduboy game that lets you program your own Arduboy games, on your Arduboy! It uses an assembly language-style of programming with its own bytecode format.


To quickly get up and running, hold left on boot to load up the example program. From there you can use the D-Pad to select an opcode. Hold A and press Up or Down or Left or Right to change a parameter. Hold B to open the menu bar, and release B to choose an option.


Makin' games for the Arduboy, on the Arduboy! #gamedev #assembly #virtualmachine pic.twitter.com/QHreqbxjKu

— fuopy (@fuopy) June 22, 2016


  • Download the Souce Code ZIP from GitHub
  • Rename the extracted “ABasm-master” folder to “ABasm”
  • Open ABasm.ino with Arduino IDE 1.6.12+
  • Click the upload button to install to your Arduboy


  • Hold Left+Right and press B to return to the editor from game test mode
  • The cursor position in the menubar is stored. This is useful for repeating an operation, such as Delete+MoveJumps
  • Hold LEFT on boot to load the default program
  • Hold DOWN on boot to start with an empty program

Developer’s Notice

I have released this under the label “Developer Preview 1.” As a hobby, I’ve been working on figuring out different ways of describing the types of games I’d like to make. This was created in an attempt to capture something I really want to see more of-- portable game development. While I’m pretty happy to share this project with everyone, I know I need to do many more redesigns before I can be satisfied. Either way, I hope you enjoy it! I’d love to hear feedback from anyone attempting to create something with it. And I definitely want to hear any sort of criticism about the bytecode format (or anything else you see!)

Eried's Unofficial Repo :)
Eried's Unofficial Repo :)
Brain**** or something similar on arduboy
(Kevin) #2

Oh my god its finally released! Ever since you tweeted this I’ve been in shock, like. This is so unreal!

Makes me want to learn more assembly!

Moved over the video from Twtitter so it will embed :slight_smile:


Yeah! I’m pretty happy to release it! I often get hung up on trying to make things perfect but I’m hoping that more things will happen in the domain of portable gamedev if I release an attempt! :smiley:

Keep this between you and me, but depending on the theme to tomorrow’s LDJAM I might be doing something which expands on this idea. (With all new code, of course!)

(Kevin) #4

My favorite part is the miniature render in the lower right, it’s so inspired.


@fuopy you do realise you’ll have to write a book now … don’t you ?

Really great program this is and impressive too. :smiley:

(Holmes) #6

This may be a stupid question, but which assembly language is this based on?

I have been working off and on designing my own programming language called Ore as well as an operating system that natively supports it. I wanted to write a runtime environment back on the ol’ PSP and tried to come up with a way to fit it into the Arduboy… Or at least some kind of limited version…

I think mobile development has a lot of potential. I guess I will need to learn assembly again to make something for it. :slight_smile:

Random note… You guys ever hear of Smile Basic, AKA Petit Computer? It lets you program Basic programs on the DS and 3DS. A lot of fun when I am on the road. I also really liked programming in Basic on my TI-83. :joy:


I sort of based it on my experiences with 6502/MIPS assembly programming. It’s not really modelled after any specific ISA, but it has all the clunkiness of “Skip the next instruction IF” but with arduboy library bindings like NextFrame, clearScreen and drawPixel.

Also, yes! I love Petit Computer on the DSi! I really liked scanning QR codes and printing and sharing them. I haven’t used the 3DS version very much, however. There’s also a Wii U version (Japan)!

(Holmes) #8

MIPS is the one that I learned a few years ago for a class. I had to write an interpreter for a derivative in Java for it later, too. I didn’t really think it was fun or appreciate it when I was in class. I was thinking of picking it back up to make an NES game of some sort.

As for Petit Computern I saw it was coming out for the Wii U, which really surprised me. :slight_smile: The QR idea was great, but I really use copy/paste a lot, so I found out a way to code the games on my laptop and transfer them over. :stuck_out_tongue:


Man this looks cool, if only I knew how to code. Maybe this is the time to learn…

(Josh Goebel) #10

Someone should really do this with CHIP8:

You’d also have a small library of existing games that could be dropped right in…

(Andrew Dent) #11


(Tom Stewart) #12

My favorite bit is the old Mac-like dialog box! Nifty!


Holy Crud!!
I didn’t know this even existed!
I am really going to need a tutorial on this.
I’m of to inspect the code!

(Erwin) #14

This is so sweet. Is this your latest release? I do not see how to edit “hex” values directly for using the print instruction :neutral_face: