• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Why is the G4 limited to 2GB Ram? Boot rom? Firmware? Memory Controller? Could that be patched?

I have a fondness for geographically addressed slots like the Apple II and NuBus, but those systems suffer from fixed-size memory partitions per card. The Apple II's were way too small so that all of the later interesting cards circa 1986 were heavily bankswitched. NuBus's partitions were too large. Every card gets 272 MB and I haven't seen a real-world NuBus card use more than 8 MB of that space. (The "image card" in MAME that Rob Braun designed does use 256 MB, but that's not a card that physically exists). The smallest possible PCI BAR is 16 bytes (amusingly the same as the Apple II /DEVSEL space) so cards can be very efficient.
That's an interesting comparison. I never thought to compare Apple II with NuBus Mac.
Apple II slot is 16 bytes and 256 byte spaces in a 16 bit address space.
NuBus slot is 16 MiB and 256 MiB (20 more bits each) in a 32 bit address space (16 more address bits).
 
NuBus's partitions were too large. Every card gets 272 MB and I haven't seen a real-world NuBus card use more than 8 MB of that space.
Does the NuBusFPGA count as a "real-word NuBus card" ? :-) (and coming 30+ years after the fact, I don't think it counts, but honestly having that much space to play with is convenient for modern HW designer!).

Anyway, there's (at least) two way of seeing the large size of the superslot (256 MiB):

(a) Apple was expecting some kind of "memory card" usage, and wanted something big enough to possibly make sense in the life of the design. Not at all absurd, as such memory card on regular slots existed on the PC side, and e.g. they were briefly available for some SBus systems (32+32 MiB in a dual-card sandwich for the SPARCstation 2)
(b) Apple didn't expect such a large memory space to be fillable with memory at a reasonable cost, and therefore simply split it in big chunk because it was easier to implement. Again, a reasonable assumption, getting hundreds of megabytes in a system wouldn't be economically reasonable for about a decade after the introduction of the II

So I'm not sure it was "too large". Given the constraint of the time and the expected life-time of the product, there was no reason to try and make things more complex just to make more efficient use of the available memory space. No-one was going to reach the limits anyway. And no-one did at the time...
 
My Daystar Turbo 601-80 is a PDS+Nubus card for 040 Macs. You can turn it off and use the built in 68040 AND still use the extra RAM so that has to be implemented on the Nubus side correct (128MB RAM)?

Also, the Daystar RAM Powercard was available in 1990 with 64MB (upgradable to 256MB) for only $8999.

https://archive.org/details/TNM_DayStar_Digital_Domestic_Price_List_various_c_20170901_0029
PDS means Processor Direct Slot. How direct is it? Is it like Apple II slots (maximally direct) or less direct? It uses processor/RAM timings rather than NuBus timings so PDS RAM would be same speed as normal RAM? Since it's PDS, it can use any address for any purpose? So it's not limited to NuBus addresses?
 
PDS means Processor Direct Slot. How direct is it?
On MC68000 (i.e. the SE), MC68030 (other than the IIfx, so SE/30 and IIsi) and Quadra, very direct. It exposes most of the CPU bus directly.

The IIfx has some buffering to do weird things with the CPU clock, as the CPU run at 40 MHz but the PDS at only 20 MHz.

The LC PDS is missing some address signals, so is more limited (but contrary to what some believe it if fully 32-bits wide) but otherwise direct. The newer, larger version on MC68030-based LC is a true '030 PDS (different pinouts/form factor from the others, obviously) with some extra stuff for backward compatibilit with the original LC PDS.

LC PDS on '040 systems (e.g. LC475) and anything 68k-compatible on PPC systems involve some bus emulation and isn't truly direct.

Since it's PDS, it can use any address for any purpose? So it's not limited to NuBus addresses?
The truly direct one can do any addresses. They shouldn't mess with those already attributed in the memory map, but they can implement any function anywhere. The IIsiFPGA uses that property to map up to 240 MiB of RAM in the IIsi memory space in a range reserved for memory, with some small hacking of the ROM to make it available to the system (purely a software issue).
 
Back
Top