• Please review our updated Terms and Rules here

Why did the 5150 come with a tape connector?

There is also some thought that IBM included the cassette port so they could officially sell a "base" unit with no floppy drives as a complete "functional" computer.

Yeah, I figured that'd be the main reason. As from this discussion, it seems that was just the cheapest solution (existing ROM BASIC code to interface with it, there was enough space to route the necessary wires on the motherboard, ready supply of existing cable interface, and it was a fashion of prior "personal computers" {i.e. PET user-port}). So a prudent application of K.I.S.S.


I was just initially thinking they could have achieved that cassette support, and offered it either by a serial adapter or an expansion bus card. But as others have pointed out, eithers of those solutions would be some $100+ device (a box or a card), which they'd have to stock and anticipate need/inventory, and not just a $5 adapter cable. Maybe aftermarket would fill the gap and provide such a thing - but then that does relate to marketing: schools and government might prefer "turn key" devices, with no hassle (across international markets) to also source aftermarket parts. (which has also been mentioned: it so happened disks became fairly readily available in the US market, but not so much in Russia)


Which then kind of leads to the question: what if IBM hadn't offered that cassette port? Was it critical enough in that initial 2-3 years to have this available (81-83), or would not having it change the market landscape relative to Commodore or Apple? Hmm..
 
Dropping the cassette port might save one dollar. Not sure why it causes such angst.

It was possible to place the cassette port on a expansion card. That would necessitate duplicating some components on the motherboard on the expansion card since signals from some devices won't be passed along the bus. I don't see any way to keep the card under $50 in 1981 counting the base costs of any expansion card.

Another cassette solution in the late 80s and early 90s was an adapter that plugged into the parallel port. The adapter cost about $20 and the code is about 27K for a DOS implementation with few comments. I think it would require a very large ROM should something like that be used for a boot device for a system without disks.
 
The real question about the cassette port on the 5150 is how many units without disk controllers were ever actually sold to regular humans. IBM clamped down on the sale of bare 5150s pretty early on; it was a matter of nearly no time before people started churning out clones of the various expansion cards, and the day after that "gray market" resellers started making suspiciously large orders of 16k cassette 5150s. Take the bare machine, chuck in some generic RAM, disk drives, and some knockoff adapters and suddenly IBM is losing $500 worth of in-house markup. Given the almost total lack of cassette based software for the platform I seriously doubt many people at all actually used it that way.

The cassette port, as noted, basically cost nothing. There were some early "standards" for cassette interfaces for S-100 computers that relied on serial UARTs and modem-like audio processing tech, but by the late 70's it was clear you could get by with just a tiny handful of components and some clever software. Basically all previous home computers had used cassettes in their debut models by this point so IBM was just throwing the same stuff at the wall as everyone else.
 
Yeah, the display adapters were a user-selectable option. My recollection is that the base "naked" 16K 5150 cost about $1000; a diskette controller could be had for about $300 (memory fuzzy) and then you added a display adapter. Toss in your own memory for the rest of the 64KB and you were in business. Mind you, in 1982 $1000 was the equivalent of about $2800 today.

PeeSees were an expensive proposition by the time you got a functional system together. Even the macro assembler was about $99. I think PC-DOS 1.x was about $40.

At least in the small business world, this kept the 8 bit folks like Bill Morrow in business, offering a complete system complete with software bundle for a fixed price that was a fraction of a comparable system on the PC. Reference

The PC didn't really take off until the Taiwanese started churning out 5160 clones.
 
The 1982 IBM employee price was $1485 for a 64K unit with a 160K drive. Bulk purchases could get the same discount. IBM was selling as many machines as they could make so there wasn't any reason to cut prices.
 
The 1982 IBM employee price was $1485 for a 64K unit with a 160K drive. Bulk purchases could get the same discount. IBM was selling as many machines as they could make so there wasn't any reason to cut prices.

Here's a 1983 article about the gray market for IBM PCs. The long and short of it was basically while you *could* get PCs in bulk at prices that make you wonder why cloning ever became a thing IBM had very strict policies you had to meet if you were going to resell them to the unwashed masses, which included adhering to their list prices. (It's pretty similar to how Apple rolls today, actually.) So what would happen was essentially someone would basically pose as a corporate buyer, or find authorized resellers that were willing to do deals under the table, and buy as many stripped machines as they could until IBM got suspicious. There was never anything "illegal" about it obviously (beyond violations of contracts), but IBM was understandably unenthusiastic about both supporting machines with third-party components and the financial ding this entailed for authorized dealers that followed the rules.

I vaguely recall reading once that shipments of the cassette-only 5150 were an early victim to IBM's attempts to crackdown on this because it had a ludicrously low bulk price that made it particularly attractive for this business model, but, yeah, no luck finding the citation. ;)
 
