Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

DearthnVader

Suspended
Original poster
Dec 17, 2015
2,207
6,399
Red Springs, NC
I know a lot of people around here have used these 2 port Sil3112 based PCI cards in their PPC Macs, so I need a little help.

First, do these cards work in Old World Macs? or do the require New World Open Firmware features?

Next, if anyone is still using one, would you dump the device-tree node for the card, please, and post it about so I can get a look at it. One drive connected or both is fine, may not do me any good with no disks connected to the card. Either dump it from the IOReg or telnet into Open Firmware and dump it there.

Should be pretty easy, but if you need me to explain how to do that in detail I will.

Anyway, the reasons are we have Rev. 3 Beige G3 ROM working in Qemu, at least to boot to the Open Firmware prompt, but we have no disk based IO. Some reason out emulated IDE buses don't work, and we have an emulated SiL3112 PCI card, but even after I run the FCode ROM on it, I don't get an disks as children.

Also, we don't have emulation for SWIM3 floppy or the Mesh SCSI Buses at all, so at this point we have nothing to boot from.


Tho we should still get the Old World grey screen with the "?" if we try to boot from /AAPL,ROM, but we're crashing going from Open Firmware to there.
 
Pre-Beige G3 Macs can boot from these cards. Unfortunately, I won't be able to get to mine for a few months, so hopefully someone else can help with the rest of your query. I bet you'd have more success asking on 68kmla.
 
  • Like
Reactions: TheShortTimer
I have booted MacOS 7.6 on a 9600 on one, so can also confirm first hand. I similarly have put my beige boxes in storage over winter as I need more room for WFH right now but if you don't get any joy elsewhere, just shout out a reminder in a couple of months and I will drag one out for you.
 
Hello everybody. I'm thinking on add a 3112 card to my MDD. Great news it can boot Classic MacOS, I plan to add a SSD for 9.2.2 and Panther boot. Only have a question: can I use a 2TB HD (as a storage, non-boot drive)?
Can't go further than 10.3.9, want to retain compatibility for my AudioMedia III ProTools LE system.
Thanks a lot!
 
Is this it? If not then instruct me how to do it.


Wait. I couldn't attach the .txt file. So...

