• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

PowerBook 2400c video memory expansion - software side

Franklinstein

Well-known member
For those familiar, the PowerBook 2400c's logic board has spots on the logic board for four VRAM modules, but only two are populated to provide the normal 1MB of VRAM in these. However, the Chips 65550 video controller here (and in the 3400) can support up to 2MB using four 256x16 EDO VRAM modules. 

I tested expanding this on the hardware side and while it looks like the new modules are recognized (there were new video artifacts on screen due to a bad solder joint on one of the new chips, subsequently repaired), System software doesn't see it/cant't utilize anything beyond the 1MB it's expecting. This suggests that the 1MB is a fixed size somewhere either in ROM or wherever the video driver is present in the System Software on these.

According to the user guide for the 65550 on page 13-12, I have to somehow set part of register XR43 to 01 to reflect 2MB of memory. On a reset this value defaults to 00 for 1MB. I figure ResEdit can be utilized to change the configuration if I can find the resource in the OS but I'd probably be out of luck if it's in ROM; I'm nowhere near good enough in software to build a ROM patch.

Has anyone ever tried to hack the video system on a 2400 or 3400? Any suggestions where to look for the video driver? These don't seem to have a discrete Extension.

 

Franklinstein

Well-known member
The only promising option for ResEdit was the "PowerBook Monitors Extension" but there was nothing contained that I could identify as setting any parameters for the video controller. So I'm going to assume that the actual configuration is in ROM or something.

It did occur to me that OS X often ignores/patches ROMs on old-world machines (such as the beige G3 (to use slave drives on a Rev A ROM) and the B&W G3 (to disable UDMA on the bad ATA controller)), so if I run XPostFacto to install 10.2 I may be able to edit a kext that will enable the extra video memory. The only kext that looks relevant is AppleOnboardDisplay (or Video; I forget). I may try this avenue in the future.

 

Paralel

Well-known member
You could always dump the ROM, patch it directly, then flash a new ROM and put it on the board. It's the brute force method, but it should work.

Have you taken a look at the ROM to determine if that is where the limitation is coming from?

 
Last edited by a moderator:

Franklinstein

Well-known member
No I haven't looked at the ROM because these are soldered manufactured ROMs, so unless I was able to find a suitable replacement PROM of some sort and the machine to burn it in, the whole exercise would be useless. The 2400c does have a switch on the logic board to allow an expansion ROM, though, if I can figure that out...

I've never disassembled a ROM before so I'm not sure how it's structured or where to look. I'm sure there's a book somewhere to look at regarding Macintosh ROMs. Otherwise I don't know if I can get away with figuring out how to do an Extension that can change the parameters of the video chip after initialization. Maybe if I can figure out how the upgradeable onboard cards (especially the ATI-equipped models) in similar Macs configure their VRAM I can get some hints to use here.

 

LightBulbFun

Well-known member
for OS X, Xpostfacto includes an OpenCHIPS6555.kext driver (or something along the lines of that name)

might be worth having a poke at? :)

 
Top