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

Original-IBM-5150 or IBM-Clone Memory Experimentation Thread

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

    Original-IBM-5150 or IBM-Clone Memory Experimentation Thread

    Since the original thread about my copy of IRCjr complaining about text formatting and memory count got off-track, I decided to start a new thread about those who wanted to upgrade their IBM 5150 or IBM Clone system.

    For me, you've probably heard a lot about my Sanyo MBC-775, and my efforts to get it working, on this forum. Unfortunately, the system, despite its uniqueness, is not very well-equipped to handle programs made for the original system or other IBM clones. The MBC-775 only has 256k of memory and two ISA slots. Combinations of cards allow me to do certain things with the system, of course, but the fact that it only has two slots means I often have to sacrifice an ability in order to do something else. Even moreso when I have dedicated one of those slots for a XT-IDE card.

    For example, if I want to go onto the internet, to websites formatted especially for vintage low-end systems, I have an ethernet card to do so. However, if I want to listen to music or Adlib/Sound-Blaster-based sounds on the system, I have to swap the card out for a Sound Blaster. If I want to play with 16-color-based programs, I could either use a game's specially-made artifact-color mode, or (hopefully) swap in an EGA card (if it plays nice and does what I hope it will do, that is, output full 16 colors to the internal monitor).

    In this case, a dedicated 640kb memory expansion card is out of the question, as it gets rid of a chance for more color, sound, and communication capabilities for the computer. Thus, my idea was to desolder the existing RAM and replace them with sockets. If it works, this is a triple benefit, as not only have I been having intermittent problems with the RAM (only once so far), but I can expand the RAM to 1 MB (adding expanded memory for DOS in the process) for 640kb-requirement games and programs, as well as replace failed memory in the future easily.

    What I'm hoping is that 64kb memory is pin- and interface-compatible, so I simply have to plug the chips in without modification (even then, I wouldn't know what to modify).
    Last edited by T-Squared; October 16, 2020, 08:48 AM.

    #2
    I seem to have a winner. Checking over the statistics between the two chip types that I have, they have exactly the same pinout. (Different labels for identical pins, though, i.e. VDD = VCC)

    The current memory in the board: Mitsubishi M5K4164ANP-15: https://datasheetspdf.com/pdf-file/1...5K4164ANP-15/1

    The memory I plan to use: Texas Instruments TMS4256-15NL: https://pdf1.alldatasheet.com/datash...4256-15NL.html

    Comment


      #3
      Originally posted by T-Squared View Post
      What I'm hoping is that 64kb memory is pin- and interface-compatible, so I simply have to plug the chips in without modification (even then, I wouldn't know what to modify).
      As discussed in the other thread, just changing the 64k chips for 256k ones isn't going to magically result in the machine seeing more memory. The short version is this. Here's the pinouts of the three most common 16 pin DRAM chips you'll find in an a PC/XT. We're concerned with the two rightmost ones:



      See how pin one is "NC" on the 4164 and "A8" on the 41256? It's the two possible states of that pin multiplied by the two multiplexed states of the address bus that make the 256k chip capable of addressing four times as much memory as the 64k one. And for that to work your computer's motherboard circuitry needs to manipulate that pin, there's no chip out there that can magically give you more memory using just the A0-A7 that's on the 4164's package.

      If Sanyo sold a version of that machine that came with 640k soldered to the motherboard instead of 256k it's possible the motherboard already has the circuitry on it to drive that extra address line and you just need to figure out how to enable it, but if they didn't then you're looking at reverse engineering the parts of the motherboard circuitry that selects whether memory is present at a given location and the multiplexing circuitry that needs to take the 18 bit memory address that's generated by the processor to access a location within 256k and translate it into two 9-bit Row/Column strobes. (That circuitry presumably only supports 16 bit addresses now.)

      The Sanyo's circuitry probably isn't particularly unique as computers of that era goes, but I'm not sure how someone could walk you through how to hack it unless they had the same thing in front of them, or at least a good tech manual.


      dram_16_64_256.gif
      Last edited by Eudimorphodon; October 16, 2020, 09:27 AM.
      My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

      Comment


        #4
        Well, looking at the motherboard, it at least suggests that Pin #1 of the 4164s are connected to something, because each one has a trace coming off of them, which is NC on the pinout, so I'm guessing there's more to this.

        Comment


          #5
          Originally posted by T-Squared View Post
          Well, looking at the motherboard, it at least suggests that Pin #1 of the 4164s are connected to something, because each one has a trace coming off of them, which is NC on the pinout, so I'm guessing there's more to this.
          Trace it. NC pins are often connected to ground. If it goes to something that's not ground then maybe you have a hope.
          My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

          Comment


            #6
            I'm getting 4.75 KOhms for resistance measurement from pin #1 (probably because the continuity is passing through a component), and no continuity beeps when I probe that pin and ground together.

            This is looking more hopeful at each step!

            Comment


              #7
              Originally posted by T-Squared View Post
              I'm getting 4.75 KOhms for resistance measurement from pin #1 (probably because the continuity is passing through a component), and no continuity beeps when I probe that pin and ground together.

              This is looking more hopeful at each step!
              You need to physically eyeball where those traces are going. They could just be connected to a pull up. (Although being connected to a pull-up would at least imply that Sanyo anticipated they *might* want to allow 256kb chips to work in the board someday.) Here is the technical reference manual for an IBM 5150. There's a somewhat oversimplified diagram of how the RAM interface works on page 1-7; follow the arrow from the RAM chips backward and you'll find one goes to a pair of 74LS158 multiplexers. For the Sanyo to be able to do something with a 256kb RAM that trace from A9 (pin1) on the DRAM chips will need to terminate on something like that.

              Here's the manual for the IBM 5160, the later version of which supported 256k chips. Contrast its memory circuitry on page 1-52 with page 1-42 of the 5150 manual. They're mostly similar, in that both have a pair of 74LS158s handling address pins A0-A15 from the CPU and converting them to A0-A7 on the memory chips. The critical difference on the 5160: pin 1, A8, of the DRAM sockets goes to its own 74LS158 which sits on A16 and A17 from the CPU. If the Sanyo is going to support 256k chips it's going to need that trace to go to the equivalent circuitry. Which might not necessarily be the same, it could even be inside of a PAL chip, but, yeah.
              My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

              Comment


                #8
                Actually, I think both you and I may have been correct. There are indeed two S158-type chips on the motherboard, right next to the memory. (They're on the lower left of the picture below) They're 74S158 (Note: I did NOT say LS, as you said, but I think the L doesn't matter.)

                Even better, there is a space for a THIRD S158 Chip, just as you described! Although there is what seems to be a pull-up resistor in the path of the #1 pins, I'll test the soldering points tonight to see if Pin 1 of any of the memory connects to any pins on that S158 footprint, and then see if any of the S158's vias go to the CPU.

                20201016_162256.jpg

                Comment


                  #9
                  Originally posted by T-Squared View Post
                  Actually, I think both you and I may have been correct. There are indeed two S158-type chips on the motherboard, right next to the memory. (They're on the lower left of the picture below) They're 74S158 (Note: I did NOT say LS, as you said, but I think the L doesn't matter.)
                  The "L" just means low power, they're both TTL chips and most flavors of TTL are electrically compatible. (An "S" is faster than an "LS", but not as fast as an "F".)

                  Even better, there is a space for a THIRD S158 Chip, just as you described! Although there is what seems to be a pull-up resistor in the path of the #1 pins, I'll test the soldering points tonight to see if Pin 1 of any of the memory connects to any pins on that S158 footprint, and then see if any of the S158's vias go to the CPU.
                  Okay, so that *is* definitely a good sign that Sanyo anticipated the possibility that they'd want to make a version of the board that would support 256kbit chips. I'd recommend using the 5160's schematics as a guide and trace out to see how much the Sanyo resembles it. You may indeed be able to populate that chip and (probably) make a couple other minor component changes to enable upgrading to 640k.

                  (One thing to be clear on: Even if the motherboard can support the chips you can't just slap in a full 1MB and use all of it. Depending on what circuitry the machine uses to decode its memory you're probably going to only be able to use 640k, IE, replace two banks of RAM and keep 64k chips in the other. There is an expansion hack out there for 5160s that lets you replace all the chips with 256kbit ones and use *some* of the extra RAM as upper memory blocks, but that requires replacing a decoder PROM with an appropriately programmed one. The Sanyo *may* use a similar PROM, or it may use some other method. You're not going to get 384k of "Expanded Memory", "Expanded Memory" is a specific kind of bank-switched RAM that requires mapping hardware that motherboard *definitely* will not have.)
                  My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                  Comment


                    #10
                    Indeed, on the Sanyo motherboard there are solder points on that LS158 footprint connected to the CPU. However, the continuity between the A16 and A17 address pins and the footprint points are in the MegaOhm range.

                    There is also a bodge wire on the back of both Sanyo processor/memory motherboards connecting the "A/B Select" Pin (Pin 1) to another solder point on the board. (I was able to clear the other solder vias on the LS158 footprint with very little problem, but I've left the solder point with the bodge wire alone until I know what to do with it.)

                    There are significant differences between the amount of bodge wiring between the two, but the fact that a wire is connected there seems constant.
                    Last edited by T-Squared; October 16, 2020, 05:09 PM.

                    Comment


                      #11
                      Originally posted by T-Squared View Post
                      Indeed, on the Sanyo motherboard there are solder points on that LS158 footprint connected to the CPU. However, the continuity between the A16 and A17 address pins and the footprint points are in the MegaOhm range.
                      It's unlikely that A16 and A17 needed by that missing multiplexer go *directly* to the CPU. In a typical XT the 8088 sits behind a number of buffers and latches to deal with the fact that Intel used multiplexing to keep the chip package down to 40 pins. The address lines are usually terminated on 74373 or 74573 latches, and it's possible at least there's another buffer/driver chip south of those, like a 74244.
                      My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                      Comment


                        #12
                        This may be just as simple as removing the wires and soldering in the components. (I'm not assuming anything yet, and won't remove anything without being sure of it, though.)

                        I already have a socket to put in the footprint, and I have an S158 from Mouser on its way. (As well as some ceramic capacitors to see if I can fix the waviness caused by electrical interference from the quieter power supply fan I put in; The old one was very noisy, sound-wise.)
                        Last edited by T-Squared; October 16, 2020, 08:58 PM.

                        Comment


                          #13
                          I would definitely recommend not pulling off random wires without knowing what they do. If you’re serious about making this work you need to start documenting the circuitry as it is *now* and understand how it works.

                          Remember, there’s actually two nearly separate elements in play here. First is enabling that multiplexing circuitry so the machine is physically capable of driving the denser chips. Secondly you’ll need to figure out the *decode* circuit that controls when a given bank of chips is active. If you don’t then the computer will still “think” all the chips exist within the same bottom 256k of the address space and the changes to the multiplexing won’t matter.
                          My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                          Comment


                            #14
                            Ok, after a good night's rest, I looked the pair of processor/memory boards over again and found that they are actually different in terms of bodge wiring. (They have two wires, but they are connected to different components)

                            The trace from Pin 1 of the S158 footprint, and the other two S158s, is attached to a buffer delay line chip on the far side of the board.

                            All of the pin 1's are also connected to the VCC of a S138 Multiplexer.

                            (You don't need to reply if you don't want to, I'm just thinking out loud here. I'll take a look at those technical schematics.)

                            Update: At first glance, I may only have to plunk in a new S158 chip! (Again, this is ONLY at first glance.) The delay line seems to already be connected in its proper spot, according to that 5160 schematic.

                            Update: There also seems to be a spot for an S280 chip, which is a parity generator. It makes sense, because in each bank, there are actually 9 footprints for memory chips, with one unpopulated.

                            Update: There's also a footprint for an S139 multiplexer. Going by what I see, in proximity to the memory, this is probably a parity multiplexer.
                            Last edited by T-Squared; October 17, 2020, 09:54 AM.

                            Comment


                              #15
                              Now it starts... (I've also soldered in the socket for the LS158.)


                              20201019_163548.jpg
                              20201019_170327.jpg
                              20201019_170339.jpg

                              I had considered using my vacuum desoldering pump, but it didn't give me the results I was looking for, so I decided to clip the memory off, and melt the solder while pulling the pins out. (It's not easy... 512 pins to pull, THEN melt-and-suck clean!) Some may complain that I'm wasting perfectly good memory. I think it's better this way. Memory chips are more common. MBC-775s are not. 😜

                              Comment

                              Working...
                              X