| | +-o Seri-Tek1S2@14 <class IOPCIDevice, registered, matched, active, busy 0, retain 22>
| | | | {
| | | | "IOPCIResourced" = Yes
| | | | "#address-cells" = <00000002>
| | | | "IOInterruptControllers" = ("IOInterruptControllerFF95C0C8")
| | | | "subsystem-id" = <00003112>
| | | | "IODeviceMemory" = ({"parent"=({"address"=18446744073474670592,"length"=65536}),"offset"=1088,"length"=16},{"parent"=({"address"=18446744073474670592,"length"=65536}),"offset"=1072,"length"=16},{"parent"=({"address"=18446744073474670592,"length"=65536}),"offset"=1056,"length"=16},{"parent"=({"address"=18446744073474670592,"length"=65536}),"offset"=1040,"length"=16},{"parent"=({"address"=18446744073474670592,"length"=65536}),"offset"=1024,"length"=16},({"address"=18446744071563116544,"length"=524288}),({"address"=18446744071562596352,"length"=512}))
| | | | "release-date" = <"11/23/05">
| | | | "Szerzoek" = <"Szerzoek: Nguyen Kim Chi, Rath Gyoergy.">
| | | | "devsel-speed" = <00000001>
| | | | "class-code" = <00018000>
| | | | "TFile-Addr0" = <f2000440>
| | | | "revision-id" = <00000001>
| | | | "Copyright" = <"UltraTek Firmware by FirmTek LLC, 1999-2003. You may not alter or reverse engineer this product.">
| | | | "model" = <"SeriTek/1S2 v. 5.1.3","11/22/05, 23:47:18">
| | | | "assigned-addresses" = <8100a010000000000000044000000000000000108100a014000000000000043000000000000000108100a018000000000000042000000000000000108100a01c000000000000041000000000000000108100a020000000000000040000000000000000108200a030000000008010000000000000000800008200a02400000000800810000000000000000200>
| | | | "name" = <"Seri-Tek1S2">
| | | | "VersionOneInfo" = ("FirmTek, LLC","SeriTek/1S2 v. 5.1.3")
| | | | "subsystem-vendor-id" = <00001095>
| | | | "reg" = <0000a000000000000000000000000000000000000100a010000000000000000000000000000000100100a014000000000000000000000000000000100100a018000000000000000000000000000000100100a01c000000000000000000000000000000100100a020000000000000000000000000000000100200a024000000000000000000000000000002000200a03000000000000000000000000000080000>
| | | | "compatible" = <"Sil3112A">
| | | | "DevCtl-Addr1" = <f2000410>
| | | | "fast-back-to-back" = <>
| | | | "#size-cells" = <00000000>
| | | | "rom-revision" = <"5.1.3.1S2">
| | | | "Rom#" = <"5.1.3.1S2">
| | | | "AAPL,slot-name" = <"SLOT-4">
| | | | "probed" = 1
| | | | "max-latency" = <00000000>
| | | | "power-consumption" = <0000000000000000007270e0007270e00000000000000000007b98a0007b98a0>
| | | | "IOPowerManagement" = {"ChildrenPowerState"=2,"CurrentPowerState"=2}
| | | | "AAPL,phandle" = <ff9c1520>
| | | | "IOInterruptSpecifiers" = (<0000003600000001>)
| | | | "Authors" = <"Authors: Nguyen Kim Chi, Rath Gyoergy.">
| | | | "device-id" = <00003112>
| | | | "vendor-id" = <00001095>
| | | | "interrupts" = <00000001>
| | | | "fcode-rom-offset" = <00000000>
| | | | "min-grant" = <00000000>
| | | | "device_type" = <"ata">
| | | | "release-time" = <"00:10:59">
| | | | "TFile-Addr1" = <f2000420>
| | | | "BMBase-Addr" = <f2000400>
| | | | "DevCtl-Addr0" = <f2000430>
| | | | }
| | | |
| | | +-o FT_ATA_Sil3112 <class FT_ATA_Sil3112, !registered, !matched, active, busy 0, retain 10>
| | | | {
| | | | "IOProviderClass" = "IOPCIDevice"
| | | | "IOProbeScore" = 0
| | | | "CFBundleIdentifier" = "com.firmtek.driver.FT_ATA_Sil3112"
| | | | "IOMatchCategory" = "IODefaultMatchCategory"
| | | | "IONameMatched" = "Seri-Tek1S2"
| | | | "IOClass" = "FT_ATA_Sil3112"
| | | | "IONameMatch" = ("Seri-Tek1S2")
| | | | "IOPowerManagement" = {"ChildrenPowerState"=1,"CurrentPowerState"=1}
| | | | }
| | | |
| | | +-o Sil3112DeviceNub@2 <class Sil3112DeviceNub, registered, matched, active, busy 0, retain 7>
| | | | {
| | | | "Capacity" = 1953525167
| | | | "Max R/W Multiple" = 16
| | | | "device serial" = " W9AMHVTW"
| | | | "Physical Interconnect" = "SATA"
| | | | "Channel" = 1
| | | | "socket type" = "internal"
| | | | "Fastest UDMA Mode" = 5
| | | | "unit number" = 0
| | | | "Connector pins" = 80
| | | | "Recomended MWDMA Mode" = 2
| | | | "StreamingFeatureSupported" = 0
| | | | "device revision" = "CC43 "
| | | | "ExtLBASupported" = 1
| | | | "ata device type" = "ata"
| | | | "Fastest MWDMA Mode" = 2
| | | | "IOUnit" = 2
| | | | "device model" = "ST1000DM010-2EP102 "
| | | | "Fastest PIO Mode" = 4
| | | | }
| | | |
| | | +-o AppleATADiskDriver <class AppleATADiskDriver, registered, matched, active, busy 0, retain 6>
| | | | {
| | | | "IOProbeScore" = 0
| | | | "IOMaximumSegmentCountRead" = 32
| | | | "IOMaximumSegmentCountWrite" = 32
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOATABlockStorage"
| | | | "ATA Features" = 52
| | | | "Physical Interconnect" = "ATA"
| | | | "IOMatchCategory" = "IODefaultMatchCategory"
| | | | "Physical Interconnect Location" = "Internal"
| | | | "IOMaximumBlockCountRead" = 65536
| | | | "IOProviderClass" = "IOATADevice"
| | | | "IOMaximumByteCountRead" = 131072
| | | | "IOMaximumByteCountWrite" = 131072
| | | | "Physical Block Size" = 4096
| | | | "IOMaximumBlockCountWrite" = 65536
| | | | "ata device type" = "ata"
| | | | "IOPolledInterface" = "not serializable"
| | | | "IOClass" = "AppleATADiskDriver"
| | | | "Logical Block Size" = 512
| | | | }
| | | |
| | | +-o IOATABlockStorageDevice <class IOATABlockStorageDevice, registered, matched, active, busy 0, retain 5>
| | | | {
| | | | "IOCFPlugInTypes" = {"24514B7A-2804-11D6-8A02-003065704866"="SMARTLib.plugin"}
| | | | "Device Characteristics" = {"Product Revision Level"="CC43 ","ATA Features"=52,"Product Name"="ST1000DM010-2EP102 ","Physical Block Size"=4096,"Logical Block Size"=512}
| | | | "device-type" = "Generic"
| | | | "Protocol Characteristics" = {"Physical Interconnect"="ATA","Physical Interconnect Location"="Internal"}
| | | | "IOUserClientClass" = "ATASMARTUserClient"
| | | | "IOMinimumSegmentAlignmentByteCount" = 4
| | | | "SMART Capable" = Yes
| | | | }
| | | |
| | | +-o IOBlockStorageDriver <class IOBlockStorageDriver, registered, matched, active, busy 0, retain 7>
| | | | {
| | | | "IOProviderClass" = "IOBlockStorageDevice"
| | | | "IOProbeScore" = 0
| | | | "Statistics" = {"Total Time (Read)"=30175688649,"Bytes (Write)"=36224000,"Operations (Read)"=6761,"Latency Time (Read)"=0,"Retries (Read)"=0,"Errors (Read)"=0,"Operations (Write)"=2450,"Retries (Write)"=0,"Errors (Write)"=0,"Latency Time (Write)"=0,"Bytes (Read)"=227782656,"Total Time (Write)"=25110264495}
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOPropertyMatch" = {"device-type"="Generic"}
| | | | "IOMatchCategory" = "IODefaultMatchCategory"
| | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | "IOClass" = "IOBlockStorageDriver"
| | | | }
| | | |
| | | +-o ST1000DM010-2EP102 ST1000DM010-2EP102 <class IOMedia, registered, matched, active, busy 0, retain 10>
| | | | {
| | | | "Removable" = No
| | | | "BSD Unit" = 1
| | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | "BSD Minor" = 1
| | | | "Ejectable" = No
| | | | "BSD Major" = 14
| | | | "BSD Name" = "disk1"
| | | | "Leaf" = No
| | | | "IOMediaIcon" = {"CFBundleIdentifier"="com.apple.iokit.IOStorageFamily","IOBundleResourceFile"="Internal.icns"}
| | | | "Preferred Block Size" = 512
| | | | "Whole" = Yes
| | | | "Open" = Yes
| | | | "Size" = 1000204886016
| | | | "Writable" = Yes
| | | | "Content" = "Apple_partition_scheme"
| | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | "Content Hint" = ""
| | | | }
| | | |
| | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain 5>
| | | | {
| | | | "IOProbeScore" = 30000
| | | | "IOProviderClass" = "IOMedia"
| | | | "IOMatchCategory" = "IOMediaBSDClient"
| | | | "IOClass" = "IOMediaBSDClient"
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOResourceMatch" = "IOBSD"
| | | | }
| | | |
| | | +-o IOApplePartitionScheme <class IOApplePartitionScheme, !registered, !matched, active, busy 0, retain 16>
| | | | {
| | | | "IOProbeScore" = 4000
| | | | "IOProviderClass" = "IOMedia"
| | | | "Content Mask" = "Apple_partition_scheme"
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOMatchCategory" = "IOStorage"
| | | | "IOPropertyMatch" = ({"Whole"=Yes},{"Content Hint"="CD_ROM_Mode_1","Writable"=No},{"Content Hint"="CD_ROM_Mode_2_Form_1","Writable"=No})
| | | | "IOClass" = "IOApplePartitionScheme"
| | | | }
| | | |
| | | +-o Apple@1 <class IOMedia, registered, matched, active, busy 0, retain 8>
| | | | | {
| | | | | "Removable" = No
| | | | | "BSD Unit" = 1
| | | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | | "BSD Minor" = 2
| | | | | "Ejectable" = No
| | | | | "BSD Major" = 14
| | | | | "BSD Name" = "disk1s1"
| | | | | "Leaf" = Yes
| | | | | "Preferred Block Size" = 512
| | | | | "Partition ID" = 1
| | | | | "Whole" = No
| | | | | "Open" = No
| | | | | "Size" = 32256
| | | | | "Writable" = No
| | | | | "Content" = "Apple_partition_map"
| | | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | | "Content Hint" = "Apple_partition_map"
| | | | | }
| | | | |
| | | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain 5>
| | | | {
| | | | "IOProbeScore" = 30000
| | | | "IOProviderClass" = "IOMedia"
| | | | "IOMatchCategory" = "IOMediaBSDClient"
| | | | "IOClass" = "IOMediaBSDClient"
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOResourceMatch" = "IOBSD"
| | | | }
| | | |
| | | +-o Macintosh@2 <class IOMedia, registered, matched, active, busy 0, retain 8>
| | | | | {
| | | | | "Removable" = No
| | | | | "BSD Unit" = 1
| | | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | | "BSD Minor" = 4
| | | | | "Ejectable" = No
| | | | | "BSD Major" = 14
| | | | | "BSD Name" = "disk1s2"
| | | | | "Leaf" = Yes
| | | | | "Preferred Block Size" = 512
| | | | | "Partition ID" = 2
| | | | | "Whole" = No
| | | | | "Open" = No
| | | | | "Size" = 28672
| | | | | "Writable" = No
| | | | | "Content" = "Apple_Driver43"
| | | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | | "Content Hint" = "Apple_Driver43"
| | | | | }
| | | | |
| | | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain 5>
| | | | {
| | | | "IOProbeScore" = 30000
| | | | "IOProviderClass" = "IOMedia"
| | | | "IOMatchCategory" = "IOMediaBSDClient"
| | | | "IOClass" = "IOMediaBSDClient"
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOResourceMatch" = "IOBSD"
| | | | }
| | | |
| | | +-o Macintosh@3 <class IOMedia, registered, matched, active, busy 0, retain 8>
| | | | | {
| | | | | "Removable" = No
| | | | | "BSD Unit" = 1
| | | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | | "BSD Minor" = 5
| | | | | "Ejectable" = No
| | | | | "BSD Major" = 14
| | | | | "BSD Name" = "disk1s3"
| | | | | "Leaf" = Yes
| | | | | "Preferred Block Size" = 512
| | | | | "Partition ID" = 3
| | | | | "Whole" = No
| | | | | "Open" = No
| | | | | "Size" = 28672
| | | | | "Writable" = No
| | | | | "Content" = "Apple_Driver43"
| | | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | | "Content Hint" = "Apple_Driver43"
| | | | | }
| | | | |
| | | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain 5>
| | | | {
| | | | "IOProbeScore" = 30000
| | | | "IOProviderClass" = "IOMedia"
| | | | "IOMatchCategory" = "IOMediaBSDClient"
| | | | "IOClass" = "IOMediaBSDClient"
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOResourceMatch" = "IOBSD"
| | | | }
| | | |
| | | +-o Macintosh@4 <class IOMedia, registered, matched, active, busy 0, retain 8>
| | | | | {
| | | | | "Removable" = No
| | | | | "BSD Unit" = 1
| | | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | | "BSD Minor" = 6
| | | | | "Ejectable" = No
| | | | | "BSD Major" = 14
| | | | | "BSD Name" = "disk1s4"
| | | | | "Leaf" = Yes
| | | | | "Preferred Block Size" = 512
| | | | | "Partition ID" = 4
| | | | | "Whole" = No
| | | | | "Open" = No
| | | | | "Size" = 28672
| | | | | "Writable" = No
| | | | | "Content" = "Apple_Driver_ATA"
| | | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | | "Content Hint" = "Apple_Driver_ATA"
| | | | | }
| | | | |
| | | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain 5>
| | | | {
| | | | "IOProbeScore" = 30000
| | | | "IOProviderClass" = "IOMedia"
| | | | "IOMatchCategory" = "IOMediaBSDClient"
| | | | "IOClass" = "IOMediaBSDClient"
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOResourceMatch" = "IOBSD"
| | | | }
| | | |
| | | +-o Macintosh@5 <class IOMedia, registered, matched, active, busy 0, retain 8>
| | | | | {
| | | | | "Removable" = No
| | | | | "BSD Unit" = 1
| | | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | | "BSD Minor" = 7
| | | | | "Ejectable" = No
| | | | | "BSD Major" = 14
| | | | | "BSD Name" = "disk1s5"
| | | | | "Leaf" = Yes
| | | | | "Preferred Block Size" = 512
| | | | | "Partition ID" = 5
| | | | | "Whole" = No
| | | | | "Open" = No
| | | | | "Size" = 28672
| | | | | "Writable" = No
| | | | | "Content" = "Apple_Driver_ATA"
| | | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | | "Content Hint" = "Apple_Driver_ATA"
| | | | | }
| | | | |
| | | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain 5>
| | | | {
| | | | "IOProbeScore" = 30000
| | | | "IOProviderClass" = "IOMedia"
| | | | "IOMatchCategory" = "IOMediaBSDClient"
| | | | "IOClass" = "IOMediaBSDClient"
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOResourceMatch" = "IOBSD"
| | | | }
| | | |
| | | +-o Macintosh@6 <class IOMedia, registered, matched, active, busy 0, retain 8>
| | | | | {
| | | | | "Removable" = No
| | | | | "BSD Unit" = 1
| | | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | | "BSD Minor" = 9
| | | | | "Ejectable" = No
| | | | | "BSD Major" = 14
| | | | | "BSD Name" = "disk1s6"
| | | | | "Leaf" = Yes
| | | | | "Preferred Block Size" = 512
| | | | | "Partition ID" = 6
| | | | | "Whole" = No
| | | | | "Open" = No
| | | | | "Size" = 262144
| | | | | "Writable" = No
| | | | | "Content" = "Apple_FWDriver"
| | | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | | "Content Hint" = "Apple_FWDriver"
| | | | | }
| | | | |
| | | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain 5>
| | | | {
| | | | "IOProbeScore" = 30000
| | | | "IOProviderClass" = "IOMedia"
| | | | "IOMatchCategory" = "IOMediaBSDClient"
| | | | "IOClass" = "IOMediaBSDClient"
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOResourceMatch" = "IOBSD"
| | | | }
| | | |
| | | +-o Macintosh@7 <class IOMedia, registered, matched, active, busy 0, retain 8>
| | | | | {
| | | | | "Removable" = No
| | | | | "BSD Unit" = 1
| | | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | | "BSD Minor" = 11
| | | | | "Ejectable" = No
| | | | | "BSD Major" = 14
| | | | | "BSD Name" = "disk1s7"
| | | | | "Leaf" = Yes
| | | | | "Preferred Block Size" = 512
| | | | | "Partition ID" = 7
| | | | | "Whole" = No
| | | | | "Open" = No
| | | | | "Size" = 262144
| | | | | "Writable" = No
| | | | | "Content" = "Apple_Driver_IOKit"
| | | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | | "Content Hint" = "Apple_Driver_IOKit"
| | | | | }
| | | | |
| | | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain 5>
| | | | {
| | | | "IOProbeScore" = 30000
| | | | "IOProviderClass" = "IOMedia"
| | | | "IOMatchCategory" = "IOMediaBSDClient"
| | | | "IOClass" = "IOMediaBSDClient"
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOResourceMatch" = "IOBSD"
| | | | }
| | | |
| | | +-o Patch Partition@8 <class IOMedia, registered, matched, active, busy 0, retain 8>
| | | | | {
| | | | | "Removable" = No
| | | | | "BSD Unit" = 1
| | | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | | "BSD Minor" = 12
| | | | | "Ejectable" = No
| | | | | "BSD Major" = 14
| | | | | "BSD Name" = "disk1s8"
| | | | | "Leaf" = Yes
| | | | | "Preferred Block Size" = 512
| | | | | "Partition ID" = 8
| | | | | "Whole" = No
| | | | | "Open" = No
| | | | | "Size" = 262144
| | | | | "Writable" = No
| | | | | "Content" = "Apple_Patches"
| | | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | | "Content Hint" = "Apple_Patches"
| | | | | }
| | | | |
| | | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain 5>
| | | | {
| | | | "IOProbeScore" = 30000
| | | | "IOProviderClass" = "IOMedia"
| | | | "IOMatchCategory" = "IOMediaBSDClient"
| | | | "IOClass" = "IOMediaBSDClient"
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOResourceMatch" = "IOBSD"
| | | | }
| | | |
| | | +-o Untitled@10 <class IOMedia, registered, matched, active, busy 0, retain 9>
| | | | | {
| | | | | "Removable" = No
| | | | | "BSD Unit" = 1
| | | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | | "BSD Minor" = 13
| | | | | "Ejectable" = No
| | | | | "BSD Major" = 14
| | | | | "BSD Name" = "disk1s10"
| | | | | "Leaf" = Yes
| | | | | "Preferred Block Size" = 512
| | | | | "Partition ID" = 10
| | | | | "Whole" = No
| | | | | "Open" = Yes
| | | | | "Size" = 955537227776
| | | | | "Writable" = Yes
| | | | | "Content" = "Apple_HFS"
| | | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | | "Content Hint" = "Apple_HFS"
| | | | | }
| | | | |
| | | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain 6>
| | | | {
| | | | "IOProbeScore" = 30000
| | | | "IOProviderClass" = "IOMedia"
| | | | "IOMatchCategory" = "IOMediaBSDClient"
| | | | "IOClass" = "IOMediaBSDClient"
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOResourceMatch" = "IOBSD"
| | | | }
| | | |
| | | +-o Untitled@12 <class IOMedia, registered, matched, active, busy 0, retain 10>
| | | | | {
| | | | | "Removable" = No
| | | | | "BSD Unit" = 1
| | | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | | "BSD Minor" = 15
| | | | | "Ejectable" = No
| | | | | "BSD Major" = 14
| | | | | "BSD Name" = "disk1s12"
| | | | | "Leaf" = Yes
| | | | | "Preferred Block Size" = 512
| | | | | "Partition ID" = 12
| | | | | "Whole" = No
| | | | | "Open" = Yes
| | | | | "Size" = 42949672960
| | | | | "Writable" = Yes
| | | | | "Content" = "Apple_HFS"
| | | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | | "Content Hint" = "Apple_HFS"
| | | | | }
| | | | |
| | | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain 6>
| | | | {
| | | | "IOProbeScore" = 30000
| | | | "IOProviderClass" = "IOMedia"
| | | | "IOMatchCategory" = "IOMediaBSDClient"
| | | | "IOClass" = "IOMediaBSDClient"
| | | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | | "IOResourceMatch" = "IOBSD"
| | | | }
| | | |
| | | +-o Untitled@14 <class IOMedia, registered, matched, active, busy 0, retain 9>
| | | | {
| | | | "Removable" = No
| | | | "BSD Unit" = 1
| | | | "IOBusyInterest" = "IOCommand is not serializable"
| | | | "BSD Minor" = 17
| | | | "Ejectable" = No
| | | | "BSD Major" = 14
| | | | "BSD Name" = "disk1s14"
| | | | "Leaf" = Yes
| | | | "Preferred Block Size" = 512
| | | | "Partition ID" = 14
| | | | "Whole" = No
| | | | "Open" = Yes
| | | | "Size" = 1314390016
| | | | "Writable" = Yes
| | | | "Content" = "Apple_HFS"
| | | | "IOGeneralInterest" = "IOCommand is not serializable"
| | | | "Content Hint" = "Apple_HFS"
| | | | }
| | | |
| | | +-o IOMediaBSDClient <class IOMediaBSDClient, registered, matched, active, busy 0, retain 6>
| | | {
| | | "IOProbeScore" = 30000
| | | "IOProviderClass" = "IOMedia"
| | | "IOMatchCategory" = "IOMediaBSDClient"
| | | "IOClass" = "IOMediaBSDClient"
| | | "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"
| | | "IOResourceMatch" = "IOBSD"
| | | }
 
