Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.

DearthnVader

Suspended
Original poster
Dec 17, 2015
2,207
6,392
Red Springs, NC
Links will be up soon!

I have, with the help of @joevt/imic/Daniel/whoisthisguy, and Apple's somewhat confusing documentation on 'NDRV's, created a Classic Mac OS( not Mac OS X Classic Mode ) driver for Sil3112 SATA.

These drivers will not make a drive connected to the Sil3112 bootable in the Classic Mac OS, it is meant to be a Mass Storage Driver and you do not need it for a card the already has the FirmTek 'NDRV' in ROM.

Driver #1 is for a generic Sil3112 with a PC Bios on it.

Driver #2 is for a Sil3112 with the WiebeTech Firmware on it.

Driver #3 is for a Sil3112 with a reduced SerilTek/Firmtek Firmware on it.( I have reduced the firmware to 82k but have not found the EPPROM ID check to bypass it. )

THESE ARE ALPHA LEVEL DRIVERS!!!!!!!!!!!!!!!!!!!!!!!

Don't use them on drives with mission critical data until you have tested them and you are sure enough to trust them. I take no responsibility for loss of your data.

Driver #2 and #3 will allow you to use the StartupDisk Control Panel to boot OS X on New World Macs that support it without XPOSTFACTO. XPostFacto has a bug with the "device_tyoe" ATA from the WiebeTech firmware, it should not effect the Startup Disk Control Panel. There is a workaround if you need to boot OS X with the WiebeTech firmware using XPostFacto.

These drivers will not enable you to boot versions of OS X, that is a function of the cards firmware! But they will enable you to select and boot versions of OS X that are supported by the OS X Driver in your cards Firmware for the Mac OS Startup Disk Control Panel( versions that support OS X ) Basically the Mac OS Startup Disk Control Panel for OS 9.x. It also enables the use of XPostFacto to boot OS X with cards that have the correct firmware( WeibeTech/FirmTech ).

You will not be able to boot OS X from a card with a PC Bios, this Driver does not support that.

What has been tested:

Mac OS 9.2.2 Powermac 9600
Mac OS 7.6.1 PowerMac 9600

Known Bugs:

ATAPI devices will causes a long boot hang as the driver loads and probes the ATAPI device.

ATAPI devices seem to lack DMA, very slow, but my test of copying a 732MB file from DVD to HD did not result in any system hangs or data corruption. It's just damed slow( a known issue with FirmTek on the Mac OS ).

Hard Drives connected don't always Auto Mount( Use Drive Setup to mount drives ).

What needs to be done:

Create custom Icons for our driver.( You can help with this! )
Combine all three drivers into one Extension.( I'm working on it! )
Fix DMA? for ATAPI devices( It's complicated! )
Figure out why some Hard Drives don't auto mount.( I'm working on it, but you can help by reporting the vendor and device for your drives that do or don't auto mount! )

Limitations:

Mac OS 7.5.2 and greater should support partitions up to 2TB for drives formatted HFS/HFS+.( untested ).
Requires a Free PCI Slot.

Untested:

Mostly everything.
 

Attachments

  • Sil3221 PC Bios.zip
    26.9 KB · Views: 148
  • Sil3112 WiebeTech.zip
    26.9 KB · Views: 128
  • Sil3112 SerilTech.zip
    26.9 KB · Views: 127
Last edited:
I can report a partial success.

Setup: MDD with an SiI3512 card inside flashed with the Wiebetech OSX only firmware. I tried the Wiebetech driver above on the off-chance that the 3112 and 3512 chipsets were very similar - at least enough for the driver to have a good go at talking to the card. The OS9 volume I booted up is on the internal ATA bus and does not even see the SATA card, let alone mount any volumes on it.

What I noticed: No extended boot time. I didn't get the impression that the optical drive was interfering in any way and it booted to the desktop in what appeared to be a normal time for spinning rust. I got a dialogue box on the desktop stating that a volume was not recognised and needed to be initialised so I ejected it.

System Profiler shows that the SATA 3512 card is recognised as a SCSI card, which is what is expected and apart from the two volumes that the system refused to mount, every other volume on the SATA mounted and was readable.


False alarm. Had a flashed 3112 in there. Now trying with a blank 3512 (PC firmware) as all my 3112 cards are flashed with SeriTek.
 
Last edited:
With a PC SiI3512 in there, it doesn't even boot to the desktop. Just a blank screen after several minutes. Oh, well. Seems like the 3512 is too different from the 3112 after all.
 
Last edited:
With a PC SiI3512 in there, it doesn't even boot to the desktop. Just a blank screen after several minutes. Oh, well. Seems like the 3512 is too different from the 3112 after all.
Really, unless the 3512 has a " compatible" property of pci1095,3112, WeibeSATA3112, or Sil3112A none of these drivers should do anything at all with that card.
 
Really, unless the 3512 has a " compatible" property of pci1095,3112, WeibeSATA3112, or Sil3112A none of these drivers should do anything at all with that card.
That was what I was hoping. I think the 3512 replaced the 3112 but seems fairly similar in performance. It does get a separate Wiebetech firmware to flash with so maybe I was too hopeful.
 
That was what I was hoping. I think the 3512 replaced the 3112 but seems fairly similar in performance. It does get a separate Wiebetech firmware to flash with so maybe I was too hopeful.
This 'NDRV' is an odd beast, it seems to have some support for 8 SATA buses and also some PATA busses and it enumerates the UltraTek133P+ PATA card. Having that PATA card in the system with the 3112 card seem to do some odd things also.

Trying to load this 'NDRV' for that PATA card results in the driver building some .properties then it goes to abort.

I'll have to put a note in the Wiki about conflicting cards.
 
This 'NDRV' is an odd beast, it seems to have some support for 8 SATA buses and also some PATA busses and it enumerates the UltraTek133P+ PATA card. Having that PATA card in the system with the 3112 card seem to do some odd things also.

Trying to load this 'NDRV' for that PATA card results in the driver building some .properties then it goes to abort.

I'll have to put a note in the Wiki about conflicting cards.
That's nuts. It almost sounds like they wrote a general "anything goes" driver before they even had an idea of exactly what card they wanted it to support then just seasoned the driver to taste.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.