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.
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.
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.
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.