Double The RAM Of A Dreamcast Console For A Cool 32 MB

The Sega Dreamcast is the forgotten orphan of the console wars, an extremely capable machine never able to escape the shadow of its PlayStation rivals and because it marked the end of Sega’s console line, never redeemed in reputation by a more popular successor. It retains a significant following a couple of decades after its heyday though, and still sees hardware hacks such as [Tsowell]’s doubling of its available RAM to 32 MB.

The console shipped with 16 MB of memory in two banks, but while the SH4 processor can address twice that figure the designers at Sega never brought the required address line out from under the BGA. So it should be impossible to give it a memory expansion, but when hardware hackers are at work nothing should be ruled out. The hack involves manipulation of the bank switching addressing, and took several careful readings for us to fully understand. The new RAM chips have two address lines tied together and wired to another, a job for some fine but ultimately not impossible soldering. To take advantage of the extra RAM there are a set of patched BIOS images.

So, if you either have a spare Dreamcast you care little enough about to risk, or you consider your console hacking skills to be so advanced that it will be a piece of cake, you can now double the platform’s RAM. Extra points if you also make it portable.

Thanks [John Little] for the tip.

Header: Evan-Amos / CC BY-SA 3.0

30 thoughts on “Double The RAM Of A Dreamcast Console For A Cool 32 MB

    1. Yeah I don’t know why they didn’t go for 64MB while they were at it. Bit more breathing room. I mean I used to run X on a 8MB 486, but it was barely bearable with swap thrashing all the time, 16MB began to feel like a real computer. Now we’ve got a couple of decades more progress/bloat. So 64 would be nice to have a puppylike light window manager.

      1. Did you read the article?

        “The console shipped with 16 MB of memory in two banks, but while the SH4 processor can address twice that figure ”

        I.E .. it can support 32MB max. Nothing higher

        1. Ackshually, the CPU itself should support 128MB of SDRAM, but the Dreamcast motherboard prevents this configuration.

          The external bus interface of the SoC used in the Dreamcast supports seven 64MB regions, with different capabilities. Eg. only areas 2 and 3 support DRAM or SDRAM, while you could connect SRAM to all seven for a total of 448MB.

  1. This is pretty amazing and I’m excited to see new DC developments. But I have to say, this HAD article is a bit thin on the implications of this mod, can anyone elaborate on this?

  2. To clear up the summary a bit: instead of going with RAM chips that are 2x the capacity but require the extra multiplexed address line, [Tsowell] went with RAM chips that are 4x the capacity but didn’t require the extra multiplexed address line, due to them using additional address bits on the lower multiplexed address lines that were previously unused.

    Here’s some more background: each physical address pin from the CPU is multiplexed, meaning that it provides both a row and column address (depending upon the ras/cas select pin). But, due to some RAM chips using “rectangular” memory arrays instead of “square” ones, not every RAM address pin needs to provide both a row and column address. There’s a memory-controller chip that remaps all the bits from the CPU to the RAM chips, and it can deal with different memory array geometries. The original geometry is 11×8, the 2x geometry is 12×8, and the 4x geometry is 12×9. But [Tsowell] is using the 4x geometry to achieve 11×9, since the 12th (row) bit is unavailable, but the 9th (column) bit is available (since it’s multiplexed from an already-connected pin). The two upper-most row pins (11 and 12) are tied together to make this work.

    1. In theory then, if you were able to access A16, where would it need to be connected to? I’m completely virgin to Dreamcast (I may buy one just to play around with this) but this has perked my interest.

      1. I think you’d want to bend up pin 23 of the RAM chips and hook it up there (on both chips).
        You’d still have pins 21 and 22 shifted down, but instead of 22 & 23 hooked up to the same pad, pin 22 would go to 23’s pad, and pin 23 would go to A16. This would give you a 64MB Dreamcast.

          1. I own the other one! Still got the box and everything. There’s also an SX32 expansion card that stupid teenage me broke while trying to add the FPU chip. I wonder if the sx32 is fixable…

  3. Seems like the Dreamcast is being remembered as a more obscure-ish systems that doomed SEGA to close up shop.

    I am partial to the DC, but it seems to me that it did not do too bad.

    Final sales:
    PS1 28.2 as of 2006
    N64 20.6 as of 2004
    DC 9.13 as of 2001

    It is third place, but the DC had such a short life compared to the PS1 and N64.

  4. How hard would it be to create some sort of interposer to break out BGA contacts that are unused? Is signal the greatest challenge? Soldering? Space and maybe the HSF?

  5. I don’t currently own a Dreamcast but may well buy one to have a play with this. I will be able to access A16 – question I have is where would it need to be connected to? Many thanks.

    1. I think you would need to connect A16 to BA1 (pin 23 on the SDRAMs):

      Lift pin 23 and solder the A16 wire to it.
      Lift pin 22 and solder it to pad 23.
      Lift pin 21 and solder it to pad 22.

      That would let you address all 64MB.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.