Apple Network Server MacOS based ROMs found

johntucker

New Tinkerer
Feb 24, 2025
8
9
3
@joevt ,

First I have seen the same notes that state that the ANS won’t boot from the internal fast and wide SCSI buss & that for MacOS on ANS requires a PCI video card. Neither is true on my Shiner. It only has the built-in video and 5 9GB drives + ANS CD drive. Also I have a IOGear USB PCI card that I used to backup the RAID array to a USB SSD drive, I used the MacOS SoftRAID to turn the 5 drives into a RAID 5 setup. I have not done anything more than boot the MacOS 9 install from CD. I need to run thru the entire install process to verify that on the Deep Dish with the MacOS ROM everything works end to end. I also can’t verify that the system/CPU boards are GM and not EVT.

I also have a PowerMac 9600/200 MP if that can be use to flash the ROM is necessary. I also purchased a parts only TNT 7500 system boards so if a ROM SIMM socket is needed I have one that I can easily remove from the board.

I should add your DingusPPC to my things todo, that list is getting very crowded.
Is there documentation that will help?

adios,
jt
 

joevt

Tinkerer
Mar 5, 2023
224
88
28
Is there documentation that will help?
The GitHub points to a wiki and a Discord. We can answer all questions in the Discord. DingusPPC is a work in progress so lots of stuff doesn't work (networking) and there may be issues with audio or other emulation in certain areas. For example, SCSI works in classic Mac OS but might not work completely in Open Firmware or other OSes).

First I have seen the same notes that state that the ANS won’t boot from the internal fast and wide SCSI buss & that for MacOS on ANS requires a PCI video card. Neither is true on my Shiner
Hopefully I don't need to add emulation for the built-in video (device name 54m30, model STB,HORIZON+, compatible pci1013,a0). It may be easier to do that than to add emulation for the fast/wide SCSI though.

Mac OS needs an ndrv to use the built-in video. It appears to be included in the ANS 2.0 ROM but not any of the other ROMs. The name of the driver is .Display_Video_Cirrus_54M30. If anyone without the ANS 2.0 ROM were able to boot Mac OS (via a nvramrc script?), then they would need to use a PCI graphics card, or they would need to copy the ndrv into the System file or they would need to replace the ROM.

