Suppose you have two early eighties computers, a Commodore PET with 8050 disk drive and an IBM PC with its 5.25" disk drive. Is there a way to transfer files between them? Not machine code programs, those wouldn't be compatible anyway, but Basic source code and CSV data files. Buying third-party hardware or software is acceptable as part of the solution if necessary, but only such as is available in that timeframe, 1981-82.
3first that comes to my mind is a serial cable + terminal software. the easiest one would be one with 2 cables, simply crossing RxD und TxD. wont run 115200 baud, but 4800 or 9600 for sure– Tommylee2kJun 26, 2017 at 13:25
1Didn't the later PETs have a serial port? (I know the early ones didn't) Connect them together. That's what they're for after all.– Chenmunka ♦Jun 26, 2017 at 13:25
1I believe the PET's have a 6522 that is brought out to a DB9 or DB25 jack which could be used for serial with the right software. My 8032 PET has a serial card in it which I bet was a common addition. However, I think the VIA (6522) was available in all PET's. Custom drivers would have to be written, of course but should be possible.– cbmeeksJun 26, 2017 at 17:02
1@cbmeeks All Commodore PETS had a VIA and two PIAs. You could probably have programmed them to do serial communications - the VIA had a shift register connected to one of the pins on the user port. However, back in the day, the best solution would probably be to buy an IEEE488 to RS232 converter which were pretty common as they were frequently used to connect serial printers to PETs.– JeremyPJun 28, 2017 at 8:40
1One point on BASIC source code: the CBM did not store programs in source code format. When you wrote a program to disk it effectively took a memory dump and stored the tokenised version of the code.– JeremyPJun 28, 2017 at 8:43
It seems that the key piece of contemporary technology would be the Commodore VIC-20, released in 1981. Through the use of IEEE-488 adapters, such as the VIC-1112 the VIC-20 was compatible with the Commodore floppy drives. Also, RS-232 adapters, such as the VIC-1011, were common for the VIC-20.
Using a contemporary VIC-20 with these adapters, one could create a bridge to the IBM PC. You would require terminal software and a null modem connection from the PC to the VIC-1011 interface. Then, files could be read from the CBM floppy by the VIC-20, and transferred over the terminal connection to the PC, where they are then written to PC floppy. Of course, files could also be transferred in the other direction. To get back to the PET, simply connect the CBM floppy drive to it instead of the VIC-20.
Of course, a similar setup using the Commodore 64 would also be possible some years after the release of the VIC-20.
1I used to do exactly this via RS232 25-pin D-Type connectors and a null-modem crossover cable. Jun 28, 2017 at 15:23
CBM disks used GCR drives, something beyond the capability of any PC disk drive that I would know of - They use MFM. Direct disk-to-disk transfer seems to be out of the question other than on a 1571 disk drive, which could do both, due to two separate disk controllers.
- There is cbmlink, a program to transfer files between various CBM and IBM computers over a parallel cable. Supports PETs. On Linux, you can also use a serial port (Linux doesn't hit the "contemporary" mark, though).
- Very contemporary programs would be kermit as a serial file transfer program which should be available on both platforms, provided your PET has an RS-232 port, which was available as an aftermarket thing, if I remember right.
- You can possibly take a detour over the C64 (which should be able to read 4040-format PET disks and whatever you have there (like serial port or SD-IEC, although the latter wouldn't be contemporary)
- Transfer the file to a C-128, then to a 1571 drive (which is both GCR and MFM-capable), then use BigBlueReader - That would be slightly non-contemporary, as the 1571 only hit the market 1985
- The most contemporary solution would probably be a IEE-488 card for the IBM PC which should have been available, or a Computhink disk system (refer to page 13 in linked document for an advert) that allowed connecting Shugart-standard MFM drives to the PET. Both would, I guess however, be practically impossible to obtain today.
- Another contemporary option was "Z-RAM for PET" by Madison Computer. Factually a RAM expansion and Z-80 processor board, it also offered a standard RS-232 port (apparently a software implementation using the user port) and made the PET capable of running CP/M. You could use standard CP/M programs for file transfer to anywhere.
Thanks! It looks like cbmlink was developed in the 90s, and the PET didn't have an RS-232 port prior to the 9000, so there seems to be a surprising absence of contemporary solutions.– rwallaceJun 26, 2017 at 14:06
1@rwallace added another, more contemporary option.– tofroJun 26, 2017 at 14:16
The flexible FD controller in the Amiga chipset was also capable of both GCR and MFM floppy encoding. Amiga software handlers for both Commodore 8-bit and PC floppy formats are common.– Brian HJun 26, 2017 at 15:52
2Tiny nitpick - when you say reading GCR is "beyond the capability of any PC disk drive" it was the PC floppy controller that enforced MFM and couldn't handle GCR rather than the drive itself. Connected to a different controller (like the modern KryoFlux), a PC floppy drive can absolutely read and write GCR disks. But I'm sure your point was that at the time this wasn't an option, which is certainly true. Jul 15, 2017 at 10:54
1@Malvineous Agreed, both correct. The drive itself (if you're not referring to an "intelligent" drive like the 1541) does not specify the encoding, it's the controller. I should write what I mean...– tofroJul 15, 2017 at 10:57
Do it parallel
Change a jumper on an IBM PC Parallel Card so it can do bidirectional parallel. Then use the PET User Port for 8-bit parallel communication, with handshake.
I did exactly so we could use an Atari 8-bit system as a cross-development station for C64 and VIC. It was simplicity itself: connect the eight 6522 data lines and 2 handshake lines from the User Port to three of the Atari's game controller ports (also reversible).
Here, you would just do the same thing to the jumpered IBM PC Parallel Interface Adapter.