Browse Source

+ Initial revision

florian 27 years ago
parent
commit
e529231c8f
2 changed files with 1560 additions and 0 deletions
  1. 694 0
      rtl/palmos/pilot.pp
  2. 866 0
      rtl/palmos/systraps.pp

+ 694 - 0
rtl/palmos/pilot.pp

@@ -0,0 +1,694 @@
+{
+    $Id$
+    This file is part of the Free Pascal run time library.
+    Copyright (c) 1998 by H.M. Swartjes
+    Parts Copyright (c) 1998 by the Free Pascal development team
+
+    Interface unit for PalmOS calls
+    
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ **********************************************************************}
+
+unit Pilot;
+
+interface
+   uses
+      SysTraps;
+
+   const
+
+      BTRUE = 256;
+      BFALSE = 0;
+{events.h}
+      nilEvent = 0;
+      penDownEvent = 1;
+      penUpEvent = 2;
+      penMoveEvent = 3;
+      keyDownEvent = 4;
+      winEnterEvent = 5;
+      winExitEvent = 6;
+      ctlEnterEvent = 7;
+      ctlExitEvent = 8;
+      ctlSelectEvent = 9;
+      ctlRepeatEvent = 10;
+      lstEnterEvent = 11;
+      lstSelectEvent = 12;
+      lstExitEvent = 13;
+      popSelectEvent = 14;
+      fldEnterEvent = 15;
+      fldHeightChangedEvent = 16;
+      fldChangedEvent = 17;
+      tblEnterEvent = 18;
+      tblSelectEvent = 19;
+      daySelectEvent = 20;
+      menuEvent = 21;
+      appStopEvent = 22;
+      frmLoadEvent = 23;
+      frmOpenEvent = 24;
+      frmGotoEvent = 25;
+      frmUpdateEvent = 26;
+      frmSaveEvent = 27;
+      frmCloseEvent = 28;
+      frmTitleEnterEvent = 29;
+      frmTitleSelectEvent = 30;
+      tblExitEvent = 31;
+      sclEnterEvent = 32;
+      sclExitEvent = 33;
+      sclRepeatEvent = 34;
+
+{table.h}
+      checkboxTableItem = 0;
+      customTableItem = 256;
+      dateTableItem = 512;
+      labelTableItem = 768;
+      numericTableItem = 1024;
+      popupTriggerTableItem = 1280;
+      textTableItem = 1536;
+      textWithNoteTableItem = 2048;
+      timeTableItem = 2303;
+
+      AsmTrap = $4e4f;
+      AsmCleanup = $4fef;
+      AsmPushInteger = $3e80;
+      AsmPushLong = $2e80;
+      AsmPushPtr = $2e88;
+
+      NinetySix = -1391668096; { This is the number of seconds on January 1, 1996. Think Pascal doesn't }
+{ know about unsigned longints, so I use this value regularly to put theSeconds in the positive range. }
+
+   type
+      Handle = ^Pointer;
+      UInt = word;
+      OsType = UInt;
+
+      Cstring = packed array[1..32] of char;
+      Cstr16 = packed array[1..16] of char;
+      Cstr8 = packed array[1..8] of char;
+      PString = packed record
+            case boolean of
+               true: (
+                     p: String;
+               );
+               false: (
+                     c: array[0..255] of char
+               );
+         end;
+
+      DmSearchStateType = packed array[1..8] of Integer;
+
+      SystemPreferencesType = packed record
+            version: Integer;
+            country: byte;
+            dateFormat: byte;
+            longDateFormat: byte;
+            weekStartDay: byte;
+            timeFormat: byte;
+            numberFormat: byte;
+            autoOffDuration: byte;
+            sysSoundLevel: byte;
+            alarmSoundLevel: byte;
+            hideSecretRecords: byte;
+            deviceLocked: byte;
+            sysPrefFlags: Integer;
+            sysBatteryKind: byte;
+         end;
+
+      RectangleType = record
+            left: Integer;
+            top: Integer;
+            width: Integer;
+            Height: Integer;
+         end;
+
+      DateTimeType = packed record
+            second: Integer;
+            minute: Integer;
+            hour: Integer;
+            day: Integer;
+            month: Integer;
+            year: Integer;
+            weekDay: Integer;
+         end;
+
+      TimeType = packed record
+            hours: Byte;
+            Minues: Byte;
+         end;
+
+      SysAppInfoType = packed record
+            cmd: Integer;
+            cmdPBP: Ptr;
+            launchFlags: Integer;
+            taskID: Longint;
+            codeH: Handle;
+            dbP: Integer;
+            stackP: Ptr;
+            globalsChunkP: Ptr;
+            memOwnerID: Integer;
+            dmAccessP: Ptr;
+            dmLastErr: Integer;
+            errExceptionP: Ptr
+         end;
+
+      SysAppInfoPtr = ^SySAppInfoType;
+
+      ListType = packed record
+            id: integer;
+            Left: Integer;
+            Top: Integer;
+            Width: Integer;
+            Height: Integer;
+            attr: byte;
+            padding: byte;
+            itemsText: longint;
+            numItems: integer;
+            currentItem: integer;
+            topItem: integer;
+            font: integer;
+            popupWin: longint;
+            drawItemsCallback: longint;
+         end;
+
+      ListPtr = ^ListType;
+
+      ControlType = packed record
+            id: integer;
+            Left: Integer;
+            Top: Integer;
+            Width: Integer;
+            Height: Integer;
+            text: Longint;
+            attr: integer;
+            style: byte;
+            font: byte;
+            group: byte;
+            padding: byte;
+         end;
+
+      ControlPtr = ^ControlType;
+
+      eventType = packed record
+            eType: Integer;
+            penDown: Boolean;
+            screenX: Integer;
+            screenY: Integer;
+            case Integer of
+               0: (
+                     data1, data2, data3, data4, data5, data6, data7, data8: Integer
+               );
+               penUpEvent: (
+                     startX, startY, endX, endY: Integer
+               );
+               ctlSelectEvent: (
+                     controlID: Integer;
+                     pControl: Ptr;
+                     on: Boolean
+               );
+               menuEvent: (
+                     itemID: Integer;
+               );
+               frmLoadEvent: (
+                     formID: Integer
+               );
+               lstEnterEvent: (
+                     listID: Integer;
+                     pList: Ptr;
+                     selection: Integer;
+               );
+               tblSelectEvent: (
+                     tableID: Integer;
+                     pTable: Ptr;
+                     row: Integer;
+                     column: Integer;
+               );
+               popSelectEvent: (
+                     popControlID: Integer;
+                     controlP: Ptr;
+                     popListID: Integer;
+                     listP: Ptr;
+                     popSelection: Integer;
+                     priorSelection: Integer;
+               );
+               keyDownEvent: (
+                     chr: Integer;
+                     keyCode: Integer;
+                     modifiers: Integer;
+               );
+               sclEnterEvent, sclExitEvent, sclRepeatEvent: (
+                     scrollBarID: Integer;
+                     scrollBar: Ptr;
+                     value, newValue: Integer;
+                     time: LongInt;
+               );
+         end;
+
+      CustomPatternType = array[1..2] of LongInt;
+
+{ ------------- Alm ------------- }
+
+   function AlmGetAlarm (var ref: LongInt; id: LongInt; card: Integer): Longint;
+     syscall SysTrapAlmGetAlarm;
+
+   procedure AlmSetAlarm (quiet: Integer; theSeconds: Longint; ref: LongInt; id: Longint; card: Integer);
+      syscall SysTrapAlmSetAlarm;
+
+{ ------------- Ctl ------------- }
+   function CtlGetLabel (ControlP: Ptr): Ptr;
+     syscall SysTrapCtlGetLabel;
+
+   function CtlGetValue (ControlP: Ptr): Integer;
+      syscall SysTrapCtlGetValue;
+
+   procedure CtlHideControl (ControlP: Ptr);
+      syscall SysTrapCtlHideControl;
+
+   procedure CtlSetLabel (newLabel: Ptr; ControlP: Ptr);
+      syscall SysTrapCtlSetLabel;
+
+   procedure CtlSetUsable (status: Integer; ControlP: Ptr);
+      syscall SysTrapCtlSetUsable;
+
+   procedure CtlSetValue (newValue: Integer; ControlP: Ptr);
+      syscall SysTrapCtlSetValue;
+
+   procedure CtlShowControl (ControlP: Ptr);
+      syscall SysTrapCtlShowControl;
+
+{ ------------- Dm ------------- }
+
+   procedure DmCloseDatabase (db: Ptr);
+      syscall SysTrapDmCloseDatabase;
+
+   function DmCreateDatabase (resDB: Integer; theType, theCreator: OSType; theName: Ptr; cardNo: Integer): Integer;
+      syscall SysTrapDmCreateDatabase;
+
+   function DmDatabaseInfo (theCreator, theType, sortInfoID, appInfoID, modNum, bckUpDate, modDate, crDate, version, attributes, theName: Ptr; dbID: LongInt; cardNo: Integer): Integer;
+      syscall SysTrapDmDatabaseInfo;
+
+   function DmDeleteDatabase (localID: LongInt; cardNo: Integer): Integer;
+      syscall SysTrapDmDeleteDatabase;
+
+   procedure DmDeleteRecord (index: Integer; db: Ptr);
+      syscall SysTrapDmDeleteRecord;
+
+   function DmFindDatabase (theName: Ptr; cardNo: Integer): LongInt;
+      syscall SysTrapDmFindDatabase;
+
+   function DmGetNextDatabaseByTypeCreator (var dbID: LongInt; var cardNo: Integer; onlyLatestVersion: Integer; creator, myType: OSType; stateInfo: DmSearchStateType; newSearch: Integer): Integer;
+      syscall SysTrapDmGetNextDatabaseByTypeCreator;
+
+   function DmGetRecord (index: Integer; db: Ptr): Ptr;
+      syscall SysTrapDmGetRecord;
+
+   function DmGet1Resource (ID: Integer; ResType: OSType): Ptr;
+      syscall SysTrapDmGet1Resource;
+
+   function DmNewRecord (size: Longint; var at: Integer; db: Ptr): Ptr;
+      syscall SysTrapDmNewRecord;
+
+   function DmNumRecords (db: Ptr): Integer;
+      syscall SysTrapDmNumRecords;
+
+   function DmNumRecordsInCategory (category: Integer; db: Ptr): Integer;
+      syscall SysTrapDmNumRecordsInCategory;
+
+   function DmOpenDatabase (mode: Integer; dbID: Ptr; cardNo: Integer): Ptr;
+      syscall SysTrapDmOpenDatabase;
+
+   function DmOpenDatabaseByTypeCreator (mode: Integer; theCreator, theType: OSType): Ptr;
+      syscall SysTrapDmOpenDatabaseByTypeCreator;
+
+{mode=1:read, 2:write; 3:readWrite}
+
+   function DmOpenDatabaseInfo (resDB, cardNo, mode, openCount, dbID, db: Ptr): Integer;
+      syscall SysTrapDmOpenDatabaseInfo;
+
+   function DmQueryNextInCategory (category: Integer; var index: Integer; db: Ptr): Ptr;
+      syscall SysTrapDmQueryNextInCategory;
+
+   function DmQueryRecord (index: Integer; db: Ptr): Ptr;
+      syscall SysTrapDmQueryRecord;
+
+   function DmRecordInfo (localIDP, chunkIDP: Ptr; var attr: Integer; index: Integer; db: Ptr): Integer;
+      syscall SysTrapDmRecordInfo;
+
+   procedure DmReleaseRecord (dirty, index: Integer; db: Ptr);
+      syscall SysTrapDmReleaseRecord;
+
+   procedure DmRemoveRecord (index: Integer; db: Ptr);
+      syscall SysTrapDmRemoveRecord;
+
+   function DmSeekRecordInCategory (Category, Direction, Offset: Integer; var Index: Integer; dbRef: Ptr): Integer;
+      syscall SysTrapDmSeekRecordInCategory;
+
+   function DmSet (byteValue: Integer; bytes, offset: LongInt; recordP: Ptr): Integer;
+      syscall SysTrapDmSet;
+
+   function DmSetDatabaseInfo (theCreator, theType, sortInfoID, appInfoID, modNum, bckUpDate, modDate, crDate, version, attributes, theName: Ptr; dbID: LongInt; cardNo: Integer): Integer;
+      syscall SysTrapDmSetDatabaseInfo;
+
+   function DmSetRecordInfo (localIDP: Ptr; var attr: Integer; index: Integer; db: Ptr): Integer;
+      syscall SysTrapDmSetRecordInfo;
+
+   function DmWrite (bytes: LongInt; src: Ptr; offset: LongInt; recordP: Ptr): Integer;
+      syscall SysTrapDmWrite;
+
+{ ------------- Evt ------------- }
+
+   procedure EvtGetEvent (timeOut: LongInt; var event: EventType);
+      syscall SysTrapEvtGetEvent;
+
+   procedure EvtFlushPenQueue;
+      syscall SysTrapEvtFlushPenQueue;
+
+{ ------------- Fld ------------- }
+
+   procedure FldCopy (fld: Ptr);
+      syscall SysTrapFldCopy;
+
+   procedure FldCut (fld: Ptr);
+      syscall SysTrapFldCut;
+
+   procedure FldDelete (last, first: Integer; fld: Ptr);
+      syscall SysTrapFldDelete;
+
+   procedure FldEraseField (fld: Ptr);
+      syscall SysTrapFldEraseField;
+
+   function FldGetTextHandle (fld: Ptr): Ptr;
+      syscall SysTrapFldGetTextHandle;
+
+   function FldGetTextLength (fld: Ptr): Integer;
+      syscall SysTrapFldGetTextLength;
+
+   function FldGetTextPtr (fld: Ptr): Ptr;
+      syscall SysTrapFldGetTextPtr;
+
+   procedure FldGrabFocus (fld: Ptr);
+      syscall SysTrapFldGrabFocus;
+
+   function FldInsert (insertLen: Integer; insertChars, FieldPtr: Ptr): Integer;
+      syscall SysTrapFldInsert;
+
+   procedure FldPaste (fld: Ptr);
+      syscall SysTrapFldPaste;
+
+   procedure FldSetInsPtPosition (pos: Integer; fld: Ptr);
+      syscall SysTrapFldSetInsPtPosition;
+
+   procedure FldSetTextPtr (textPtr, fld: Ptr);
+      syscall SysTrapFldSetTextPtr;
+
+   procedure FldSetTextHandle (textHandle, fld: Ptr);
+      syscall SysTrapFldSetTextHandle;
+
+   procedure FldSetSelection (endPosition: Integer; startPosition: Integer; fld: Ptr);
+      syscall SysTrapFldSetSelection;
+
+   procedure FldUndo (fld: Ptr);
+      syscall SysTrapFldUndo;
+
+{ ------------- Fnt ------------- }
+
+   procedure FntCharsInWidth (fit, textLen, width, recText: Ptr);
+      syscall SysTrapFntCharsInWidth;
+
+   function FntCharsWidth (theLength: Integer; theString: Ptr): Integer;
+      syscall SysTrapFntCharsWidth;
+
+   function FntDefineFont (fontP: Ptr; FontID: Integer): Integer;
+      syscall SysTrapFntDefineFont;
+
+   function FntSetFont (fontID: Integer): Integer;
+      syscall SysTrapFntSetFont;
+
+{ ------------- Frm ------------- }
+
+   function FrmAlert (alertID: Integer): Integer;
+      syscall SysTrapFrmAlert;
+
+   procedure FrmCloseAllForms;
+      syscall SysTrapFrmCloseAllForms;
+
+   procedure FrmDeleteForm (frm: Ptr);
+      syscall SysTrapFrmDeleteForm;
+
+   procedure FrmDoDialog (theForm: Ptr);
+      syscall SysTrapFrmDoDialog;
+
+   procedure FrmDrawForm (theForm: Ptr);
+      syscall SysTrapFrmDrawForm;
+
+   function FrmGetActiveForm: Ptr;
+      syscall SysTrapFrmGetActiveForm;
+
+   function FrmGetActiveFormID: Integer;
+      syscall SysTrapFrmGetActiveFormID;
+
+   function FrmGetFocus (theForm: Ptr): Integer;
+      syscall sysTrapFrmGetFocus;
+
+   function FrmGetFormPtr (id: Integer): Ptr;
+      syscall SysTrapFrmGetFormPtr;
+
+   function FrmGetObjectID (ObjIndex: Integer; frm: Ptr): Integer;
+      syscall SysTrapFrmGetObjectID;
+
+   function FrmGetObjectIndex (ObjID: Integer; frm: Ptr): Integer;
+      syscall SysTrapFrmGetObjectIndex;
+
+   function FrmGetObjectPtr (ObjIndex: Integer; frm: Ptr): Ptr;
+      syscall SysTrapFrmGetObjectPtr;
+
+   procedure FrmGotoForm (frmID: integer);
+      syscall SysTrapFrmGotoForm;
+
+   function FrmHandleEvent (event: eventType; frm: Ptr): Integer;
+      syscall SysTrapFrmHandleEvent;
+
+   procedure FrmHideObject (objIndex: Integer; frm: Ptr);
+      syscall SysTrapFrmHideObject;
+
+   function FrmInitForm (frmID: integer): Ptr;
+      syscall SysTrapFrmInitForm;
+
+   procedure FrmPopupForm (frmID: integer);
+      syscall SysTrapFrmPopupForm;
+
+   procedure FrmReturnToForm (frmID: integer);
+      syscall SysTrapFrmReturnToForm;
+
+   procedure FrmSetActiveForm (theForm: Ptr);
+      syscall SysTrapFrmSetActiveForm;
+
+   procedure FrmSetFocus (fieldIndex: Integer; frm: Ptr);
+      syscall sysTrapFrmSetFocus;
+
+   procedure FrmShowObject (objIndex: Integer; frm: Ptr);
+      syscall SysTrapFrmShowObject;
+
+{ ------------- Grf ------------- }
+
+   procedure GrfSetState (upperShift, numLock, capsLock: Integer);
+      syscall sysTrapGrfSetState;
+
+{ ------------- Lst ------------- }
+
+   function LstGetSelection (theList: Ptr): Integer;
+      syscall SysTrapLstGetSelection;
+
+   function LstGetSelectionText (itemNum: Integer; theList: Ptr): Ptr;
+      syscall SysTrapLstGetSelectionText;
+
+   procedure LstSetHeight (visibleItems: Integer; theList: Ptr);
+      syscall SysTrapLstSetHeight;
+
+   procedure LstSetListChoices (numItems: Integer; LstArray: Ptr; theList: Ptr);
+      syscall SysTrapLstSetListChoices;
+
+   procedure LstSetPosition (y, x: Integer; theList: Ptr);
+      syscall SysTrapLstSetPosition;
+
+   procedure LstSetSelection (itemNum: Integer; theList: Ptr);
+      syscall SysTrapLstSetSelection;
+
+{ ------------- Mem ------------- }
+
+   function MemHandleLock (h: Ptr): Ptr;
+      syscall SysTrapMemHandleLock;
+
+   function MemHandleNew (size: LongInt): Ptr;
+      syscall SysTrapMemHandleNew;
+
+   function MemHandleResize (size: LongInt; h: Ptr): Integer;
+      syscall SysTrapMemHandleResize;
+
+   procedure MemMove (length: LongInt; source, dest: Ptr);
+      syscall SysTrapMemMove;
+
+   function MemHandleUnLock (h: Ptr): Integer;
+      syscall SysTrapMemHandleUnLock;
+
+   function MemPtrUnlock (p: Ptr): Integer;
+      syscall SysTrapMemPtrUnlock;
+
+{ ------------- Menu ------------- }
+
+   procedure MenuDispose (theMenu: Ptr);
+      syscall SysTrapMenuDispose;
+
+   function MenuGetActiveMenu: Ptr;
+      syscall SysTrapMenuGetActiveMenu;
+
+   procedure MenuEraseStatus (theMenu: Ptr);
+      syscall SysTrapMenuEraseStatus;
+
+   function MenuHandleEvent (var error: Integer; event: eventType; menuP: Ptr): Integer;
+      syscall SysTrapMenuHandleEvent;
+
+   function MenuInit (menuID: Integer): Ptr;
+      syscall SysTrapMenuInit;
+
+   function MenuSetActiveMenu (theMenu: Ptr): Ptr;
+      syscall SysTrapMenuSetActiveMenu;
+
+{ ------------- Pref ------------- }
+
+   procedure PrefGetPreferences (var prefs: SystemPreferencesType);
+      syscall SysTrapPrefGetPreferences;
+
+   function PrefGetAppPreferencesV10 (prefsSize: Integer; prefs: Ptr; version: Integer; Creator: OSType): Integer;
+      syscall SysTrapPrefGetAppPreferencesV10;
+
+   procedure PrefSetAppPreferencesV10 (prefsSize: Integer; prefs: Ptr; version: Integer; Creator: OSType);
+      syscall SysTrapPrefSetAppPreferencesV10;
+
+{ ------------- Scroll ------------- }
+
+   procedure SclDrawScrollBar (theBar: Ptr);
+      syscall sysTrapSclDrawScrollBar;
+
+   function SclHandleEvent (event: eventType; ScrollBar: Ptr): Integer;
+      syscall SysTrapSclHandleEvent;
+
+   procedure SclSetScrollBar (pageSize, max, min, value: Integer; theBar: Ptr);
+      syscall sysTrapSclSetScrollBar;
+
+{ ------------- Snd ------------- }
+
+   procedure SndPlaySystemSound (beepID: Byte);
+      syscall SysTrapSndPlaySystemSound;
+
+{ ------------- Str ------------- }
+
+   procedure StrCopy (s, d: Ptr);
+      syscall SysTrapStrCopy;
+
+   procedure StrIToA (i: Longint; s: Ptr);
+      syscall SysTrapStrIToA;
+
+   function StrLen (s: Ptr): Integer;
+      syscall SysTrapStrLen;
+
+{ ------------- Sys ------------- }
+
+   procedure SysCurAppDatabase (var id: Longint; var card: Integer);
+      syscall SysTrapSysCurAppDatabase;
+
+   function SysFormPointerArrayToStrings (numFields: Integer; p: Ptr): Ptr;
+      syscall SysTrapSysFormPointerArrayToStrings;
+
+   function SysHandleEvent (event: eventType): Integer;
+      syscall SysTrapSysHandleEvent;
+
+   procedure SysKeyboardDialog;
+      syscall SysTrapSysKeyboardDialog;
+
+   function SysUIAppSwitch (cmdPBP: Ptr; cmd: Integer; dbID: LongInt; cardNo: Integer): Integer;
+      syscall SysTrapSysUIAppSwitch;
+
+{ ------------- Tbl ------------- }
+
+   procedure TblDrawTable (table: Ptr);
+      syscall SysTrapTblDrawTable;
+
+   function TblGetItemInt (column, row: Integer; table: Ptr): Integer;
+      syscall SysTrapTblGetItemInt;
+
+   function TblGetNumberOfRows (table: Ptr): Integer;
+      syscall SysTrapTblGetNumberOfRows;
+
+   procedure TblSetColumnUsable (usable, row: Integer; table: Ptr);
+      syscall SysTrapTblSetColumnUsable;
+
+   procedure TblSetItemInt (value, column, row: Integer; table: Ptr);
+      syscall SysTrapTblSetItemInt;
+
+   procedure TblSetItemPtr (thePtr: Ptr; column, row: Integer; table: Ptr);
+      syscall SysTrapTblSetItemPtr;
+
+   procedure TblSetItemStyle (style, column, row: Integer; table: Ptr);
+      syscall SysTrapTblSetItemStyle;
+
+   procedure TblSetRowSelectable (selectable, row: Integer; table: Ptr);
+      syscall SysTrapTblSetRowSelectable;
+
+   procedure TblSetRowUsable (usable, row: Integer; table: Ptr);
+      syscall SysTrapTblSetRowUsable;
+
+{ ------------- Tim ------------- }
+
+   function DaysInMonth (year, month: Integer): Integer;
+      syscall SysTrapDaysInMonth;
+
+   function DayOfWeek (year, day, month: Integer): Integer;
+      syscall SysTrapDayOfWeek;
+
+   function TimDateTimeToSeconds (var dt: DateTimeType): LongInt;
+      syscall SysTrapTimDateTimeToSeconds;
+
+   function TimGetSeconds: LongInt;
+      syscall SysTrapTimGetSeconds;
+
+   procedure TimSetSeconds (theSeconds: LongInt);
+      syscall SysTrapTimSetSeconds;
+
+   procedure TimSecondsToDateTime (var dt: DateTimeType; theSecs: Longint);
+      syscall SysTrapTimSecondsToDateTime;
+
+{ ------------- Win ------------- }
+
+   procedure WinDrawChars (y, x, len: Integer; theString: Ptr);
+      syscall SysTrapWinDrawChars;
+
+   procedure WinDrawGrayRectangleFrame (var theRect: Rectangletype; frameType: Integer);
+      syscall SysTrapWinDrawGrayRectangleFrame;
+
+   procedure WinDrawRectangle (cornerDiam: Integer; var theRect: Rectangletype);
+      syscall SysTrapWinDrawRectangle;
+
+   procedure WinEraseRectangle (corenerDiam: Integer; var theRect: Rectangletype);
+      syscall SysTrapWinEraseRectangle;
+
+   procedure WinFillRectangle (cornerDiam: Integer; var theRect: Rectangletype);
+      syscall SysTrapWinFillRectangle;
+
+   procedure WinSetPattern (var pattern: CustomPatternType);
+      syscall SysTrapWinSetPattern;
+
+
+implementation
+
+end.
+{
+  $Log$
+  Revision 1.1  1998-10-14 14:30:03  florian
+    + Initial revision
+
+}

+ 866 - 0
rtl/palmos/systraps.pp

@@ -0,0 +1,866 @@
+{ $Id$ 
+  adapted for use with Free Pascal by Florian Klaempfl
+}
+{ -------------------------------------------------- }
+{ Copyright 1998 by H.M. Swartjes         }
+{ Part of project Leave, release  17-8-98 }
+
+unit SysTraps;
+
+interface
+	const
+		sysTrapMemInit = $A000;
+		sysTrapMemInitHeapTable = $A001;
+		sysTrapMemStoreInit = $A002;
+		sysTrapMemCardFormat = $A003;
+		sysTrapMemCardInfo = $A004;
+		sysTrapMemStoreInfo = $A005;
+		sysTrapMemStoreSetInfo = $A006;
+		sysTrapMemNumHeaps = $A007;
+		sysTrapMemNumRAMHeaps = $A008;
+		sysTrapMemHeapID = $A009;
+		sysTrapMemHeapPtr = $A00A;
+		sysTrapMemHeapFreeBytes = $A00B;
+		sysTrapMemHeapSize = $A00C;
+		sysTrapMemHeapFlags = $A00D;
+		sysTrapMemHeapCompact = $A00E;
+		sysTrapMemHeapInit = $A00F;
+		sysTrapMemHeapFreeByOwnerID = $A010;
+		sysTrapMemChunkNew = $A011;
+		sysTrapMemChunkFree = $A012;
+		sysTrapMemPtrNew = $A013;
+		sysTrapMemPtrRecoverHandle = $A014;
+		sysTrapMemPtrFlags = $A015;
+		sysTrapMemPtrSize = $A016;
+		sysTrapMemPtrOwner = $A017;
+		sysTrapMemPtrHeapID = $A018;
+		sysTrapMemPtrCardNo = $A019;
+		sysTrapMemPtrToLocalID = $A01A;
+		sysTrapMemPtrSetOwner = $A01B;
+		sysTrapMemPtrResize = $A01C;
+		sysTrapMemPtrResetLock = $A01D;
+		sysTrapMemHandleNew = $A01E;
+		sysTrapMemHandleLockCount = $A01F;
+		sysTrapMemHandleToLocalID = $A020;
+		sysTrapMemHandleLock = $A021;
+		sysTrapMemHandleUnlock = $A022;
+		sysTrapMemLocalIDToGlobal = $A023;
+		sysTrapMemLocalIDKind = $A024;
+		sysTrapMemLocalIDToPtr = $A025;
+		sysTrapMemMove = $A026;
+		sysTrapMemSet = $A027;
+		sysTrapMemStoreSearch = $A028;
+		sysTrapMemPtrDataStorage = $A029;
+		sysTrapMemKernelInit = $A02A;
+		sysTrapMemHandleFree = $A02B;
+		sysTrapMemHandleFlags = $A02C;
+		sysTrapMemHandleSize = $A02D;
+		sysTrapMemHandleOwner = $A02E;
+		sysTrapMemHandleHeapID = $A02F;
+		sysTrapMemHandleDataStorage = $A030;
+		sysTrapMemHandleCardNo = $A031;
+		sysTrapMemHandleSetOwner = $A032;
+		sysTrapMemHandleResize = $A033;
+		sysTrapMemHandleResetLock = $A034;
+		sysTrapMemPtrUnlock = $A035;
+		sysTrapMemLocalIDToLockedPtr = $A036;
+		sysTrapMemSetDebugMode = $A037;
+		sysTrapMemHeapScramble = $A038;
+		sysTrapMemHeapCheck = $A039;
+		sysTrapMemNumCards = $A03A;
+		sysTrapMemDebugMode = $A03B;
+		sysTrapMemSemaphoreReserve = $A03C;
+		sysTrapMemSemaphoreRelease = $A03D;
+		sysTrapMemHeapDynamic = $A03E;
+		sysTrapMemNVParams = $A03F;
+		sysTrapDmInit = $A040;
+		sysTrapDmCreateDatabase = $A041;
+		sysTrapDmDeleteDatabase = $A042;
+		sysTrapDmNumDatabases = $A043;
+		sysTrapDmGetDatabase = $A044;
+		sysTrapDmFindDatabase = $A045;
+		sysTrapDmDatabaseInfo = $A046;
+		sysTrapDmSetDatabaseInfo = $A047;
+		sysTrapDmDatabaseSize = $A048;
+		sysTrapDmOpenDatabase = $A049;
+		sysTrapDmCloseDatabase = $A04A;
+		sysTrapDmNextOpenDatabase = $A04B;
+		sysTrapDmOpenDatabaseInfo = $A04C;
+		sysTrapDmResetRecordStates = $A04D;
+		sysTrapDmGetLastErr = $A04E;
+		sysTrapDmNumRecords = $A04F;
+		sysTrapDmRecordInfo = $A050;
+		sysTrapDmSetRecordInfo = $A051;
+		sysTrapDmAttachRecord = $A052;
+		sysTrapDmDetachRecord = $A053;
+		sysTrapDmMoveRecord = $A054;
+		sysTrapDmNewRecord = $A055;
+		sysTrapDmRemoveRecord = $A056;
+		sysTrapDmDeleteRecord = $A057;
+		sysTrapDmArchiveRecord = $A058;
+		sysTrapDmNewHandle = $A059;
+		sysTrapDmRemoveSecretRecords = $A05A;
+		sysTrapDmQueryRecord = $A05B;
+		sysTrapDmGetRecord = $A05C;
+		sysTrapDmResizeRecord = $A05D;
+		sysTrapDmReleaseRecord = $A05E;
+		sysTrapDmGetResource = $A05F;
+		sysTrapDmGet1Resource = $A060;
+		sysTrapDmReleaseResource = $A061;
+		sysTrapDmResizeResource = $A062;
+		sysTrapDmNextOpenResDatabase = $A063;
+		sysTrapDmFindResourceType = $A064;
+		sysTrapDmFindResource = $A065;
+		sysTrapDmSearchResource = $A066;
+		sysTrapDmNumResources = $A067;
+		sysTrapDmResourceInfo = $A068;
+		sysTrapDmSetResourceInfo = $A069;
+		sysTrapDmAttachResource = $A06A;
+		sysTrapDmDetachResource = $A06B;
+		sysTrapDmNewResource = $A06C;
+		sysTrapDmRemoveResource = $A06D;
+		sysTrapDmGetResourceIndex = $A06E;
+		sysTrapDmQuickSort = $A06F;
+		sysTrapDmQueryNextInCategory = $A070;
+		sysTrapDmNumRecordsInCategory = $A071;
+		sysTrapDmPositionInCategory = $A072;
+		sysTrapDmSeekRecordInCategory = $A073;
+		sysTrapDmMoveCategory = $A074;
+		sysTrapDmOpenDatabaseByTypeCreator = $A075;
+		sysTrapDmWrite = $A076;
+		sysTrapDmStrCopy = $A077;
+		sysTrapDmGetNextDatabaseByTypeCreator = $A078;
+		sysTrapDmWriteCheck = $A079;
+		sysTrapDmMoveOpenDBContext = $A07A;
+		sysTrapDmFindRecordByID = $A07B;
+		sysTrapDmGetAppInfoID = $A07C;
+		sysTrapDmFindSortPositionV10 = $A07D;
+		sysTrapDmSet = $A07E;
+		sysTrapDmCreateDatabaseFromImage = $A07F;
+		sysTrapDbgSrcMessage = $A080;
+		sysTrapDbgMessage = $A081;
+		sysTrapDbgGetMessage = $A082;
+		sysTrapDbgCommSettings = $A083;
+		sysTrapErrDisplayFileLineMsg = $A084;
+		sysTrapErrSetJump = $A085;
+		sysTrapErrLongJump = $A086;
+		sysTrapErrThrow = $A087;
+		sysTrapErrExceptionList = $A088;
+		sysTrapSysBroadcastActionCode = $A089;
+		sysTrapSysUnimplemented = $A08A;
+		sysTrapSysColdBoot = $A08B;
+		sysTrapSysReset = $A08C;
+		sysTrapSysDoze = $A08D;
+		sysTrapSysAppLaunch = $A08E;
+		sysTrapSysAppStartup = $A08F;
+		sysTrapSysAppExit = $A090;
+		sysTrapSysSetA5 = $A091;
+		sysTrapSysSetTrapAddress = $A092;
+		sysTrapSysGetTrapAddress = $A093;
+		sysTrapSysTranslateKernelErr = $A094;
+		sysTrapSysSemaphoreCreate = $A095;
+		sysTrapSysSemaphoreDelete = $A096;
+		sysTrapSysSemaphoreWait = $A097;
+		sysTrapSysSemaphoreSignal = $A098;
+		sysTrapSysTimerCreate = $A099;
+		sysTrapSysTimerWrite = $A09A;
+		sysTrapSysTaskCreate = $A09B;
+		sysTrapSysTaskDelete = $A09C;
+		sysTrapSysTaskTrigger = $A09D;
+		sysTrapSysTaskID = $A09E;
+		sysTrapSysTaskUserInfoPtr = $A09F;
+		sysTrapSysTaskDelay = $A0A0;
+		sysTrapSysTaskSetTermProc = $A0A1;
+		sysTrapSysUILaunch = $A0A2;
+		sysTrapSysNewOwnerID = $A0A3;
+		sysTrapSysSemaphoreSet = $A0A4;
+		sysTrapSysDisableInts = $A0A5;
+		sysTrapSysRestoreStatus = $A0A6;
+		sysTrapSysUIAppSwitch = $A0A7;
+		sysTrapSysCurAppInfoPV20 = $A0A8;
+		sysTrapSysHandleEvent = $A0A9;
+		sysTrapSysInit = $A0AA;
+		sysTrapSysQSort = $A0AB;
+		sysTrapSysCurAppDatabase = $A0AC;
+		sysTrapSysFatalAlert = $A0AD;
+		sysTrapSysResSemaphoreCreate = $A0AE;
+		sysTrapSysResSemaphoreDelete = $A0AF;
+		sysTrapSysResSemaphoreReserve = $A0B0;
+		sysTrapSysResSemaphoreRelease = $A0B1;
+		sysTrapSysSleep = $A0B2;
+		sysTrapSysKeyboardDialogV10 = $A0B3;
+		sysTrapSysAppLauncherDialog = $A0B4;
+		sysTrapSysSetPerformance = $A0B5;
+		sysTrapSysBatteryInfoV20 = $A0B6;
+		sysTrapSysLibInstall = $A0B7;
+		sysTrapSysLibRemove = $A0B8;
+		sysTrapSysLibTblEntry = $A0B9;
+		sysTrapSysLibFind = $A0BA;
+		sysTrapSysBatteryDialog = $A0BB;
+		sysTrapSysCopyStringResource = $A0BC;
+		sysTrapSysKernelInfo = $A0BD;
+		sysTrapSysLaunchConsole = $A0BE;
+		sysTrapSysTimerDelete = $A0BF;
+		sysTrapSysSetAutoOffTime = $A0C0;
+		sysTrapSysFormPointerArrayToStrings = $A0C1;
+		sysTrapSysRandom = $A0C2;
+		sysTrapSysTaskSwitching = $A0C3;
+		sysTrapSysTimerRead = $A0C4;
+		sysTrapStrCopy = $A0C5;
+		sysTrapStrCat = $A0C6;
+		sysTrapStrLen = $A0C7;
+		sysTrapStrCompare = $A0C8;
+		sysTrapStrIToA = $A0C9;
+		sysTrapStrCaselessCompare = $A0CA;
+		sysTrapStrIToH = $A0CB;
+		sysTrapStrChr = $A0CC;
+		sysTrapStrStr = $A0CD;
+		sysTrapStrAToI = $A0CE;
+		sysTrapStrToLower = $A0CF;
+		sysTrapSerReceiveISP = $A0D0;
+		sysTrapSlkOpen = $A0D1;
+		sysTrapSlkClose = $A0D2;
+		sysTrapSlkOpenSocket = $A0D3;
+		sysTrapSlkCloseSocket = $A0D4;
+		sysTrapSlkSocketRefNum = $A0D5;
+		sysTrapSlkSocketSetTimeout = $A0D6;
+		sysTrapSlkFlushSocket = $A0D7;
+		sysTrapSlkSetSocketListener = $A0D8;
+		sysTrapSlkSendPacket = $A0D9;
+		sysTrapSlkReceivePacket = $A0DA;
+		sysTrapSlkSysPktDefaultResponse = $A0DB;
+		sysTrapSlkProcessRPC = $A0DC;
+		sysTrapConPutS = $A0DD;
+		sysTrapConGetS = $A0DE;
+		sysTrapFplInit = $A0DF;
+		sysTrapFplFree = $A0E0;
+		sysTrapFplFToA = $A0E1;
+		sysTrapFplAToF = $A0E2;
+		sysTrapFplBase10Info = $A0E3;
+		sysTrapFplLongToFloat = $A0E4;
+		sysTrapFplFloatToLong = $A0E5;
+		sysTrapFplFloatToULong = $A0E6;
+		sysTrapFplMul = $A0E7;
+		sysTrapFplAdd = $A0E8;
+		sysTrapFplSub = $A0E9;
+		sysTrapFplDiv = $A0EA;
+		sysTrapScrInit = $A0EB;
+		sysTrapScrCopyRectangle = $A0EC;
+		sysTrapScrDrawChars = $A0ED;
+		sysTrapScrLineRoutine = $A0EE;
+		sysTrapScrRectangleRoutine = $A0EF;
+		sysTrapScrScreenInfo = $A0F0;
+		sysTrapScrDrawNotify = $A0F1;
+		sysTrapScrSendUpdateArea = $A0F2;
+		sysTrapScrCompressScanLine = $A0F3;
+		sysTrapScrDeCompressScanLine = $A0F4;
+		sysTrapTimGetSeconds = $A0F5;
+		sysTrapTimSetSeconds = $A0F6;
+		sysTrapTimGetTicks = $A0F7;
+		sysTrapTimInit = $A0F8;
+		sysTrapTimSetAlarm = $A0F9;
+		sysTrapTimGetAlarm = $A0FA;
+		sysTrapTimHandleInterrupt = $A0FB;
+		sysTrapTimSecondsToDateTime = $A0FC;
+		sysTrapTimDateTimeToSeconds = $A0FD;
+		sysTrapTimAdjust = $A0FE;
+		sysTrapTimSleep = $A0FF;
+		sysTrapTimWake = $A100;
+		sysTrapCategoryCreateListV10 = $A101;
+		sysTrapCategoryFreeListV10 = $A102;
+		sysTrapCategoryFind = $A103;
+		sysTrapCategoryGetName = $A104;
+		sysTrapCategoryEditV10 = $A105;
+		sysTrapCategorySelectV10 = $A106;
+		sysTrapCategoryGetNext = $A107;
+		sysTrapCategorySetTriggerLabel = $A108;
+		sysTrapCategoryTruncateName = $A109;
+		sysTrapClipboardAddItem = $A10A;
+		sysTrapClipboardCheckIfItemExist = $A10B;
+		sysTrapClipboardGetItem = $A10C;
+		sysTrapCtlDrawControl = $A10D;
+		sysTrapCtlEraseControl = $A10E;
+		sysTrapCtlHideControl = $A10F;
+		sysTrapCtlShowControl = $A110;
+		sysTrapCtlGetValue = $A111;
+		sysTrapCtlSetValue = $A112;
+		sysTrapCtlGetLabel = $A113;
+		sysTrapCtlSetLabel = $A114;
+		sysTrapCtlHandleEvent = $A115;
+		sysTrapCtlHitControl = $A116;
+		sysTrapCtlSetEnabled = $A117;
+		sysTrapCtlSetUsable = $A118;
+		sysTrapCtlEnabled = $A119;
+		sysTrapEvtInitialize = $A11A;
+		sysTrapEvtAddEventToQueue = $A11B;
+		sysTrapEvtCopyEvent = $A11C;
+		sysTrapEvtGetEvent = $A11D;
+		sysTrapEvtGetPen = $A11E;
+		sysTrapEvtSysInit = $A11F;
+		sysTrapEvtGetSysEvent = $A120;
+		sysTrapEvtProcessSoftKeyStroke = $A121;
+		sysTrapEvtGetPenBtnList = $A122;
+		sysTrapEvtSetPenQueuePtr = $A123;
+		sysTrapEvtPenQueueSize = $A124;
+		sysTrapEvtFlushPenQueue = $A125;
+		sysTrapEvtEnqueuePenPoint = $A126;
+		sysTrapEvtDequeuePenStrokeInfo = $A127;
+		sysTrapEvtDequeuePenPoint = $A128;
+		sysTrapEvtFlushNextPenStroke = $A129;
+		sysTrapEvtSetKeyQueuePtr = $A12A;
+		sysTrapEvtKeyQueueSize = $A12B;
+		sysTrapEvtFlushKeyQueue = $A12C;
+		sysTrapEvtEnqueueKey = $A12D;
+		sysTrapEvtDequeueKeyEvent = $A12E;
+		sysTrapEvtWakeup = $A12F;
+		sysTrapEvtResetAutoOffTimer = $A130;
+		sysTrapEvtKeyQueueEmpty = $A131;
+		sysTrapEvtEnableGraffiti = $A132;
+		sysTrapFldCopy = $A133;
+		sysTrapFldCut = $A134;
+		sysTrapFldDrawField = $A135;
+		sysTrapFldEraseField = $A136;
+		sysTrapFldFreeMemory = $A137;
+		sysTrapFldGetBounds = $A138;
+		sysTrapFldGetTextPtr = $A139;
+		sysTrapFldGetSelection = $A13A;
+		sysTrapFldHandleEvent = $A13B;
+		sysTrapFldPaste = $A13C;
+		sysTrapFldRecalculateField = $A13D;
+		sysTrapFldSetBounds = $A13E;
+		sysTrapFldSetText = $A13F;
+		sysTrapFldGetFont = $A140;
+		sysTrapFldSetFont = $A141;
+		sysTrapFldSetSelection = $A142;
+		sysTrapFldGrabFocus = $A143;
+		sysTrapFldReleaseFocus = $A144;
+		sysTrapFldGetInsPtPosition = $A145;
+		sysTrapFldSetInsPtPosition = $A146;
+		sysTrapFldSetScrollPosition = $A147;
+		sysTrapFldGetScrollPosition = $A148;
+		sysTrapFldGetTextHeight = $A149;
+		sysTrapFldGetTextAllocatedSize = $A14A;
+		sysTrapFldGetTextLength = $A14B;
+		sysTrapFldScrollField = $A14C;
+		sysTrapFldScrollable = $A14D;
+		sysTrapFldGetVisibleLines = $A14E;
+		sysTrapFldGetAttributes = $A14F;
+		sysTrapFldSetAttributes = $A150;
+		sysTrapFldSendChangeNotification = $A151;
+		sysTrapFldCalcFieldHeight = $A152;
+		sysTrapFldGetTextHandle = $A153;
+		sysTrapFldCompactText = $A154;
+		sysTrapFldDirty = $A155;
+		sysTrapFldWordWrap = $A156;
+		sysTrapFldSetTextAllocatedSize = $A157;
+		sysTrapFldSetTextHandle = $A158;
+		sysTrapFldSetTextPtr = $A159;
+		sysTrapFldGetMaxChars = $A15A;
+		sysTrapFldSetMaxChars = $A15B;
+		sysTrapFldSetUsable = $A15C;
+		sysTrapFldInsert = $A15D;
+		sysTrapFldDelete = $A15E;
+		sysTrapFldUndo = $A15F;
+		sysTrapFldSetDirty = $A160;
+		sysTrapFldSendHeightChangeNotification = $A161;
+		sysTrapFldMakeFullyVisible = $A162;
+		sysTrapFntGetFont = $A163;
+		sysTrapFntSetFont = $A164;
+		sysTrapFntGetFontPtr = $A165;
+		sysTrapFntBaseLine = $A166;
+		sysTrapFntCharHeight = $A167;
+		sysTrapFntLineHeight = $A168;
+		sysTrapFntAverageCharWidth = $A169;
+		sysTrapFntCharWidth = $A16A;
+		sysTrapFntCharsWidth = $A16B;
+		sysTrapFntDescenderHeight = $A16C;
+		sysTrapFntCharsInWidth = $A16D;
+		sysTrapFntLineWidth = $A16E;
+		sysTrapFrmInitForm = $A16F;
+		sysTrapFrmDeleteForm = $A170;
+		sysTrapFrmDrawForm = $A171;
+		sysTrapFrmEraseForm = $A172;
+		sysTrapFrmGetActiveForm = $A173;
+		sysTrapFrmSetActiveForm = $A174;
+		sysTrapFrmGetActiveFormID = $A175;
+		sysTrapFrmGetUserModifiedState = $A176;
+		sysTrapFrmSetNotUserModified = $A177;
+		sysTrapFrmGetFocus = $A178;
+		sysTrapFrmSetFocus = $A179;
+		sysTrapFrmHandleEvent = $A17A;
+		sysTrapFrmGetFormBounds = $A17B;
+		sysTrapFrmGetWindowHandle = $A17C;
+		sysTrapFrmGetFormId = $A17D;
+		sysTrapFrmGetFormPtr = $A17E;
+		sysTrapFrmGetNumberOfObjects = $A17F;
+		sysTrapFrmGetObjectIndex = $A180;
+		sysTrapFrmGetObjectId = $A181;
+		sysTrapFrmGetObjectType = $A182;
+		sysTrapFrmGetObjectPtr = $A183;
+		sysTrapFrmHideObject = $A184;
+		sysTrapFrmShowObject = $A185;
+		sysTrapFrmGetObjectPosition = $A186;
+		sysTrapFrmSetObjectPosition = $A187;
+		sysTrapFrmGetControlValue = $A188;
+		sysTrapFrmSetControlValue = $A189;
+		sysTrapFrmGetControlGroupSelection = $A18A;
+		sysTrapFrmSetControlGroupSelection = $A18B;
+		sysTrapFrmCopyLabel = $A18C;
+		sysTrapFrmSetLabel = $A18D;
+		sysTrapFrmGetLabel = $A18E;
+		sysTrapFrmSetCategoryLabel = $A18F;
+		sysTrapFrmGetTitle = $A190;
+		sysTrapFrmSetTitle = $A191;
+		sysTrapFrmAlert = $A192;
+		sysTrapFrmDoDialog = $A193;
+		sysTrapFrmCustomAlert = $A194;
+		sysTrapFrmHelp = $A195;
+		sysTrapFrmUpdateScrollers = $A196;
+		sysTrapFrmGetFirstForm = $A197;
+		sysTrapFrmVisible = $A198;
+		sysTrapFrmGetObjectBounds = $A199;
+		sysTrapFrmCopyTitle = $A19A;
+		sysTrapFrmGotoForm = $A19B;
+		sysTrapFrmPopupForm = $A19C;
+		sysTrapFrmUpdateForm = $A19D;
+		sysTrapFrmReturnToForm = $A19E;
+		sysTrapFrmSetEventHandler = $A19F;
+		sysTrapFrmDispatchEvent = $A1A0;
+		sysTrapFrmCloseAllForms = $A1A1;
+		sysTrapFrmSaveAllForms = $A1A2;
+		sysTrapFrmGetGadgetData = $A1A3;
+		sysTrapFrmSetGadgetData = $A1A4;
+		sysTrapFrmSetCategoryTrigger = $A1A5;
+		sysTrapUIInitialize = $A1A6;
+		sysTrapUIReset = $A1A7;
+		sysTrapInsPtInitialize = $A1A8;
+		sysTrapInsPtSetLocation = $A1A9;
+		sysTrapInsPtGetLocation = $A1AA;
+		sysTrapInsPtEnable = $A1AB;
+		sysTrapInsPtEnabled = $A1AC;
+		sysTrapInsPtSetHeight = $A1AD;
+		sysTrapInsPtGetHeight = $A1AE;
+		sysTrapInsPtCheckBlink = $A1AF;
+		sysTrapLstSetDrawFunction = $A1B0;
+		sysTrapLstDrawList = $A1B1;
+		sysTrapLstEraseList = $A1B2;
+		sysTrapLstGetSelection = $A1B3;
+		sysTrapLstGetSelectionText = $A1B4;
+		sysTrapLstHandleEvent = $A1B5;
+		sysTrapLstSetHeight = $A1B6;
+		sysTrapLstSetSelection = $A1B7;
+		sysTrapLstSetListChoices = $A1B8;
+		sysTrapLstMakeItemVisible = $A1B9;
+		sysTrapLstGetNumberOfItems = $A1BA;
+		sysTrapLstPopupList = $A1BB;
+		sysTrapLstSetPosition = $A1BC;
+		sysTrapMenuInit = $A1BD;
+		sysTrapMenuDispose = $A1BE;
+		sysTrapMenuHandleEvent = $A1BF;
+		sysTrapMenuDrawMenu = $A1C0;
+		sysTrapMenuEraseStatus = $A1C1;
+		sysTrapMenuGetActiveMenu = $A1C2;
+		sysTrapMenuSetActiveMenu = $A1C3;
+		sysTrapRctSetRectangle = $A1C4;
+		sysTrapRctCopyRectangle = $A1C5;
+		sysTrapRctInsetRectangle = $A1C6;
+		sysTrapRctOffsetRectangle = $A1C7;
+		sysTrapRctPtInRectangle = $A1C8;
+		sysTrapRctGetIntersection = $A1C9;
+		sysTrapTblDrawTable = $A1CA;
+		sysTrapTblEraseTable = $A1CB;
+		sysTrapTblHandleEvent = $A1CC;
+		sysTrapTblGetItemBounds = $A1CD;
+		sysTrapTblSelectItem = $A1CE;
+		sysTrapTblGetItemInt = $A1CF;
+		sysTrapTblSetItemInt = $A1D0;
+		sysTrapTblSetItemStyle = $A1D1;
+		sysTrapTblUnhighlightSelection = $A1D2;
+		sysTrapTblSetRowUsable = $A1D3;
+		sysTrapTblGetNumberOfRows = $A1D4;
+		sysTrapTblSetCustomDrawProcedure = $A1D5;
+		sysTrapTblSetRowSelectable = $A1D6;
+		sysTrapTblRowSelectable = $A1D7;
+		sysTrapTblSetLoadDataProcedure = $A1D8;
+		sysTrapTblSetSaveDataProcedure = $A1D9;
+		sysTrapTblGetBounds = $A1DA;
+		sysTrapTblSetRowHeight = $A1DB;
+		sysTrapTblGetColumnWidth = $A1DC;
+		sysTrapTblGetRowID = $A1DD;
+		sysTrapTblSetRowID = $A1DE;
+		sysTrapTblMarkRowInvalid = $A1DF;
+		sysTrapTblMarkTableInvalid = $A1E0;
+		sysTrapTblGetSelection = $A1E1;
+		sysTrapTblInsertRow = $A1E2;
+		sysTrapTblRemoveRow = $A1E3;
+		sysTrapTblRowInvalid = $A1E4;
+		sysTrapTblRedrawTable = $A1E5;
+		sysTrapTblRowUsable = $A1E6;
+		sysTrapTblReleaseFocus = $A1E7;
+		sysTrapTblEditing = $A1E8;
+		sysTrapTblGetCurrentField = $A1E9;
+		sysTrapTblSetColumnUsable = $A1EA;
+		sysTrapTblGetRowHeight = $A1EB;
+		sysTrapTblSetColumnWidth = $A1EC;
+		sysTrapTblGrabFocus = $A1ED;
+		sysTrapTblSetItemPtr = $A1EE;
+		sysTrapTblFindRowID = $A1EF;
+		sysTrapTblGetLastUsableRow = $A1F0;
+		sysTrapTblGetColumnSpacing = $A1F1;
+		sysTrapTblFindRowData = $A1F2;
+		sysTrapTblGetRowData = $A1F3;
+		sysTrapTblSetRowData = $A1F4;
+		sysTrapTblSetColumnSpacing = $A1F5;
+		sysTrapWinCreateWindow = $A1F6;
+		sysTrapWinCreateOffscreenWindow = $A1F7;
+		sysTrapWinDeleteWindow = $A1F8;
+		sysTrapWinInitializeWindow = $A1F9;
+		sysTrapWinAddWindow = $A1FA;
+		sysTrapWinRemoveWindow = $A1FB;
+		sysTrapWinSetActiveWindow = $A1FC;
+		sysTrapWinSetDrawWindow = $A1FD;
+		sysTrapWinGetDrawWindow = $A1FE;
+		sysTrapWinGetActiveWindow = $A1FF;
+		sysTrapWinGetDisplayWindow = $A200;
+		sysTrapWinGetFirstWindow = $A201;
+		sysTrapWinEnableWindow = $A202;
+		sysTrapWinDisableWindow = $A203;
+		sysTrapWinGetWindowFrameRect = $A204;
+		sysTrapWinDrawWindowFrame = $A205;
+		sysTrapWinEraseWindow = $A206;
+		sysTrapWinSaveBits = $A207;
+		sysTrapWinRestoreBits = $A208;
+		sysTrapWinCopyRectangle = $A209;
+		sysTrapWinScrollRectangle = $A20A;
+		sysTrapWinGetDisplayExtent = $A20B;
+		sysTrapWinGetWindowExtent = $A20C;
+		sysTrapWinDisplayToWindowPt = $A20D;
+		sysTrapWinWindowToDisplayPt = $A20E;
+		sysTrapWinGetClip = $A20F;
+		sysTrapWinSetClip = $A210;
+		sysTrapWinResetClip = $A211;
+		sysTrapWinClipRectangle = $A212;
+		sysTrapWinDrawLine = $A213;
+		sysTrapWinDrawGrayLine = $A214;
+		sysTrapWinEraseLine = $A215;
+		sysTrapWinInvertLine = $A216;
+		sysTrapWinFillLine = $A217;
+		sysTrapWinDrawRectangle = $A218;
+		sysTrapWinEraseRectangle = $A219;
+		sysTrapWinInvertRectangle = $A21A;
+		sysTrapWinDrawRectangleFrame = $A21B;
+		sysTrapWinDrawGrayRectangleFrame = $A21C;
+		sysTrapWinEraseRectangleFrame = $A21D;
+		sysTrapWinInvertRectangleFrame = $A21E;
+		sysTrapWinGetFramesRectangle = $A21F;
+		sysTrapWinDrawChars = $A220;
+		sysTrapWinEraseChars = $A221;
+		sysTrapWinInvertChars = $A222;
+		sysTrapWinGetPattern = $A223;
+		sysTrapWinSetPattern = $A224;
+		sysTrapWinSetUnderlineMode = $A225;
+		sysTrapWinDrawBitmap = $A226;
+		sysTrapWinModal = $A227;
+		sysTrapWinGetWindowBounds = $A228;
+		sysTrapWinFillRectangle = $A229;
+		sysTrapWinDrawInvertedChars = $A22A;
+		sysTrapPrefOpenPreferenceDBV10 = $A22B;
+		sysTrapPrefGetPreferences = $A22C;
+		sysTrapPrefSetPreferences = $A22D;
+		sysTrapPrefGetAppPreferencesV10 = $A22E;
+		sysTrapPrefSetAppPreferencesV10 = $A22F;
+		sysTrapSndInit = $A230;
+		sysTrapSndSetDefaultVolume = $A231;
+		sysTrapSndGetDefaultVolume = $A232;
+		sysTrapSndDoCmd = $A233;
+		sysTrapSndPlaySystemSound = $A234;
+		sysTrapAlmInit = $A235;
+		sysTrapAlmCancelAll = $A236;
+		sysTrapAlmAlarmCallback = $A237;
+		sysTrapAlmSetAlarm = $A238;
+		sysTrapAlmGetAlarm = $A239;
+		sysTrapAlmDisplayAlarm = $A23A;
+		sysTrapAlmEnableNotification = $A23B;
+		sysTrapHwrGetRAMMapping = $A23C;
+		sysTrapHwrMemWritable = $A23D;
+		sysTrapHwrMemReadable = $A23E;
+		sysTrapHwrDoze = $A23F;
+		sysTrapHwrSleep = $A240;
+		sysTrapHwrWake = $A241;
+		sysTrapHwrSetSystemClock = $A242;
+		sysTrapHwrSetCPUDutyCycle = $A243;
+		sysTrapHwrLCDInit = $A244;
+		sysTrapHwrLCDSleep = $A245;
+		sysTrapHwrTimerInit = $A246;
+		sysTrapHwrCursor = $A247;
+		sysTrapHwrBatteryLevel = $A248;
+		sysTrapHwrDelay = $A249;
+		sysTrapHwrEnableDataWrites = $A24A;
+		sysTrapHwrDisableDataWrites = $A24B;
+		sysTrapHwrLCDBaseAddr = $A24C;
+		sysTrapHwrLCDDrawBitmap = $A24D;
+		sysTrapHwrTimerSleep = $A24E;
+		sysTrapHwrTimerWake = $A24F;
+		sysTrapHwrLCDWake = $A250;
+		sysTrapHwrIRQ1Handler = $A251;
+		sysTrapHwrIRQ2Handler = $A252;
+		sysTrapHwrIRQ3Handler = $A253;
+		sysTrapHwrIRQ4Handler = $A254;
+		sysTrapHwrIRQ5Handler = $A255;
+		sysTrapHwrIRQ6Handler = $A256;
+		sysTrapHwrDockSignals = $A257;
+		sysTrapHwrPluggedIn = $A258;
+		sysTrapCrc16CalcBlock = $A259;
+		sysTrapSelectDayV10 = $A25A;
+		sysTrapSelectTime = $A25B;
+		sysTrapDayDrawDaySelector = $A25C;
+		sysTrapDayHandleEvent = $A25D;
+		sysTrapDayDrawDays = $A25E;
+		sysTrapDayOfWeek = $A25F;
+		sysTrapDaysInMonth = $A260;
+		sysTrapDayOfMonth = $A261;
+		sysTrapDateDaysToDate = $A262;
+		sysTrapDateToDays = $A263;
+		sysTrapDateAdjust = $A264;
+		sysTrapDateSecondsToDate = $A265;
+		sysTrapDateToAscii = $A266;
+		sysTrapDateToDOWDMFormat = $A267;
+		sysTrapTimeToAscii = $A268;
+		sysTrapFind = $A269;
+		sysTrapFindStrInStr = $A26A;
+		sysTrapFindSaveMatch = $A26B;
+		sysTrapFindGetLineBounds = $A26C;
+		sysTrapFindDrawHeader = $A26D;
+		sysTrapPenOpen = $A26E;
+		sysTrapPenClose = $A26F;
+		sysTrapPenGetRawPen = $A270;
+		sysTrapPenCalibrate = $A271;
+		sysTrapPenRawToScreen = $A272;
+		sysTrapPenScreenToRaw = $A273;
+		sysTrapPenResetCalibration = $A274;
+		sysTrapPenSleep = $A275;
+		sysTrapPenWake = $A276;
+		sysTrapResLoadForm = $A277;
+		sysTrapResLoadMenu = $A278;
+		sysTrapFtrInit = $A279;
+		sysTrapFtrUnregister = $A27A;
+		sysTrapFtrGet = $A27B;
+		sysTrapFtrSet = $A27C;
+		sysTrapFtrGetByIndex = $A27D;
+		sysTrapGrfInit = $A27E;
+		sysTrapGrfFree = $A27F;
+		sysTrapGrfGetState = $A280;
+		sysTrapGrfSetState = $A281;
+		sysTrapGrfFlushPoints = $A282;
+		sysTrapGrfAddPoint = $A283;
+		sysTrapGrfInitState = $A284;
+		sysTrapGrfCleanState = $A285;
+		sysTrapGrfMatch = $A286;
+		sysTrapGrfGetMacro = $A287;
+		sysTrapGrfFilterPoints = $A288;
+		sysTrapGrfGetNumPoints = $A289;
+		sysTrapGrfGetPoint = $A28A;
+		sysTrapGrfFindBranch = $A28B;
+		sysTrapGrfMatchGlyph = $A28C;
+		sysTrapGrfGetGlyphMapping = $A28D;
+		sysTrapGrfGetMacroName = $A28E;
+		sysTrapGrfDeleteMacro = $A28F;
+		sysTrapGrfAddMacro = $A290;
+		sysTrapGrfGetAndExpandMacro = $A291;
+		sysTrapGrfProcessStroke = $A292;
+		sysTrapGrfFieldChange = $A293;
+		sysTrapGetCharSortValue = $A294;
+		sysTrapGetCharAttr = $A295;
+		sysTrapGetCharCaselessValue = $A296;
+		sysTrapPwdExists = $A297;
+		sysTrapPwdVerify = $A298;
+		sysTrapPwdSet = $A299;
+		sysTrapPwdRemove = $A29A;
+		sysTrapGsiInitialize = $A29B;
+		sysTrapGsiSetLocation = $A29C;
+		sysTrapGsiEnable = $A29D;
+		sysTrapGsiEnabled = $A29E;
+		sysTrapGsiSetShiftState = $A29F;
+		sysTrapKeyInit = $A2A0;
+		sysTrapKeyHandleInterrupt = $A2A1;
+		sysTrapKeyCurrentState = $A2A2;
+		sysTrapKeyResetDoubleTap = $A2A3;
+		sysTrapKeyRates = $A2A4;
+		sysTrapKeySleep = $A2A5;
+		sysTrapKeyWake = $A2A6;
+		sysTrapDlkControl = $A2A7;
+		sysTrapDlkStartServer = $A2A8;
+		sysTrapDlkGetSyncInfo = $A2A9;
+		sysTrapDlkSetLogEntry = $A2AA;
+		sysTrapUnused2 = $A2AB;
+		sysTrapSysLibLoad = $A2AC;
+		sysTrapSndPlaySmf = $A2AD;
+		sysTrapSndCreateMidiList = $A2AE;
+		sysTrapAbtShowAbout = $A2AF;
+		sysTrapMdmDial = $A2B0;
+		sysTrapMdmHangUp = $A2B1;
+		sysTrapDmSearchRecord = $A2B2;
+		sysTrapSysInsertionSort = $A2B3;
+		sysTrapDmInsertionSort = $A2B4;
+		sysTrapLstSetTopItem = $A2B5;
+		sysTrapSclSetScrollBar = $A2B6;
+		sysTrapSclDrawScrollBar = $A2B7;
+		sysTrapSclHandleEvent = $A2B8;
+		sysTrapSysMailboxCreate = $A2B9;
+		sysTrapSysMailboxDelete = $A2BA;
+		sysTrapSysMailboxFlush = $A2BB;
+		sysTrapSysMailboxSend = $A2BC;
+		sysTrapSysMailboxWait = $A2BD;
+		sysTrapSysTaskWait = $A2BE;
+		sysTrapSysTaskWake = $A2BF;
+		sysTrapSysTaskWaitClr = $A2C0;
+		sysTrapSysTaskSuspend = $A2C1;
+		sysTrapSysTaskResume = $A2C2;
+		sysTrapCategoryCreateList = $A2C3;
+		sysTrapCategoryFreeList = $A2C4;
+		sysTrapCategoryEditV20 = $A2C5;
+		sysTrapCategorySelect = $A2C6;
+		sysTrapDmDeleteCategory = $A2C7;
+		sysTrapSysEvGroupCreate = $A2C8;
+		sysTrapSysEvGroupSignal = $A2C9;
+		sysTrapSysEvGroupRead = $A2CA;
+		sysTrapSysEvGroupWait = $A2CB;
+		sysTrapEvtEventAvail = $A2CC;
+		sysTrapEvtSysEventAvail = $A2CD;
+		sysTrapStrNCopy = $A2CE;
+		sysTrapKeySetMask = $A2CF;
+		sysTrapSelectDay = $A2D0;
+		sysTrapPrefGetPreference = $A2D1;
+		sysTrapPrefSetPreference = $A2D2;
+		sysTrapPrefGetAppPreferences = $A2D3;
+		sysTrapPrefSetAppPreferences = $A2D4;
+		sysTrapFrmPointInTitle = $A2D5;
+		sysTrapStrNCat = $A2D6;
+		sysTrapMemCmp = $A2D7;
+		sysTrapTblSetColumnEditIndicator = $A2D8;
+		sysTrapFntWordWrap = $A2D9;
+		sysTrapFldGetScrollValues = $A2DA;
+		sysTrapSysCreateDataBaseList = $A2DB;
+		sysTrapSysCreatePanelList = $A2DC;
+		sysTrapDlkDispatchRequest = $A2DD;
+		sysTrapStrPrintF = $A2DE;
+		sysTrapStrVPrintF = $A2DF;
+		sysTrapPrefOpenPreferenceDB = $A2E0;
+		sysTrapSysGraffitiReferenceDialog = $A2E1;
+		sysTrapSysKeyboardDialog = $A2E2;
+		sysTrapFntWordWrapReverseNLines = $A2E3;
+		sysTrapFntGetScrollValues = $A2E4;
+		sysTrapTblSetRowStaticHeight = $A2E5;
+		sysTrapTblHasScrollBar = $A2E6;
+		sysTrapSclGetScrollBar = $A2E7;
+		sysTrapFldGetNumberOfBlankLines = $A2E8;
+		sysTrapSysTicksPerSecond = $A2E9;
+		sysTrapHwrBacklight = $A2EA;
+		sysTrapDmDatabaseProtect = $A2EB;
+		sysTrapTblSetBounds = $A2EC;
+		sysTrapStrNCompare = $A2ED;
+		sysTrapStrNCaselessCompare = $A2EE;
+		sysTrapPhoneNumberLookup = $A2EF;
+		sysTrapFrmSetMenu = $A2F0;
+		sysTrapEncDigestMD5 = $A2F1;
+		sysTrapDmFindSortPosition = $A2F2;
+		sysTrapSysBinarySearch = $A2F3;
+		sysTrapSysErrString = $A2F4;
+		sysTrapSysStringByIndex = $A2F5;
+		sysTrapEvtAddUniqueEventToQueue = $A2F6;
+		sysTrapStrLocalizeNumber = $A2F7;
+		sysTrapStrDelocalizeNumber = $A2F8;
+		sysTrapLocGetNumberSeparators = $A2F9;
+		sysTrapMenuSetActiveMenuRscID = $A2FA;
+		sysTrapLstScrollList = $A2FB;
+		sysTrapCategoryInitialize = $A2FC;
+		sysTrapEncDigestMD4 = $A2FD;
+		sysTrapEncDES = $A2FE;
+		sysTrapLstGetVisibleItems = $A2FF;
+		sysTrapWinSetWindowBounds = $A300;
+		sysTrapCategorySetName = $A301;
+		sysTrapFldSetInsertionPoint = $A302;
+		sysTrapFrmSetObjectBounds = $A303;
+		sysTrapWinSetColors = $A304;
+		sysTrapFlpDispatch = $A305;
+		sysTrapFlpEmDispatch = $A306;
+		sysTrapExgInit = $A307;
+		sysTrapExgConnect = $A308;
+		sysTrapExgPut = $A309;
+		sysTrapExgGet = $A30A;
+		sysTrapExgAccept = $A30B;
+		sysTrapExgDisconnect = $A30C;
+		sysTrapExgSend = $A30D;
+		sysTrapExgReceive = $A30E;
+		sysTrapExgRegisterData = $A30F;
+		sysTrapExgNotifyReceive = $A310;
+		sysTrapExgControl = $A311;
+		sysTrapPrgStartDialog = $A312;
+		sysTrapPrgStopDialog = $A313;
+		sysTrapPrgUpdateDialog = $A314;
+		sysTrapPrgHandleEvent = $A315;
+		sysTrapImcReadFieldNoSemicolon = $A316;
+		sysTrapImcReadFieldQuotablePrintable = $A317;
+		sysTrapImcReadPropertyParameter = $A318;
+		sysTrapImcSkipAllPropertyParameters = $A319;
+		sysTrapImcReadWhiteSpace = $A31A;
+		sysTrapImcWriteQuotedPrintable = $A31B;
+		sysTrapImcWriteNoSemicolon = $A31C;
+		sysTrapImcStringIsAscii = $A31D;
+		sysTrapTblGetItemFont = $A31E;
+		sysTrapTblSetItemFont = $A31F;
+		sysTrapFontSelect = $A320;
+		sysTrapFntDefineFont = $A321;
+		sysTrapCategoryEdit = $A322;
+		sysTrapSysGetOSVersionString = $A323;
+		sysTrapSysBatteryInfo = $A324;
+		sysTrapSysUIBusy = $A325;
+		sysTrapWinValidateHandle = $A326;
+		sysTrapFrmValidatePtr = $A327;
+		sysTrapCtlValidatePointer = $A328;
+		sysTrapWinMoveWindowAddr = $A329;
+		sysTrapFrmAddSpaceForObject = $A32A;
+		sysTrapFrmNewForm = $A32B;
+		sysTrapCtlNewControl = $A32C;
+		sysTrapFldNewField = $A32D;
+		sysTrapLstNewList = $A32E;
+		sysTrapFrmNewLabel = $A32F;
+		sysTrapFrmNewBitmap = $A330;
+		sysTrapFrmNewGadget = $A331;
+		sysTrapFileOpen = $A332;
+		sysTrapFileClose = $A333;
+		sysTrapFileDelete = $A334;
+		sysTrapFileReadLow = $A335;
+		sysTrapFileWrite = $A336;
+		sysTrapFileSeek = $A337;
+		sysTrapFileTell = $A338;
+		sysTrapFileTruncate = $A339;
+		sysTrapFileControl = $A33A;
+		sysTrapFrmActiveState = $A33B;
+		sysTrapSysGetAppInfo = $A33C;
+		sysTrapSysGetStackInfo = $A33D;
+		sysTrapScrDisplayMode = $A33E;
+		sysTrapHwrLCDGetDepth = $A33F;
+		sysTrapHwrGetROMToken = $A340;
+		sysTrapDbgControl = $A341;
+		sysTrapExgDBRead = $A342;
+		sysTrapExgDBWrite = $A343;
+		sysTrapSysGremlins = $A344;
+		sysTrapFrmRemoveObject = $A345;
+		sysTrapSysReserved1 = $A346;
+		sysTrapSysReserved2 = $A347;
+		sysTrapSysReserved3 = $A348;
+		sysTrapSysReserved4 = $A349;
+		sysTrapLastTrapNumber = $A34A;
+
+
+
+implementation
+
+end.
+{
+  $Log$
+  Revision 1.1  1998-10-14 14:30:03  florian
+    + Initial revision
+
+}