Last edited:
Anyway, the reasons are we have Rev. 3 Beige G3 ROM working in Qemu, at least to boot to the Open Firmware prompt,
oh thats very awesome!

Im very pleased that machine emulation has reached a state that its good enough to boot a real Mac's ROM

just like how QEMU's SPARC emulation can

I wonder if in time we will be able to do the same with QEMU's Sawtooth machine :)

BTW since you got the G3 beige ROM booting in QEMU, has anyone tried passing through a PCI video card to it?

also also since the hardware is pretty similar has anyone tried a G3 BW ROM? (esp since it has all the additional words and what not that NVIDIA fCode ROMs require)




as for the SATA card thing, it depends which fCode ROM you use

the Firmtek one should work both in OpenFirmware and in the Macintosh Toolbox ROM

but im not aware of any others that do

(the others will work in Open firmware but not in the ToolBox ROM)
 
BTW since you got the G3 beige ROM booting in QEMU, has anyone tried passing through a PCI video card to it?
You know I did;-)

Rage128 Orion PCI works, OF 2.4 finds the EEROM, map's it in, and we get a nice screen, without the need to run the FCode ROM on the command line like we have to with Openbios.

Seems to work with a few SCSI cards too, I just have no SCSI drives to test with.

That's a problem, we have no media to boot from, and we can't boot from /AAPL,ROM, as something, maybe the MMU is shooting us to the "dark side of the moon".

