Overview
In general, the maximum memory of all
Amiga systems mirrors the limitations of the
original hardware. As some applications and
system functions may fail when using more
RAM than was possible on the original Amiga
hardware (e.g. 2 MB Chip RAM or 128 MB of
Zorro III RAM), the original
configurations are set to avoid unsafe
settings, or to display a warning triangle
with an explanatory note in some cases.
Chip RAM
In accordance with the original
specifications, the Amiga Chip RAM is
limited to 2 MB on newer Amiga systems (AGA
chipset), and to 512 KB on early models (OCS
chipset).
Amiga Forever automatically replaces
custom chips as needed, if Chip RAM is set
to exceed the original specification.
Fast RAM
The maximum amount of Fast RAM is 8 MB on
all systems except the Amiga 3000 and Amiga
4000, where it is 64 MB. This is a special
case that is possible only with an emulated
environment, as the physical motherboards
could only be expanded by inserting memory
chips up to 16 MB.
On systems where Zorro III RAM can be
added, Fast RAM is generally not used, in
order to limit memory fragmentation.
However, if the goal is to maximize the
total amount of RAM, it is possible to use
Fast RAM and Zorro III RAM at the same time.
Zorro III (Z3) RAM
Beginning with the Amiga 3000, systems with a 68020 or higher
CPU featured the Zorro III bus, which made
it possible to attach 32-bit expansions to
the motherboard, replacing the 16-bit Zorro
II bus used in the Amiga 2000.
The total hardware memory space defined
by the Amiga Zorro III expansion bus
specification is 1792 MB. This is shared by RAM expansions, RTG
video memory, and other peripherals. If for
example an RTG display card has 128 MB of
video memory, that has to be subtracted from
the maximum address space.
The Amiga Autoconfig mechanism supports
Zorro III RAM expansion boards with memory
totals being an exact power of 2, between 64
KB and 1 GB. When a different value is set,
Amiga Forever generates the correct number
of boards to achieve the desired goal. Up to
four boards are added in this way, ordered
from largest to smallest to optimize
allocation in consideration of alignment
requirements (which may otherwise leave gaps
of unusable memory space).
On A-4000
class systems (e.g. Workbench 3.X, Amiga
4000, AROS and WHDLoad configurations), the
emulation can for example achieve 1.5 GB
Zorro III RAM by emulating two Zorro III
expansion boards (1024 MB + 512 MB), if
peripherals like the RTG video memory leave
room for it.
On the Edge: 1024 MB vs. 1792 MB
Originally, when physical RAM expansions
featured at most 128 MB, the address space
available to Zorro III expansion boards was
documented as being 1024 MB (1 GB, from
0x40000000 to 0x7FFFFFFF).
In an emulated environment, the entire
Zorro III address space (1792 MB) can be
configured. However, not all operating
systems and applications can make use of
this entire space.
On the software side, PowerPC-based operating systems like
AmigaOS 4.1 FE enforce the restriction
imposed by the original documentation,
ignoring any Zorro III boards (RAM or other
types) which fall
outside of the original 1 GB range.
Additionally, because memory is virtualized,
memory expansion boards need to be mapped
into the heap (i.e. memory set aside for
dynamic allocation), which is limited to 768
MB, including both Zorro III RAM expansion
boards and other types of memory (Chip RAM,
PowerPC RAM).
If you see Zorro
devices "disappear" after increasing the RAM
to more than 512 MB, it probably means that
the operating system does not support Zorro
expansion boards above the first GB of
address space, or RAM beyond the
768 MB heap address space.
Older
68K versions of the operating system do not
enforce the 1 GB limit, nor do they need to
work with virtual addresses and related heap
requirements. They therefore also support Zorro III
boards (RAM and other types) in the address space upwards of
0x80000000 (2 GB).
32-Bit vs. 64-Bit Host Environment
The process address space of the host
environment also has an impact on the
maximum contiguous memory that can be
allocated. On 32-bit versions of Windows the
maximum size of Zorro III RAM expansions may
be about 512 MB. On 64-bit versions of
Windows, the practical limit when using
32-bit versions of the emulation software
(which is the current default) may be about
1 GB or 1.5 GB.
In order to allocate the maximum Amiga
address space, Amiga Forever (7 and
newer) must be set to use the 64-bit version
of the emulation. This can be achieved by
setting the Use 64-bit version option in the
Emulation settings (under Tools/Options in
Amiga Forever).
In all cases, since the host environment's virtual memory functionality is
inherited, it is possible to emulate an Amiga having more RAM than is actually available
on the computer in which the emulation is run.
Related Links