ROM 2.0 also seems to have an ndrv for the fast wide SCSI (name apple53C8xx (53c875 in other ANS ROMs), model NCR,825A, compatible 53c875 (pci1000,3 in other ANS ROMs). I think the driver name is .MBscsi. I guess one might need to change the name from 53c825 to apple53C8xx in there ROM versions. This device and a corresponding ndrv also exists in the Power Mac 9700 ROM. I don't think this would be bootable unless the ndrv is in the ROM?

I've been working with the 1.1.22 ROM so far in DingusPPC.
 

NJRoadfan

New Tinkerer
Feb 6, 2022
76
22
8
The STB Horizon+ is a generic Cirrus Logic CL-GD5430 based card. That happens to be the same chipset hypervisors like QEMU have support for.
 

joevt

Tinkerer
Mar 5, 2023
224
88
28
There's a Mac OS X driver for the apple53C8xx

"IONameMatch"=("apple53C8xx","Apple53C875Card","ATTO,ExpressPCIProLVD","ATTO,ExpressPCIProUL2D","ATTO,ExpressPCIProUL3D"),
"CFBundleIdentifier"="com.apple.driver.AppleSym8xx",
"IOClass"="Sym8xxSCSIController",
"IOProviderClass"="IOPCIDevice"

For the built-in video, the ndrv would need to be moved to a file for Mac OS X to use since I don't think Mac OS X will read it from ROM. For ANS servers with ROM 2.0, a simple Open Firmware command should be able to copy the ndrv from ROM to an Open Firmware property.
 
  • Like
Reactions: ClassicHasClass

joevt

Tinkerer
Mar 5, 2023
224
88
28
Anyone with a serial connection to Open Firmware able to get PCI info using #50 ?
See the attached.

Another method to paste scripts into Open Firmware quickly (avoids requiring slowing down terminal text pacing and also avoids Open Firmware echoing of the input text) is to use the dl command at the Open Firmware prompt. Place a Control-D character at the end of the Open Firmware script that you are pasting. When dl sees the Control-D character, it will execute the script.

In the below example, I pasted the contents of lspci for Open Firmware 60.txt after typing dl and pressing return. The txt file contains the Control-D character at the end to signal the end of the file to dl.

Code:
0 > unselect-dev  ok
0 > dl  ok
0 > dev pci1  ok
0 > lspci
00:0B.0         [106B:0001] [060000] 6B10010016000000030000060820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C000001000000000700000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00:0F.0         [1002:4754] [030000] 02105447140000009A00000308200000000000810104000000000000000000000000000000000000000000000210876900000082000000000000000000010800080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
                                     00007810:81000000.FF000000
                                     00007814:00000401.FFFFFF01
                                     00007830:82000000.FFFF0001
00:10.0         [106B:0002] [FF0000] 6B10020016000002020000FF08200000000000F30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
                                     00008010:F3000000.FFFE0000
00:11.0         [1000:0003] [010000] 0010030016003002110000010820000001080000000010F3001010F300000000000000000000000000000000000000000000000000000000000000000E0108400100027E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019330003E420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
                                     00008810:00000801.FFFFFF01
                                     00008814:F3100000.FFFFFF00
                                     00008818:F3101000.FFFFF000
00:12.0         [1000:0003] [010000] 00100300160030021100000108200000010C0000003010F3004010F300000000000000000000000000000000000000000000000000000000000000000E0108400100027E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019330003E420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
                                     00009010:00000C01.FFFFFF01
                                     00009014:F3103000.FFFFFF00
                                     00009018:F3104000.FFFFF000
 ok
0 > dev pci2  ok
0 > lspci
01:0B.0         [106B:0001] [060000] 6B100100160000000300000608200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000002000000000B00000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 ok

While you're in there, also get output from
Code:
dev / ls
devalias
dump-device-tree
 

Attachments

  • lspciForOpenFirmware.zip
    18.6 KB · Views: 8
Last edited:

joevt

Tinkerer
Mar 5, 2023
224
88
28
Here is the output from this 200MHz ANS 500 with production ROMs and the 10/100 Ethernet card option.
Thanks for that. I've attached the result of parsing that dump with my parseOFlspci command (included in the "lspci for Open Firmware.zip") which uses lspci.

I welcome dumps from any Power Mac or ANS that has different results.

Does AIX have pciutils with lspci? I suppose someone could port pciutils to Mac OS 9 either as MPW tools or as SIOUX apps.

Using ANS ROM 2.0 to boot Mac OS is discussed at
https://68kmla.org/bb/index.php?threads/mac-os-on-ans-modding-a-rom-dimm.51120
A ROM SIMM from a Power Mac 7100 is used.
 

Attachments

  • ANS 500 lspci for Open Firmware parsed.zip
    3.2 KB · Views: 145
  • Like
Reactions: ClassicHasClass

ClassicHasClass

Tinkerer
Aug 30, 2022
399
232
43
www.floodgap.com
Good to see someone has confirmed booting and demonstrated how to wire it up with NOS chips. I've got a spare ANS ROM here I can sacrifice if someone is willing to build it (would pay for it). Regrettably I'm poor at SMT soldering.
 
  • Like
Reactions: dbinreno

dbinreno

New Tinkerer
Jan 8, 2026
8
9
3
For those unclear on the historical context (there were even Windows NT ROMs promised), I did a summation here.

I bet you’re gonna be really happy to learn that I just found the Windows NT ROM SIMM I acquired at some point before the year 2000.

Well, I do regret selling my power express almost 25 years ago, I am just getting back into the vintage Mac game and I would love to make someone’s day.

i’ve got an SE/30 in the mail to me so I’d be happy to trade for a 32 bit clean ROM for that machine….but will mail this to whoever has a great chance of dumping and reflating the contents for Shiner/Deep Dish folks.
 

Attachments

  • IMG_1004.jpeg
    IMG_1004.jpeg
    1.4 MB · Views: 30
Last edited:

dbinreno

New Tinkerer
Jan 8, 2026
8
9
3
Good to see someone has confirmed booting and demonstrated how to wire it up with NOS chips. I've got a spare ANS ROM here I can sacrifice if someone is willing to build it (would pay for it). Regrettably I'm poor at SMT soldering.
It worked quite well when I used it in the 1998 to 1999 timeframe at Apple. ANS had been canceled and we had access to every unsold box sitting at elk Grove for internal projects.

I even got Rhapsody to netboot on my ANS 700 once, but I had to use the macOS ROM to do it - which was kind of funny!
 
  • Like
Reactions: Mac84

dbinreno

New Tinkerer
Jan 8, 2026
8
9
3
As far as the Rhapsody build, it’s whatever was being offered via TFTP internally at Apple at the time. There was no installation media; you had to get a description file and net boot from a build server somewhere on infinite loop.

I remember that engineering had it booting on the second generation of power surge machines, so I gave it a try on my ANS 700, and it booted. I showed my boss and he told me not to tell anybody, which makes sense if you consider the politics inside Apple at the time.
 
  • Like
Reactions: Mac84

dbinreno

New Tinkerer
Jan 8, 2026
8
9
3
I probably sound like a crazy man talking about net booting open firmware machines and I really wish I could explain how it worked at this point because we are 28 years after it happened….
 
  • Like
Reactions: Mac84

Dana Does Stuff

New Tinkerer
Oct 19, 2021
6
7
3
Wow, I'm definitely late to this party, but this is very cool. Exactly the kind of glorious nerdery that's both terrifically exciting and also WAY above my head. :p

If and when this project gets to the point where ANS owners can purchase these ROMs, I am definitely on board. I currently have a 500 and a 700, and between the two of them I've got a pair 10/100 Ethernet cards, the RAID card, somewhere around 500-600mb of RAM, and a boatload of 9gb drives -- several of which are still NiB. I had one of the units running at VCF Midwest in 2024, but since bringing it home, it refuses to power on and I haven't been able to devote the time to figure out what's going on.
 

ClassicHasClass

Tinkerer
Aug 30, 2022
399
232
43
www.floodgap.com
I pulled my test 700 from storage over the weekend and rehabilitated it (bad CPU card, bad slides on the logic board drawer). With that running, I received the NT ROM from @dbinreno and today was able to dump it. I attempted a naive boot directly from my Windows NT 4 CD-ROM and while SETUPLDR will load, it immediately bombs out with a CLAIM failed! no matter what the load base or real base are set to. Rairii (Windows NT on Power Mac fame) suspects there is a missing HAL for this, so we may still need another piece to get NT booting. I'll keep messing with it in the meantime.

That said, there are OF words in the ROM (attached) that directly reference NT that do not seem to be present in other ROM dumps, like init-nt-vars, maybe-read-nt-part, etc., that appear to create a section in the NVRAM specifically for NT. I do not know their purpose otherwise. Perhaps @joevt has an idea about that. It also reports itself as 2.26.

To my great shame, I also found in my box of tricks - some of which came from Apple Austin - a flash ROM very much like @johntucker 's that also turns out to have 1.1.20.1 (bitwise identical to his dump). I am able to get this dump to boot MacOS, with some extra work. I'll write that up after I've finished some additional experimentation - and yes, I will definitely try Rhapsody. :)
 

Attachments

  • PXL_20260117_014152223~2.jpg
    PXL_20260117_014152223~2.jpg
    1.7 MB · Views: 21
  • PXL_20260117_165619257.jpg
    PXL_20260117_165619257.jpg
    858.6 KB · Views: 18
  • PXL_20260117_180214228.jpg
    PXL_20260117_180214228.jpg
    2.4 MB · Views: 18
  • ansnt.zip
    2 MB · Views: 5
  • PXL_20260117_072011951.jpg
    PXL_20260117_072011951.jpg
    991.3 KB · Views: 20
  • Like
Reactions: dougg3 and PL212

joevt

Tinkerer
Mar 5, 2023
224
88
28
To my great shame, I also found in my box of tricks - some of which came from Apple Austin - a flash ROM very much like @johntucker 's that also turns out to have 1.1.20.1 (bitwise identical to his dump). I am able to get this dump to boot MacOS, with some extra work. I'll write that up after I've finished some additional experimentation - and yes, I will definitely try Rhapsody. :)
Does the extra work require more than the nvramrc patches for the AAPL,ROM device I suggested at https://tinkerdifferent.com/threads/apple-network-server-macos-based-roms-found.4756/post-41404 ? (unselect-dev should probably be device-end)

I pulled my test 700 from storage over the weekend and rehabilitated it (bad CPU card, bad slides on the logic board drawer). With that running, I received the NT ROM from @dbinreno and today was able to dump it. I attempted a naive boot directly from my Windows NT 4 CD-ROM and while SETUPLDR will load, it immediately bombs out with a CLAIM failed! no matter what the load base or real base are set to. Rairii (Windows NT on Power Mac fame) suspects there is a missing HAL for this, so we may still need another piece to get NT booting. I'll keep messing with it in the meantime.

That said, there are OF words in the ROM (attached) that directly reference NT that do not seem to be present in other ROM dumps, like init-nt-vars, maybe-read-nt-part, etc., that appear to create a section in the NVRAM specifically for NT. I do not know their purpose otherwise. Perhaps @joevt has an idea about that. It also reports itself as 2.26.
The first 3 MiB (68K ROM) of 2.26NT matches 1.1.20.1 and 1.1.22.
The last 1 MiB (Power PC ROM) of 2.26NT is very similar to 2.26B6. It has some additions that don't appear to be NT specific? In other words, 2.26B6 seems to have all the NT stuff also.

Open Firmware additions in 2.26NT vs 2.26B6:
  • _cold-init (the fcode called by cold-load) calls cuda-send with a couple zero bytes.
  • not-pci-pci-alloc? flag is added. It has something to do with f-seg which is a thing that exists only in Open Firmware for ANS. f-segment? is an nvram variable that controls this. not-pci-pci-alloc? starts out as true (normal result for use-f-seg?) but is set temporarily to false when assigning addresses to devices behind PCI bridges (use-f-seg? is forced to return false during that time).
  • A size word is added to fat-files, iso-9660-files. This word does not exist in any other version of fat-files or iso-9660-files.
Non-Open Firmware differences in last 1MiB:
  • ExceptionTable (Start): ?
  • HWInit: None except date.
Differences in the first 3 MiB:
  • Resources: None except dates in PEFs.
  • DeclData: None except date.
  • MainCode: two locations in the Universal Tables (view with my Hex Fiend) have different bytes:
    • SCSI96_2Exists is changed from true to false in BasesValid of InfoTNTProto1
    • SCSI96Addr1 is changed from 0xF3018000 to 0xF3010000 (same address as SCSI96Addr2) in the HHeadDecoder
 

Attachments

  • ROM 2.26NT ANS 300 & 500 & 700.zip
    587.6 KB · Views: 1

ClassicHasClass

Tinkerer
Aug 30, 2022
399
232
43
www.floodgap.com
I didn't use an nvramrc to boot Mac OS on 1.1.20.1, it mostly just worked with the BYE command. It requires a supported video card, it will only boot from the external SCSI (so you'll need an external CD-ROM and/or CD images) and I'm currently investigating issues with Ethernet, though I haven't yet ruled out something wrong with the logic board. That said, NSDU gave it a clean bill of health with the production ROMs.

