Difference between revisions of "Amiga memory map"

From Amiga Coding
Jump to: navigation, search
(Memory map)
(Memory map)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
==Standard amount of memory in the Amiga==
 
==Standard amount of memory in the Amiga==
* Amiga 1000 - 256KB chip RAM
+
{| class="wikitable"
* Amiga 500 - 512KB chip RAM
+
|-
* Amiga 500+ - 1MB chip RAM
+
! Model
* Amiga 2000 - 512KB chip RAM, later 1MB chip RAM
+
! Chip RAM
* Amiga 3000 - 1-2MB chip RAM, 1MB fast RAM
+
! Fast RAM
* Amiga 600 - 1MB chip RAM
+
! Kickstart ROM
* Amiga 1200 - 2MB chip RAM
+
|-
* Amiga 4000 - 2MB chip RAM, 2-4MB fast RAM
+
| Amiga 1000
 +
| 256KB
 +
| None
 +
| 256KB
 +
|-
 +
| Amiga 500
 +
| 512KB
 +
| None
 +
| 256KB
 +
|-
 +
| Amiga 500+
 +
| 1MB
 +
| None
 +
| 512KB
 +
|-
 +
| Amiga 2000
 +
| 512KB, later 1MB
 +
| None
 +
| 256KB
 +
|-
 +
| Amiga 3000
 +
| 1-2MB
 +
| 1MB
 +
| 512KB
 +
|-
 +
| Amiga 600
 +
| 1MB
 +
| None
 +
| 512KB
 +
|-
 +
| Amiga 1200
 +
| 2MB
 +
| None
 +
| 512KB
 +
|-
 +
| Amiga 4000
 +
| 2MB
 +
| 2-4MB
 +
| 512KB
 +
|}
  
 
==Memory map==
 
==Memory map==
 +
Note: Models that are based on the same map are not listed, e.g. CDTV is based on A500 architecture, and the A1500 & A2500 are variations on the A2000. Where differences exist they are specified in brackets.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 66: Line 106:
 
|-
 
|-
 
| A80000-BEFFFF
 
| A80000-BEFFFF
| 1471KB
+
| 1472KB
 
| colspan="7" | Reserved
 
| colspan="7" | Reserved
 
|-
 
|-
 
| BF0000-BFFFFF
 
| BF0000-BFFFFF
 
| 64KB
 
| 64KB
| CIAs
+
| [[CIA Memory Map|CIAs]]
| colspan="7" | 8520 CIAs and timers
+
| colspan="7" | [[CIA Memory Map|8520 CIAs and timers]]
 
|-
 
|-
 
| C00000-C7FFFF
 
| C00000-C7FFFF
Line 90: Line 130:
 
| colspan="4" | Reserved
 
| colspan="4" | Reserved
 
|-
 
|-
| D80000-D9FFFF
+
| D80000-D8FFFF
| 128KB
+
| 64KB
| rowspan="2" | Reserved
+
| rowspan="3" | Reserved
| colspan="7" | Reserved
+
| colspan="3" | Reserved
 +
| Reserved (Selected by SPARE_CS)
 +
| [[Clock Port]] (Selected by SPARE_CS)
 +
| colspan="2" | Reserved
 +
|-
 +
| D90000-D9FFFF
 +
| 64KB
 +
| colspan="3" | Reserved
 +
| colspan="2" | Reserved (Selected by NET_CS)
 +
| colspan="2" | Reserved
 
|-
 
|-
 
| DA0000-DBFFFF
 
| DA0000-DBFFFF
Line 103: Line 152:
 
| DC0000-DCFFFF
 
| DC0000-DCFFFF
 
| 64KB
 
| 64KB
| Clock port
+
| Real Time Clock
| colspan="7" | Real time clock / Clock port
+
| colspan="7" | Real time clock (RTC)
 
|-
 
|-
 
| DD0000-DD0FFF
 
| DD0000-DD0FFF
Line 123: Line 172:
 
| DE0000-DEFFFF
 
| DE0000-DEFFFF
 
| 64KB
 
| 64KB
| colspan="7" | Custom chip registers and mainboard resources
+
| colspan="7" | Mainboard resources
 
|-
 
|-
 
| DF0000-DFFFFF
 
| DF0000-DFFFFF
 
| 64KB
 
| 64KB
| colspan="7" | Custom chip registers
+
| colspan="7" | [[Custom Chip Registers|Custom chip registers]]
 
|-
 
|-
 
| E00000-E7FFFF
 
| E00000-E7FFFF

