Announcement

Collapse

Forum Rules and Etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Rule 1: Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Rule 2: Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Rule 3: Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


Rule 4: "PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Rule 5: Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

Why did the 5150 come with a tape connector?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Why did the 5150 come with a tape connector?

    I know the general answer to the question: IBM wasn't sure how quickly disk drives would become affordable, or if consumers would even adopt them at all (as standards and capability were evolving quickly - even the initial 160KB disk format was a little rough around the edges, though was quickly eclipsed by the 360KB standard). If production of floppy drives and or floppy disk media was somehow disrupted (and made too expensive too home/office users), then there would be a Plan B to load/store stuff from tape.


    My question is more this: why couldn't tape support have been provided through the serial port? Isn't a tape storage basically equivalent to about 300 to 2400 baud, which by 1981 could be matched by a serial port? Or maybe it could be done, but the R&D time to have Cassette BASIC support such a thing would have taken too long? (in terms of getting the 5150 on the market) Or maybe it was since cassette to 9-pin cables already existed in plenty, nobody wanted to try making new cassette to serial cables?

    Can the 9-pin cassette connector be thought of as a specialized serial connection? In that perspective, maybe it is cheaper/easier to have onboard support for the 9-pin connector, rather than trying to add a 2nd serial port.



    IBM 5110 ['78], PET 4016 ['80], C64 ['82], IBM PC 5150B ['84]. A retired SysOp, creator of destinyhunter.org, VUC, ANT

    #2
    Lots of reasons! The serial standards at the time generally used +/-12V signalling, so wouldn't have been electrically compatible with cassette ear/mic sockets - a powered adapter would be needed, not just a passive cable. Also the serial hardware was much more sophisticated than cassette hardware. Serial ports have hardware to convert a byte to a series of bits and back. With the cassette interface, this is done in software and the hardware is much simpler (especially given that almost all of it is shared with the speaker). So there was room to include the cassette interface on the motherboard, whereas a serial port was an additional (optional) add-in card. Putting the cassette interface on an add-in card as well as the disk interface would mean that the base configuration wouldn't have any storage I/O at all.

    Comment


      #3
      Ah, I didn't realize the serial port was an optional add-in.

      But instead of the keyboard + cassette 9-pin DIN, the onboard cassette port could have been a serial port instead (right on the mainboard). Just I'm not sure how doing so would impact the size (of the mainboard), cost (more lines to trace/run), and schedule (getting released within '81 - BASIC ROM code would have to be adapted to interact with a serial port, maybe no existing code for that).

      Some '79-'80 PETs/TRS-80s didn't come with any storage - just turn on, type some BASIC, turn off. But yeah, having to coordinate some "tape interface adapter" (sold separately) might not be practical, not as clean of an integrated solution.

      Still curious that no independent "serial port based storage device" was ever developed third-party. It'd be slow, but couldn't you run it like 100feet? (well I forget the line length limit on serial cables)

      IBM 5110 ['78], PET 4016 ['80], C64 ['82], IBM PC 5150B ['84]. A retired SysOp, creator of destinyhunter.org, VUC, ANT

      Comment


        #4
        What would you store the serial port data on? It would require a smart device at the other end to take the serial data and save it. The cassette port BIOS code sends sound (at 1000 Hz and 2000 Hz) which the standard audio cassette deck can handle.

        There were a lot of serial based storage devices available in 1980. Have you considered paper tape? Or Punch cards? Or the Exetron Stringy Floppy? There were others. A whole banquet of relatively high speed serial port storage devices were marketed for the Tandy Model 100.

        IBM didn't know how the PC would be used so included most of the features that the competition had. The cassette port was necessary for the initial prototypes of the 5150 since it took 6 months to get the disk controller and DOS working. BASIC, video card, and keyboard would have been thoroughly tested thanks to code saved on cassette. Anyone who worked on a microcomputer trainer would have had to develop a cassette interface and adapting the design to the 8088 isn't hard.

        IBM did figure out that the cassette port would be little used. IBM didn't order cables or cassette decks before release. Radio Shack could have met the needs for a few PCs but I doubt they had the 50,000 cables in stock to handle the planned first year of 5150 production. The big change was the drop in prices on floppy disks. When the cassette was less than $1 and the floppy disk was $5 each, there were software to back up to cassette and software that was shipped on cassette to be installed to the disk drive. But by 1982, the floppy disk was cheaper than the cassette.

        The 5150 was price competitive with the Apple II and TSR-80 in a loaded configuration with disk drives and lots of memory. The stripped down cassette only 5150 was a poor value since so much was charged for empty slots and drive bays.

        Comment


          #5
          Oh, gosh, serializing to an old paper tape reel would be wild just to watch - like creating an old player piano roll. But you're right, any (storage) device constructed would be like at least a shoebox size and expensive (and need its own power, as mentioned - yet another cable to run). [ but to me, it'd be fun to watch - a tiny parallel set of 8 hole punchers crunching away ]

          I don't think EEPROMs were quite ready in early 80s (at least not in any affordable/sizeable fashion) - I suppose I was thinking of whatever Nintendo used to saved games on their cartridges. Yes, that's later 80s, and would be moot anyway due to the drop in disk drive and floppy costs. (and again to your point, you'd need darn near a whole NES to operate the cartridge, not cheap/practical).


          I guess maybe it's unfortunate that it took until DOS 6.22 to realize an interlink cable, where you basically use an entire other IBM PC as the "serial based storage device". Was trying to think of ways someone could get new content onto disks if they had a model A 5150 -- but suppose they didn't want to even open the case (i.e. not install a NIC or XT-IDE), but suppose that they did have early DOS system disks available. They could use the serial port, but they'd need to somehow get access to running the interlnk.exe stuff (i.e. nothing on the old PC-DOS 1.X/2.X disks would help, and Cassette BASIC can't {easily} talk to disk drives). I guess maybe DEBUG.COM on those old DOS disks could construct a suitable program, but you'd have to hand type quite a few (thousands?) of instructions.


          And you made another good point about the need on the prototype 5150 since none of the disk hardware was yet available. (so instead of thinking of it as a cassette data port, think of it as like a diagnostic port)


          IBM 5110 ['78], PET 4016 ['80], C64 ['82], IBM PC 5150B ['84]. A retired SysOp, creator of destinyhunter.org, VUC, ANT

          Comment


            #6
            If you haven't already, check out these very early design documents of what would become the IBM PC, from circa August 1980:

            https://www.os2museum.com/files/docs...n_Drawings.pdf

            At this point the plan for the "personal configuration" was to have NO RAM on the planar and use the 16KB on the CGA card as combined video and system RAM! So the cassette port was intended as an ultra-cheap storage medium to use with this configuration.

            Because the design already included an 8255 PPI (for the keyboard) and an 8253 timer (for the DMA refresh and system timekeeping) the speaker and cassette ports didn't really add any extra cost -- they just used some spare I/O pins from the PPI and a spare channel in the timer. The only parts on the 5150 planar that are dedicated to the cassette interface are an op-amp/comparator, a relay, and a handful of passives. So it was essentially "free" to add it.

            Comment


              #7
              Wow thanks, wonder what the lines were drawn with - they had Sharpie's then? That's no sissy pencil (thick lines). [edit: Sharpie 1964, i never knew that ]

              And on the last page it mentions thinking of having the keyboard use the serial port (would doing that have the same problem of needing an extra power cable to your keyboard?).


              Wonder why they felt the 8087 support was so important. My impression is the 5100 was catered more for engineers, scientific computing (at least on intent, it may turned out to be more used for accountants or business?). That intent maybe carried over to the 5150 perhaps - but ended up being little utilized (or maybe more 8087s ended up being installed in the 5150s than I realize).
              Last edited by voidstar78; August 18, 2021, 03:55 PM.
              IBM 5110 ['78], PET 4016 ['80], C64 ['82], IBM PC 5150B ['84]. A retired SysOp, creator of destinyhunter.org, VUC, ANT

              Comment


                #8
                The IBM PC shipped with a serial keyboard that went to a dedicated port which I think is what was described. It should have been cheaper than the parallel port cable that the System/23 used with the floor model.

                IBM released APL in 1983 which required the 8087. I think it even shipped with the 8087 and a replacement 8088 since very early 8088 chips didn't work alongside with the 8087. Fitting that you mention the 5100. The 5100, 5110, and 5120 had the option of APL in ROM in addition to BASIC in ROM.

                Comment


                  #9
                  Originally posted by kdr View Post
                  At this point the plan for the "personal configuration" was to have NO RAM on the planar and use the 16KB on the CGA card as combined video and system RAM! So the cassette port was intended as an ultra-cheap storage medium to use with this configuration.
                  I rather badly would like to know if any examples the 40x16 alphanumeric / 280x192 graphics TV adapter card envisioned in this doc existed or if it just evolved straight into the CGA card as we know it. It reads like a bizarre combination of TRS-80 and Apple II video capabilities, which is of course awesome.
                  My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                  Comment


                    #10
                    Originally posted by krebizfan View Post
                    I think it even shipped with the 8087 and a replacement 8088 since very early 8088 chips didn't work alongside with the 8087.
                    8087 and 8088 being supplied together is discussed in the second paragraph of [here].

                    Comment


                      #11
                      Originally posted by Eudimorphodon View Post

                      I rather badly would like to know if any examples the 40x16 alphanumeric / 280x192 graphics TV adapter card envisioned in this doc existed or if it just evolved straight into the CGA card as we know it. It reads like a bizarre combination of TRS-80 and Apple II video capabilities, which is of course awesome.
                      Fascinating document! I'd be very surprised if the 280-pixel card was ever built. It would have added significant extra complexity to have the character clock switchable between 7 pixels (for text modes) and 4 pixels (for graphics). It's clearly inspired by the capabilities of the Apple II but character clock considerations caused that machine to have a much more complicated graphics memory layout, with 8 bits per 7 pixels (the last bit being the half-pixel phase offset bit which switched between orange/blue and magenta/green pixels on the composite output).

                      Comment


                        #12
                        Originally posted by reenigne View Post
                        Fascinating document! I'd be very surprised if the 280-pixel card was ever built. It would have added significant extra complexity to have the character clock switchable between 7 pixels (for text modes) and 4 pixels (for graphics).
                        On a toy video card project I was banging on a few months ago (haven't touched it in too long, unfortunately work got... exciting) I was able to implement a state machine switchable between 6 and 8 pixels per character/graphics cell in a single GAL so I don't imagine that would be a huge problem. A system like this would impose some kind of interesting mismatches in screen format between graphics and text mode; it would be a huge PITA to draw 7 bit wide characters for a 40 column display in the high-res mode so you'd probably want to treat it as a "35 column" machine when splatting bitmaps. Although I guess that wouldn't be that weird; didn't the TMS9918A display generator have a 40 column text mode that used 6 bit wide characters in a 240x192 grid while its normal "tile" graphics/semigraphics modes were 32 8-bit cells wide for 256x192?

                        I also think it's interesting that they specify that strange 40x16 display grid with 12 scanlines to allow room for descenders in text mode. Lots of early video cards used 32x16 or 64x16 because it was convenient "electrically" but 40x24 was conquering the world by the late 70's so, yeah, 40x16 is a weird neither-fish-nor-foul thing.

                        That idea of running the whole system off the video card memory did make me snicker imagining the amount of screen snow you'd get if you tried running code from an original CGA card's RAM in 80 column text mode.
                        My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                        Comment


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

                          Comment


                            #14
                            The PCJr managed to use video card RAM for the CPU without having snow. Had IBM tried to run the 5150 off the CGA card RAM and had there been snow in the lower resolutions the card would use, I am sure IBM would have resolved the snow issue. I think the 80 column mode on CGA was a late change and there just wasn't time left to deal with the snow.

                            Comment


                              #15
                              Originally posted by krebizfan View Post
                              The PCJr managed to use video card RAM for the CPU without having snow. Had IBM tried to run the 5150 off the CGA card RAM and had there been snow in the lower resolutions the card would use, I am sure IBM would have resolved the snow issue. I think the 80 column mode on CGA was a late change and there just wasn't time left to deal with the snow.
                              Of course the PCjr takes a pretty massive performance hit from sharing the video RAM. CGA manages to mostly avoid contention (on writes at least?) because it has LS374 buffer/latches for incoming data and CPU addresses that I *think*, if I'm understanding this correctly, allow it to defer memory writes to sync up with the card's refresh timings? (The manual claims it implements "dual ported" memory in everything but high-res text mode, and staring at the schematic that's my best theory as to how they make that claim.) My guess is when it's running at the 80 column text pixel memory drain rate (which is twice as high as high-res graphics) there's no more bandwidth left over to let it "slip" the incoming writes. What's interesting, however, is the card does tie to the IOREADY signal to generate wait states, and... it must use that for CPU reads in all modes, because while those buffers could effectively make it dual-ported for writes there's no mechanism for doing the same for read?. Has anyone ever benchmarked a CGA card to see if it's slower to read from it than to write to it in graphics mode? Or maybe that wait state circuitry is used to "fix" synchronization issues so the CPU and video refresh end up in lockstep? If so that's really cool

                              (It does suggest you're correct that not preventing snow was a late oversight because they *do* have the wait state generator circuitry on the card already, they could have triggered it for 80 column writes. Maybe they didn't think it'd be acceptable performance-wise to hold the CPU until the next horizontal porch, assuming it's true that in 80 column mode the memory bandwidth on the original CGA is literally saturated?)

                              Of course the TV-centric video card described in this PDF would need significantly less RAM bandwidth than CGA in every mode it documents, with the exception of 280x192x4 colors, so any contention/wait states wouldn't matter. It says the text attribute selection would be limited to the 8th bit of the normal ASCII cell (ala Commodore PET's reverse video bit) so the text mode bandwidth is half of CGA's. The only mode that would come close to a CGA mode in bandwidth needs is the 280x192x4 color graphics mode. (Which would need twice the bandwidth of the text mode.)
                              My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                              Comment

                              Working...
                              X