BBC Micro bot – Tweet BBC BASIC, get a GIF from a virtual Beep

This service runs BASIC programs submitted by a tweet on an emulated BBC Micro and returns an animated GIF image of the screen (2secs @ 50 fps).

Technically, the bot runs a BBC Micro Model B with BBC BASIC II and the Acornsoft Graphics Extension ROM. It’s pretty amazing what can be done with a single tweet, e.g.,

One of the fun and challenging aspects of the bot is you need to squeeze your BASIC code into a tweet - code golf! You might want to use fewer and smaller line numbers, fewer spaces and check out the minimum abbreviations for BBC BASIC keywords to achieve this.

You can create some cool animations and graphics using these techniques but the code will become harder to read. Below you can see an example of minifified BBC BASIC. Click the thread to see the resulting image!

Now you can beep from bed or on your commute, Twitter handle @bbcmicrobot.


That’s pretty cool!

I presume similar ones could be set up for other 8-bit micros like the C64 or ZX-Spectrum. Would be fun to see what can be done on those in a tweet. :slight_smile:

Shameless advertising: I’ve a similar, URL based service for a PET 2001, but, instead of receiving a GIF, you have to watch the procedure in the emulator.

(See the form at the bottom of that page. You can also generate a URL from your program directly in the emulator.)

Here’s a small demo running everyone’s favorite maze algorithm.

1 Like

There are some curated examples from this twitter bot’s stream collected here:

Some of them with links to in-browser emulation. Including, most remarkably, a glider gun in Life, by Eben Upton.

1 Like

This is actually basic Munching Squares! (Sorry for nitpicking. :wink: )

Ah - I’m not familiar with all the flavours of that hack, it seems. I thought this was the only one:

The original hack uses the test word (the switches displayed at the bottom of my PDP-1 emulation [1]) as a dynamic input. However, other implementations, like the ones for screen savers, use a hard coded or dynamic value generated on the fly for this, opening an entire new subclass of the algorithm. I guess, this is where it starts to merge with gliders.

There are all kinds of patterns, which can be generated, and some of these are triangles. There are a few presets in the emulator (see the versions menu on top) and you can also play a bit with the switches…