After you set the number of bitplanes and specify resolution modes, you
are ready to allocate memory. A bitplane consists of an end-to-end
sequence of words at consecutive memory locations. When operating under
the Amiga operating system, use a system call such as AllocMem() to remove
a block of memory from the free list and make it available to the program.
A specialized allocation function named AllocRaster() in the
graphics.library is recommended for all bitplane allocations.
AllocRaster() will pad the allocation to properly align scan lines
for the hardware.
If the machine has been taken over, simply reserve an area of memory for
the bitplanes. Next, set the bitplane pointer registers ( BPLxPTH/BPLxPTL )
to point to the starting memory address of each bitplane you are using.
The starting address is the memory word that contains the bits of the
upper left-hand corner of the bitplane.
Tables 3-7 and 3-8 show how much memory is needed for basic playfield
modes under NTSC and PAL, respectively. You may need to balance your color
and resolution requirements against the amount of available memory you
have.
Table 3-7: Playfield Memory Requirements, NTSC
Number of Bytes
Picture Size Modes per Bitplane
------------ ----- ---------------
320 X 200 Low resolution, 8,000
non-interlaced
320 X 400 Low resolution, 16,000
interlaced
640 X 200 High resolution, 16,000
non-interlaced
640 X 400 High resolution, 32,000
interlaced
Keep in mind that the number of bytes you allocate for a bitplane must be
even.
Table 3-8: Playfield Memory Requirements, PAL
Number of Bytes
Picture Size Modes per Bitplane
------------ ----- ---------------
320 X 256 Low resolution, 8,192
non-interlaced
320 X 512 Low resolution, 16,384
interlaced
640 X 256 High resolution, 16,384
non-interlaced
640 X 512 High resolution, 32,768
interlaced
NTSC Example of Bitplane Size