Recent Developments in BBC B Hacking

Posted by barnoid Fri, 16 May 2014 21:39:00 GMT

BBC B running 2048

I've recently been experimenting at the Hackspace with UPURS and UPURSFS. These unfriendly strings of letters amount to a cable that links the BBC's User port to my laptop via a USB to serial converter, two ROMs that go in the Beeb and some Perl code that runs on my laptop. The upshot of which is that I can access parts of the filesystem of my laptop as if they were floppies on the BBC.

How it works

The cable and one of the ROMs are the UPURS part. The purpose of which is to allow the BBC's user port to be used as a fast serial port, much faster than the RS423 port on the back. It comes with a bunch of commands for shipping disk, tape and ROM images back and forth, but I was more interested in not having to use any of those.

UPURSFS works by using the Tube protocol over this serial link. The Tube protocol is usually used for communicating with second processor add-ons over the dedicated port on the bottom of the BBC. It basically diverts operating system calls and sends them to the second processor to handle. So nearly all operating system (* commands) and filesystem commands (not BASIC) are passed over to the computer on the other end of the serial link. The upshot of which is that you can implement a remote filesystem and access data stored on a modern computer directly from the BBC. No need for a floppy drive.

John at Bristol Hackspace was able to burn the two EPROMs for me and I made up the cable. We were able to verify that the ROMs work by the presence of their names in the output of *HELP. Having connected the cable, my next test was to upload the BASIC ROM by typing *UPXROM E (in this case) and observing the result in the serial terminal running on my laptop. The word "Roger" towards the end confirmed I was seeing the right stuff.

Next I downloaded the Perl TubeHost code. I set up a directory that will represent a disk and created a file in it called "test" containing the text "hello there". I modified the TubeHost code to look at that directory and then ran it with the option -U. Then by holding the U key and pressing Break on the BBC I put it in UPURSFS mode. I then typed *DCAT and my disk appeared. I typed *DIN 5 0 to select it and then *. to list its contents. There was my "test" file. I typed *TYPE TEST and "hello there" appeared on the screen. Success.

I wanted to try some real software, so I downloaded the SSD image of Eben Upton's version of 2048 that he recently implemented to observe 50 years of BASIC. I'd been wanting to try it on a real BBC since I saw it. I unpacked the SSD into my disks directory using MMB utils. Handily TubeHost respects .inf files that contain BBC file metadata. I was able to get the disk listing on the BBC so I typed CH. "2048" only to see the dreaded "Bad Program". It turns out that my serial link is not all that clean, occasional bytes are going missing or getting corrupted. It may be because I'm using the wrong type of USB to serial converter or it could be something else, it needs some debugging. As the corruption is random I figured I'd keep trying and hope for a try where nothing important gets broken. It took five or six goes.

So we played some 2048 (albeit with corrupted fonts). Ian got to 1024. The concept is proven, just need to iron out the kinks in the serial link.

BBC B Tweeting Machine

Posted by barnoid Tue, 23 Aug 2011 20:42:05 GMT

BBC B Tweeting Machine
My BBC B running serial terminal software called Termulator, connected to my Linux desktop which is running the text only web browser Lynx to use Twitter. The terminal software is fairly temperamental, certain codes seem to make everything freeze up. Also, it’s hard to find 5 pin DIN plugs with the right pin configuration these days.
MakeCanon
ModelCanon EOS 5D Mark II
Exposure0.025 sec (1/40)
Aperturef/4.5
Exposure ProgramProgram AE
ISO Speed500
Date and Time (Original)2011:08:23 17:59:52
Exposure Bias-2/3 EV
FlashOff, Did not fire
Focal Length35 mm
QualityFine
Metering ModeEvaluative
Lens TypeCanon EF 24-105mm f/4L IS
Camera Temperature18 C

BuildBrighton Retro Computing Night

Posted by barnoid Fri, 11 Mar 2011 00:16:28 GMT

