#ifndef PPC

#include <exec/types.h>
#include <inline/stubs.h>

/*
	PRH:

	GCC has problems with functions that have a large number of registerised
	parameters.  This file is just a quick hack to get things to work
	correctly.
*/

extern struct Library *CyberGfxBase;

ULONG WritePixelArray(APTR srcRect, UWORD SrcX, UWORD SrcY, UWORD SrcMod, struct RastPort *RastPort, UWORD DestX, UWORD DestY, UWORD SizeX, UWORD SizeY, UBYTE SrcFormat)
{
   register ULONG res __asm("d0");
   register struct Library *a6 __asm("a6") = CyberGfxBase;
   register APTR a0 __asm("a0") = srcRect;
   register UWORD d0 __asm("d0") = SrcX;
   register UWORD d1 __asm("d1") = SrcY;
   register UWORD d2 __asm("d2") = SrcMod;
   register struct RastPort *a1 __asm("a1") = RastPort;
   register UWORD d3 __asm("d3") = DestX;
   register UWORD d4 __asm("d4") = DestY;
   register UWORD d5 __asm("d5") = SizeX;
   register UWORD d6 __asm("d6") = SizeY;
   register UBYTE d7 __asm("d7") = SrcFormat;
   __asm volatile ("jsr a6@(-0x7e:W)"
   : "=r" (res)
   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (a1), "r" (d3), "r" (d4), "r" (d5), "r" (d6), "r" (d7)
   : "d0", "d1", "a0", "a1", "fp0", "fp1", "cc", "memory");
   return res;
}

#endif
