True. What might be nice though is a method to use the sawtooth to understand how the GPU is supposed to function. I imagine we could add code to output every read and write to the GPU's registers and see how it differs between the sawtooth and the beige.
I asked before, does the 6200 have a 128K chip? It would make adding code easier. Otherwise, a method to load from disk in Open Firmware may be required. Perhaps the expansion ROM base address register is indicating 128K even though the rom chip is only 64K? I guess the only way to find out is to try and flash a 128K rom?
What about pci-probe-list on the sawtooth? How do the bits translate to devices, since the sawtooth has a more complicated pci layout:
Code:
/pci@f0000000
/pci@f0000000/uni-north-agp@b
/pci@f0000000/NVDA,Parent@10
/pci@f0000000/NVDA,Parent@10/NVDA,Display-B@1
/pci@f0000000/NVDA,Parent@10/NVDA,Display-A@0
/pci@f2000000
/pci@f2000000/pci-bridge@d
/pci@f2000000/pci-bridge@d/mac-io@7
/pci@f2000000/pci-bridge@d/mac-io@7/interrupt-controller@40000
/pci@f2000000/pci-bridge@d/mac-io@7/gpio@50
/pci@f2000000/pci-bridge@d/mac-io@7/gpio@50/extint-gpio1
/pci@f2000000/pci-bridge@d/mac-io@7/gpio@50/programmer-switch
/pci@f2000000/pci-bridge@d/mac-io@7/escc-legacy@12000
/pci@f2000000/pci-bridge@d/mac-io@7/escc-legacy@12000/ch-a@12004
/pci@f2000000/pci-bridge@d/mac-io@7/escc-legacy@12000/ch-b@12000
/pci@f2000000/pci-bridge@d/mac-io@7/escc@13000
/pci@f2000000/pci-bridge@d/mac-io@7/escc@13000/ch-a@13020
/pci@f2000000/pci-bridge@d/mac-io@7/escc@13000/ch-b@13000
/pci@f2000000/pci-bridge@d/mac-io@7/davbus@14000
/pci@f2000000/pci-bridge@d/mac-io@7/davbus@14000/sound
/pci@f2000000/pci-bridge@d/mac-io@7/timer@15000
/pci@f2000000/pci-bridge@d/mac-io@7/via-pmu@16000
/pci@f2000000/pci-bridge@d/mac-io@7/via-pmu@16000/rtc
/pci@f2000000/pci-bridge@d/mac-io@7/via-pmu@16000/power-mgt
/pci@f2000000/pci-bridge@d/mac-io@7/via-pmu@16000/power-mgt/usb-power-mgt
/pci@f2000000/pci-bridge@d/mac-io@7/i2c@18000
/pci@f2000000/pci-bridge@d/mac-io@7/i2c@18000/cereal
/pci@f2000000/pci-bridge@d/mac-io@7/ata-4@1f000
/pci@f2000000/pci-bridge@d/mac-io@7/ata-4@1f000/disk
/pci@f2000000/pci-bridge@d/mac-io@7/ata-3@20000
/pci@f2000000/pci-bridge@d/mac-io@7/ata-3@20000/disk
/pci@f2000000/pci-bridge@d/mac-io@7/ata-3@21000
/pci@f2000000/pci-bridge@d/mac-io@7/ata-3@21000/disk
/pci@f2000000/pci-bridge@d/NVDA,Parent@3
/pci@f2000000/pci-bridge@d/NVDA,Parent@3/NVDA,Display-A@0
/pci@f2000000/pci-bridge@d/NVDA,Parent@3/NVDA,Display-B@1
/pci@f2000000/pci-bridge@d/NVDA,Parent@3/sensor-parent@2
/pci@f2000000/pci-bridge@d/NVDA,Parent@3/sensor-parent@2/gpu-diode-temperature@0
/pci@f2000000/pci-bridge@d/WiebeSATA3112@4
/pci@f2000000/pci-bridge@d/WiebeSATA3112@4/sd
/pci@f2000000/pci-bridge@d/usb@8
/pci@f2000000/pci-bridge@d/usb@8/hub@1
/pci@f2000000/pci-bridge@d/usb@8/hub@1/device@1
/pci@f2000000/pci-bridge@d/usb@8/hub@1/device@1/keyboard@0
/pci@f2000000/pci-bridge@d/usb@8/hub@1/device@1/eject-key@1
/pci@f2000000/pci-bridge@d/usb@9
/pci@f2000000/pci-bridge@d/firewire@a
/pci@f4000000
/pci@f4000000/ethernet@f
/pci@f4000000/ethernet@f/ethernet-phy
It may be useful to have pci-probe-list skip the 6200. Do some commands to setup logging, then reset pci-probe-list and call probe-all to execute the 6200 fcode.
I attached some notes:
- how to dump the Open Firmware dictionary which is useful to see how fcode is compiled or for New World Macs where it is unknown how to extract the fcode images (I think there's compression or something in the rom).
- how to dump the rom of a new world Mac, in case a method to decompress the bits is found.
- notes about pci-probe-list for B&W G3 for comparison with other New World Macs.