home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Developer CD v1.2
/
amidev_cd_12.iso
/
cd32
/
cd32_support
/
doc
/
writechunkypixels.doc
< prev
next >
Wrap
Text File
|
1993-10-18
|
4KB
|
87 lines
For your convenience, the autodoc for the new V40 WriteChunkyPixels
function is attached below. All CD32 developers should have the full
V40 OS for their development machine, and V40 autodocs, includes,
libs, and fd's. Archives of the V40 Workbench disks, V40 kickfiles,
and V40 development files may be downloaded from our closed
developer conferences on BIX (US), ADSP (Europe), and CIX (UK).
graphics.library/WriteChunkyPixels graphics.library/WriteChunkyPixels
NAME
WriteChunkyPixels -- write the pen number value of a rectangular array
of pixels starting at a specified x,y location and continuing
through to another x,y location within a certain RastPort. (V40)
SYNOPSIS
WriteChunkyPixels(rp,xstart,ystart,xstop,ystop,array,bytesperrow)
A0 D0 D1 D2 D3 A2 D4
VOID WriteChunkyPixels(struct RastPort *, LONG, LONG,
LONG, LONG, UBYTE *, LONG);
FUNCTION
For each pixel in a rectangular region, decode the pen number selector
from a linear array of pen numbers into the bit-planes used to describe
a particular rastport.
INPUTS
rp - pointer to a RastPort structure
(xstart,ystart) - starting point in the RastPort
(xstop,ystop) - stopping point in the RastPort
array - pointer to an array of UBYTEs from which to fetch the
pixel data.
bytesperrow - The number of bytes per row in the source array.
This should be at least as large as the number of pixels
being written per line.
RESULT
NOTE
xstop must be >= xstart
ystop must be >= ystart
The source array can be in fast RAM.
===chunky-to-planar conversion HW:
GfxBase->ChunkyToPlanarPtr is either NULL, or a pointer to a HW
register used to aid in the process of converting 8-bit chunky
pixel data into the bit-plane format used by the Amiga custom
display chips. If NULL, then such hardware is not present.
If an expansion device provides hardware which operates compatibly,
than it can install the HW address into this pointer at boot time,
and the system will use it.
This pointer may be used for direct access to the chunky-to-planar
conversion HW, if more is desired than the straight chunky-pixel
copy that is performed by WriteChunkyPixels().
If using the hardware directly, it should only be accessed when
the task using it has control of the blitter (via OwnBlitter()),
since this is the locking used to arbitrate usage of this device.
The hardware may be viewed as a device which accepts 32 8-bit
chunky pixels and outputs 8 longwords of bitplane data.
For proper operation, exactly 8 longwords (containing 32 pixels)
of chunky data should be written to *(GfxBase->ChunkyToPlanarPtr).
After the data is written, bitplane data (starting with plane 0)
can be read back a longword at a time. There is no need to read
back all 8 longwords if the high-order bitplanes are not needed.
Since WriteChunkyPixels is not (currently) particularly fast on
systems without the chunky-to-planar hardware, time critical
applications (games, etc) may want to use their own custom conversion
routine if GfxBase->ChunkyToPlanarPtr is NULL, and call
WriteChunkyPixels() otherwise.
This pointer is only present in GfxBase in versions of graphics.library
>= 40, so this should be checked before the pointer is read.
BUGS
Not very fast on systems without chunky-to-planar conversion
hardware.
SEE ALSO
WritePixel() graphics/rastport.h