8bitkick.cc
  • 8bitkick
  • home computers
  • playUEF
  • BBC Micro bot
  • contact

PlayUEF: stream Acorn Electron & BBC Micro games from the web 

PlayUEF is a free, web-based player for UEF format Acorn cassette games.

Just connect your 8-bit Acorn computer's cassette port to the headphone socket on a laptop or smartphone and you're ready to load games! 
Full source code and documentation can be found on GitHub.
Quick start with Acorn Arcadians

​For testing I have connected it to the STH archive of over 1000 cassette games for you try below :)

Acorn Electron games list

Picture

​BBC Micro games list

Picture

The details

PlayUEF is a javascript player for UEF format Acorn Electron and BBC Micro cassette games. Conversion from UEF to 44.1KHz WAV is done in the web browser, and played in a nice virtual cassette deck. UEF is a format that was created to archive media for Acorn Computers. Over 1000 cassette-based games have been archived in UEF format :)

But why?

​I wrote PlayUEF because I have an old Acorn Electron and no peripherals. I love the idea that someone like me can just get a retro computer down from the attic, or off eBay, and get going! (In the same way Apple II fans can)

Yep I have other retro machines with floppy / cassette / modern mass storage add-ons... but I wanted a minimalistic, no fuss, low-cost way to load games into the Electron! And so PlayUEF was born. The helpful folks at the stardot forums also convinced me to extend this to handle a wider set of UEF chunks and thus more BBC micro games.
​

How computer tapes store data

Like many 1980s home computers, the BBC Micro and Acorn Electron load and store software on cassette by converting an analog audio signal into binary data and vice versa. Binary data is represented a very long series of very short tones of two different pitches. This is a frequency modulation scheme known as Audio Frequency-Shift Keying. 

​Influenced by 
the Kansas City standard, the Acorn format uses a low tone (one 1200Hz cycle) to represent a binary 0, and a high tone (two 2400Hz cycles) to represent a binary 1:
Picture


The Acorn cassette format uses one stop and start bit to delimit the data packet, making 10 bits in total to transmit an 8-bit byte of data. ​The least significant bit is transmitted first. The example above in binary is 00101010 (42 in decimal) - an ASCII character *. (This character signifies the beginning of an Acorn block header.)

PlayUEF converts archived data in UEF files into this audio format, and plays it in the browser to be loaded directly by your retro machine.

Of course because the audio is dynamically generated there are a few tricks for speeding up loading times you can also try.
​

Virtual cassette player

The javascript player as a nice animated cassette at the top. As the tape plays (and as you move the scrubber) you will see the spools rotate and the amount of tape changes according to the play position! Getting this to behave realistically is trickier than you might expect, but luckily someone has already done the math. 

The coolest feature - the terminal also displays data being loaded in real-time. This is actually a bit of a cheat. The javascript is checking for the play time, calculating the baud rate and displaying a substring of the UEF data block being transmitted. And it works!

Picture
All product names and trademarks are property of their respective owners, who are in no way associated with this project. Whilst we've tried to get things right, all content and data is provided "as is" and no warranty is made as to the accuracy of any information in this site. Photos used in accordance with their CC BY-SA license or are Public Domain and attribution given on each card. Computer photos in top image CC BY-SA sources: Bill Bertram, Tomislav Medak, and with permission computinghistory.org,uk. Complete list of photo credits here. Site content CC BY-SA 8bitkick, 2016
  • 8bitkick
  • home computers
  • playUEF
  • BBC Micro bot
  • contact