Browse Source

amunits: syscall-ified commodities unit. also removed pas2c dependency.

git-svn-id: trunk@32660 -
Károly Balogh 9 years ago
parent
commit
e711169e4b
1 changed files with 35 additions and 363 deletions
  1. 35 363
      packages/amunits/src/coreunits/commodities.pas

+ 35 - 363
packages/amunits/src/coreunits/commodities.pas

@@ -30,12 +30,7 @@
 
     [email protected]
 }
-
-{$I useamigasmartlink.inc}
-{$ifdef use_amiga_smartlink}
-   {$smartlink on}
-{$endif use_amiga_smartlink}
-
+{$PACKRECORDS 2}
 unit commodities;
 
 INTERFACE
@@ -234,375 +229,52 @@ VAR CxBase : pLibrary;
 const
     COMMODITIESNAME : PChar = 'commodities.library';
 
-FUNCTION ActivateCxObj(co : pCxObj; tru : LONGINT) : LONGINT;
-PROCEDURE AddIEvents(events : pInputEvent);
-PROCEDURE AttachCxObj(headObj : pCxObj; co : pCxObj);
-PROCEDURE ClearCxObjError(co : pCxObj);
-FUNCTION CreateCxObj(typ : ULONG; arg1 : LONGINT; arg2 : LONGINT): pCxObj;
-FUNCTION CxBroker(nb : pNewBroker; error : pCxObj) : pCxObj;
-FUNCTION CxMsgData(cxm : pCxMsg) : POINTER;
-FUNCTION CxMsgID(cxm : pCxMsg) : LONGINT;
-FUNCTION CxMsgType(cxm : pCxMsg) : ULONG;
-FUNCTION CxObjError(co : pCxObj) : LONGINT;
-FUNCTION CxObjType(co : pCxObj) : ULONG;
-PROCEDURE DeleteCxObj(co : pCxObj);
-PROCEDURE DeleteCxObjAll(co : pCxObj);
-PROCEDURE DisposeCxMsg(cxm : pCxMsg);
-PROCEDURE DivertCxMsg(cxm : pCxMsg; headObj : pCxObj; returnObj : pCxObj);
-PROCEDURE EnqueueCxObj(headObj : pCxObj; co : pCxObj);
-PROCEDURE InsertCxObj(headObj : pCxObj; co : pCxObj; pred : pCxObj);
-FUNCTION InvertKeyMap(ansiCode : ULONG; event : pInputEvent; km : pKeyMap) : BOOLEAN;
-FUNCTION MatchIX(event : pInputEvent; ix : pInputXpression) : BOOLEAN;
-FUNCTION ParseIX(description : pCHAR; ix : pInputXpression) : LONGINT;
-PROCEDURE RemoveCxObj(co : pCxObj);
-PROCEDURE RouteCxMsg(cxm : pCxMsg; co : pCxObj);
-FUNCTION SetCxObjPri(co : pCxObj; pri : LONGINT) : LONGINT;
-PROCEDURE SetFilter(filter : pCxObj; text : pCHAR);
-PROCEDURE SetFilterIX(filter : pCxObj; ix : pInputXpression);
-PROCEDURE SetTranslate(translator : pCxObj; events : pInputEvent);
+
+FUNCTION ActivateCxObj(co : pCxObj location 'a0'; tru : LONGINT location 'd0') : LONGINT; syscall CxBase 042;
+PROCEDURE AddIEvents(events : pInputEvent location 'a0'); syscall CxBase 180;
+PROCEDURE AttachCxObj(headObj : pCxObj location 'a0'; co : pCxObj location 'a1'); syscall CxBase 084;
+PROCEDURE ClearCxObjError(co : pCxObj location 'a0'); syscall CxBase 072;
+FUNCTION CreateCxObj(typ : ULONG location 'd0'; arg1 : LONGINT location 'a1'; arg2 : LONGINT location 'a2') : pCxObj; syscall CxBase 030;
+FUNCTION CxBroker(nb : pNewBroker location 'a0'; error : pCxObj location 'd0') : pCxObj; syscall CxBase 036;
+FUNCTION CxMsgData(cxm : pCxMsg location 'a0') : POINTER; syscall CxBase 144;
+FUNCTION CxMsgID(cxm : pCxMsg location 'a0') : LONGINT; syscall CxBase 150;
+FUNCTION CxMsgType(cxm : pCxMsg location 'a0') : ULONG; syscall CxBase 138;
+FUNCTION CxObjError(co : pCxObj location 'a0') : LONGINT; syscall CxBase 066;
+FUNCTION CxObjType(co : pCxObj location 'a0') : ULONG; syscall CxBase 060;
+PROCEDURE DeleteCxObj(co : pCxObj location 'a0'); syscall CxBase 048;
+PROCEDURE DeleteCxObjAll(co : pCxObj location 'a0'); syscall CxBase 054;
+PROCEDURE DisposeCxMsg(cxm : pCxMsg location 'a0'); syscall CxBase 168;
+PROCEDURE DivertCxMsg(cxm : pCxMsg location 'a0'; headObj : pCxObj location 'a1'; returnObj : pCxObj location 'a2'); syscall CxBase 156;
+PROCEDURE EnqueueCxObj(headObj : pCxObj location 'a0'; co : pCxObj location 'a1'); syscall CxBase 090;
+PROCEDURE InsertCxObj(headObj : pCxObj location 'a0'; co : pCxObj location 'a1'; pred : pCxObj location 'a2'); syscall CxBase 096;
+FUNCTION InvertKeyMap(ansiCode : ULONG location 'd0'; event : pInputEvent location 'a0'; km : pKeyMap location 'a1') : LongBool; syscall CxBase 174;
+FUNCTION MatchIX(event : pInputEvent location 'a0'; ix : pInputXpression location 'a1') : LongBool; syscall CxBase 204;
+FUNCTION ParseIX(description : pCHAR location 'a0'; ix : pInputXpression location 'a1') : LONGINT; syscall CxBase 132;
+PROCEDURE RemoveCxObj(co : pCxObj location 'a0'); syscall CxBase 102;
+PROCEDURE RouteCxMsg(cxm : pCxMsg location 'a0'; co : pCxObj location 'a1'); syscall CxBase 162;
+FUNCTION SetCxObjPri(co : pCxObj location 'a0'; pri : LONGINT location 'd0') : LONGINT; syscall CxBase 078;
+PROCEDURE SetFilter(filter : pCxObj location 'a0'; text : pCHAR location 'a1'); syscall CxBase 120;
+PROCEDURE SetFilterIX(filter : pCxObj location 'a0'; ix : pInputXpression location 'a1'); syscall CxBase 126;
+PROCEDURE SetTranslate(translator : pCxObj location 'a0'; events : pInputEvent location 'a1'); syscall CxBase 114;
 
 { overlay functions}
 
