48MB in a PowerBook 500 Series – an Illustrated Guide

A few months ago, I worked out how to run 48MB in a PowerBook 500 Series. Inspiration was taken from Toyoki's 64MB mod for PPC upgraded 500-Series notebooks. The concept is similar – tap into unused RAS lines on the memory controller to bump maximum RAM above 36MB.

So, how many RAS lines are unused? Let's look at the Dev Note:
DRAM_RAS_L[2–5] Row address select signals for up to four banks of DRAM. (The first two banks, selected by DRAM_RAS_L[1:0], reside on the CPU and memory module.)
That's six in total. RAS 2-5 go to the RAM connector, RAS 0 is connected to the single 4MB bank on the CPU card itself, and RAS 1 is not used. Each RAS line corresponds to one bank of up to 8MB, so a theoretic total of 48MB is possible. This is backed up by the Dev Note, which says:
The RAM array is located in the system memory map between addresses $0000 0000 and $02FF FFFF
@joevt also looked at the Universal Tables in ROM and saw that 6 banks of 8M are supported.

Armed with this information, we have a strong basis for a successful mod. Now, over to the practical side.

You will need:
  • A 32MB RAM expansion card like the one in the following photos
  • 8x 2MB 28-pin TSOP (thin profile) chips
  • Repair wire
  • Patience, decent eyesight and a steady hand
Mods required:
  • RAM Card
    • Convert a 32MB RAM card to 48MB by stacking chips
    • Run wires from the /RAS pin of the new banks to unused pins on the RAM card connector
  • CPU Card
    • Desolder the onboard RAM.
    • Cut 3 traces
    • Run wires from RAS0+1 to unused pins on the RAM card connector
Starting with the RAM card, stack all 8 donor chips on top of the chips on the bottom side of the card. Bend all the legs down and solder them to the lower chip –except for pin 7 (RAS) and pin 8 (NC): lift those two up slightly. (Technically pin 8 can be soldered down as well, it shouldn't matter - but I chose to lift it up as in Toyoki's example.) See this diagram for the pinout:

Screenshot 2026-01-30 at 08.48.47.png

Here's my RAM card with 6 of the 8 new chips soldered down, and a 7th in position. You can hardly tell they are stacked. Note the two lifted pins per chip.
Screenshot 2026-01-30 at 13.56.30.png

Here's a side view of the stacked chips soldered down.Screenshot 2026-01-30 at 08.29.22.png

Use repair wire to connect up the RAS pins across the four chips at the top, and another repair wire to connect up the other four chips at the bottom. Don't connect them together! Run two trailing wires (one from each bank) to the RAM card connector. I left the NC pins floating/disconnected.

Pins 28, 29 and 30 are labelled 'reserved' (more on this in a bit) in the Dev Note, page 35. I used pins 28 and 30 to send my RAS signals back to the CPU card, as shown:
ramcard.png

That's your RAM card done.

Now, take your CPU card, remove the onboard RAM, and run two repair wires as shown to pins 190 and 191 of the Pratt MemIC. Make a cut on the trace leading out from pin 190/RAS0.
cpucard-botto.png

Side view of RAS0 (Pin 190) and RAS1 (Pin 191), showing repair wires soldered on. Definitely a fiddly job.
side-pratt.png

Moving to the RAM card connector on the top side of the CPU card, we need to peel back the serial# sticker and cut the traces leading to Pins 28 and 30 as shown.
These go back to unknown pins on the Pratt MemIC, but aren't needed. @demik theorised they could have been used during development for ROM cards.
Screenshot 2026-01-30 at 08.43.57.png

Finish by running your repair wires up to the pins.
Screenshot 2026-01-30 at 08.31.00.png

Assemble your machine, and there you go – 48MB in a PowerBook 500 Series.
IMG_8936.png

This was one heck of a difficult mod to do, it took me two attempts! Worth it though. I'm hoping to eventually create a 500 Series 'Reloaded' CPU card with 16MB onboard and programmable oscillator, if there's enough interest.
 
Last edited:
Impressive indeed!

Curious, in the last pic, with a finned heatsink like that installed you just don't install the original heat spreader thing?
 
Super impressive! I'm awed.
I'm hoping to eventually create a 500 Series 'Reloaded' CPU card with 16MB onboard and programmable oscillator, if there's enough interest.
This would be a great idea! Even if it were less capable than this proposal, there are only so many 550 boards out there and having something more attainable would be a big help.
 
A note to anyone trying this mod, make sure to check how the banks on your donor RAM card are arranged as not all of them have four chips connected in a line. Some (e.g. Viking cards), have a different layout.
 
Viking card.. different layout. 1st and 3rd columns go together, and 2nd and 4th columns go together.

IMG_4873.JPG
 
Been playing with this a bit... I have three different CPU cards all of which have had CPU transplants.
  • Card 1 - Full 040 with FPU (Freescale/L88M) without memory hack
    • w/40MHz overclock - runs stable at 40MHz even after 3 consecutive runs of MacBench graphics tests, but no memory hack
  • Card 2 - Full 040 with FPU (Freescale/L88M) with memory hack
    • w/40MHz overclock - dies after 1 run of MacBench graphics tests - is overheating because it keeps locking up after the MacBench test until I let it cool down, after which it works again until I run the MacBench graphics test again and it overheats
    • w/33MHz standard clock - stable after 3 consecutive runs of MacBench graphics tests
  • Card 3 - Full 040 with FPU (Motorola/older mask)
    • without memory hack
      • w/40MHz overclock - stable after 3 consecutive runs of MacBench graphics tests
      • w/33MHz standard clock - stable after 3 consecutive runs of MacBench graphics tests
    • with memory hack
      • w/40MHz overclock - dies after 1 run of MacBench graphics - is overheating like card 2
      • w/33MHz standard clock - stable after 3 consecutive runs of MacBench graphics tests
