• Please review our updated Terms and Rules here

Can't DUPLICATE Floppies on 8050

TomL_12953

Experienced Member
Joined
Jul 30, 2003
Messages
64
Location
Malone, NY
I have a PET 2001-32 with a chicklet keyboard and built-in cassette recorder. It uses the upgrade BASIC ROMs (### COMMODORE BASIC ###) so I know the IEEE routines have been debugged.
I also have an 8050 dual drive attached and can load directories, format disks, copy individual files, load, save and verify programs with it. When I try to DUPLICATE a disk (0 to 1 or 1 to 0) however, it goes through all the motions, steps the heads, etc.
but right before the end, the LED alternates between red and green. Once the process is done, the LED stays green and the status shows OK. When I look at the target disk's directory, though, all I see is a disk number and a reverse video quotation mark. No filename or any other info. I'm using 97 TPI disks with a hub rung (not HD disks). Does anyone know why this might be happening? Thanks for any info you might be able to give.

Tom Lake
 
what commands are you using ? what dos version? have you tried the COPY command instead? what happens when you run the command: ?ds$ [return]

ddds disks will work fine. it"s prob not the disks.
bill
 
what commands are you using ? what dos version? have you tried the COPY command instead? what happens when you run the command: ?ds$ [return]

ddds disks will work fine. it"s prob not the disks.
bill

I'm using

OPEN15,8,15,"D0=1":CLOSE15 or
OPEN15,8,15,"D1=0":CLOSE15

The same thing happens in either direction.
The COPY command "C0:filename=1:filename" does copy single files OK. I don't know the DOS version yet but since it's an 8050 it could only be 2.5 or 2.7 since that drive only shipped with those versions.
I have an original PET with BASIC 2.0 upgrade ROMs so I can't run the ?ds$ command.
Thanks for the reply!

Tom L
 
You can read the status from a short Basic program:

10 OPEN1,8,15
15 INPUT#1,E,E$,T,S
20 PRINTE;E$;T;S
25 CLOSE1

You can add the argument "UJ" to the OPEN statement to reset the drive and thus get the DOS version. I believe there is a DOS wedge somewhere you could load and keep resident in memory to give you an easier way to access the status and issue disk commands.
 
You can use the COPY command.

COPY D0 TO D1

Also...are you header-ing the the disks first? ?ds$ should work on the 2001 but if you say nothing happens then nothing happens....
 
Last edited:
You can use the COPY command.

COPY D0 TO D1

Also...are you header-ing the the disks first? ?ds$ should work on the 2001 but if you say nothing happens then nothing happens....

DS$ is only a command in BASIC 4.0 and above. It doesn't work in BASIC 2.0. DS$ is treated like any other string variable. COPY is also only in BASIC 4.0 and above.
BASIC 2.0 has NO disk commands built in. Every command to the disk drive must be sent through the command channel (15).

Tom L
 
To tell you the truth, I don't recall ever using a later 2001 for disk copies, so I guess it's not as easy as I thought. I mostly use the B series or 8032 when doing disk copies.

I wonder if one could then envoke BASIC 4 commands stored on the disk drive ROM? I could be mistaken, but wouldn't there be a way (even if not an easy way) to run off the drive's more advanced command set instead? a sys command or something? Maybe there is a wedge of some sort for this, as this issue must have come up back then.

Bill
 
Last edited:
To tell you the truth, I don't recall ever using a later 2001 for disk copies, so I guess it's not as easy as I thought. I mostly use the B series or 8032 when doing disk copies.

I wonder if one could then envoke BASIC 4 commands stored on the disk drive ROM? I could be mistaken, but wouldn't there be a way (even if not an easy way) to run off the drive's more advanced command set instead? a sys command or something? Maybe there is a wedge of some sort for this, as this issue must have come up back then.

Bill

No, the disk commands, if available, are in a PET's BASIC ROM, not the disk drive ROM.

Tom L
 
No, the disk commands, if available, are in a PET's BASIC ROM, not the disk drive ROM.

Tom L
LOL! You come here looking for advice and wind up giving a PET DOS tutorial instead ;-).

Have you tried starting with a freshly formatted DSDD source disk, adding some files to it and duplicating that? It's quite possible for a disk to read files and the directory perfectly well and yet have errors when you duplicate it if the errors are in unused areas.

Then again, maybe it's that extra track per inch that's causing the trouble ;-)
 
Have you tried starting with a freshly formatted DSDD source disk, adding some files to it and duplicating that? It's quite possible for a disk to read files and the directory perfectly well and yet have errors when you duplicate it if the errors are in unused areas.

Mike,
Would you also recomend that he start with a freshly formatted target disk or does the Duplicate Command 'NEW' the target disk automatically?
-Dave
 
Mike,
Would you also recomend that he start with a freshly formatted target disk or does the Duplicate Command 'NEW' the target disk automatically?
-Dave
Couldn't hurt I suppose, but not necessary AFAIK; I personally like to bulk-erase diskettes first though, especially if they've been used in another system.

AFAIK Duplicate and the equivalent BASIC4 BACKUP format the destination diskette first, whereas BASIC 4's COPY command and all other commands assume a formatted (HEADER'ed in commie-speak) diskette.

As Tom points out, pre-version 4 BASIC knows nothing specifically about disk drives and you talk to them like any other peripheral, i.e. open the channel and then separately send the appropriate command or data. The Duplicate 'command' is part of the drive's DOS, so I think the correct command format should be:

Open 1,8,15
Print#1,"D0=1"

Or, of course: Open 1,8,15:print#1,"D0=1"; don't forget to close the channel when finished.

AFAIK Print#1,"DUPLICATE0=1" also works; I've never tried it but I think the drive's command channel 15 only looks at the first letter.

But maybe Open 1,8,15,"D0=D1" (without the Print) also works; I'll have to try some day.

And of course there's also the Wedge program's >D0=1, Copy-All, etc.
 
Last edited:
Back
Top