"This is a 4K byte program providing support for other
programs by dealing with peripherals and allowing programs to be filled on
mini-floppy disks. It supports Acorn's Teletext VDU, a parallel ASCII keyboard
and a Centronics style parallel printer via a VIB. The mini-floppy is Acorn's
single density single-sided drive with controller, giving the user 100K bytes of
file space. A second mini-floppy drive can be added.
The first looks like a very early draft.
I have produced a source code for DOS and am currently finishing its disassembly before publishing it here.
The source code includes CRTC configurations for
both the 40x25 VDU (Teletext) and the 80x25 VDU.
For each there is a choice of configuration:
40x25 VDU (Teletext)
COS automatically detects which type of CRTC is fitted to the 40x25 VDU (Teletext) and uses the appropriate configuration, there is not sufficient room in the
DOS EPROM to do this so the specific configuration required must be selected at
assembly. The first configuration, DOS80A, is compatible
with the early MC6845 type CRTC, DOS40B, is compatible with the
later MC6845*1 CRTC type or equivalents.
I have found that DOS40B produces a better result, it uses 'Interlaced Video and Sync Mode'. It is difficult to find an actual MC6845*1 type device, equivalent Hitachi parts are more widely available e.g. HD6845R/S or HD46505SP* beware though that there are many fake parts around particularly those 'marked' HD46505SP-2 from China which I have found behave just as plain old MC6845 !
80x25 VDU
The first configuration, DOS80A, uses the register values as
detailed in the System 5 Manual. This works however I have produced a
slightly modified configuration, DOS80B, which works better
with some monitors and VGA/HDMI video converters. It has a corrected
Horizontal Sync Pulse Width closer to the PAL standard (4.7uS), a shorter
Vertical Sync Pulse Width (the same as the BBC Computer's Mode 3) and the screen
is shifted slightly to the right so that it matches the 40x24 VDU (Teletext)
avoiding the need to adjust monitors/video converters when switching between computers.
Here are the differences:
Register R2 'Horizontal Sync Position': original value
$66, modified value $60 - moves the screen right
Register R3 '(Horizontal) Sync Pulse Width': original value $62, modified value
$28 - Horizontal Sync Pulse Width 4uS, Vertical Sync Pulse Width 128uS
As the code for only one configuration will fit in the EPROM a 'switch' allows a
version to be assembled to suit.
Source code (ca65 format) to follow
DOS40A for the 40x25 VDU (Teletext) with MC6845
Source code to follow
Object code (binary)
Object code (Intel HEX)
DOS40B for the 40x25 VDU (Teletext) with MC6845*1
Source code to follow
Object code (binary)
Object code (Intel HEX)
DOS80A for the 80x25 VDU, original System 5 configuration
Source code to follow
Object code (binary)
Object code (Intel HEX)
DOS80B for the 80x25 VDU, modified configuration
Source code to follow
Object code (binary)
Object code (Intel HEX)
DOS Utility Disk
A disk with a number of useful utility programs is supplied with DOS:
INFALL - an extended version of the INFO command that
provides load address, execute address, file length and start sector for all the
files on a disk. Files are grouped by Qualifier.
The program takes/requires no parameters.
COPY- copies the contents of one disk to another. To run type COPY
<from drive><to drive>. There must be a space after COPY but no spaces
between the two drive numbers i.e. 'COPY 01'. The message 'Copying from
drive n to drive n' is displayed then pressing any key starts the process giving
time to swap disks if required. Everything on the destination disk will be
lost.
COPYF - copies specified files from one disk to another. To run type COPYF
<from drive><to drive>. There must be a space after COPYF but no spaces between
the two drive numbers i.e. 'COPYF 01'.
The message 'Copying files from drive n to drive n' is displayed followed by a
prompt for a filename '?file?. Enter a filename to be copied and press
enter, the file is copied and on completion the files INFO is displayed.
The '?file?' prompt is then repeated to allow further files to be copied,
pressing enter quits the process.
FORM40/FORM80 - these utilities format a disk for either 40 or 80 tracks.
To run type FORMnn, the message 'Do you really want to format drive n' is
displayed where n is the current drive. Insert the disk to format and type YES.
COMPACT - the COMPACT utility removes the unused gaps between files that are
created when files are deleted, it loads each file into memory in turn and
resaves them with no gaps. To run type COMPACT, the message 'Compacting
drive n' is displayed where n is the current drive. Press SPACE to start, files
are listed with their INFO before and after they are copied so you can see the
process working. A final 'Disk Compacted n free sectors' message is
displayed where n is the number of remaining free sectors on the compacted disk.
DUTY - this combines the COMPACT and COPY utilities. To run type DUTY, the
screen is cleared and the message 'Duty Program' is displayed and a prompt 'From
drive' requests the drive to copy from, enter a drive number and press enter.
This is then repeated for 'To drive', on pressing enter the second time the copy
process starts.
All the programs load and run at $2800
Here is an .ssd image (40 track single sided) containing these seven utility programs:
I've also created a couple of ready formatted blank images for use e.g. with a GOTEK.
I've found that some care needs to be taken, especially when transferring files with PC applications, that .ssd image file sizes are maintained i.e. 100/200/400/800Kbytes as DOS will have problems, especially with writing files, if this is not the case. In particular if the BEEB Image tool is used (and I find this one very useful) ensure that under options that 'Create Full-length Images' is ticked.
It is also important to be aware that the standard Acorn BBC DFS format is slightly different to System DOS in that Load and Execution Addresses are 18-bit rather than 16-bit, the top two bits are typically set (for programs intended for the I/O processor's memory). Any of the other DFS formats used by Acorn computers are likely to be incompatible with System DOS.
(There is a BASIC program, DCONV, that can be used to clear these bits and allow files from a BBC to be transferred to System DOS, I haven't included it here yet as I haven't tried it)