Author Topic: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)  (Read 150877 times)

Offline dosdude1

  • Enthusiast Member
  • ***
  • Posts: 42
  • New Member
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #200 on: February 04, 2023, 03:00:43 PM »
I tried the utility, it works!!
But this board apparently requires additional modifications, because after flashing the PowerMac G4 MDD (2003) won't boot.

dosdude1, I think it would be cool if you could release the OS9 only stripped down version that does not use any kind of compression. One less variable in testing.
I've already thoroughly tested the ROM, that isn't causing the issue. What could be causing an issue, though, is the voltage regulators on the card causing problems, which is a known issue with some cheap Sil3112 cards on later QuickSilver and MDD models. You have to modify one of the voltage regulators on the card to fix this issue. Another potential issue could be the OS9 utility not properly writing the ROM, but that wouldn't cause the system to stop booting.

Offline V.Yakob

  • Enthusiast Member
  • ***
  • Posts: 76
  • Mac User
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #201 on: February 05, 2023, 12:34:22 AM »
The voltage regulators could be causing this issue, apparently that can happen on some QuickSilver and/or MDD systems with some Sil3112 cards. Did you try this card in another machine? It does look like you were able to get it to boot in something, considering System Profiler sees it. Oh, and one other thing. Make sure you do NOT have two cards installed. The drivers in my ROM have been modified to remove the EEPROM ID check, and will conflict with another card if it still has the stock, unmodified ROM.
With this board, MDD was launched, the board was defined in OS9, as can be seen on the screen.
I did the flashed when 2 boards were installed: modified and non-modifyed.
Maybe the failure occurred because of this, or there may be a reason in the voltage regulators. In any case, this EPROM is now only to remove, for flashing by the programmer.
Someday later. :)
PPC — PM 8100/80, PM 9600/300, PM G3 Minitower (Rev. C), PM G3 B&W (Rev. B), PM G4 Quicksilver (2002), PM G4 MDD (2003), PM G5 (Late 2005).
Intel — Mac mini (mid 2010), iMac 5k (2017), Mac mini (2018).
AppleSilicon — Mac mini (2020), Mac Studio M2 Max + Apple Studio Display.

Offline joevt

  • Enthusiast Member
  • ***
  • Posts: 65
  • New Member
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #202 on: February 05, 2023, 02:06:23 AM »
Can you tell me how to compile a project to get kext? I only get a unix file.
I have very little experience in xcode, for all the time I collected 2-3 applications that I found on GitHub. ::)
In Xcode 3.2.6 and earlier, there's a menu where you select the target (KEXT, framework, library) and the type of build (Release, Debug).

Here, try this v1.6 (Intel/PPC). Just built it on Intel 10.6.8, xcode 3.2.6 with 10.4/10.5/10.6 sdk's. Still got two errors on build, but I don't want to dive deeper into it. Current master version produced even more errors, so I skipped it. I'm flying blind here, so it's not tested.

* Why don't you guys provide pre-built binaries on you githubs? Why do we all have to go thru all the pains?  ;)

Quote
** BUILD SUCCEEDED **

cc DirectHW.c -dynamiclib -framework IOKit -o libDirectHW.dylib
In file included from DirectHW.c:19:
MacOSMacros.h:54:6: warning: #warning x86_64
MacOSMacros.h:70:6: warning: #warning SDK 10.6+
cc -static -c DirectHW.c -o libDirectHW.a
In file included from DirectHW.c:19:
MacOSMacros.h:54:6: warning: #warning x86_64
MacOSMacros.h:70:6: warning: #warning SDK 10.6+
mv libDirectHW.dylib build/Release/libDirectHW.dylib
mv: rename libDirectHW.dylib to build/Release/libDirectHW.dylib: No such file or directory
make[1]: *** [libs] Error 1
make: *** [directhw] Error 2
I didn't update the makefile since I only needed the kext which I build in Xcode instead of using make.
The xcodebuild command probably should be updated to specify the 10.6 project since the DirectHW folder contains two Xcode projects.
I think you need to change build to build/build10.6

