• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

How does the L2 cache work on NuBus (PowerPC)

noglin

6502
There is detailed information about L1 (as it is part of the CPU), i.e. N-Way (on 603 it is 2-way), cache policies, that it is LRU, what bits from physical address are the tag, and what bits in the EA/PA are the index, etc.

As L2 is not part of the CPU, information about it is unlikely to be readily available. But perhaps someone here knows?

I'm particularly interested in the L2 on the Macintosh Performa 5200, but I suppose they are likely very similar for NuBus.
 
Some insights:
- the L2 cache is (as expected) not split. Data can use all of the 256kB.
- I have not checked N-way yet (I think allocating 2x128kB, write both, and then read interleaved from both would tell if it is N-way)

How I approached the micro benchmark:
- this is on a 5200 with 8kB data L1 cache and 256kB L2 cache
- I use "tb" (ticks every 8 cycles), I wait for tb to tick and then I measure a load and immediately after measure tb again.
- I allocate memory (aligned to page 4kb), I write 512kb of data (in a reversed way, from last position to offset 0)
- I use a load to measure cache access, I use a stride multiple (8) of block size (32) = 32*8 (so no load will benefit from a previous load)
- I read the last memory written (most of this will thus be in L1, but e.g. stack will pollute a bit), in plots, this is 0kb to 8kb
- I then read the memory from 8kb to 256kb, this has a high chance of being in L2, but L2 is shared by instructions as well, and any interrupt can severely modify the data in L2.
- finally I read 256kB to 512kB, this will be in ram (not L1/L2)

