@DATABASE Hardware Manual
@NODE MAIN "Amiga Hardware Reference Manual: D System Memory Maps"
@INDEX Hard_Index/MAIN
@TOC Hardware_Manual/MAIN
A true software memory map, showing system utilization of the various
sections of RAM and free space is not provided, nor possible with the
Amiga.

All memory is dynamically allocated by the memory manager at boot time,
and the actual locations of system structures may change from
release-to-release, machine-to-machine, or boot-to-boot (see the
AllocMem() function  in the exec.library for more details).

Likewise, Amiga applications are compiled in such a way that they can be
dynamically relocated at run time by the system loader.

To find the location of system structures, application software should use
the function interface provided in the operating system.  If this is not
possible then the address of a data structure should be obtained by
searching the lists of system structures maintained by Exec.  The first
step is to fetch the address of the exec.library from location 4; this is
the only absolute memory location in the system.  All other system data
structures are indirectly linked to this base address.

Though a detailed system memory map is not possible, this section does
present the general layout of memory areas within the current generation
of Amiga computers. To ensure maximum compatibility, avoid relying on the
address ranges given here.  Instead use the system provided interfaces to
ask for the system reources you need.

@{" A1000, A500 and A2000 Memory Map " link D-1}
@{" A3000 Memory Map " link D-2}

@ENDNODE

@NODE D-1 "D System Memory Maps / A1000, A500 and A2000 Memory Map"

Address Range           Description
-----------------       ------------------------------------------------
00 0000 - 03 FFFF       256K Chip RAM (A1000 Chip RAM,
                            1st 256K for A500/A2000)

04 0000 - 07 FFFF       256K bytes of Chip RAM (2nd 256K for A500/A2000)

08 0000 - 0F FFFF       512K @{" Extended chip RAM " link ADCD_v1.2:Reference_Library/Hardware/Hard_C/C-1-1} (to 1 MB for A2000).

10 0000 - 1F FFFF       Reserved. Do not use.

20 0000 - 9F FFFF       Primary @{" 8 MB Auto-config space " link ADCD_v1.2:Reference_Library/Hardware/Hard_K/K-2-1-2}.

A0 0000 - BE FFFF       Reserved. Do not use.

BF D000 - BF DF00       @{" 8520-B " link ADCD_v1.2:Reference_Library/Hardware/Hard_F/MAIN} (access at even-byte addresses only)
    -         -
BF E001 - BF EF01       @{" 8520-A " link ADCD_v1.2:Reference_Library/Hardware/Hard_F/MAIN} (access at odd-byte addresses only)
    -         -
                        The underlined digit chooses which of the
                        @{" 16 internal registers " link ADCD_v1.2:Reference_Library/Hardware/Hard_F/F-1} of the 8520 is to be
                        accessed.  See Appendix F.

C0 0000 - DF EFFF       Reserved.  Do not use.
   |
   | C0 0000 - D7 FFFF  Internal expansion (slow) memory (on some systems).
   |
   | D8 0000 - DB FFFF  Reserved.  Do not use.
   |
   | DC 0000 - DC FFFF  Real time clock (not accessable on all systems).
   |
   | DF F000 - DF FFFF  Chip registers.  See @{" Appendix A " link ADCD_v1.2:Reference_Library/Hardware/Hard_A/MAIN} and @{" Appendix B " link ADCD_v1.2:Reference_Library/Hardware/Hard_B/MAIN}.
   +--

E0 0000 - E7 FFFF       Reserved.  Do not use.

E8 0000 - E8 FFFF       @{" Auto-config space " link ADCD_v1.2:Reference_Library/Hardware/Hard_K/K-2-1-2}.  Boards appear here before
                        the system relocates them to their final address.

E9 0000 - EF FFFF       Secondary @{" auto-config space " link ADCD_v1.2:Reference_Library/Hardware/Hard_K/K-2-1-2} (usually 64K I/O
                        boards).

F0 0000 - FB FFFF       Reserved.  Do not use.

FC 0000 - FF FFFF       256K System ROM.



@ENDNODE

@NODE D-2 "D System Memory Maps / A3000 Memory Map"

Address Range				Description
-----------------------		-------------------------------
$0000 0000 - $001F FFFF		Amiga @{" Chip Memory " link ADCD_v1.2:Reference_Library/Hardware/Hard_C/C-1-1}

$0020 0000 - $009F 0000		@{" Zorro II Memory Expansion Space " link ADCD_v1.2:Reference_Library/Hardware/Hard_K/K-2-1-2}

$00A0 0000 - $00B7 FFFF		@{" Zorro II I/O Expansion Space " link ADCD_v1.2:Reference_Library/Hardware/Hard_K/K-2-1-2}


$00B8 0000 - $00BE FFFF		Reserved

$00BF 0000 - $00BF FFFF		@{" CIA Ports & Timers " link ADCD_v1.2:Reference_Library/Hardware/Hard_F/MAIN}


$00C0 0000 - $00C7 FFFF		Expansion Memory

$00C8 0000 - $00D7 FFFF		Reserved


$00D8 0000 - $00DB FFFF		Reserved

$00DC 0000 - $00DD FFFF		Memory Mapped Clock

$00DD 0000 - $00DE FFFF		SCSI Control

$00DE 0000 - $00DE FFFF		Motherboard Resources

