André's 8-bit Pages  Projects  Code  Resources  Tools  Forum

PET index - DOS ROMs

Comparison

Here is a comparison table for the different DOS versions (Based on information from this drive_info.txt that comes with the VICE emulator

Model15412031/40312040/3040404080508250/1001
DOS version(s)2.62.61.0/1.22.1/2.72.5/2.72.7
Disk format(s)'2A''2A'' ''2A"/"2C""2C""2C"
Drives112222
Heads per drive111112
Storage capacity170k170k340k340k1.05M2.12M
Sequential files168k168k168k168k521k1.05M
Relative files167k167kn/a167k183k/518k1.04M
Buffer storage (kB)224444
Tracks per drive35353535772*77
Sectors per track17-2117-2117-2117-2123-2923-29
Bytes per block256256256256256256
Free blocks (single drive/all drives)664664670/1340664/13282052/41044133/8266
Directory and BAM1818181838/3938/39
Directory entries/disk144144144144224224
Transfer rate (internal, kB/s))404040404040
Transfer rate (IEC/IEEE488, kB/s))0.41.81.81.81.81.8
Access time (ms) track to track3030303055
Access time (ms) average360360360360125125
Revolutions/minute300300300300300300

The following table denotes the speed zones for the different formats:

Number of sectors per track
2040/3040 DOS1.x1540/1541/404080508250
Tracks#Sectors
1-1721 (0-20)
18-2420 (0-19)
25-3018 (0-17)
31-3517 (0-16)
Tracks#Sectors
1-1721 (0-20)
18-2419 (0-18)
25-3018 (0-17)
31-3517 (0-16)
Tracks#Sectors
1-3929 (0-28)
40-5327 (0-26)
54-6425 (0-24)
65-7723 (0-22)
Tracks#Sectors
1-3929 (0-28)
40-5327 (0-26)
54-6425 (0-24)
65-7723 (0-22)
78-11629 (0-28)
117-13027 (0-26)
131-14125 (0-24)
142-15423 (0-22)

Note: the DOS2.7 4040 drive was a prototype.

DOS 1.x

The first DOS versions (1.0) were rushed out to get disk support for the PET machines. The first useable versions were the DOS 1.2 2040/3040 drives. These versions still lacked relative file support.

As the drives have two CPUs, one 6502 for the DOS and the IEEE488 and a 6504 for the disk controller (FDC), there are two ROM parts. The DOS ROM is 8 kByte in size, the FDC ROM is only 1 kByte, located in the 6530 RIOT chip. The size is so small that only the most basic hardware-related code is stored there. To format a disk, some code had to be copied to the shared RAM by the DOS CPU and was executed by the FDC CPU. Therefore, there are three ROM parts to discuss:

DOS 2.0/2.1

The second DOS version added support for relative files, and changed the disk format from 670 blocks free to 664 blocks free. It was directly used in the 4040 drives, but many 2040/3040 drives have been upgraded to these ROMs, as the hardware was otherwise the same.

The original Commodore DOS source code can be found in the CBM archive at the CBM archive.

DOS 2.5

The DOS 2.5 adds support for the large, quad density disk drives and is used in the 8050 disk drives.

DOS 2.6

DOS 2.6 is a modification of the 2.x DOS where the FDC code is also executed by the same DOS CPU. It is used in the VC1541 and 4031/2031 disk drives.

DOS 2.7

DOS 2.7 descends from 2.5, not 2.6. I.e. it still uses two CPUs, with dual drive support etc. It adds support for double sided disks, as well as super side sector for relative files. There are versions for the 8050 and the 8250 as well as the 1001 disk drives. A prototype version for the 4040 disk drive was never released. In fact the DOS2.7 probes the FDC and adjusts itself automatically to the 4040, 8050 or 8250 disk formats.

A disassembly can be found in the CBM archive.

8280 8" disk drive DOS

The 8" disk drives use a ROM that, according to the CBM archive, are very similar to DOS 2.7.

Harddisk ROMs

The hard disks have their own ROM. The source code can be found in the CBM archive.


Back to the PET index

PET index V1.0 (c) 1998-2005 A. Fachat