home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / HISOFTPASCAL2,0-3.DMS / in.adf / Units / Intuition_2.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-05-20  |  32.6 KB  |  1,974 lines

  1. unit Intuition_2;
  2.  
  3. INTERFACE
  4. uses Exec, Graphics, Input, Intuition, Keymap, Timer, Utility;
  5.  
  6.  
  7. type
  8.     ppRemember = ^pRemember;
  9.  
  10.  
  11. var
  12.     IntuitionBase: pIntuitionBase;
  13.  
  14.  
  15. const
  16.     LABELIMAGE = $2000;
  17.     MENUHELP = $1000000;
  18.     WBENCHWINDOW = $2000000;
  19.     SMART_REFRESH = 0;
  20.     BOTTOMBORDER = $80;
  21.     ACTIVEWINDOW = $40000;
  22.     WINDOWACTIVE = $2000;
  23.     IDCMPUPDATE = $800000;
  24.     STRINGCENTER = $200;
  25.     BORDERSNIFF = $8000;
  26.     NEWPREFS = $4000;
  27.     LABELSTRING = $1000;
  28.     GADGET0002 = 2;
  29.     STRINGEXTEND = $2000;
  30.     RIGHTBORDER = $10;
  31.     GADGIMMEDIATE = 2;
  32.     BOOLGADGET = 1;
  33.     DISKREMOVED = $10000;
  34.     GADGIMAGE = 4;
  35.     REFRESHBITS = $C0;
  36.     SUPER_BITMAP = $80;
  37.     WINDOWSIZING = 1;
  38.     RMBTRAP = $10000;
  39.     GRELHEIGHT = $40;
  40.     CLOSEWINDOW_ = $200;
  41.     GADGETDOWN = $20;
  42.     LONGINT_ = $800;
  43.     GADGDISABLED = $100;
  44.     SUPFRONT = $50;
  45.     ENDGADGET = 4;
  46.     WINDOWDEPTH = 4;
  47.     LEFTBORDER = $20;
  48.     WINDOWCLOSE = 8;
  49.     WUPFRONT = $40;
  50.     HASZOOM = $20000000;
  51.     PROPGADGET = 3;
  52.     SIZEBBOTTOM = $20;
  53.     LABELITEXT = 0;
  54.     GADGETTYPE = $FC00;
  55.     MOUSEBUTTONS = 8;
  56.     GADGHCOMP = 0;
  57.     NEWSIZE = 2;
  58.     GADGHNONE = 3;
  59.     STRINGRIGHT = $400;
  60.     VANILLAKEY = $200000;
  61.     NW_EXTENDED = $40000;
  62.     LABELMASK = $3000;
  63.     WBENCHMESSAGE = $20000;
  64.     BOOLEXTEND = $2000;
  65.     BORDERLESS = $800;
  66.     WINDOWDRAG = 2;
  67.     FOLLOWMOUSE = 8;
  68.     SCRGADGET = $4000;
  69.     REQGADGET = $1000;
  70.     REPORTMOUSE_ = $200;
  71.     VISITOR = $8000000;
  72.     SDRAGGING = $30;
  73.     SIZEBRIGHT = $10;
  74.     INACTIVEWINDOW = $80000;
  75.     NOCAREREFRESH = $20000;
  76.     ZOOMED = $10000000;
  77.     GRELBOTTOM = 8;
  78.     WDRAGGING = $20;
  79.     GADGHIGHBITS = 3;
  80.     SDOWNBACK = $70;
  81.     STRINGLEFT = 0;
  82.     RAWKEY = $400;
  83.     ACTIVEGADGET = $4000;
  84.     SIZING = $10;
  85.     REQSET = $80;
  86.     WDOWNBACK = $60;
  87.     DELTAMOVE = $100000;
  88.     INTUITICKS = $400000;
  89.     SIMPLE_REFRESH = $40;
  90.     CLOSE_ = $80;
  91.     STRGADGET = 4;
  92.     MENUVERIFY = $2000;
  93.     GZZGADGET = $2000;
  94.     GRELRIGHT = $10;
  95.     ALTKEYMAP = $1000;
  96.     GADGHBOX = 1;
  97.     LONELYMESSAGE = $80000000;
  98.     GRELWIDTH = $20;
  99.     SYSGADGET = $8000;
  100.     SIZEVERIFY = 1;
  101.     BACKDROP = $100;
  102.     SELECTED = $80;
  103.     TOPBORDER = $40;
  104.     REQCLEAR = $1000;
  105.     CHANGEWINDOW = $2000000;
  106.     GTYPEMASK = 7;
  107.     GADGETUP = $40;
  108.     ACTIVATE = $1000;
  109.     MENUSTATE = $8000;
  110.     RELVERIFY = 1;
  111.     TOGGLESELECT = $100;
  112.     REFRESHWINDOW = 4;
  113.     WINDOWREFRESH = $1000000;
  114.     CUSTOMGADGET = 5;
  115.     REQVERIFY = $800;
  116.     GADGHIMAGE = 2;
  117.     DISKINSERTED = $8000;
  118.     MOUSEMOVE = $10;
  119.     GIMMEZEROZERO = $400;
  120.     INREQUEST = $4000;
  121.     MENUPICK = $100;
  122.     OTHER_REFRESH = $C0;
  123.     WINDOWTICKED = $4000000;
  124.  
  125.  
  126. procedure OpenIntuition;
  127. procedure Intuition_ (iEvent: pInputEvent);
  128. function AddGadget
  129.         (window: pWindow;
  130.         gadget: pGadget;
  131.         position: word): word;
  132.  
  133. function ClearDMRequest (window: pWindow): boolean;
  134. procedure ClearMenuStrip (window: pWindow);
  135. procedure ClearPointer (window: pWindow);
  136. function CloseScreen (screen: pScreen): boolean;
  137. procedure CloseWindow (window: pWindow);
  138. function CloseWorkBench: boolean;
  139. procedure CurrentTime
  140.         (seconds: plong;
  141.         micros: plong);
  142.  
  143. function DisplayAlert
  144.         (alertNumber: long;
  145.         string_: pbyte;
  146.         height: integer): boolean;
  147.  
  148. procedure DisplayBeep (screen: pScreen);
  149. function DoubleClick
  150.         (sSeconds: long;
  151.         sMicros: long;
  152.         cSeconds: long;
  153.         cMicros: long): boolean;
  154.  
  155. procedure DrawBorder
  156.         (rp: pRastPort;
  157.         border: pBorder;
  158.         leftOffset: integer;
  159.         topOffset: integer);
  160.  
  161. procedure DrawImage
  162.         (rp: pRastPort;
  163.         image: pImage;
  164.         leftOffset: integer;
  165.         topOffset: integer);
  166.  
  167. procedure EndRequest
  168.         (requester: pRequester;
  169.         window: pWindow);
  170.  
  171. function GetDefPrefs
  172.         (preferences: pPreferences;
  173.         size: integer): pPreferences;
  174.  
  175. function GetPrefs
  176.         (preferences: pPreferences;
  177.         size: integer): pPreferences;
  178.  
  179. procedure InitRequester (requester: pRequester);
  180. function ItemAddress
  181.         (menuStrip: pMenu;
  182.         menuNumber: word): pMenuItem;
  183.  
  184. function ModifyIDCMP
  185.         (window: pWindow;
  186.         flags: long): boolean;
  187.  
  188. procedure ModifyProp
  189.         (gadget: pGadget;
  190.         window: pWindow;
  191.         requester: pRequester;
  192.         flags: word;
  193.         horizPot: word;
  194.         vertPot: word;
  195.         horizBody: word;
  196.         vertBody: word);
  197.  
  198. procedure MoveScreen
  199.         (screen: pScreen;
  200.         dx: integer;
  201.         dy: integer);
  202.  
  203. procedure MoveWindow
  204.         (window: pWindow;
  205.         dx: integer;
  206.         dy: integer);
  207.  
  208. procedure OffGadget
  209.         (gadget: pGadget;
  210.         window: pWindow;
  211.         requester: pRequester);
  212.  
  213. procedure OffMenu
  214.         (window: pWindow;
  215.         menuNumber: word);
  216.  
  217. procedure OnGadget
  218.         (gadget: pGadget;
  219.         window: pWindow;
  220.         requester: pRequester);
  221.  
  222. procedure OnMenu
  223.         (window: pWindow;
  224.         menuNumber: word);
  225.  
  226. function OpenScreen (newScreen: pNewScreen): pScreen;
  227. function OpenWindow (newWindow: pNewWindow): pWindow;
  228. function OpenWorkBench: boolean;
  229. procedure PrintIText
  230.         (rp: pRastPort;
  231.         iText: pIntuiText;
  232.         left: integer;
  233.         top: integer);
  234.  
  235. procedure RefreshGadgets
  236.         (gadgets: pGadget;
  237.         window: pWindow;
  238.         requester: pRequester);
  239.  
  240. function RemoveGadget
  241.         (window: pWindow;
  242.         gadget: pGadget): word;
  243.  
  244. procedure ReportMouse
  245.         (flag: boolean;
  246.         window: pWindow);
  247.  
  248. function Request
  249.         (requester: pRequester;
  250.         window: pWindow): boolean;
  251.  
  252. procedure ScreenToBack (screen: pScreen);
  253. procedure ScreenToFront (screen: pScreen);
  254. function SetDMRequest
  255.         (window: pWindow;
  256.         requester: pRequester): boolean;
  257.  
  258. function SetMenuStrip
  259.         (window: pWindow;
  260.         menu: pMenu): boolean;
  261.  
  262. procedure SetPointer
  263.         (window: pWindow;
  264.         pointer: pword;
  265.         height: integer;
  266.         width: integer;
  267.         xOffset: integer;
  268.         yOffset: integer);
  269.  
  270. procedure SetWindowTitles
  271.         (window: pWindow;
  272.         windowTitle: STRPTR;
  273.         screenTitle: STRPTR);
  274.  
  275. procedure ShowTitle
  276.         (screen: pScreen;
  277.         showIt: boolean);
  278.  
  279. procedure SizeWindow
  280.         (window: pWindow;
  281.         dx: integer;
  282.         dy: integer);
  283.  
  284. function ViewAddress: pView;
  285. function ViewPortAddress (window: pWindow): pViewPort;
  286. procedure WindowToBack (window: pWindow);
  287. procedure WindowToFront (window: pWindow);
  288. function WindowLimits
  289.         (window: pWindow;
  290.         widthMin: integer;
  291.         heightMin: integer;
  292.         widthMax: word;
  293.         heightMax: word): boolean;
  294.  
  295. function SetPrefs
  296.         (preferences: pPreferences;
  297.         size: longint;
  298.         inform: boolean): pPreferences;
  299.  
  300. function IntuiTextLength (iText: pIntuiText): longint;
  301. function WBenchToBack: boolean;
  302. function WBenchToFront: boolean;
  303. function AutoRequest
  304.         (window: pWindow;
  305.         body: pIntuiText;
  306.         posText: pIntuiText;
  307.         negText: pIntuiText;
  308.         pFlag: long;
  309.         nFlag: long;
  310.         width: integer;
  311.         height: integer): boolean;
  312.  
  313. procedure BeginRefresh (window: pWindow);
  314. function BuildSysRequest
  315.         (window: pWindow;
  316.         body: pIntuiText;
  317.         posText: pIntuiText;
  318.         negText: pIntuiText;
  319.         flags: long;
  320.         width: integer;
  321.         height: integer): pWindow;
  322.  
  323. procedure EndRefresh
  324.         (window: pWindow;
  325.         complete: boolean);
  326.  
  327. procedure FreeSysRequest (window: pWindow);
  328. procedure MakeScreen (screen: pScreen);
  329. procedure RemakeDisplay;
  330. procedure RethinkDisplay;
  331. function AllocRemember
  332.         (rememberKey: ppRemember;
  333.         size: long;
  334.         flags: long): pointer;
  335.  
  336. procedure AlohaWorkbench (wbport: longint);
  337. procedure FreeRemember
  338.         (rememberKey: ppRemember;
  339.         reallyForget: boolean);
  340.  
  341. function LockIBase (dontknow: long): long;
  342. procedure UnlockIBase (ibLock: long);
  343. function GetScreenData
  344.         (buffer: pointer;
  345.         size: word;
  346.         type_: word;
  347.         screen: pScreen): boolean;
  348.  
  349. procedure RefreshGList
  350.         (gadgets: pGadget;
  351.         window: pWindow;
  352.         requester: pRequester;
  353.         numGad: integer);
  354.  
  355. function AddGList
  356.         (window: pWindow;
  357.         gadget: pGadget;
  358.         position: word;
  359.         numGad: integer;
  360.         requester: pRequester): word;
  361.  
  362. function RemoveGList
  363.         (remPtr: pWindow;
  364.         gadget: pGadget;
  365.         numGad: integer): word;
  366.  
  367. function ActivateWindow (window: pWindow): longint;
  368. procedure RefreshWindowFrame (window: pWindow);
  369. function ActivateGadget
  370.         (gadgets: pGadget;
  371.         window: pWindow;
  372.         requester: pRequester): boolean;
  373.  
  374. procedure NewModifyProp
  375.         (gadget: pGadget;
  376.         window: pWindow;
  377.         requester: pRequester;
  378.         flags: word;
  379.         horizPot: word;
  380.         vertPot: word;
  381.         horizBody: word;
  382.         vertBody: word;
  383.         numGad: integer);
  384.  
  385. function QueryOverscan
  386.         (displayID: long;
  387.         rect: pRectangle;
  388.         oScanType: integer): longint;
  389.  
  390. procedure MoveWindowInFrontOf
  391.         (window: pWindow;
  392.         behindWindow: pWindow);
  393.  
  394. procedure ChangeWindowBox
  395.         (window: pWindow;
  396.         left: integer;
  397.         top: integer;
  398.         width: integer;
  399.         height: integer);
  400.  
  401. function SetEditHook (hook: pHook): pHook;
  402. function SetMouseQueue
  403.         (window: pWindow;
  404.         queueLength: word): longint;
  405.  
  406. procedure ZipWindow (window: pWindow);
  407. function LockPubScreen (name: STRPTR): pScreen;
  408. procedure UnlockPubScreen
  409.         (name: STRPTR;
  410.         screen: pScreen);
  411.  
  412. function LockPubScreenList: pList;
  413. procedure UnlockPubScreenList;
  414. function NextPubScreen
  415.         (screen: pScreen;
  416.         namebuf: pbyte): STRPTR;
  417.  
  418. procedure SetDefaultPubScreen (name: STRPTR);
  419. function SetPubScreenModes (modes: word): word;
  420. function PubScreenStatus
  421.         (screen: pScreen;
  422.         statusFlags: word): word;
  423.  
  424. function ObtainGIRPort (gInfo: pGadgetInfo): pRastPort;
  425. procedure ReleaseGIRPort (rp: pRastPort);
  426. procedure GetDefaultPubScreen (nameBuffer: pbyte);
  427. function EasyRequestArgs
  428.         (window: pWindow;
  429.         easyStruct: pEasyStruct;
  430.         idcmpPtr: plong;
  431.         args: pointer): longint;
  432.  
  433. function BuildEasyRequestArgs
  434.         (window: pWindow;
  435.         easyStruct: pEasyStruct;
  436.         idcmp: long;
  437.         args: pointer): pWindow;
  438.  
  439. function SysReqHandler
  440.         (window: pWindow;
  441.         idcmpPtr: plong;
  442.         waitInput: boolean): longint;
  443.  
  444. function OpenWindowTagList
  445.         (newWindow: pNewWindow;
  446.         tagList: pTagItem): pWindow;
  447.  
  448. function OpenScreenTagList
  449.         (newScreen: pNewScreen;
  450.         tagList: pTagItem): pScreen;
  451.  
  452. procedure DrawImageState
  453.         (rp: pRastPort;
  454.         image: pImage;
  455.         leftOffset: integer;
  456.         topOffset: integer;
  457.         state: long;
  458.         drawInfo: pDrawInfo);
  459.  
  460. function PointInImage
  461.         (point: Point;
  462.         image: pImage): boolean;
  463.  
  464. procedure EraseImage
  465.         (rp: pRastPort;
  466.         image: pImage;
  467.         leftOffset: integer;
  468.         topOffset: integer);
  469.  
  470. function NewObjectA
  471.         (classPtr: pIClass;
  472.         classID: STRPTR;
  473.         tagList: pTagItem): pointer;
  474.  
  475. procedure DisposeObject (object: pointer);
  476. function SetAttrsA
  477.         (object: pointer;
  478.         tagList: pTagItem): long;
  479.  
  480. function GetAttr
  481.         (attrID: long;
  482.         object: pointer;
  483.         storagePtr: plong): long;
  484.  
  485. function SetGadgetAttrsA
  486.         (gadget: pGadget;
  487.         window: pWindow;
  488.         requester: pRequester;
  489.         tagList: pTagItem): long;
  490.  
  491. function NextObject (objectPtrPtr: pointer): pointer;
  492. function MakeClass
  493.         (classID: STRPTR;
  494.         superClassID: STRPTR;
  495.         superClassPtr: pIClass;
  496.         instanceSize: word;
  497.         flags: long): pIClass;
  498.  
  499. procedure AddClass (classPtr: pIClass);
  500. function GetScreenDrawInfo (screen: pScreen): pDrawInfo;
  501. procedure FreeScreenDrawInfo
  502.         (screen: pScreen;
  503.         drawInfo: pDrawInfo);
  504.  
  505. function ResetMenuStrip
  506.         (window: pWindow;
  507.         menu: pMenu): boolean;
  508.  
  509. procedure RemoveClass (classPtr: pIClass);
  510. function FreeClass (classPtr: pIClass): boolean;
  511.  
  512.  
  513. function MENUNUM (n: word): integer;
  514. function ITEMNUM (n: word): integer;
  515. function SUBNUM (n: word): integer;
  516. function SHIFTMENU (n: integer): word;
  517. function SHIFTITEM (n: integer): word;
  518. function SHIFTSUB (n: integer): word;
  519. function FULLMENUNUM (menu, item, sub: integer): word;
  520.  
  521. function SHAKNUM (n: byte): integer;
  522. function SPARNUM (n: byte): integer;
  523. function SRBNUM (n: byte): integer;
  524. function SSBNUM (n: byte): integer;
  525. function SWBNUM (n: byte): integer;
  526.  
  527. function CUSTOM_HOOK (gadget: pGadget): pHook;
  528. function GADGET_BOX (g: pGadget): pIBox;
  529. function IM_BGPEN (im: pImage): byte;
  530. function IM_BOX (im: pImage): pIBox; inline $2E9F;
  531. function IM_FGPEN (im: pImage): byte;
  532.  
  533. function BASEOBJECT (o: p_Object): pointer;
  534. function INST_DATA (cl: pIClass; o: pointer): pointer;
  535. function _OBJ(o: pointer): p_Object; inline $2E9F;
  536. function _OBJECT (o: pointer): p_Object;
  537. function OCLASS (o: pointer): pIClass;
  538. function SIZEOF_INSTANCE (cl: pIClass): longint;
  539.  
  540.  
  541. IMPLEMENTATION
  542. function INST_DATA;
  543. begin
  544.     INST_DATA := pointer(longint(o) + cl^.cl_InstOffset)
  545. end;
  546.  
  547. function SIZEOF_INSTANCE;
  548. begin
  549.     SIZEOF_INSTANCE := cl^.cl_InstOffset + cl^.cl_InstSize + sizeof(t_Object)
  550. end;
  551.  
  552. function BASEOBJECT;
  553. begin
  554.     BASEOBJECT := pointer(longint(o) + sizeof(t_Object))
  555. end;
  556.  
  557. function _OBJECT;
  558. begin
  559.     _OBJECT := p_Object(longint(o) - sizeof(t_Object))
  560. end;
  561.  
  562. function OCLASS;
  563. var
  564.     obj: p_Object;
  565. begin
  566.     obj := p_Object(longint(o) - sizeof(t_Object));
  567.     OCLASS := obj^.o_Class
  568. end;
  569.  
  570. function ITEMNUM;
  571. begin
  572.     ITEMNUM := (n shr 5) and $3F
  573. end;
  574.  
  575. function MENUNUM;
  576. begin
  577.     MENUNUM := n and $1f
  578. end;
  579.  
  580. function SUBNUM;
  581. begin
  582.     SUBNUM := (n shr 11) and $1f
  583. end;
  584.  
  585. function SHIFTITEM;
  586. begin
  587.     SHIFTITEM := (n and $3f) shl 5
  588. end;
  589.  
  590. function SHIFTMENU;
  591. begin
  592.     SHIFTMENU := n and $1f
  593. end;
  594.  
  595. function SHIFTSUB;
  596. begin
  597.     SHIFTSUB := (n and $1f) shl 11
  598. end;
  599.  
  600. function FULLMENUNUM;
  601. begin
  602.     FULLMENUNUM := ((sub and $1f) shl 11) or
  603.                     ((item and $3f) shl 5) or
  604.                       (menu and $1f)
  605. end;
  606.  
  607. function SPARNUM;
  608. begin
  609.     SPARNUM := n shr 4
  610. end;
  611.  
  612. function SHAKNUM;
  613. begin
  614.     SHAKNUM := n and $f
  615. end;
  616.  
  617. function SRBNUM;
  618. begin
  619.     SRBNUM := $8 - (n shr 4)
  620. end;
  621.  
  622. function SSBNUM;
  623. begin
  624.     SSBNUM := $1 + (n shr 4)
  625. end;
  626.  
  627. function SWBNUM;
  628. begin
  629.     SWBNUM := $8 - (n and $f)
  630. end;
  631.  
  632. function IM_BGPEN;
  633. begin
  634.     IM_BGPEN := im^.PlaneOnOff
  635. end;
  636.  
  637. function IM_FGPEN;
  638. begin
  639.     IM_FGPEN := im^.PlanePick
  640. end;
  641.  
  642. function GADGET_BOX;
  643. begin
  644.     GADGET_BOX := pIBox(@g^.LeftEdge)
  645. end;
  646.  
  647. function CUSTOM_HOOK;
  648. begin
  649.     CUSTOM_HOOK := pHook(gadget^.MutualExclude)
  650. end;
  651.  
  652. procedure OpenIntuition; xassembler;
  653. asm
  654.     move.l    a6,-(sp)
  655.     move.l    IntuitionBase,a6
  656.     jsr        -$1E(a6)
  657.     move.l    (sp)+,a6
  658. end;
  659.  
  660. procedure Intuition_; xassembler;
  661. asm
  662.     move.l    a6,-(sp)
  663.     move.l    8(sp),a0
  664.     move.l    IntuitionBase,a6
  665.     jsr        -$24(a6)
  666.     move.l    (sp)+,a6
  667. end;
  668.  
  669. function AddGadget; xassembler;
  670. asm
  671.     move.l    a6,-(sp)
  672.     lea        8(sp),a6
  673.     move.w    (a6)+,d0
  674.     move.l    (a6)+,a1
  675.     move.l    (a6)+,a0
  676.     move.l    IntuitionBase,a6
  677.     jsr        -$2A(a6)
  678.     move.w    d0,$12(sp)
  679.     move.l    (sp)+,a6
  680. end;
  681.  
  682. function ClearDMRequest; xassembler;
  683. asm
  684.     move.l    a6,-(sp)
  685.     move.l    8(sp),a0
  686.     move.l    IntuitionBase,a6
  687.     jsr        -$30(a6)
  688.     tst.l    d0
  689.     sne        d0
  690.     neg.b    d0
  691.     move.b    d0,$C(sp)
  692.     move.l    (sp)+,a6
  693. end;
  694.  
  695. procedure ClearMenuStrip; xassembler;
  696. asm
  697.     move.l    a6,-(sp)
  698.     move.l    8(sp),a0
  699.     move.l    IntuitionBase,a6
  700.     jsr        -$36(a6)
  701.     move.l    (sp)+,a6
  702. end;
  703.  
  704. procedure ClearPointer; xassembler;
  705. asm
  706.     move.l    a6,-(sp)
  707.     move.l    8(sp),a0
  708.     move.l    IntuitionBase,a6
  709.     jsr        -$3C(a6)
  710.     move.l    (sp)+,a6
  711. end;
  712.  
  713. function CloseScreen; xassembler;
  714. asm
  715.     move.l    a6,-(sp)
  716.     move.l    8(sp),a0
  717.     move.l    IntuitionBase,a6
  718.     jsr        -$42(a6)
  719.     tst.l    d0
  720.     sne        d0
  721.     neg.b    d0
  722.     move.b    d0,$C(sp)
  723.     move.l    (sp)+,a6
  724. end;
  725.  
  726. procedure CloseWindow; xassembler;
  727. asm
  728.     move.l    a6,-(sp)
  729.     move.l    8(sp),a0
  730.     move.l    IntuitionBase,a6
  731.     jsr        -$48(a6)
  732.     move.l    (sp)+,a6
  733. end;
  734.  
  735. function CloseWorkBench; xassembler;
  736. asm
  737.     move.l    a6,-(sp)
  738.     move.l    IntuitionBase,a6
  739.     jsr        -$4E(a6)
  740.     tst.l    d0
  741.     sne        d0
  742.     neg.b    d0
  743.     move.b    d0,8(sp)
  744.     move.l    (sp)+,a6
  745. end;
  746.  
  747. procedure CurrentTime; xassembler;
  748. asm
  749.     move.l    a6,-(sp)
  750.     lea        8(sp),a6
  751.     move.l    (a6)+,a1
  752.     move.l    (a6)+,a0
  753.     move.l    IntuitionBase,a6
  754.     jsr        -$54(a6)
  755.     move.l    (sp)+,a6
  756. end;
  757.  
  758. function DisplayAlert; xassembler;
  759. asm
  760.     move.l    a6,-(sp)
  761.     lea        8(sp),a6
  762.     move.w    (a6)+,d1
  763.     move.l    (a6)+,a0
  764.     move.l    (a6)+,d0
  765.     move.l    IntuitionBase,a6
  766.     jsr        -$5A(a6)
  767.     tst.l    d0
  768.     sne        d0
  769.     neg.b    d0
  770.     move.b    d0,$12(sp)
  771.     move.l    (sp)+,a6
  772. end;
  773.  
  774. procedure DisplayBeep; xassembler;
  775. asm
  776.     move.l    a6,-(sp)
  777.     move.l    8(sp),a0
  778.     move.l    IntuitionBase,a6
  779.     jsr        -$60(a6)
  780.     move.l    (sp)+,a6
  781. end;
  782.  
  783. function DoubleClick; xassembler;
  784. asm
  785.     movem.l    d3/a6,-(sp)
  786.     lea        $C(sp),a6
  787.     move.l    (a6)+,d3
  788.     move.l    (a6)+,d2
  789.     move.l    (a6)+,d1
  790.     move.l    (a6)+,d0
  791.     move.l    IntuitionBase,a6
  792.     jsr        -$66(a6)
  793.     tst.l    d0
  794.     sne        d0
  795.     neg.b    d0
  796.     move.b    d0,$1C(sp)
  797.     movem.l    (sp)+,d3/a6
  798. end;
  799.  
  800. procedure DrawBorder; xassembler;
  801. asm
  802.     move.l    a6,-(sp)
  803.     lea        8(sp),a6
  804.     move.w    (a6)+,d1
  805.     move.w    (a6)+,d0
  806.     move.l    (a6)+,a1
  807.     move.l    (a6)+,a0
  808.     move.l    IntuitionBase,a6
  809.     jsr        -$6C(a6)
  810.     move.l    (sp)+,a6
  811. end;
  812.  
  813. procedure DrawImage; xassembler;
  814. asm
  815.     move.l    a6,-(sp)
  816.     lea        8(sp),a6
  817.     move.w    (a6)+,d1
  818.     move.w    (a6)+,d0
  819.     move.l    (a6)+,a1
  820.     move.l    (a6)+,a0
  821.     move.l    IntuitionBase,a6
  822.     jsr        -$72(a6)
  823.     move.l    (sp)+,a6
  824. end;
  825.  
  826. procedure EndRequest; xassembler;
  827. asm
  828.     move.l    a6,-(sp)
  829.     lea        8(sp),a6
  830.     move.l    (a6)+,a1
  831.     move.l    (a6)+,a0
  832.     move.l    IntuitionBase,a6
  833.     jsr        -$78(a6)
  834.     move.l    (sp)+,a6
  835. end;
  836.  
  837. function GetDefPrefs; xassembler;
  838. asm
  839.     move.l    a6,-(sp)
  840.     lea        8(sp),a6
  841.     move.w    (a6)+,d0
  842.     move.l    (a6)+,a0
  843.     move.l    IntuitionBase,a6
  844.     jsr        -$7E(a6)
  845.     move.l    d0,$E(sp)
  846.     move.l    (sp)+,a6
  847. end;
  848.  
  849. function GetPrefs; xassembler;
  850. asm
  851.     move.l    a6,-(sp)
  852.     lea        8(sp),a6
  853.     move.w    (a6)+,d0
  854.     move.l    (a6)+,a0
  855.     move.l    IntuitionBase,a6
  856.     jsr        -$84(a6)
  857.     move.l    d0,$E(sp)
  858.     move.l    (sp)+,a6
  859. end;
  860.  
  861. procedure InitRequester; xassembler;
  862. asm
  863.     move.l    a6,-(sp)
  864.     move.l    8(sp),a0
  865.     move.l    IntuitionBase,a6
  866.     jsr        -$8A(a6)
  867.     move.l    (sp)+,a6
  868. end;
  869.  
  870. function ItemAddress; xassembler;
  871. asm
  872.     move.l    a6,-(sp)
  873.     lea        8(sp),a6
  874.     move.w    (a6)+,d0
  875.     move.l    (a6)+,a0
  876.     move.l    IntuitionBase,a6
  877.     jsr        -$90(a6)
  878.     move.l    d0,$E(sp)
  879.     move.l    (sp)+,a6
  880. end;
  881.  
  882. function ModifyIDCMP; xassembler;
  883. asm
  884.     move.l    a6,-(sp)
  885.     movem.l    8(sp),d0/a0
  886.     move.l    IntuitionBase,a6
  887.     jsr        -$96(a6)
  888.     tst.l    d0
  889.     sne        d0
  890.     neg.b    d0
  891.     move.b    d0,$10(sp)
  892.     move.l    (sp)+,a6
  893. end;
  894.  
  895. procedure ModifyProp; xassembler;
  896. asm
  897.     movem.l    d3-d4/a2/a6,-(sp)
  898.     lea        $14(sp),a6
  899.     move.w    (a6)+,d4
  900.     move.w    (a6)+,d3
  901.     move.w    (a6)+,d2
  902.     move.w    (a6)+,d1
  903.     move.w    (a6)+,d0
  904.     move.l    (a6)+,a2
  905.     move.l    (a6)+,a1
  906.     move.l    (a6)+,a0
  907.     move.l    IntuitionBase,a6
  908.     jsr        -$9C(a6)
  909.     movem.l    (sp)+,d3-d4/a2/a6
  910. end;
  911.  
  912. procedure MoveScreen; xassembler;
  913. asm
  914.     move.l    a6,-(sp)
  915.     lea        8(sp),a6
  916.     move.w    (a6)+,d1
  917.     move.w    (a6)+,d0
  918.     move.l    (a6)+,a0
  919.     move.l    IntuitionBase,a6
  920.     jsr        -$A2(a6)
  921.     move.l    (sp)+,a6
  922. end;
  923.  
  924. procedure MoveWindow; xassembler;
  925. asm
  926.     move.l    a6,-(sp)
  927.     lea        8(sp),a6
  928.     move.w    (a6)+,d1
  929.     move.w    (a6)+,d0
  930.     move.l    (a6)+,a0
  931.     move.l    IntuitionBase,a6
  932.     jsr        -$A8(a6)
  933.     move.l    (sp)+,a6
  934. end;
  935.  
  936. procedure OffGadget; xassembler;
  937. asm
  938.     movem.l    a2/a6,-(sp)
  939.     lea        $C(sp),a6
  940.     move.l    (a6)+,a2
  941.     move.l    (a6)+,a1
  942.     move.l    (a6)+,a0
  943.     move.l    IntuitionBase,a6
  944.     jsr        -$AE(a6)
  945.     movem.l    (sp)+,a2/a6
  946. end;
  947.  
  948. procedure OffMenu; xassembler;
  949. asm
  950.     move.l    a6,-(sp)
  951.     lea        8(sp),a6
  952.     move.w    (a6)+,d0
  953.     move.l    (a6)+,a0
  954.     move.l    IntuitionBase,a6
  955.     jsr        -$B4(a6)
  956.     move.l    (sp)+,a6
  957. end;
  958.  
  959. procedure OnGadget; xassembler;
  960. asm
  961.     movem.l    a2/a6,-(sp)
  962.     lea        $C(sp),a6
  963.     move.l    (a6)+,a2
  964.     move.l    (a6)+,a1
  965.     move.l    (a6)+,a0
  966.     move.l    IntuitionBase,a6
  967.     jsr        -$BA(a6)
  968.     movem.l    (sp)+,a2/a6
  969. end;
  970.  
  971. procedure OnMenu; xassembler;
  972. asm
  973.     move.l    a6,-(sp)
  974.     lea        8(sp),a6
  975.     move.w    (a6)+,d0
  976.     move.l    (a6)+,a0
  977.     move.l    IntuitionBase,a6
  978.     jsr        -$C0(a6)
  979.     move.l    (sp)+,a6
  980. end;
  981.  
  982. function OpenScreen; xassembler;
  983. asm
  984.     move.l    a6,-(sp)
  985.     move.l    8(sp),a0
  986.     move.l    IntuitionBase,a6
  987.     jsr        -$C6(a6)
  988.     move.l    d0,$C(sp)
  989.     move.l    (sp)+,a6
  990. end;
  991.  
  992. function OpenWindow; xassembler;
  993. asm
  994.     move.l    a6,-(sp)
  995.     move.l    8(sp),a0
  996.     move.l    IntuitionBase,a6
  997.     jsr        -$CC(a6)
  998.     move.l    d0,$C(sp)
  999.     move.l    (sp)+,a6
  1000. end;
  1001.  
  1002. function OpenWorkBench; xassembler;
  1003. asm
  1004.     move.l    a6,-(sp)
  1005.     move.l    IntuitionBase,a6
  1006.     jsr        -$D2(a6)
  1007.     tst.l    d0
  1008.     sne        d0
  1009.     neg.b    d0
  1010.     move.b    d0,8(sp)
  1011.     move.l    (sp)+,a6
  1012. end;
  1013.  
  1014. procedure PrintIText; xassembler;
  1015. asm
  1016.     move.l    a6,-(sp)
  1017.     lea        8(sp),a6
  1018.     move.w    (a6)+,d1
  1019.     move.w    (a6)+,d0
  1020.     move.l    (a6)+,a1
  1021.     move.l    (a6)+,a0
  1022.     move.l    IntuitionBase,a6
  1023.     jsr        -$D8(a6)
  1024.     move.l    (sp)+,a6
  1025. end;
  1026.  
  1027. procedure RefreshGadgets; xassembler;
  1028. asm
  1029.     movem.l    a2/a6,-(sp)
  1030.     lea        $C(sp),a6
  1031.     move.l    (a6)+,a2
  1032.     move.l    (a6)+,a1
  1033.     move.l    (a6)+,a0
  1034.     move.l    IntuitionBase,a6
  1035.     jsr        -$DE(a6)
  1036.     movem.l    (sp)+,a2/a6
  1037. end;
  1038.  
  1039. function RemoveGadget; xassembler;
  1040. asm
  1041.     move.l    a6,-(sp)
  1042.     lea        8(sp),a6
  1043.     move.l    (a6)+,a1
  1044.     move.l    (a6)+,a0
  1045.     move.l    IntuitionBase,a6
  1046.     jsr        -$E4(a6)
  1047.     move.w    d0,$10(sp)
  1048.     move.l    (sp)+,a6
  1049. end;
  1050.  
  1051. procedure ReportMouse; xassembler;
  1052. asm
  1053.     move.l    a6,-(sp)
  1054.     moveq    #0,d0
  1055.     lea        8(sp),a6
  1056.     move.l    (a6)+,a0
  1057.     move.b    (a6)+,d0
  1058.     move.l    IntuitionBase,a6
  1059.     jsr        -$EA(a6)
  1060.     move.l    (sp)+,a6
  1061. end;
  1062.  
  1063. function Request; xassembler;
  1064. asm
  1065.     move.l    a6,-(sp)
  1066.     lea        8(sp),a6
  1067.     move.l    (a6)+,a1
  1068.     move.l    (a6)+,a0
  1069.     move.l    IntuitionBase,a6
  1070.     jsr        -$F0(a6)
  1071.     tst.l    d0
  1072.     sne        d0
  1073.     neg.b    d0
  1074.     move.b    d0,$10(sp)
  1075.     move.l    (sp)+,a6
  1076. end;
  1077.  
  1078. procedure ScreenToBack; xassembler;
  1079. asm
  1080.     move.l    a6,-(sp)
  1081.     move.l    8(sp),a0
  1082.     move.l    IntuitionBase,a6
  1083.     jsr        -$F6(a6)
  1084.     move.l    (sp)+,a6
  1085. end;
  1086.  
  1087. procedure ScreenToFront; xassembler;
  1088. asm
  1089.     move.l    a6,-(sp)
  1090.     move.l    8(sp),a0
  1091.     move.l    IntuitionBase,a6
  1092.     jsr        -$FC(a6)
  1093.     move.l    (sp)+,a6
  1094. end;
  1095.  
  1096. function SetDMRequest; xassembler;
  1097. asm
  1098.     move.l    a6,-(sp)
  1099.     lea        8(sp),a6
  1100.     move.l    (a6)+,a1
  1101.     move.l    (a6)+,a0
  1102.     move.l    IntuitionBase,a6
  1103.     jsr        -$102(a6)
  1104.     tst.l    d0
  1105.     sne        d0
  1106.     neg.b    d0
  1107.     move.b    d0,$10(sp)
  1108.     move.l    (sp)+,a6
  1109. end;
  1110.  
  1111. function SetMenuStrip; xassembler;
  1112. asm
  1113.     move.l    a6,-(sp)
  1114.     lea        8(sp),a6
  1115.     move.l    (a6)+,a1
  1116.     move.l    (a6)+,a0
  1117.     move.l    IntuitionBase,a6
  1118.     jsr        -$108(a6)
  1119.     tst.l    d0
  1120.     sne        d0
  1121.     neg.b    d0
  1122.     move.b    d0,$10(sp)
  1123.     move.l    (sp)+,a6
  1124. end;
  1125.  
  1126. procedure SetPointer; xassembler;
  1127. asm
  1128.     movem.l    d3/a6,-(sp)
  1129.     lea        $C(sp),a6
  1130.     move.w    (a6)+,d3
  1131.     move.w    (a6)+,d2
  1132.     move.w    (a6)+,d1
  1133.     move.w    (a6)+,d0
  1134.     move.l    (a6)+,a1
  1135.     move.l    (a6)+,a0
  1136.     move.l    IntuitionBase,a6
  1137.     jsr        -$10E(a6)
  1138.     movem.l    (sp)+,d3/a6
  1139. end;
  1140.  
  1141. procedure SetWindowTitles; xassembler;
  1142. asm
  1143.     movem.l    a2/a6,-(sp)
  1144.     lea        $C(sp),a6
  1145.     move.l    (a6)+,a2
  1146.     move.l    (a6)+,a1
  1147.     move.l    (a6)+,a0
  1148.     move.l    IntuitionBase,a6
  1149.     jsr        -$114(a6)
  1150.     movem.l    (sp)+,a2/a6
  1151. end;
  1152.  
  1153. procedure ShowTitle; xassembler;
  1154. asm
  1155.     move.l    a6,-(sp)
  1156.     moveq    #0,d0
  1157.     move.b    8(sp),d0
  1158.     move.l    $A(sp),a0
  1159.     move.l    IntuitionBase,a6
  1160.     jsr        -$11A(a6)
  1161.     move.l    (sp)+,a6
  1162. end;
  1163.  
  1164. procedure SizeWindow; xassembler;
  1165. asm
  1166.     move.l    a6,-(sp)
  1167.     lea        8(sp),a6
  1168.     move.w    (a6)+,d1
  1169.     move.w    (a6)+,d0
  1170.     move.l    (a6)+,a0
  1171.     move.l    IntuitionBase,a6
  1172.     jsr        -$120(a6)
  1173.     move.l    (sp)+,a6
  1174. end;
  1175.  
  1176. function ViewAddress; xassembler;
  1177. asm
  1178.     move.l    a6,-(sp)
  1179.     move.l    IntuitionBase,a6
  1180.     jsr        -$126(a6)
  1181.     move.l    d0,8(sp)
  1182.     move.l    (sp)+,a6
  1183. end;
  1184.  
  1185. function ViewPortAddress; xassembler;
  1186. asm
  1187.     move.l    a6,-(sp)
  1188.     move.l    8(sp),a0
  1189.     move.l    IntuitionBase,a6
  1190.     jsr        -$12C(a6)
  1191.     move.l    d0,$C(sp)
  1192.     move.l    (sp)+,a6
  1193. end;
  1194.  
  1195. procedure WindowToBack; xassembler;
  1196. asm
  1197.     move.l    a6,-(sp)
  1198.     move.l    8(sp),a0
  1199.     move.l    IntuitionBase,a6
  1200.     jsr        -$132(a6)
  1201.     move.l    (sp)+,a6
  1202. end;
  1203.  
  1204. procedure WindowToFront; xassembler;
  1205. asm
  1206.     move.l    a6,-(sp)
  1207.     move.l    8(sp),a0
  1208.     move.l    IntuitionBase,a6
  1209.     jsr        -$138(a6)
  1210.     move.l    (sp)+,a6
  1211. end;
  1212.  
  1213. function WindowLimits; xassembler;
  1214. asm
  1215.     movem.l    d3/a6,-(sp)
  1216.     lea        $C(sp),a6
  1217.     move.w    (a6)+,d3
  1218.     move.w    (a6)+,d2
  1219.     move.w    (a6)+,d1
  1220.     move.w    (a6)+,d0
  1221.     move.l    (a6)+,a0
  1222.     move.l    IntuitionBase,a6
  1223.     jsr        -$13E(a6)
  1224.     tst.l    d0
  1225.     sne        d0
  1226.     neg.b    d0
  1227.     move.b    d0,$18(sp)
  1228.     movem.l    (sp)+,d3/a6
  1229. end;
  1230.  
  1231. function SetPrefs; xassembler;
  1232. asm
  1233.     move.l    a6,-(sp)
  1234.     moveq    #0,d1
  1235.     move.b    8(sp),d1
  1236.     movem.l    $A(sp),d0/a0
  1237.     move.l    IntuitionBase,a6
  1238.     jsr        -$144(a6)
  1239.     move.l    d0,$12(sp)
  1240.     move.l    (sp)+,a6
  1241. end;
  1242.  
  1243. function IntuiTextLength; xassembler;
  1244. asm
  1245.     move.l    a6,-(sp)
  1246.     move.l    8(sp),a0
  1247.     move.l    IntuitionBase,a6
  1248.     jsr        -$14A(a6)
  1249.     move.l    d0,$C(sp)
  1250.     move.l    (sp)+,a6
  1251. end;
  1252.  
  1253. function WBenchToBack; xassembler;
  1254. asm
  1255.     move.l    a6,-(sp)
  1256.     move.l    IntuitionBase,a6
  1257.     jsr        -$150(a6)
  1258.     tst.l    d0
  1259.     sne        d0
  1260.     neg.b    d0
  1261.     move.b    d0,8(sp)
  1262.     move.l    (sp)+,a6
  1263. end;
  1264.  
  1265. function WBenchToFront; xassembler;
  1266. asm
  1267.     move.l    a6,-(sp)
  1268.     move.l    IntuitionBase,a6
  1269.     jsr        -$156(a6)
  1270.     tst.l    d0
  1271.     sne        d0
  1272.     neg.b    d0
  1273.     move.b    d0,8(sp)
  1274.     move.l    (sp)+,a6
  1275. end;
  1276.  
  1277. function AutoRequest; xassembler;
  1278. asm
  1279.     movem.l    d3/a2-a3/a6,-(sp)
  1280.     lea        $14(sp),a6
  1281.     move.w    (a6)+,d3
  1282.     move.w    (a6)+,d2
  1283.     move.l    (a6)+,d1
  1284.     move.l    (a6)+,d0
  1285.     move.l    (a6)+,a3
  1286.     move.l    (a6)+,a2
  1287.     move.l    (a6)+,a1
  1288.     move.l    (a6)+,a0
  1289.     move.l    IntuitionBase,a6
  1290.     jsr        -$15C(a6)
  1291.     tst.l    d0
  1292.     sne        d0
  1293.     neg.b    d0
  1294.     move.b    d0,$30(sp)
  1295.     movem.l    (sp)+,d3/a2-a3/a6
  1296. end;
  1297.  
  1298. procedure BeginRefresh; xassembler;
  1299. asm
  1300.     move.l    a6,-(sp)
  1301.     move.l    8(sp),a0
  1302.     move.l    IntuitionBase,a6
  1303.     jsr        -$162(a6)
  1304.     move.l    (sp)+,a6
  1305. end;
  1306.  
  1307. function BuildSysRequest; xassembler;
  1308. asm
  1309.     movem.l    a2-a3/a6,-(sp)
  1310.     lea        $10(sp),a6
  1311.     move.w    (a6)+,d2
  1312.     move.w    (a6)+,d1
  1313.     move.l    (a6)+,d0
  1314.     move.l    (a6)+,a3
  1315.     move.l    (a6)+,a2
  1316.     move.l    (a6)+,a1
  1317.     move.l    (a6)+,a0
  1318.     move.l    IntuitionBase,a6
  1319.     jsr        -$168(a6)
  1320.     move.l    d0,$28(sp)
  1321.     movem.l    (sp)+,a2-a3/a6
  1322. end;
  1323.  
  1324. procedure EndRefresh; xassembler;
  1325. asm
  1326.     move.l    a6,-(sp)
  1327.     moveq    #0,d0
  1328.     move.b    8(sp),d0
  1329.     move.l    $A(sp),a0
  1330.     move.l    IntuitionBase,a6
  1331.     jsr        -$16E(a6)
  1332.     move.l    (sp)+,a6
  1333. end;
  1334.  
  1335. procedure FreeSysRequest; xassembler;
  1336. asm
  1337.     move.l    a6,-(sp)
  1338.     move.l    8(sp),a0
  1339.     move.l    IntuitionBase,a6
  1340.     jsr        -$174(a6)
  1341.     move.l    (sp)+,a6
  1342. end;
  1343.  
  1344. procedure MakeScreen; xassembler;
  1345. asm
  1346.     move.l    a6,-(sp)
  1347.     move.l    8(sp),a0
  1348.     move.l    IntuitionBase,a6
  1349.     jsr        -$17A(a6)
  1350.     move.l    (sp)+,a6
  1351. end;
  1352.  
  1353. procedure RemakeDisplay; xassembler;
  1354. asm
  1355.     move.l    a6,-(sp)
  1356.     move.l    IntuitionBase,a6
  1357.     jsr        -$180(a6)
  1358.     move.l    (sp)+,a6
  1359. end;
  1360.  
  1361. procedure RethinkDisplay; xassembler;
  1362. asm
  1363.     move.l    a6,-(sp)
  1364.     move.l    IntuitionBase,a6
  1365.     jsr        -$186(a6)
  1366.     move.l    (sp)+,a6
  1367. end;
  1368.  
  1369. function AllocRemember; xassembler;
  1370. asm
  1371.     move.l    a6,-(sp)
  1372.     lea        8(sp),a6
  1373.     move.l    (a6)+,d1
  1374.     move.l    (a6)+,d0
  1375.     move.l    (a6)+,a0
  1376.     move.l    IntuitionBase,a6
  1377.     jsr        -$18C(a6)
  1378.     move.l    d0,$14(sp)
  1379.     move.l    (sp)+,a6
  1380. end;
  1381.  
  1382. procedure AlohaWorkbench; xassembler;
  1383. asm
  1384.     move.l    a6,-(sp)
  1385.     move.l    8(sp),a0
  1386.     move.l    IntuitionBase,a6
  1387.     jsr        -$192(a6)
  1388.     move.l    (sp)+,a6
  1389. end;
  1390.  
  1391. procedure FreeRemember; xassembler;
  1392. asm
  1393.     move.l    a6,-(sp)
  1394.     moveq    #0,d0
  1395.     move.b    8(sp),d0
  1396.     move.l    $A(sp),a0
  1397.     move.l    IntuitionBase,a6
  1398.     jsr        -$198(a6)
  1399.     move.l    (sp)+,a6
  1400. end;
  1401.  
  1402. function LockIBase; xassembler;
  1403. asm
  1404.     move.l    a6,-(sp)
  1405.     move.l    8(sp),d0
  1406.     move.l    IntuitionBase,a6
  1407.     jsr        -$19E(a6)
  1408.     move.l    d0,$C(sp)
  1409.     move.l    (sp)+,a6
  1410. end;
  1411.  
  1412. procedure UnlockIBase; xassembler;
  1413. asm
  1414.     move.l    a6,-(sp)
  1415.     move.l    8(sp),a0
  1416.     move.l    IntuitionBase,a6
  1417.     jsr        -$1A4(a6)
  1418.     move.l    (sp)+,a6
  1419. end;
  1420.  
  1421. function GetScreenData; xassembler;
  1422. asm
  1423.     move.l    a6,-(sp)
  1424.     lea        8(sp),a6
  1425.     move.l    (a6)+,a1
  1426.     move.w    (a6)+,d1
  1427.     move.w    (a6)+,d0
  1428.     move.l    (a6)+,a0
  1429.     move.l    IntuitionBase,a6
  1430.     jsr        -$1AA(a6)
  1431.     tst.l    d0
  1432.     sne        d0
  1433.     neg.b    d0
  1434.     move.b    d0,$14(sp)
  1435.     move.l    (sp)+,a6
  1436. end;
  1437.  
  1438. procedure RefreshGList; xassembler;
  1439. asm
  1440.     movem.l    a2/a6,-(sp)
  1441.     lea        $C(sp),a6
  1442.     move.w    (a6)+,d0
  1443.     move.l    (a6)+,a2
  1444.     move.l    (a6)+,a1
  1445.     move.l    (a6)+,a0
  1446.     move.l    IntuitionBase,a6
  1447.     jsr        -$1B0(a6)
  1448.     movem.l    (sp)+,a2/a6
  1449. end;
  1450.  
  1451. function AddGList; xassembler;
  1452. asm
  1453.     movem.l    a2/a6,-(sp)
  1454.     lea        $C(sp),a6
  1455.     move.l    (a6)+,a2
  1456.     move.w    (a6)+,d1
  1457.     move.w    (a6)+,d0
  1458.     move.l    (a6)+,a1
  1459.     move.l    (a6)+,a0
  1460.     move.l    IntuitionBase,a6
  1461.     jsr        -$1B6(a6)
  1462.     move.w    d0,$1C(sp)
  1463.     movem.l    (sp)+,a2/a6
  1464. end;
  1465.  
  1466. function RemoveGList; xassembler;
  1467. asm
  1468.     move.l    a6,-(sp)
  1469.     lea        8(sp),a6
  1470.     move.w    (a6)+,d0
  1471.     move.l    (a6)+,a1
  1472.     move.l    (a6)+,a0
  1473.     move.l    IntuitionBase,a6
  1474.     jsr        -$1BC(a6)
  1475.     move.w    d0,$12(sp)
  1476.     move.l    (sp)+,a6
  1477. end;
  1478.  
  1479. function ActivateWindow; xassembler;
  1480. asm
  1481.     move.l    a6,-(sp)
  1482.     move.l    8(sp),a0
  1483.     move.l    IntuitionBase,a6
  1484.     jsr        -$1C2(a6)
  1485.     move.l    d0,$C(sp)
  1486.     move.l    (sp)+,a6
  1487. end;
  1488.  
  1489. procedure RefreshWindowFrame; xassembler;
  1490. asm
  1491.     move.l    a6,-(sp)
  1492.     move.l    8(sp),a0
  1493.     move.l    IntuitionBase,a6
  1494.     jsr        -$1C8(a6)
  1495.     move.l    (sp)+,a6
  1496. end;
  1497.  
  1498. function ActivateGadget; xassembler;
  1499. asm
  1500.     movem.l    a2/a6,-(sp)
  1501.     lea        $C(sp),a6
  1502.     move.l    (a6)+,a2
  1503.     move.l    (a6)+,a1
  1504.     move.l    (a6)+,a0
  1505.     move.l    IntuitionBase,a6
  1506.     jsr        -$1CE(a6)
  1507.     tst.l    d0
  1508.     sne        d0
  1509.     neg.b    d0
  1510.     move.b    d0,$18(sp)
  1511.     movem.l    (sp)+,a2/a6
  1512. end;
  1513.  
  1514. procedure NewModifyProp; xassembler;
  1515. asm
  1516.     movem.l    d3-d5/a2/a6,-(sp)
  1517.     lea        $18(sp),a6
  1518.     move.w    (a6)+,d5
  1519.     move.w    (a6)+,d4
  1520.     move.w    (a6)+,d3
  1521.     move.w    (a6)+,d2
  1522.     move.w    (a6)+,d1
  1523.     move.w    (a6)+,d0
  1524.     move.l    (a6)+,a2
  1525.     move.l    (a6)+,a1
  1526.     move.l    (a6)+,a0
  1527.     move.l    IntuitionBase,a6
  1528.     jsr        -$1D4(a6)
  1529.     movem.l    (sp)+,d3-d5/a2/a6
  1530. end;
  1531.  
  1532. function QueryOverscan; xassembler;
  1533. asm
  1534.     move.l    a6,-(sp)
  1535.     lea        8(sp),a6
  1536.     move.w    (a6)+,d0
  1537.     move.l    (a6)+,a1
  1538.     move.l    (a6)+,a0
  1539.     move.l    IntuitionBase,a6
  1540.     jsr        -$1DA(a6)
  1541.     move.l    d0,$12(sp)
  1542.     move.l    (sp)+,a6
  1543. end;
  1544.  
  1545. procedure MoveWindowInFrontOf; xassembler;
  1546. asm
  1547.     move.l    a6,-(sp)
  1548.     lea        8(sp),a6
  1549.     move.l    (a6)+,a1
  1550.     move.l    (a6)+,a0
  1551.     move.l    IntuitionBase,a6
  1552.     jsr        -$1E0(a6)
  1553.     move.l    (sp)+,a6
  1554. end;
  1555.  
  1556. procedure ChangeWindowBox; xassembler;
  1557. asm
  1558.     movem.l    d3/a6,-(sp)
  1559.     lea        $C(sp),a6
  1560.     move.w    (a6)+,d3
  1561.     move.w    (a6)+,d2
  1562.     move.w    (a6)+,d1
  1563.     move.w    (a6)+,d0
  1564.     move.l    (a6)+,a0
  1565.     move.l    IntuitionBase,a6
  1566.     jsr        -$1E6(a6)
  1567.     movem.l    (sp)+,d3/a6
  1568. end;
  1569.  
  1570. function SetEditHook; xassembler;
  1571. asm
  1572.     move.l    a6,-(sp)
  1573.     move.l    8(sp),a0
  1574.     move.l    IntuitionBase,a6
  1575.     jsr        -$1EC(a6)
  1576.     move.l    d0,$C(sp)
  1577.     move.l    (sp)+,a6
  1578. end;
  1579.  
  1580. function SetMouseQueue; xassembler;
  1581. asm
  1582.     move.l    a6,-(sp)
  1583.     lea        8(sp),a6
  1584.     move.w    (a6)+,d0
  1585.     move.l    (a6)+,a0
  1586.     move.l    IntuitionBase,a6
  1587.     jsr        -$1F2(a6)
  1588.     move.l    d0,$E(sp)
  1589.     move.l    (sp)+,a6
  1590. end;
  1591.  
  1592. procedure ZipWindow; xassembler;
  1593. asm
  1594.     move.l    a6,-(sp)
  1595.     move.l    8(sp),a0
  1596.     move.l    IntuitionBase,a6
  1597.     jsr        -$1F8(a6)
  1598.     move.l    (sp)+,a6
  1599. end;
  1600.  
  1601. function LockPubScreen; xassembler;
  1602. asm
  1603.     move.l    a6,-(sp)
  1604.     move.l    8(sp),a0
  1605.     move.l    IntuitionBase,a6
  1606.     jsr        -$1FE(a6)
  1607.     move.l    d0,$C(sp)
  1608.     move.l    (sp)+,a6
  1609. end;
  1610.  
  1611. procedure UnlockPubScreen; xassembler;
  1612. asm
  1613.     move.l    a6,-(sp)
  1614.     lea        8(sp),a6
  1615.     move.l    (a6)+,a1
  1616.     move.l    (a6)+,a0
  1617.     move.l    IntuitionBase,a6
  1618.     jsr        -$204(a6)
  1619.     move.l    (sp)+,a6
  1620. end;
  1621.  
  1622. function LockPubScreenList; xassembler;
  1623. asm
  1624.     move.l    a6,-(sp)
  1625.     move.l    IntuitionBase,a6
  1626.     jsr        -$20A(a6)
  1627.     move.l    d0,8(sp)
  1628.     move.l    (sp)+,a6
  1629. end;
  1630.  
  1631. procedure UnlockPubScreenList; xassembler;
  1632. asm
  1633.     move.l    a6,-(sp)
  1634.     move.l    IntuitionBase,a6
  1635.     jsr        -$210(a6)
  1636.     move.l    (sp)+,a6
  1637. end;
  1638.  
  1639. function NextPubScreen; xassembler;
  1640. asm
  1641.     move.l    a6,-(sp)
  1642.     lea        8(sp),a6
  1643.     move.l    (a6)+,a1
  1644.     move.l    (a6)+,a0
  1645.     move.l    IntuitionBase,a6
  1646.     jsr        -$216(a6)
  1647.     move.l    d0,$10(sp)
  1648.     move.l    (sp)+,a6
  1649. end;
  1650.  
  1651. procedure SetDefaultPubScreen; xassembler;
  1652. asm
  1653.     move.l    a6,-(sp)
  1654.     move.l    8(sp),a0
  1655.     move.l    IntuitionBase,a6
  1656.     jsr        -$21C(a6)
  1657.     move.l    (sp)+,a6
  1658. end;
  1659.  
  1660. function SetPubScreenModes; xassembler;
  1661. asm
  1662.     move.l    a6,-(sp)
  1663.     move.w    8(sp),d0
  1664.     move.l    IntuitionBase,a6
  1665.     jsr        -$222(a6)
  1666.     move.w    d0,$A(sp)
  1667.     move.l    (sp)+,a6
  1668. end;
  1669.  
  1670. function PubScreenStatus; xassembler;
  1671. asm
  1672.     move.l    a6,-(sp)
  1673.     lea        8(sp),a6
  1674.     move.w    (a6)+,d0
  1675.     move.l    (a6)+,a0
  1676.     move.l    IntuitionBase,a6
  1677.     jsr        -$228(a6)
  1678.     move.w    d0,$E(sp)
  1679.     move.l    (sp)+,a6
  1680. end;
  1681.  
  1682. function ObtainGIRPort; xassembler;
  1683. asm
  1684.     move.l    a6,-(sp)
  1685.     move.l    8(sp),a0
  1686.     move.l    IntuitionBase,a6
  1687.     jsr        -$22E(a6)
  1688.     move.l    d0,$C(sp)
  1689.     move.l    (sp)+,a6
  1690. end;
  1691.  
  1692. procedure ReleaseGIRPort; xassembler;
  1693. asm
  1694.     move.l    a6,-(sp)
  1695.     move.l    8(sp),a0
  1696.     move.l    IntuitionBase,a6
  1697.     jsr        -$234(a6)
  1698.     move.l    (sp)+,a6
  1699. end;
  1700.  
  1701. procedure GetDefaultPubScreen; xassembler;
  1702. asm
  1703.     move.l    a6,-(sp)
  1704.     move.l    8(sp),a0
  1705.     move.l    IntuitionBase,a6
  1706.     jsr        -$246(a6)
  1707.     move.l    (sp)+,a6
  1708. end;
  1709.  
  1710. function EasyRequestArgs; xassembler;
  1711. asm
  1712.     movem.l    a2-a3/a6,-(sp)
  1713.     lea        $10(sp),a6
  1714.     move.l    (a6)+,a3
  1715.     move.l    (a6)+,a2
  1716.     move.l    (a6)+,a1
  1717.     move.l    (a6)+,a0
  1718.     move.l    IntuitionBase,a6
  1719.     jsr        -$24C(a6)
  1720.     move.l    d0,$20(sp)
  1721.     movem.l    (sp)+,a2-a3/a6
  1722. end;
  1723.  
  1724. function BuildEasyRequestArgs; xassembler;
  1725. asm
  1726.     movem.l    a3/a6,-(sp)
  1727.     lea        $C(sp),a6
  1728.     move.l    (a6)+,a3
  1729.     move.l    (a6)+,d0
  1730.     move.l    (a6)+,a1
  1731.     move.l    (a6)+,a0
  1732.     move.l    IntuitionBase,a6
  1733.     jsr        -$252(a6)
  1734.     move.l    d0,$1C(sp)
  1735.     movem.l    (sp)+,a3/a6
  1736. end;
  1737.  
  1738. function SysReqHandler; xassembler;
  1739. asm
  1740.     move.l    a6,-(sp)
  1741.     moveq    #0,d0
  1742.     lea        8(sp),a6
  1743.     move.b    (a6)+,d0
  1744.     addq.l    #1,a6
  1745.     move.l    (a6)+,a1
  1746.     move.l    (a6)+,a0
  1747.     move.l    IntuitionBase,a6
  1748.     jsr        -$258(a6)
  1749.     move.l    d0,$12(sp)
  1750.     move.l    (sp)+,a6
  1751. end;
  1752.  
  1753. function OpenWindowTagList; xassembler;
  1754. asm
  1755.     move.l    a6,-(sp)
  1756.     lea        8(sp),a6
  1757.     move.l    (a6)+,a1
  1758.     move.l    (a6)+,a0
  1759.     move.l    IntuitionBase,a6
  1760.     jsr        -$25E(a6)
  1761.     move.l    d0,$10(sp)
  1762.     move.l    (sp)+,a6
  1763. end;
  1764.  
  1765. function OpenScreenTagList; xassembler;
  1766. asm
  1767.     move.l    a6,-(sp)
  1768.     lea        8(sp),a6
  1769.     move.l    (a6)+,a1
  1770.     move.l    (a6)+,a0
  1771.     move.l    IntuitionBase,a6
  1772.     jsr        -$264(a6)
  1773.     move.l    d0,$10(sp)
  1774.     move.l    (sp)+,a6
  1775. end;
  1776.  
  1777. procedure DrawImageState; xassembler;
  1778. asm
  1779.     movem.l    a2/a6,-(sp)
  1780.     lea        $C(sp),a6
  1781.     move.l    (a6)+,a2
  1782.     move.l    (a6)+,d2
  1783.     move.w    (a6)+,d1
  1784.     move.w    (a6)+,d0
  1785.     move.l    (a6)+,a1
  1786.     move.l    (a6)+,a0
  1787.     move.l    IntuitionBase,a6
  1788.     jsr        -$26A(a6)
  1789.     movem.l    (sp)+,a2/a6
  1790. end;
  1791.  
  1792. function PointInImage; xassembler;
  1793. asm
  1794.     move.l    a6,-(sp)
  1795.     lea        8(sp),a6
  1796.     move.l    (a6)+,a0
  1797.     move.l    (a6)+,d0
  1798.     move.l    IntuitionBase,a6
  1799.     jsr        -$270(a6)
  1800.     tst.l    d0
  1801.     sne        d0
  1802.     neg.b    d0
  1803.     move.b    d0,$10(sp)
  1804.     move.l    (sp)+,a6
  1805. end;
  1806.  
  1807. procedure EraseImage; xassembler;
  1808. asm
  1809.     move.l    a6,-(sp)
  1810.     lea        8(sp),a6
  1811.     move.w    (a6)+,d1
  1812.     move.w    (a6)+,d0
  1813.     move.l    (a6)+,a1
  1814.     move.l    (a6)+,a0
  1815.     move.l    IntuitionBase,a6
  1816.     jsr        -$276(a6)
  1817.     move.l    (sp)+,a6
  1818. end;
  1819.  
  1820. function NewObjectA; xassembler;
  1821. asm
  1822.     movem.l    a2/a6,-(sp)
  1823.     lea        $C(sp),a6
  1824.     move.l    (a6)+,a2
  1825.     move.l    (a6)+,a1
  1826.     move.l    (a6)+,a0
  1827.     move.l    IntuitionBase,a6
  1828.     jsr        -$27C(a6)
  1829.     move.l    d0,$18(sp)
  1830.     movem.l    (sp)+,a2/a6
  1831. end;
  1832.  
  1833. procedure DisposeObject; xassembler;
  1834. asm
  1835.     move.l    a6,-(sp)
  1836.     move.l    8(sp),a0
  1837.     move.l    IntuitionBase,a6
  1838.     jsr        -$282(a6)
  1839.     move.l    (sp)+,a6
  1840. end;
  1841.  
  1842. function SetAttrsA; xassembler;
  1843. asm
  1844.     move.l    a6,-(sp)
  1845.     lea        8(sp),a6
  1846.     move.l    (a6)+,a1
  1847.     move.l    (a6)+,a0
  1848.     move.l    IntuitionBase,a6
  1849.     jsr        -$288(a6)
  1850.     move.l    d0,$10(sp)
  1851.     move.l    (sp)+,a6
  1852. end;
  1853.  
  1854. function GetAttr; xassembler;
  1855. asm
  1856.     move.l    a6,-(sp)
  1857.     lea        8(sp),a6
  1858.     move.l    (a6)+,a1
  1859.     move.l    (a6)+,a0
  1860.     move.l    (a6)+,d0
  1861.     move.l    IntuitionBase,a6
  1862.     jsr        -$28E(a6)
  1863.     move.l    d0,$14(sp)
  1864.     move.l    (sp)+,a6
  1865. end;
  1866.  
  1867. function SetGadgetAttrsA; xassembler;
  1868. asm
  1869.     movem.l    a2-a3/a6,-(sp)
  1870.     lea        $10(sp),a6
  1871.     move.l    (a6)+,a3
  1872.     move.l    (a6)+,a2
  1873.     move.l    (a6)+,a1
  1874.     move.l    (a6)+,a0
  1875.     move.l    IntuitionBase,a6
  1876.     jsr        -$294(a6)
  1877.     move.l    d0,$20(sp)
  1878.     movem.l    (sp)+,a2-a3/a6
  1879. end;
  1880.  
  1881. function NextObject; xassembler;
  1882. asm
  1883.     move.l    a6,-(sp)
  1884.     move.l    8(sp),a0
  1885.     move.l    IntuitionBase,a6
  1886.     jsr        -$29A(a6)
  1887.     move.l    d0,$C(sp)
  1888.     move.l    (sp)+,a6
  1889. end;
  1890.  
  1891. function MakeClass; xassembler;
  1892. asm
  1893.     movem.l    a2/a6,-(sp)
  1894.     lea        $C(sp),a6
  1895.     move.l    (a6)+,d1
  1896.     move.w    (a6)+,d0
  1897.     move.l    (a6)+,a2
  1898.     move.l    (a6)+,a1
  1899.     move.l    (a6)+,a0
  1900.     move.l    IntuitionBase,a6
  1901.     jsr        -$2A6(a6)
  1902.     move.l    d0,$1E(sp)
  1903.     movem.l    (sp)+,a2/a6
  1904. end;
  1905.  
  1906. procedure AddClass; xassembler;
  1907. asm
  1908.     move.l    a6,-(sp)
  1909.     move.l    8(sp),a0
  1910.     move.l    IntuitionBase,a6
  1911.     jsr        -$2AC(a6)
  1912.     move.l    (sp)+,a6
  1913. end;
  1914.  
  1915. function GetScreenDrawInfo; xassembler;
  1916. asm
  1917.     move.l    a6,-(sp)
  1918.     move.l    8(sp),a0
  1919.     move.l    IntuitionBase,a6
  1920.     jsr        -$2B2(a6)
  1921.     move.l    d0,$C(sp)
  1922.     move.l    (sp)+,a6
  1923. end;
  1924.  
  1925. procedure FreeScreenDrawInfo; xassembler;
  1926. asm
  1927.     move.l    a6,-(sp)
  1928.     lea        8(sp),a6
  1929.     move.l    (a6)+,a1
  1930.     move.l    (a6)+,a0
  1931.     move.l    IntuitionBase,a6
  1932.     jsr        -$2B8(a6)
  1933.     move.l    (sp)+,a6
  1934. end;
  1935.  
  1936. function ResetMenuStrip; xassembler;
  1937. asm
  1938.     move.l    a6,-(sp)
  1939.     lea        8(sp),a6
  1940.     move.l    (a6)+,a1
  1941.     move.l    (a6)+,a0
  1942.     move.l    IntuitionBase,a6
  1943.     jsr        -$2BE(a6)
  1944.     tst.l    d0
  1945.     sne        d0
  1946.     neg.b    d0
  1947.     move.b    d0,$10(sp)
  1948.     move.l    (sp)+,a6
  1949. end;
  1950.  
  1951. procedure RemoveClass; xassembler;
  1952. asm
  1953.     move.l    a6,-(sp)
  1954.     move.l    8(sp),a0
  1955.     move.l    IntuitionBase,a6
  1956.     jsr        -$2C4(a6)
  1957.     move.l    (sp)+,a6
  1958. end;
  1959.  
  1960. function FreeClass; xassembler;
  1961. asm
  1962.     move.l    a6,-(sp)
  1963.     move.l    8(sp),a0
  1964.     move.l    IntuitionBase,a6
  1965.     jsr        -$2CA(a6)
  1966.     tst.l    d0
  1967.     sne        d0
  1968.     neg.b    d0
  1969.     move.b    d0,$C(sp)
  1970.     move.l    (sp)+,a6
  1971. end;
  1972.  
  1973. end.
  1974.