$00DF 0000 - $00DF FFFF		Amiga @{" Chip Registers " link ADCD_v1.2:Reference_Library/Hardware/Hard_A/MAIN}


$00E0 0000 - $00E7 FFFF		Reserved

$00E8 0000 - $0EFF FFFF		@{" Zorro II I/O & Configuration " link ADCD_v1.2:Reference_Library/Hardware/Hard_K/K-2-1-2}

$00F0 0000 - $00F7 FFFF		Diagnostic ROM (Reserved)

$00F8 0000 - $00FF FFFF		High ROM (512K)


$0100 0000 - $03FF FFFF		Reserved

$0400 0000 - $07FF FFFF         Motherboard Fast RAM

$0800 0000 - $0FFF FFFF 	Coprocessor Slot Expansion

$1000 0000 - $7FFF FFFF		Zorro III Expansion


$8000 0000 - $FEFF FFFF		Reserved

$FF00 0000 - $FF00 FFFF		@{" Zorro III Configuration Unit " link ADCD_v1.2:Reference_Library/Hardware/Hard_K/K-8-1 31}

$FF01 0000 - $FFFF FFFF		Reserved


         32-BIT ADDRESS SPACE                HIGH MEMORY
            (4 GIGABYTES)                    (16 MBYTES)
 $FFFF FFFF  ____________ _ _ _
            |____________|_     $FFFF FFFF  ____________
            |            | \               |            |
            |            |                 |            |
            |            |   \            /            /
            |            |                \            \
            |            |    |            \            \
            |            |                  \            \
            |            |    |             /            /
            |            |                 |            |
            |  Reserved  |    |            |  Reserved  |
            |            |                 |            |
            |            |    | $FF01 0000 |------------|
            |            |                 |  Zorro III |
            |            |    |            |Config. Unit|
            |            |      $FF00 0000 |____________|
            |            |    |_ _ _
            |            |
            |            |
            |            |     _ _ _         LOW MEMORY
            |            |    |             (256 MBYTES)
 $8000 0000 |------------|      $0FFF FFFF  ____________
            |            |    |            |            |
            |            |                 |            |
            |            |    |            | Coprocessor|
            |            |                 |    Slot    |
            |            |    |            |  Expansion |
            |  Zorro III |                 |            |
            |  Expansion |    | $0800 0000 |------------|
            |            |                 | Motherboard|
            |            |   /             |  Fast RAM  |
            |            |      $0700 0000 |------------|
            |            | /               |            |
 $1000 0000 |------------|-                |  Reserved  |
            |            |                 |            |
            |            |      $0100 0000 |------------|- -    - -
            | Low Memory |                 |   24-bit   |   \  /
            |(256 MBytes)|                 |   Address  |    \/ (continued
            |            |                 |   Space    |    /\   below)
 $0000 0000 |____________|_ _ _ $0000 0000 |____________|_ _/  \_
                                                                    |

                   _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|
                  |

                  |
                               _ _ _     HIGH I/O REGISTERS
                  |           |
                                  $DF FFFF  ____________
                 \|/          |            |            |
                                           | Amiga Chips|
       (continued from above) |   $DF 0000 |------------|
                                           | Motherboard|
        24-BIT ADDRESS SPACE  |            |  Resources |
            (16 MBYTES)           $DE 0000 |------------|
 $00FF FFFF  ____________     |            |SCSI Control|
            |            |        $DD 0000 |------------|
            |  High ROM  |    |            |   Memory-  |
 $00F8 0000 |------------|                 |   mapped   |
            | Diagnostic |    |            |   clock    |
            |    ROM     |        $DC 0000 |------------|
 $00F0 0000 |------------|    |            |  Reserved  |
            |Zorro II I/O|        $DD 0000 |------------|
            | and config.|   /             |  Reserved  |
 $00E8 0000 |------------|        $DA 0000 |------------|
            |  Reserved  | /               |  Reserved  |
 $00E0 0000 |------------|-       $D9 0000 |------------|
            |  High I/O  |                 |  Reserved  |
            |  registers |        $D8 0000 |____________|
 $00D8 0000 |------------|- - - -
            |            |
            |  Reserved  |
            |            |
 $00C8 0000 |------------|
            | Ranger RAM |
 $00C0 0000 |------------|- - - -
            |   Low I/O  |        $BF FFFF  ____________
            |  registers |                 |            |
 $00B8 0000 |------------|-                | CIA Ports  |
            |            | \               | and Timers |
            |Zorro II I/O|        $BF 0000 |------------|
            | Expansion  |   \             |  Reserved  |
            |            |        $BE 0000 |------------|
 $00A0 0000 |------------|    |            |  Reserved  |
            |            |        $BD 0000 |------------|
            |  Zorro II  |    |            |  Reserved  |
            |   Memory   |        $BC 0000 |------------|
            | Expansion  |    |            |  Reserved  |
            |            |        $BB 0000 |------------|
 $0020 0000 |------------|    |            |  Reserved  |
            |  Standard  |        $BA 0000 |------------|
            |  Chip RAM  |    |            |  Reserved  |
            |   (Up to   |        $B9 0000 |------------|
            |  2 MBytes) |    |            |  Reserved  |
 $0000 0000 |____________|        $B8 0000 |____________|
                              |_ _ _


                 Figure D-1: Amiga 3000 Memory Map

@ENDNODE
