Interesting... To clarify though, you are using it with just ONE card installed? Mixing a card with my patched ROM and a stock ROM will cause issues.So not sure if its my card but after flashing and trying this rom in my g4 quicksilver, my usb devices stopped working but works fine on another card that has 512k. Im going to see if i can transfer the rom between the cards and try it to see if that does anything.
Update: Yep it is your code @dosdude1, something is funny with it. I have 2 cards here both flashed with the latest rom you have and its doing same thing but not with the 512k rom
Yeah, I was thinking it may be a memory allocation issue... I was able to replicate the issue on my MDD (oddly it didn't happen on my Sawtooth G4, guess down to OF differences). I'll test your changes and see if it makes a difference.The 512k and 117k patched ROMs are supposed to give identical results. Both use the same OS X mkext and OS 9 ndrv. The only difference is that the 117k has to do a decompression step.
Maybe there's an issue with how memory for decompression is handled / allocated?
The compressed patched ROM seems to allocate 54656 bytes for an input buffer, 54656 bytes for an output buffer, and 31377 bytes for the original compressed ndrv. Then it copies 31377 bytes to input buffer and decompresses that to output buffer. The output buffer is used for the property buffer.
Why doesn't it decompress from the original compressed ndrv (without the copy)? Better yet, allocate temporary memory outside of the dictionary, and move the original compressed ndrv to there. Now we can use that part of the dictionary for the decompressed ndrv. All we have to do is allocate more bytes on the dictionary to accommodate the increase in size. Then the ndrv property will come from that place in the dictionary. This way the compressed patched ROM does not use more dictionary space than the original uncompressed patched firmware.
The attached file has the suggested changes. I shortened the strings so they can be pasted into the Open Firmware command line.
I tried your implementation, plus made some further changes, and it still is doing the same thing... I'll have to do some experimenting in OF and see if I can pinpoint the issue.The 512k and 117k patched ROMs are supposed to give identical results. Both use the same OS X mkext and OS 9 ndrv. The only difference is that the 117k has to do a decompression step.
Maybe there's an issue with how memory for decompression is handled / allocated?
The compressed patched ROM seems to allocate 54656 bytes for an input buffer, 54656 bytes for an output buffer, and 31377 bytes for the original compressed ndrv. Then it copies 31377 bytes to input buffer and decompresses that to output buffer. The output buffer is used for the property buffer.
Why doesn't it decompress from the original compressed ndrv (without the copy)? Better yet, allocate temporary memory outside of the dictionary, and move the original compressed ndrv to there. Now we can use that part of the dictionary for the decompressed ndrv. All we have to do is allocate more bytes on the dictionary to accommodate the increase in size. Then the ndrv property will come from that place in the dictionary. This way the compressed patched ROM does not use more dictionary space than the original uncompressed patched firmware.
The attached file has the suggested changes. I shortened the strings so they can be pasted into the Open Firmware command line.
yep just the one card and agpInteresting... To clarify though, you are using it with just ONE card installed? Mixing a card with my patched ROM and a stock ROM will cause issues.
Can you describe the problem in more detail? The Power Mac boots and everything is fine, except USB devices don't work? Mac OS 9 or Mac OS X?So not sure if its my card but after flashing and trying this rom in my g4 quicksilver, my usb devices stopped working but works fine on another card that has 512k. Im going to see if i can transfer the rom between the cards and try it to see if that does anything.
Update: Yep it is your code @dosdude1, something is funny with it. I have 2 cards here both flashed with the latest rom you have and its doing same thing but not with the 512k rom
ioreg -lw0
dump with it working and with it not working?dump-device-tree
in Open Firmware in both cases might also be useful.Does your MDD have a serial port adapter?Yeah, I was thinking it may be a memory allocation issue... I was able to replicate the issue on my MDD (oddly it didn't happen on my Sawtooth G4, guess down to OF differences). I'll test your changes and see if it makes a difference.
probe-all
, output a message before probe-all to know when it starts, and after probe-all to know if it succeeds. You can also add messages in the compressed ROM at the beginning and end to know if it completes properly.TNT Development A5c1 Open Firmware, 0.992j # 256MB BAR support
7500,9500,8600,9600,Power Tower Pro, etc. Open Firmware, 1.0.5 # 256MB BAR support requires Mac OS 9 or Mac OS X nvramrc patches (see PowerSurge.of of joevt/XPostFacto for documentation of patches)
Power Mac 5400,6400 Open Firmware, 2.0 # 256MB BAR support
Beige G3 Desktop Open Firmware, 2.0f1 ATY,FCode 1.49 # 256MB BAR support
Beige G3 Minitower Open Firmware, 2.0f1 ATY,FCode 1.53 # 256MB BAR support
PowerBook G3 Wallstreet Open Firmware, 2.0.1 ATY,FCode 1.54 # 256MB BAR support
PowerBook G3 Wallstreet PDQ Open Firmware, 2.0.1 ATY,FCode 1.59 # 256MB BAR support
Power Mac 6500,TAM Open Firmware, 2.0.3 # 256MB BAR support
Beige G3 (v3) Open Firmware, 2.4 ATY,FCode 1.53 # 256MB BAR support
Power Express Open Firmware 2.0a9 # 256MB BAR support
Power Express Open Firmware 2.3 # 256MB BAR support
Power Mac G3 (Blue & White) OpenFirmware 3.1.1 Apple PowerMac1,1 1.1f4 BootROM built on 04/09/99 at 13:57:32 # 256MB BAR support
Power Mac G4 (PCI Graphics) Yikes OpenFirmware 3 Apple PowerMac1,2 # 256MB BAR support
iMac OpenFirmware 3 ATY,FCode 1.77 Apple PowerMac2,1 4.1.9f1 BootROM built on 09/14/01 at 13:18:04 # 256MB BAR support
Power Mac G4 (AGP Graphics) Sawtooth OpenFirmware 3 ATY,FCode 1.77 Apple PowerMac3,1 4.2.8f1 BootROM built on 10/11/01 at 14:12:47 # 256MB BAR support
Power Mac G4 (Gigabit Ethernet) OpenFirmware 3 Apple PowerMac3,3 4.2.8f1 BootROM built on 10/11/01 at 14:12:47 # 256MB BAR support
Power Mac G4 (Digital Audio) OpenFirmware 3 Apple PowerMac3,4 4.2.8f1 BootROM built on 10/11/01 at 14:12:47 # 256MB BAR support
Power Mac G4 (Quicksilver) OpenFirmware 3 Apple PowerMac3,5 4.2.3f1 BootROM built on 08/01/01 at 11:14:42 # 256MB BAR support
OpenFirmware 3 Apple PowerMac3,5 4.2.5f1 BootROM built on 08/16/01 at 22:19:35 # 256MB BAR support
Power Mac G4 (Mirrored Drive Doors) OpenFirmware 3 ATY,FCode 1.86 Apple PowerMac3,6 4.4.8f2 BootROM built on 09/30/02 at 10:24:31 # 256MB BAR support
Power Mac G4 (FW 800) OpenFirmware 3 Apple PowerMac3,6 4.6.0f1 BootROM built on 02/20/03 at 13:52:27 # 256MB BAR support
Power Mac G5 1.6 (PCI) OpenFirmware 4 Apple PowerMac7,2 5.1.5f2 BootROM built on 09/21/04 at 11:58:53 # 256MB BAR support
Power Mac G5 1.8 (PCI-X) OpenFirmware 4 Apple PowerMac7,2
Power Mac G5 2.0 DP (PCI-X) OpenFirmware 4 Apple PowerMac7,2
Power Mac G5 1.8 DP (PCI-X) OpenFirmware 4 Apple PowerMac7,2
iBook G4 OpenFirmware 3 ATY,FCode 1.94 Apple PowerBook6,5 4.8.7f1 BootROM built on 09/23/04 at 16:13:38 # 512MB BAR support
Power Mac G5 ? (one of the following 3) OpenFirmware 4 Apple PowerMac7,3 5.1.8f7 BootROM built on 10/26/04 at 16:30:32
Power Mac G5 1.8 DP (PCI) OpenFirmware 4 Apple PowerMac7,3
Power Mac G5 2.0 DP (PCI-X 2) OpenFirmware 4 Apple PowerMac7,3
Power Mac G5 2.5 DP (PCI-X) OpenFirmware 4 Apple PowerMac7,3
Mac mini G4 OpenFirmware 3 ATY,FCode 1.95 Apple PowerMac10,1 4.8.9f4 BootROM built on 03/23/05 at 14:22:23 # 512MB BAR support
PowerBook G4 DLSD OpenFirmware 3 ATY,FCode 1.95 Apple PowerBook5,8 4.9.5f3 BootROM built on 09/22/05 at 16:17:32 # 512MB BAR support ; allocates BARs by descending size when 512MB BAR exists
Power Mac G5 Quad OpenFirmware 4 Apple PowerMac11,2 5.2.7f1 BootROM built on 09/30/05 at 15:31:03 # 512MB BAR support ; allocates BARs by descending size when 512MB BAR exists
PowerBook ? OpenFirmware 3 Apple PowerBook5,9 4.9.6f0 BootROM built on 10/05/05 at 16:45:50
BARs are allocated by ascending size except where noted.
I have attached the ioreg dump from my MDD with the card installed, USB not working. My USB2.0 PCI card I have installed also does not work. I unfortunately do not have a serial adapter, so I can't get a console output that early in the boot process. I'll have to get/build one I guess for further testing. I also cannot get into OF with the card installed, as USB does not work and therefore the machine does not detect the keypresses. I have tested the card with the compressed ROM in my PowerMac 6500, and there it works without issue. Same in my Beige G3, which notably has a PCI USB card installed, which DOES work with the SATA card installed with the compressed ROM. The only thing I have not tested yet is the compressed ROM image on a 512K EEPROM, I'll try that and see if it makes a difference, but I doubt it will.Can you describe the problem in more detail? The Power Mac boots and everything is fine, except USB devices don't work? Mac OS 9 or Mac OS X?
If Mac OS X, can we get anioreg -lw0
dump with it working and with it not working?
If Mac OS 9, Display Name Registry or DisplayNameRegistry or my DumpNameRegistry.
Output fromdump-device-tree
in Open Firmware in both cases might also be useful.
Does your MDD have a serial port adapter?
http://macos9lives.com/smforum/index.php?topic=3623.0
If so, then you could set OF input and output device to serial, edit nvramrc to enable console beforeprobe-all
, output a message before probe-all to know when it starts, and after probe-all to know if it succeeds. You can also add messages in the compressed ROM at the beginning and end to know if it completes properly.
Have you tried the compressed rom on a 512K card?
Has anyone tested Old World Mac such as Beige G3 or Power Mac 7500? Those don't have USB though.
Power Mac OF versions:
Code:TNT Development A5c1 Open Firmware, 0.992j # 256MB BAR support 7500,9500,8600,9600,Power Tower Pro, etc. Open Firmware, 1.0.5 # 256MB BAR support requires Mac OS 9 or Mac OS X nvramrc patches (see PowerSurge.of of joevt/XPostFacto for documentation of patches) Power Mac 5400,6400 Open Firmware, 2.0 # 256MB BAR support Beige G3 Desktop Open Firmware, 2.0f1 ATY,FCode 1.49 # 256MB BAR support Beige G3 Minitower Open Firmware, 2.0f1 ATY,FCode 1.53 # 256MB BAR support PowerBook G3 Wallstreet Open Firmware, 2.0.1 ATY,FCode 1.54 # 256MB BAR support PowerBook G3 Wallstreet PDQ Open Firmware, 2.0.1 ATY,FCode 1.59 # 256MB BAR support Power Mac 6500,TAM Open Firmware, 2.0.3 # 256MB BAR support Beige G3 (v3) Open Firmware, 2.4 ATY,FCode 1.53 # 256MB BAR support Power Express Open Firmware 2.0a9 # 256MB BAR support Power Express Open Firmware 2.3 # 256MB BAR support Power Mac G3 (Blue & White) OpenFirmware 3.1.1 Apple PowerMac1,1 1.1f4 BootROM built on 04/09/99 at 13:57:32 # 256MB BAR support Power Mac G4 (PCI Graphics) Yikes OpenFirmware 3 Apple PowerMac1,2 # 256MB BAR support iMac OpenFirmware 3 ATY,FCode 1.77 Apple PowerMac2,1 4.1.9f1 BootROM built on 09/14/01 at 13:18:04 # 256MB BAR support Power Mac G4 (AGP Graphics) Sawtooth OpenFirmware 3 ATY,FCode 1.77 Apple PowerMac3,1 4.2.8f1 BootROM built on 10/11/01 at 14:12:47 # 256MB BAR support Power Mac G4 (Gigabit Ethernet) OpenFirmware 3 Apple PowerMac3,3 4.2.8f1 BootROM built on 10/11/01 at 14:12:47 # 256MB BAR support Power Mac G4 (Digital Audio) OpenFirmware 3 Apple PowerMac3,4 4.2.8f1 BootROM built on 10/11/01 at 14:12:47 # 256MB BAR support Power Mac G4 (Quicksilver) OpenFirmware 3 Apple PowerMac3,5 4.2.3f1 BootROM built on 08/01/01 at 11:14:42 # 256MB BAR support OpenFirmware 3 Apple PowerMac3,5 4.2.5f1 BootROM built on 08/16/01 at 22:19:35 # 256MB BAR support Power Mac G4 (Mirrored Drive Doors) OpenFirmware 3 ATY,FCode 1.86 Apple PowerMac3,6 4.4.8f2 BootROM built on 09/30/02 at 10:24:31 # 256MB BAR support Power Mac G4 (FW 800) OpenFirmware 3 Apple PowerMac3,6 4.6.0f1 BootROM built on 02/20/03 at 13:52:27 # 256MB BAR support Power Mac G5 1.6 (PCI) OpenFirmware 4 Apple PowerMac7,2 5.1.5f2 BootROM built on 09/21/04 at 11:58:53 # 256MB BAR support Power Mac G5 1.8 (PCI-X) OpenFirmware 4 Apple PowerMac7,2 Power Mac G5 2.0 DP (PCI-X) OpenFirmware 4 Apple PowerMac7,2 Power Mac G5 1.8 DP (PCI-X) OpenFirmware 4 Apple PowerMac7,2 iBook G4 OpenFirmware 3 ATY,FCode 1.94 Apple PowerBook6,5 4.8.7f1 BootROM built on 09/23/04 at 16:13:38 # 512MB BAR support Power Mac G5 ? (one of the following 3) OpenFirmware 4 Apple PowerMac7,3 5.1.8f7 BootROM built on 10/26/04 at 16:30:32 Power Mac G5 1.8 DP (PCI) OpenFirmware 4 Apple PowerMac7,3 Power Mac G5 2.0 DP (PCI-X 2) OpenFirmware 4 Apple PowerMac7,3 Power Mac G5 2.5 DP (PCI-X) OpenFirmware 4 Apple PowerMac7,3 Mac mini G4 OpenFirmware 3 ATY,FCode 1.95 Apple PowerMac10,1 4.8.9f4 BootROM built on 03/23/05 at 14:22:23 # 512MB BAR support PowerBook G4 DLSD OpenFirmware 3 ATY,FCode 1.95 Apple PowerBook5,8 4.9.5f3 BootROM built on 09/22/05 at 16:17:32 # 512MB BAR support ; allocates BARs by descending size when 512MB BAR exists Power Mac G5 Quad OpenFirmware 4 Apple PowerMac11,2 5.2.7f1 BootROM built on 09/30/05 at 15:31:03 # 512MB BAR support ; allocates BARs by descending size when 512MB BAR exists PowerBook ? OpenFirmware 3 Apple PowerBook5,9 4.9.6f0 BootROM built on 10/05/05 at 16:45:50 BARs are allocated by ascending size except where noted.
Sawtooth is older than QuickSilver which is older than MDD. Strange that the problem is with the newer G4s.
Is driver,AAPL,MacOS,PowerPC supposed to be missing in Seri-Tek1S2?I have attached the ioreg dump from my MDD with the card installed, USB not working. I unfortunately do not have a serial adapter, so I can't get a console output that early in the boot process. I'll have to get/build one I guess for further testing. I also cannot get into OF with the card installed, as USB does not work and therefore the machine does not detect the keypresses. I have tested the card with the compressed ROM in my PowerMac 6500, and there it works without issue. Same in my Beige G3. The only thing I have not tested yet is the compressed ROM image on a 512K EEPROM, I'll try that and see if it makes a difference, but I doubt it will.
dev / ls
in nvramrc before probe-all install-console banner
to see if all the devices and packages necessary for telnet are available at that time.The driver,AAPL,MacOS,PowerPC entry does NOT show under OS X normally. This is honestly the most bizarre and annoying issue I have ever experienced. I've tested every part of the implementation individually; declaring words but doing nothing else, filling all input and output buffers, switching all buffers over to using "alloc-mem" instead of "allot"... And everything executes at boot without causing USB issues UNLESS the decompression routine is executed. I have checked over and over again to ensure no buffers are being overrun. I tried only decompressing a very small snippet of the data, and it still caused the USB issue. I modified the FCode to not execute the decompression routine on start, so I could execute it manually while at the OF prompt, and from there it works without causing any issue. Nothing is left on the stack after the decompression routine is executed. It's like it somehow causes it to just stop probing further, as the USB devices come right after the PCI slots in the device tree.Is driver,AAPL,MacOS,PowerPC supposed to be missing in Seri-Tek1S2?
Nvidia's driver,AAPL,MacOS,PowerPC is there because Mac OS X has a GPU ndrv compatibility layer.
Maybe Mac OS X removed the driver,AAPL,MacOS,PowerPC for Seri-Tek1S2 because it's unused in that case (it's not a GPU).
Do you have a 512k rom that lets USB work to get an ioreg for compare?
I wonder if telnet console can work. You can do adev / ls
in nvramrc beforeprobe-all install-console banner
to see if all the devices and packages necessary for telnet are available at that time.
Even if you can't use use console before probe-all, text output that is generated before install-console is buffered and will be output when install-console is executed. So a small number of messages can be output to display console at least.
probe-all install-console banner lzzdecompress
in the nvramrc.Anyone having issues with the flasher hard locking? My 7500/100 (G3 Card) just seems to instalock os 9 the second I hit update firmware.I FINALLY got it figured out, well, sort of... I couldn't figure out what in my implementation was causing the issue, so I decided to make a new implementation, based off a different C implementation along with a (broken) Forth implementation I came across. With this decompression routine implemented, the USB probing issue stopped happening on my MDD! So now, finally, we have a fully working ROM that fits onto a 128K EEPROM! I have attached this new ROM below, along with my patched copy of the OS 9 SeriTek flasher tool with said ROM embedded (which will allow you to flash a "blank" card with any EEPROM), as well as the Forth source of the new decompression implementation.
Mine did the same. It was suggested the eeprom might be incompatible. I havent done anymore attempts since then, though.Anyone having issues with the flasher hard locking? My 7500/100 (G3 Card) just seems to instalock os 9 the second I hit update firmware.