-FUNCTION ParseIX(description : string; ix : pInputXpression) : LONGINT;
-PROCEDURE SetFilter(filter : pCxObj; text : string);
+FUNCTION ParseIX(description : rawbytestring; ix : pInputXpression) : LONGINT;
+PROCEDURE SetFilter(filter : pCxObj; text : rawbytestring);
 
 
 IMPLEMENTATION
 
-uses pastoc,amsgbox;
-
-FUNCTION ActivateCxObj(co : pCxObj; tru : LONGINT) : LONGINT;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L co,A0
-    MOVE.L  tru,D0
-    MOVEA.L CxBase,A6
-    JSR -042(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-PROCEDURE AddIEvents(events : pInputEvent);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L events,A0
-    MOVEA.L CxBase,A6
-    JSR -180(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE AttachCxObj(headObj : pCxObj; co : pCxObj);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L headObj,A0
-    MOVEA.L co,A1
-    MOVEA.L CxBase,A6
-    JSR -084(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE ClearCxObjError(co : pCxObj);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L co,A0
-    MOVEA.L CxBase,A6
-    JSR -072(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-FUNCTION CreateCxObj(typ : ULONG; arg1 : LONGINT; arg2 : LONGINT) : pCxObj;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVE.L  typ,D0
-    MOVEA.L arg1,A0
-    MOVEA.L arg2,A1
-    MOVEA.L CxBase,A6
-    JSR -030(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION CxBroker(nb : pNewBroker; error : pCxObj) : pCxObj;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L nb,A0
-    MOVE.L  error,D0
-    MOVEA.L CxBase,A6
-    JSR -036(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION CxMsgData(cxm : pCxMsg) : POINTER;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L cxm,A0
-    MOVEA.L CxBase,A6
-    JSR -144(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION CxMsgID(cxm : pCxMsg) : LONGINT;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L cxm,A0
-    MOVEA.L CxBase,A6
-    JSR -150(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION CxMsgType(cxm : pCxMsg) : ULONG;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L cxm,A0
-    MOVEA.L CxBase,A6
-    JSR -138(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION CxObjError(co : pCxObj) : LONGINT;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L co,A0
-    MOVEA.L CxBase,A6
-    JSR -066(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION CxObjType(co : pCxObj) : ULONG;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L co,A0
-    MOVEA.L CxBase,A6
-    JSR -060(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-PROCEDURE DeleteCxObj(co : pCxObj);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L co,A0
-    MOVEA.L CxBase,A6
-    JSR -048(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE DeleteCxObjAll(co : pCxObj);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L co,A0
-    MOVEA.L CxBase,A6
-    JSR -054(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE DisposeCxMsg(cxm : pCxMsg);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L cxm,A0
-    MOVEA.L CxBase,A6
-    JSR -168(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE DivertCxMsg(cxm : pCxMsg; headObj : pCxObj; returnObj : pCxObj);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L cxm,A0
-    MOVEA.L headObj,A1
-    MOVEA.L returnObj,A2
-    MOVEA.L CxBase,A6
-    JSR -156(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE EnqueueCxObj(headObj : pCxObj; co : pCxObj);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L headObj,A0
-    MOVEA.L co,A1
-    MOVEA.L CxBase,A6
-    JSR -090(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE InsertCxObj(headObj : pCxObj; co : pCxObj; pred : pCxObj);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L headObj,A0
-    MOVEA.L co,A1
-    MOVEA.L pred,A2
-    MOVEA.L CxBase,A6
-    JSR -096(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-FUNCTION InvertKeyMap(ansiCode : ULONG; event : pInputEvent; km : pKeyMap) : BOOLEAN;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVE.L  ansiCode,D0
-    MOVEA.L event,A0
-    MOVEA.L km,A1
-    MOVEA.L CxBase,A6
-    JSR -174(A6)
-    MOVEA.L (A7)+,A6
-    TST.W   D0
-    BEQ.B   @end
-    MOVEQ   #1,D0
-  @end: MOVE.B  D0,@RESULT
-  END;
-END;
-
-FUNCTION MatchIX(event : pInputEvent; ix : pInputXpression) : BOOLEAN;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L event,A0
-    MOVEA.L ix,A1
-    MOVEA.L CxBase,A6
-    JSR -204(A6)
-    MOVEA.L (A7)+,A6
-    TST.W   D0
-    BEQ.B   @end
-    MOVEQ   #1,D0
-  @end: MOVE.B  D0,@RESULT
-  END;
-END;
-
-FUNCTION ParseIX(description : pCHAR; ix : pInputXpression) : LONGINT;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L description,A0
-    MOVEA.L ix,A1
-    MOVEA.L CxBase,A6
-    JSR -132(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-PROCEDURE RemoveCxObj(co : pCxObj);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L co,A0
-    MOVEA.L CxBase,A6
-    JSR -102(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE RouteCxMsg(cxm : pCxMsg; co : pCxObj);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L cxm,A0
-    MOVEA.L co,A1
-    MOVEA.L CxBase,A6
-    JSR -162(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-FUNCTION SetCxObjPri(co : pCxObj; pri : LONGINT) : LONGINT;
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L co,A0
-    MOVE.L  pri,D0
-    MOVEA.L CxBase,A6
-    JSR -078(A6)
-    MOVEA.L (A7)+,A6
-    MOVE.L  D0,@RESULT
-  END;
-END;
-
-PROCEDURE SetFilter(filter : pCxObj; text : pCHAR);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L filter,A0
-    MOVEA.L text,A1
-    MOVEA.L CxBase,A6
-    JSR -120(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE SetFilterIX(filter : pCxObj; ix : pInputXpression);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L filter,A0
-    MOVEA.L ix,A1
-    MOVEA.L CxBase,A6
-    JSR -126(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE SetTranslate(translator : pCxObj; events : pInputEvent);
-BEGIN
-  ASM
-    MOVE.L  A6,-(A7)
-    MOVEA.L translator,A0
-    MOVEA.L events,A1
-    MOVEA.L CxBase,A6
-    JSR -114(A6)
-    MOVEA.L (A7)+,A6
-  END;
-END;
-
+uses amsgbox;
 
-FUNCTION ParseIX(description : string; ix : pInputXpression) : LONGINT;
+FUNCTION ParseIX(description : rawbytestring; ix : pInputXpression) : LONGINT;
 begin
-      ParseIX := ParseIX(pas2c(description),ix);
+  ParseIX := ParseIX(pchar(description),ix);
 end;
 
-PROCEDURE SetFilter(filter : pCxObj; text : string);
+PROCEDURE SetFilter(filter : pCxObj; text : rawbytestring);
 begin
-      SetFilter(filter,pas2c(text));
+  SetFilter(filter,pchar(text));
 end;
 
 {$I useautoopenlib.inc}