|
* TinkerDifferent *
Retro Computing Community |
| Home | Forums | What's New | Search | Settings |
| Apple Network Server MacOS based ROMs found |
Forums > Vintage Apple > Macintosh > Xserve & Servers
|
eric Administrator MN -------- Joined: Sep 2, 2021 Posts: 1,152 Likes: 1,936 |
Oct 26, 2025 - #1
If you've been following my ANS 700 tinker log you'll have seen that @johntucker has recent come forward having a ANS that is able to boot into MacOS! This was a much talked about and sought after ROM back in the day as ANS's only run AIX, until now!
MacOS 8.6 Booting on an ANS via @johntucker @johntucker, @joevt, @ClassicHasClass, and myself have been working to get these ROM's dumped and some analysis done on them to see the differences (I'll let @joevt post his OF analysis below). Current Status: We have the ROM's dumped, but now need a way to program them. The ROM board/s are AM28F020 and I believe are the same/similar to what other PowerMacs had (photo via @johntucker ) I'll keep this first post updated as all the details emerge.
Liked by AlexMac,Garth Beagle,joethezombieand 8 others |
|
Ron's Computer Videos Active Tinkerer -------- Joined: Oct 15, 2021 Posts: 199 Likes: 278 |
Oct 26, 2025 - #2
Many thanks to everyone (especially @johntucker) for making this possible!
|
|
Mac84 Administrator New Jersey, USA -------- Joined: Sep 4, 2021 Posts: 306 Likes: 431 |
Oct 26, 2025 - #3
This is awesome, amazing group effort - can't wait to see what is possible! [clap]
|
|
ClassicHasClass Tinkerer -------- Joined: Aug 30, 2022 Posts: 386 Likes: 215 |
Oct 26, 2025 - #4
For those unclear on the historical context (there were even Windows NT ROMs promised), I did a summation here.
The Apple Network Server MacOS ROMs have resurfacedThe 1996 Apple Network Server was Apple's first true Unix-through-and-through server (the Apple Workgroup Server 95, actually a Quadra 950...
[Image: oldvcr.blogspot.com]
oldvcr.blogspot.com
Liked by cy384,Figgy2112,PL212and 3 others |
|
joevt Tinkerer -------- Joined: Mar 5, 2023 Posts: 218 Likes: 85 |
Oct 26, 2025 - #5
I will post ROMs to my MacROMan fork and add some notes here later.
The last ROM we're working on has problems. It has errors in byte lane 2 (8 lanes numbered 0 to 7). Byte lane 2 is the address with least significant bits = 010.
Maybe there's an issue with one of the chips not being seated? Or corrosion on one of the pins related to byte lane 2? Try cleaning the pins or pressing the flash chips. The attached Open Firmware script will calculate the checksums of an Old World Power Mac. Connect via serial port, type dl to begin download, then paste the contents of the file. I added the "end of file" marker (Control-D) at the end of the script which ends the download and begins execution of the script.The output should look like this:
"calced" is the values calculated by my script using the bytes of the ROM. Compare with previous results in romlist.txt.
Liked by eric,ClassicHasClassandbakkus |
|
joevt Tinkerer -------- Joined: Mar 5, 2023 Posts: 218 Likes: 85 |
Oct 27, 2025 - #6
|
|
eric Administrator MN -------- Joined: Sep 2, 2021 Posts: 1,152 Likes: 1,936 |
Oct 27, 2025 - #7
It looks like my ROM chips are 8x:
Japan 9510 HN27C40000FP- 0000GSSO Maybe: https://pdf.dzsc.com/88889/23478.pdf Looks like one time programmable so will probably have to go the 16 AM28F020 route :) |
|
misterg33 New Tinkerer -------- Joined: Oct 10, 2022 Posts: 61 Likes: 14 |
Oct 27, 2025 - #8
I just wanted to say -- this is amazing. A big thank you to the person who shared the ROM and the people working to preserve it!
|
|
joevt Tinkerer -------- Joined: Mar 5, 2023 Posts: 218 Likes: 85 |
Oct 27, 2025 - #9
The ROMsI've uploaded the 3 new ANS ROMs to https://github.com/joevt/MacROManThere's 4 total now. They are similar to the Power Mac 9500 v2 ROM. In fact, the 2.26B6 ROM has identical first 3 MiB.
I've attached some listings of the ROMs for ExceptionTable/Start, HWInit, and Open Firmware (OpenFW). Capturing ROMsCapturing ROM notes:https://www.emaculation.com/doku.php/capturing_rom AutoCopyROM: https://www.geocities.ws/terry_teague/autocopyrom.html There's a CopyROMs utility that comes with vMacs but it appears from the source code to only work with ROMs it knows about. A classic Mac OS app might not work if the ROM is not mapped into virtual memory correctly. https://macintoshgarden.org/forum/project-looking-mac-roms I don't think any of the classic Mac OS apps do any virtual memory mapping but I haven't checked all of them. I only have the source code for CopyROMs (different than CopyROM and AutoCopyROM). I haven't seen source code for any of the other apps except my GrabMem app which also doesn't do any virtual memory mapping. My utility for Mac OS X does do virtual memory mapping. Disabling virtual memory might help if an app doesn't capture the ROM? Some notes here: https://forums.macrumors.com/thread...l-work-in-a-beige-power-macintosh-g3.2303689/ https://forums.macrumors.com/thread...eige-power-macintosh-g3.2303689/post-31329170 https://forums.macrumors.com/thread...eige-power-macintosh-g3.2303689/post-31329386 https://forums.macrumors.com/thread...eige-power-macintosh-g3.2303689/post-31491349 https://forums.macrumors.com/thread...eige-power-macintosh-g3.2303689/post-31494103 Definitely use ttya:57600 for input and output.It's faster. I could create a nvram script to enable 115200 or 23400 bps. Simple command:
This command is more efficient:
You can change 3f to 1f for 32 bytes or 0f for 16 bytes per line.I'm not sure which is faster: longer lines or shorter lines. Shorter lines means more linefeeds and less text to scroll but scrolls more often. Shorter lines might be less console escape characters - if console escape characters are happening. I guess one would have to capture hex bytes from serial to see if any characters other than hex digits and line feeds are being transmitted. Open Firmware Documentation and NotesGo to https://developer.apple.com/library/archive/navigation/#section=Platforms&topic=macOSSearch for Open Firmware. Three of the items are named "Fundamentals of Open Firmware". Sort by date and read them in order. The OpenBIOS page has a documentation section. IEEE 1275-1994 is for the main spec. Bindings is for all the extras (graphics, PCI, etc.) Hold Command-Option-O-F to get into Open Firmware. Type printenv at the Open Firmware prompt to list the settings.
Also check the devalias command:
And if you have a serial connection, then capture a dump of the device tree for us using the dump-device-tree command. zip the result and attach to a post.You can just hold the space bar while it's dumping until it's done. There's a lines/page value that is set to 20 by default.
Change it to 0x7fffffff to remove the need to hold space bar.
If you were using a terminal app that properly supports VT100 to capture the text in a scroll back buffer then the More [<space>,<cr>,q] ? prompts would be removed after accepting your input - Copy and Paste can then be used to copy the result to a text file.On macOS, I use Serial.app when connecting to Open Firmware of a Mac via serial (older Power Macs) or telnet (newer Macs that don't have serial). You can limit the scroll back buffer in Serial.app to a billion lines (2147483647 max). More than enough to capture 4 MB ROM dump. I bought 2.0 for more features such as telnet support. https://www.decisivetactics.com/products/serial/release-notes Both versions let you change the scroll back buffer number of lines. The DingusPPC emulator outputs serial data to a socket backend. Then I use the socat command in Terminal.app for input and output.socat UNIX-CLIENT:dingussocket -,cs8,parenb=0,echo=0,icanon=0,isig=0,icrnl=0Examining ROMstbxi dump can split the ROM into its parts (68K code, DeclData, resources, ExceptionTable, HWInit, OpenFW, Nanokernel).https://github.com/elliotnunn/tbxi SlotsParse can parse the DeclData (probably nothing useful as in most Power Macs). https://github.com/joevt/SlotsDump ROM Fiend can dump the DeclData, Dispatch Table, and Universal Tables. https://github.com/joevt/rom_fiend DumpMacRom.sh can convert the OpenFW part into assembly and Forth. I think this is where the Mac OS boot difference may be found, or at least the first part. https://github.com/joevt/OpenBIOSStuff DeRez for resources. DumpPEF for PEFs. https://github.com/ksherlock/mpw etc. Comparing the TNT and ANS ROMsANS 1.1.22 vs TNT 1.0.5ANS ROM is close enough to TNT ROM that I've assigned ROM Map tnt_2.8f2_rominfo.txt to be used with the ANS ROM in ROM Fiend.
ROM Fiend only accounts for the 68K part of the ROM. Comparing that part with TNT there's only a couple small changes (other than build dates in the PEFs). ANS has some extra code in Exception Table and HWInit (some is doing output to the LED display). TNT has OF 1.0.5 so it's difficult to compare - OF 1.1.22 from ANS has all words defined external or headers but TNT has many words defined as headerless (unnamed). The first thing to fix in the ANS Open Firmware to allow booting Mac OS would be to fix the open and load words of the AAPL,ROM device like this:
Put that in the nvramrc script usingnvedit, Control-C to end editing, nvstore to save to nvram,do setenv use-nvramrc? true, reboot, see how far it gets.Be sure to use a CD or hard drive connected to the SCSI bus that matches the SCSI controller used in the TNT machines. Hopefully nothing in ExceptionTable or HWInit needs to be patched. ANS 1.1.20.11.1.20.1 is very similar to 1.1.22 except for these differences:
ANS 2.26B6ANS 2.26B6 has many changes and fixes (like the difference between 9500 v2 and Beige G3) which makes sense since it is version 2 instead of version 1. (2.26 vs 1.1.22 or 1.0.5 where Beige G3 is 2.0f1). However, the first 3 MiB (the 68K part) is identical to 9500 v2 ROM. The device-tree of ANS 2.26B6 has OpenFirmware2.26 while the ANS 1.1.22 has OpenFirmware1.1.22 - 2.26B6 Adds device alias for a mouse. Mouse device adds words to check the mouse button. - 2.26B6 Adds pe-loader package - 2.26B6 many minor changes and additions. ANS 2.0 (for booting Mac OS)Has version number (7dd0) which seems strange. The second digit is usually 0-9. The 2.0 ROM has many words declared headerless (unnamed) which makes it difficult to compare to 1.1.22 or 2.26. <bye> in ROM 2.0 has extra code to clear bit 16 (PowerPC counting) of the MSR register (disables external interrupts). I guess Mac OS expects interrupts to be disabled before booting? Is this bit normally cleared in Open Firmware? Is it set in Open Firmware of ANS? Things to look into... The following nvramrc script code adds clearing of that bit in the MSR:
Exception handlers 0x1000, 0x1100, 0x1200 are different. I see the ExceptionTable section is missing LCD strings. There's a lot of differences here. In HWInit, the code after Serial Test Manager is smaller and missing strings. ANS Misc NotesI need to add the53c825 PCI devices to DingusPPC so that the ROM detects the hardware as AAPL,ShinerESB like in the device tree of a real ANS. The presence of a 53c825 PCI device causes the ?esb value to be set to true.In the current emulation without a 53c825 device, the device tree has AAPL,9500.?esb causes a few changes.- changes AAPL,slot-name and slot-names- changes the number of slots and allocation between bandit1 and bandit2- ?esb true removes mesh (second built-in SCSI bus)- serial port AAPL,connector names- etc. If you have 53c825 model NCR,825A then that means you have ?esb-evt2 set to true. This model has an over temperature flag that gets checked by Open Firmware while waiting for a keypress.Flashing ANS or TNT ROMsNew World Macs have flashable ROM chips. Old World Macs usually do not.Some ANS ROMs have erasable programable ROMs (AM28F020) and are usually/always in the ROM SIMM slot. The Power Mac 9600 schematics show the ROM SIMM slot (sheet 6) has a ROMWE_I signal that comes from ROMDATAWEN of Hammerhead (sheet 3). https://www.macdat.net/files/pdf/apple/schematics/apple/ The Hammerhead ERS document says 8 byte writes to the ROM will work when the RomWE bit is enabled in the Hammerhead ROM Timing Register. This means a ROM should be flashable in place. Such ROM flashing utilities ("flash gordon") exist for classic Mac OS for 68K and PPC Macs as discussed at 68kmla, but we need an Open Firmware method for ANS that doesn't boot Mac OS. B&W G3 firmware updater has Open Firmware code for doing flashing. It could maybe be adapted for ANS. A failure that requires a reboot means the ROM SIMM would need to be flashed externally. A failure that doesn't require a reboot means you can try again with different firmware update code. Would be nice to be able to make ROM SIMMs but any such SIMM would need to be flashed externally since they won't come with a ROM for booting to flash in place. Found ANS 300/500 Service Source at http://www.applerepairmanuals.com/the_manuals_are_in_here/Network_Server_500_700.pdf
Liked by cy384 |
|
ClassicHasClass Tinkerer -------- Joined: Aug 30, 2022 Posts: 386 Likes: 215 |
Oct 27, 2025 - #10
Wasn't it
? Or are the h#'s unnecessary? |
|
dougg3 Tinkerer -------- Joined: Jan 10, 2022 Posts: 33 Likes: 47 |
Oct 27, 2025 - #11
Something that was pointed out to me a while ago: this PCI Power Macintosh DDK disk has a TNT version of Apple's Flasher app on it. Probably mainly useful for reflashing a flash ROM DIMM that you're already booted from, but on the off chance that it gives you any extra context I thought I'd bring it up.
Liked by JockelillandClassicHasClass |
|
ClassicHasClass Tinkerer -------- Joined: Aug 30, 2022 Posts: 386 Likes: 215 |
Oct 27, 2025 - #12
Very interesting!
|
|
Jockelill Tinkerer -------- Joined: Jul 4, 2022 Posts: 36 Likes: 38 |
Oct 27, 2025 - #13
|
|
joevt Tinkerer -------- Joined: Mar 5, 2023 Posts: 218 Likes: 85 |
Oct 27, 2025 - #14
Alternatively, you could use hex ffc00000 400000 dumpCheck the current conversion radix with this:
If the conversion radix is not 16, then ffc00000 cannot be interpreted, causing the remainder of the command to stop being interpreted and an error message is output.
For ANS we'll need a utility that works in Open Firmware if the goal is to write a ROM that can boot Mac OS onto a ROM that can't boot Mac OS. |
|
joevt Tinkerer -------- Joined: Mar 5, 2023 Posts: 218 Likes: 85 |
Oct 27, 2025 - #15
The name of the ROM Flashing Utility is "Flasher (TNT 0.6)". I ran it in DingusPPC emulating a Power Mac 9600 v1.
DingusPPC shows the code below after setting the RomWE bit of the ROM Timing Register.It uses 8 byte read/writes to FFC00000 and FFE00000 to probe the ROM (offset 0 and offset 2 MiB). It writes patterns 9090909090909090 and 909090909090909. Then it tries to read the results. DingusPPC doesn't emulate flashing yet, so the result is just the bytes of the ROMs at those addresses. I guess real flash chips would return some kind of Flash Chip ID. It looks like the code for read-ROM-id-AMD-4M? or read-ROM-id-intel-4m? in the B&W G3 Firmware update code which also uses 64-bit read/writes.You can probably also find similar flash id code in flashrom.https://github.com/joevt/flashrom [Flasher (TNT 0.6) log: ( 163.916s) hammerhead.cpp:84 INFO| Hammerhead: read ROM_TIMING @80.l = 0000008a ( 163.916s) hammerhead.cpp:147 INFO| Hammerhead: write ROM_TIMING @80.l = 0000008b 00AA3518: dingusdbg> context auto 00AA3518: dingusdbg> si 100 00AA3518: 7C0004AC sync 00AA351C: 7DE803A6 mtlr r15 ; in{ r15:AA2F2C } out{ lr:AA2F2C } 00AA3520: 4E800020 blr ; in{ lr:AA2F2C } 00AA2F2C: 48000075 bl 0x00AA2FA0 ; in{ lr:AA2F2C } 00AA2FA0: 4E108182 crclr crb16 ; out{ cr:20000000 } 00AA2FA4: 7F5DD378 mr r29, r26 ; in{ r26:FFC00000 } out{ r29:FFC00000 } 00AA2FA8: 7FDDE214 add r30, r29, r28 ; in{ r29:FFC00000 r28:200000 } out{ r30:FFE00000 } 00AA2FAC: 8050009C lwz r2, 0x9C(r16) ; in{ r16:AA2DA4 } out{ r2:89898989 } 00AA2FB0: 807000AC lwz r3, 0xAC(r16) ; in{ r16:AA2DA4 } out{ r3:BDBDBDBD } 00AA2FB4: 809000BC lwz r4, 0xBC(r16) ; in{ r16:AA2DA4 } out{ r4:1010101 } 00AA2FB8: 80B000CC lwz r5, 0xCC(r16) ; in{ r16:AA2DA4 } out{ r5:2A2A2A2A } 00AA2FBC: D8DD0000 stfd f6, 0x0(r29) ; in{ f6:9090909090909090 r29:FFC00000 } 00AA2FC0: D8FE0000 stfd f7, 0x0(r30) ; in{ f7:909090909090909 r30:FFE00000 } 00AA2FC4: 7C0006AC eieio 00AA2FC8: C81D0000 lfd f0, 0x0(r29) ; in{ r29:FFC00000 } out{ f0:960E4BE90000002A } 00AA2FCC: C83E0000 lfd f1, 0x0(r30) ; in{ r30:FFE00000 } out{ f1:4B757274C0A00000 } 00AA2FD0: C85D0008 lfd f2, 0x8(r29) ; in{ r29:FFC00000 } out{ f2:77D4EFA00684EFA } 00AA2FD4: C87E0008 lfd f3, 0x8(r30) ; in{ r30:FFE00000 } out{ f3:32BFC0000005C } 00AA2FD8: 7C0006AC eieio 00AA2FDC: D89D0000 stfd f4, 0x0(r29) ; in{ f4:0 r29:FFC00000 } 00AA2FE0: D8BE0000 stfd f5, 0x0(r30) ; in{ f5:0 r30:FFE00000 } 00AA2FE4: 7C0006AC eieio 00AA2FE8: D81000E4 stfd f0, 0xE4(r16) ; in{ f0:960E4BE90000002A r16:AA2DA4 } 00AA2FEC: D85000EC stfd f2, 0xEC(r16) ; in{ f2:77D4EFA00684EFA r16:AA2DA4 } 00AA2FF0: 80D000E4 lwz r6, 0xE4(r16) ; in{ r16:AA2DA4 } out{ r6:960E4BE9 } 00AA2FF4: 80F000E8 lwz r7, 0xE8(r16) ; in{ r16:AA2DA4 } out{ r7:2A } 00AA2FF8: 811000EC lwz r8, 0xEC(r16) ; in{ r16:AA2DA4 } out{ r8:77D4EFA } 00AA2FFC: 813000F0 lwz r9, 0xF0(r16) ; in{ r16:AA2DA4 } out{ r9:684EFA } 00AA3000: 7C063800 cmpw r6, r7 ; in{ r6:960E4BE9 r7:2A } out{ cr:80000000 } 00AA3004: 4C820020 bnelr ; in{ cr:80000000 lr:AA2F30 } 00AA2F30: 40820034 bne 0x00AA2F64 ; in{ cr:80000000 } 00AA2F64: Error; Disable all DMA channels, goto reset vector FFF00100 00AA2F64: 6403F300 oris r3, r0, 0xF300 ; in{ r0:0 } out{ r3:F3000000 } 00AA2F68: 90030024 stw r0, 0x24(r3) ; in{ r0:0 r3:F3000000 } 00AA2F6C: 60028000 ori r2, r0, 0x8000 ; in{ r0:0 } out{ r2:8000 } 00AA2F70: 64018000 oris r1, r0, 0x8000 ; in{ r0:0 } out{ r1:80000000 } 00AA2F74: 7C23152C stwbrx r1, r3, r2 ; in{ r1:80000000 r3:F3000000 r2:8000 } 00AA2F78: 38420100 addi r2, r2, 0x100 ; in{ r2:8000 } out{ r2:8100 } 00AA2F7C: 28028B00 cmplwi cr0, r2, 0x8B00 ; in{ r2:8100 } out{ cr:80000000 } 00AA2F80: 7C0006AC eieio 00AA2F84: 4082FFF0 bne 0x00AA2F74 ; in{ cr:80000000 } 00AA2F74: 7C23152C stwbrx r1, r3, r2 ; in{ r1:80000000 r3:F3000000 r2:8100 } 00AA2F78: 38420100 addi r2, r2, 0x100 ; in{ r2:8100 } out{ r2:8200 } 00AA2F7C: 28028B00 cmplwi cr0, r2, 0x8B00 ; in{ r2:8200 } out{ cr:80000000 } 00AA2F80: 7C0006AC eieio 00AA2F84: 4082FFF0 bne 0x00AA2F74 ; in{ cr:80000000 } 00AA2F74: 7C23152C stwbrx r1, r3, r2 ; in{ r1:80000000 r3:F3000000 r2:8200 } 00AA2F78: 38420100 addi r2, r2, 0x100 ; in{ r2:8200 } out{ r2:8300 } 00AA2F7C: 28028B00 cmplwi cr0, r2, 0x8B00 ; in{ r2:8300 } out{ cr:80000000 } 00AA2F80: 7C0006AC eieio 00AA2F84: 4082FFF0 bne 0x00AA2F74 ; in{ cr:80000000 } 00AA2F74: 7C23152C stwbrx r1, r3, r2 ; in{ r1:80000000 r3:F3000000 r2:8300 } 00AA2F78: 38420100 addi r2, r2, 0x100 ; in{ r2:8300 } out{ r2:8400 } 00AA2F7C: 28028B00 cmplwi cr0, r2, 0x8B00 ; in{ r2:8400 } out{ cr:80000000 } 00AA2F80: 7C0006AC eieio 00AA2F84: 4082FFF0 bne 0x00AA2F74 ; in{ cr:80000000 } 00AA2F74: 7C23152C stwbrx r1, r3, r2 ; in{ r1:80000000 r3:F3000000 r2:8400 } 00AA2F78: 38420100 addi r2, r2, 0x100 ; in{ r2:8400 } out{ r2:8500 } 00AA2F7C: 28028B00 cmplwi cr0, r2, 0x8B00 ; in{ r2:8500 } out{ cr:80000000 } 00AA2F80: 7C0006AC eieio 00AA2F84: 4082FFF0 bne 0x00AA2F74 ; in{ cr:80000000 } 00AA2F74: 7C23152C stwbrx r1, r3, r2 ; in{ r1:80000000 r3:F3000000 r2:8500 } 00AA2F78: 38420100 addi r2, r2, 0x100 ; in{ r2:8500 } out{ r2:8600 } 00AA2F7C: 28028B00 cmplwi cr0, r2, 0x8B00 ; in{ r2:8600 } out{ cr:80000000 } 00AA2F80: 7C0006AC eieio 00AA2F84: 4082FFF0 bne 0x00AA2F74 ; in{ cr:80000000 } 00AA2F74: 7C23152C stwbrx r1, r3, r2 ; in{ r1:80000000 r3:F3000000 r2:8600 } 00AA2F78: 38420100 addi r2, r2, 0x100 ; in{ r2:8600 } out{ r2:8700 } 00AA2F7C: 28028B00 cmplwi cr0, r2, 0x8B00 ; in{ r2:8700 } out{ cr:80000000 } 00AA2F80: 7C0006AC eieio 00AA2F84: 4082FFF0 bne 0x00AA2F74 ; in{ cr:80000000 } 00AA2F74: 7C23152C stwbrx r1, r3, r2 ; in{ r1:80000000 r3:F3000000 r2:8700 } 00AA2F78: 38420100 addi r2, r2, 0x100 ; in{ r2:8700 } out{ r2:8800 } 00AA2F7C: 28028B00 cmplwi cr0, r2, 0x8B00 ; in{ r2:8800 } out{ cr:80000000 } 00AA2F80: 7C0006AC eieio 00AA2F84: 4082FFF0 bne 0x00AA2F74 ; in{ cr:80000000 } 00AA2F74: 7C23152C stwbrx r1, r3, r2 ; in{ r1:80000000 r3:F3000000 r2:8800 } 00AA2F78: 38420100 addi r2, r2, 0x100 ; in{ r2:8800 } out{ r2:8900 } 00AA2F7C: 28028B00 cmplwi cr0, r2, 0x8B00 ; in{ r2:8900 } out{ cr:80000000 } 00AA2F80: 7C0006AC eieio 00AA2F84: 4082FFF0 bne 0x00AA2F74 ; in{ cr:80000000 } 00AA2F74: 7C23152C stwbrx r1, r3, r2 ; in{ r1:80000000 r3:F3000000 r2:8900 }( 182.348s) grandcentral.cpp:497 WARN| GrandCentralTnt: Unsupported DMA channel DMA_AUDIO_IN write @00.l = 00000080 00AA2F78: 38420100 addi r2, r2, 0x100 ; in{ r2:8900 } out{ r2:8A00 } 00AA2F7C: 28028B00 cmplwi cr0, r2, 0x8B00 ; in{ r2:8A00 } out{ cr:80000000 } 00AA2F80: 7C0006AC eieio 00AA2F84: 4082FFF0 bne 0x00AA2F74 ; in{ cr:80000000 } 00AA2F74: 7C23152C stwbrx r1, r3, r2 ; in{ r1:80000000 r3:F3000000 r2:8A00 } 00AA2F78: 38420100 addi r2, r2, 0x100 ; in{ r2:8A00 } out{ r2:8B00 } 00AA2F7C: 28028B00 cmplwi cr0, r2, 0x8B00 ; in{ r2:8B00 } out{ cr:20000000 } 00AA2F80: 7C0006AC eieio 00AA2F84: 4082FFF0 bne 0x00AA2F74 ; in{ cr:20000000 } 00AA2F88: 38200100 li r1, 0x100 ; out{ r1:100 } 00AA2F8C: 6421FFF0 oris r1, r1, 0xFFF0 ; in{ r1:100 } out{ r1:FFF00100 } 00AA2F90: 7C3A03A6 mtsrr0 r1 ; in{ r1:FFF00100 } out{ srr0:FFF00100 } 00AA2F94: 38201040 li r1, 0x1040 ; out{ r1:1040 } 00AA2F98: 7C3B03A6 mtsrr1 r1 ; in{ r1:1040 } out{ srr1:1040 } 00AA2F9C: 4C000064 rfi ; in{ msr:3072 srr0:FFF00100 srr1:1040 } out{ msr:1040 }]
|
|
eric Administrator MN -------- Joined: Sep 2, 2021 Posts: 1,152 Likes: 1,936 |
Oct 27, 2025 - #16
Liked by Jockelill |
|
Jockelill Tinkerer -------- Joined: Jul 4, 2022 Posts: 36 Likes: 38 |
Oct 27, 2025 - #17
Power Macintosh PPC ROM DIMMsIncomplete List of ROM modules: type-number voltage computer model chips special features reprogrammable 820-0961-A 3.3V ? 4x AM29LV800 unpopulated sop & plcc yes? 820-0954-01 3.3V PM G3 2x KM2316205Y 2x 70 pin chips no 341-0758 5V PM 9500 8x HM27C4000FP-12 no, OTP? 341-0757 5V PM...
[Image: 68kmla.org]
68kmla.org
Been looking a little bit in my head to create a flashable dimm for the PPC, but it haven't materialized yet. I think the best way would do something with a RP2350B and the UF2-format, chips needs to be 2x 32bit or 4x 16bit for the 64 data path.
|
|
dougg3 Tinkerer -------- Joined: Jan 10, 2022 Posts: 33 Likes: 47 |
Oct 27, 2025 - #18
The quickest path I see to testing something in an ANS is to whip up a ROM DIMM board with eight PLCC sockets. You could use something like SST39SF040 chips programmed in an external flash programmer. That should cover the full 64-bit data bus and give you 4 total megabytes of ROM space to work with. I'm assuming the pinout should be the same as the other era PPC Macs so the leaked 7200 and 9600 schematics would give you pinout info. Looks like it's similar to the later 68k ROM SIMMs in that there's a pin (116) that can be pulled high to signal to the logic board that a ROM DIMM is installed and disable its onboard ROM chips.
Edit: try to verify pinouts, of course, since we don't have schematics of the ANS. Liked by Jockelillanderic |
|
joevt Tinkerer -------- Joined: Mar 5, 2023 Posts: 218 Likes: 85 |
Oct 27, 2025 - #19
Can a ROM SIMM be created that has a switch to switch between two different ROMs while the Power Mac is running?
The first ROM would be a working ROM to boot into Open Firmware. The second ROM would be the target for flashing. Boot the first ROM into Open Firmware, then flick the switch to select the second ROM for flashing. Then use the serial port to transfer the flashing program and the new ROM. This would eliminate the need for an external flasher and it would add safety to the ROM flashing process. |
|
SuperSVGA Tinkerer -------- Joined: Mar 26, 2022 Posts: 69 Likes: 36 |
Oct 27, 2025 - #20
|
| Page 1 of 3 | Next > | Last >> |
| Home | Forums | What's New | Search | Bookmarks | RSS | Original | Settings |
| XenForo Retro Proxy by TinkerDifferent.com |