So.... Could a mouse be connected to the cassette port? Sure, it'd need its own special CMOUSE.SYS driver - but, could it have worked? (or, would it have needed its own power source and just not been very practical)
 
So.... Could a mouse be connected to the cassette port? Sure, it'd need its own special CMOUSE.SYS driver - but, could it have worked? (or, would it have needed its own power source and just not been very practical)

Not having power isn't that significant a problem. The original Mouse Systems serial mouse had an external power brick. https://www.oldmouse.com/mouse/mousesystems/m1.shtml The cassette port does provide a substantial jolt of power every time the relay is tripped but I don't see an easy way to turn that into the continuous power a mouse would need.

The cassette port seems capable of managing the speed and the relay pins could be repurposed to reset the mouse. So not completely impossible but the mouse would need to be redesigned. Creating a new set of firmware and modifying the signal levels on the mouse could be a good amount of work.

Take a look at the Technical Reference pages 1-27 to 1-30 for the details on the cassette port. Note that the cassette port has no buffering. The CPU must check the status of the port every time a bit might be sent or received. That can be a major drag on performance. Even the worst 8250 can handle a complete byte on its own which means the CPU has a lot more leeway on when to look at the serial port.

I suspect that any software designed to use a hypothetical cassette port mouse would need two operating modes: one for normal work and a second to move the mouse. Otherwise, it would be too slow to useful with almost all the CPU time being spent on checking if the mouse moved. But I have not built one and you might well have better success than I predict.
 
So.... Could a mouse be connected to the cassette port? Sure, it'd need its own special CMOUSE.SYS driver - but, could it have worked? (or, would it have needed its own power source and just not been very practical)

Of all the alternate uses of the cassette port, I think interfacing it to a telephone line and using it as a software modem would make the most sense... perhaps you could even re-use some of the BIOS routines to send/receive files by telephone?
 
They didn't leave much spare tape did they? Seems a little narrow on the reel. Any mystery content on Side B ? :)
 
They didn't leave much spare tape did they? Seems a little narrow on the reel. Any mystery content on Side B ? :)

It was pretty common for commercial cassette software to cut the tape to exactly the length of the program. (Quicker to rewind... although if you were particularly lucky they might record the program on the B side too so you never needed to rewind, just flip the tape over.)
 
What were common tape lengths back in the early 1980s?

I'm getting ~160 bytes per second when storing stuff to tape on my 5150. So if there were 30/60/90/120 minute tapes, shouldn't that work out too.....
minsecbytes80%KB
C12072001,152,000921,600900
C905400864,000691,200675
C603600576,000460,800450
C301800288,000230,400225
I did 80% just to substract out an overhead (space between "files" or data, not using the very beginning or very end of the tape, etc.). Plus also being a little conservative using 160 BPS instead of 170.

Considering the first (single-sided) drives and disk were 160KB/180KB (for the PC), this is quite a bit of extra storage.

