Image Map Image Map
Page 1 of 4 1234 LastLast
Results 1 to 10 of 38

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

  1. #1
    Join Date
    May 2011
    Location
    San Antonio, TX
    Posts
    371

    Default 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 16th, 2020 at 09:48 AM.

  2. #2
    Join Date
    May 2011
    Location
    San Antonio, TX
    Posts
    371

    Default

    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

  3. #3
    Join Date
    May 2011
    Location
    Outer Mongolia
    Posts
    3,078

    Default

    Quote 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 16th, 2020 at 10:27 AM.
    My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs

  4. #4
    Join Date
    May 2011
    Location
    San Antonio, TX
    Posts
    371

    Default

    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.

  5. #5
    Join Date
    May 2011
    Location
    Outer Mongolia
    Posts
    3,078

    Default

    Quote 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

  6. #6
    Join Date
    May 2011
    Location
    San Antonio, TX
    Posts
    371

    Default

    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!

  7. #7
    Join Date
    May 2011
    Location
    Outer Mongolia
    Posts
    3,078

    Default

    Quote 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

  8. #8
    Join Date
    May 2011
    Location
    San Antonio, TX
    Posts
    371

    Default

    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

  9. #9
    Join Date
    May 2011
    Location
    Outer Mongolia
    Posts
    3,078

    Default

    Quote 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

  10. #10
    Join Date
    May 2011
    Location
    San Antonio, TX
    Posts
    371

    Default

    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 16th, 2020 at 06:09 PM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •