• Please review our updated Terms and Rules here

IBM 5150 PC Network access

(I don't think Cassette BASIC is sufficient, because I don't think booted ROM-BASIC can access floppy drives. Correct me if I'm wrong. I might be, seeing that you can probably embed some assembly in BASIC and take things from there, but I think that way would be very tedious, if heroic.)

You know, this all makes me wonder if an ADTPro-like program would be feasible for Cassette BASIC, on the 5150 or PCjr. Looking over the BASIC manual, it's not feasible for any other system (because OPEN "COM isn't available from Cassette BASIC per page 4-194 of the Second Edition of the BASIC reference), but with those two machines, one could load a DOS over "cassette" (actually a generated audio file), get a disk imager and transfer program into RAM, and then transfer a disk image over the "cassette" interface to a disk.
 
You know, this all makes me wonder if an ADTPro-like program would be feasible for Cassette BASIC, on the 5150 or PCjr. Looking over the BASIC manual, it's not feasible for any other system (because OPEN "COM isn't available from Cassette BASIC per page 4-194 of the Second Edition of the BASIC reference),

Does the availability/unavailability of OPEN "COM... purely depend on the ROM BASIC version? Is it available on all 5150s, 64K and 256K boards? My understanding was that 5150s and 5160s were fundamentally largely similar, so why the difference in ROM BASIC COM support? What exactly is different there?
Even on machines that maybe don't offer OPEN "COM... in their bootable ROM BASIC, would it be theoretically conceivable to embed assembly instructions in BASIC and get around that restrictions that way?

Seems that bootstrapping ADTPro on an Apple II is fundamentally similar to bootstrapping FastLynx on an IBM PC: Trigger/run a basic inbuilt program/function that can receive code as data on serial and execute it, allowing a transmitted program to take things from there.

but with those two machines, one could load a DOS over "cassette" (actually a generated audio file), get a disk imager and transfer program into RAM, and then transfer a disk image over the "cassette" interface to a disk.

That's fascinating; I didn't know that before. Do you have any more details? I knew the cassette data is audio part (and you absolutely can use an actual cassette recorder or an audio file, either/or), but I had never heard of successful data transfers from cassette to floppy. Were there even any disk images that actually shipped on cassette? I take it the reverse is also possible, right? (I.e. transferring data from floppy to cassette.)
I'd been under the impression that cassette-land and DOS/floppy-land had been pretty separate on the PC ("and never the twain would meet"). Also, the PC cassette realm remained a wasteland, possibly in part because the two were so separate. If it turns out that their differences are not in fact insurmountable, that's interesting.
Are there any DOS programs that might allow the use of actual cassettes as little backup tapes? How terrible an idea is this? Wikipedia speaks of 660KB per side for a 90min cassette, meaning 30mins = 440KB, putting the total capacity of a 60min cassette at 880KB, that of a 90min cassette at 1,320KB and that of the still-common longer 120min tapes at 1,760KB. Cassettes are also resilient in shipping. But I seem to recall someone denouncing their data integrity – though I wonder if that might not in part be a function of the fact that there weren't tested, standardised IBM-approved cassette recorders; it was "bring your own".

It occurs to me that if what you said about using the cassette port is so, then it should even be theoretically conceivable to use the cassette port as a network port, by using a little adapter that connects the cassette port to another computer's sound card and by running custom software on both machines (a DOS driver/TSR on the 5150 and some network driver for an additional sound card in, or USB-attached to, the newer computer). I wonder what the cassette port's bandwidth would be? One would probably want to also connect/convert the motor control pins to something useful to the more modern machine, but even if only just audio in and out were available, custom software could still make it work, at a bandwidth cost, by intermittently switching between reading and writing and thus checking "are you finished" and "is it my turn to speak?" Presumably the cassette port wouldn't allow full-duplex, even with custom drivers? Or would it?

PS: Hm, since regular cassette recorders take one minute to play back and record one minute's worth of data (440KB/30min=~14.667KB), the bandwidth might be something close to 2,000 bits per second? Much slower than 9600 bps serial, so the networking idea is probably bunk. But the tape backup idea maybe isn't.

PPS: Hm, some simple networked games wouldn't need high bandwidth; they'd just exchange state. I wonder is it might be possible to connect two 5150s via their cassette ports and custom software (would the motor control pins be a problem?). I mean, you should be able to play battleship that way.
 
Last edited:
You know, this all makes me wonder if an ADTPro-like program would be feasible for Cassette BASIC, on the 5150 or PCjr.

It absolutely would and is the closest analogy to ADTPro (it would be a single LOAD "CAS command, then RUN). But, the audience for such a thing is very small: Not only is it limited to the 5150 and PCjr, but finding those cables is difficult and you almost always have to make your own. If you're going to make your own cables, you are likely savvy enough to cobble something else together (tweener system, XT-IDE with Serial, etc.) that would be more versatile anyway.

All other methods that would use period hardware, such as using serial, parallel, even a sound card, etc. to transfer information, require substantially more setup (typing). ADTPro is appealing because the end-user setup is quite minimal.
 
Back
Top