!
!
! This True BASIC library file was generated automatically.
!

external

def BltBitMap(x8,x0,x1,x9,x2,x3,x4,x5,x6,x7,x10)
   call Packb(s$,1,32*12,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x2)
   call Packb(s$,129,32,x3)
   call Packb(s$,161,32,x4)
   call Packb(s$,193,32,x5)
   call Packb(s$,225,32,x6)
   call Packb(s$,257,32,x7)
   call Packb(s$,289,32,x8)
   call Packb(s$,321,32,x9)
   call Packb(s$,353,32,x10)
   call s_call(-30,2047,s$)
   let BltBitMap = Unpackb(s$,1,-32)
end def

def BltTemplate(x8,x0,x1,x9,x2,x3,x4,x5)
   call Packb(s$,1,32*9,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x2)
   call Packb(s$,129,32,x3)
   call Packb(s$,161,32,x4)
   call Packb(s$,193,32,x5)
   call Packb(s$,225,32,x8)
   call Packb(s$,257,32,x9)
   call s_call(-36,831,s$)
   let BltTemplate = Unpackb(s$,1,-32)
end def

def ClearEOL(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-42,512,s$)
   let ClearEOL = Unpackb(s$,1,-32)
end def

def ClearScreen(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-48,512,s$)
   let ClearScreen = Unpackb(s$,1,-32)
end def

def TextLength(x9,x8,x0)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x8)
   call Packb(s$,97,32,x9)
   call s_call(-54,769,s$)
   let TextLength = Unpackb(s$,1,-32)
end def

def Text(x9,x8,x0)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x8)
   call Packb(s$,97,32,x9)
   call s_call(-60,769,s$)
   let Text = Unpackb(s$,1,-32)
end def

def SetFont(x9,x8)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call s_call(-66,768,s$)
   let SetFont = Unpackb(s$,1,-32)
end def

def OpenFont(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-72,256,s$)
   let OpenFont = Unpackb(s$,1,-32)
end def

def CloseFont(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-78,512,s$)
   let CloseFont = Unpackb(s$,1,-32)
end def

def AskSoftStyle(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-84,512,s$)
   let AskSoftStyle = Unpackb(s$,1,-32)
end def

def SetSoftStyle(x9,x0,x1)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x9)
   call s_call(-90,515,s$)
   let SetSoftStyle = Unpackb(s$,1,-32)
end def

def AddBob(x8,x9)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call s_call(-96,768,s$)
   let AddBob = Unpackb(s$,1,-32)
end def

def AddVSprite(x8,x9)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call s_call(-102,768,s$)
   let AddVSprite = Unpackb(s$,1,-32)
end def

def DoCollision(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-108,512,s$)
   let DoCollision = Unpackb(s$,1,-32)
end def

def DrawGList(x9,x8)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call s_call(-114,768,s$)
   let DrawGList = Unpackb(s$,1,-32)
end def

def InitGels(x8,x9,x10)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call Packb(s$,97,32,x10)
   call s_call(-120,1792,s$)
   let InitGels = Unpackb(s$,1,-32)
end def

def InitMasks(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-126,256,s$)
   let InitMasks = Unpackb(s$,1,-32)
end def

def RemIBob(x8,x9,x10)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call Packb(s$,97,32,x10)
   call s_call(-132,1792,s$)
   let RemIBob = Unpackb(s$,1,-32)
end def

def RemVSprite(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-138,256,s$)
   let RemVSprite = Unpackb(s$,1,-32)
end def

def SetCollision(x0,x8,x9)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x8)
   call Packb(s$,97,32,x9)
   call s_call(-144,769,s$)
   let SetCollision = Unpackb(s$,1,-32)
end def

def SortGList(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-150,512,s$)
   let SortGList = Unpackb(s$,1,-32)
end def

def AddAnimOb(x8,x9,x10)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call Packb(s$,97,32,x10)
   call s_call(-156,1792,s$)
   let AddAnimOb = Unpackb(s$,1,-32)
end def

def Animate(x8,x9)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call s_call(-162,768,s$)
   let Animate = Unpackb(s$,1,-32)
end def

def GetGBuffers(x8,x9,x0)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x8)
   call Packb(s$,97,32,x9)
   call s_call(-168,769,s$)
   let GetGBuffers = Unpackb(s$,1,-32)
end def

def InitGMasks(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-174,256,s$)
   let InitGMasks = Unpackb(s$,1,-32)
end def

def LoadRGB4(x8,x9,x0)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x8)
   call Packb(s$,97,32,x9)
   call s_call(-192,769,s$)
   let LoadRGB4 = Unpackb(s$,1,-32)
end def

def InitRastPort(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-198,512,s$)
   let InitRastPort = Unpackb(s$,1,-32)
end def