The makefile installs the kext to /Library/Extensions/DirectHW.kext but that's not necessary for old versions of macOS. In old versions of macOS (10.8 and earlier) or new versions of macOS with SIP disabled (10.11 - 10.15) You can load it manually as long as it has proper file permissions. macOS 11 - 13 requires installing to /Library/Extensions and allowing the kext in Security preferences panel.

The makefile installs the framework, dylib, library, and object files to default locations on your system so that apps that don't compile or link the DirectHW.c file directly into their binary can use the code. DirectHW on PPC probably won't do anything for flashrom until you make changes and recompile flashrom.

Code: [Select]
pciutils testing:

                        arch    darwin  darwin2 darwin3 intel-conf1     How to load unsigned DirectHW.kext
10.4.11 Tiger           p       -       -       p       -               
10.5.8  Leopard         pP      -       -       pP      -               
10.4.11 Tiger             i     i       -       p i     pi               
10.5.8  Leopard           ix    ix      -       p ix    pix             
10.6.8  Snow Leopard       x    ix      -       p ix    pix             
10.7.5  Lion               x    ix      -         ix     ix             
10.8.5  Mountain Lion      x    ix      -         ix     ix             
10.9.5  Mavericks          x    ix      -         ix     ix             install to /System/Library/Extensions.
10.10.5 Yosemite           x    ix      ix        ix     ix             add "kext-dev-mode=1" to boot-args.
10.11.6 El Capitan         x    -       -         ix     ix             disable SIP.
10.12.6 Sierra             x    -       panic     ix     ix             disable SIP.
10.13.6 High Sierra        x    ix      ix        ix     ix             disable SIP.
10.14.6 Mojave             x    ix      ix        ix     ix             disable SIP.
10.15.7 Catalina           x     x       x         x      x             disable SIP.
11.7.2  Big Sur            x     x       x         x      x             disable SIP. Install to /Library/Extensions. Allow in "Security & Privacy" preferences panel. Restart.
12.6.2  Monterey           x     x       x         x      x             disable SIP. Install to /Library/Extensions. Allow in "Security & Privacy" preferences panel. Restart.
13.1    Ventura            x     x       x         x      x             disable SIP. Install to /Library/Extensions. Allow in "Security & Privacy" preferences panel. Restart.

                kernel          user
p = ppc         10.1            10.1
P = ppc64       -               10.5 SDK (only works on PPC Mac)
i = i386        10.4            10.4
x = x86_64      10.6            10.6
a = arm64       11              11

- for 10.1 to 10.3 : use GCC 3.3 and the oldest SDK.
- for 10.4 Xcode 2.2.x or 2.3, use GCC 4.0 and 10.4 SDK (not 10.4u).
- for 10.4 Xcode 2.4 or later, define KPI_10_4_0_PPC_COMPAT for PPC architecture, use 10.4u SDK for both PowerPC and Intel.
- for ppc64 user, 10.5 SDK has 64 bit libraries.

# darwin doesn't work from ppc userspace because AppleACPIPlatformExpert user client doesn't support cross endian.
# darwin doesn't work with ppc kernel since ppc doesn't have ACPI and doesn't use AppleACPIPlatformExpert.
# intel-conf1 method only supports registers 00-FF.
# both darwin3 and intel-conf1 require DirectHW.kext.
# darwin3 requires joevt/directhw.
# ppc userspace requires joevt/directhw.
# darwin and darwin2 require boot-args to contain "debug=".
# all require administrator rights.
# darwin2 requires OS X 10.10 or later.
# darwin and darwin2 don't seem to work in OS X 10.11; instead, use Darwin3 or intel-conf1 with DirectHW.kext.

Correct, along with changing the size in the FCode header and the number of blocks in the PCI header. That was the only thing I could do not being able to re-tokenize the whole thing. I did try your DumpPCIRom.sh script, but it segfaulted when attempting to decode the original ROM when using that perl script, and produced too many untokenizable words when trying to decode it with the NDRVs stripped out (which apparently were what was causing the segfault).
Maybe you need updated versions. What version of macOS were you using? I use it in Monterey currently. The script works with my version of detok.