BuildBrighton Retro Computing Night
We had a very successful first ever Retro Computing Night at BuildBrighton. This was a four way Micro Machines session, later on it went to eight way. It will definitely be happening again.
MakeCanon
ModelCanon EOS 40D
Exposure0.05 sec (1/20)
Aperturef/1.4
Exposure ProgramProgram AE
ISO Speed200
Date and Time (Original)2011:03:10 20:42:06
Exposure Bias-1/3 EV
FlashOff, Did not fire
Focal Length30 mm
QualityFine
Metering ModeCenter-weighted average
Lens TypeCanon EF 14mm f/2.8L or Sigma Lens
Camera Temperature24 C

Oric Atmos

Posted by barnoid Fri, 11 Mar 2011 00:16:10 GMT

Oric Atmos
It you type PING it goes ping!
MakeCanon
ModelCanon EOS 40D
Exposure0.008 sec (1/125)
Aperturef/11.0
Exposure ProgramManual
ISO Speed200
Date and Time (Original)2011:03:10 20:05:38
Exposure Bias0 EV
FlashOn, Fired
Focal Length30 mm
QualityFine
Metering ModeCenter-weighted average
Lens TypeCanon EF 14mm f/2.8L or Sigma Lens
Camera Temperature24 C

Obsolescence

Posted by barnoid Mon, 08 Jun 2009 22:00:54 GMT

Obsolescence
There was a big party earlier today to celebrate Apple’s gift for creating disposable electronics. Saw this around the corner from my house last weekend. It would have been top of the iMac range in 2000 or 2001.
MakeCanon
ModelCanon EOS 40D
Exposure0.017 sec (1/60)
Aperturef/6.3
Exposure ProgramProgram AE
ISO Speed400
Date and Time (Original)2009:05:30 18:20:28
Exposure Bias0 EV
FlashOff
Focal Length28 mm
QualityFine
Metering ModeCenter-weighted average
Lens TypeCanon EF-S 17-85mm f4-5.6 IS USM

BBC Key Pins

Posted by barnoid Fri, 21 Sep 2007 16:50:47 GMT

BBC Key Pins
Keytops from my spare-parts BBC B. Now lapel pins.
MakeCanon
ModelCanon EOS 300D DIGITAL
Exposure0.008 sec (1/125)
Aperturef/7.1
ISO Speed200
Date and Time (Original)2007:09:21 16:14:24
Exposure Bias0/3 EV
Metering ModePattern
Focal Length55 mm

BBC Key Pins

Posted by barnoid Fri, 21 Sep 2007 16:50:52 GMT

BBC Key Pins
Keytops from my spare-parts BBC B. Now lapel pins. My only concern is that people will be inclined to push them while I’m wearing them thus impaling me on the metal part. Even with the back on they’re quite sharp.
MakeCanon
ModelCanon EOS 300D DIGITAL
Exposure0.013 sec (1/80)
Aperturef/6.3
ISO Speed200
Date and Time (Original)2007:09:21 16:13:42
Exposure Bias0 EV
Metering ModeMulti-segment
FlashNo Flash
Focal Length55 mm

Ten Years Online Today!

Posted by barnoid Mon, 13 Aug 2007 00:03:38 GMT

Ten Years Online Today!
Ten years ago today I received my first e-mail. This is a photo of my setup at the time. I bought the 33.6k modem with money from my first job and signed up to Argonet using a voucher in Acorn User. The modem was £94 and it cost £10 per month not including the phone call costs! I used to look forward to weekends because the calls were cheaper then so I could spend more time online. Wasted teenage years? Just think, I could have been drinking cheap cider in the park. Needless to say, my third e-mail was spam. Some things don’t change.

BBC B - back 1

Posted by barnoid Tue, 05 Sep 2006 21:09:11 GMT

BBC B - back
Showing some of the BBC’s many ports.
MakeCanon
ModelCanon EOS 300D DIGITAL
Exposure0.5 sec (1/2)
Aperturef/11
ISO Speed400
Date and Time (Original)2006:05:28 16:05:48
Exposure Bias-1 EV
Metering ModePattern
Focal Length30 mm

BBC B - keyboard

Posted by barnoid Tue, 05 Sep 2006 21:08:54 GMT

BBC B - keyboard
MakeCanon
ModelCanon EOS 300D DIGITAL
Exposure0.01 sec (1/100)
Aperturef/4
ISO Speed400
Date and Time (Original)2006:05:28 16:01:06
Exposure Bias-1 EV
Metering ModePattern
Focal Length30 mm