Drobe :: The archives
About Drobe | Contact | RSS | Twitter | Tech docs | Downloads | BBC Micro

The story behind RISC OS's file rescuer: DiscKnight

By Chris Williams. Published: 31st Jan 22:10:58 | Permalink | Printable

Since the RISC OS 2000 show, DiscKnight has helped many people overcome the heartache of disc faults and lost files; DiscKnight is a disc checker and a file doctor, catering for the hard discs new and old. What follows is an article by Discknight author David Ruck, published also by the Armclub magazine, Eureka. From the DiscKnight website, you can download a free checking version that will inform you of any errors on your discs.

If there is one thing on a computer which you rely on everyday and put your faith in on a computer, it's the filing system and that it keeps all the programs and essential data you've built up over many years, safe. If the worst should happen it is devastating to be left with an error such as "Disc not understood" on the screen, and a disc you can't access.

That's what happened to me last year just after the RISC OS Wakefield show. Of course the best piece of advice is keep backups, and I had. At least I thought I had 6 weeks before, so shouldn't have lost more too much, only the stuff which had changed since then. But backups are a hassle and the speed which hard disc storage grows soon outstrips whatever you use to backup, in my case 27MB Syquest cartridges. Most of my data was recoverable, but I discovered I'd left out backing up my internet directory when it would no longer fit on one cartridge, so my highly customise suite of applications along with 5 years of important business and personal email had gone.

This would not have been a problem a few months before, as I could have used fsck or Disc Doctor to repair the drive, but I had reformatted all my drives to the new RISC OS 4 E+ format. After all this is one of the biggest advantages of the new OS, long meaningful names for files, and no more silly restriction of 77 files per directory, and the far more efficient use of space allowing >8GB disc to be used sensibly. Unfortunately for whatever reason Sergio Monesi was no longer interested in developing his programs to handle the new formats, and despite all my contacts in the developer community, I couldn't find anyone that was working on a program to fix the new format.

So, I had no choice but to try myself. Now if there was one area of the OS that I would not want to deal with, it was the filing system. When I first got the RISC OS 3 PRM's many years ago and read them from cover to cover, I really had difficulties understanding the ins and outs of the FileCore disc format - it really gave me a hell of a headache. Plus things had progressed from there, covering extensions to handle greater than 512MB discs and of course that was only the old E format. Very little documentation existed for new E+ format, except what Acorn released as part of the doomed Phoebe project for what was to become RISC OS 4.

Starting with the old E format, and with the help of additional useful texts from Sergio and ex-Acorn's Phil Colmer, I got to grips understanding the disc boot block and map, and then the extensions that the new E+ introduced. Very quickly I created a program which verified the checksum and cross checks of the map and found it fixed the problem on my disc. I was overjoyed, apart from a few broken directories and a couple of files which locked up the machine if I tried to access them, I retrieved all the data I had lost.

I was then going to reformat the disc, and get on with other things, but during that month I'd noticed quite a few other people with disc problems on RISC OS 4 discs, pleading for help on the csa newsgroups. The only replies they had received ranged from the sarky "well you should have backed up" to the equally unhelpful, "well I don't know of any programs to fix it, but someone probably will write one". I knew then that I had to finish the job and turn my program in to a useful tool to fix both old and new disc formats. I thought this wouldn't be too big a job now I had started, but was I wrong!
There is only one correct format of a disc, but billions of wrong ones. The big job is determining whether a file is good data that has become corrupted and can be fixed, or what is just complete junk and must be ignored. In all another 5 months of work (all done in addition to my main jobs, at weekends and during evenings and lunchtimes) were necessary to make it handle the seemingly infinite ways of that things could go wrong on a disc.