def InitVPort(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-204,256,s$)
   let InitVPort = Unpackb(s$,1,-32)
end def

def MrgCop(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-210,512,s$)
   let MrgCop = Unpackb(s$,1,-32)
end def

def MakeVPort(x8,x9)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call s_call(-216,768,s$)
   let MakeVPort = Unpackb(s$,1,-32)
end def

def LoadView(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-222,512,s$)
   let LoadView = Unpackb(s$,1,-32)
end def

def WaitBlit
   call Packb(s$,1,32,8)
   call s_call(-228,0,s$)
   let WaitBlit = Unpackb(s$,1,-32)
end def

def SetRast(x9,x0)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x9)
   call s_call(-234,513,s$)
   let SetRast = Unpackb(s$,1,-32)
end def

def Move(x9,x0,x1)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x9)
   call s_call(-240,515,s$)
   let Move = Unpackb(s$,1,-32)
end def

def Draw(x9,x0,x1)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x9)
   call s_call(-246,515,s$)
   let Draw = Unpackb(s$,1,-32)
end def

def AreaMove(x9,x0,x1)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x9)
   call s_call(-252,515,s$)
   let AreaMove = Unpackb(s$,1,-32)
end def

def AreaDraw(x9,x0,x1)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x9)
   call s_call(-258,515,s$)
   let AreaDraw = Unpackb(s$,1,-32)
end def

def AreaEnd(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-264,512,s$)
   let AreaEnd = Unpackb(s$,1,-32)
end def

def WaitTOF
   call Packb(s$,1,32,8)
   call s_call(-270,0,s$)
   let WaitTOF = Unpackb(s$,1,-32)
end def

def QBlit(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-276,512,s$)
   let QBlit = Unpackb(s$,1,-32)
end def

def InitArea(x8,x9,x0)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x8)
   call Packb(s$,97,32,x9)
   call s_call(-282,769,s$)
   let InitArea = Unpackb(s$,1,-32)
end def

def SetRGB4(x8,x0,x1,x2,x3)
   call Packb(s$,1,32*6,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x2)
   call Packb(s$,129,32,x3)
   call Packb(s$,161,32,x8)
   call s_call(-288,271,s$)
   let SetRGB4 = Unpackb(s$,1,-32)
end def

def QBSBlit(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-294,512,s$)
   let QBSBlit = Unpackb(s$,1,-32)
end def

def BltClear(x9,x0,x1)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x9)
   call s_call(-300,515,s$)
   let BltClear = Unpackb(s$,1,-32)
end def

def RectFill(x9,x0,x1,x2,x3)
   call Packb(s$,1,32*6,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x2)
   call Packb(s$,129,32,x3)
   call Packb(s$,161,32,x9)
   call s_call(-306,527,s$)
   let RectFill = Unpackb(s$,1,-32)
end def

def BltPattern(x9,x8,x0,x1,x2,x3,x4)
   call Packb(s$,1,32*8,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x2)
   call Packb(s$,129,32,x3)
   call Packb(s$,161,32,x4)
   call Packb(s$,193,32,x8)
   call Packb(s$,225,32,x9)
   call s_call(-312,799,s$)
   let BltPattern = Unpackb(s$,1,-32)
end def

def ReadPixel(x9,x0,x1)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x9)
   call s_call(-318,515,s$)
   let ReadPixel = Unpackb(s$,1,-32)
end def

def WritePixel(x9,x0,x1)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x9)
   call s_call(-324,515,s$)
   let WritePixel = Unpackb(s$,1,-32)
end def

def Flood(x9,x2,x0,x1)
   call Packb(s$,1,32*5,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x2)
   call Packb(s$,129,32,x9)
   call s_call(-330,519,s$)
   let Flood = Unpackb(s$,1,-32)
end def

def PolyDraw(x9,x0,x8)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x8)
   call Packb(s$,97,32,x9)
   call s_call(-336,769,s$)
   let PolyDraw = Unpackb(s$,1,-32)
end def

def SetAPen(x9,x0)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x9)
   call s_call(-342,513,s$)
   let SetAPen = Unpackb(s$,1,-32)
end def

def SetBPen(x9,x0)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x9)
   call s_call(-348,513,s$)
   let SetBPen = Unpackb(s$,1,-32)
end def

def SetDrMd(x9,x0)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x9)
   call s_call(-354,513,s$)
   let SetDrMd = Unpackb(s$,1,-32)
end def

def InitView(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-360,512,s$)
   let InitView = Unpackb(s$,1,-32)
end def

def CBump(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-366,512,s$)
   let CBump = Unpackb(s$,1,-32)
end def

def CMove(x9,x0,x1)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x9)
   call s_call(-372,515,s$)
   let CMove = Unpackb(s$,1,-32)
end def

