RISC OS Rambles

Released: December 3rd I have been out of doing any RISC OS things for over 5 years now. Given that I started working with RISC OS at school, in something like 3rd year, that's quite a while doing stuff. Let's say from around 1993 to 2006 as that's when we actually owned a RISC OS system. That's still 13 years, 7 of which were developing the OS. Quite a few people spent longer working with it, and many people did more interesting things. But from when I first worked on the BBC I'd always wanted to work for the company that made them... and so it was when I worked with RISC OS. So, having been disillusioned and bitter for some time, I thought I would have a little review of what sort of stuff I have done, Maybe some retrospective thoughts and maybe a little rant along the way. Each ramble will be about a particular area of things that I'm interested in, and I'm planning to release one each working day. Some rambles might be split across multiple days to try to balance out their lengths. To keep up to date with the Rambles, use the RSS links (above) to subscribe to the page, or on an Android, iPhone or iPad device you can install the 'Google Currents' app, and visit the special publication URL.

Copyright and Acknowledgements ... in which we say what's what. Copyright Acknowledgements

... in which we say what's what.



Introduction ... in which we introduce ourselves. RISC OS My Rambles

... in which we introduce ourselves.



Patches ... in which we change some things to work in new and exciting ways.

MakePatch

JFPatch Squiggly Pipes TaskKiller ScreenGrab ExtraKeys RecErrors JADFS Day 1

Mon, 3 Dec 2012

Updated: Wed, 23 Jan 2013

... in which we change some things to work in new and exciting ways.



Patches at a lower level ... in which we upgrade the OS to a later version, in more fundamental ways. DDA JPEGSprite NiceErrors SoundTest Gamma310 ReadVarVal ADFSCache Day 3

Wed, 5 Dec 2012

Updated: Wed, 9 Jan 2013

... in which we upgrade the OS to a later version, in more fundamental ways.



Early applications ... in which we learn some things about writing applications.

Mandel

WhoAreYou

AreaFiler

Spooler

PostBox

FindFiles

TextScan Day 4

Thu, 6 Dec 2012

Updated: Sun, 31 Mar 2013

... in which we learn some things about writing applications.



Early applications: Part 2 ... in which we learn some more things about writing applications.

JFAddress

ReadMail

FormEdExt

JFShared Day 5

Fri, 7 Dec 2012

Updated: Mon, 7 Jan 2013

... in which we learn some more things about writing applications.



Early games: The BBC bits ... in which we try our hand at creating something fun. News room

Feud Explode Day 9

Thu, 13 Dec 2012

... in which we try our hand at creating something fun.



Early games: The later bits ... in which we write some more fun things to play.

Civilisation UMoria

NetOXO

NetGames

SiteEdit

NetC4 Day 10

Fri, 14 Dec 2012

Updated: Wed, 9 Jan 2013

... in which we write some more fun things to play.



Sound applications ... in which we look at some of the fun times we had with sound and music. BBC music

DJF-JRF AMPlayer

ControlAMPlayer AMInfo Last.FM client Day 11

Mon, 17 Dec 2012

... in which we look at some of the fun times we had with sound and music.



System configuration ... in which we try to make configuring the system easier to use and extend.

Config+

Configure

Boot sequence Day 12

Tue, 18 Dec 2012

Updated: Wed, 9 Jan 2013

... in which we try to make configuring the system easier to use and extend.



Doom ... in which we descend into Hell and escape victorious.

Pirate Doom

Doom

Gyrinus II

Doom Front End Day 13

Wed, 19 Dec 2012

... in which we descend into Hell and escape victorious.



Heretic and Hexen ... in which we fantasise about battles in another world.

Heretic

Hexen Day 16

Mon, 24 Dec 2012

Updated: Tue, 14 May 2013

... in which we fantasise about battles in another world.



Start up and Boot Menu ... in which we try to make user's lives a little easier when something goes wrong early on. Start up BootMenu Day 17

Tue, 25 Dec 2012

Updated: Sat, 30 Mar 2013

... in which we try to make user's lives a little easier when something goes wrong early on.



Testing and Debugging ... in which we look at some ways that stuff was tested, and how debugging tools help and influence development. Nightly Build FileCore

Bugz Addr Zap code mode

Console Benchmarking Day 18

Wed, 26 Dec 2012

... in which we look at some ways that stuff was tested, and how debugging tools help and influence development.



Testing and Debugging: Part 2 ... in which we look at more debugging tools. ServiceList JSSL BTS, BTSDump, DiagnosticDump Day 19

Thu, 27 Dec 2012

Updated: Wed, 23 Jan 2013

... in which we look at more debugging tools.



Modularity ... in which we look at one of the design goals of RISC OS. Background Periodic resilience reviews Kernel module extraction Interfaces Day 22

Tue, 1 Jan 2013

... in which we look at one of the design goals of RISC OS.



Development tools ... in which we look at some of the tools that help us develop.

ResEd

