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
“…Dreamcast is the forgotten orphan of the console wars…”
Reading CAD, too, I presume? :D
Just to clarify for the unaware: He means CAD as in https://cad-comic.com/comic/console-wars-p72/ not computer aided design.
More RAM to boot Linux:
https://www.youtube.com/watch?v=fM66wejxMwo
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.
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
Right, and Z80s only support 64kB
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.
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?
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.
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.
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.
Were any games coded to check and use more than 16MB of RAM? Because to me it seems like only Linux can benefit from extra RAM?
You could potentially hack Naomi games to run on this (Naomi was an arcade board using the same chipset, but with 32MB RAM.)
Go on……
I forgot that the Naomi board also has twice the graphics RAM, and four times the audio RAM.
I did it so that I could use the extra RAM with my alternate Dreamcast backend for ScummVM. It’s probably the only software that can use it so far:
https://github.com/tsowell/scummvm-dreamcast/blob/dcalt-backend/backends/platform/dcalt/README.md
Dreamcast, the Amiga of the console world.
What’s the CD-32 then, chopped liver?
Like a McLaren F1 LM, a rare console that most people have never seen in person.
I own one.
So you’re the one who bought it.
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…
The zx spectrum, but not the European model, the crappy Timex licenced copy.
Ok that’s not fair… The 3do is probably the Timex zx spectrum clone… But you get my point. Mostly useless.
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.
However, the Dreamcast was a PS2/Xbox competitor.
Saturn was there PS1’s chum.
I’m guessing a large part of the problem is they essentially sold the console at a loss to try and make their money back on software licensing, as Sony / Microsoft / Nintendo also do, but people figured out how to circumvent the copyright protection before that happened. Not saying Sega didn’t already blunder their way through the Sega CD, and the 32X, and the Saturn…
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?
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.
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.
Are there enough portable Dreamcast to buy?
Unfortunately for me, life got in the way, but it’s nice to see people carry on where I left off and make a success of it. I had several Dreamcasts knocking around back then and I’m pretty sure I turned one into a jig to drill into the back of other Dreamcasts and line up the pins but since my wife moving in, it’s unlikely that I still have or will ever find it. Anyhow, well done! There’s life in the old bird yet hehe.