VIC Disk Details
After reading through the VIC-1541 Disk Drive manual some questions arise:
- How can the 1541 be speed-changed for the VIC-20 through software if the 1541 is in the 64 mode to start with? Will it recognize such a software command if in the wrong speed mode?
- What are the considerations in using a second disk drive? The manual discusses changing the "8" drive number to another via software or hardware, but which is preferable? And would most programs one buys have to be modified if the drive address is changed? And when would one profitably use a second drive – main program of first drive and data files on another, or what?
- The manual briefly alludes to drive numbers but does not explain the connection between drive numbers and device numbers. Is there a connection, and how would a drive know its drive number (as opposed to its device number)?
- The 1541 manual says that you can't copy whole disks from one 1541 to another 1541. Is this really true? Is it immutaWe, or is there a way around this glitch?
The difference in data transfer speed between the VIC and 64 is not so great that the drive in its 64 mode is unable to understand commands sent to it by the VIC. In fact, the VIC can usually read programs from the disk without giving the "slow down" command. To write data reliably, however, you should always set the drive for the proper speed by typing:
OPEN 15,8,15, "UI-":CLOSE 15
When peripherals are connected to the serial bus, the computer must know what to call them before it can talk to them. If you attach two disk drives without changing the device number of one of them, they will lock up the bus in an electronic argument over which one has the right to call itself device 8. The simplest solution is to perform the hardware modification described in the manual, which changes the device number once and for all. The problem with this is that it's a little drastic for most people. The procedure for changing the device number via software is to turn on one of the drives and the computer, load and run the "DISK ADDR CHANGE" program on the demonstration diskette supplied with the drive, then turn on the other drive (which will then be device 8).
Since Commodore's standard device number for disk drives is 8, software that reads or writes to disk will probably make this assumption, which means that to use those programs without modification you'll have to use only the first drive. Having multiple drives becomes profitable at the point where the convenience of not having to constantly switch disks becomes worth the cost of a second drive. The example you cited, using one drive for programs and the second for data files, is a very common one. Also, some tasks, such as duplicating disks, are inherently less complicated when you have more than one drive.
For dual drive units such as Commodore's 4040 and 8050, both drives have the device number 8. To distinguish between them, one is designated as drive 0 and the other as drive 1. Drive numbers are not truly relevant to single drives (where the unit is always drive 0); however, this feature was retained in the DOS (disk operating system) for the 1541 to maintain compatibility with the Commodore dual drives, and to leave open the possibility of dual drive units for the VIC and 64.
It is possible to copy whole disks from one 1541 to another as long as the device number of one of them has been changed. A program called "COPY/ALL" by COMPUTE! Associate Editor Jim Butterfield, which copies the contents of a disk in device 8 to a disk in device 9, is provided on the demonstration disk which comes with the 1541 drive.