8-Bit Software Online Conversion

This is an extract from my Disc Drives and DFS guide that is available on the Internet. I am still in the process of completing the full document but here is an excerpt that, in this time of car boot sales, might help some of you to attach a much needed second drive or replace one that is faulty very cheaply. I would also very much like to know any information that anyone may have regading the commercial DFS's that have been available and the differences (bug fixes and extra facilities) that were implemented between the different versions. Especially interesting are details for the Solidisk and Watford DFS's. Mark Usher marku@magnet.at 1.) Disc Drives 1.1) Drives in general The BBC had many assorted drives attached to it, ranging from 8", 5.25", 3.5" and 3" drives. The most widely used was the 5.25" drive and later with the Electron Plus 3 and the Master series the 3.5 drive became the standard used. Disk drives were sold by many different companies for the BBC, including Watford, Viglen and Cumana amongst others. Most of these drives though were badged drives from Japanese manufacturers, the most common being Epson, Mitsubishi and TEAC. There were two normal standards for the 5.25" disk drive, 40 and 80 track. The 40 track drive lays down it's magnetic tracks at a pitch of 48 tracks per inch (48 TPI) whilst the 80 track drives operate at 96 TPI, i.e. exactly half the track width of the 40 track drive. Both 40 and 80 track drives were available with a single head (which records on one side of the disk only) or with a double head enabling recording on both sides. A double-headed drive has therefore twice the storage capacity of a single- headed drive. Using 8271 based DFS (FM encoding) disk capacities are: BBC Formatted Unformatted 40 Track Single Sided 100KB 250KB 40 Track Double Sided 200KB 500KB 80 Track Single Sided 200KB 500KB 80 Track Double Sided 400KB 1MB Using 1770 based DFS (MFM encoding) disk capacities are: BBC Formatted Unformatted 40 Track Single Sided 180KB 250KB 40 Track Double Sided 360KB 500KB 80 Track Single Sided 360KB 500KB 80 Track Double Sided 720KB 1MB 1.2) Finding a suitable drive Obviously the best drive for the BBC is an 80 Track double-sided drive as this would give us the full 400K. Unfortunately these drives are not so common, as 5.25" 720K drives were never used in PC's. Also 80 track single- sided drives are quite uncommon, again for the same reasons. A 40 track double-sided drive should be quite easy to find as they were used extensively in older PC's, but then we only have half the storage capacity that is possible. There were on the other hand many 720KB 3.5" disc drives made, as these were used by various computer manufacturers, so if you want to use 3.5" discs then these should be a lot easier to find. An added advantage is also that 3.5" double density discs are also easier to find than 5.25" double density discs, but for how long is another question entirely. Many high density PC floppy drives i.e. 3.5" 1.44MB drives and 5.25" 1.2MB drives can also run in low density modes. Most of the 3.5" drives will switch between the two formats automatically, whereas the 5.25" drives are normally set as 1.2MB drives at the factory and need some jumpers changing before they will operate in a dual mode. The jumpers that need setting are labelled differently on different models, but you should look for High/Low density, and the rotation speed jumper. This is set to 360 RPM for high density operation, and so must be changed to dual 300/360 RPM mode so that low density can also be used. As far as my tests show, these drives will work with a 1770/1772 FDC but cause problems with the 8271 FDC. The reason seems to lie with the 8271 DFS and the timings contained within the DFS code. Jonathan Harston has written a program that will patch an Acorn DNFS 1.20 ROM image to change the DFS timings, and my tests show that this does indeed solve the problems. It was available on 8BS64. You must also remember to set the timings on the BBC keyboard links. Just transfer the program to a disc that also contains an image of the Acorn DNFS 1.20 ROM. 1.3) Attaching Drives First you will need a power supply. You can use the power supply from the underside of the BBC with a suitable lead. If you don't have a lead then this can be a problem as it is very hard to find the connector. The exact details are: PSU socket: AMP 1-350241 PSU female pins: AMP 360666-1 cable connector: AMP 1-250234 male pins: AMP 350664-1 Alternatively you can use a power supply from a PC. Besides a power supply you will also need a data transfer cable. This is a simple 34way ribbon cable, with an edge connector for the drive and another connector for the underside of the BBC. Be careful if you are using a PC floppy drive cable as this contains a twist in the cable. This is because all PC floppy drives are set as drive 1, and the twist reverses this for the first drive, effectively making it drive 0. The BBC doesn't operate like this. So if you are wanting to connect two drives you will have to "remove" the twist, or in a single drive system, just use the connector before the twist. Once you have your BBC, DFS, drive and cables, you must configure the drive before connecting it up. If it was a PC drive then it will be jumpered as DS1 (Drive 1) by default. If it is to be Drive 0 on your BBC, you must change the jumper to DS0, and in a dual drive system you would change the jumper on only one of the drives, so one is DS0 and the second is DS1. Also the last drive on the cable, i.e. the one furthest away from the BBC must be terminated. Drives are also terminated by default. This is fine if you have a single drive system, but in a dual drive system the terminator must be removed on the drive nearest the BBC on the cable. Terminators vary between drives. Some look like an IC and are usually in a DIL socket, or sometimes they are a thin row that is attached to the drive's circuit board. Another possibility is that the terminator can be turned on or off by use of a DIL switch or jumper on the drive's circuit board e.g. some Mitsubishi drives. Once you have set all of this, you can then attach your drive and BBC together and start trying to format some disks. 1.4) Other drive jumpers Head Loading Some drives use a head load solenoid. This means that it requires either a Motor On or a valid Drive select signal before the head can be loaded against the media for communication with the disk. This is the purpose of the two, switch or link options found on many drives, HM or HS. These stand for Head to Motor and Head to Drive Select respectively. This means with the HM link set, the head of the disk drive will be loaded against the disk any time the motor is started up. It may well be that the computer wishes to access another drive, but as all the Motor On lines are usually connected together the motors of all the drives will be activated. Thus, any drive that has the HM option set will load the head of the drive against the media. When the computer comes to use that drive, then the drive will already be in a condition to pass information to and from the disk. Head to Select With the switch or link set in the HS position then the loading of the head against the media will only take place when that particular drive is actually selected for communication between its disk media and the computer. That is to say that with the HS option selected and a drive set to be drive one or DS1 of the system, then only when drive one is selected will the head of the drive actually be loaded ready for use. For and against There are arguments for and against both methods of head selection. With the HM option there is more wear on the disk due to the head always being loaded when any drive is selected or used. Any drive access however small will result in all the heads of all the drives being loaded against the media. If you have the HM option selected you will not require a Head Settling time before the drive is Ready For Use. It speeds up drive to drive access time and is a lot quieter if a lot of drive to drive transfers are taking place. In the case of the HS option then disk wear is reduced to a minimum as the head is only in contact with the media when an access is required to that particular drive. This results in a lot of clicking taking place during drive to drive transfers. It also means that when the drive is selected then a small amount of time must be allowed for the head to settle against the disk before access is attempted. This is known as Head Settling time and can be as much as 50 m/s in older drives. Self Loading It may be that you have a drive that contains neither the HS or HM link options. If this is the case the drive is most likely to be the type whereby the head is loaded against the disk every time the drive door is closed. This means that the head of the drive is in contact with the disk at all times. This results in an even higher degree of disk wear than a drive with the HM option set. Multiplexing Another connection that can be found on floppy drives is the MX link. This is one that often causes trouble and confusion. Its purpose is to allow two or more drives to be connected together on the same cable. Incorrect setting of this can cause surprising results, even causing you to think there is a fault with another drive on the system. The MX link should not be set in most drives, however in some of the early TEAC drives the opposite is true. It is also quite normal for the MX link not to be made in single drive systems. 1.5) BBC keyboard link configurations Here are tables detailing the various link settings on the lower right hand side of the keyboard. First all the settings: BIT Switch Setting Description 0 8 Start up Mode 1 7 2 6 3 5 0 !BOOT on Shift Break 1 !BOOT on Break 4 4 Disk Stepping times 5 3 6 2 0 HADFS Floppy driver 1 external driver 7 1 0 DNFS. Starts in DFS 1 DNFS. Starts in NFS Here are the settings for the 8271 controller. SW3 SW4 Step rate Settle time Head load 1 1 4ms 16ms 0ms 1 0 6ms 16ms 0ms 0 1 6ms 50ms 8ms 0 0 20ms 20ms 16ms NB: Some documents state the last two times for head load are 32 and 64, not 8 and 16. Here are the settings for the 1770 controller (up to DFS v2.29) SW3 SW4 Step rate Settle time Head load 1 1 6ms 1 0 12ms 0 1 20ms 0 0 30ms Here are the settings for the 1772 controller (up to DFS v2.29) SW3 SW4 Step rate Settle time Head load 1 1 6ms 1 0 12ms 0 1 2ms 0 0 3ms Setting link 3 and not link 4 will give you the slowest step time possible with the 1772. You should avoid setting the step time of a standard 5.25 inch disc drive to 2 or 3ms with the 1772 chip, as most drives will not work at these speeds.