Offline dosdude1

  • Enthusiast Member
  • ***
  • Posts: 42
  • New Member
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #203 on: February 05, 2023, 10:19:27 AM »
Correct, along with changing the size in the FCode header and the number of blocks in the PCI header. That was the only thing I could do not being able to re-tokenize the whole thing. I did try your DumpPCIRom.sh script, but it segfaulted when attempting to decode the original ROM when using that perl script, and produced too many untokenizable words when trying to decode it with the NDRVs stripped out (which apparently were what was causing the segfault).
Maybe you need updated versions. What version of macOS were you using? I use it in Monterey currently. The script works with my version of detok.
Ah, that's probably why, then. I'm using OS X 10.9 Mavericks, with an unmodified version of Detok.

Offline ssp3

  • Platinum Member
  • *****
  • Posts: 710
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #204 on: February 05, 2023, 10:35:53 AM »
I didn't update the makefile since I only needed the kext which I build in Xcode instead of using make.
The xcodebuild command probably should be updated to specify the 10.6 project since the DirectHW folder contains two Xcode projects. I think you need to change build to build/build10.6
First thing I did is yanked that other project and, yes, I used make. I did not use xcodebuild. For the kicks I tried to build it now directly in xcode and look what I got. ;)
I overlooked those warnings in terminal before, they were probably there.
« Last Edit: February 05, 2023, 11:00:36 AM by ssp3 »
If you're not part of the solution, you're part of the problem.

Offline V.Yakob

  • Enthusiast Member
  • ***
  • Posts: 76
  • Mac User
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #205 on: February 06, 2023, 12:07:36 PM »
That application does not allow you to flash a "blank" card, or one that doesn't have one of the three "supported" 512K EEPROMs installed. I did already patch the OS9 version of this tool to be able to flash an unflashed card with any EEPROM, which I've attached here (already bundled with my compressed 128K ROM image), however in my testing I've found that sometimes the tool just locks up depending on the EEPROM you have installed. Definitely at least worth a try, though.
But this board apparently requires additional modifications, because after flashing the PowerMac G4 MDD (2003) won't boot. The boot hangs on the gray screen, the USB does not work (there was a trembling on my back). :o
Another board, MDD booted with it, after flashing: Power on -> Bong -> the boot disk search icon appears -> gray screen. USB doesn't work, so I can't go to OpenFirware and see how the card is detected.
2 MDDs have the same behavior.
This time OS9 was booted from PATA HDD, the flashing was also performed without visible problems.
In general, for that "red" board, I will order EPROM chip 39SF040A, and flash the uncompressed firmware version, see what happens.
And with this "black" board (AM29F010B) I will do the same as last time: replacing the EPROM chip with PM39LV040 and transferring 0 ohms of the resistor.

Probably in a month. ;D

P.S. It's good that I bought a programmer last month. 8)
« Last Edit: February 06, 2023, 12:31:21 PM by V.Yakob »
PPC — PM 8100/80, PM 9600/300, PM G3 Minitower (Rev. C), PM G3 B&W (Rev. B), PM G4 Quicksilver (2002), PM G4 MDD (2003), PM G5 (Late 2005).
Intel — Mac mini (mid 2010), iMac 5k (2017), Mac mini (2018).
AppleSilicon — Mac mini (2020), Mac Studio M2 Max + Apple Studio Display.

Offline dosdude1

  • Enthusiast Member
  • ***
  • Posts: 42
  • New Member
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #206 on: February 06, 2023, 01:44:48 PM »
That application does not allow you to flash a "blank" card, or one that doesn't have one of the three "supported" 512K EEPROMs installed. I did already patch the OS9 version of this tool to be able to flash an unflashed card with any EEPROM, which I've attached here (already bundled with my compressed 128K ROM image), however in my testing I've found that sometimes the tool just locks up depending on the EEPROM you have installed. Definitely at least worth a try, though.
But this board apparently requires additional modifications, because after flashing the PowerMac G4 MDD (2003) won't boot. The boot hangs on the gray screen, the USB does not work (there was a trembling on my back). :o
Another board, MDD booted with it, after flashing: Power on -> Bong -> the boot disk search icon appears -> gray screen. USB doesn't work, so I can't go to OpenFirware and see how the card is detected.
2 MDDs have the same behavior.
This time OS9 was booted from PATA HDD, the flashing was also performed without visible problems.
In general, for that "red" board, I will order EPROM chip 39SF040A, and flash the uncompressed firmware version, see what happens.
And with this "black" board (AM29F010B) I will do the same as last time: replacing the EPROM chip with PM39LV040 and transferring 0 ohms of the resistor.

