Top    a_paulfellows

title Transcript of talk by Paul Fellows at RISC OS User Group Of London (ROUGOL): ARX, Arthur and RISC OS
date 15th October 2012
source Available from http://www.rougol.jellybaby.net/meetings/2012/PaulFellows/

1I 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 .
2And like an idiot I said “ yes ” , we had n't got very much to do .
3The 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 .
4Who were we ?
5It was the Acornsoft languages group , myself , I was the team leader , I was the fool that said “ yes we can do it ” .
6I 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 ? ” .
7Not 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 .
8I also did things like the colour palette .
9Tony 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 .
10That brought it out of reset , powered it up , organised all the memory and so forth .
11We 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 .
12You could boot it , turn it off , reboot it and sometimes it would work and sometimes it would n't .
13It 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 .
14And 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 .
15Stuart Swales , wrote fileswitch and I think the Heap manager as well , we could n't have done it without Stuart , he just fixed everything .
16Richard 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 .
17Then 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 .
18Tim works at Broadcom these days , he did the text , the sound , the keyboard , the serial .
19We drafted in a couple of other guys from Acorn as the team grew .
20We got Nick Reeves who did the disk filing system stuff and Brian Cockburn , that was the team , just those guys .
21Tony 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 .
22Amino is a company that I started with Martin Gilbert in 1997 , Martin designed the Master 128 .
23If 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 !
24Boot and that 's inside the NAND flash which goes ‘ run Linux ’ .
25I think we sold 4.5 million of those set - top - boxes , which is more instances of an operating system than Acorn ever managed .
26Things 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 .
27So 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 ” ) .
28This 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 .
29You 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 .
30Of course this thing could never run entirely standalone it always needed that host micro to get it going .
31We got everything going , the sound , graphics , the memory management and everything running on here as the initial systems .
32There 's still quite a few of these boards around and they still work .
33The 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 .
34There 's a photo of said machine with its lid on and lid off .
35I thought it was quite smart , this design with this plastic moulding on the front and the keyboard that plugged in .
36I 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 .
37It 's booted up there running what seems to be RISC OS 2 to me .
38Inside you 've got the floppy drive , hard drive , podule bus , you 've all seen this , it 's very similar to any other Archimedes .
39There 's the fan that you have to stop in order to reboot it .
40Then the real machines came along , the Archimedes , they changed one important thing , the keyboard .
41A different style of keyboard and keyboard connector .
42I 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 .
43One 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 .
44The 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 .
45The 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 .
46We spent ages trying to create some code on the ARM end make it reliably boot up and start the keyboard properly .
47Eventually , 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 ?
48The 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 .
49So that 's it with its lid off , all the rest of the bits that were hidden under the drives and so forth .
50There '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 .
51Software 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 .
52Underneath 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 .
53In 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 .
54There 's a programmable infra - red sensor and some magnetics ones and key - fob and so forth and you can do it really well .
55Those 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 .
56All the Amino set top boxes and all the AlertMe sensors are the great grandchildren of all of this .
57I 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 .
58Why change a good plan eh ?
59I want to talk a little about my friend Neil , sadly no longer with us .
60By that stage we were here , Arthur 1.something that fired up and looked like that .
61And it did what the management had asked us to do , it built a BBC Micro .
62But Neil came along and said “ I 've finished writing these games ” , that was his best game ever ‘ Planetoid ’ , defender , a great game .
63He 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 .
64Then he wrote an outline font manager later that was so much nicer , which is the one that 's still in there today I think .
65And 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 .
66There '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 .
67As 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 .
68How many times have we all been bitten by that one ?
69So after we 'd written that , the great show - down meeting happened , as it says here , the ARX and the ARm on THURsday showdown meeting .
70In 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 .
71But big mistake , they 'd told us what their demo was going to be before hand .
72So 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 .
73When 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 .
74So 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 .
75It ( 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 .
76We were absolutely going to have to launch it with the smallest amount of RAM and no hard drive .