Not real sure the issue there, but once I have a drive I can boot from, I'll try and bypass /AAPL,ROM and boot a :tbxi(BootX) into OS X.

Tho, we still need to figure out the /AAPL,ROM issue, as that would be key to trying to boot Mac OS 8.x-8.6.

As the g3beige machine in Qemu can already boot OS X, it doesn't add much functionality if we can't boot OS 8.x.
 
  • Like
Reactions: LightBulbFun
You know I did;-)

Rage128 Orion PCI works, OF 2.4 finds the EEROM, map's it in, and we get a nice screen, without the need to run the FCode ROM on the command line like we have to with Openbios.

Seems to work with a few SCSI cards too, I just have no SCSI drives to test with.

That's a problem, we have no media to boot from, and we can't boot from /AAPL,ROM, as something, maybe the MMU is shooting us to the "dark side of the moon".

Not real sure the issue there, but once I have a drive I can boot from, I'll try and bypass /AAPL,ROM and boot a :tbxi(BootX) into OS X.

Tho, we still need to figure out the /AAPL,ROM issue, as that would be key to trying to boot Mac OS 8.x-8.6.

As the g3beige machine in Qemu can already boot OS X, it doesn't add much functionality if we can't boot OS 8.x.
ah Awesome!

ill defo have to build QEMU with these modifications and give it a poke from my end, but just out of curiosity has anyone tried the setup with a different emulated CPU? (just incase the crashing/disk issue is because of a problem/bug with say PowerPC 750 emulation specifically for some weird reason)