Probably in a month. ;D

P.S. It's good that I bought a programmer last month. 8)
It is the decompression routine that's causing the issue, I've been able to verify that on my own MDD. Unfortunately so far I've been unable to figure out exactly WHY it's causing this issue, so I'm working on that now still. You should be able to recover the card without soldering by using Flashrom on a PC, or using an older Mac, which does not exhibit this issue.

Offline V.Yakob

  • Enthusiast Member
  • ***
  • Posts: 76
  • Mac User
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #207 on: February 06, 2023, 07:18:31 PM »
You should be able to recover the card without soldering by using Flashrom on a PC, or using an older Mac, which does not exhibit this issue.
I don't have a PC. I don't want to buy an old system unit to restore the board.
There is also Quicksilver, but it is not yet possible to restore the power supply.
Only hardcore, only solder. 🤪
PPC — PM 8100/80, PM 9600/300, PM G3 Minitower (Rev. C), PM G3 B&W (Rev. B), PM G4 Quicksilver (2002), PM G4 MDD (2003), PM G5 (Late 2005).
Intel — Mac mini (mid 2010), iMac 5k (2017), Mac mini (2018).
AppleSilicon — Mac mini (2020), Mac Studio M2 Max + Apple Studio Display.

Offline dosdude1

  • Enthusiast Member
  • ***
  • Posts: 42
  • New Member
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #208 on: February 07, 2023, 03:15:54 PM »
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, as well as the Forth source of the new decompression implementation.

Offline ivanshpak

  • Enthusiast Member
  • ***
  • Posts: 70
  • New Member
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #209 on: February 08, 2023, 05:31:42 AM »
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, as well as the Forth source of the new decompression implementation.

Red PCB card Silicon Image via MDD 1.25 (FW 400) (5 Slot)
Prior Wiebe firmware
Boot into 9.2.2 (Maсtron image), with the SSD SanDisk Ultra 2 120GB

dosdude1 You are a god, you have made a huge contribution to our community! Where to donate!?

Offline AtariMan

  • Veteran Member
  • ****
  • Posts: 106
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #210 on: February 08, 2023, 05:38:43 AM »
I've already flashed four boards.
All work in Sawtooth and MDD.
I can't believe this miracle!
Thank you very much for your work!!!

Offline FBz

  • Moderator
  • Platinum Member
  • *****
  • Posts: 666
  • Fury-Fungus FdB/FBz
Nondescript topic
« Reply #211 on: February 08, 2023, 06:24:55 AM »
BIG Congratulations!!!
And mucho kudos to dosdude1 (and everyone else in this effort).

Now perhaps someone can / will translate this into a step-by-step, D-I-Y for the rest of us?
You know… the “recipe” for what is necessary - with easy to follow instructions. ;)

AND while at it, how about some QuickBench and XBench results too?
(In various machines, booting OS 9 AND OS X.) Begin-new-thread?.

And quickly too, before the rest of the world finds out and these now
inexpensive cards exponentially rise in price. (aka: The Syntho 9600 Syndrome.)
*See also… the “G4 Mac Mini Madness”. ::)

C’mon with it.
« Last Edit: February 08, 2023, 07:12:42 AM by FBz »

Offline ssp3

  • Platinum Member
  • *****
  • Posts: 710
Re: aka: The Bootable PCI SATA / SSD
« Reply #212 on: February 08, 2023, 07:02:20 AM »
And quickly too, before the rest of the world finds out and these now
inexpensive cards exponentially rise in price. (aka: The Syntho 9600 Syndrome.)
*See also… the “G4 Mac Mini Madness”. ::)

Then don't hype it, don't run around bragging about it and don't make any clickbate Youtube videos.
Delete all praise posts that use red or oversized text  ;)

Lay low!  8)

