#ifndef _INCLUDE_PRAGMA_GAMES_LIB_H
#define _INCLUDE_PRAGMA_GAMES_LIB_H

#ifndef CLIB_GAMES_PROTOS_H
#include <clib/games_protos.h>
#endif

#if defined(AZTEC_C) || defined(__MAXON__) || defined(__STORM__)
#pragma amicall(GMSBase,0x01E,Init_GPI(d0))
#pragma amicall(GMSBase,0x024,Remove_GPI(d0))
#pragma amicall(GMSBase,0x02A,InitJoyPorts())
#pragma amicall(GMSBase,0x030,Read_Mouse(d0))
#pragma amicall(GMSBase,0x036,Read_JoyPort(d0,d1))
#pragma amicall(GMSBase,0x03C,Read_JoyStick(d0))
#pragma amicall(GMSBase,0x042,Read_JoyPad(d0))
#pragma amicall(GMSBase,0x048,Read_SegaPad(d0))
#pragma amicall(GMSBase,0x04E,Read_Analogue(d0))
#pragma amicall(GMSBase,0x054,Read_Key(a1))
#pragma amicall(GMSBase,0x05A,FastRandom(d1))
#pragma amicall(GMSBase,0x060,SlowRandom(d1))
#pragma amicall(GMSBase,0x066,Wait_LMB())
#pragma amicall(GMSBase,0x06C,Wait_Fire(d0))
#pragma amicall(GMSBase,0x072,Wait_Time(d0))
#pragma amicall(GMSBase,0x078,Add_InputHandler())
#pragma amicall(GMSBase,0x07E,Rem_InputHandler())
#pragma amicall(GMSBase,0x084,Add_Interrupt(a0,d0,d1))
#pragma amicall(GMSBase,0x08A,Rem_Interrupt(a0))
#pragma amicall(GMSBase,0x090,SmartLoad(a0,a1,d0,d1))
#pragma amicall(GMSBase,0x096,QuickLoad(a0,a1,d0))
#pragma amicall(GMSBase,0x09C,SmartUnpack(a0,a1,d0,d1))
#pragma amicall(GMSBase,0x0A2,SmartSave(a0,a1,d0))
#pragma amicall(GMSBase,0x0A8,SetUserPrefs(a0))
#pragma amicall(GMSBase,0x0AE,GetPicInfo(a0,a1))
#pragma amicall(GMSBase,0x0B4,UnpackPic(a0,a1))
#pragma amicall(GMSBase,0x0BA,LoadPic(a1))
#pragma amicall(GMSBase,0x0C0,AllocMemBlock(d0,d1))
#pragma amicall(GMSBase,0x0C6,FreeMemBlock(d0))
#pragma amicall(GMSBase,0x0CC,FreePic(a1))
#pragma amicall(GMSBase,0x17A,Add_Screen(a0))
#pragma amicall(GMSBase,0x180,Delete_Screen(a0))
#pragma amicall(GMSBase,0x186,Show_Screen(a0))
#pragma amicall(GMSBase,0x18C,Hide_Screen())
#pragma amicall(GMSBase,0x192,ReturnToOS())
#pragma amicall(GMSBase,0x198,AutoOSReturn())
#pragma amicall(GMSBase,0x19E,SwapBuffers(a0))
#pragma amicall(GMSBase,0x1A4,Wait_VBL())
#pragma amicall(GMSBase,0x1AA,Wait_OSVBL())
#pragma amicall(GMSBase,0x1B0,Wait_ORVBL())
#pragma amicall(GMSBase,0x1B6,Wait_RastLine(d0))
#pragma amicall(GMSBase,0x1BC,Refresh_Screen(a0))
#pragma amicall(GMSBase,0x1C2,Remake_Screen(a0))
#pragma amicall(GMSBase,0x1C8,Move_Picture(a0))
#pragma amicall(GMSBase,0x1CE,Reset_Picture(a0))
#pragma amicall(GMSBase,0x1D4,UpdatePalette(a0))
#pragma amicall(GMSBase,0x1DA,PaletteMorph(a0,d0,d1,d3,d4,a1,a2))
#pragma amicall(GMSBase,0x1E0,PaletteToColour(a0,d0,d1,d3,d4,a1,d2))
#pragma amicall(GMSBase,0x1E6,ColourMorph(a0,d0,d1,d3,d4,d2,d5))
#pragma amicall(GMSBase,0x1EC,ColourToPalette(a0,d0,d1,d3,d4,a1,d2))
#pragma amicall(GMSBase,0x1F2,Change_Colours(a0,a1,d0,d1))
#pragma amicall(GMSBase,0x1F8,Blank_Colours(a0))
#pragma amicall(GMSBase,0x1FE,Init_RasterList(a0))
#pragma amicall(GMSBase,0x204,Update_RasterList(a0))
#pragma amicall(GMSBase,0x20A,Update_RasterCommand(a0,a2))
#pragma amicall(GMSBase,0x210,Update_RasterCommands(a0,a2,d0))
#pragma amicall(GMSBase,0x216,Update_RasterLines(a0))
#pragma amicall(GMSBase,0x21C,Remove_RasterList(a0))
#pragma amicall(GMSBase,0x222,Hide_RasterList(a0))
#pragma amicall(GMSBase,0x228,Show_RasterList(a0))
#pragma amicall(GMSBase,0x22E,Init_Sprite(a0,a1))
#pragma amicall(GMSBase,0x234,Update_Sprite(a0,a1))
#pragma amicall(GMSBase,0x23A,Move_Sprite(a0,a1))
#pragma amicall(GMSBase,0x240,Hide_Sprite(a0,d0))
#pragma amicall(GMSBase,0x246,Update_SpriteList(a0))
#pragma amicall(GMSBase,0x24C,Hide_SpriteList(a0))
#pragma amicall(GMSBase,0x252,Remove_AllSprites(a0))
#pragma amicall(GMSBase,0x258,Return_AllSprites(a0))
#pragma amicall(GMSBase,0x25E,Free_Sprite(a1))
#pragma amicall(GMSBase,0x264,UpdateRGB12(a0,d0,d1))
#pragma amicall(GMSBase,0x26A,UpdateRGB24(a0,d0,d1))
#pragma amicall(GMSBase,0x2F4,AllocBlitter())
#pragma amicall(GMSBase,0x2FA,FreeBlitter())
#pragma amicall(GMSBase,0x300,Init_BOB(a0,a1))
#pragma amicall(GMSBase,0x306,Free_BOB(a1))
#pragma amicall(GMSBase,0x30C,Draw_BOB(a0,a1))
#pragma amicall(GMSBase,0x312,Draw_BOBList(a0,a1))
#pragma amicall(GMSBase,0x318,Clear_BOB(a0,a1))
#pragma amicall(GMSBase,0x31E,Draw_Line(a0,d0,d1,d2,d3,d4,d5))
#pragma amicall(GMSBase,0x324,CopyBuffer(a0,d0,d1))
#pragma amicall(GMSBase,0x32A,ClrScreen(a0,d0))
#pragma amicall(GMSBase,0x330,ClrArea(a0,d0,d1,d2,d3))
#pragma amicall(GMSBase,0x336,Init_RestoreList(d0,d1))
#pragma amicall(GMSBase,0x33C,Free_RestoreList(d0))
#pragma amicall(GMSBase,0x342,Reset_RestoreList(a1))
#pragma amicall(GMSBase,0x348,Restore_List(a0,a1))
#pragma amicall(GMSBase,0x34E,Cleanup_RestoreList(a0,a1))
#pragma amicall(GMSBase,0x354,Init_Map(a0,a1))
#pragma amicall(GMSBase,0x35A,Draw_Map(a0,a1))
#pragma amicall(GMSBase,0x360,Draw_MapArea(a0,a1))
#pragma amicall(GMSBase,0x366,Draw_MapEdge(a0,a1))
#pragma amicall(GMSBase,0x36C,Free_Map(a1))
#pragma amicall(GMSBase,0x372,Draw_Pixel(a0,d0,d1,d2,d3))
#pragma amicall(GMSBase,0x378,Draw_PixelList(a0,d0,a1))
#pragma amicall(GMSBase,0x37E,Draw_UCPixelList(a0,d0,a1))
#pragma amicall(GMSBase,0x384,Read_Pixel())
#pragma amicall(GMSBase,0x38A,Read_PixelList())
#pragma amicall(GMSBase,0x390,Read_UCPixelList())
#pragma amicall(GMSBase,0x462,AllocAudio())
#pragma amicall(GMSBase,0x468,FreeAudio())
#pragma amicall(GMSBase,0x46E,InitSound(a0))
#pragma amicall(GMSBase,0x474,FreeSound(a0))
#pragma amicall(GMSBase,0x47A,CheckChannel(d0))
#pragma amicall(GMSBase,0x480,PlaySound(a0))
#pragma amicall(GMSBase,0x486,PlaySoundDAC1(a0))
#pragma amicall(GMSBase,0x48C,PlaySoundDAC2(a0))
#pragma amicall(GMSBase,0x492,PlaySoundDAC3(a0))
#pragma amicall(GMSBase,0x498,PlaySoundDAC4(a0))
#pragma amicall(GMSBase,0x49E,PlaySoundPri(a0))
#pragma amicall(GMSBase,0x4A4,PlaySoundPriDAC1(a0))
#pragma amicall(GMSBase,0x4AA,PlaySoundPriDAC2(a0))
#pragma amicall(GMSBase,0x4B0,PlaySoundPriDAC3(a0))
#pragma amicall(GMSBase,0x4B6,PlaySoundPriDAC4(a0))
#pragma amicall(GMSBase,0x4BC,SetVolume(d0,d1))
#pragma amicall(GMSBase,0x4C2,FadeVolume(d0))
#pragma amicall(GMSBase,0x4C8,StopSound(a0))
#pragma amicall(GMSBase,0x4CE,StopChannel(d0))
#pragma amicall(GMSBase,0x4D4,InitMusic())
#pragma amicall(GMSBase,0x4DA,PlayMusic())
#pragma amicall(GMSBase,0x4E0,StopMusic())
#endif
#if defined(_DCC) || defined(__SASC)
#pragma libcall GMSBase Init_GPI 01E 001
#pragma libcall GMSBase Remove_GPI 024 001
#pragma libcall GMSBase InitJoyPorts 02A 00
#pragma libcall GMSBase Read_Mouse 030 001
#pragma libcall GMSBase Read_JoyPort 036 1002
#pragma libcall GMSBase Read_JoyStick 03C 001
#pragma libcall GMSBase Read_JoyPad 042 001
#pragma libcall GMSBase Read_SegaPad 048 001
#pragma libcall GMSBase Read_Analogue 04E 001
#pragma libcall GMSBase Read_Key 054 901
#pragma libcall GMSBase FastRandom 05A 101
#pragma libcall GMSBase SlowRandom 060 101
#pragma libcall GMSBase Wait_LMB 066 00
#pragma libcall GMSBase Wait_Fire 06C 001
#pragma libcall GMSBase Wait_Time 072 001
#pragma libcall GMSBase Add_InputHandler 078 00
#pragma libcall GMSBase Rem_InputHandler 07E 00
#pragma libcall GMSBase Add_Interrupt 084 10803
#pragma libcall GMSBase Rem_Interrupt 08A 801
#pragma libcall GMSBase SmartLoad 090 109804
#pragma libcall GMSBase QuickLoad 096 09803
#pragma libcall GMSBase SmartUnpack 09C 109804
#pragma libcall GMSBase SmartSave 0A2 09803
#pragma libcall GMSBase SetUserPrefs 0A8 801
#pragma libcall GMSBase GetPicInfo 0AE 9802
#pragma libcall GMSBase UnpackPic 0B4 9802
#pragma libcall GMSBase LoadPic 0BA 901
#pragma libcall GMSBase AllocMemBlock 0C0 1002
#pragma libcall GMSBase FreeMemBlock 0C6 001
#pragma libcall GMSBase FreePic 0CC 901
#pragma libcall GMSBase Add_Screen 17A 801
#pragma tagcall GMSBase Add_ScreenTags 17A 801
#pragma libcall GMSBase Delete_Screen 180 801
#pragma libcall GMSBase Show_Screen 186 801
#pragma libcall GMSBase Hide_Screen 18C 00
#pragma libcall GMSBase ReturnToOS 192 00
#pragma libcall GMSBase AutoOSReturn 198 00
#pragma libcall GMSBase SwapBuffers 19E 801
#pragma libcall GMSBase Wait_VBL 1A4 00
#pragma libcall GMSBase Wait_OSVBL 1AA 00
#pragma libcall GMSBase Wait_ORVBL 1B0 00
#pragma libcall GMSBase Wait_RastLine 1B6 001
#pragma libcall GMSBase Refresh_Screen 1BC 801
#pragma libcall GMSBase Remake_Screen 1C2 801
#pragma libcall GMSBase Move_Picture 1C8 801
#pragma libcall GMSBase Reset_Picture 1CE 801
#pragma libcall GMSBase UpdatePalette 1D4 801
#pragma libcall GMSBase PaletteMorph 1DA A94310807
#pragma libcall GMSBase PaletteToColour 1E0 294310807
#pragma libcall GMSBase ColourMorph 1E6 524310807
#pragma libcall GMSBase ColourToPalette 1EC 294310807
#pragma libcall GMSBase Change_Colours 1F2 109804
#pragma libcall GMSBase Blank_Colours 1F8 801
#pragma libcall GMSBase Init_RasterList 1FE 801
#pragma libcall GMSBase Update_RasterList 204 801
#pragma libcall GMSBase Update_RasterCommand 20A A802
#pragma libcall GMSBase Update_RasterCommands 210 0A803
#pragma libcall GMSBase Update_RasterLines 216 801
#pragma libcall GMSBase Remove_RasterList 21C 801
#pragma libcall GMSBase Hide_RasterList 222 801
#pragma libcall GMSBase Show_RasterList 228 801
#pragma libcall GMSBase Init_Sprite 22E 9802
#pragma libcall GMSBase Update_Sprite 234 9802
#pragma libcall GMSBase Move_Sprite 23A 9802
#pragma libcall GMSBase Hide_Sprite 240 0802
#pragma libcall GMSBase Update_SpriteList 246 801
#pragma libcall GMSBase Hide_SpriteList 24C 801
#pragma libcall GMSBase Remove_AllSprites 252 801
#pragma libcall GMSBase Return_AllSprites 258 801
#pragma libcall GMSBase Free_Sprite 25E 901
#pragma libcall GMSBase UpdateRGB12 264 10803
#pragma libcall GMSBase UpdateRGB24 26A 10803
#pragma libcall GMSBase AllocBlitter 2F4 00
#pragma libcall GMSBase FreeBlitter 2FA 00
#pragma libcall GMSBase Init_BOB 300 9802
#pragma libcall GMSBase Free_BOB 306 901
#pragma libcall GMSBase Draw_BOB 30C 9802
#pragma libcall GMSBase Draw_BOBList 312 9802
#pragma libcall GMSBase Clear_BOB 318 9802
#pragma libcall GMSBase Draw_Line 31E 543210807
#pragma libcall GMSBase CopyBuffer 324 10803
#pragma libcall GMSBase ClrScreen 32A 0802
#pragma libcall GMSBase ClrArea 330 3210805
#pragma libcall GMSBase Init_RestoreList 336 1002
#pragma libcall GMSBase Free_RestoreList 33C 001
#pragma libcall GMSBase Reset_RestoreList 342 901
#pragma libcall GMSBase Restore_List 348 9802
#pragma libcall GMSBase Cleanup_RestoreList 34E 9802
#pragma libcall GMSBase Init_Map 354 9802
#pragma libcall GMSBase Draw_Map 35A 9802
#pragma libcall GMSBase Draw_MapArea 360 9802
#pragma libcall GMSBase Draw_MapEdge 366 9802
#pragma libcall GMSBase Free_Map 36C 901
#pragma libcall GMSBase Draw_Pixel 372 3210805
#pragma libcall GMSBase Draw_PixelList 378 90803
#pragma libcall GMSBase Draw_UCPixelList 37E 90803
#pragma libcall GMSBase Read_Pixel 384 00
#pragma libcall GMSBase Read_PixelList 38A 00
#pragma libcall GMSBase Read_UCPixelList 390 00
#pragma libcall GMSBase AllocAudio 462 00
#pragma libcall GMSBase FreeAudio 468 00
#pragma libcall GMSBase InitSound 46E 801
#pragma libcall GMSBase FreeSound 474 801
#pragma libcall GMSBase CheckChannel 47A 001
#pragma libcall GMSBase PlaySound 480 801
#pragma libcall GMSBase PlaySoundDAC1 486 801
#pragma libcall GMSBase PlaySoundDAC2 48C 801
#pragma libcall GMSBase PlaySoundDAC3 492 801
#pragma libcall GMSBase PlaySoundDAC4 498 801
#pragma libcall GMSBase PlaySoundPri 49E 801
#pragma libcall GMSBase PlaySoundPriDAC1 4A4 801
#pragma libcall GMSBase PlaySoundPriDAC2 4AA 801
#pragma libcall GMSBase PlaySoundPriDAC3 4B0 801
#pragma libcall GMSBase PlaySoundPriDAC4 4B6 801
#pragma libcall GMSBase SetVolume 4BC 1002
#pragma libcall GMSBase FadeVolume 4C2 001
#pragma libcall GMSBase StopSound 4C8 801
#pragma libcall GMSBase StopChannel 4CE 001
#pragma libcall GMSBase InitMusic 4D4 00
#pragma libcall GMSBase PlayMusic 4DA 00
#pragma libcall GMSBase StopMusic 4E0 00
#endif

#endif	/* _INCLUDE_PRAGMA_GAMES_LIB_H */