I know the G3 Beige will boot with a 604 CPU (tho cant recall if it was a 604e or 604ev), and obviously the G3 beige thankfully has no halt on unknown CPU bollocks so will happily boot on G4s like 7400's 7410's 7451's and 7455's


its a shame outside of my MacPro5,1 and Xserve3,1 I dont have any VT-d capable machines, as id love to play with PCI passthrough some more

(although I do wonder if the G5 Quad supports IOMMU? LOL) I did recently get my mits on an older high end X48 PC motherboard, I do wonder if that supports IOMMU ill have to check, I know the X48 chipset itself does but the question is it enabled by the BIOS etc, on these early VT-d capable chipsets its hit and miss, its an Asus P5E Deluxe that I flashed into an Asus Rampage Formula for those curious



Oh! on the SATA card front, what emulated EEPROM if any is the emulated SATA card using?

cuz the Firmtek ROM checks what EEPROM its running from as a form of DRM

(tho I dont think it stops things being loaded at an OpenFirmware level, just causes a kernel panic in OS X, but its something to keep in mind)





BTW with regards to booting OS's remember since this is in affect now actually a G3 beige, remember it comes with all the fun OWR OF bugs and quirks so make sure you have your xpostfacto/nvramrc patches on hand :)

as for the Toolbox crashing etc, how well emulated is all the G3 beige hardware? just wondering if its falling over some something silly like sound