Latest revision as of 12:24, 6 June 2017

Standard amount of memory in the Amiga

Model Chip RAM Fast RAM Kickstart ROM
Amiga 1000 256KB None 256KB
Amiga 500 512KB None 256KB
Amiga 500+ 1MB None 512KB
Amiga 2000 512KB, later 1MB None 256KB
Amiga 3000 1-2MB 1MB 512KB
Amiga 600 1MB None 512KB
Amiga 1200 2MB None 512KB
Amiga 4000 2MB 2-4MB 512KB

Memory map

Note: Models that are based on the same map are not listed, e.g. CDTV is based on A500 architecture, and the A1500 & A2500 are variations on the A2000. Where differences exist they are specified in brackets.

Address Range Size Category Function
A1000 A500 / 2000 A500+ A600 A1200 A3000 A4000
000000-03FFFF 256KB Chip RAM First 256KB of chip RAM
040000-07FFFF 256KB 256KB chip RAM expansion card Second 256KB of chip RAM (to 512KB)
080000-0FFFFF 512KB Reserved 512KB chip RAM expansion card (A500 trapdoor) Second 512KB of chip RAM (to 1MB)
100000-1FFFFF 1MB Reserved 1MB chip RAM expansion card Second 1MB of chip RAM (to 2MB)
200000-5FFFFF 4MB Zorro-II space First 4 MB Auto-config space / Fast RAM
600000-9FFFFF 4MB Second 4 MB Auto-config space / Fast RAM PCMCIA memory card / Fast RAM Second 4 MB Auto-config space / Fast RAM
A00000-A7FFFF 512KB Reserved Reserved PCMCIA control registers Reserved
A80000-BEFFFF 1472KB Reserved
BF0000-BFFFFF 64KB CIAs 8520 CIAs and timers
C00000-C7FFFF 512KB Slow-fast RAM Reserved Pseudo-fast RAM Reserved Chip register shadow
C80000-CFFFFF 512KB Reserved for pseudo-fast RAM
D00000-D7FFFF 512KB Reserved
D80000-D8FFFF 64KB Reserved Reserved Reserved (Selected by SPARE_CS) Clock Port (Selected by SPARE_CS) Reserved
D90000-D9FFFF 64KB Reserved Reserved (Selected by NET_CS) Reserved
DA0000-DBFFFF 128KB Reserved IDE controller Reserved
DC0000-DCFFFF 64KB Real Time Clock Real time clock (RTC)
DD0000-DD0FFF 4KB Reserved Reserved SCSI controller SCSI controller
DD1000-DD3FFF 12KB IDE controller
DD4000-DDFFFF 48KB Reserved
DE0000-DEFFFF 64KB Mainboard resources
DF0000-DFFFFF 64KB Custom chip registers
E00000-E7FFFF 512KB Reserved Reserved for first 512KB of 1MB system ROM Reserved
E80000-E8FFFF 64KB Auto-config space. Boards appear here before the system relocates them to their final address.
E90000-EFFFFF 448KB Secondary auto-config space (usually 64K I/O boards)
F00000-F7FFFF 512KB Extended ROM Reserved Extended ROM (CDTV) Reserved Flash ROM / Extended ROM (CD32) Diagnostic ROM
F80000-FBFFFF 256KB Kickstart ROM Reserved System ROM
FC0000-FFFFFF 256KB System ROM
32-bit Addresses
01000000 - 03FFFFFF 48MB Reserved N/A Reserved
04000000-06FFFFFF 48MB Fast RAM Reserved for motherboard RAM expansion
07000000-07FFFFFF 16MB Motherboard RAM
08000000-0FFFFFFF 128MB CPU slot expansion
10000000-7FFFFFFF 1792MB Zorro-III space Zorro-III expansion space
80000000-FEFFFFFF 2032MB Reserved Reserved
FF000000-FF00FFFF 64KB Zorro-III config space
FF010000-FFFFFFFF 16320KB Reserved

Note that various modifications and third party hardware can change the details of this map, particularly those expansions that add additional addressing capabilities, e.g. 32-bit accelerators in A1200s, 2MB chip RAM modifications in A500s etc.

Some special addresses:
* 000000-000100 - MC680x0 Exception Vector Assignment table  (if VBR=0)
* 000004        - Exec base (pointer to exec.library jumptable) 

Sources for this info

  • Amiga Hardware Reference Manual (1986)
  • M68000 Programmer's Reference Manual (1984,fourth edition)
  • amiga-hardware.com (for standard amount of memory)