It is clearly less functional than the later 2.26 ROMs, but it does work in a basic sense. I'll be exploring 9.1 a bit more tomorrow, then Rhapsody, then possibly trying an XPostFacto boot to bring up 10.2.
 

joevt

Tinkerer
Mar 5, 2023
224
88
28
I didn't use an nvramrc to boot Mac OS on 1.1.20.1, it mostly just worked with the BYE command. It requires a supported video card, it will only boot from the external SCSI (so you'll need an external CD-ROM and/or CD images) and I'm currently investigating issues with Ethernet, though I haven't yet ruled out something wrong with the logic board. That said, NSDU gave it a clean bill of health with the production ROMs.

It is clearly less functional than the later 2.26 ROMs, but it does work in a basic sense. I'll be exploring 9.1 a bit more tomorrow, then Rhapsody, then possibly trying an XPostFacto boot to bring up 10.2.
Right. 1.1.20.1 and 2.0 have a normal implementation for AAPL,ROM's load and open words.
1.1.22.1 removes a call to <bye> in AAPL,ROM's load word and changes open to always return false.
2.26B6 and 2.26NT has normal load from 1.1.20.1 but broken open from 1.1.22.1.
 

joevt

Tinkerer
Mar 5, 2023
224
88
28
Does the ANS graphics controller or internal SCSI devices work once you are booted using the 1.1.20.1 ROM?

#42 describes ndrv's in 2.0 that aren't in the other versions. These ndrv's can probably be converted to system extensions to make the ANS graphics controller work and the internal SCSI devices.

Or we can create a disk based Open Firmware Extender that loads the ndrv's into properties in the device tree (from a disk that is supported by Open Firmware). See #87 for more info (latest version discussed in DingusPPC's discord server).

Does OS X have a kext for the internal SCSI controllers? The ndrv might be sufficient for built in graphics since Mac OS X does support ndrv for graphics controllers.
 

ClassicHasClass

Tinkerer
Aug 30, 2022
399
232
43
www.floodgap.com
No, onboard graphics and internal fast SCSI do not work in the 1.1.20.1 ROM. It looks like @johntucker 's 2.0 ROMs are the only ones that support this.

Since you mentioned the 2.2b6 and 2.26NT ROMs are very similar, I checked to see if the 2.26NT ROM will start /AAPL,ROM and it will not, not even with your nvramrc script, not even with an external video card and external SCSI device. It simply hangs after "MacOS requires PCI video card and external SCSI boot disk" and nothing is displayed on the video card.

If you can post your OF Extender here, I'll see about trying it (I don't use my account at the "other site" anymore).