(although saying that I know my G3 beige Rev B, will happily boot without its personality card installed)
 
Last edited:
ill defo have to build QEMU with these modifications and give it a poke from my end,
1612917698108.png

yay got it working, really cool to see an Apple Open Firmware prompt like this in QEMU

now to mess around!, I wonder if theres any way to adjust the resolution... (on a real Mac this is set by EDID or by the sense pins on a DB15 monitor)

BTW I noticed we are technically emulating an AGP Rage 128 Pro here, so I wonder just to make sure we dont get tangled up with the ROM trying to something AGP related that a PCI system obviously cant handle

if emulation of the Rage 128 and obviously associated ROM should be switched to one of the PCI variants like the Rage 128 GL included in G3 BWs etc which are well known to be very compatible with all PCI Mac's and Classic Mac OS versions (I dont see a ROM dump on the Mac elite for one, so if there are no ROM dumps of one anywhere ill try and dump one tomorrow)

or if somehow the Rage 128 Pro AGP/its ROM, that we are emulating is not compatible with the ToolBox ROM of the G3 Beige?

its not the first time I have come across a video card preventing the ToolBox ROM image from loading, the very last Mac OS 8.6's last ToolBox ROM image (and I suspect earlier ones) I know is picky about which video cards it will load with, for example and is why I suspect I cant boot it on my PowerMac2,2 and PowerBook4,1)
 
