1 | I was hauled in, in front of the board of directors at Acorn, and they said “the hardware is being made and we have got no software, you guys aren't doing very much at Acornsoft, can you make us a BBC like operating system, you've got 5 months?”, as that's when the hardware is going to hit the streets. |
2 | And like an idiot I said “yes”, we hadn't got very much to do. |
3 | The reason they came to us was because we'd done the graphics extension ROM for the Master, we'd been part of the recent machine that had gone out the door and because we'd done the fancy BASIC interpreter that could access more memory, thus proving we could do hard things, and done all the languages you could possibly want for the BBC Micro, so we really didn't have much else to do. |
4 | Who were we? |
5 | It was the Acornsoft languages group, myself, I was the team leader, I was the fool that said “yes we can do it”. |
6 | I got to write the I2C drivers, actually I was given some I2C drivers by John Biggs, who's at ARM today, they were written in Modula2 which had been ripped off out of the ARX implementation, he said “here, this is how you do it, make the Real Time Clock work, that'll be fine, just test it for me will you?”. |
7 | Not having a compiler that worked on the nascent version of Arthur that we had at the time, I transliterated it all into assembler, it went 400 times faster and it got slightly upset that I was driving the bus too fast. |
8 | I also did things like the colour palette. |
9 | Tony Thompson, who had done that implementation of BASIC 64, he got to do the core of the operating system, so the real guts of Arthur itself. |
10 | That brought it out of reset, powered it up, organised all the memory and so forth. |
11 | We had a really interesting time with part of that, we had one of the machines that we just could not get this thing to boot reliably. |
12 | You could boot it, turn it off, reboot it and sometimes it would work and sometimes it wouldn't. |
13 | It turned out, it would boot fine if you left it long enough, but if you didn't turn it off for very long then it didn't reset properly, and this was because the fan on the board was still spinning and the back EMF on the fan was enough power to keep the ARM running. |
14 | And that's why you've got an ARM in your phone today, it would take no power to keep a 3 micron ARM with 25000 transistors would run for 30 seconds off the energy stored in the fan. |
15 | Stuart Swales, wrote fileswitch and I think the Heap manager as well, we couldn't have done it without Stuart, he just fixed everything. |
16 | Richard Manby, graphics extension ROM author, did the graphics and in RISC OS 2 he went on to do Draw which is really quite a fantastic program. |
17 | Then we've got our ace games programmer out of semi-retirement where he'd been out writing games for the beeb with no market for them, Tim. |
18 | Tim works at Broadcom these days, he did the text, the sound, the keyboard, the serial. |
19 | We drafted in a couple of other guys from Acorn as the team grew. |
20 | We got Nick Reeves who did the disk filing system stuff and Brian Cockburn, that was the team, just those guys. |
21 | Tony is at ARM, Stuart has retired, Richard Manby works at ANT in Cambridge on embedded browsers, Tim works on chips with Sophie at Broadcom, things like Raspberry Pi core chips and related work, Nick Reeves is at ARM and Brian is at Amino. |
22 | Amino is a company that I started with Martin Gilbert in 1997, Martin designed the Master 128. |
23 | If you look inside one of these Amino set top boxes you find there's a boot ROM in the NOR flash, and a filing system on the NAND flash, and the boot ROM doesn't half look like the core operating system and a load of separate relocatable modules, it boots up and runs <ast> exec! |
24 | Boot and that's inside the NAND flash which goes ‘run Linux’. |
25 | I think we sold 4.5 million of those set-top-boxes, which is more instances of an operating system than Acorn ever managed. |
26 | Things got serious when I got some hardware on my desk, this is the first piece of hardware I got (A500 second processor card), you can see the four core chips, the ARM, MEMC, VIDC and IOC, in their square flat-pack holders, the RAM over there, some operating system software of some sort in these EEPROMs here, and the TUBE interface. |
27 | So this was plugged into, via a tube interface, a BBC Micro, so it was a giant second processor (as it says on the board “A500 second processor”). |
28 | This was the development board that we had, we first had one and gradually got to the point of having one each to do the development work on. |
29 | You could attach a keyboard to it, graphics output from it to a monitor, so gradually the functionality of Arthur came to life and you could migrate more and more of the IO features over onto the board from the BBC Micro. |
30 | Of course this thing could never run entirely standalone it always needed that host micro to get it going. |
31 | We got everything going, the sound, graphics, the memory management and everything running on here as the initial systems. |
32 | There's still quite a few of these boards around and they still work. |
33 | The first stand alone machine, the A500, which is very confusing because they're both called A500, but the other one was the A500 second processor. |
34 | There's a photo of said machine with its lid on and lid off. |
35 | I thought it was quite smart, this design with this plastic moulding on the front and the keyboard that plugged in. |
36 | I think this is actually my computer, I can tell it's mine because it's got red stickies on some of the function keys, to change the names of what those buttons did, because the keyboard was designed for ARX and had some weird buttons on it that nobody ever knew what they were supposed to do, so we stuck some labels on, I think it was Tipex on this one to make it more appropriate. |
37 | It's booted up there running what seems to be RISC OS 2 to me. |
38 | Inside you've got the floppy drive, hard drive, podule bus, you've all seen this, it's very similar to any other Archimedes. |
39 | There's the fan that you have to stop in order to reboot it. |
40 | Then the real machines came along, the Archimedes, they changed one important thing, the keyboard. |
41 | A different style of keyboard and keyboard connector. |
42 | I don't quite know where the keyboard came from, but there was obviously a micro in there which would chuck it (the keyboard data) to us down the serial lead. |
43 | One of my funny stories is trying to debug the interface between Tony's software and the keyboard, myself and Stuart and Tony and Bruce (Brian Cockburn) were there all night trying to get this damn thing to work, because the guys who made the keyboard had got this fantastically useless protocol that they'd come up with. |
44 | The keyboard sent you 0xFF, you replied 0xFF, then it sent you 0xFF again, you replied 0xFF, then it sent 0xFE, and you were supposed to reply 0xFE. |
45 | The only trouble was, when you received an 0xFF from it, you didn't know if it was the first one or the second one. |
46 | We spent ages trying to create some code on the ARM end make it reliably boot up and start the keyboard properly. |
47 | Eventually, at about 1:30 in the morning I suggested we just send it something illegal, so we sent it F0, well you would wouldn't you? |
48 | The keyboard took that and went “oh I don't know how to deal with that, I'll start again” and sent 0xFF, but this time we knew it was the first one, and it's still like that today, because we never could get to the bottom of why it didn't work. |
49 | So that's it with its lid off, all the rest of the bits that were hidden under the drives and so forth. |
50 | There's an awful lot of components on there by today's standards, I think it broke the CAD program because there were more than 512, the CAD program that the guys were trying to use to design the hardware couldn't handle it. |
51 | Software wise, the core operating system was made to look like the BBC MOS, with relocatable modules made to look like those sideways ROMs, all the service calls in the Beeb are mirrored by those that go chaining through, but you don't have to do hardware paging to go from one to the other. |
52 | Underneath all versions of RISC OS still have a BBC inside them and in fact if you turn on one of my Amino set top boxes, with the debug lead in, it doesn't half look like that. |
53 | In 2007 I finished my association with Amino set top boxes and did another company with Adrian Chritchlow and some other guys who were from the Acorn world, and we built something called AlertMe.com in Cambridge which does home gateways, which are connected to the internet, have a modem in them and through a collection of Zigbee based sensors have got a burglar alarm function. |
54 | There's a programmable infra-red sensor and some magnetics ones and key-fob and so forth and you can do it really well. |
55 | Those little sensors have all got a small processor with 5K RAM and 128K ROM and they don't half look like these inside as well. |
56 | All the Amino set top boxes and all the AlertMe sensors are the great grandchildren of all of this. |
57 | I kept the faith, I've built another 5 million units that have got an operating system just like this one in them that probably no one has ever really heard of. |
58 | Why change a good plan eh? |
59 | I want to talk a little about my friend Neil, sadly no longer with us. |
60 | By that stage we were here, Arthur 1.something that fired up and looked like that. |
61 | And it did what the management had asked us to do, it built a BBC Micro. |
62 | But Neil came along and said “I've finished writing these games”, that was his best game ever ‘Planetoid’, defender, a great game. |
63 | He got interested in writing a font manager to run on Arthur, so he wrote two, a bitmap one which was all well and good but a bit clunky and horrible. |
64 | Then he wrote an outline font manager later that was so much nicer, which is the one that's still in there today I think. |
65 | And he wrote a Window Manager, I think he just wrote that because he wanted to, the addition of these two modules transformed Arthur from that command-line world to a desktop based system. |
66 | There's a cautionary tale behind this, Richard Manby wrote this (Arthur Desktop), in BASIC as a demonstration of the Window Manager and what it could do, using the bitmap fonts and so forth, the outline font manager wasn't ready at this point. |
67 | As a piece of demo-ware it escaped into the wild, they burnt it into the ROM and it's what it boots up with, but it was a demonstration of how you can write programs to use the window manager, but never underestimate the marketing department, they'll get you every time, if you write a demo, they'll sell it. |
68 | How many times have we all been bitten by that one? |
69 | So after we'd written that, the great show-down meeting happened, as it says here, the ARX and the ARm on THURsday showdown meeting. |
70 | In the boardroom at Acorn, in the morning the team from Paolo-Alto turned up with their 4MB A500 with a hard-drive running ARX to do a demonstration of how far they'd got and what a wonderful thing it was. |
71 | But big mistake, they'd told us what their demo was going to be before hand. |
72 | So they'd got a ticking clock running, and they said “and you can click on another one and run several of these at once, you won't be able to do that on Arthur as it can't multitask, look!”, they clicked on three or four of them and got them running. |
73 | When the fourth one started the system started to engage virtual memory and started swapping, on a 4 MB machine and the hands on the clock started ticking once every 16 seconds. |
74 | So they did their demonstration and we turned up, Tim Dobson had written a clock program, we turned up with an A305 with 256 KB RAM, an Arthur desktop and a ticking clock program, and we ran 16 of them which ticked smoothly, and ARX got cancelled the next day. |
75 | It (ARX) was hopeless, there was no way that we (Acorn) could afford to go to market with a machine that needed 4 MB of RAM and a hard drive, in those days, and even then was going to be that slow. |
76 | We were absolutely going to have to launch it with the smallest amount of RAM and no hard drive. |