ResTest

MethodGen Perl, and other tools FixUpTemplate ModServices

ROMEdit Day 24

Thu, 3 Jan 2013

Updated: Thu, 11 Jul 2013

... in which we look at some of the tools that help us develop.



Hidden cookies, surveys ... in which we have a brief look at some hidden bits and think about the surveys. Cookies Things Not To Do Surveys Day 25

Fri, 4 Jan 2013

Updated: Sat, 30 Mar 2013

... in which we have a brief look at some hidden bits and think about the surveys.



ZLib, Zipper and the Installer ... in which we look at how squeezing things helps. ZLib Zipper MiniGrep Select Installer Day 26

Mon, 7 Jan 2013

Updated: Tue, 5 Mar 2013

... in which we look at how squeezing things helps.



Program environment ... in which we play chicken with the program environment to see who yields first. Environment handlers Redirection system Day 27

Tue, 8 Jan 2013

Updated: Wed, 9 Jan 2013

... in which we play chicken with the program environment to see who yields first.



Program environment: Peripheral bits ... in which we look at other program environment modules. SystemVars CLIV CommandCache EvaluateExpression Day 28

Wed, 9 Jan 2013

Updated: Wed, 23 Jan 2013

... in which we look at other program environment modules.



File systems ... in which we look at how we access files. CDFS DOSFS FileSwitch ResourceFS PipeFS Day 29

Thu, 10 Jan 2013

Updated: Wed, 23 Jan 2013

... in which we look at how we access files.



Application execution ... in which we fix up broken programs and make things safer to run. AppPatcher Execution formats Day 30

Fri, 11 Jan 2013

... in which we fix up broken programs and make things safer to run.



Graphics stack ... in which we look at the many components that make what you see seen. Draw DrawFile ColourTrans Mode strings Font Manager Day 31

Mon, 14 Jan 2013

... in which we look at the many components that make what you see seen.



Core video: Abstracted interfaces ... in which we look at how we make the video system a less tightly coupled to the Kernel. Abstracted graphics Day 32

Tue, 15 Jan 2013

... in which we look at how we make the video system a less tightly coupled to the Kernel.



Graphics support modules ... in which we look at some of the extra support modules. ColourMap FontMap VideoTTX Borders Day 34

Thu, 17 Jan 2013

... in which we look at some of the extra support modules.



Graphics file conversions: Image file conversions ... in which we take some pictures and make them into some other pictures. ImageFileConvert ConvertPNG again DrawFile CompressJPEG Day 36

Mon, 21 Jan 2013

Updated: Sun, 31 Mar 2013

... in which we take some pictures and make them into some other pictures.



Sprites and JPEGs ... in which we are terrified by the dinosaur that lives inside SpriteExtend. SpriteExtend CompressJPEG SpriteUtils Day 38

Wed, 23 Jan 2013

Updated: Sat, 30 Mar 2013

... in which we are terrified by the dinosaur that lives inside SpriteExtend.



Core Internet components ... in which we look at the core bits the Internet stack. Network stack Internet MbufManager Day 39

Thu, 24 Jan 2013

Updated: Sun, 31 Mar 2013

... in which we look at the core bits the Internet stack.



Internet support modules ... in which we look at some of the fun bits that made the Internet stack more than just a protocol interface. Ping and Traceroute DHCPClient RouterDiscovery RevARP TFTPd WakeOnLAN InternetTime Resolver ResolverMDNS MimeMap SysLog Day 40

Fri, 25 Jan 2013

... in which we look at some of the fun bits that made the Internet stack more than just a protocol interface.



Internet applications and bits ... in which we look at some of the applications we supplied, and the bits that made them work.

DHCPInfo ShowStat URLFetcher ProxySetup HTTPFetcher

OmniClient

NFS

LanManFS

Access, NetFS

FTP Marcel

SockStats

WebServe Day 41

Mon, 28 Jan 2013

... in which we look at some of the applications we supplied, and the bits that made them work.



Cut and Paste support ... in which we look at how Cut And Paste was added to the Window Manager and some applications. DispLib ClipboardHolder

Clippy WindowManager

WindSetup !Paint, !Draw, !Edit Day 42

Tue, 29 Jan 2013

... in which we look at how Cut And Paste was added to the Window Manager and some applications.



Icon buttons and borders ... in which we look at the humble button and make it a bit more funky. WindowManager and IconBorders ToolSprites Day 43

Wed, 30 Jan 2013

... in which we look at the humble button and make it a bit more funky.



The Desktop ... in which we look at the maze that is the WindowManager. WindowManager Day 44

Thu, 31 Jan 2013

... in which we look at the maze that is the WindowManager.



The Desktop: Part 2 ... in which we continue to stumble through WindowManager's winding passageways. WindowManager Day 45

Fri, 1 Feb 2013

Updated: Fri, 1 Feb 2013

... in which we continue to stumble through WindowManager's winding passageways.



