Flappy Bird Is The New “Does It Run Doom?”

Back in 2014 [Johan] decided to celebrate BASIC’s 30 50 year anniversary by writing his own BASIC interpreter. Now, a few years later, he says he feels he has hit a certain milestone: he can play Flappy Bird, written in his own version of BASIC, running on his own home-built computer, the BASIC-1.

Inside the BASIC-1 is an Atmel XMega128A4, a keyboard from a broken Commodore 64, a joystick port, a serial to TV out adapter, and an SD card adapter for program storage. An attractively laser-cut enclosure with kerf bends houses the keyboard and hardware. The BASIC-1 boots into BASIC just like many of its home computer counterparts from the 80s.

There has been work done to create minimal BASIC computers before but it’s not every day that someone decides to write their own BASIC interpreter. Nor is it every day someone wires their own homebrew computer into an attractive wood panel enclosure. Both at once is great to see, but crowning it off by having it run a Flappy Bird clone written in BASIC on an amber screen is really something special.

For ages we’ve had two proofs of hacking proficiency — Hello World proves you can do the most basic with a system, and running Doom proves you have mastered hardware abstraction on a system. Over the past few years Flappy Bird has grown to fill a niche between the two on systems that don’t have the horsepower (or resolution) to run Doom but still beg for a skill indicator.

57 thoughts on “Flappy Bird Is The New “Does It Run Doom?”

        1. Do you trust that $2 chinese AVR programmer you got from Aliexpress? Why is it so slow? Why does it have readout protection? And why does its envelope say “Missent to USA”?

          (Don’t laugh, it once happened to me and it took three months to arrive. But hopefully it wasn’t a programmer.)

    1. Flappy bird is just a version of ‘lunar lander’ (AKA moon lander) with poorer physics really.
      I think I prefer that original concept (from the 70’s I understand) over flappy bird.

  1. I have designed a computer and a BASIC interpreter. The project is named PV16SOG and is using a PIC24EP512MC202
    demo video: https://www.youtube.com/watch?v=DA9ojDc_Kic
    source: https://github.com/Picatout/pv16sog
    website with complete documentation including BASIC manual: http://picatout.github.io/pv16sog/
    blog: http://picatout-jd.blogspot.ca/2016/04/projet-pv16sog.html

    With all that information anyone can replicate it at low cost.

      1. Switching to another PIC24 or PIC33 would be easy but I would not try to port it to an 8 bit PIC. 16 bits PIC don’t cost more than PIC18 so I don’t use PIC18. As the code is mostly in C except for the virtual machine which is a 2 stacks FORTH like coded in assembly. Porting it to PIC32MX170F256B would be more work but not that much.

  2. “An attractively laser-cut enclosure”

    I’m sorry, but I have never seen a laser-cut enclosure that is attractive. They’re all designed by engineers, not by designers.

    Please prove me wrong, so that I finally have an excuse to buy a lasercutter :)

  3. How about it’s fun to build your own computer.
    See it run software.

    Not some image off the net you downloaded and stuck into an rpi.

    Some of us still thinks this is fun and rewarding.

    1. But it’s even more fun to hack some old stuff to make it do something else. I still have my old Gameboy and I use it for simple text-only web browsing (with a DIY 32k flashcart and an ESP8266 connected to the multiplayer port through SPI). It also supports some javascript (hint: the ESP8266 runs Espruino).

      I’m going to share the project in the future. Does anyone want an ESP8266 text-only browser?

  4. I’ve coded at least 20 BASIC interpreters and cross-compilers over the years, most of them for practical work in embedded land. It’s an easy language to implement, safer and easier to use than C and not as cryptic as Forth, and one of the few that can pack a complete development environment in 8K (or even 4K if you’re sufficiently ruthless).

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.