dosdude1 isn't making money with this stuff and we all know that he's good, right? Lets not make life easier for fleebay sharks and similar "businessman".
Mac users, who really need their cards flashed, sooner or later will find this thread.
Just my 5 cents.
« Last Edit: February 08, 2023, 07:18:37 AM by ssp3 »
If you're not part of the solution, you're part of the problem.

Offline FBz

  • Moderator
  • Platinum Member
  • *****
  • Posts: 666
  • Fury-Fungus FdB/FBz
Re: aka: The Bootable PCI SATA / SSD
« Reply #213 on: February 08, 2023, 08:54:51 AM »
And quickly too, before the rest of the world finds out and these now
inexpensive cards exponentially rise in price. (aka: The Syntho 9600 Syndrome.)
*See also… the “G4 Mac Mini Madness”. ::)

Then don't hype it, don't run around bragging about it and don't make any clickbate Youtube videos.
Delete all praise posts that use red or oversized text  ;)

Lay low!  8)

dosdude1 isn't making money with this stuff and we all know that he's good, right? Lets not make life easier for fleebay sharks and similar "businessman".
Mac users, who really need their cards flashed, sooner or later will find this thread.
Just my 5 cents.

Well, sooner or later the step-by-step process will out.
Whether it be here, 68kmla, MacRumors or wherever.
And while I completely understand the 5-cent viewpoint.
The D-I-Y will eventually be posted somewhere. ;)

And not at all about bragging rights.
More like sharing with those that have been confronted
with the overpriced SeriTek (and other) card options for so very long.

 So here, or just from some “enterprising”  Fleabay offering first?
*Available public domain Forum "how-to" info - or opportunistic profiteer?

Offline IIO

  • Platinum Member
  • *****
  • Posts: 4439
  • just a number
Re: Nondescript topic
« Reply #214 on: February 08, 2023, 10:19:05 AM »
BIG Congratulations!!!

Now perhaps someone can / will translate this into a step-by-step, D-I-Y for the rest of us?
You know… the “recipe” for what is necessary - with easy to follow instructions. ;)


the "which card(s) to buy" (for noobs) question from that other forum driver from last year is also still open.

which uh, reminds me on a certain project #someone wanted to start in november 22.

damn, i just killed the content of my boot drive on the main OS9 machine. lots of extra work in the next days.
insert arbitrary signature here

Offline AtariMan

  • Veteran Member
  • ****
  • Posts: 106
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #215 on: February 13, 2023, 09:56:23 PM »
Has anyone tried to flash Silicon Image SIL3114?
dosdude1 is this possible with your firmware?

Offline dosdude1

  • Enthusiast Member
  • ***
  • Posts: 42
  • New Member
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #216 on: February 13, 2023, 10:28:56 PM »
Has anyone tried to flash Silicon Image SIL3114?
dosdude1 is this possible with your firmware?

I don't believe so, as that firmware is specifically designed for the Sil3112. You can definitely try it, but you'll probably have to flash it via Flashrom or using an EEPROM programmer, as the SeriTek/1S2 flashing tool probably won't detect it. Also, just note that the firmware I have posted is essentially unchanged from the stock SeriTek/1S2 firmware, the only differences are it has had the EEPROM ID checks patched out, and the OS 9 NDRV is compressed, allowing it to fit on a 128K EEPROM.

Offline AtariMan

  • Veteran Member
  • ****
  • Posts: 106
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #217 on: February 13, 2023, 10:41:16 PM »
Thank you for the detailed answer,
I'll try to flash it on a PC using Flashrom in the evening.

Offline AtariMan

  • Veteran Member
  • ****
  • Posts: 106
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #218 on: February 14, 2023, 08:40:17 PM »
Silicon Image SIL3114 does not work with SeriTek / 1S2 firmware,
but works without problems with WiebeSATA 3112 firmware.
Two out of four ports work.

Offline AtariMan

  • Veteran Member
  • ****
  • Posts: 106
Re: Disk Speed Upgrades (aka The Bootable PCI SATA & SSD thread)
« Reply #219 on: February 18, 2023, 05:44:06 PM »
Hi dosdude1.
I found the firmware for SIL3114,
maybe you will be interested to see and try to flash the card.
Perhaps all 4 ports will work.

https://www.siig.com/download/search?keyword=SC-SA4M12