Browse Source

amunits: some random functions syscall-ified. Mostly things used by rtl-console and FV.

git-svn-id: trunk@28578 -
Károly Balogh 11 years ago
parent
commit
94a84d3286

+ 14 - 195
packages/amunits/src/coreunits/agraphics.pas

@@ -2241,13 +2241,13 @@ const
 var
 var
     GfxBase : pLibrary;
     GfxBase : pLibrary;
 
 
-PROCEDURE AddAnimOb(anOb : pAnimOb; anKey : ppAnimOb; rp : pRastPort);
-PROCEDURE AddBob(bob : pBob; rp : pRastPort);
-PROCEDURE AddFont(textFont : pTextFont);
-PROCEDURE AddVSprite(vSprite : pVSprite; rp : pRastPort);
-FUNCTION AllocBitMap(sizex : ULONG; sizey : ULONG; depth : ULONG; flags : ULONG;const friend_bitmap : pBitMap) : pBitMap;
-FUNCTION AllocDBufInfo(vp : pViewPort) : pDBufInfo;
-FUNCTION AllocRaster(width : ULONG; height : ULONG) : pCHAR;
+PROCEDURE AddAnimOb(anOb : pAnimOb location 'a0'; anKey : ppAnimOb location 'a1'; rp : pRastPort location 'a2'); syscall GfxBase 156;
+PROCEDURE AddBob(bob : pBob location 'a0'; rp : pRastPort location 'a1'); syscall GfxBase 096;
+PROCEDURE AddFont(textFont : pTextFont location 'a1'); syscall GfxBase 480;
+PROCEDURE AddVSprite(vSprite : pVSprite location 'a0'; rp : pRastPort location 'a1'); syscall GfxBase 102;
+FUNCTION AllocBitMap(sizex : ULONG location 'd0'; sizey : ULONG location 'd1'; depth : ULONG location 'd2'; flags : ULONG location 'd3'; const friend_bitmap : pBitMap location 'a0') : pBitMap; syscall GfxBase 918;
+FUNCTION AllocDBufInfo(vp : pViewPort location 'a0') : pDBufInfo; syscall GfxBase 966;
+FUNCTION AllocRaster(width : ULONG location 'd0'; height : ULONG location 'd1') : pCHAR; syscall GfxBase 492;
 FUNCTION AllocSpriteDataA(const bm : pBitMap;const tags : pTagItem) : pExtSprite;
 FUNCTION AllocSpriteDataA(const bm : pBitMap;const tags : pTagItem) : pExtSprite;
 PROCEDURE AndRectRegion(region : pRegion;const rectangle : pRectangle);
 PROCEDURE AndRectRegion(region : pRegion;const rectangle : pRectangle);
 FUNCTION AndRegionRegion(const srcRegion : pRegion; destRegion : pRegion) : BOOLEAN;
 FUNCTION AndRegionRegion(const srcRegion : pRegion; destRegion : pRegion) : BOOLEAN;