plots is all from same data but showing different areas (byte positions that was loaded), tables.csv (first column is the byte position, and second column is the # of cycles).

Details:
- as expected, it is not a split-cache, i.e. data can be used in all of the 256kb
- L1: I only have 8 cycle resolution, specs says 2 cycle throughput and 2 cycle latency => 0 is really ~2 cycles (tb did not have time to tick), 8 is when it must go fetch in L2
- L2: takes 8 cycles when is in L2, we can see these spread out all over L2, indicating that the data can be placed anywhere (it is not a split cache).
- RAM: we can see when not in L2 best case is 32 cycles, this is both due RAM being slower but also because it is on a 32 bit bus (L1/L2 is 64 bit). It also takes ~168 cycles worst case, and we can see how this happens on 4kB (page) boundaries. So on a miss, something happens to make accesses within that page faster (it is not in L2, but it might be the MMU page entries that helps or maybe the memory controller has a buffer?).
 

Attachments

  • L1.png
    L1.png
    77 KB · Views: 16
  • L2.png
    L2.png
    147.8 KB · Views: 10
  • RAM.png
    RAM.png
    128.7 KB · Views: 11
  • all.png
    all.png
    119.2 KB · Views: 11
  • table.csv.zip
    table.csv.zip
    6.6 KB · Views: 1
Actually, I think I had this part the wrong way about the RAM accesses:
- I think the typical time it should take is 32 cycles, and then when a page misses, that's when it gets very expensive, because it will miss in TLB and must search in PTE, but then after those 168 cycles it won't have to do that again (until next page). (I wonder how many pages the on-chip TLB entries can store?)
 

Attachments

  • 2024-05-10-012210_867x1006_scrot.png
    2024-05-10-012210_867x1006_scrot.png
    94.9 KB · Views: 12
An update here, thanks to this source https://github.com/elliotnunn/NanoKernel that I just found out about, amazing project..

I could go into MacsBug and just query the below info, and it confirms what I had found out by empirical tests:
- 256kb, shared data and instruction
- 32 byte blocks
- 1-way associativity


From Defines.s:

NKSystemInfoPtr equ $5FFFEFF0 ; logical address of NKSystemInfo record
NKSystemInfoVer equ $5FFFEFF4 ; version number of NKSystemInfo record
NKSystemInfoLen equ $5FFFEFF6 ; length of NKSystemInfo record

kSystemInfoVer equ $0103

NKSystemInfo record 0,increment
PhysicalMemorySize ds.l 1 ; 000 ; Number of bytes in Physical RAM
UsableMemorySize ds.l 1 ; 004 ; Number of bytes in Usable RAM
LogicalMemorySize ds.l 1 ; 008 ; Number of bytes in Logical RAM
HashTableSize ds.l 1 ; 00c ; Number of bytes in Memory Hash Table

L2DataCacheTotalSize ds.l 1 ; 010 ; number of bytes in the L2 Data Cache
L2InstCacheTotalSize ds.l 1 ; 014 ; number of bytes in the L2 Instruction Cache
L2CombinedCaches ds.w 1 ; 018 ; 1 <- combined or no cache, 0 <- split cache
L2InstCacheBlockSize ds.w 1 ; 01a ; number of bytes in a Block of the L2 Instruction Cache
L2DataCacheBlockSize ds.w 1 ; 01c ; number of bytes in a Block of the L2 Data Cache
L2InstCacheAssociativity ds.w 1 ; 01e ; Associativity of the L2 Instruction Cache
L2DataCacheAssociativity ds.w 1 ; 020 ; Associativity of the L2 Data Cache
 
Would accessing the CPU via Open Firmware offer alternate means of gathering or testing such info?

Copland has a disk based version of Open Firmware for NuBus Macs.
https://tinkerdifferent.com/threads/powermac-7100-and-linux-and-netbsd.4368/

Code:
/openprom@0
PROPERTIES:
name                    openprom
model                   Open Firmware, 2.0
relative-addressing     
disk-based              

/PowerPC,601@0
PROPERTIES:
name                    PowerPC,601
device_type             cpu
reg                     00000000  00000000 
cpu-version             00010001 
clock-frequency         034F0F0F 
timebase-frequency      3BC40000 
reservation-granularity 00000020 
cache-unified           
tlb-sets                00000080 
tlb-size                00000100 
d-cache-size            00008000 
i-cache-size            00008000 
d-cache-sets            00000080 
i-cache-sets            00000080 
i-cache-block-size      00000020 
d-cache-block-size      00000020 
l2-cache                FF829980 
existing                00000000 80000000 80000000 80000000 
available               00080000 FF780000 FF900000 00300000 
translations            00000000 00040000 00000000 00000000 00004000 00400000 00004000 00000010 
                        00040000 00040000 00040000 00000028 F8000000 00001000 F8000000 00000028 
                        FF800000 00100000 00400000 00000010 FFC00000 00400000 FFC00000 00000000 

/PowerPC,601@0/l2-cache@0,0
PROPERTIES:
name                    l2-cache
device_type             cache
d-cache-size            00008000 
i-cache-size            00008000 
cache-unified
 
Hey @joevt that would be a great way to do it. I have a Performa 5200 so that one is not openfirmware though. Interestingly it seems associativity is not reported on OF, although most likely 1 as well.
 
Hey @joevt that would be a great way to do it. I have a Performa 5200 so that one is not openfirmware though. Interestingly it seems associativity is not reported on OF, although most likely 1 as well.
The Power Mac 6100 is also not Open Firmware but the Copland disk based Open Firmware loads on that. I don't know if it loads on non-PDM Power Macs. 5200 is Cordyceps, not PDM.
Since the Copland Open Firmware is disk based, I suppose it could be modified to work on other Macs but that might be a lot of work to make the changes.

Some PCI Power Macs such as the 7100 use the PowerPC 601 CPU. All PCI Power Macs have Open Firmware in ROM. I don't know if your investigation applies to non-NuBus Macs? Actually, your posts were mostly about the 5200 which is NuBus but also uses 603 instead of 601. I don't think any PCI Macs used 603 but there are PCI Macs that used the 603e.
https://en.wikipedia.org/wiki/List_of_Mac_models_grouped_by_CPU_type
 
The Power Mac 6100 is also not Open Firmware but the Copland disk based Open Firmware loads on that. I don't know if it loads on non-PDM Power Macs. 5200 is Cordyceps, not PDM.
Since the Copland Open Firmware is disk based, I suppose it could be modified to work on other Macs but that might be a lot of work to make the changes.
Oh I see, yes I was sure the 6100 was not OF so I was a bit confused this morning, but I'm also honestly not exactly sure what OF is, never looked into it more than "open standard for PCI". Reading that thread you sent I'm even more confused "Apple did make a Open Firmware for NuBus Power Macs. It's part of the Copland boot process. ", I thought no NuBus Power Macs by definition were not compatible with PCI so in what way did they have Open Firmware? But didn't have time to look into things. MkLinux boots 5200 too btw, so maybe the 5200 is just as able to boot Copland too.

Entering MacsBug and extract it was less than a minute was once I had those addresses though.
Some PCI Power Macs such as the 7100 use the PowerPC 601 CPU. All PCI Power Macs have Open Firmware in ROM. I don't know if your investigation applies to non-NuBus Macs? Actually, your posts were mostly about the 5200 which is NuBus but also uses 603 instead of 601. I don't think any PCI Macs used 603 but there are PCI Macs that used the 603e.
https://en.wikipedia.org/wiki/List_of_Mac_models_grouped_by_CPU_type
The 5200/6200 were the only ones with a 603. Apple kind of didn't like the 603 very much and always went with 603e (L1 cache too small on 603 so they had to bundle it with 256kb L2 even though it was supposed to be low-cost machine, they coudln't make the L2 optional, and they couldn't use it in their upcoming PPC PowerBook as those were designed to not have L2, so those were delayed, until the 603e arrived).
 
I thought no NuBus Power Macs by definition were not compatible with PCI so in what way did they have Open Firmware

OpenFirmware is just what it sounds like, low level hardware access and boot firmware for a computer. Roughly analogous to a PC's BIOS but much more powerful. There's no magical connection between open firmware and PCI except that Apple started using it when they started using PCI; it's been used on plenty of other machines out there that don't use PCI.
 
I'm also honestly not exactly sure what OF
It's an open standard for a boot system, namely IEEE 1275. It was originally developed by Sun as OpenBoot for their own systems when they introduced SPARC (as a replacement for the 68k used in previous systems). It has nothing to do with PCI originally, as the first systems with OpenBoot were using SBus and not PCI, hence the supplement. There's a later document for PCI. OpenBoot was eventually adopted as IEEE 1275 with the name OpenFirmware.

What makes OpenBoot/OpenFirmware different from everything else is that it's entirely ISA-agnostic from the ground up. Devices don't carry binary drivers; instead, the driver they embed in their ROM is written in Forth bytecode. The host system only need some low-level stuff as a native binary, and of course the bytecode interpreter.

This enables an OpenFirmware-enabled computer to boot from any OpenFirmware device that has enough of an embedded driver to boot from (e.g. SCSI controllers, etc.) or to use as a console display (for video card), etc. My G5 can boot from an off-the-shelf LSI SAS controller flashed with a Sun ROM.

One of the historical implementation of OF is available on GitHub.
 
Open Firmware (two words) has a Forth (text) interpreter and a Forth byte code (fcode) interpreter. Apple's Open Firmware compiles Forth and fcode to PowerPC instructions so it runs reasonably well. Even while it's interpreting, it will compile loops into a temporary area so they'll also run reasonably well.

I have dumps of all the Apple Open Firmware implementations listed in the "List of Open Firmware versions" at:
https://forums.macrumors.com/thread...l-work-in-a-beige-power-macintosh-g3.2303689/
The dumps include the assembly part of Open Firmware (parts that are precompiled into PowerPC instructions) and the fcode images (converted to Forth by my DumpMacRom.sh script). I linked the Copland Open Firmware version in my first reply above.

The reason I brought up Open Firmware in this thread is that it will let you create supervisor level PowerPC code easily and view registers in the Open Firmware environment.
 
I see thanks folks, this was interesting to read about. Reading the thread it seems to be quite a lot of steps just to get it to work, and that is *if* it works (on a 5200). I think just entering MacsBug and query the info based on NanoKernel locations is still a quicker turn-around.

joevt, so if I understand correctly, if the Performa 5200 has Open Firmware support (unknown right now?), then there would be Forth code (text or byte) in some Mac OS version (e.g. Copland D11e4) for the devices in the 5200. Would that help in eventually getting dingusppc to emulate a 5200?
 
joevt, so if I understand correctly, if the Performa 5200 has Open Firmware support (unknown right now?), then there would be Forth code (text or byte) in some Mac OS version (e.g. Copland D11e4) for the devices in the 5200. Would that help in eventually getting dingusppc to emulate a 5200?
Not in the OS Open Firmware is designed to be embedded in the machine itself (in ROM, Flash, whatever) to initialize the machine hardware and then be able to boot it into an operating system - it runs before the OS. Some (most) of that stuff is in actual binary machine code (PowerPC for Apple, SPARC for Sun, ...). But that includes a Forth bytecode interpreter, a Forth "compiler" (Forth is pretty much 1:1 between the 'high-level' language and the bytecode), and an interactive shell that let you evaluate Forth directly - the one you get when you force a PCI Power Macintosh into OF with command-option-O-F.
To avoid dependency on machine code, an expansion device (PCI, SBus, PCI express, whatever) includes a description of itself and a driver in Forth bytecode so it can be used from the OF console, including for booting or console.

Once OF has done its job of loading the operating system, everything runs in native machine code as it's much more effficient than going through the Forth bytecode interpreter, so OS don't need Forth.

In other words - OF is just a "smart" way of doing the same kind of work as BIOS, UEFI, or the "intialize and boot" part of the Mac ROM in 68k Macs.
 
joevt, so if I understand correctly, if the Performa 5200 has Open Firmware support (unknown right now?), then there would be Forth code (text or byte) in some Mac OS version (e.g. Copland D11e4) for the devices in the 5200. Would that help in eventually getting dingusppc to emulate a 5200?
The 5200 does not support Open Firmware. According to the output produced by the tbxi command, these ROMs which have a Configfile-1 file in the output do not have Open Firmware:
Code:
PowerBook 1400 series ROMs/117+133/341S0203-4.rom
PowerBook 1400 series ROMs/166/341S0364-5.rom
Power Macintosh 5200-5300-6200-6300/1995-04 - 63ABFD3F - Power Mac & Performa 5200,5300,6200,6300.ROM
Power Macintosh 6100-7100-8100/1994-03 - 9FEB69B3 - Power Mac 6100 & 7100 & 8100.ROM
Power Macintosh 6100-7100-8100/1995-01 - 9B7A3AAD - Power Mac 7100 (newer).ROM
PowerBook 1400, 1400cs 117,133MHz/1996-10 - 83A21950 - PowerBook 1400, 1400cs 117,133MHz.ROM
Powerbook 2300 & PB5x0 PPC Upgrade.ROM/1995-08 - 83C54F75 - Powerbook 2300 & PB5x0 PPC Upgrade.ROM
Workgroup Server 9150/1994-04 - 9C7C98F7 - Workgroup Server 9150 80MHz.ROM
Workgroup Server 9150/1995-04 - 9B037F6F - Workgroup Server 9150 120MHz.ROM

The Copland installer has a disk based Open Firmware for PDM Macs but I don't think it has an Open Firmware for the other types of Macs in that list. Copland is the only OS that I know of that has a disk based Open Firmware as part of its boot loader.

Certainly, any readable source code for the hardware of a particular machine would help in creating emulation for that machine.

@powermax in the DingusPPC Discord did recently (April) ask if anyone had a real 5200/6200. He was looking at the HWInit code to find addresses of various devices. A real 5200/6200 would help with additional devices or adding more detail. 5200/6200 doesn't have Open Firmware so it doesn't have a name registry? #49
The device tree in Open Firmware or the Name Registry in classic Mac OS or the I/O Registry in Mac OS X has a lot of info to help identify devices and their addresses. Is there a version of Linux that runs on the 5200/6200? That might have useful info.
In the case where there is no device tree info for classic Mac OS, maybe a list of drivers from MacsBug would be useful?
Maybe a dump of the AddrMap, decoderInfoPtr, UnivInfoBase stuff would be useful if applicable? #37
 
I wanted to write a more thorough reply but shooting what I have now:
The Copland installer has a disk based Open Firmware for PDM Macs but I don't think it has an Open Firmware for the other types of Macs in that list. Copland is the only OS that I know of that has a disk based Open Firmware as part of its boot loader.
I had a quick peek in the Open Firmware dump you had extracted. I can see dbat registers being used, which are not present on 601, so it seems they have code paths in that one for 603 (and/or 604) as well. Perhaps firmware exists also for 5200 in some Copland installer.

Certainly, any readable source code for the hardware of a particular machine would help in creating emulation for that machine.

@powermax in the DingusPPC Discord did recently (April) ask if anyone had a real 5200/6200. He was looking at the HWInit code to find addresses of various devices. A real 5200/6200 would help with additional devices or adding more detail. 5200/6200 doesn't have Open Firmware so it doesn't have a name registry? #49
The device tree in Open Firmware or the Name Registry in classic Mac OS or the I/O Registry in Mac OS X has a lot of info to help identify devices and their addresses. Is there a version of Linux that runs on the 5200/6200? That might have useful info.
MkLinux runs on 5200/6200 (it mentions sound does not work, but it has scsi/ide/floppy and a basic valkyrie framebuffer https://nubus-pmac.sourceforge.net/)

In the case where there is no device tree info for classic Mac OS, maybe a list of drivers from MacsBug would be useful?
Maybe a dump of the AddrMap, decoderInfoPtr, UnivInfoBase stuff would be useful if applicable? #37
I could do this at some point. Especially if there is actually someone willing to get 5200 to run in dingusppc and is just missing a real one to get some info from.
 
I guess the first thing to get would be the CPU ID at 0x5FFFFFFC

There's a list of CPU IDs at https://bitsavers.org/pdf/apple/mac/mess/Mac_Technical_Notes.html but it does not include the CPU ID for the 5200.
You can use MacsBug to read it. You might need to read it one byte at a time. #12
Thanks for the pointers @joevt! Would this be useful? Let me know if you spot some obvious issues, or if I should grab anything else, wrote a program to do it. Also I can enter privileged access as well in case there is anything elsewhere I should get (I could dump all phys ram if that helps).

0x00000DD0,4,AddrMapFlags,0x8100183F
0x00002400,4,AddrMapFlags1,0x00008000
0x00002404,4,AddrMapFlags2,0x00000000
0x00000DD4,4,UnivROMFlags,0x8B807926
0x00002408,4,UnivROMFlags1,0x00002301
0x0000240C,4,UnivROMFlags2,0x00000000
0x00000DD8,4,UnivInfoPtr,0x40820CC4
0x00000D00,2,TimeDBRA,0x1A97
0x00000D02,2,TimeSCCDB,0x0508
0x00000D04,4,SlotQDT,0x0000DDA0
0x00000D08,4,SlotPrTbl,0xFFFFFFFF
0x00000D0C,4,SlotVBLQ,0xFFFFFFFF
0x00000D10,4,ScrnVBLPtr,0x0000DE22
0x00000D14,4,SlotTICKS,0xFFFFFFFF
0x00000D18,4,PmgrBase,0xFFFFFFFF
0x00000D20,4,TableSeed,0x00002436
0x00000D24,4,SRsrcTblPtr,0x0000E0E0
0x00000D28,4,JVBLTask,0x4081DF34
0x00000D2C,4,WMgrCPort,0x004C6AF0
0x00000D30,2,VertRRate,0xFFFF
0x00000D60,2,ChunkyDepth,0x0008
0x00000D62,4,CrsrPtr,0x0000347C
0x00000DE0,4,EgretBase,0x0008A6E0
0x5FFFEFE0,4,NKNanoKernelInfoPtr,0x5FFFEE80
0x5FFFEFE4,2,NKNanoKernelInfoVer,0x0101
0x5FFFEFE6,2,NKNanoKernelInfoLen,0x0100
0x5FFFEFD0,4,NKHWInfoPtr,0x5FFFEFD0
0x5FFFEFF0,4,NKSystemInfoPtr,0x5FFFEC80
0x40820CC4,4,UnivInfo.decoderInfoPtr,0x00000C1E
0x40820CC8,4,UnivInfo.ramInfoPtr,0x0000105E
0x40820CCC,4,UnivInfo.videoInfoPtr,0x000011BE
0x40820CD0,4,UnivInfo.nubusInfoPtr,0x00001250
0x40820CD4,2,UnivInfo.hwCfgWord,0xCC80
0x40820CD6,1,UnivInfo.productKind,0x23
0x40820CD7,1,UnivInfo.decoderKind,0x0E
0x40820CD8,2,UnivInfo.rom85Word,0x3FFF
0x40820CDA,1,UnivInfo.defaultRSRCs,0x04
0x40820CDB,1,UnivInfo.productInfoVers,0x01
0x40820CDC,4,UnivInfo.basesValid,0x8180183F
0x40820CE0,4,UnivInfo.basesValid1,0x00008000
0x40820CE4,4,UnivInfo.basesValid2,0x00000000
0x40820CE8,4,UnivInfo.extValid,0x8B807926
0x40820CEC,4,UnivInfo.extValid1,0x00002301
0x40820CF0,4,UnivInfo.extValid2,0x00000000
0x40820CF4,4,UnivInfo.viaIDMask,0x00000000
0x40820CF8,4,UnivInfo.viaIDMatch,0x00000000
0x40820CFC,4,UnivInfo.via1InitPtr,0x00001C8E
0x40820D00,4,UnivInfo.via2InitPtr,0x00001C94
0x40820D04,4,UnivInfo.sndControlPtr,0xFFFEDEE4
0x40820D08,4,UnivInfo.clockPRAMPtr,0xFFFE82A8
0x40820D0C,4,UnivInfo.adbDebugUtilPtr,0xFFFE7BAC
0x40820D10,4,UnivInfo.powerManagerPtr,0x00000000
0x40820D14,4,UnivInfo.intHandlerPtr,0xFFFFBDEA
0x40820D18,4,UnivInfo.immgPrimPtr,0xFFFE7662
0x40820D1C,2,UnivInfo.cpuIDValue,0x3258
0x40820D20,4,UnivInfo.iconInfoPtr,0x000012A0
0x408218E2,4,DecoderInfoHeader.DefaultBases,0x40800000
0x408218E6,4,DecoderInfoHeader.DefaultBases1,0x58000000
0x408218EA,4,DecoderInfoHeader.DefaultBases2,0x50F00000
0x408218EE,4,DecoderInfoHeader.DefExtFeatures,0x50F0C020
0x408218F2,4,DecoderInfoHeader.DefExtFeatures1,0x50F0C020
0x408218F6,4,DecoderInfoHeader.DefExtFeatures2,0x50F1E000
0x408218FA,1,DecoderInfoHeader.AvoidVIA1A,0x00
0x408218FB,1,DecoderInfoHeader.AvoidVIA1B,0x00
0x408218FC,1,DecoderInfoHeader.AvoidVIA2A,0x00
0x408218FD,1,DecoderInfoHeader.AvoidVIA2B,0x00
0x408218FE,4,DecoderInfoHeader.CheckForProc,0x00000000
0x40821902,1,DecoderInfoHeader.AddrMap,0x00
0x40821903,1,DecoderInfoHeader.DecoderInfoVers,0x00
0x40821906,4,DecoderInfoHeader.DecoderAddr,0x00000000
0x4082190A,4,DecoderInfo.ROMAddr,0x00000000
0x4082190E,4,DecoderInfo.DiagROMAddr,0x50F02000
0x40821912,4,DecoderInfo.VIA1Addr,0x50F14000
0x40821916,4,DecoderInfo.SCCRdAddr,0x00000000
0x4082191A,4,DecoderInfo.SCCWrAddr,0x50F24000
0x4082191E,4,DecoderInfo.IWMAddr,0x00000000
0x40821922,4,DecoderInfo.PWMAddr,0x00000000
0x40821926,4,DecoderInfo.SoundAddr,0x00000000
0x4082192A,4,DecoderInfo.SCSIAddr,0x00000000
0x4082192E,4,DecoderInfo.SCSIDackAddr,0x00000000
0x40821932,4,DecoderInfo.SCSIHskAddr,0x00000000
0x40821936,4,DecoderInfo.VIA2Addr,0x00000000
0x4082193A,4,DecoderInfo.ASCAddr,0x00000000
0x4082193E,4,DecoderInfo.RBVAddr,0x50F0A000
0x40821942,4,DecoderInfo.VDACAddr,0x50F10000
0x40821946,4,DecoderInfo.SCSIDMAAddr,0x00000000
0x4082194A,4,DecoderInfo.SWIMIOPAddr,0x00000000
0x4082194E,4,DecoderInfo.SCCIOPAddr,0x00000000
0x40821952,4,DecoderInfo.OSSAddr,0x00000000
0x40821956,4,DecoderInfo.FMCAddr,0x5FF00000
0x4082195A,4,DecoderInfo.RPUAddr,0x00000000
0x4082195E,4,DecoderInfo.OrwellAddr,0x00000000
0x40821962,4,DecoderInfo.JAWSAddr,0x00000000
0x40821966,4,DecoderInfo.SonicAddr,0x00000000
0x4082196A,4,DecoderInfo.SCSI96Addr1,0x00000000
0x4082196E,4,DecoderInfo.SCSI96Addr2,0x00000000
0x40821972,4,DecoderInfo.DAFBAddr,0x00000000
0x40821976,4,DecoderInfo.PSCAddr,0x00000000
0x4082197A,4,DecoderInfo.ROMPhysAddr,0x00000000
0x4082197E,4,DecoderInfo.PatchROMAddr,0x00000000
0x40821982,4,DecoderInfo.NewAgeAddr,0x00000000
0x40821986,4,DecoderInfo.Unused31Addr,0x00000000
0x4082198A,4,DecoderInfo.SingerAddr,0x00000000
0x4082198E,4,DecoderInfo.DSPAddr,0x00000000
0x40821992,4,DecoderInfo.MACEAddr,0x00000000
0x40821996,4,DecoderInfo.MUNIAddr,0x00000000
0x4082199A,4,DecoderInfo.AMICAddr,0x00000000
0x4082199E,4,DecoderInfo.PrattAddr,0x50F1A000
0x408219A2,4,DecoderInfo.SWIM3Addr,0x4900081F
0x408219A6,4,DecoderInfo.AwacsAddr,0x0000030E
0x408219AA,4,DecoderInfo.CivicAddr,0x00000000
0x408219AE,4,DecoderInfo.SebastianAddr,0x00000000
0x408219B2,4,DecoderInfo.BARTAddr,0x00000000
0x408219B6,4,DecoderInfo.GrandCentralAddr,0x00000000
0x408219BA,4,DecoderInfo.Unused44Addr,0x00300000
0x408219BE,4,DecoderInfo.Unused45Addr,0x00000000
0x408219C2,4,DecoderInfo.Unused46Addr,0x0D010000
0x408219C6,4,DecoderInfo.Unused47Addr,0x50F30400
0x408219CA,4,DecoderInfo.Unused48Addr,0x40800000
0x408219CE,4,DecoderInfo.Unused49Addr,0x58000000
0x408219D2,4,DecoderInfo.Unused50Addr,0x50F00000
0x408219D6,4,DecoderInfo.Unused51Addr,0x50F04000
0x408219DA,4,DecoderInfo.Unused52Addr,0x50F04000
0x408219DE,4,DecoderInfo.Unused53Addr,0x00000000
0x408219E2,4,DecoderInfo.Unused54Addr,0x00000000
0x408219E6,4,DecoderInfo.Unused55Addr,0x00000000
0x408219EA,4,DecoderInfo.Unused56Addr,0x00000000
0x408219EE,4,DecoderInfo.Unused57Addr,0x00000000
0x408219F2,4,DecoderInfo.Unused58Addr,0x00000000
0x408219F6,4,DecoderInfo.Unused59Addr,0x50F02000
0x408219FA,4,DecoderInfo.Unused60Addr,0x00000000
0x408219FE,4,DecoderInfo.Unused61Addr,0x00000000
0x40821A02,4,DecoderInfo.FooAddr,0x00000000
0x40821A06,4,DecoderInfo.Unused63Addr,0x00000000
0x40821A0A,4,DecoderInfo.Unused64Addr,0x00000000
0x40821A0E,4,DecoderInfo.BarAddr,0x00000000
0x40821A12,4,DecoderInfo.Unused66Addr,0x00000000
0x40821A16,4,DecoderInfo.Unused67Addr,0x00000000
0x40821A1A,4,DecoderInfo.Unused68Addr,0x00000000
0x40821A1E,4,DecoderInfo.Unused69Addr,0x00000000
0x40821A22,4,DecoderInfo.Unused70Addr,0x00000000
0x40821A26,4,DecoderInfo.Unused71Addr,0x00000000
0x40821A2A,4,DecoderInfo.Unused72Addr,0x50F18000
0x40821A2E,4,DecoderInfo.Unused73Addr,0x00000000
0x40821A32,4,DecoderInfo.Unused74Addr,0x00000000
0x40821A36,4,DecoderInfo.Unused75Addr,0x50F31000
0x40821A3A,4,DecoderInfo.Unused76Addr,0x00000000
0x40821A3E,4,DecoderInfo.Unused77Addr,0x00000000
0x40821A42,4,DecoderInfo.Unused78Addr,0x50F2A000
0x40821A46,4,DecoderInfo.Unused79Addr,0x00000000
0x40821A4A,4,DecoderInfo.Unused80Addr,0x00000000
0x40821A4E,4,DecoderInfo.Unused81Addr,0x50F31000
0x40821A52,4,DecoderInfo.Unused82Addr,0x50F1C000
0x40821A56,4,DecoderInfo.Unused83Addr,0x50F30000
0x40821A5A,4,DecoderInfo.Unused84Addr,0x00000000
0x40821A5E,4,DecoderInfo.Unused85Addr,0x00000000
0x40821A62,4,DecoderInfo.Unused86Addr,0x00000000
0x40821A66,4,DecoderInfo.Unused87Addr,0x00000000
0x40821A6A,4,DecoderInfo.Unused88Addr,0x50036000
0x40821A6E,4,DecoderInfo.Unused89Addr,0x50F30800
0x40821A72,4,DecoderInfo.Unused90Addr,0x0000773F
0x40821A76,4,DecoderInfo.Unused91Addr,0x00000000
0x40821A7A,4,DecoderInfo.Unused92Addr,0x00000000
0x40821A7E,4,DecoderInfo.Unused93Addr,0x000000A6
0x40821A82,4,DecoderInfo.Unused94Addr,0x00000000
0x40821A86,4,DecoderInfo.Unused95Addr,0x00000000
0x4082190A,4,DecoderInfo.ROMAddr,0x00000000
0x4082190E,4,DecoderInfo.DiagROMAddr,0x50F02000
0x50F02000,4,BaseAddr_DiagROMAddr_Test,0x0E0E0E0E
0x40821912,4,DecoderInfo.VIA1Addr,0x50F14000
0x50F14000,4,BaseAddr_VIA1Addr_Test,0xFFFFFFFF
0x40821916,4,DecoderInfo.SCCRdAddr,0x00000000
0x4082191A,4,DecoderInfo.SCCWrAddr,0x50F24000
0x50F24000,4,BaseAddr_SCCWrAddr_Test,0x01000000
0x4082191E,4,DecoderInfo.IWMAddr,0x00000000
0x40821922,4,DecoderInfo.PWMAddr,0x00000000
0x40821926,4,DecoderInfo.SoundAddr,0x00000000
0x4082192A,4,DecoderInfo.SCSIAddr,0x00000000
0x4082192E,4,DecoderInfo.SCSIDackAddr,0x00000000
0x40821932,4,DecoderInfo.SCSIHskAddr,0x00000000
0x40821936,4,DecoderInfo.VIA2Addr,0x00000000
0x4082193A,4,DecoderInfo.ASCAddr,0x00000000
0x4082193E,4,DecoderInfo.RBVAddr,0x50F0A000
0x40821942,4,DecoderInfo.VDACAddr,0x50F10000
0x40821946,4,DecoderInfo.SCSIDMAAddr,0x00000000
0x4082194A,4,DecoderInfo.SWIMIOPAddr,0x00000000
0x4082194E,4,DecoderInfo.SCCIOPAddr,0x00000000
0x40821952,4,DecoderInfo.OSSAddr,0x00000000
0x40821956,4,DecoderInfo.FMCAddr,0x5FF00000
0x4082195A,4,DecoderInfo.RPUAddr,0x00000000
0x4082195E,4,DecoderInfo.OrwellAddr,0x00000000
0x40821962,4,DecoderInfo.JAWSAddr,0x00000000
0x40821966,4,DecoderInfo.SonicAddr,0x00000000
0x4082196A,4,DecoderInfo.SCSI96Addr1,0x00000000
0x4082196E,4,DecoderInfo.SCSI96Addr2,0x00000000
0x40821972,4,DecoderInfo.DAFBAddr,0x00000000
0x40821976,4,DecoderInfo.PSCAddr,0x00000000
0x4082197A,4,DecoderInfo.ROMPhysAddr,0x00000000
0x4082197E,4,DecoderInfo.PatchROMAddr,0x00000000
0x40821982,4,DecoderInfo.NewAgeAddr,0x00000000
0x40821986,4,DecoderInfo.Unused31Addr,0x00000000
0x4082198A,4,DecoderInfo.SingerAddr,0x00000000
0x4082198E,4,DecoderInfo.DSPAddr,0x00000000
0x40821992,4,DecoderInfo.MACEAddr,0x00000000
0x40821996,4,DecoderInfo.MUNIAddr,0x00000000
0x4082199A,4,DecoderInfo.AMICAddr,0x00000000
0x4082199E,4,DecoderInfo.PrattAddr,0x50F1A000
0x408219A2,4,DecoderInfo.SWIM3Addr,0x4900081F
0x408219A6,4,DecoderInfo.AwacsAddr,0x0000030E
0x408219AA,4,DecoderInfo.CivicAddr,0x00000000
0x408219AE,4,DecoderInfo.SebastianAddr,0x00000000
0x408219B2,4,DecoderInfo.BARTAddr,0x00000000
0x408219B6,4,DecoderInfo.GrandCentralAddr,0x00000000
0x408219BA,4,DecoderInfo.Unused44Addr,0x00300000
0x408219BE,4,DecoderInfo.Unused45Addr,0x00000000
0x408219C2,4,DecoderInfo.Unused46Addr,0x0D010000
0x408219C6,4,DecoderInfo.Unused47Addr,0x50F30400
0x50F30400,4,BaseAddr_Unused47Addr_Test,<noaccess>
0x408219CA,4,DecoderInfo.Unused48Addr,0x40800000
0x408219CE,4,DecoderInfo.Unused49Addr,0x58000000
0x408219D2,4,DecoderInfo.Unused50Addr,0x50F00000
0x408219D6,4,DecoderInfo.Unused51Addr,0x50F04000
0x408219DA,4,DecoderInfo.Unused52Addr,0x50F04000
0x408219DE,4,DecoderInfo.Unused53Addr,0x00000000
0x408219E2,4,DecoderInfo.Unused54Addr,0x00000000
0x408219E6,4,DecoderInfo.Unused55Addr,0x00000000
0x408219EA,4,DecoderInfo.Unused56Addr,0x00000000
0x408219EE,4,DecoderInfo.Unused57Addr,0x00000000
0x408219F2,4,DecoderInfo.Unused58Addr,0x00000000
0x408219F6,4,DecoderInfo.Unused59Addr,0x50F02000
0x408219FA,4,DecoderInfo.Unused60Addr,0x00000000
0x408219FE,4,DecoderInfo.Unused61Addr,0x00000000
0x40821A02,4,DecoderInfo.FooAddr,0x00000000
0x40821A06,4,DecoderInfo.Unused63Addr,0x00000000
0x40821A0A,4,DecoderInfo.Unused64Addr,0x00000000
0x40821A0E,4,DecoderInfo.BarAddr,0x00000000
0x40821A12,4,DecoderInfo.Unused66Addr,0x00000000
0x40821A16,4,DecoderInfo.Unused67Addr,0x00000000
0x40821A1A,4,DecoderInfo.Unused68Addr,0x00000000
0x40821A1E,4,DecoderInfo.Unused69Addr,0x00000000
0x40821A22,4,DecoderInfo.Unused70Addr,0x00000000
0x40821A26,4,DecoderInfo.Unused71Addr,0x00000000
0x40821A2A,4,DecoderInfo.Unused72Addr,0x50F18000
0x40821A2E,4,DecoderInfo.Unused73Addr,0x00000000
0x40821A32,4,DecoderInfo.Unused74Addr,0x00000000
0x40821A36,4,DecoderInfo.Unused75Addr,0x50F31000
0x40821A3A,4,DecoderInfo.Unused76Addr,0x00000000
0x40821A3E,4,DecoderInfo.Unused77Addr,0x00000000
0x40821A42,4,DecoderInfo.Unused78Addr,0x50F2A000
0x40821A46,4,DecoderInfo.Unused79Addr,0x00000000
0x40821A4A,4,DecoderInfo.Unused80Addr,0x00000000
0x40821A4E,4,DecoderInfo.Unused81Addr,0x50F31000
0x40821A52,4,DecoderInfo.Unused82Addr,0x50F1C000
0x40821A56,4,DecoderInfo.Unused83Addr,0x50F30000
0x40821A5A,4,DecoderInfo.Unused84Addr,0x00000000
0x40821A5E,4,DecoderInfo.Unused85Addr,0x00000000
0x40821A62,4,DecoderInfo.Unused86Addr,0x00000000
0x40821A66,4,DecoderInfo.Unused87Addr,0x00000000
0x40821A6A,4,DecoderInfo.Unused88Addr,0x50036000
0x40821A6E,4,DecoderInfo.Unused89Addr,0x50F30800
0x40821A72,4,DecoderInfo.Unused90Addr,0x0000773F
0x40821A76,4,DecoderInfo.Unused91Addr,0x00000000
0x40821A7A,4,DecoderInfo.Unused92Addr,0x00000000
0x40821A7E,4,DecoderInfo.Unused93Addr,0x000000A6
0x40821A82,4,DecoderInfo.Unused94Addr,0x00000000
0x40821A86,4,DecoderInfo.Unused95Addr,0x00000000
0x0000105E,4,RamInfo.MinBankSize,0x64D00054
0x00001062,4,RamInfo.HighBankStart,0x653C0054
0x00001066,4,RamInfo.HighBankEnd,0x65600054
0x0000106A,4,RamInfo.NextBankStart,0x64F40054
0x0000106E,4,RamInfo.NextBankEnd,0x65180054
0x000011BE,4,VideoInfo.VRAMPhysAddr,0x63200054
0x000011C2,4,VideoInfo.VRAMLogAddr32,0x76D00054
0x000011C6,4,VideoInfo.VRAMLogAddr24,0x77180054
0x000011CA,1,VideoInfo.SlotNumberAlias,0x74
0x000011CB,1,VideoInfo.SlotPramAddr,0x48
0x000011CC,1,VideoInfo.SuperSRsrcDirID,0x00
0x000011CD,1,VideoInfo.BoardSRsrcID,0x54
0x000011CE,2,VideoInfo.DrvrHwID,0x773C
0x00001250,1,NubusInfo.Slot0,0x00
0x00001251,1,NubusInfo.Slot1,0x49
0x00001252,1,NubusInfo.Slot2,0x56
0x00001253,1,NubusInfo.Slot3,0x6C
0x00001254,1,NubusInfo.Slot4,0x00
0x00001255,1,NubusInfo.Slot5,0x90
0x00001256,1,NubusInfo.Slot6,0x0A
0x00001257,1,NubusInfo.Slot7,0x60
0x00001258,1,NubusInfo.Slot8,0x00
0x00001259,1,NubusInfo.Slot9,0x90
0x0000125A,1,NubusInfo.SlotA,0x09
0x0000125B,1,NubusInfo.SlotB,0x70
0x0000125C,1,NubusInfo.SlotC,0x00
0x0000125D,1,NubusInfo.SlotD,0x49
0x0000125E,1,NubusInfo.SlotE,0x59
0x0000125F,1,NubusInfo.SlotF,0x84
0x5FFFEFD0,4,NKHWInfo.MacROM_Base,0x5FFFEFD0
0x5FFFEFD4,4,NKHWInfo.DeviceTreeBase,0x00000000
0x5FFFEFD8,4,NKHWInfo.UniversalInfoTableBase,0x5FFFEF80
0x5FFFEFDC,4,NKHWInfo.ConfigInfoTableBase,0x01000040
0x5FFFEFE0,4,NKHWInfo.VectorLookupTable,0x5FFFEE80
0x5FFFEFE4,4,NKHWInfo.VectorMaskTable,0x01010100
0x5FFFEFE8,4,NKHWInfo.OpenPICBaseAddr,0x5FFFED80
0x5FFFEFEC,4,NKHWInfo.ISAMaster8259,0x01000100
0x5FFFEFF0,4,NKHWInfo.ISASlave8259,0x5FFFEC80
0x5FFFEFF4,4,NKHWInfo.InterruptAck8259,0x01030100
0x5FFFEFF8,4,NKHWInfo.PendingInts0,0x5FFFEF80
0x5FFFEFFC,4,NKHWInfo.PendingInts1,0x01000040
0x5FFFF000,4,NKHWInfo.ADB_Base,0xA55A2258
0x5FFFF004,4,NKHWInfo.SCSI_DMA_Base,0xA55A2258
0x5FFFF046,2,NKHWInfo.CPU_ID,0x2258
 
NKHWInfo.ADB_Base and NKHWInfo.SCSI_DMA_Base appear to be incorrect. They appear to be a copy of the CPU ID from 0x5FFFFFFC. Can you read the bytes at 0x5FFFFFFC to verify?
CPU ID 0x2258 is strange - I would expect PowerPC Macs to use cpuIDRISC=3 instead of cpuIDHiEnd=2?

I am creating a ROM Fiend update to parse the Universal Tables and Dispatch Tables of the ROM. The Universal Tables include much of the info you've shown. I'll do a compare.
 
NKHWInfo.ADB_Base and NKHWInfo.SCSI_DMA_Base appear to be incorrect. They appear to be a copy of the CPU ID from 0x5FFFFFFC. Can you read the bytes at 0x5FFFFFFC to verify?
CPU ID 0x2258 is strange - I would expect PowerPC Macs to use cpuIDRISC=3 instead of cpuIDHiEnd=2?

I am creating a ROM Fiend update to parse the Universal Tables and Dispatch Tables of the ROM. The Universal Tables include much of the info you've shown. I'll do a compare.
It is odd indeed, adding screenshot from MacsBug (same if I reboot and check as soon as it says "Debugger installed").

I had made a mistake with DecoderInfo and some in NKHWInfo. Now it looks more reasonable. Added some more info

0x00000DD0,4,AddrMapFlags,0x8100183F 0x00002400,4,AddrMapFlags1,0x00008000 0x00002404,4,AddrMapFlags2,0x00000000 0x00000DD4,4,UnivROMFlags,0x8B807926 0x00002408,4,UnivROMFlags1,0x00002301 0x0000240C,4,UnivROMFlags2,0x00000000 0x00000DD8,4,UnivInfoPtr,0x40820CC4 0x00000D00,2,TimeDBRA,0x1A97 0x00000D02,2,TimeSCCDB,0x0507 0x00000D04,4,SlotQDT,0x0000DDA0 0x00000D08,4,SlotPrTbl,0xFFFFFFFF 0x00000D0C,4,SlotVBLQ,0xFFFFFFFF 0x00000D10,4,ScrnVBLPtr,0x0000DE22 0x00000D14,4,SlotTICKS,0xFFFFFFFF 0x00000D18,4,PmgrBase,0xFFFFFFFF 0x00000D20,4,TableSeed,0x000007D6 0x00000D24,4,SRsrcTblPtr,0x0000E0E0 0x00000D28,4,JVBLTask,0x4081DF34 0x00000D2C,4,WMgrCPort,0x004C6AF0 0x00000D30,2,VertRRate,0xFFFF 0x00000D60,2,ChunkyDepth,0x0008 0x00000D62,4,CrsrPtr,0x0000347C 0x00000DE0,4,EgretBase,0x0008A6E0 0x5FFFEFE0,4,NKNanoKernelInfoPtr,0x5FFFEE80 0x5FFFEFE4,2,NKNanoKernelInfoVer,0x0101 0x5FFFEFE6,2,NKNanoKernelInfoLen,0x0100 0x5FFFEFD0,4,NKHWInfoPtr,0x5FFFEFD0 0x5FFFEFF0,4,NKSystemInfoPtr,0x5FFFEC80 0x40820CC4,4,UnivInfo.decoderInfoPtr,0x00000C1E 0x40820CC8,4,UnivInfo.ramInfoPtr,0x0000105E 0x40820CCC,4,UnivInfo.videoInfoPtr,0x000011BE 0x40820CD0,4,UnivInfo.nubusInfoPtr,0x00001250 0x40820CD4,2,UnivInfo.hwCfgWord,0xCC80 0x40820CD6,1,UnivInfo.productKind,0x23 0x40820CD7,1,UnivInfo.decoderKind,0x0E 0x40820CD8,2,UnivInfo.rom85Word,0x3FFF 0x40820CDA,1,UnivInfo.defaultRSRCs,0x04 0x40820CDB,1,UnivInfo.productInfoVers,0x01 0x40820CDC,4,UnivInfo.basesValid,0x8180183F 0x40820CE0,4,UnivInfo.basesValid1,0x00008000 0x40820CE4,4,UnivInfo.basesValid2,0x00000000 0x40820CE8,4,UnivInfo.extValid,0x8B807926 0x40820CEC,4,UnivInfo.extValid1,0x00002301 0x40820CF0,4,UnivInfo.extValid2,0x00000000 0x40820CF4,4,UnivInfo.viaIDMask,0x00000000 0x40820CF8,4,UnivInfo.viaIDMatch,0x00000000 0x40820CFC,4,UnivInfo.via1InitPtr,0x00001C8E 0x40820D00,4,UnivInfo.via2InitPtr,0x00001C94 0x40820D04,4,UnivInfo.sndControlPtr,0xFFFEDEE4 0x40820D08,4,UnivInfo.clockPRAMPtr,0xFFFE82A8 0x40820D0C,4,UnivInfo.adbDebugUtilPtr,0xFFFE7BAC 0x40820D10,4,UnivInfo.powerManagerPtr,0x00000000 0x40820D14,4,UnivInfo.intHandlerPtr,0xFFFFBDEA 0x40820D18,4,UnivInfo.immgPrimPtr,0xFFFE7662 0x40820D1C,2,UnivInfo.cpuIDValue,0x3258 0x40820D20,4,UnivInfo.iconInfoPtr,0x000012A0 0x408218E2,4,DecoderInfoHeader.DefaultBases,0x40800000 0x408218E6,4,DecoderInfoHeader.DefaultBases1,0x58000000 0x408218EA,4,DecoderInfoHeader.DefaultBases2,0x50F00000 0x408218EE,4,DecoderInfoHeader.DefExtFeatures,0x50F0C020 0x408218F2,4,DecoderInfoHeader.DefExtFeatures1,0x50F0C020 0x408218F6,4,DecoderInfoHeader.DefExtFeatures2,0x50F1E000 0x408218FA,1,DecoderInfoHeader.AvoidVIA1A,0x00 0x408218FB,1,DecoderInfoHeader.AvoidVIA1B,0x00 0x408218FC,1,DecoderInfoHeader.AvoidVIA2A,0x00 0x408218FD,1,DecoderInfoHeader.AvoidVIA2B,0x00 0x408218FE,4,DecoderInfoHeader.CheckForProc,0x00000000 0x40821902,1,DecoderInfoHeader.AddrMap,0x00 0x40821903,1,DecoderInfoHeader.DecoderInfoVers,0x00 0x40821906,4,DecoderInfoHeader.DecoderAddr,0x00000000 0x408218E2,4,DecoderInfo.ROMAddr,0x40800000 0x408218E6,4,DecoderInfo.DiagROMAddr,0x58000000 0x408218EA,4,DecoderInfo.VIA1Addr,0x50F00000 0x408218EE,4,DecoderInfo.SCCRdAddr,0x50F0C020 0x408218F2,4,DecoderInfo.SCCWrAddr,0x50F0C020 0x408218F6,4,DecoderInfo.IWMAddr,0x50F1E000 0x408218FA,4,DecoderInfo.PWMAddr,0x00000000 0x408218FE,4,DecoderInfo.SoundAddr,0x00000000 0x40821902,4,DecoderInfo.SCSIAddr,0x00000000 0x40821906,4,DecoderInfo.SCSIDackAddr,0x00000000 0x4082190A,4,DecoderInfo.SCSIHskAddr,0x00000000 0x4082190E,4,DecoderInfo.VIA2Addr,0x50F02000 0x40821912,4,DecoderInfo.ASCAddr,0x50F14000 0x40821916,4,DecoderInfo.RBVAddr,0x00000000 0x4082191A,4,DecoderInfo.VDACAddr,0x50F24000 0x4082191E,4,DecoderInfo.SCSIDMAAddr,0x00000000 0x40821922,4,DecoderInfo.SWIMIOPAddr,0x00000000 0x40821926,4,DecoderInfo.SCCIOPAddr,0x00000000 0x4082192A,4,DecoderInfo.OSSAddr,0x00000000 0x4082192E,4,DecoderInfo.FMCAddr,0x00000000 0x40821932,4,DecoderInfo.RPUAddr,0x00000000 0x40821936,4,DecoderInfo.OrwellAddr,0x00000000 0x4082193A,4,DecoderInfo.JAWSAddr,0x00000000 0x4082193E,4,DecoderInfo.SonicAddr,0x50F0A000 0x40821942,4,DecoderInfo.SCSI96Addr1,0x50F10000 0x40821946,4,DecoderInfo.SCSI96Addr2,0x00000000 0x4082194A,4,DecoderInfo.DAFBAddr,0x00000000 0x4082194E,4,DecoderInfo.PSCAddr,0x00000000 0x40821952,4,DecoderInfo.ROMPhysAddr,0x00000000 0x40821956,4,DecoderInfo.PatchROMAddr,0x5FF00000 0x4082195A,4,DecoderInfo.NewAgeAddr,0x00000000 0x4082195E,4,DecoderInfo.Unused31Addr,0x00000000 0x40821962,4,DecoderInfo.SingerAddr,0x00000000 0x40821966,4,DecoderInfo.DSPAddr,0x00000000 0x4082196A,4,DecoderInfo.MACEAddr,0x00000000 0x4082196E,4,DecoderInfo.MUNIAddr,0x00000000 0x40821972,4,DecoderInfo.AMICAddr,0x00000000 0x40821976,4,DecoderInfo.PrattAddr,0x00000000 0x4082197A,4,DecoderInfo.SWIM3Addr,0x00000000 0x4082197E,4,DecoderInfo.AwacsAddr,0x00000000 0x40821982,4,DecoderInfo.CivicAddr,0x00000000 0x40821986,4,DecoderInfo.SebastianAddr,0x00000000 0x4082198A,4,DecoderInfo.BARTAddr,0x00000000 0x4082198E,4,DecoderInfo.GrandCentralAddr,0x00000000 0x40821992,4,DecoderInfo.Unused44Addr,0x00000000 0x40821996,4,DecoderInfo.Unused45Addr,0x00000000 0x4082199A,4,DecoderInfo.Unused46Addr,0x00000000 0x4082199E,4,DecoderInfo.Unused47Addr,0x50F1A000 0x408219A2,4,DecoderInfo.Unused48Addr,0x4900081F 0x408219A6,4,DecoderInfo.Unused49Addr,0x0000030E 0x408219AA,4,DecoderInfo.Unused50Addr,0x00000000 0x408219AE,4,DecoderInfo.Unused51Addr,0x00000000 0x408219B2,4,DecoderInfo.Unused52Addr,0x00000000 0x408219B6,4,DecoderInfo.Unused53Addr,0x00000000 0x408219BA,4,DecoderInfo.Unused54Addr,0x00300000 0x408219BE,4,DecoderInfo.Unused55Addr,0x00000000 0x408219C2,4,DecoderInfo.Unused56Addr,0x0D010000 0x408219C6,4,DecoderInfo.Unused57Addr,0x50F30400 0x408219CA,4,DecoderInfo.Unused58Addr,0x40800000 0x408219CE,4,DecoderInfo.Unused59Addr,0x58000000 0x408219D2,4,DecoderInfo.Unused60Addr,0x50F00000 0x408219D6,4,DecoderInfo.Unused61Addr,0x50F04000 0x408219DA,4,DecoderInfo.FooAddr,0x50F04000 0x408219DE,4,DecoderInfo.Unused63Addr,0x00000000 0x408219E2,4,DecoderInfo.Unused64Addr,0x00000000 0x408219E6,4,DecoderInfo.BarAddr,0x00000000 0x408219EA,4,DecoderInfo.Unused66Addr,0x00000000 0x408219EE,4,DecoderInfo.Unused67Addr,0x00000000 0x408219F2,4,DecoderInfo.Unused68Addr,0x00000000 0x408219F6,4,DecoderInfo.Unused69Addr,0x50F02000 0x408219FA,4,DecoderInfo.Unused70Addr,0x00000000 0x408219FE,4,DecoderInfo.Unused71Addr,0x00000000 0x40821A02,4,DecoderInfo.Unused72Addr,0x00000000 0x40821A06,4,DecoderInfo.Unused73Addr,0x00000000 0x40821A0A,4,DecoderInfo.Unused74Addr,0x00000000 0x40821A0E,4,DecoderInfo.Unused75Addr,0x00000000 0x40821A12,4,DecoderInfo.Unused76Addr,0x00000000 0x40821A16,4,DecoderInfo.Unused77Addr,0x00000000 0x40821A1A,4,DecoderInfo.Unused78Addr,0x00000000 0x40821A1E,4,DecoderInfo.Unused79Addr,0x00000000 0x40821A22,4,DecoderInfo.Unused80Addr,0x00000000 0x40821A26,4,DecoderInfo.Unused81Addr,0x00000000 0x40821A2A,4,DecoderInfo.Unused82Addr,0x50F18000 0x40821A2E,4,DecoderInfo.Unused83Addr,0x00000000 0x40821A32,4,DecoderInfo.Unused84Addr,0x00000000 0x40821A36,4,DecoderInfo.Unused85Addr,0x50F31000 0x40821A3A,4,DecoderInfo.Unused86Addr,0x00000000 0x40821A3E,4,DecoderInfo.Unused87Addr,0x00000000 0x40821A42,4,DecoderInfo.Unused88Addr,0x50F2A000 0x40821A46,4,DecoderInfo.Unused89Addr,0x00000000 0x40821A4A,4,DecoderInfo.Unused90Addr,0x00000000 0x40821A4E,4,DecoderInfo.Unused91Addr,0x50F31000 0x40821A52,4,DecoderInfo.Unused92Addr,0x50F1C000 0x40821A56,4,DecoderInfo.Unused93Addr,0x50F30000 0x40821A5A,4,DecoderInfo.Unused94Addr,0x00000000 0x40821A5E,4,DecoderInfo.Unused95Addr,0x00000000 0x408218E2,4,DecoderInfo.ROMAddr,0x40800000 0x40800000,4,BaseAddr_ROMAddr_Test,0x63ABFD3F 0x408218E6,4,DecoderInfo.DiagROMAddr,0x58000000 0x58000000,4,BaseAddr_DiagROMAddr_Test,<noaccess> 0x408218EA,4,DecoderInfo.VIA1Addr,0x50F00000 0x50F00000,4,BaseAddr_VIA1Addr_Test,0xFFFFFFFF 0x408218EE,4,DecoderInfo.SCCRdAddr,0x50F0C020 0x50F0C020,4,BaseAddr_SCCRdAddr_Test,0x54545454 0x408218F2,4,DecoderInfo.SCCWrAddr,0x50F0C020 0x50F0C020,4,BaseAddr_SCCWrAddr_Test,0x54545454 0x408218F6,4,DecoderInfo.IWMAddr,0x50F1E000 0x50F1E000,4,BaseAddr_IWMAddr_Test,0x00000000 0x408218FA,4,DecoderInfo.PWMAddr,0x00000000 0x408218FE,4,DecoderInfo.SoundAddr,0x00000000 0x40821902,4,DecoderInfo.SCSIAddr,0x00000000 0x40821906,4,DecoderInfo.SCSIDackAddr,0x00000000 0x4082190A,4,DecoderInfo.SCSIHskAddr,0x00000000 0x4082190E,4,DecoderInfo.VIA2Addr,0x50F02000 0x50F02000,4,BaseAddr_VIA2Addr_Test,0x0E0E0E0E 0x40821912,4,DecoderInfo.ASCAddr,0x50F14000 0x50F14000,4,BaseAddr_ASCAddr_Test,0x00000000 0x40821916,4,DecoderInfo.RBVAddr,0x00000000 0x4082191A,4,DecoderInfo.VDACAddr,0x50F24000 0x4082191E,4,DecoderInfo.SCSIDMAAddr,0x00000000 0x40821922,4,DecoderInfo.SWIMIOPAddr,0x00000000 0x40821926,4,DecoderInfo.SCCIOPAddr,0x00000000 0x4082192A,4,DecoderInfo.OSSAddr,0x00000000 0x4082192E,4,DecoderInfo.FMCAddr,0x00000000 0x40821932,4,DecoderInfo.RPUAddr,0x00000000 0x40821936,4,DecoderInfo.OrwellAddr,0x00000000 0x4082193A,4,DecoderInfo.JAWSAddr,0x00000000 0x4082193E,4,DecoderInfo.SonicAddr,0x50F0A000 0x40821942,4,DecoderInfo.SCSI96Addr1,0x50F10000 0x50F10000,4,BaseAddr_SCSI96Addr1_Test,0x00000000 0x40821946,4,DecoderInfo.SCSI96Addr2,0x00000000 0x4082194A,4,DecoderInfo.DAFBAddr,0x00000000 0x4082194E,4,DecoderInfo.PSCAddr,0x00000000 0x40821952,4,DecoderInfo.ROMPhysAddr,0x00000000 0x40821956,4,DecoderInfo.PatchROMAddr,0x5FF00000 0x4082195A,4,DecoderInfo.NewAgeAddr,0x00000000 0x4082195E,4,DecoderInfo.Unused31Addr,0x00000000 0x40821962,4,DecoderInfo.SingerAddr,0x00000000 0x40821966,4,DecoderInfo.DSPAddr,0x00000000 0x4082196A,4,DecoderInfo.MACEAddr,0x00000000 0x4082196E,4,DecoderInfo.MUNIAddr,0x00000000 0x40821972,4,DecoderInfo.AMICAddr,0x00000000 0x40821976,4,DecoderInfo.PrattAddr,0x00000000 0x4082197A,4,DecoderInfo.SWIM3Addr,0x00000000 0x4082197E,4,DecoderInfo.AwacsAddr,0x00000000 0x40821982,4,DecoderInfo.CivicAddr,0x00000000 0x40821986,4,DecoderInfo.SebastianAddr,0x00000000 0x4082198A,4,DecoderInfo.BARTAddr,0x00000000 0x4082198E,4,DecoderInfo.GrandCentralAddr,0x00000000 0x40821992,4,DecoderInfo.Unused44Addr,0x00000000 0x40821996,4,DecoderInfo.Unused45Addr,0x00000000 0x4082199A,4,DecoderInfo.Unused46Addr,0x00000000 0x4082199E,4,DecoderInfo.Unused47Addr,0x50F1A000 0x50F1A000,4,BaseAddr_Unused47Addr_Test,0xFFFFFFFF 0x408219A2,4,DecoderInfo.Unused48Addr,0x4900081F 0x408219A6,4,DecoderInfo.Unused49Addr,0x0000030E 0x408219AA,4,DecoderInfo.Unused50Addr,0x00000000 0x408219AE,4,DecoderInfo.Unused51Addr,0x00000000 0x408219B2,4,DecoderInfo.Unused52Addr,0x00000000 0x408219B6,4,DecoderInfo.Unused53Addr,0x00000000 0x408219BA,4,DecoderInfo.Unused54Addr,0x00300000 0x408219BE,4,DecoderInfo.Unused55Addr,0x00000000 0x408219C2,4,DecoderInfo.Unused56Addr,0x0D010000 0x408219C6,4,DecoderInfo.Unused57Addr,0x50F30400 0x408219CA,4,DecoderInfo.Unused58Addr,0x40800000 0x408219CE,4,DecoderInfo.Unused59Addr,0x58000000 0x408219D2,4,DecoderInfo.Unused60Addr,0x50F00000 0x408219D6,4,DecoderInfo.Unused61Addr,0x50F04000 0x408219DA,4,DecoderInfo.FooAddr,0x50F04000 0x408219DE,4,DecoderInfo.Unused63Addr,0x00000000 0x408219E2,4,DecoderInfo.Unused64Addr,0x00000000 0x408219E6,4,DecoderInfo.BarAddr,0x00000000 0x408219EA,4,DecoderInfo.Unused66Addr,0x00000000 0x408219EE,4,DecoderInfo.Unused67Addr,0x00000000 0x408219F2,4,DecoderInfo.Unused68Addr,0x00000000 0x408219F6,4,DecoderInfo.Unused69Addr,0x50F02000 0x408219FA,4,DecoderInfo.Unused70Addr,0x00000000 0x408219FE,4,DecoderInfo.Unused71Addr,0x00000000 0x40821A02,4,DecoderInfo.Unused72Addr,0x00000000 0x40821A06,4,DecoderInfo.Unused73Addr,0x00000000 0x40821A0A,4,DecoderInfo.Unused74Addr,0x00000000 0x40821A0E,4,DecoderInfo.Unused75Addr,0x00000000 0x40821A12,4,DecoderInfo.Unused76Addr,0x00000000 0x40821A16,4,DecoderInfo.Unused77Addr,0x00000000 0x40821A1A,4,DecoderInfo.Unused78Addr,0x00000000 0x40821A1E,4,DecoderInfo.Unused79Addr,0x00000000 0x40821A22,4,DecoderInfo.Unused80Addr,0x00000000 0x40821A26,4,DecoderInfo.Unused81Addr,0x00000000 0x40821A2A,4,DecoderInfo.Unused82Addr,0x50F18000 0x40821A2E,4,DecoderInfo.Unused83Addr,0x00000000 0x40821A32,4,DecoderInfo.Unused84Addr,0x00000000 0x40821A36,4,DecoderInfo.Unused85Addr,0x50F31000 0x40821A3A,4,DecoderInfo.Unused86Addr,0x00000000 0x40821A3E,4,DecoderInfo.Unused87Addr,0x00000000 0x40821A42,4,DecoderInfo.Unused88Addr,0x50F2A000 0x40821A46,4,DecoderInfo.Unused89Addr,0x00000000 0x40821A4A,4,DecoderInfo.Unused90Addr,0x00000000 0x40821A4E,4,DecoderInfo.Unused91Addr,0x50F31000 0x40821A52,4,DecoderInfo.Unused92Addr,0x50F1C000 0x40821A56,4,DecoderInfo.Unused93Addr,0x50F30000 0x40821A5A,4,DecoderInfo.Unused94Addr,0x00000000 0x40821A5E,4,DecoderInfo.Unused95Addr,0x00000000 0x40821D22,4,RamInfo.MinBankSize,0x00100000 0x40821D26,4,RamInfo.HighBankStart,0x00000000 0x40821D2A,4,RamInfo.HighBankEnd,0x04000000 0x40821D2E,4,RamInfo.NextBankStart,0x04000000 0x40821D32,4,RamInfo.NextBankEnd,0x08000000 0x40821E82,4,VideoInfo.VRAMPhysAddr,0xF9001000 0x40821E86,4,VideoInfo.VRAMLogAddr32,0xF9001000 0x40821E8A,4,VideoInfo.VRAMLogAddr24,0x00000000 0x40821E8E,1,VideoInfo.SlotNumberAlias,0x09 0x40821E8F,1,VideoInfo.SlotPramAddr,0x46 0x40821E90,1,VideoInfo.SuperSRsrcDirID,0x7B 0x40821E91,1,VideoInfo.BoardSRsrcID,0x01 0x40821E92,2,VideoInfo.DrvrHwID,0x002E 0x40821F14,1,NubusInfo.Slot0,0x03 0x40821F15,1,NubusInfo.Slot1,0x00 0x40821F16,1,NubusInfo.Slot2,0x00 0x40821F17,1,NubusInfo.Slot3,0x00 0x40821F18,1,NubusInfo.Slot4,0x00 0x40821F19,1,NubusInfo.Slot5,0x00 0x40821F1A,1,NubusInfo.Slot6,0x00 0x40821F1B,1,NubusInfo.Slot7,0x00 0x40821F1C,1,NubusInfo.Slot8,0x00 0x40821F1D,1,NubusInfo.Slot9,0x0A 0x40821F1E,1,NubusInfo.SlotA,0x09 0x40821F1F,1,NubusInfo.SlotB,0x00 0x40821F20,1,NubusInfo.SlotC,0x00 0x40821F21,1,NubusInfo.SlotD,0x03 0x40821F22,1,NubusInfo.SlotE,0x03 0x40821F23,1,NubusInfo.SlotF,0x00 0x5FFFEFD0,4,NKHWInfo.MacROM_Base,0x5FFFEFD0 0x5FFFEFD4,4,NKHWInfo.DeviceTreeBase,0x00000000 0x5FFFEFD8,4,NKHWInfo.UniversalInfoTableBase,0x5FFFEF80 0x5FFFEFDC,4,NKHWInfo.ConfigInfoTableBase,0x01000040 0x5FFFEFE0,4,NKHWInfo.VectorLookupTable,0x5FFFEE80 0x5FFFEFE4,4,NKHWInfo.VectorMaskTable,0x01010100 0x5FFFEFE8,4,NKHWInfo.OpenPICBaseAddr,0x5FFFED80 0x5FFFEFEC,4,NKHWInfo.ISAMaster8259,0x01000100 0x5FFFEFF0,4,NKHWInfo.ISASlave8259,0x5FFFEC80 0x5FFFEFF4,4,NKHWInfo.InterruptAck8259,0x01030100 0x5FFFEFF8,4,NKHWInfo.PendingInts0,0x5FFFEF80 0x5FFFEFFC,4,NKHWInfo.PendingInts1,0x01000040 0x5FFFF000,4,NKHWInfo.ADB_Base,0xA55A2258 0x5FFFF004,4,NKHWInfo.SCSI_DMA_Base,0xA55A2258 0x5FFFF046,2,NKHWInfo.CPU_ID,0x2258 0x5FFFEC80,4,NKSystemInfo.PhysicalMemorySize,0x04000000 0x5FFFEC84,4,NKSystemInfo.UsableMemorySize,0x03FAE000 0x5FFFEC88,4,NKSystemInfo.LogicalMemorySize,0x03FAE000 0x5FFFEC8C,4,NKSystemInfo.HashTableSize,0x00040000 0x5FFFEC90,4,NKSystemInfo.L2DataCacheTotalSize,0x00040000 0x5FFFEC94,4,NKSystemInfo.L2InstCacheTotalSize,0x00040000 0x5FFFEC98,2,NKSystemInfo.L2CombinedCaches,0x0001 0x5FFFEC9A,2,NKSystemInfo.L2InstCacheBlockSize,0x0020 0x5FFFEC9C,2,NKSystemInfo.L2DataCacheBlockSize,0x0020 0x5FFFEC9E,2,NKSystemInfo.L2InstCacheAssociativity,0x0001 0x5FFFECA0,2,NKSystemInfo.L2DataCacheAssociativity,0x0001 0x5FFFECA6,1,NKSystemInfo.FlashManufacturerCode,0x00 0x5FFFECA7,1,NKSystemInfo.FlashDeviceCode,0x00 0x5FFFECA8,4,NKSystemInfo.FlashStart,0x00000000 0x5FFFECAC,4,NKSystemInfo.FlashSize,0x00000000 0x5FFFECB0,4,NKSystemInfo.Bank0Start,0x00000000 0x5FFFECB4,4,NKSystemInfo.Bank0Size,0x01000000 0x5FFFECB8,4,NKSystemInfo.Bank1Start,0x01000000 0x5FFFECBC,4,NKSystemInfo.Bank1Size,0x01000000 0x5FFFECC0,4,NKSystemInfo.Bank2Start,0x02000000 0x5FFFECC4,4,NKSystemInfo.Bank2Size,0x01000000 0x5FFFECC8,4,NKSystemInfo.Bank3Start,0x03000000 0x5FFFECCC,4,NKSystemInfo.Bank3Size,0x01000000 0x5FFFECD0,4,NKSystemInfo.Bank4Start,0x00000000 0x5FFFECD4,4,NKSystemInfo.Bank4Size,0x00000000 0x5FFFECD8,4,NKSystemInfo.Bank5Start,0x00000000 0x5FFFECDC,4,NKSystemInfo.Bank5Size,0x00000000 0x5FFFECE0,4,NKSystemInfo.Bank6Start,0x00000000 0x5FFFECE4,4,NKSystemInfo.Bank6Size,0x00000000 0x5FFFECE8,4,NKSystemInfo.Bank7Start,0x00000000 0x5FFFECEC,4,NKSystemInfo.Bank7Size,0x00000000 0x5FFFEF80,4,NKProcessorInfo.ProcessorVersionReg,0x00030302 0x5FFFEF84,4,NKProcessorInfo.CpuClockRateHz,0x047868C0 0x5FFFEF88,4,NKProcessorInfo.BusClockRateHz,0x023C3460 0x5FFFEF8C,4,NKProcessorInfo.DecClockRateHz,0x008F0D18 0x5FFFEF90,4,NKProcessorInfo.PageSize,0x00001000 0x5FFFEF94,4,NKProcessorInfo.DataCacheTotalSize,0x00002000 0x5FFFEF98,4,NKProcessorInfo.InstCacheTotalSize,0x00002000 0x5FFFEF9C,2,NKProcessorInfo.CoherencyBlockSize,0x0020 0x5FFFEF9E,2,NKProcessorInfo.ReservationGranuleSize,0x0020 0x5FFFEFA0,2,NKProcessorInfo.CombinedCaches,0x0000 0x5FFFEFA2,2,NKProcessorInfo.InstCacheLineSize,0x0020 0x5FFFEFA4,2,NKProcessorInfo.DataCacheLineSize,0x0020 0x5FFFEFA6,2,NKProcessorInfo.DataCacheBlockSizeTouch,0x0020 0x5FFFEFA8,2,NKProcessorInfo.InstCacheBlockSize,0x0020 0x5FFFEFAA,2,NKProcessorInfo.DataCacheBlockSize,0x0020 0x5FFFEFAC,2,NKProcessorInfo.InstCacheAssociativity,0x0002 0x5FFFEFAE,2,NKProcessorInfo.DataCacheAssociativity,0x0002 0x5FFFEFB0,2,NKProcessorInfo.TransCacheTotalSize,0x0040 0x5FFFEFB2,2,NKProcessorInfo.TransCacheAssociativity,0x0002
 

Attachments

  • 2025-09-20-132428_851x294_scrot.png
    2025-09-20-132428_851x294_scrot.png
    248.6 KB · Views: 4
Last edited:
It is odd indeed, adding screenshot from MacsBug (same if I reboot and check as soon as it says "Debugger installed").

I had made a mistake with DecoderInfo and some in NKHWInfo. Now it looks more reasonable. Added some more info

I've sorted your output and removed duplicate DecoderInfo lines:
Code:
0x00000D00,2,TimeDBRA,0x1A97
0x00000D02,2,TimeSCCDB,0x0507
0x00000D04,4,SlotQDT,0x0000DDA0
0x00000D08,4,SlotPrTbl,0xFFFFFFFF
0x00000D0C,4,SlotVBLQ,0xFFFFFFFF
0x00000D10,4,ScrnVBLPtr,0x0000DE22
0x00000D14,4,SlotTICKS,0xFFFFFFFF
0x00000D18,4,PmgrBase,0xFFFFFFFF
0x00000D20,4,TableSeed,0x000007D6
0x00000D24,4,SRsrcTblPtr,0x0000E0E0
0x00000D28,4,JVBLTask,0x4081DF34
0x00000D2C,4,WMgrCPort,0x004C6AF0
0x00000D30,2,VertRRate,0xFFFF
0x00000D60,2,ChunkyDepth,0x0008
0x00000D62,4,CrsrPtr,0x0000347C

0x00000DD0,4,AddrMapFlags,0x8100183F
0x00000DD4,4,UnivROMFlags,0x8B807926
0x00000DD8,4,UnivInfoPtr,0x40820CC4
0x00000DE0,4,EgretBase,0x0008A6E0

0x00002400,4,AddrMapFlags1,0x00008000
0x00002404,4,AddrMapFlags2,0x00000000
0x00002408,4,UnivROMFlags1,0x00002301
0x0000240C,4,UnivROMFlags2,0x00000000

0x40800000,4,BaseAddr_ROMAddr_Test,0x63ABFD3F / ROM checksum

0x40820CC4,4,UnivInfo.decoderInfoPtr,0x00000C1E
0x40820CC8,4,UnivInfo.ramInfoPtr,0x0000105E
0x40820CCC,4,UnivInfo.videoInfoPtr,0x000011BE
0x40820CD0,4,UnivInfo.nubusInfoPtr,0x00001250
0x40820CD4,2,UnivInfo.hwCfgWord,0xCC80
0x40820CD6,1,UnivInfo.productKind,0x23
0x40820CD7,1,UnivInfo.decoderKind,0x0E
0x40820CD8,2,UnivInfo.rom85Word,0x3FFF
0x40820CDA,1,UnivInfo.defaultRSRCs,0x04
0x40820CDB,1,UnivInfo.productInfoVers,0x01
0x40820CDC,4,UnivInfo.basesValid,0x8180183F
0x40820CE0,4,UnivInfo.basesValid1,0x00008000
0x40820CE4,4,UnivInfo.basesValid2,0x00000000
0x40820CE8,4,UnivInfo.extValid,0x8B807926
0x40820CEC,4,UnivInfo.extValid1,0x00002301
0x40820CF0,4,UnivInfo.extValid2,0x00000000
0x40820CF4,4,UnivInfo.viaIDMask,0x00000000
0x40820CF8,4,UnivInfo.viaIDMatch,0x00000000
0x40820CFC,4,UnivInfo.via1InitPtr,0x00001C8E
0x40820D00,4,UnivInfo.via2InitPtr,0x00001C94
0x40820D04,4,UnivInfo.sndControlPtr,0xFFFEDEE4
0x40820D08,4,UnivInfo.clockPRAMPtr,0xFFFE82A8
0x40820D0C,4,UnivInfo.adbDebugUtilPtr,0xFFFE7BAC
0x40820D10,4,UnivInfo.powerManagerPtr,0x00000000
0x40820D14,4,UnivInfo.intHandlerPtr,0xFFFFBDEA
0x40820D18,4,UnivInfo.immgPrimPtr,0xFFFE7662
0x40820D1C,2,UnivInfo.cpuIDValue,0x3258
0x40820D20,4,UnivInfo.iconInfoPtr,0x000012A0
0x408218E2,4,DecoderInfo.ROMAddr,0x40800000
0x408218E2,4,DecoderInfo.ROMAddr,0x40800000
0x408218E2,4,DecoderInfoHeader.DefaultBases,0x40800000
0x408218E6,4,DecoderInfo.DiagROMAddr,0x58000000
0x408218E6,4,DecoderInfo.DiagROMAddr,0x58000000
0x408218E6,4,DecoderInfoHeader.DefaultBases1,0x58000000
0x408218EA,4,DecoderInfo.VIA1Addr,0x50F00000
0x408218EA,4,DecoderInfo.VIA1Addr,0x50F00000
0x408218EA,4,DecoderInfoHeader.DefaultBases2,0x50F00000
0x408218EE,4,DecoderInfo.SCCRdAddr,0x50F0C020
0x408218EE,4,DecoderInfo.SCCRdAddr,0x50F0C020
0x408218EE,4,DecoderInfoHeader.DefExtFeatures,0x50F0C020
0x408218F2,4,DecoderInfo.SCCWrAddr,0x50F0C020
0x408218F2,4,DecoderInfo.SCCWrAddr,0x50F0C020
0x408218F2,4,DecoderInfoHeader.DefExtFeatures1,0x50F0C020
0x408218F6,4,DecoderInfo.IWMAddr,0x50F1E000
0x408218F6,4,DecoderInfo.IWMAddr,0x50F1E000
0x408218F6,4,DecoderInfoHeader.DefExtFeatures2,0x50F1E000
0x408218FA,1,DecoderInfoHeader.AvoidVIA1A,0x00
0x408218FA,4,DecoderInfo.PWMAddr,0x00000000
0x408218FA,4,DecoderInfo.PWMAddr,0x00000000
0x408218FB,1,DecoderInfoHeader.AvoidVIA1B,0x00
0x408218FC,1,DecoderInfoHeader.AvoidVIA2A,0x00
0x408218FD,1,DecoderInfoHeader.AvoidVIA2B,0x00
0x408218FE,4,DecoderInfo.SoundAddr,0x00000000
0x408218FE,4,DecoderInfo.SoundAddr,0x00000000
0x408218FE,4,DecoderInfoHeader.CheckForProc,0x00000000
0x40821902,1,DecoderInfoHeader.AddrMap,0x00
0x40821902,4,DecoderInfo.SCSIAddr,0x00000000
0x40821902,4,DecoderInfo.SCSIAddr,0x00000000
0x40821903,1,DecoderInfoHeader.DecoderInfoVers,0x00
0x40821906,4,DecoderInfo.SCSIDackAddr,0x00000000
0x40821906,4,DecoderInfo.SCSIDackAddr,0x00000000
0x40821906,4,DecoderInfoHeader.DecoderAddr,0x00000000
0x4082190A,4,DecoderInfo.SCSIHskAddr,0x00000000
0x4082190A,4,DecoderInfo.SCSIHskAddr,0x00000000
0x4082190E,4,DecoderInfo.VIA2Addr,0x50F02000
0x4082190E,4,DecoderInfo.VIA2Addr,0x50F02000
0x40821912,4,DecoderInfo.ASCAddr,0x50F14000
0x40821912,4,DecoderInfo.ASCAddr,0x50F14000
0x40821916,4,DecoderInfo.RBVAddr,0x00000000
0x40821916,4,DecoderInfo.RBVAddr,0x00000000
0x4082191A,4,DecoderInfo.VDACAddr,0x50F24000
0x4082191A,4,DecoderInfo.VDACAddr,0x50F24000
0x4082191E,4,DecoderInfo.SCSIDMAAddr,0x00000000
0x4082191E,4,DecoderInfo.SCSIDMAAddr,0x00000000
0x40821922,4,DecoderInfo.SWIMIOPAddr,0x00000000
0x40821922,4,DecoderInfo.SWIMIOPAddr,0x00000000
0x40821926,4,DecoderInfo.SCCIOPAddr,0x00000000
0x40821926,4,DecoderInfo.SCCIOPAddr,0x00000000
0x4082192A,4,DecoderInfo.OSSAddr,0x00000000
0x4082192A,4,DecoderInfo.OSSAddr,0x00000000
0x4082192E,4,DecoderInfo.FMCAddr,0x00000000
0x4082192E,4,DecoderInfo.FMCAddr,0x00000000
0x40821932,4,DecoderInfo.RPUAddr,0x00000000
0x40821932,4,DecoderInfo.RPUAddr,0x00000000
0x40821936,4,DecoderInfo.OrwellAddr,0x00000000
0x40821936,4,DecoderInfo.OrwellAddr,0x00000000
0x4082193A,4,DecoderInfo.JAWSAddr,0x00000000
0x4082193A,4,DecoderInfo.JAWSAddr,0x00000000
0x4082193E,4,DecoderInfo.SonicAddr,0x50F0A000
0x4082193E,4,DecoderInfo.SonicAddr,0x50F0A000
0x40821942,4,DecoderInfo.SCSI96Addr1,0x50F10000
0x40821942,4,DecoderInfo.SCSI96Addr1,0x50F10000
0x40821946,4,DecoderInfo.SCSI96Addr2,0x00000000
0x40821946,4,DecoderInfo.SCSI96Addr2,0x00000000
0x4082194A,4,DecoderInfo.DAFBAddr,0x00000000
0x4082194A,4,DecoderInfo.DAFBAddr,0x00000000
0x4082194E,4,DecoderInfo.PSCAddr,0x00000000
0x4082194E,4,DecoderInfo.PSCAddr,0x00000000
0x40821952,4,DecoderInfo.ROMPhysAddr,0x00000000
0x40821952,4,DecoderInfo.ROMPhysAddr,0x00000000
0x40821956,4,DecoderInfo.PatchROMAddr,0x5FF00000
0x40821956,4,DecoderInfo.PatchROMAddr,0x5FF00000
0x4082195A,4,DecoderInfo.NewAgeAddr,0x00000000
0x4082195A,4,DecoderInfo.NewAgeAddr,0x00000000
0x4082195E,4,DecoderInfo.Unused31Addr,0x00000000
0x4082195E,4,DecoderInfo.Unused31Addr,0x00000000
0x40821962,4,DecoderInfo.SingerAddr,0x00000000
0x40821962,4,DecoderInfo.SingerAddr,0x00000000
0x40821966,4,DecoderInfo.DSPAddr,0x00000000
0x40821966,4,DecoderInfo.DSPAddr,0x00000000
0x4082196A,4,DecoderInfo.MACEAddr,0x00000000
0x4082196A,4,DecoderInfo.MACEAddr,0x00000000
0x4082196E,4,DecoderInfo.MUNIAddr,0x00000000
0x4082196E,4,DecoderInfo.MUNIAddr,0x00000000
0x40821972,4,DecoderInfo.AMICAddr,0x00000000
0x40821972,4,DecoderInfo.AMICAddr,0x00000000
0x40821976,4,DecoderInfo.PrattAddr,0x00000000
0x40821976,4,DecoderInfo.PrattAddr,0x00000000
0x4082197A,4,DecoderInfo.SWIM3Addr,0x00000000
0x4082197A,4,DecoderInfo.SWIM3Addr,0x00000000
0x4082197E,4,DecoderInfo.AwacsAddr,0x00000000
0x4082197E,4,DecoderInfo.AwacsAddr,0x00000000
0x40821982,4,DecoderInfo.CivicAddr,0x00000000
0x40821982,4,DecoderInfo.CivicAddr,0x00000000
0x40821986,4,DecoderInfo.SebastianAddr,0x00000000
0x40821986,4,DecoderInfo.SebastianAddr,0x00000000
0x4082198A,4,DecoderInfo.BARTAddr,0x00000000
0x4082198A,4,DecoderInfo.BARTAddr,0x00000000
0x4082198E,4,DecoderInfo.GrandCentralAddr,0x00000000
0x4082198E,4,DecoderInfo.GrandCentralAddr,0x00000000
0x40821992,4,DecoderInfo.Unused44Addr,0x00000000
0x40821992,4,DecoderInfo.Unused44Addr,0x00000000
0x40821996,4,DecoderInfo.Unused45Addr,0x00000000
0x40821996,4,DecoderInfo.Unused45Addr,0x00000000
0x4082199A,4,DecoderInfo.Unused46Addr,0x00000000
0x4082199A,4,DecoderInfo.Unused46Addr,0x00000000
0x4082199E,4,DecoderInfo.Unused47Addr,0x50F1A000
0x4082199E,4,DecoderInfo.Unused47Addr,0x50F1A000
0x408219A2,4,DecoderInfo.Unused48Addr,0x4900081F
0x408219A2,4,DecoderInfo.Unused48Addr,0x4900081F
0x408219A6,4,DecoderInfo.Unused49Addr,0x0000030E
0x408219A6,4,DecoderInfo.Unused49Addr,0x0000030E
0x408219AA,4,DecoderInfo.Unused50Addr,0x00000000
0x408219AA,4,DecoderInfo.Unused50Addr,0x00000000
0x408219AE,4,DecoderInfo.Unused51Addr,0x00000000
0x408219AE,4,DecoderInfo.Unused51Addr,0x00000000
0x408219B2,4,DecoderInfo.Unused52Addr,0x00000000
0x408219B2,4,DecoderInfo.Unused52Addr,0x00000000
0x408219B6,4,DecoderInfo.Unused53Addr,0x00000000
0x408219B6,4,DecoderInfo.Unused53Addr,0x00000000
0x408219BA,4,DecoderInfo.Unused54Addr,0x00300000
0x408219BA,4,DecoderInfo.Unused54Addr,0x00300000
0x408219BE,4,DecoderInfo.Unused55Addr,0x00000000
0x408219BE,4,DecoderInfo.Unused55Addr,0x00000000
0x408219C2,4,DecoderInfo.Unused56Addr,0x0D010000
0x408219C2,4,DecoderInfo.Unused56Addr,0x0D010000
0x408219C6,4,DecoderInfo.Unused57Addr,0x50F30400
0x408219C6,4,DecoderInfo.Unused57Addr,0x50F30400
0x408219CA,4,DecoderInfo.Unused58Addr,0x40800000
0x408219CA,4,DecoderInfo.Unused58Addr,0x40800000
0x408219CE,4,DecoderInfo.Unused59Addr,0x58000000
0x408219CE,4,DecoderInfo.Unused59Addr,0x58000000
0x408219D2,4,DecoderInfo.Unused60Addr,0x50F00000
0x408219D2,4,DecoderInfo.Unused60Addr,0x50F00000
0x408219D6,4,DecoderInfo.Unused61Addr,0x50F04000
0x408219D6,4,DecoderInfo.Unused61Addr,0x50F04000
0x408219DA,4,DecoderInfo.FooAddr,0x50F04000
0x408219DA,4,DecoderInfo.FooAddr,0x50F04000
0x408219DE,4,DecoderInfo.Unused63Addr,0x00000000
0x408219DE,4,DecoderInfo.Unused63Addr,0x00000000
0x408219E2,4,DecoderInfo.Unused64Addr,0x00000000
0x408219E2,4,DecoderInfo.Unused64Addr,0x00000000
0x408219E6,4,DecoderInfo.BarAddr,0x00000000
0x408219E6,4,DecoderInfo.BarAddr,0x00000000
0x408219EA,4,DecoderInfo.Unused66Addr,0x00000000
0x408219EA,4,DecoderInfo.Unused66Addr,0x00000000
0x408219EE,4,DecoderInfo.Unused67Addr,0x00000000
0x408219EE,4,DecoderInfo.Unused67Addr,0x00000000
0x408219F2,4,DecoderInfo.Unused68Addr,0x00000000
0x408219F2,4,DecoderInfo.Unused68Addr,0x00000000
0x408219F6,4,DecoderInfo.Unused69Addr,0x50F02000
0x408219F6,4,DecoderInfo.Unused69Addr,0x50F02000
0x408219FA,4,DecoderInfo.Unused70Addr,0x00000000
0x408219FA,4,DecoderInfo.Unused70Addr,0x00000000
0x408219FE,4,DecoderInfo.Unused71Addr,0x00000000
0x408219FE,4,DecoderInfo.Unused71Addr,0x00000000
0x40821A02,4,DecoderInfo.Unused72Addr,0x00000000
0x40821A02,4,DecoderInfo.Unused72Addr,0x00000000
0x40821A06,4,DecoderInfo.Unused73Addr,0x00000000
0x40821A06,4,DecoderInfo.Unused73Addr,0x00000000
0x40821A0A,4,DecoderInfo.Unused74Addr,0x00000000
0x40821A0A,4,DecoderInfo.Unused74Addr,0x00000000
0x40821A0E,4,DecoderInfo.Unused75Addr,0x00000000
0x40821A0E,4,DecoderInfo.Unused75Addr,0x00000000
0x40821A12,4,DecoderInfo.Unused76Addr,0x00000000
0x40821A12,4,DecoderInfo.Unused76Addr,0x00000000
0x40821A16,4,DecoderInfo.Unused77Addr,0x00000000
0x40821A16,4,DecoderInfo.Unused77Addr,0x00000000
0x40821A1A,4,DecoderInfo.Unused78Addr,0x00000000
0x40821A1A,4,DecoderInfo.Unused78Addr,0x00000000
0x40821A1E,4,DecoderInfo.Unused79Addr,0x00000000
0x40821A1E,4,DecoderInfo.Unused79Addr,0x00000000
0x40821A22,4,DecoderInfo.Unused80Addr,0x00000000
0x40821A22,4,DecoderInfo.Unused80Addr,0x00000000
0x40821A26,4,DecoderInfo.Unused81Addr,0x00000000
0x40821A26,4,DecoderInfo.Unused81Addr,0x00000000
0x40821A2A,4,DecoderInfo.Unused82Addr,0x50F18000
0x40821A2A,4,DecoderInfo.Unused82Addr,0x50F18000
0x40821A2E,4,DecoderInfo.Unused83Addr,0x00000000
0x40821A2E,4,DecoderInfo.Unused83Addr,0x00000000
0x40821A32,4,DecoderInfo.Unused84Addr,0x00000000
0x40821A32,4,DecoderInfo.Unused84Addr,0x00000000
0x40821A36,4,DecoderInfo.Unused85Addr,0x50F31000
0x40821A36,4,DecoderInfo.Unused85Addr,0x50F31000
0x40821A3A,4,DecoderInfo.Unused86Addr,0x00000000
0x40821A3A,4,DecoderInfo.Unused86Addr,0x00000000
0x40821A3E,4,DecoderInfo.Unused87Addr,0x00000000
0x40821A3E,4,DecoderInfo.Unused87Addr,0x00000000
0x40821A42,4,DecoderInfo.Unused88Addr,0x50F2A000
0x40821A42,4,DecoderInfo.Unused88Addr,0x50F2A000
0x40821A46,4,DecoderInfo.Unused89Addr,0x00000000
0x40821A46,4,DecoderInfo.Unused89Addr,0x00000000
0x40821A4A,4,DecoderInfo.Unused90Addr,0x00000000
0x40821A4A,4,DecoderInfo.Unused90Addr,0x00000000
0x40821A4E,4,DecoderInfo.Unused91Addr,0x50F31000
0x40821A4E,4,DecoderInfo.Unused91Addr,0x50F31000
0x40821A52,4,DecoderInfo.Unused92Addr,0x50F1C000
0x40821A52,4,DecoderInfo.Unused92Addr,0x50F1C000
0x40821A56,4,DecoderInfo.Unused93Addr,0x50F30000
0x40821A56,4,DecoderInfo.Unused93Addr,0x50F30000
0x40821A5A,4,DecoderInfo.Unused94Addr,0x00000000
0x40821A5A,4,DecoderInfo.Unused94Addr,0x00000000
0x40821A5E,4,DecoderInfo.Unused95Addr,0x00000000
0x40821A5E,4,DecoderInfo.Unused95Addr,0x00000000
0x40821D22,4,RamInfo.MinBankSize,0x00100000
0x40821D26,4,RamInfo.HighBankStart,0x00000000
0x40821D2A,4,RamInfo.HighBankEnd,0x04000000
0x40821D2E,4,RamInfo.NextBankStart,0x04000000
0x40821D32,4,RamInfo.NextBankEnd,0x08000000
0x40821E82,4,VideoInfo.VRAMPhysAddr,0xF9001000
0x40821E86,4,VideoInfo.VRAMLogAddr32,0xF9001000
0x40821E8A,4,VideoInfo.VRAMLogAddr24,0x00000000
0x40821E8E,1,VideoInfo.SlotNumberAlias,0x09
0x40821E8F,1,VideoInfo.SlotPramAddr,0x46
0x40821E90,1,VideoInfo.SuperSRsrcDirID,0x7B
0x40821E91,1,VideoInfo.BoardSRsrcID,0x01
0x40821E92,2,VideoInfo.DrvrHwID,0x002E
0x40821F14,1,NubusInfo.Slot0,0x03
0x40821F15,1,NubusInfo.Slot1,0x00
0x40821F16,1,NubusInfo.Slot2,0x00
0x40821F17,1,NubusInfo.Slot3,0x00
0x40821F18,1,NubusInfo.Slot4,0x00
0x40821F19,1,NubusInfo.Slot5,0x00
0x40821F1A,1,NubusInfo.Slot6,0x00
0x40821F1B,1,NubusInfo.Slot7,0x00
0x40821F1C,1,NubusInfo.Slot8,0x00
0x40821F1D,1,NubusInfo.Slot9,0x0A
0x40821F1E,1,NubusInfo.SlotA,0x09
0x40821F1F,1,NubusInfo.SlotB,0x00
0x40821F20,1,NubusInfo.SlotC,0x00
0x40821F21,1,NubusInfo.SlotD,0x03
0x40821F22,1,NubusInfo.SlotE,0x03
0x40821F23,1,NubusInfo.SlotF,0x00

0x50F00000,4,BaseAddr_VIA1Addr_Test,0xFFFFFFFF
0x50F02000,4,BaseAddr_VIA2Addr_Test,0x0E0E0E0E
0x50F0C020,4,BaseAddr_SCCRdAddr_Test,0x54545454
0x50F0C020,4,BaseAddr_SCCWrAddr_Test,0x54545454
0x50F10000,4,BaseAddr_SCSI96Addr1_Test,0x00000000
0x50F14000,4,BaseAddr_ASCAddr_Test,0x00000000
0x50F1A000,4,BaseAddr_Unused47Addr_Test,0xFFFFFFFF
0x50F1E000,4,BaseAddr_IWMAddr_Test,0x00000000
0x58000000,4,BaseAddr_DiagROMAddr_Test,<noaccess>

0x5FFFEC80,4,NKSystemInfo.PhysicalMemorySize,0x04000000
0x5FFFEC84,4,NKSystemInfo.UsableMemorySize,0x03FAE000
0x5FFFEC88,4,NKSystemInfo.LogicalMemorySize,0x03FAE000
0x5FFFEC8C,4,NKSystemInfo.HashTableSize,0x00040000
0x5FFFEC90,4,NKSystemInfo.L2DataCacheTotalSize,0x00040000
0x5FFFEC94,4,NKSystemInfo.L2InstCacheTotalSize,0x00040000
0x5FFFEC98,2,NKSystemInfo.L2CombinedCaches,0x0001
0x5FFFEC9A,2,NKSystemInfo.L2InstCacheBlockSize,0x0020
0x5FFFEC9C,2,NKSystemInfo.L2DataCacheBlockSize,0x0020
0x5FFFEC9E,2,NKSystemInfo.L2InstCacheAssociativity,0x0001
0x5FFFECA0,2,NKSystemInfo.L2DataCacheAssociativity,0x0001
0x5FFFECA6,1,NKSystemInfo.FlashManufacturerCode,0x00
0x5FFFECA7,1,NKSystemInfo.FlashDeviceCode,0x00
0x5FFFECA8,4,NKSystemInfo.FlashStart,0x00000000
0x5FFFECAC,4,NKSystemInfo.FlashSize,0x00000000
0x5FFFECB0,4,NKSystemInfo.Bank0Start,0x00000000
0x5FFFECB4,4,NKSystemInfo.Bank0Size,0x01000000
0x5FFFECB8,4,NKSystemInfo.Bank1Start,0x01000000
0x5FFFECBC,4,NKSystemInfo.Bank1Size,0x01000000
0x5FFFECC0,4,NKSystemInfo.Bank2Start,0x02000000
0x5FFFECC4,4,NKSystemInfo.Bank2Size,0x01000000
0x5FFFECC8,4,NKSystemInfo.Bank3Start,0x03000000
0x5FFFECCC,4,NKSystemInfo.Bank3Size,0x01000000
0x5FFFECD0,4,NKSystemInfo.Bank4Start,0x00000000
0x5FFFECD4,4,NKSystemInfo.Bank4Size,0x00000000
0x5FFFECD8,4,NKSystemInfo.Bank5Start,0x00000000
0x5FFFECDC,4,NKSystemInfo.Bank5Size,0x00000000
0x5FFFECE0,4,NKSystemInfo.Bank6Start,0x00000000
0x5FFFECE4,4,NKSystemInfo.Bank6Size,0x00000000
0x5FFFECE8,4,NKSystemInfo.Bank7Start,0x00000000
0x5FFFECEC,4,NKSystemInfo.Bank7Size,0x00000000

0x5FFFEF80,4,NKProcessorInfo.ProcessorVersionReg,0x00030302
0x5FFFEF84,4,NKProcessorInfo.CpuClockRateHz,0x047868C0
0x5FFFEF88,4,NKProcessorInfo.BusClockRateHz,0x023C3460
0x5FFFEF8C,4,NKProcessorInfo.DecClockRateHz,0x008F0D18
0x5FFFEF90,4,NKProcessorInfo.PageSize,0x00001000
0x5FFFEF94,4,NKProcessorInfo.DataCacheTotalSize,0x00002000
0x5FFFEF98,4,NKProcessorInfo.InstCacheTotalSize,0x00002000
0x5FFFEF9C,2,NKProcessorInfo.CoherencyBlockSize,0x0020
0x5FFFEF9E,2,NKProcessorInfo.ReservationGranuleSize,0x0020
0x5FFFEFA0,2,NKProcessorInfo.CombinedCaches,0x0000
0x5FFFEFA2,2,NKProcessorInfo.InstCacheLineSize,0x0020
0x5FFFEFA4,2,NKProcessorInfo.DataCacheLineSize,0x0020
0x5FFFEFA6,2,NKProcessorInfo.DataCacheBlockSizeTouch,0x0020
0x5FFFEFA8,2,NKProcessorInfo.InstCacheBlockSize,0x0020
0x5FFFEFAA,2,NKProcessorInfo.DataCacheBlockSize,0x0020
0x5FFFEFAC,2,NKProcessorInfo.InstCacheAssociativity,0x0002
0x5FFFEFAE,2,NKProcessorInfo.DataCacheAssociativity,0x0002
0x5FFFEFB0,2,NKProcessorInfo.TransCacheTotalSize,0x0040
0x5FFFEFB2,2,NKProcessorInfo.TransCacheAssociativity,0x0002

0x5FFFEFD0,4,NKHWInfo.MacROM_Base,0x5FFFEFD0
0x5FFFEFD0,4,NKHWInfoPtr,0x5FFFEFD0
0x5FFFEFD4,4,NKHWInfo.DeviceTreeBase,0x00000000
0x5FFFEFD8,4,NKHWInfo.UniversalInfoTableBase,0x5FFFEF80
0x5FFFEFDC,4,NKHWInfo.ConfigInfoTableBase,0x01000040
0x5FFFEFE0,4,NKHWInfo.VectorLookupTable,0x5FFFEE80
0x5FFFEFE0,4,NKNanoKernelInfoPtr,0x5FFFEE80
0x5FFFEFE4,2,NKNanoKernelInfoVer,0x0101
0x5FFFEFE4,4,NKHWInfo.VectorMaskTable,0x01010100
0x5FFFEFE6,2,NKNanoKernelInfoLen,0x0100
0x5FFFEFE8,4,NKHWInfo.OpenPICBaseAddr,0x5FFFED80
0x5FFFEFEC,4,NKHWInfo.ISAMaster8259,0x01000100
0x5FFFEFF0,4,NKHWInfo.ISASlave8259,0x5FFFEC80
0x5FFFEFF0,4,NKSystemInfoPtr,0x5FFFEC80
0x5FFFEFF4,4,NKHWInfo.InterruptAck8259,0x01030100
0x5FFFEFF8,4,NKHWInfo.PendingInts0,0x5FFFEF80
0x5FFFEFFC,4,NKHWInfo.PendingInts1,0x01000040

0x5FFFF000,4,NKHWInfo.ADB_Base,0xA55A2258
0x5FFFF004,4,NKHWInfo.SCSI_DMA_Base,0xA55A2258
0x5FFFF046,2,NKHWInfo.CPU_ID,0x2258

Looks like there's still some issues in your output for DecoderInfo and NKHWInfo.
  • DecoderInfo and DecoderInfoHeader incorrectly overlap. DecoderInfoHeader should be 40 bytes before Decoder table. Many offsets in ProductInfo point to the middle of a record like DecoderInfoPtr.
  • NKHWInfo and NKSystemInfoPtr are overlapping which cannot be correct.
  • NKHWInfo.MacROM_Base and NKHWInfoPtr are the same address?
  • NKHWInfo.VectorLookupTable and NKNanoKernelInfoPtr are the same address?
  • NKHWInfo.VectorMaskTable overlaps NKNanoKernelInfoLen?
  • NKHWInfo.ISASlave8259 and NKSystemInfoPtr are the same?
  • It appears that every 32 bits in the 4K page at 0x5FFFF### returns 0xA55A2258. This is common for I/O - many addresses access the same hardware register since address decode doesn't use all address bits. Since this page is I/O and not RAM, it cannot be part of NKHWInfo.
According to your output, the hardware CPU ID of 0x2258 must be converted during startup into a ProductInfo CPU ID 0x3258. The ProductInfo in ROM (-> 0x20CC4) that has the CPU ID 0x3258 is chosen and stored to 0xDD8:
Code:
0x00000DD8,4,UnivInfoPtr,0x40820CC4
0x40820D1C,2,UnivInfo.cpuIDValue,0x3258

I think a similar transformation happens with the PDM hardware CPU ID 0x3010 -> Product Info CPU ID 0x3011. See GetCPUIDReg in the supermario source code.

I made some changes to Hex Fiend so that I can copy lables/values of a selected node or all nodes. I've attached sample output from the 5200/6200 ROM (use a large tab width to align the value column). I still need to add parsing for ImmgPrimPtr and IconInfoPtr. Search for 0x3258 to find the ProductInfo in the output.

I improved the "Show in Template" command in Hex Fiend so that it selects the template entry that has the smallest range that encompasses the byte that was right-clicked. Previously, it had a problem with multiple sections or nodes with discontiguous ranges that encompassed the same byte.
 

Attachments

Back
Top