Of course to test my program I needed broken discs, so got in touch with people on the newsgroups that had asked for help, and had many more referred by word of mouth. Now when developing programs, especially for something as complicated as a disc fixer I knew there could be problems about sending off an untested program to someone who doesn't know much about disc formats and just letting it run rampage on the disc, potentially doing more damage if it wasn't working correctly. So I needed some way for their discs to come to me without physically sending them for Pet Detective treatment by Post Office (if you've seen the first scene of that film, you'll know what I mean!).

I therefor designed a DiscKnight to be able to extract all the important data from peoples discs (the boot block, map and directories, but not the files), which could be compressed down to a few hundred K (only a couple of MB even for the largest multi-gigabyte disc), and emailed to me. Then the full copy DiscKnight could take this file and treat it exactly as if it was the real disc, and test out repair operations many times, until I was happy it worked. Part of this design was the ability to generate an undo file which could restore the disc back to the original state if all didn't go well. I was therefor able to send people both a file which DiscKnight could apply to their to fix it, or undo it again if there were problems. All without them having to run the program directly, or understand its output.

This worked very well, and I am grateful to all the testers for their help and trust at at this stage. At the end of six months, and one final frantic week writing the desktop front end part of the program, DiscKnight was finished only a few hours before the RISC OS 2000 show, were it was to be launched. The demand took us all by surprise, with almost 200 copies being sold that weekend (which meant no sleep for me duplicating extra discs). Since then and the start of this year over 400 copies have been sold.

The story doesn't end their though, I am continually developing DiscKnight to cope with feed back from users via the free support service, and have refined many areas to handle new and ever more tricky problems. The ARM club have also introduced a new facility to handle credit card payments via the web using UK Shareware Registration Ltd, who handle other RISC OS programs such as !Organiser. This has proved to be a very popular way to buy (over 100 copies sold this way already), both for overseas customers as there are no currency issues involved, and for people who require it urgently. When bought this way it is emailed within 48 hours (thanks to The ARM Club's ever dedicated products dispatcher, Ralph), this is obviously much better than waiting for the postal service when you are desperate to recover your data.

DiscKnight only costs ten pounds, for one or more of these reasons:

  • I must be mad
  • You'll feel safer knowing you have it should you need it
  • Promise me you'll buy RISC OS 4 if you haven't already

The full details on ordering are at www.discknight.riscos.org.uk plus a free checking only version is available to download.
Thanks go to David for writing the article and Eureka magazine for their permission to reproduce it here. You can read the full article, with cool gory pictures and the full story, in the current Eureka magazine (published by the Armclub).

Previous: Pace and Sega announce Dreamcast joint venture
Next: Drobe talks to the organisers of Codecraft #3: Let's talk graphics


Viewing threaded comments | View comments unthreaded, listed by date | Skip to the end

No comments posted - yet. Post one yourself or come back soon.

Please login before posting a comment. Use the form on the right to do so or create a free account.

Search the archives

Today's featured article

  • Behind the scenes of a pocket RiscPC
    How a mobile port of RPCEmu came about
     12 comments, latest by JanRinze on 11/6/06 2:17PM. Published: 6 Jun 2006

  • Random article

  • Gimp-Print development milestone reached
    GPDriver completed [Updated] 21/1/2004
     14 comments, latest by Rimmer on 23/1/04 11:04AM. Published: 19 Jan 2004

  • Useful links

    News and media:

    Top developers:
    RISCOS LtdRISC OS OpenMW SoftwareR-CompAdvantage SixVirtualAcorn

    CJE MicrosAPDLCastlea4X-AmpleLiquid SiliconWebmonster


    RISCOS.org.ukRISCOS.orgRISCOS.infoFilebaseChris Why's Acorn/RISC OS collectionNetSurf

    Non-RISC OS:
    The RegisterThe InquirerApple InsiderBBC NewsSky NewsGoogle Newsxkcddiodesign

    © 1999-2009 The Drobe Team. Some rights reserved, click here for more information
    Powered by MiniDrobeCMS, based on J4U | Statistics
    "Your attitude is appalling and childish"
    Page generated in 0.0474 seconds.