| I don't own an Amiga, but I have done a little reading, and will hazard
to put forth my understanding of the 512k limitation.
The display processing of the Amiga is handled by custom chips which
make up a graphics co-processor and free the 68000 to do more useful
things. The 68000 and the graphics co-processor communicate via shared
memory. Typically, the 68000 will construct a data structure (like
sprite info) and signal the co-processor where to find the data structure
and what to do with it.
The custom chips that make up the graphics co-processor can only address
512k of memory, the first 512k of memory. Because of this, the first
512k of Amiga memory is sometimes called the "chip memory," since the
68000 shares it with the custom chips.
Amiga DOS does support programs that allocate memory for bitplanes
and other display data structures. The standard system memory allocation
routine takes an argument that can be used to force memory to be allocated
from the chip memory, instead of just anywhere in the Amiga's 8meg address
space. There is also a tool called ATOM which, I think, can restrict the
data segments of a program to be loaded into chip memory whenever the
program is run.
Well, what does this mean to you as a BASIC programmer? I would guess,
not much. As long as you use the built-in BASIC commands to manipulate
the screen, I would hope that BASIC would take care of everything for
you. You should only have to worry if you plan on using the low level
display libraries to take direct control over the display.
For more information, try looking in the new technical manuals on sale
at a bookstore near you. I found out most of what I know by looking up
"chip memory" in the index of the Intuition Reference Manual.
Since the 512k limitation is on graphics data, I don't believe that the
stack or the heap need to be in the first 512k.
|