def CWait(x9,x0,x1)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x9)
   call s_call(-378,515,s$)
   let CWait = Unpackb(s$,1,-32)
end def

def VBeamPos
   call Packb(s$,1,32,8)
   call s_call(-384,0,s$)
   let VBeamPos = Unpackb(s$,1,-32)
end def

def InitBitMap(x8,x0,x1,x2)
   call Packb(s$,1,32*5,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x2)
   call Packb(s$,129,32,x8)
   call s_call(-390,263,s$)
   let InitBitMap = Unpackb(s$,1,-32)
end def

def ScrollRaster(x9,x0,x1,x2,x3,x4,x5)
   call Packb(s$,1,32*8,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x2)
   call Packb(s$,129,32,x3)
   call Packb(s$,161,32,x4)
   call Packb(s$,193,32,x5)
   call Packb(s$,225,32,x9)
   call s_call(-396,575,s$)
   let ScrollRaster = Unpackb(s$,1,-32)
end def

def WaitBOVP(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-402,256,s$)
   let WaitBOVP = Unpackb(s$,1,-32)
end def

def GetSprite(x8,x0)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x8)
   call s_call(-408,257,s$)
   let GetSprite = Unpackb(s$,1,-32)
end def

def FreeSprite(x0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call s_call(-414,1,s$)
   let FreeSprite = Unpackb(s$,1,-32)
end def

def ChangeSprite(x8,x9,x10)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call Packb(s$,97,32,x10)
   call s_call(-420,1792,s$)
   let ChangeSprite = Unpackb(s$,1,-32)
end def

def MoveSprite(x8,x9,x0,x1)
   call Packb(s$,1,32*5,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x8)
   call Packb(s$,129,32,x9)
   call s_call(-426,771,s$)
   let MoveSprite = Unpackb(s$,1,-32)
end def

def LockLayerRom(x13)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x13)
   call s_call(-432,8192,s$)
   let LockLayerRom = Unpackb(s$,1,-32)
end def

def UnlockLayerRom(x13)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x13)
   call s_call(-438,8192,s$)
   let UnlockLayerRom = Unpackb(s$,1,-32)
end def

def SyncSBitMap(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-444,256,s$)
   let SyncSBitMap = Unpackb(s$,1,-32)
end def

def CopySBitMap(x8,x9)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call s_call(-450,768,s$)
   let CopySBitMap = Unpackb(s$,1,-32)
end def

def OwnBlitter
   call Packb(s$,1,32,8)
   call s_call(-456,0,s$)
   let OwnBlitter = Unpackb(s$,1,-32)
end def

def DisownBlitter
   call Packb(s$,1,32,8)
   call s_call(-462,0,s$)
   let DisownBlitter = Unpackb(s$,1,-32)
end def

def InitTmpRas(x8,x9,x0)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x8)
   call Packb(s$,97,32,x9)
   call s_call(-468,769,s$)
   let InitTmpRas = Unpackb(s$,1,-32)
end def

def AskFont(x9,x8)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call s_call(-474,768,s$)
   let AskFont = Unpackb(s$,1,-32)
end def

def AddFont(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-480,512,s$)
   let AddFont = Unpackb(s$,1,-32)
end def

def RemFont(x9)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x9)
   call s_call(-486,512,s$)
   let RemFont = Unpackb(s$,1,-32)
end def

def AllocRaster(x0,x1)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call s_call(-492,3,s$)
   let AllocRaster = Unpackb(s$,1,-32)
end def

def FreeRaster(x8,x0,x1)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x8)
   call s_call(-498,259,s$)
   let FreeRaster = Unpackb(s$,1,-32)
end def

def AndRectRegion(x8,x9)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call s_call(-504,768,s$)
   let AndRectRegion = Unpackb(s$,1,-32)
end def

def OrRectRegion(x8,x9)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call s_call(-510,768,s$)
   let OrRectRegion = Unpackb(s$,1,-32)
end def

def NewRegion
   call Packb(s$,1,32,8)
   call s_call(-516,0,s$)
   let NewRegion = Unpackb(s$,1,-32)
end def

def NotRegion(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-522,256,s$)
   let NotRegion = Unpackb(s$,1,-32)
end def

def ClearRegion(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-528,256,s$)
   let ClearRegion = Unpackb(s$,1,-32)
end def

def DisposeRegion(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-534,256,s$)
   let DisposeRegion = Unpackb(s$,1,-32)
end def

def FreeVPortCopLists(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-540,256,s$)
   let FreeVPortCopLists = Unpackb(s$,1,-32)
end def

def FreeCopList(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-546,256,s$)
   let FreeCopList = Unpackb(s$,1,-32)
end def

