dingusppc/zdocs/memorymaps.md

106 lines
3.5 KiB
Markdown
Raw Normal View History

2020-03-04 01:21:14 +00:00
# VIRTUAL MEMORY MAP
| Address | Area |
|:-------------:|:--------------------------------------:|
| 0x5FFFE000 | InfoRecord |
| 0x5FFFEFF0 | NKSystemInfo |
| 0x68000000 | Motorola 68K Emulator (0x100000 bytes) |
| 0x68060000 | Emulator Code |
| 0x68080000 | Opcode Dispatch Table |
| 0x68FFE000 | KernelData |
| 0x68FFF000 | EmulatorData |
| 0xFF800000 | Open Firmware |
2020-03-04 01:21:14 +00:00
| 0xFFF0C000 | HardwarePriv |
# PHYSICAL MEMORY MAP
## NuBus Power Macs
(Sourced Heavily from: http://mess.redump.net/mess/driver_info/mac_technical_notes)
|Starting Address|Ending Address| Area |
|:--------------:|:------------:|:----------------------------:|
| 0x00000000 | 0x3FFFFFFF | Main Memory |
| 0x40000000 | 0x4FFFFFFF | ROM Mirrors |
| 0x50000000 | 0x5FFFFFFF | IO Devices |
| 0x5FFFFFFC | | "cpuid", really a Machine ID |
| 0x60000000 | 0xEFFFFFFF | NuBus "super slot" space |
| 0xF1000000 | 0xFFBFFFFF | NuBus "standard slot" space |
| 0xFFC00000 | 0xFFFFFFFF | ROM |
### IO Bus
| Address | Area |
|:-------------:|:------------------:|
| 0x50F00000 | IO Base Address |
| 0x50F04000 | SCC |
| 0x50F14000 | Sound Chip (AWACS) |
| 0x50F24000 | CLUT Control |
| 0x50F28000 | Video Control |
| 0x50F2A000 | Interrupt Control |
2020-03-04 01:21:14 +00:00
## PCI Power Macs
### Main Memory
* 0x00000000 - 0x7FFFFFFF
Mac OS
* 0x00400000 - Open Firmware
2020-03-04 01:21:14 +00:00
### PCI/Device Memory Area 0x80000000 - 0xFF000000
2020-03-04 01:21:14 +00:00
* 0x81000000 - Video Display Device (normally)
2020-03-04 01:21:14 +00:00
* 0xF3000000 -
Mac OS I/O Device area
* 0xF3008000 - 0xF3008FFF - DMA Channels
* 0xF3008000 - SCSI DMA
* 0xF3008100 - Floppy DMA
* 0xF3008200 - Ethernet transmit DMA
* 0xF3008300 - Ethernet receive DMA
* 0xF3008400 - SCC channel A transmit DMA
* 0xF3008500 - SCC channel A receive DMA
* 0xF3008600 - SCC channel B transmit DMA
* 0xF3008700 - SCC channel B receive DMA
* 0xF3008800 - Audio out DMA
* 0xF3008900 - Audio in DMA
* 0xF3009000 - ATI Mach 64 video card
* 0xF3010000 - SCSI device registers (0x100 bytes)
* 0xF3011000 - MACE (serial) device registers (0x100 bytes)
* 0xF3012000 - SCC compatibility port (?) (0x100 bytes)
* 0xF3013000 - SCC MacRISC port (Serial for 0x20, then Modem for 0x20, with remaining 0xC0 unknown)
* 0xF3014000 - AWAC (Audio) chip device registers
* 0xF3015000 - SWIM3 (floppy controller) device registers
* 0xF3016000 - pseudo VIA1 device registers
* 0xF3017000 - pseudo VIA2 device registers
* 0xF3020000 - Heathrow ATA
* 0xF8000000 - Hammerhead memory controller registers (0x1000000 bytes)
* 0xFE010000 - 53C875 Hard Drive Controller
* 0xFE000000 - Grackle Low/Base
* 0xFEC00000 - Grackle CONFIG_ADDR (0x4 bytes, all redirected to 0xXXXXXCF8)
* 0xFEE00000 - Grackle CONFIG_DATA (0x4 bytes, all redirected to 0xXXXXXCFF)
### ROM / Misc Area (0xFF000000 - 0xFFFFFFFF)
* 0xFF000000 - ?
* 0xFF000004 - "cpuid", really a machine ID
* 0xFFC00000 - 0xFFFFFFFF
Mac OS ROM Area
* 0xFFC00000 - 0xFFEFFFFF - 68k Code Area
(below addresses apply to Old World ROMs)
* 0xFFF00100 - Reset Area (where the ROM begins executing)
* 0xFFF10000 - Nanokernel Code
* 0xFFF20000 - HW Init