Last edited:
  • Like
Reactions: Amethyst1
Beige G3 v3 ROM 32bit clean?

Code:
0 > dev memory  ok
0 > .properties
name                    memory
device_type             memory
reg                     00000000  30000000
available               00004000 00004000 0000a000 003f6000 00500000 2fb00000

Code:
Open Firmware, 2.4
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
For Open Firmware serial I/O type:
TTYA IO<return>
 ok
0 > dev memory no active packagecan't find device ok
0 > dev /  ok
0 > dev memory  ok
0 > .properties
name                    memory
device_type             memory
reg                     00000000  10000000
available               00004000 00004000 0000a000 003f6000 00500000 0fb00000

 ok
0 >
 
heres a ROM dump of my ATI Rage 128 GL from one of my Rev A G3 BW's if its any use :) (so its an Apple OEM card and will work OOB with no additional drivers needed from about Mac OS 8.5 onwards, and well tested to work in all the PCI macs)
 

Attachments

  • R128GL-ROM.zip
    34 KB · Views: 80
Last edited:
  • Like
Reactions: Amethyst1
heres a ROM dump of my ATI Rage 128 GL from one of my Rev A G3 BW's if its any use :) (so its an Apple OEM card and will work OOB with no additional drivers needed from about Mac OS 8.5 onwards, and well tested to work in all the PCI macs)
That ROM did work with Qemu to produce a 640x480 display in OF 2.4. Strangely, my Rage128o ROM doesn't work with this combination of Qemu+ati-vga(emulation) tho it's the same device ID as your Rage128y( 1002,5245 ).

