Acorn Disk Operating System - DOS

"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."

 

(VIB refers to the Versatile Interface Board)

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 (Teletext) VDU and the 80x25 VDU.
For each there is a choice of configuration:

40x25 (Teletext) VDU
COS automatically detects which type of CRTC is fitted to the 40x25 (Teletext) VDU 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 moved slightly to the right so that it matches the 40x24 (Teletext) VDU avoiding the need to adjust monitors/video converters when switching 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 (Teletext) VDU with MC6845

Listing file to follow

Object code (binary)

Object code (Intel HEX)

 

DOS40B for the 40x25 (Teletext) VDU with MC6845*1

Listing file to follow

Object code (binary)

Object code (Intel HEX)

 

DOS80A for the 80x25 VDU, original System 5 configuration

Listing file to follow

Object code (binary)

Object code (Intel HEX)

 

DOS80B for the 80x25 VDU, modified configuration

Listing file to follow

Object code (binary)

Object code (Intel HEX)

 

Home