Beige G3 RAM and PSU questions:

Won’t it just recognise it as a 256MB module due to chip density?
The memory test works only up to 768 MiB installed. If you could add more (using two 512 MiB DIMM or one 1024 MiB DIMM) then it will crash. If the memory test is disabled (by setting NVRAM or patching the ROM), then it won't crash. This works in the DingusPPC emulator.

A 256 MiB SDRAM DIMM has 12 rows, 10 columns, 2 physical banks (bytes 3,4,5 of the SPD respectively). The theoretical 512 MiB or 1024 MiB SDRAM DIMMs would have 12 rows, 2 banks. The 512 MiB SDRAM DIMM would have 11 columns and the 1024 MiB DIMM would have 12 columns.

I don't think grackle can actually use more than 24 address bits per physical bank?
I haven't sat down and worked out if there is a combination that could work. But certainly configs work emulated. I was just curious if there was any which way it might work with 512. Not expecting it to work, but if I had one set up it wouldn't stop me turning off the memory test (hold down option or cmd+opt while launching the memory control panel) and shoving a stick in to see what happens. It's electrically compatible, so worst case it doesn't boot.

Edit - keep in mind that I'm not that savvy on RAM technology or specifics of the grackle.
 
I was super happy today when I found an 256MB stick between some old stuff, but when I installed it, there was only 128MB detected.
But 128 + 64 + 32 = 204MB should be enough to do some programming ?

PS On my machine there is an free FDD power cable hanging lose and I have already the ZIP drive, seems PC floppy option was real ?
 
Won’t it just recognise it as a 256MB module due to chip density?
The software (HwInit) will accept it as 512MB. The hardware might not be able to use all of it if the grackle is limited internally to 24 address bits even though it looks like it has enough pins for 26 address bits.

I suppose one could insert a working DIMM (between 8 and 256 MB) into the first slot. This should allow Open Firmware to run (it loads at address 0x400000 = 4 MiB). The 512 MB DIMM could be placed in the next slot.
We can then use Open Firmware to see how the DIMM behaves.
Dump the NVRAM to see the HwInit Diagnostics results (list of banks, etc.)
Dump the SPD using I2C of the DIMMs. https://en.wikipedia.org/wiki/Serial_presence_detect
Map the DIMM and do a memory test in Open Firmware to see if all the bytes are addressable.

I suppose if 512 MB DIMMs were usable with the MPC106, then we would have heard about it. Maybe existing DIMMs aren't arranged as expected by HwInit? If it's missing a column address bit then could we add a circuit to decode it from the CPU address side? It would probably be easier to add a fourth DIMM slot.

The MPC107 is similar to the MPC106 but I don't think it's a drop in replacement. The MPC107 User Manual's SDRAM Address Multiplexing sections show a few options that have one or two more address bits than the MPC106 options. The new options allow for 256MB and even 512MB physical banks (a DIMM may have 2 physical banks to double the total to 512MB and 1024 MB):
256MB = 13 x 10 x 4 ; 16, 8, or 4 devices
256MB = 12 x 11 x 4 ; 16, 8, or 4 devices
512MB = 13 x 11 x 4 ; 16, or 8 devices (this is a new option in the MCCR1 register = 13 rows, 4 internal banks)

EDO/FPM don't seem to have a 256 MB or 512 MB bank option for the MPC107.
 
I was super happy today when I found an 256MB stick between some old stuff, but when I installed it, there was only 128MB detected.
Read the SPD in Open Firmware using this:
Code:
\ Use read-iic ( len offset addr*2 -- addr len | false ) in a loop to look for i2c devices
dev mac-io/via-cuda
cr 80 0 do 80 0 i 2* read-iic ?dup if cr i . dump cr then loop

These are results from a B&W G3 (it has three 256 MB DIMMs):
Code:
31 
ff86b87b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff :................:
ff86b88b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff :................:
ff86b89b: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff :................:
ff86b8ab: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff :................:
ff86b8bb: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff :................:
ff86b8cb: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff :................:
ff86b8db: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff :................:
ff86b8eb: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff :................:

50 
ff86b87b: 80 08 04 0c 0a 02 40 00 01 75 54 00 80 08 00 01 :......@..uT.....:
ff86b88b: 8f 04 04 01 01 00 0e a0 60 ff ff 14 0f 14 2d 20 :........`.....- :
ff86b89b: 15 08 15 08 ff ff ff ff ff ff ff ff ff ff ff ff :................:
ff86b8ab: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 12 92 :................:
ff86b8bb: 97 61 00 00 00 00 00 00 46 16 64 08 08 00 00 00 :.a......F.d.....:
ff86b8cb: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 :................:
ff86b8db: 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 :................:
ff86b8eb: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 ad :..............d.:

51 
ff86b87b: 80 08 04 0c 0a 02 40 00 01 75 54 00 80 08 00 01 :......@..uT.....:
ff86b88b: 8f 04 06 01 01 00 0e a0 60 00 00 14 0f 14 2c 20 :........`....., :
ff86b89b: 15 08 15 08 00 00 00 00 00 00 00 00 00 00 00 00 :................:
ff86b8ab: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 af :................:
ff86b8bb: 2c ff ff ff ff ff ff ff 02 31 36 4c 53 44 54 33 :,........16LSDT3:
ff86b8cb: 32 36 34 41 47 2d 31 33 33 42 31 01 00 01 08 33 :264AG-133B1....3:
ff86b8db: 09 f7 95 00 00 00 00 00 00 00 00 00 00 00 00 00 :................:
ff86b8eb: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 ff :..............d.:

52 
ff86b87b: 80 08 04 0c 0a 02 40 00 01 75 54 00 80 08 00 01 :......@..uT.....:
ff86b88b: 8f 04 06 01 01 00 0e a0 60 00 00 14 0f 14 2c 20 :........`....., :
ff86b89b: 15 08 15 08 00 00 00 00 00 00 00 00 00 00 00 00 :................:
ff86b8ab: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 af :................:
ff86b8bb: 2c ff ff ff ff ff ff ff 08 31 36 4c 53 44 54 33 :,........16LSDT3:
ff86b8cb: 32 36 34 41 47 2d 31 33 33 42 31 01 00 01 0b 62 :264AG-133B1....b:
ff86b8db: 05 ee 9f 00 00 00 00 00 00 00 00 00 00 00 00 00 :................:
ff86b8eb: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 ff :..............d.:

54 
ff86b87b: 80 08 00 00 00 40 00 1e 01 00 00 00 00 00 00 00 :.....@..........:
ff86b88b: 02 00 04 c8 00 00 10 00 00 00 00 00 00 00 00 00 :................:
ff86b89b: 01 e8 03 64 00 00 00 00 00 00 00 00 00 00 00 00 :...d............:
ff86b8ab: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 :................:
ff86b8bb: 53 4f 4e 54 45 47 56 00 00 00 00 00 00 00 00 00 :SONTEGV.........:
ff86b8cb: 00 00 00 00 00 00 00 00 00 00 00 05 37 34 35 35 :............7455:
ff86b8db: 00 00 00 00 65 53 4f 4e 4e 45 54 20 54 45 43 48 :....eSONNET TECH:
ff86b8eb: 4e 4f 4c 4f 47 49 45 53 00 ff ff ff ff ff ff ff :NOLOGIES........:

- ? at 31.
- SPD (Serial Presence Detect) at 50,51,52, (53 is empty). https://en.wikipedia.org/wiki/Serial_presence_detect
- Sonnet G4 ZIF at 54. https://www.nxp.com/docs/en/data-sheet/MPCPCMEC.pdf
 
Back
Top