• 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.

croissantking's conquests

The Gossamer HWInit includes the following table of bus and DEC frequencies:
The table is described in @powermax 's disassembly of the Gossamer HWInit routine (attached).

Using the @elliotnunn 's tbxi command, you'll find the table in ExceptionTable, rather than in HWInit. ExceptionTable happens before HWInit. Actually, for the Beige G3, the HWInit section is 0 bytes and the HWInit created by tbxi should actually be named OpenFW.

The table looks like this (ignore the grackle < v4 table):
Code:
cd "/Volumes/Work/Open Firmware and Name Registry/ROM PowerPC Mac/ROM Beige G3 rev D2 2.4"

printtable () {
	local version=$1
	local start=$((0x33b4))
	local count=4
	if ((version >= 4)); then
		((start += 0x120))
		((count = 8))
	fi
	i=0
	for thenum in $(dd if="$(ls "ROMs/"*".src/ExceptionTable")" bs=1 skip=$start count=$((count*4*18)) 2> /dev/null | xxd -p -g4 -c$((4*18)) | sed -E 's/(.{8})/ \1/g'); do
		((i++))
		printf "%10d " $((0x$thenum))
		((i == 18)) && { printf "\n" ; i=0 }
	done
}

printtable 3
  50000000   12500000   50000000  375000000  350000000   50000000  100000000  325000000  125000000  225000000  150000000  275000000  200000000  250000000  400000000  300000000  175000000          0 
  60000000   15000000   60000000  450000000  420000000   60000000  120000000  390000000  150000000  270000000  180000000  330000000  240000000  300000000  480000000  360000000  210000000          0 
  66666666   16666666   66666666  499999995  466666662   66666666  133333332  433333329  166666665  299999997  199999998  366666663  266666664  333333330  533333328  399999996  233333331          0 
  75000000   18750000   75000000  562500000  525000000   75000000  150000000  487500000  187500000  337500000  225000000  412500000  300000000  375000000  600000000  450000000  262500000          0 

printtable 4
  75000000   18750000   75000000  562500000  525000000   75000000  150000000  487500000  187500000  337500000  225000000  412500000  300000000  375000000  600000000  450000000  262500000          0 
  70000000   17500000   70000000  525000000  490000000   70000000  140000000  455000000  175000000  315000000  210000000  385000000  280000000  350000000  560000000  420000000  245000000          0 
  78750000   19687500   78750000  590625000  551250000   78750000  157500000  511875000  196875000  354375000  236250000  433125000  315000000  393750000  630000000  472500000  275625000          0 
         0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0 
  75000000   18750000   75000000  562500000  525000000   75000000  150000000  487500000  187500000  337500000  225000000  412500000  300000000  375000000  600000000  450000000  262500000          0 
  60000000   15000000   60000000  450000000  420000000   60000000  120000000  390000000  150000000  270000000  180000000  330000000  240000000  300000000  480000000  360000000  210000000          0 
  66820000   16705000   66820000  501150000  467740000   66820000  133640000  434330000  167050000  300690000  200460000  367510000  267280000  334100000  534560000  400920000  233870000          0 
  83000000   20750000   83000000  622500000  581000000   83000000  166000000  539500000  207500000  373500000  249000000  456500000  332000000  415000000  664000000  498000000  290500000          0

@joevt does the trayloader iMac have the same HWinit table in ROM?
I don't think so. I haven't tried disassembling it. Maybe powermax has. It might have a table or it might have a timing loop.
I've attached some disassemblies. Note ExceptionTable from tbxi is called Start in my New World ROM disassemblies because booting starts in the exception table at exception vector 0x100 at 0xFFF00100.

tbxi works on Old World ROMs and New World ROM files, not the 1MB New World ROMs. I have my own scripts/tools to take the New World ROMs apart.

This table is from the SC608 clock generator datasheet (download link), used on both the trayloader and Beige. It seems to suggest that the bus speed is set here rather than on the Grackle itself? Or that the settings here need to tally with the Grackle PLL setting (and probably the ROM as well).

View attachment 84971
That table seems to match the 8 items in the grackle v4 table dump. The table dump seems to indicate that XIN is 150 MHz? You need XIN to be 200 MHz to get a 100 MHz bus? But then PCI would be 50 MHz (far greater than the 33 MHz default)?

The 8 items are selected by the 3 bits of the system register that I mentioned at https://forums.macrumors.com/thread...mory-controller-upgrade.2119510/post-33831598

One of 16 numbers in the table row is selected by the 4-bit PLL.

The Gossamer schematics shows where those 3 + 4 bits comes from?

The clock generator on the B/W/Yikes is a different part (SC683) and not pin compatible.
I've included some iMac, Beige G3, and B&W G3 stuff. I haven't looked at the Start/HWInit stuff though.
 

Attachments

Converted another PowerBook 500 Series 4MB RAM card into a 32MB card.

Here it is on my preheater with the original chips, which are interestingly SOJs rather than TSOPs, quite unusual to see that.

IMG_4159.JPG

Here it is after the transformation, installed above one of my Full 040 modded CPU cards. I had to move some of the resistors to enable the use of the higher density chips.

