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 are n'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 had n'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 did n'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 . You could boot it , turn it off , reboot it and sometimes it would work and sometimes it would n't . It turned out , it would boot fine if you left it long enough , but if you did n't turn it off for very long then it did n'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 . |
12 | 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 . |
13 | Stuart Swales , wrote fileswitch and I think the Heap manager as well , we could n't have done it without Stuart , he just fixed everything . |
14 | 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 . |
15 | 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 . |
16 | Tim works at Broadcom these days , he did the text , the sound , the keyboard , the serial . |
17 | We drafted in a couple of other guys from Acorn as the team grew . |
18 | We got Nick Reeves who did the disk filing system stuff and Brian Cockburn , that was the team , just those guys . |
19 | 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 . |
20 | Amino is a company that I started with Martin Gilbert in 1997 , Martin designed the Master 128 . |
21 | 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 does n't half look like the core operating system and a load of separate relocatable modules , it boots up and runs <ast> exec ! |
22 | Boot and that 's inside the NAND flash which goes ‘ run Linux ’ . |
23 | I think we sold 4.5 million of those set_-_top_-_boxes , which is more instances of an operating system than Acorn ever managed . |
24 | 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 . |
25 | 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 ” ) . 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 . 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 . Of course this thing could never run entirely standalone it always needed that host micro to get it going . |
26 | We got everything going , the sound , graphics , the memory management and everything running on here as the initial systems . |
27 | There 's still quite a few of these boards around and they still work . |
28 | 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 . |
29 | There 's a photo of said machine with its lid on and lid off . |
30 | I thought it was quite smart , this design with this plastic moulding on the front and the keyboard that plugged in . |
31 | 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 . |
32 | It 's booted up there running what seems to be RISC OS 2 to me . |
33 | Inside you 've got the floppy drive , hard drive , podule bus , you 've all seen this , it 's very similar to any other Archimedes . |
34 | There 's the fan that you have to stop in_order to reboot it . |
35 | Then the real machines came along , the Archimedes , they changed one important thing , the keyboard . |
36 | A different style of keyboard and keyboard connector . |
37 | I do n'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 . |
38 | 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 . |
39 | 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 . The only trouble was , when you received an 0xFF from it , you did n't know if it was the first one or the second one . |
40 | We spent ages trying to create some code on the ARM end make it reliably boot up and start the keyboard properly . |
41 | Eventually , at about 1:30 in the morning I suggested we just send it something illegal , so we sent it F0 , well you would would n't you ? |
42 | The keyboard took that and went “ oh I do n'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 did n't work . |
43 | So that 's it with its lid off , all the rest of the bits that were hidden under the drives and so forth . |
44 | 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 could n't handle it . |
45 | 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 do n't have to do hardware paging to go from one to the other . |
46 | 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 does n't half look like that . |
47 | 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 . |
48 | There 's a programmable infra_-_red sensor and some magnetics ones and key_-_fob and so forth and you can do it really well . |
49 | Those little sensors have all got a small processor with 5K RAM and 128K ROM and they do n't half look like these inside as_well . |
50 | All the Amino set top boxes and all the AlertMe sensors are the great grandchildren of all of this . |
51 | 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 . |
52 | Why change a good plan eh ? |
53 | I want to talk a little about my friend Neil , sadly no longer with us . |
54 | By that stage we were here , Arthur 1.something that fired up and looked like that . |
55 | And it did what the management had asked us to do , it built a BBC Micro . |
56 | But Neil came along and said “ I 've finished writing these games ” , that was his best game ever ‘ Planetoid ’ , defender , a great game . 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 . 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 . 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 . |
57 | 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 was n't ready at this point . 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 . |
58 | How many times have we all been bitten by that one ? |
59 | 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 . |
60 | 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 . But big mistake , they 'd told us what their demo was going to be before hand . 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 wo n't be able to do that on Arthur as it ca n't multitask , look ! ” , they clicked on three or four of them and got them running . |
61 | When the fourth one started the system started to engage virtual memory and started swapping , on a 4MB machine and the hands on the clock started ticking once every 16 seconds . |
62 | So they did their demonstration and we turned up , Tim Dobson had written a clock program , we turned up with an A305 with 256KB 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 . |
63 | It ( ARX ) was hopeless , there was no way that we ( Acorn ) could afford to go to market with a machine that needed 4MB of RAM and a hard drive , in those days , and even_then was going to be that slow . |
64 | We were absolutely going to have to launch it with the smallest amount of RAM and no hard drive . |