• Please review our updated Terms and Rules here

3.5" floppies won't exchange between PUTR and PDP-11 - except one...

sure... http://www.dbit.com/putr/

It's even weirder than I thought. First thing I did was make a backup copy of my MS-DOS disk (with PUTR.COM on it) by copying A: to B:. Then I set the write-protect tab on my working copy!

Both WinXP and MS-DOS know that A: and B: are two separate drives.
And I can MOUNT B: as a logical device DU0: (or without a logical device name, as B:) /RX33 /RT11, and read its directory.
But when I try to copy a file from A: to DU0:, the B: drive light flashes briefly, and then PUTR tries to write over the A: drive (blocked by the write- protect tab now).

So how on earth can the BIOS, MS-DOS and WinXP all know that A: and B: are two separate drives, but PUTR tries to write to A: even though the command is to B:???
 
I also tried switching the PUTR disk into B: and the RT-11 formatted disk to drive A: (remounted). Same problem (tries to write over the source disk which is now B: even though the output filespec is clearly A: ). I had a look at the code but nothing's leaping out at me. Although it's been many years since I wrote any 8086 code...
 
Last edited:
Ick(!) Uses an unknown assembler and has his own private macro set.

"cwsel" is where the drive select happens; maybe you want to see where that's called.
 
I'll check it out.

I can't complain too loudly, given that this (free) program has been through many updates between '95 and '01 and hasn't been supported in nearly 20 years. But I am surprised that no one seems to have encountered this particular problem. Most users probably had a single floppy drive and move data on and off their hard drive...I'm guessing ;)
 
Dunno, but I think John still hangs around the cctalk mailing list, if he doesn't respond to his "info at dbit dot com" email address, you can post a query there.
 
Already did post on cctalk :) Seems like not all the same DECites hang out on both boards...

This section of code looks a bit odd:
...
mov ax,2523h ;func=set INT 23h vector
int 21h
; get # of floppy drives
int 11h ;among other things
xor bl,bl ;assume none
test al,1 ;are there any?
jz numfd1 ;no
rol al,1 ;left 2
rol al,1
and al,3 ;isolate
inc ax ;get actual #
mov bl,al ;copy
numfd1: mov al,bl ;copy
mov ds:numfd,al ;save
add al,'A'-1 ;get max valid floppy drive letter
mov ds:maxfd,al ;save
cmp bl,1 ;exactly one floppy?
jne numfd2
inc bx ;yes, pretend there are two
numfd2: mov ds:firhd,bl ;unit # of first HD
add bl,'A' ;physical drive letter of first HD
mov ds:lethd,bl ;save
...

But PUTR does seem to know that there are two floppy drives, at least when mounting and reading directories!
Hopefully he'll see this and cctalk posts, (and be interested in helping after nearly 20 years)...
 
John Wilson actually replied in depth to my post on cctalk! :)
Bottom line is, my guess is correct that the program assumed only one floppy to transfer to/from a hard drive, and can't be easily fixed.

Time to look for a solution at the PC hardware level (easiest is probably to hook up one of my old HDD as a secondary, and use that to transfer data). Or create a partition on the existing disk for DOS.
 
I removed the second floppy drive, dug out an old 540 MB hard drive (with Win 95 on it) and hooked it up to the PC. Started Win95, then "Restart the computer in MS-DOS mode", copied PUTR to the C: drive and started it.

PUTR now works perfectly, transferring files in both directions to an emulated RX33. The PDP-11 can read and write those disks, too :)
 
Yeah, I've done software for transferring data from RT-11 RX01 floppies (my oldest version is written in PL/M for the Intel MDS), but I've never written anything going the other way--never had to.
 
There have been several FILES-11 reading packages for the PC (the oldest I can find is from 1984), but apparently there's been little need to write FILES-11 volumes.
 
People have been nagging Jon for years to upgrade PUTR to something a little more portable but it ain't gonna happen. :cool:

Well, anybody who needs it is free to implement their own version in, say, Python (because it seems popular now) and make it available on the public source hosting site of their choice. Right?
 
I ended up using Win98SE and running PUTR without all the contortions to start DOS separately. Also I can run TeraTerm for file transfers to my PDP-8/A, and Kermit.
Also working great.

An RL02 pack takes a handful of floppies to back up the files, but it's still a lot quicker than using Kermit ;)
 
SFD-321B OEM manual

It's a very flexible drive--one word of caution, however: the units with the "naked" connector don't seem to have the same options as the more common ones with the shrouded connector.

The drives themselves should still be quite plentiful--Samsung OEMed a ton of them.

Bought one of those with shrouded connector and indeed it changes from 300RPM to 360RPM. I tested all the 3 1/2" drives I had and three of the five drives can be switched using Pin 2. Thanks again for mentioning I was not even aware of
this. A 3 1/2" RX33 is very cool. I need to fire up my RQDX3 especially now as I also found a ST-251-1.
 
Back
Top