At least within this sample set, it doesn't look like I'm able to get both the memory hack and the 40MHz overclock to co-exist. The takeaway so far is that this is a neat way to get 48MB and it's stable using the standard clock speed. Doesn't seem to work with overclocking due to heat. Depends on whether you need a little more speed or a little more memory :) I guess I have both options now. Well... 33MHz and 40MB is plenty honestly but fun seeing what is possible.

I need to find some more time to muck around some more but the next thing I could try is adding a fan. How? Well you have two compartments next to the CPU card. With a SCSI emulator, you might have enough room to add a small fan that blows horizontally into the CPU compartment (might need to create a hole) or you could sacrifice the floppy drive on the other side. At the cost of draining the battery a bit more.
 
Been playing with this a bit... I have three different CPU cards all of which have had CPU transplants.
  • Card 1 - Full 040 with FPU (Freescale/L88M) without memory hack
    • w/40MHz overclock - runs stable at 40MHz even after 3 consecutive runs of MacBench graphics tests, but no memory hack
  • Card 2 - Full 040 with FPU (Freescale/L88M) with memory hack
    • w/40MHz overclock - dies after 1 run of MacBench graphics tests - is overheating because it keeps locking up after the MacBench test until I let it cool down, after which it works again until I run the MacBench graphics test again and it overheats
    • w/33MHz standard clock - stable after 3 consecutive runs of MacBench graphics tests
  • Card 3 - Full 040 with FPU (Motorola/older mask)
    • without memory hack
      • w/40MHz overclock - stable after 3 consecutive runs of MacBench graphics tests
      • w/33MHz standard clock - stable after 3 consecutive runs of MacBench graphics tests
    • with memory hack
      • w/40MHz overclock - dies after 1 run of MacBench graphics - is overheating like card 2
      • w/33MHz standard clock - stable after 3 consecutive runs of MacBench graphics tests
At least within this sample set, it doesn't look like I'm able to get both the memory hack and the 40MHz overclock to co-exist. The takeaway so far is that this is a neat way to get 48MB and it's stable using the standard clock speed. Doesn't seem to work with overclocking due to heat. Depends on whether you need a little more speed or a little more memory :) I guess I have both options now. Well... 33MHz and 40MB is plenty honestly but fun seeing what is possible.

I need to find some more time to muck around some more but the next thing I could try is adding a fan. How? Well you have two compartments next to the CPU card. With a SCSI emulator, you might have enough room to add a small fan that blows horizontally into the CPU compartment (might need to create a hole) or you could sacrifice the floppy drive on the other side. At the cost of draining the battery a bit more.

At 40MHz I can’t get any of my CPU cards (I’ve tried about 3) to pass more than 2 runs of MacBench’s graphics test without dying, and that’s only with 36MB RAM. With 20MB RAM there’s no problem, so the memory controller evidently has to work harder with more banks activated. I absolutely did not expect you to run stable at 40MHz with 48MB RAM, in fact I’m impressed you even tried!

I can see three possible ways to solve this. One, find a way to add an extra wait state for the DRAM - this would be the most ideal. Two, bump the voltage to the memory controller and/or DRAM slightly. Three, add cooling (as you suggested).

If you do go the cooling route, bear in mind you will have to create intake and outtake vents - you can’t just blow air on the cpu in a closed box. Perhaps you could draw air in through the floppy opening and blow it out the opposite side, through a new hole that you cut next to the hard drive bay.
 
If you do go the cooling route, bear in mind you will have to create intake and outtake vents - you can’t just blow air on the cpu in a closed box. Perhaps you could draw air in through the floppy opening and blow it out the opposite side, through a new hole that you cut next to the hard drive bay.

Yeah, was staring at my bench 540c and was thinking about how to save the floppy but with it in place, I don't think it will intake/exhaust correctly. I could do three holes (left exterior next to the hard disk bay and both sides of the CPU bay) and then out the floppy port. But before that, I can just add a heat sink and try with a normal fan on top to see if it even helps first.

The other thought was to blow air in from an empty battery compartment and exhaust out with a new hole in the rear but I would need to 3d print some ducting to direct the air.
 
Yeah, was staring at my bench 540c and was thinking about how to save the floppy but with it in place, I don't think it will intake/exhaust correctly. I could do three holes (left exterior next to the hard disk bay and both sides of the CPU bay) and then out the floppy port. But before that, I can just add a heat sink and try with a normal fan on top to see if it even helps first.

The other thought was to blow air in from an empty battery compartment and exhaust out with a new hole in the rear but I would need to 3d print some ducting to direct the air.

Makes sense to see if cooling helps first. But is it the 040 that needs active cooling, or the memory controller? (Maybe both…) It would be good to try sticking a heatsink on the latter but with it facing down against the logic board there really isn’t an easy way to do that.
 
Makes sense to see if cooling helps first. But is it the 040 that needs active cooling, or the memory controller? (Maybe both…) It would be good to try sticking a heatsink on the latter but with it facing down against the logic board there really isn’t an easy way to do that.

Yeah, that seems difficult.
 
Back
Top