Acorn Domesday A500 Development Machine



In an exciting turn of events an Acorn Archimedes A500 machine has been discovered that contains a wealth of source code and other Domesday related files including a version of VFS for the Archimedes.  The machine is a prototype Acorn computer and seems to have belonged to Logica (the company that developed the Domesday software for the BBC).  The hard drive (an old style MFM drive formatted as ADFS) has been imaged and the files are available for download below including instructions on how to use them.

The source code seems to contain extensive amounts of BCPL code for reading and writing the various data formats used by the Domesday system.

More information about this image and the contents will be published as it becomes available.

Acorn A500 with case top removed would like to thank the small team of individuals that helped make this discovery possible.

Permission to image the machine was given by Xavier Louis Tardy (the present owner of the machine). Many thanks to Xavier for kindly sharing this important discovery and his long running commitment to the preservation of Acorn history.

The hard drive image and ROM images were extracted by Ian Stocks. Many thanks to Ian for his work on this and for supplying details on the images and how to use them.

A500 Front panel

Files for download

Hard drive image (MFM format drive suitable for ArcEm)

The following file is a zip archive of the original MFM format hard drive found in the development A500.  All files and time-stamps should be preserved.  Please see the additional notes contained on this page (and in the zip file) for details of how to configure ArcEm for this image:

A500Logica MFM ADFS hard drive image (zipped)

The hard drive image provided above can be directly mounted using ArcEm.  To use the image simply copy it into the correct directory and alter the ArcEm hard drive configuration to use the following parameters (for the drive geometry):

MFM disc
1 612 4 32 256

The following zip file contains a full *EX listing of the original hard drive contents:

*EX Listing of the hard drive contents

Arthur 1.20 ROM image

The original Arthur ROM is available from the following link (this ROM image is zipped and will need to be unzipped on a modern PC before use):

A500 Arthur ROM image (zipped)

By combining both the hard drive image and the original ROM (in ArcEm) it is theoretically possible to recreate the original development environment and recompile the software contained on the hard drive (however this has not yet been attempted by the author).  The original ROM image does boot in ArcEm, however there seems to be various problems with the ArcEm emulation that prevent the desktop from being loaded correctly (the various WIMP files are available in the $.wimp and $.wimp.desktop directory - it is necessary to run !Boot from the root of the hard drive before running these programs though).

A500 Arthur ROMs

SparkFS archive

The SparkFS archive included below was created on a RISC OS 3.10 machine.  Please note that the time-stamps of the files has been preserved however, the time-stamps of the directories was replaced by SparkFS during archiving.  This compression format is not compatible with modern PCs (and is a nasty proprietary closed-source format) and is therefore only suitable for use on a RISC OS machine.  In order to ease downloading of the sparkFS image it has been placed in a compressed zip archive.  You will need to decompress the zip archive on a modern PC and then use SparkFS or SparkPlug on a RISC OS machine to decompress the actual files:

LogicaA500 SparkFS archive (zipped)

The following file is the same archive (and should be decompressed under RISC OS to preserve the filetypes) however the archive is only zipped (avoiding the need to use SparkFS):


Modern PC ZIP archive

The following ZIP archive is provided for browsing the hard drive's files on a modern PC and also includes host FS style filenames for compatibility with various Acorn emulators:

LogicaA500 Host FS zip

Overview of the contents

An in depth analysis of the disc's contents has not yet been performed.  However, the following notes may be useful when delving into the contents in more details:

  • Alib.lib – BCPL xVFS libraries (binaries) – July 87 (same files in libsave)
    • Lots of BCPL DATA files (what loads these?)
  • ARC - Looks like the B folders contain the BCPL source code and the C folders contain the executables
    • CF - Some kind of find utility
    • ARC.CM.B – Map processing code (domesday related)
    • more mapping source code
    • Arc.cp image over lay routines for pictures
    • Arc.Ct – community disc aa text (Areal Area?)
    • The arc directory looks like the BCPL source code for the domesday kernel
  • ARM.CLIBs – source code for the Arthur C lib
  • ARM.PROGS – source code (in C) for diff and sieve
  • Basic – Various BASIC utilities including what looks like code for processing various Domesday data files in preparation for the datamerge application
  • Basic.VFStests – BASIC programs for testing various VFS features such as f-codes
  • Doc – Various text documents about the assembler and BCPL compiler
  • Doc.Wimp – possibly some source code from ARTHUR written in BASIC
  • DSH – This seems to be a complete (and possibly compilable) source for an Archimedes port of the Domesday BCPL kernel and related software.
    • DSH.BI – BICI source code. Some form of Prolog assembler for BCPL
    • DSH.DH – Data handler, looks like more BCPL domesday related code
    • DSH.GH – Global Header. More BCPL possibly domesday
    • DSH.H – Various domesday related header files
    • DSH.KE – Domesday kernel related files
    • DSH.NA – National area access routines (Domesday)
    • DSH.NC – National chart overlay
    • DSH.NF – National find routines
    • DSH.NM – National mappable analyse
    • DSH.NN – National name routines
    • DSH.NT – National contents routines
  • DSC
    • DSC.SC – Various video and hardware interface routines, charting, mouse, etc.
    • DSC.SI – State initialisation routines for Domesday
    • DSC.UD – User data handler
    • DSC.UT – Unsure... but contains source for a library to connect VFS with BCPL (VFSlib)
    • DSC.VH – Video Handlers
    • DSC.WM – Windows handlers (WIMP interface routines)
  • – data aggregation – looks related to data merge
  • Games – Just some random games in BASIC and machine code. Doesn’t look like anything special
  • Modules – contains binaries of various modules include vfsa500, videocom and JonSCSI (these seem Domesday related versions of VFS/SCSI for handling the VP415 from the arch).
  • Unied seems similar to the DSC directory and contains (what looks like) a complete compilable application that is Domesday related
    • Unied.AR – Areal data handling routines
    • Unied.DH – Data handler
    • Unied.GD – Grid related functions
    • Unied.GH – Global headers for areal
    • Unied.GR – Map related functions
    • Unied.h – private manifest headers
    • Unied.hdrs – header files
    • Unied.IE – Various unrelated files including help functions
    • Unied.KE – Kernel routines
    • Unied.MA – Tabular data arrangement
    • Unied.SC – Various hardware handlers including keyboard and mouse
    • Unied.SI – State initialisation for Community
    • Unied.TA – Tabular input editor
    • Unied.UT – Various utility functions
    • Unied.VH – Video handler functions

Additional information

Prototype SCSI card

The machine was fitted with an Acorn SCSI interface believed to be used to interface with the Philips VP415 Domesday laserdisc player.  The original SCSI podule is shown in the following photographs:

A500 Prototype SCSI card (top)
A500 Prototype SCSI card (bottom)

RGB conversion card

The machine was fitted with a RGB conversion card.  The exact function of this card is presently unknown however, it is likely to be a form of clock and line-level conversion card that takes the output from the A500 video and makes it suitable for the Philips VP415 laserdisc player's genlock and video mixing functionality.  The card can be seen in the following photographs:

A500 RGB Card (top)
A500 RGB Card (bottom)

A500 Keyboard

The A500 keyboard can be seen in the following photograph:

A500 Keyboard

A500 Back panel

The back panel of the A500 can be seen in the following photograph.  The ports across the bottom of the panel are sound, RGB video, composite video, Econet (based on the pinout and the presence of a M68B54 IC on the motherboard), serial port (based on PCB markings) and a 26-pin IDC printer port.

A500 Back panel

A500 System internals

The following photograph shows the internal view of the A500 with the expansion podules removed:

A500 Internal view