@@ -2267,7 +2267,7 @@ PROCEDURE BltBitMapRastPort(const srcBitMap : pBitMap; xSrc : LONGINT; ySrc : LO
 PROCEDURE BltClear(memBlock : pCHAR; byteCount : ULONG; flags : ULONG);
 PROCEDURE BltClear(memBlock : pCHAR; byteCount : ULONG; flags : ULONG);
 PROCEDURE BltMaskBitMapRastPort(const srcBitMap : pBitMap; xSrc : LONGINT; ySrc : LONGINT; destRP : pRastPort; xDest : LONGINT; yDest : LONGINT; xSize : LONGINT; ySize : LONGINT; minterm : ULONG;const bltMask : pCHAR);
 PROCEDURE BltMaskBitMapRastPort(const srcBitMap : pBitMap; xSrc : LONGINT; ySrc : LONGINT; destRP : pRastPort; xDest : LONGINT; yDest : LONGINT; xSize : LONGINT; ySize : LONGINT; minterm : ULONG;const bltMask : pCHAR);
 PROCEDURE BltPattern(rp : pRastPort;const mask : pCHAR; xMin : LONGINT; yMin : LONGINT; xMax : LONGINT; yMax : LONGINT; maskBPR : ULONG);
 PROCEDURE BltPattern(rp : pRastPort;const mask : pCHAR; xMin : LONGINT; yMin : LONGINT; xMax : LONGINT; yMax : LONGINT; maskBPR : ULONG);
-PROCEDURE BltTemplate(const source : pCHAR; xSrc : LONGINT; srcMod : LONGINT; destRP : pRastPort; xDest : LONGINT; yDest : LONGINT; xSize : LONGINT; ySize : LONGINT);
+PROCEDURE BltTemplate(const source : pCHAR location 'a0'; xSrc : LONGINT location 'd0'; srcMod : LONGINT location 'd1'; destRP : pRastPort location 'a1'; xDest : LONGINT location 'd2'; yDest : LONGINT location 'd3'; xSize : LONGINT location 'd4'; ySize : LONGINT location 'd5'); syscall GfxBase 036;
 FUNCTION CalcIVG(v : pView; vp : pViewPort) : WORD;
 FUNCTION CalcIVG(v : pView; vp : pViewPort) : WORD;
 PROCEDURE CBump(copList : pUCopList);
 PROCEDURE CBump(copList : pUCopList);
 FUNCTION ChangeExtSpriteA(vp : pViewPort; oldsprite : pExtSprite; newsprite : pExtSprite;const tags : pTagItem) : LONGINT;
 FUNCTION ChangeExtSpriteA(vp : pViewPort; oldsprite : pExtSprite; newsprite : pExtSprite;const tags : pTagItem) : LONGINT;
@@ -2287,7 +2287,7 @@ PROCEDURE CWait(copList : pUCopList; v : LONGINT; h : LONGINT);
 PROCEDURE DisownBlitter;
 PROCEDURE DisownBlitter;
 PROCEDURE DisposeRegion(region : pRegion);
 PROCEDURE DisposeRegion(region : pRegion);
 PROCEDURE DoCollision(rp : pRastPort);
 PROCEDURE DoCollision(rp : pRastPort);
-PROCEDURE Draw(rp : pRastPort; x : LONGINT; y : LONGINT);
+PROCEDURE Draw(rp : pRastPort location 'a1'; x : LONGINT location 'd0'; y : LONGINT location 'd1'); syscall GfxBase 246;
 PROCEDURE DrawEllipse(rp : pRastPort; xCenter : LONGINT; yCenter : LONGINT; a : LONGINT; b : LONGINT);
 PROCEDURE DrawEllipse(rp : pRastPort; xCenter : LONGINT; yCenter : LONGINT; a : LONGINT; b : LONGINT);
 PROCEDURE DrawGList(rp : pRastPort; vp : pViewPort);
 PROCEDURE DrawGList(rp : pRastPort; vp : pViewPort);
 PROCEDURE EraseRect(rp : pRastPort; xMin : LONGINT; yMin : LONGINT; xMax : LONGINT; yMax : LONGINT);
 PROCEDURE EraseRect(rp : pRastPort; xMin : LONGINT; yMin : LONGINT; xMax : LONGINT; yMax : LONGINT);
@@ -2345,7 +2345,7 @@ FUNCTION MrgCop(view : pView) : ULONG;
 FUNCTION NewRegion : pRegion;
 FUNCTION NewRegion : pRegion;
 FUNCTION NextDisplayInfo(displayID : ULONG) : ULONG;
 FUNCTION NextDisplayInfo(displayID : ULONG) : ULONG;
 FUNCTION ObtainBestPenA(cm : pColorMap; r : ULONG; g : ULONG; b : ULONG;const tags : pTagItem) : LONGINT;
 FUNCTION ObtainBestPenA(cm : pColorMap; r : ULONG; g : ULONG; b : ULONG;const tags : pTagItem) : LONGINT;
-FUNCTION ObtainPen(cm : pColorMap; n : ULONG; r : ULONG; g : ULONG; b : ULONG; f : LONGINT) : ULONG;
+FUNCTION ObtainPen(cm : pColorMap location 'a0'; n : ULONG location 'd0'; r : ULONG location 'd1'; g : ULONG location 'd2'; b : ULONG location 'd3'; f : LONGINT location 'd4') : ULONG; syscall GfxBase 954;
 FUNCTION OpenFont(textAttr : pTextAttr) : pTextFont;
 FUNCTION OpenFont(textAttr : pTextAttr) : pTextFont;
 FUNCTION OpenMonitor(const monitorName : pCHAR; displayID : ULONG) : pMonitorSpec;
 FUNCTION OpenMonitor(const monitorName : pCHAR; displayID : ULONG) : pMonitorSpec;
 FUNCTION OrRectRegion(region : pRegion;const rectangle : pRectangle) : BOOLEAN;
 FUNCTION OrRectRegion(region : pRegion;const rectangle : pRectangle) : BOOLEAN;
@@ -2358,7 +2358,7 @@ FUNCTION ReadPixel(rp : pRastPort; x : LONGINT; y : LONGINT) : ULONG;
 FUNCTION ReadPixelArray8(rp : pRastPort; xstart : ULONG; ystart : ULONG; xstop : ULONG; ystop : ULONG; array_ : pointer; temprp : pRastPort) : LONGINT;
 FUNCTION ReadPixelArray8(rp : pRastPort; xstart : ULONG; ystart : ULONG; xstop : ULONG; ystop : ULONG; array_ : pointer; temprp : pRastPort) : LONGINT;
 FUNCTION ReadPixelLine8(rp : pRastPort; xstart : ULONG; ystart : ULONG; width : ULONG; array_ : pointer; tempRP : pRastPort) : LONGINT;
 FUNCTION ReadPixelLine8(rp : pRastPort; xstart : ULONG; ystart : ULONG; width : ULONG; array_ : pointer; tempRP : pRastPort) : LONGINT;
 PROCEDURE RectFill(rp : pRastPort; xMin : LONGINT; yMin : LONGINT; xMax : LONGINT; yMax : LONGINT);
 PROCEDURE RectFill(rp : pRastPort; xMin : LONGINT; yMin : LONGINT; xMax : LONGINT; yMax : LONGINT);
-PROCEDURE ReleasePen(cm : pColorMap; n : ULONG);
+PROCEDURE ReleasePen(cm : pColorMap location 'a0'; n : ULONG location 'd0'); syscall GfxBase 948;
 PROCEDURE RemFont(textFont : pTextFont);
 PROCEDURE RemFont(textFont : pTextFont);
 PROCEDURE RemIBob(bob : pBob; rp : pRastPort; vp : pViewPort);
 PROCEDURE RemIBob(bob : pBob; rp : pRastPort; vp : pViewPort);
 PROCEDURE RemVSprite(vSprite : pVSprite);
 PROCEDURE RemVSprite(vSprite : pVSprite);
@@ -2366,9 +2366,9 @@ FUNCTION ScalerDiv(factor : ULONG; numerator : ULONG; denominator : ULONG) : WOR
 PROCEDURE ScrollRaster(rp : pRastPort; dx : LONGINT; dy : LONGINT; xMin : LONGINT; yMin : LONGINT; xMax : LONGINT; yMax : LONGINT);
 PROCEDURE ScrollRaster(rp : pRastPort; dx : LONGINT; dy : LONGINT; xMin : LONGINT; yMin : LONGINT; xMax : LONGINT; yMax : LONGINT);
 PROCEDURE ScrollRasterBF(rp : pRastPort; dx : LONGINT; dy : LONGINT; xMin : LONGINT; yMin : LONGINT; xMax : LONGINT; yMax : LONGINT);
 PROCEDURE ScrollRasterBF(rp : pRastPort; dx : LONGINT; dy : LONGINT; xMin : LONGINT; yMin : LONGINT; xMax : LONGINT; yMax : LONGINT);
 PROCEDURE ScrollVPort(vp : pViewPort);
 PROCEDURE ScrollVPort(vp : pViewPort);
-PROCEDURE SetABPenDrMd(rp : pRastPort; apen : ULONG; bpen : ULONG; drawmode : ULONG);
-PROCEDURE SetAPen(rp : pRastPort; pen : ULONG);
-PROCEDURE SetBPen(rp : pRastPort; pen : ULONG);
+PROCEDURE SetABPenDrMd(rp : pRastPort location 'a1'; apen : ULONG location 'd0'; bpen : ULONG location 'd1'; drawmode : ULONG location 'd2'); syscall GfxBase 894;
+PROCEDURE SetAPen(rp : pRastPort location 'a1'; pen : ULONG location 'd0'); syscall GfxBase 342;
+PROCEDURE SetBPen(rp : pRastPort location 'a1'; pen : ULONG location 'd0'); syscall GfxBase 348;
 FUNCTION SetChipRev(want : ULONG) : ULONG;
 FUNCTION SetChipRev(want : ULONG) : ULONG;
 PROCEDURE SetCollision(num : ULONG; routine : tPROCEDURE; gelsInfo : pGelsInfo);
 PROCEDURE SetCollision(num : ULONG; routine : tPROCEDURE; gelsInfo : pGelsInfo);
 PROCEDURE SetDrMd(rp : pRastPort; drawMode : ULONG);
 PROCEDURE SetDrMd(rp : pRastPort; drawMode : ULONG);
@@ -2537,95 +2537,6 @@ BEGIN
     cust^.intena := BITSET OR INTF_VERTB;
     cust^.intena := BITSET OR INTF_VERTB;
 END;
 END;
 
 
-PROCEDURE AddAnimOb(anOb : pAnimOb; anKey : ppAnimOb; rp : pRastPort);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L anOb,A0
-    MOVEA.L anKey,A1
-    MOVEA.L rp,A2
-    MOVEA.L GfxBase,A6
-    JSR -156(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE AddBob(bob : pBob; rp : pRastPort);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L bob,A0
-    MOVEA.L rp,A1
-    MOVEA.L GfxBase,A6
-    JSR -096(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE AddFont(textFont : pTextFont);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L textFont,A1
-    MOVEA.L GfxBase,A6
-    JSR -480(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE AddVSprite(vSprite : pVSprite; rp : pRastPort);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L vSprite,A0
-    MOVEA.L rp,A1
-    MOVEA.L GfxBase,A6
-    JSR -102(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-FUNCTION AllocBitMap(sizex : ULONG; sizey : ULONG; depth : ULONG; flags : ULONG;const friend_bitmap : pBitMap) : pBitMap;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVE.L  sizex,D0
-    MOVE.L  sizey,D1
-    MOVE.L  depth,D2
-    MOVE.L  flags,D3
-    MOVEA.L friend_bitmap,A0
-    MOVEA.L GfxBase,A6
-    JSR -918(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION AllocDBufInfo(vp : pViewPort) : pDBufInfo;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L vp,A0
-    MOVEA.L GfxBase,A6
-    JSR -966(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION AllocRaster(width : ULONG; height : ULONG) : pCHAR;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVE.L  width,D0
-    MOVE.L  height,D1
-    MOVEA.L GfxBase,A6
-    JSR -492(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
 FUNCTION AllocSpriteDataA(const bm : pBitMap;const tags : pTagItem) : pExtSprite;
 FUNCTION AllocSpriteDataA(const bm : pBitMap;const tags : pTagItem) : pExtSprite;
 BEGIN
 BEGIN
   ASM
   ASM
@@ -2901,23 +2812,6 @@ BEGIN
   END;
   END;
 END;
 END;
 
 
-PROCEDURE BltTemplate(const source : pCHAR; xSrc : LONGINT; srcMod : LONGINT; destRP : pRastPort; xDest : LONGINT; yDest : LONGINT; xSize : LONGINT; ySize : LONGINT);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L source,A0
-    MOVE.L  xSrc,D0
-    MOVE.L  srcMod,D1
-    MOVEA.L destRP,A1
-    MOVE.L  xDest,D2
-    MOVE.L  yDest,D3
-    MOVE.L  xSize,D4
-    MOVE.L  ySize,D5
-    MOVEA.L GfxBase,A6
-    JSR -036(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
 
 
 FUNCTION CalcIVG(v : pView; vp : pViewPort) : WORD;
 FUNCTION CalcIVG(v : pView; vp : pViewPort) : WORD;
 BEGIN
 BEGIN
@@ -3161,18 +3055,6 @@ BEGIN
   END;
   END;
 END;
 END;
 
 
-PROCEDURE Draw(rp : pRastPort; x : LONGINT; y : LONGINT);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L rp,A1
-    MOVE.L  x,D0
-    MOVE.L  y,D1
-    MOVEA.L GfxBase,A6
-    JSR -246(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
 
 
 PROCEDURE DrawEllipse(rp : pRastPort; xCenter : LONGINT; yCenter : LONGINT; a : LONGINT; b : LONGINT);
 PROCEDURE DrawEllipse(rp : pRastPort; xCenter : LONGINT; yCenter : LONGINT; a : LONGINT; b : LONGINT);
 BEGIN
 BEGIN
@@ -3877,22 +3759,6 @@ BEGIN
   END;
   END;
 END;
 END;
 
 
-FUNCTION ObtainPen(cm : pColorMap; n : ULONG; r : ULONG; g : ULONG; b : ULONG; f : LONGINT) : ULONG;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L cm,A0
-    MOVE.L  n,D0
-    MOVE.L  r,D1
-    MOVE.L  g,D2
-    MOVE.L  b,D3
-    MOVE.L  f,D4
-    MOVEA.L GfxBase,A6
-    JSR -954(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
 
 
 FUNCTION OpenFont(textAttr : pTextAttr) : pTextFont;
 FUNCTION OpenFont(textAttr : pTextAttr) : pTextFont;
 BEGIN
 BEGIN
@@ -4060,17 +3926,6 @@ BEGIN
   END;
   END;
 END;
 END;
 
 
-PROCEDURE ReleasePen(cm : pColorMap; n : ULONG);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L cm,A0
-    MOVE.L  n,D0
-    MOVEA.L GfxBase,A6
-    JSR -948(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
 
 
 PROCEDURE RemFont(textFont : pTextFont);
 PROCEDURE RemFont(textFont : pTextFont);
 BEGIN
 BEGIN
@@ -4166,43 +4021,7 @@ BEGIN
   END;
   END;
 END;
 END;
 
 
-PROCEDURE SetABPenDrMd(rp : pRastPort; apen : ULONG; bpen : ULONG; drawmode : ULONG);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L rp,A1
-    MOVE.L  apen,D0
-    MOVE.L  bpen,D1
-    MOVE.L  drawmode,D2
-    MOVEA.L GfxBase,A6
-    JSR -894(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
 
 
-PROCEDURE SetAPen(rp : pRastPort; pen : ULONG);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L rp,A1
-    MOVE.L  pen,D0
-    MOVEA.L GfxBase,A6
-    JSR -342(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE SetBPen(rp : pRastPort; pen : ULONG);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L rp,A1
-    MOVE.L  pen,D0
-    MOVEA.L GfxBase,A6
-    JSR -348(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
 
 
 FUNCTION SetChipRev(want : ULONG) : ULONG;
 FUNCTION SetChipRev(want : ULONG) : ULONG;
 BEGIN
 BEGIN

+ 1 - 11
packages/amunits/src/coreunits/amigados.pas

@@ -1613,7 +1613,7 @@ FUNCTION DoPkt2(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGIN
 FUNCTION DoPkt3(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGINT; arg3 : LONGINT) : LONGINT;
 FUNCTION DoPkt3(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGINT; arg3 : LONGINT) : LONGINT;
 FUNCTION DoPkt4(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGINT; arg3 : LONGINT; arg4 : LONGINT) : LONGINT;
 FUNCTION DoPkt4(port : pMsgPort; action : LONGINT; arg1 : LONGINT; arg2 : LONGINT; arg3 : LONGINT; arg4 : LONGINT) : LONGINT;
 PROCEDURE DOSClose(file_ : LONGINT);
 PROCEDURE DOSClose(file_ : LONGINT);
-PROCEDURE DOSDelay(timeout : LONGINT);
+PROCEDURE DOSDelay(timeout : LONGINT location 'd1'); syscall _DOSBase 198;
 PROCEDURE DOSExit(returnCode : LONGINT);
 PROCEDURE DOSExit(returnCode : LONGINT);
 FUNCTION DOSFlush(fh : LONGINT) : BOOLEAN;
 FUNCTION DOSFlush(fh : LONGINT) : BOOLEAN;
 FUNCTION DOSInput : LONGINT;
 FUNCTION DOSInput : LONGINT;
@@ -2333,16 +2333,6 @@ BEGIN
   END;
   END;
 END;
 END;
 
 
-PROCEDURE DOSDelay(timeout : LONGINT);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVE.L  timeout,D1
-    MOVEA.L _DOSBase,A6
-    JSR -198(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
 
 
 PROCEDURE DOSExit(returnCode : LONGINT);
 PROCEDURE DOSExit(returnCode : LONGINT);
 BEGIN
 BEGIN

+ 3 - 37
packages/amunits/src/coreunits/exec.pas

@@ -1247,7 +1247,7 @@ PROCEDURE FreeSignal(signalNum : LONGINT);
 PROCEDURE FreeTrap(trapNum : LONGINT);
 PROCEDURE FreeTrap(trapNum : LONGINT);
 PROCEDURE FreeVec(memoryBlock : POINTER);
 PROCEDURE FreeVec(memoryBlock : POINTER);
 FUNCTION GetCC : ULONG;
 FUNCTION GetCC : ULONG;
-FUNCTION GetMsg(port : pMsgPort) : pMessage;
+FUNCTION GetMsg(port : pMsgPort location 'a0') : pMessage; syscall _ExecBase 372;
 PROCEDURE InitCode(startClass : ULONG; version : ULONG);
 PROCEDURE InitCode(startClass : ULONG; version : ULONG);
 FUNCTION InitResident(const resident_ : pResident; segList : ULONG) : POINTER;
 FUNCTION InitResident(const resident_ : pResident; segList : ULONG) : POINTER;
 PROCEDURE InitSemaphore(sigSem : pSignalSemaphore);
 PROCEDURE InitSemaphore(sigSem : pSignalSemaphore);
@@ -1279,7 +1279,7 @@ PROCEDURE RemResource(resource : POINTER);
 PROCEDURE RemSemaphore(sigSem : pSignalSemaphore);
 PROCEDURE RemSemaphore(sigSem : pSignalSemaphore);
 FUNCTION RemTail(list : pList) : pNode;
 FUNCTION RemTail(list : pList) : pNode;
 PROCEDURE RemTask(task : pTask);
 PROCEDURE RemTask(task : pTask);
-PROCEDURE ReplyMsg(message : pMessage);
+PROCEDURE ReplyMsg(message : pMessage location 'a1'); syscall _ExecBase 378;
 PROCEDURE SendIO(ioRequest : pIORequest);
 PROCEDURE SendIO(ioRequest : pIORequest);
 FUNCTION SetExcept(newSignals : ULONG; signalSet : ULONG) : ULONG;
 FUNCTION SetExcept(newSignals : ULONG; signalSet : ULONG) : ULONG;
 FUNCTION SetFunction(lib : pLibrary; funcOffset : LONGINT; newFunction : tPROCEDURE) : POINTER;
 FUNCTION SetFunction(lib : pLibrary; funcOffset : LONGINT; newFunction : tPROCEDURE) : POINTER;
@@ -1298,7 +1298,7 @@ PROCEDURE UserState(sysStack : POINTER);
 PROCEDURE Vacate(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage);
 PROCEDURE Vacate(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage);
 FUNCTION Wait(signalSet : ULONG) : ULONG;
 FUNCTION Wait(signalSet : ULONG) : ULONG;
 FUNCTION WaitIO(ioRequest : pIORequest) : shortint;
 FUNCTION WaitIO(ioRequest : pIORequest) : shortint;
-FUNCTION WaitPort(port : pMsgPort) : pMessage;
+FUNCTION WaitPort(port : pMsgPort location 'a0') : pMessage; syscall _ExecBase 384;
 
 
 PROCEDURE NewMinList(minlist : pMinList);
 PROCEDURE NewMinList(minlist : pMinList);
 FUNCTION AVL_AddNode(root : ppAVLNode; node : pAVLNode; func : POINTER) : pAVLNode;
 FUNCTION AVL_AddNode(root : ppAVLNode; node : pAVLNode; func : POINTER) : pAVLNode;
@@ -2133,18 +2133,6 @@ BEGIN
   END;
   END;
 END;
 END;
 
 
-FUNCTION GetMsg(port : pMsgPort) : pMessage;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L port,A0
-    MOVEA.L _ExecBase,A6
-    JSR -372(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
 PROCEDURE InitCode(startClass : ULONG; version : ULONG);
 PROCEDURE InitCode(startClass : ULONG; version : ULONG);
 BEGIN
 BEGIN
   ASM
   ASM
@@ -2520,16 +2508,6 @@ BEGIN
   END;
   END;
 END;
 END;
 
 
-PROCEDURE ReplyMsg(message : pMessage);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L message,A1
-    MOVEA.L _ExecBase,A6
-    JSR -378(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
 
 
 PROCEDURE SendIO(ioRequest : pIORequest);
 PROCEDURE SendIO(ioRequest : pIORequest);
 BEGIN
 BEGIN
@@ -2748,18 +2726,6 @@ BEGIN
   END;
   END;
 END;
 END;
 
 
-FUNCTION WaitPort(port : pMsgPort) : pMessage;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L port,A0
-    MOVEA.L _ExecBase,A6
-    JSR -384(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
 PROCEDURE NewMinList(minlist : pMinList);
 PROCEDURE NewMinList(minlist : pMinList);
 BEGIN
 BEGIN
   ASM
   ASM

+ 5 - 65
packages/amunits/src/coreunits/intuition.pas

@@ -4135,11 +4135,11 @@ PROCEDURE OffGadget(gadget : pGadget; window : pWindow; requester : pRequester);
 PROCEDURE OffMenu(window : pWindow; menuNumber : ULONG);
 PROCEDURE OffMenu(window : pWindow; menuNumber : ULONG);
 PROCEDURE OnGadget(gadget : pGadget; window : pWindow; requester : pRequester);
 PROCEDURE OnGadget(gadget : pGadget; window : pWindow; requester : pRequester);
 PROCEDURE OnMenu(window : pWindow; menuNumber : ULONG);
 PROCEDURE OnMenu(window : pWindow; menuNumber : ULONG);
-FUNCTION OpenScreen(const newScreen : pNewScreen) : pScreen;
-FUNCTION OpenScreenTagList(const newScreen : pNewScreen;const tagList : pTagItem) : pScreen;
-FUNCTION OpenWindow(const newWindow : pNewWindow) : pWindow;
-FUNCTION OpenWindowTagList(const newWindow : pNewWindow;const tagList : pTagItem) : pWindow;
-FUNCTION OpenWorkBench : ULONG;
+FUNCTION OpenScreen(const newScreen : pNewScreen location 'a0') : pScreen; syscall _IntuitionBase 198;
+FUNCTION OpenScreenTagList(const newScreen : pNewScreen location 'a0'; const tagList : pTagItem location 'a1') : pScreen; syscall _IntuitionBase 612;
+FUNCTION OpenWindow(const newWindow : pNewWindow location 'a0') : pWindow; syscall _IntuitionBase 204;
+FUNCTION OpenWindowTagList(const newWindow : pNewWindow location 'a0'; const tagList : pTagItem location 'a1') : pWindow; syscall _Intuitionbase 606;
+FUNCTION OpenWorkBench : ULONG; syscall _IntuitionBase 210;
 FUNCTION PointInImage(point : ULONG; image : pImage) : BOOLEAN;
 FUNCTION PointInImage(point : ULONG; image : pImage) : BOOLEAN;
 PROCEDURE PrintIText(rp : pRastPort;const iText : pIntuiText; left : LONGINT; top : LONGINT);
 PROCEDURE PrintIText(rp : pRastPort;const iText : pIntuiText; left : LONGINT; top : LONGINT);
 FUNCTION PubScreenStatus(screen : pScreen; statusFlags : ULONG) : WORD;
 FUNCTION PubScreenStatus(screen : pScreen; statusFlags : ULONG) : WORD;
@@ -5244,66 +5244,6 @@ BEGIN
   END;
   END;
 END;
 END;
 
 
-FUNCTION OpenScreen(const newScreen : pNewScreen) : pScreen;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L newScreen,A0
-    MOVEA.L _IntuitionBase,A6
-    JSR -198(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION OpenScreenTagList(const newScreen : pNewScreen;const tagList : pTagItem) : pScreen;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L newScreen,A0
-    MOVEA.L tagList,A1
-    MOVEA.L _IntuitionBase,A6
-    JSR -612(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION OpenWindow(const newWindow : pNewWindow) : pWindow;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L newWindow,A0
-    MOVEA.L _IntuitionBase,A6
-    JSR -204(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION OpenWindowTagList(const newWindow : pNewWindow;const tagList : pTagItem) : pWindow;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L newWindow,A0
-    MOVEA.L tagList,A1
-    MOVEA.L _IntuitionBase,A6
-    JSR -606(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION OpenWorkBench : ULONG;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L _IntuitionBase,A6
-    JSR -210(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
 
 
 FUNCTION PointInImage(point : ULONG; image : pImage) : BOOLEAN;
 FUNCTION PointInImage(point : ULONG; image : pImage) : BOOLEAN;
 BEGIN
 BEGIN