IMG_4165.JPG

It's almost becoming routine now :D
 
Last edited:
Impressive work!

Nube questions here--do you use a solder wick to remove the original chips? In addition to your preheater do you also use a hot air?

Finally, do you use drag-soldering to install the RAM chips and the CPU?

Thanks!
 
Impressive work!

Thanks :)

Nube questions here--do you use a solder wick to remove the original chips? In addition to your preheater do you also use a hot air?

Preheat from beneath, add flux to the top side along the pins, and then hot air to remove the chips. I use solderwick only to clean up the pads.

Finally, do you use drag-soldering to install the RAM chips and the CPU?

I do indeed.
 
Thanks :)



Preheat from beneath, add flux to the top side along the pins, and then hot air to remove the chips. I use solderwick only to clean up the pads.



I do indeed.
I like the rails on your pre-heater. I bought an Aoyue unit last year that has only a set of short, narrow bars to hold the PCB making it a true PITA to use. Were those rails OEM or third-party?
 
I picked up this weird frankenstein-eque 8MB RAM card for my spare PowerBook 180. I guess it was designed like that to gain clearance so they could put thick chips on the top side. It’s interesting and also quite janky. I’ll of course be bumping it to 10MB.

IMG_4212.jpeg
 
I’m now part of the Radius club.
It took over a year, but I finally repaired a stone dead PrecisionColor 24X graphics card (see the full thread here) which had multiple problems (areas circled in green).

IMG_7264.jpeg

The card in its dead state has done the rounds amongst several UK forum members, so it’s had an interesting life. I wonder what could have happened to it previously.
It’s uplifting to see cheap parts like bus transceivers and clock generators failing and not priceless ASICs.
 
I've been on the hunt for a lower case shield for my Quadra 840AV. The original one is long gone due to battery leakage – here's a flashback to when I acquired the machine in Feb 2024:

IMG_6974.JPG

I scraped all that rust staining off the plastic so it at least looked clean, but without the shield it felt incomplete.

Getting one turned into a bit of a saga.

I found a eBay seller who had a couple of lower housings from PM8100 and 8500 machines respectively, which included the shield. I bought the 8100 housing but it never arrived and after a month I got a refund. So I bought the 8500 housing, but there was a problem – postage prices had increased so they wanted me to either buy more parts or pay extra for postage. I asked if detaching and mailing only the shield would keep the postage in the original price bracket. They said it would, so that was fine, except that I found out they bent it in half to fit in the box they used. I was not pleased about that.

IMG_5329.JPG

Well, I was able to straighten it adequately. But it looked rough from all the corrosion.

IMG_5330.JPG

I polished it thoroughly with Brasso, and it cleaned up nicely. I'm really pleased with how it turned out, given the state it was in.

It's a darker – gunmetal – colour than it used to be, but there's not much that can be done about that without replating it.

It doesn't look new, but it looks decently smart.

IMG_5377.JPG

IMG_5380.JPG
 
Last edited:
I’ve just liberated two ex-Bradford University 475 type machines, one is an LC and the other is a Performa. Both machines have stock RAM, VRAM and hard disks.

IMG_6308.jpeg


IMG_6283.jpeg

The Performa is newer, and includes an Ethernet card. I popped in a battery and it came to life, but it would hang if it tried to access the hard drive - a 250MB Quantum - either with a happy Mac icon, or at the desktop if booting from a floppy. The same hang happened when I connected the HD to my Beige G3 running Mac OS 9.1 as soon as it tried to mount it.

At first I thought it was a failed drive, despite it making all the right initialisation seek noises. Then I connected it up to a ZuluSCSI unit in initiator mode (great feature!) and it successfully dumped the contents of the drive, although the image later needed massive repairs. Anyway, I concluded that perhaps the drive simply had a very corrupt partition/boot sector. I solved this by starting up my Beige G3 in Mac OS X, which allowed me to format it. And then finally classic OS could mount it.

IMG_6271.jpeg

IMG_6245.jpeg

The LC 475, despite looking better externally, is in a sorry state internally.

IMG_6232.jpeg

The battery has leaked fairly badly. The machine looks to have been stored on its side and so the acid has dripped down onto some of the rear ports and the audio circuitry.

IMG_6236.jpeg

It’s a ‘Hawker Eternacell’, made in UK with a date code (expiry?) of 01/98. Not sure if this would be original to the machine or not.

IMG_6240.jpeg

The machine actually boots and runs, just has no sound, which is fairly impressive. I think I can get this cleaned up and recapped nicely. SCSI, ADB and sound in/out ports all need replacing and I’ll get some rust converter for the case shields.

The hard drive on this one is dead as can be - it made the most awful scraping noise when it tried to spin up. I’ve started the autopsy already - something looks very wrong with the platters.

IMG_6263.jpeg

Overall a decent haul and a fun project.
 
Last edited:
IMG_6348.jpeg

Found a couple of hours after work to start cleaning up the battery damaged LC 475 board.

Egret and DFAC-II will have to come off during the next repair session.

Does anyone have a Mouser part number for the common mode choke and microphone input port (the longer one) pictured?
 
Back
Top