Amstrad PC - Upgrading the Floppy Drive on a PC1512, PC1640 or PC2086

A lot of people ask if they can replace drive A: in a 1512/1640/2086 with a 3.5" 1.44 MB drive (or 1.2MB 5.25"). There are a couple of reasons why you can't..

1) The 1512 is an XT, not an AT, so it's CMOS does not hold the drive A: and B: types. Instead they are "burnt into" the BIOS. As such the BIOS will always remain convinced that A: is a 360K though you can use the DRIVPARM and DRIVER.SYS commands in Config.Sys to over-ride this which is fine if you boot from a hard disk but if the HD ever fails then the machine would need a 360K mechanism put back in the A: position before it could be rebooted. Therefore it's not really practical to change it. However B: can be changed as explained in point 3) below.

2) All this is academic because the disk data separator in the floppy disk interface of the 1512 cannot cope with the higher data rate from 1.2MB or 1.44MB disks. It can only have 360K or 720K disks attached. This is equally true for 1640/2086

3) Obviously you've got a little bit more latitude with B: because the config.sys can always over-ride it's settings whether you boot from A: or C: - so it can be either 360K 5.25" or 720K 3.5" but nothing else because of 2) above. The way to use a 720K drive B: on a 1512/1640 is as follows:

In the case of the 1512 and 1640 the BIOS is totally convinced that A: is a 360K 5.25" drive so, as long as you want to be able to boot from A: in case the hard drive stops working, the A: drive MUST remain a 360K 5.25" drive.

However drive B: can be changed because whether you are booting MS-DOS from either A: or C: you can include a command in the Config.Sys file that over-rides the BIOS' default assumption that B: is also a 360K 5.25 and this will come into effect before any access is made to B: - the same is not true for A:, as it may be the drive that is used to boot (and hence the drive from which Config.Sys is read) it isn't possible to over-ride the BIOS's idea that it is 360K before it tries to read Config.Sys because, before that, it will already have tried to read IO.SYS and MSDOS.SYS.

For drive B: there actually two different commands one can use in Config and it seems that either will work. The first command is DRIVPARM and then other is DEVICE=DRIVER.SYS. The parameters used on both are almost totally identical so it is /D:1 /F:7 where D:1 says you want to change the BIOS support for drive 1 (A=0, B=1, etc) and F:7 sys that it is a 720K 3.5" so the command line to use is one of:

DRIVPARM /D:1 /F:7
DEVICE=\DOS\DRIVER.SYS /D:1 /F:7

Note once again, that the ONLY types of drive that can be attached to a 1512/1640 are either 360K 5.25" or 720K 3.5 - you CANNOT use either 1.2M 5.25" or 1.44M 3.5" because those drives produce data at a rate faster than the disc data separator chip can cope with - the only way round that would be to replace the FDC circuit but the existing one cannot be disabled without breaking