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

RAM : 736KB on IBM PC 5150

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

    RAM : 736KB on IBM PC 5150

    According to any user, Maximum RAM is available to 736KB on IBM PC 5150 motherboard.
    SW2 should be set as follows.
    (BIOS should be 10/27/82)

    1 - OFF / 2 - ON / 3 - OFF / 4 - ON / 5 - OFF

    This SW2 setting can't be found on this URL

    http://www.minuszerodegrees.net/5150...64_256_SW2.jpg

    I use MicroRAM (1MB)

    https://www.ebay.com/itm/MicroRAM-64...A/333218465129
    5150-736KB-2.png
    5150-736KB-1.png
    Last edited by fs5500; June 30, 2020, 02:32 AM. Reason: Screenshot

    #2
    Just to be clear, it is recognizing this memory with no additional drivers or software? Nice.

    I recall a shareware program for 286/386 era computers that could map in extra memory using chipset or video tricks to get 736k, but this would disable the use of VGA graphics.

    Comment


      #3
      So... on the RAM card, are you enabling the whole 704k-768k block? (The switches indicate that it does RAM in 64k sections.) Assuming you're using a CGA card 16k of that at B8000 is going to be conflicting with the video RAM. For writes it's not going to matter much, but when you read from the conflicting area both the video card and the RAM card will be driving the bus down for every "0". In theory at least you'll be subjecting some components on the motherboard to a little additional stress.
      My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

      Comment


        #4
        Originally posted by Eudimorphodon View Post
        you'll be subjecting some components on the motherboard to a little additional stress.
        I don't see how that's possible. The only electrical stress issue would be if a high side and low side driver are turned on at the same time causing a low impedance path between 5V and GND (aka a short). Since the CGA window cannot be panned around, it should have the same value recorded as any other main memory shadowing it in the same address space - for addresses written at least once before read. Two low side drivers (or high side drivers) in parallel only improves signal integrity. Can you elaborate?
        "Good engineers keep thick authoritative books on their shelf. Not for their own reference, but to throw at people who ask stupid questions; hoping a small fragment of knowledge will osmotically transfer with each cranial impact." - Me

        Comment


          #5
          According to any user, it is also possible to expand RAM as 704KB or 736KB on 5160 with modified IBM PC 5160 ROM BIOS.

          (Remember that it is modified.)

          https://mega.nz/file/ukNFiAzZ#ata5Ta...4SCyx6GmA5cVok

          https://mega.nz/file/34M3hYAY#NFgwVC...PIdG02V4z_mGkE


          *IBM 5150 BIOS is Not modified.

          It depends on RAM card with supporting Memory Mapper over 640KB from IBM PC 5150 (Rev.3 BIOS)
          Also it seems to be only possible on CGA card. (Not EGA / VGA Card)
          Last edited by fs5500; June 30, 2020, 12:03 PM.

          Comment


            #6
            Originally posted by eeguru View Post
            I don't see how that's possible. The only electrical stress issue would be if a high side and low side driver are turned on at the same time causing a low impedance path between 5V and GND (aka a short). Since the CGA window cannot be panned around, it should have the same value recorded as any other main memory shadowing it in the same address space - for addresses written at least once before read. Two low side drivers (or high side drivers) in parallel only improves signal integrity. Can you elaborate?
            Strictly speaking I feel like you're right that most of the time it's not going to cause an issue. But as you note, *if* one of the RAMs were to somehow get out of sync with the other (let's say one develops a bad bit and gets stuck high or low) then there's basically a short. Wouldn't there also potentially be an issue if a read cycle were to happen before any writes, say after a power cycle, where the contents of the RAM chips might be random? Granted I don't think that situation will persist for very long so, eh?

            (Re: my earlier post where I suggested it might "always" be subjecting the components to additional stress... yeah, I had a think about that and it's probably not true, unless there's some kind of edge case weirdness induced by the gate switching/settling/output enable times for the two banks of RAM likely being *substantially* different. Just generally speaking, though, it's probably best as a general rule to fully decode your bus? I dunno.)
            Last edited by Eudimorphodon; June 30, 2020, 01:28 PM.
            My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

            Comment


              #7
              Who is any user?

              Comment


                #8
                Originally posted by maxtherabbit View Post
                Who is any user?
                Kevin Flynn?

                For the record, there are device drivers for enabling this if your particular PC's BIOS doesn't let you do it. (One of them is simply called "704k.com".)

                And of course you can't do it with EGA or VGA because those use the A0000-AFFFF space for their graphic video buffers, which would conflict with a hardwired memory block. (And since paging *is* a thing here there's less doubt about this being a genuine source for bus contention.) But as mentioned, there were drivers that could let you either map EMS memory into this space (assuming you had an EEMS or LIM 4.0 card with the required memory mapping hardware or a 386 or better CPU) or literally just use the memory on the VGA card, although the latter tended to be slow compared to real RAM. (I played with this once on a 286 that didn't have any other memory mapping hardware.) Doing this would limit you to CGA video modes, which is kind of a rough tradeoff.

                Also note that if you have a Hercules or MDA card the limit's going to be 704k contiguous because their video buffers start at B0000, not B8000.
                My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                Comment


                  #9
                  Originally posted by fs5500 View Post
                  This SW2 setting can't be found on this URL
                  http://www.minuszerodegrees.net/5150...64_256_SW2.jpg
                  If I categorise users of my website into beginner, intermediate, and advanced, then I consider more than 640K of conventional memory to be an advanced subject, one that if documented, requires the documentation to be at an adequate level.
                  For example, for what needs to be achieved, would expanded memory be better ?
                  For example, if the conventional memory past 640K is dynamic RAM, will the motherboard refresh it ?
                  For example, will the conventional memory past 640K conflict with the fitted video card ?
                  For example, if the conventional memory past 640K has a parity bit, how do I appropriately set/reset the parity bit before the memory gets read by DOS/programs/drivers ?

                  If my SW2 settings table included settings for above 640K, some beginner and intermediate users might venture into the '>640K conventional' territory in ignorance. Presently, I have no plans to add '>640K conventional' documentation to my website. Such users can always do the research themselves, which includes reading books, searching the internet, searching these forums, or posing a question to these forums.

                  Comment


                    #10
                    Originally posted by eeguru View Post
                    Two low side drivers (or high side drivers) in parallel only improves signal integrity. Can you elaborate?
                    In a past IBM PC family support role, I have seen 'weirdness' caused by users unintentionally overlapping RAM ([example]). No, I cannot further explain 'weirdness'; it was too long ago. The lesson was 'do not do it - it may or may not cause problems'.

                    And in the day, I do not recall PC magazines suggesting overlapping all RAM as a way of providing some fault tolerance for important users (i.e. to cater for a RAM card failing, and failing in a way that results in it no longer driving the data bus). Perhaps there was a known reason for not doing so in PC family computers !

                    Comment


                      #11
                      Originally posted by modem7 View Post
                      (i.e. to cater for a RAM card failing, and failing in a way that results in it no longer driving the data bus). Perhaps there was a known reason for not doing so in PC family computers !
                      Having placed two RAM ICs in the same memory range and one fails by not driving the bus anymore, then the other one one covers this loss and the computer won't notice this. But there two good reasons not to do this:
                      - one IC fails and keeps pulling its output to (L) or pushing it to (H) all the time. Then a) you will read invalid data and b) there is a good risk in destroying the other IC as well.
                      - What data do these ICs contain after power-up? If you read it it before a write, you run the risk that one outputs a (L) and the other an (H) on the same line. The read action will be short but do it enough times and something will break. First writing to the ICs is the solution but do you know if your BIOS does write to the ICs before reading them?
                      With kind regards / met vriendelijke groet, Ruud Baltissen

                      www.baltissen.org

                      Comment


                        #12
                        @modem7

                        I also hope not to add SW2 setting for this on your site.
                        Because this is unofficial SW2 setting on IBM 5150 motherboard.

                        So IBM didn't mention this setting.
                        Last edited by fs5500; July 1, 2020, 03:52 AM.

                        Comment


                          #13
                          Originally posted by Eudimorphodon View Post
                          Strictly speaking I feel like you're right that most of the time it's not going to cause an issue. But as you note, *if* one of the RAMs were to somehow get out of sync with the other (let's say one develops a bad bit and gets stuck high or low) then there's basically a short.
                          The problem is easier to hit than that. The CGA has 16kB of RAM but decodes 32kB of addresses (0xb8000-0xbffff). The CGA's RAM is mapped twice (one copy from 0xb8000-0xbbfff and another from 0xbc000-0xbffff). So if you write different values into 0xb8000 and 0xbc000 and then read back the first one, the CGA will give you a different value from the expansion RAM.

                          Comment


                            #14
                            Originally posted by reenigne View Post
                            The CGA's RAM is mapped twice (one copy from 0xb8000-0xbbfff and another from 0xbc000-0xbffff).
                            I'd noticed that my Tandy 1000 double-maps the CGA memory (when running "normal" CGA modes, not its 32k video modes), I didn't off the top of my head know if real CGA cards did that. So, yeah, if there's any software out there that actually hits that phantom page then you're asking for trouble having RAM from the expansion card sitting behind it.

                            If you really want 736k instead of 704k from one of those Lo-Tech 1-meg-analogous cards I'd suggest cutting the trace leading from the 74LS138 to the 704-768k dip switch and dead-bugging somewhere on the board a 74LS08 AND gate that combines the '138's output with address line A14. That'll enable only the bottom half of that 64k block.
                            My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                            Comment


                              #15
                              Originally posted by Eudimorphodon View Post
                              For the record, there are device drivers for enabling this if your particular PC's BIOS doesn't let you do it. (One of them is simply called "704k.com".)
                              Some DOS versions won't let this work even if it's valid. I did the same thing (added 64K to A000 in my 5160) but IBM PC DOS 2000 refuses to work (I can't remember if it hangs on the reboot, or if it simply doesn't use the extra).

                              MS-DOS 3.3 not only works, but some products (QRAM) can change/patch it during CONFIG.SYS execution. On an AT&T 6300 + AST EMS board + MS-DOS 3.3 + QRAM, it maps RAM into A000 and the first half of B000, giving me 736K DOS RAM.
                              Offering a bounty for:
                              - A working Sanyo MBC-775 or Logabax 1600
                              - Music Construction Set, IBM Music Feature edition (has red sticker on front stating IBM Music Feature)

                              Comment

                              Working...
                              X