I seemed to recall "tape backups" were quite popular, maybe even up to the 1990s. Then I came across this funny article:
Tape Backup vs Hard Disk Backup: What Does the Future Hold? (storagecraft.com) [2011]
and
Longest. Cassette. Ever. (And It's Not What You Think.) | Alan Cross (ajournalofmusicalthings.com) [2015]



I'm not sure what individual disks costs were in the early 1980s (or how quickly those costs came down) vs cassettes. But didn't a typical "box of disk" hold about 10 disks? And that'd take a lot less physical space than 10 cassette tapes.


Is the "170 bytes per second" just what the built in cassette ROM routines would do? More modern custom routines likely do better? (but the "play" speed of the cassette is fixed right? to be compatible with audio tapes? or is that more aggressive compression could be done "on the fly" while writing data to tape?)
 
Last edited:
Shorter tapes are more reliable. The C60 (30 minutes a side) is the longest of the thicker tape media. C90 and C120 didn't stand up to the strain of frequent stopping and fast forwarding that a computer tape would face. The C180 (90 minutes a side) had a very short existence because it often broke even under normal playback.

Prices: Bulk tape purchases would be $1 per tape for C60. The cheapest tape I could find was about $0.50 for C10 (5 minutes a side). Floppy disks were about $5 each in 1980 but dropped to about a dollar each by 1984.

170 bytes per second is what the BIOS routines do. The CPU bit banging routines could be a bit faster but I doubt one could get more than triple the speed with a cassette deck at the other end. There isn't much time to do compression while writing to the cassette. Every half millisecond, the CPU has to be ready to start the next bit. It would be possible to do compression by reading a file and then compressing it into an extra memory area which is then written to cassette. Some Spectrum games did the inverse reading compressed blocks which were decompressed while the tape wasn't reading.

Note that the Tarbell Cassette Interface did the much the same 170 bytes per second and was used to backup CP/M disks but that was in early development when a bug was likely to erase the contents of the disk.

The data storage tapes used faster techniques. Streaming tape which used cassette mechanisms with different read/write heads were about 60 times as fast. Floppy connector QIC tapes were roughly 200 times as fast. SCSI tape was over a thousand times as fast as the BIOS cassette routines.

The IBM PC was near the end of introducing new designs with cassette ports. The Spectrum was introduced in 1982, the Tandy 100 in 1983, and the Amstrad CPC in 1984, systems either too cheap or small to be viable with a disk controller. The Jr and JX and four strange PC compatibles had cassette ports but in some respects seem to be more a misguided compatibility than an expected use, even in the case of the Soviet ones where it would tide the user over until the waiting list finally permitted the purchase of disks.
 
Thanks krebizfan for those insights. I started on a TRS-80 CoCo2 with tape - but I used all hand-me-down tapes, never had to actually buy any. I heard stories of tapes breaking, but I never had one break on me personally.


So another question...


If the 5160 IBM PC XT didn't have a Cassette Port, but could still start up in ROM BASIC --- how did you save or load anything into that ROM BASIC, on an XT with no cassette port?



And it was mentioned earlier, the cassette-mechanism essentially "cost nothing" per unit (say under 5 bucks, maybe even under 2). I agree that may be true - they didn't R&D anything (on the tape related stuff), it was all already-invented interfaces and ROM code to use it. BUT.....

Upon removing the cassette interface, now the XT gains 3 expansion slots (beyond the 5). Did removing the tape cassette port wiring on the motherboard (partially) make room for those additional slots? (i.e. was it a necessary step, to get 3 instead of just 1 or 2 additional slots?)




I realize it's moot anyway - they (IBM) had limited time, and they engineered together what they felt was best in the time they had. Disk drives were mega expensive, and just to develop some initial capability, internally maybe IBM used that cassette port more than we realize (to test aspects of the evolving system, before any kind of DOS was available). But after their launch (or at least within a year after that), that port became like an appendix - a useless thing that just lingers there.
 
Nothing gets saved on a 5160 without drives*. ROM BASIC stayed around because the IBM BASICA used the ROM to store 32K of the code. Good for cutting down the memory consumption but rather pointless once the standard motherboard got 256K since DOS plus GW-BASIC and 64K of data for GW-BASIC leaves about 80K unused which means 112K unused with BASICA.

* Maybe bubble memory cards could have ROM extensions. Someone else might know; bubble memory cost more than I could afford.

The removal of the cassette port might have freed room for a single slot. The XT reduced the space between slots to fit extra slots. Some XT clone motherboards had room for two keyboard ports apparently to handle cases with different placements of the external hole so there was probably room to put in a cassette port had it been needed. The problem for the XT is that the pins on the PIC used for the cassette port were used for other purposes. Most notably, the motor control pin was switched to allow the XT to read 8 motherboard switches instead of 4. http://www.minuszerodegrees.net/5160/diff/5160_to_5150_8255.htm
 
Some information I stumbled upon that may be useful for anyone considering alternate histories involving the 5150 cassette port.

Campbell Scientific had an ISA board that provided serial port, clock, and audio jacks for cassette. Manual is at https://www.campbellsci.com/pc201 Note the 34 pin connector is the serial port just to provide some confusion.
They also had an interface that allowed cassettes to be read over the serial port. https://www.campbellsci.com/c20
The cassette formats used do not match the IBM PC cassette format but these might give an idea as to how complex or expensive other methods of accessing a cassette might prove.

The Multitech MPF-I/88 trainer could import files from cassette in the IBM PC format in addition to handling the MPF cassette format. Add-on allowed the MPF-I/88 to have CGA video and an a BASIC compatible with IBM PC BASIC so an IBM PC could output cassettes destined for the I/88. This makes me wonder if there was any industrial programming software for the 5150 that used the cassette port as an intermediary development step before burning a finalized ROM.
 
Oi, what's this!?

What's this little MIC (0.75 mv) vs AUX (0.68V) jumper? I assume MIC is the Default (what all 5150 would be set to, delivered from the factory)? How dangerous is it for the jumper to be on AUX and used in a MIC port? (is "AUX" intended for stuff that would be coming down longer wires, like from a room farther away?)

I like how in the manual, they label the left diagram on page 2-19 at "Mike" (and the word "mike" doesn't appear anywhere else in the entire manual)


deanimator

Reels and records are cool and all, but I'm waiting for you to demonstrate loading something from an 8-track tape ;) come on, I need to load programs in my van man :D





Click image for larger version  Name:	cass_aux.jpg Views:	0 Size:	152.7 KB ID:	1223561
 

Attachments

  • cass_aux.jpg
    cass_aux.jpg
    152.7 KB · Views: 1
Some tape recorders have an "aux" input instead of, or in addition to, a microphone input. "aux" would take input at about the level of a speaker or headphone output. Never seen any damage from plugging the wrong thing in to a mic port, but what the recorder records may be garbled from too much amplification.
 
Back
Top