The Desktop: The buggy bits ... in which we look a few of the fun problems related to the WindowManager. WindowManager Day 46

Mon, 4 Feb 2013

... in which we look a few of the fun problems related to the WindowManager.



Desktop support ... in which we look at the extra bits outside the Wimp that make things work. DragASprite FilterManager and RedrawManager TaskWindow ShellCLI Day 47

Tue, 5 Feb 2013

Updated: Tue, 5 Feb 2013

... in which we look at the extra bits outside the Wimp that make things work.



Core Desktop Applications ... in which we look at bits of the desktop that you forget are applications in their own right. DisplayManager Pinboard TaskManager Free Day 48

Wed, 6 Feb 2013

... in which we look at bits of the desktop that you forget are applications in their own right.



The Filer ... in which we look and how many little Filer changes were made. Filer Filer_Action Day 49

Thu, 7 Feb 2013

Updated: Tue, 5 Mar 2013

... in which we look and how many little Filer changes were made.



The Filer: The experimental bits ... in which we look at some of the more experimental bits. Filer Day 50

Fri, 8 Feb 2013

... in which we look at some of the more experimental bits.



Toolbox ... in which we look at the Toolbox and make some fun improvements. Toolbox UnplugTBox Djinn Day 51

Mon, 11 Feb 2013

Updated: Sun, 31 Mar 2013

... in which we look at the Toolbox and make some fun improvements.



Toolbox gadgets changes ... in which we look at some of the main gadget modules that came with the Toolbox. ImageFileGadget Scrolling List TextArea gadget Day 52

Tue, 12 Feb 2013

... in which we look at some of the main gadget modules that came with the Toolbox.



Databases ... in which we play with some databases and it doesn't work out. SQLite MiniSQLite DBResultManager Scrolling List Day 53

Wed, 13 Feb 2013

... in which we play with some databases and it doesn't work out.



Experimental Gadgets and Objects ... in which we look at some of the Toolbox bits we didn't finish. URLImage ColourSwatch AMPlayerGadget Map gadget OptionsWindow Day 55

Fri, 15 Feb 2013

... in which we look at some of the Toolbox bits we didn't finish.



Memory: For the video system ... in which we see how the video system forced changes on how memory is managed. Support for the video system Day 58

Wed, 20 Feb 2013

... in which we see how the video system forced changes on how memory is managed.



Memory: Regions and protection ... in which we look at how memory is split up, and how we protect ourselves from bad things. Memory regions Protection of memory Error reporting Day 59

Thu, 21 Feb 2013

... in which we look at how memory is split up, and how we protect ourselves from bad things.



Mini-projects: USB experiments ... in which we play with USB a bit.

WebCam MP3 player Day 60

Fri, 22 Feb 2013

... in which we play with USB a bit.



Mini-projects: Mozilla and AMFiler ... in which we find small joys at every turn. Mozilla

AMFiler Day 61

Mon, 25 Feb 2013

Updated: Sun, 31 Mar 2013

... in which we find small joys at every turn.



Mini-projects: SVG and Homeworld ... in which we find some more joys and find real limitations.

SVG Homeworld Day 63

Wed, 27 Feb 2013

Updated: Sun, 31 Mar 2013

... in which we find some more joys and find real limitations.



32bit RISC OS ... in which we magic an extra 6 bits on to the end of our 26 bit system. Background Back... to 32bitty things Day 64

Thu, 28 Feb 2013

Updated: Sat, 2 Mar 2013

... in which we magic an extra 6 bits on to the end of our 26 bit system.



BASIC ... in which we have exciting times with the BASIC interpreter. BASIC Day 65

Fri, 1 Mar 2013

... in which we have exciting times with the BASIC interpreter.



C library ... in which we find ourselves lost at C. SharedCLibrary Day 66

Mon, 4 Mar 2013

... in which we find ourselves lost at C.



Future directions: Sound system ... in which we consider how the sound system could improve. Sound system Day 68

Wed, 6 Mar 2013

... in which we consider how the sound system could improve.



Future directions: Filer ... in which we discuss how the Filer might have looked. Filer Vector icons Day 71

Mon, 11 Mar 2013

... in which we discuss how the Filer might have looked.



Future directions: Resilience and environment ... in which we look to how we could have made things safer. Resilience Application space and environments Day 72

Tue, 12 Mar 2013

... in which we look to how we could have made things safer.



Future directions: File systems ... in which we look to the grand plans that might have been for accessing files. File systems Day 73

Wed, 13 Mar 2013

Updated: Sun, 31 Mar 2013

... in which we look to the grand plans that might have been for accessing files.



Future directions: Toolbox ... in which we look to what would have done with the Toolbox. Toolbox Day 74

Thu, 14 Mar 2013

... in which we look to what would have done with the Toolbox.



RISC OS Rambles ... in which we talk about what we've been talking about. Writing the rambles Day 75

Fri, 15 Mar 2013

... in which we talk about what we've been talking about.