def ClipBlit(x8,x0,x1,x9,x2,x3,x4,x5,x6)
   call Packb(s$,1,32*10,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x2)
   call Packb(s$,129,32,x3)
   call Packb(s$,161,32,x4)
   call Packb(s$,193,32,x5)
   call Packb(s$,225,32,x6)
   call Packb(s$,257,32,x8)
   call Packb(s$,289,32,x9)
   call s_call(-552,895,s$)
   let ClipBlit = Unpackb(s$,1,-32)
end def

def XorRectRegion(x8,x9)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call Packb(s$,65,32,x9)
   call s_call(-558,768,s$)
   let XorRectRegion = Unpackb(s$,1,-32)
end def

def FreeCprList(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-564,256,s$)
   let FreeCprList = Unpackb(s$,1,-32)
end def

def GetColorMap(x0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call s_call(-570,1,s$)
   let GetColorMap = Unpackb(s$,1,-32)
end def

def FreeColorMap(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-576,256,s$)
   let FreeColorMap = Unpackb(s$,1,-32)
end def

def GetRGB4(x8,x0)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x8)
   call s_call(-582,257,s$)
   let GetRGB4 = Unpackb(s$,1,-32)
end def

def ScrollVPort(x8)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x8)
   call s_call(-588,256,s$)
   let ScrollVPort = Unpackb(s$,1,-32)
end def

def UCopperListInit(x8,x0)
   call Packb(s$,1,32*3,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x8)
   call s_call(-594,257,s$)
   let UCopperListInit = Unpackb(s$,1,-32)
end def

def FreeGBuffers(x8,x9,x0)
   call Packb(s$,1,32*4,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x8)
   call Packb(s$,97,32,x9)
   call s_call(-600,769,s$)
   let FreeGBuffers = Unpackb(s$,1,-32)
end def

def BltBitMapRastPort(x8,x0,x1,x9,x2,x3,x4,x5,x6)
   call Packb(s$,1,32*10,0)
   call Packb(s$,1,32,8)
   call Packb(s$,33,32,x0)
   call Packb(s$,65,32,x1)
   call Packb(s$,97,32,x2)
   call Packb(s$,129,32,x3)
   call Packb(s$,161,32,x4)
   call Packb(s$,193,32,x5)
   call Packb(s$,225,32,x6)
   call Packb(s$,257,32,x8)
   call Packb(s$,289,32,x9)
   call s_call(-606,895,s$)
   let BltBitMapRastPort = Unpackb(s$,1,-32)
end def

!
!
! The following routines were hand-coded.  They represent functions
! from the include files "gfxmacros.h", "gfx.h" and "gels.h".  The 
! functions CINIT, CMOVE, CWAIT and CEND have been left out.
!

def ON_DISPLAY
   call pokew(14675968+150,32768+256) ! BITSET | DMAF_RASTER
end def

def OFF_DISPLAY
   call pokew(14675968+150,256) ! DMAF_RASTER
end def

def ON_SPRITE
   call pokew(14675968+150,32768+32) ! BITSET | DMAF_SPRITE
end def

def OFF_SPRITE
   call pokew(14675968+150,32) ! DMAF_SPRITE
end def

def ON_VBLANK
   call pokew(14675968+154,32768+32) ! BITSET | INTF_VERTB
end def

def OFF_VBLANK
   call pokew(14675968+154,32) ! INTF_VERTB
end def

def SetOPen(w,c) ! RastPort, Color
   declare def upeekw
   call pokeb(w+27,c)
   let flags = upeekw(w+32)
   if mod(flags,16) < 8 then let flags = flags + 8
   call pokew(w+32,flags)
end def

def SetDrPt(w,p) ! RastPort, 16-bit line pattern
   declare def upeekw
   call pokew(w+34,p)
   let flags = upeekw(w+32)
   if mod(flags,2) < 1 then let flags = flags + 1
   call pokew(w+32,flags)
end def

def SetWrMsk(w,m) ! RastPort, 8-bit write mask
   call pokeb(w+24,m)
end def

def SetAfPt(w,p,n) ! RastPort, pointer to area pattern, log2 pattern size
   call pokel(w+8,p)
   call pokeb(w+29,n) 
end def

def BNDRYOFF(w) ! RastPort
   declare def upeekw
   let flags = upeekw(w+32)
   if mod(flags,16) >= 8 then let flags = flags - 8
   call pokew(w+32,flags)
end def

def InitAnimate(animKey) ! pointer to pointer to first AnimOb
   call pokel(animKey,0)
end def

def RemBob(b) ! pointer to Bob
   declare def upeekb
   let flags = upeekb(b)
   if mod(flags,8) < 4 then let flags = flags + 4
   call pokeb(b,flags)
end def

def RASSIZE(w,h) ! integer pixel width, height
   call divide(w+15,8,d,r)
   if mod(d,2) = 1 then let d = d - 1
   let RASSIZE = h*d
end def