For those playing along at home, you need to edit the device ID in the rage128y ROM to match the device id for our emulated ati-vga ( 1002,5046 ) aka 2010 4552 becomes 2010 4650.

The only real benefit is a 640x480 Qemu display, rather than it reaching for Max_Mode.

In PCI passthrough of my Rage 128 Orion Mac Edition, it also reaches for Max_Mode of the real display too with the Rage128o FCode ROM that came with the card from ATI, way back when.

EDIT: The R128o Rom does work, I just edited the device ID wrong, it also defaults to 640x480 with Qemu+ati-vga.
 
Last edited:
  • Like
Reactions: LightBulbFun
As I recall some Old World Macs, with some early versions of Open Firmware, were limited to 640x480 in open firmware, as these older ATI Rage 128 cards were sold under various names as retail Mac cards, there was even a version with 32MB of VRam, and they did include support for most PCI Old World Macs, it makes sense that they default to 640x480 for Open Firmware, where as the R128 AGP FCode ROM's would reach for Max_Mode.

As any Mac with an AGP slot would have a version of Open Firmware not limited to 640x480.

Elliot Nunn maintains a GitHub repository of various tools, one of them, :tbxi can deconstruct Old and New Would ROMs:


It's not complete, but on some ROM's it can separate out the OFWBundle, and we could, conceivably, replace the version of Open Firmware in a given BootROM with a new version, or an older version.

Tho, at this time :tbxi dump can not be run on New World BootRoms, only the :tbxi( aka, Mac OS ROM file ).

Also, sadly, it does not at this time find the OFWBundle in v3 of the Beige G3 ROM either.........
 
  • Like
Reactions: LightBulbFun
That ROM did work with Qemu to produce a 640x480 display in OF 2.4. Strangely, my Rage128o ROM doesn't work with this combination of Qemu+ati-vga(emulation) tho it's the same device ID as your Rage128y( 1002,5245 ).

For those playing along at home, you need to edit the device ID in the rage128y ROM to match the device id for our emulated ati-vga ( 1002,5046 ) aka 2010 4552 becomes 2010 4650.

The only real benefit is a 640x480 Qemu display, rather than it reaching for Max_Mode.

In PCI passthrough of my Rage 128 Orion Mac Edition, it also reaches for Max_Mode of the real display too with the Rage128o FCode ROM that came with the card from ATI, way back when.

EDIT: The R128o Rom does work, I just edited the device ID wrong, it also defaults to 640x480 with Qemu+ati-vga.
interesting results, I wonder if theres a way to change the device ID of the rage 128 that QEMU is emulating, so I dont have to edit the ROM if I dont want to etc

might have a poke in the source see what I can find

As I recall some Old World Macs, with some early versions of Open Firmware, were limited to 640x480 in open firmware, as these older ATI Rage 128 cards were sold under various names as retail Mac cards, there was even a version with 32MB of VRam, and they did include support for most PCI Old World Macs, it makes sense that they default to 640x480 for Open Firmware, where as the R128 AGP FCode ROM's would reach for Max_Mode.

I have sadly not got a real Rage 128 Pro to play with so im not sure how they behave,

but im pretty sure the default to 640x480 is just a PCI Rage 128/Rage 128 GL thing

as I know even my Power Macintosh 9600 with its primitive OpenFirmware 1.05 will do 1920x1080 in OF via the DVI out on a Radeon 9200

(Im pretty sure what resolutions you can and cant get in OpenFirmware is down to your video card rather than a limit of OpenFirmware)


BTW I noticed there seems to be RV100 (Radeon 7000) emulation in QEMU as well, is there any news on that? I did not realise it was also being worked on (I was just aware of Rage 128 devlopments)

I wonder if it will work in this G3 beige emulation setup, ill have to have a play later on :)
 
  • Like
Reactions: Amethyst1
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.