home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / DEVPAC31.LZH / INCDIR / GEMMACRO.I < prev    next >
Text File  |  1993-06-24  |  19KB  |  1,208 lines

  1.  
  2. * Macro library to call AES & VDI
  3. * Copyright (c) HiSoft 1988
  4.  
  5. * 31.5.88    fixed appl_read,appl_write,graf_slidebox
  6. * 2.6.88    fixed evnt_multi
  7. * 11.9.88    v_contour_fill corrected (to v_contourfill)
  8. * 25.10.89    vswr_mode fixed (intint typo), added TOS 1.4 AES calls
  9. *        fsel_exinput, wind_new. Added shel_get/put
  10. * 1.5.90    Added form_button/form_keybd
  11. * 29.3.93    AES Additions for Falcon TOS & MultiToS
  12. * 30.4.93    Additions for Speedo & FontGDOS
  13. ***********AES Macros******************
  14.  
  15. * macro to call a given AES routine
  16. aes    macro    aes_number
  17.     XREF    CALL_AES,int_in,addr_in,int_out,addr_out,current_handle
  18.     moveq    #\1,d0
  19.     bsr    CALL_AES
  20.     endm
  21. *    may need to change BSR CALL_AES to JSR for large programs
  22.  
  23. aes_long
  24.     macro    aes_number
  25.     XREF    CALL_AES,int_in,addr_in,int_out,addr_out,current_handle
  26.     move.w    #\1,d0
  27.     bsr    CALL_AES
  28.     endm
  29.  
  30. appl_init    macro
  31.     aes    10
  32.     endm
  33.  
  34. appl_read    macro    id,length,buff
  35.     move.w    \1,int_in
  36.     move.w    \2,int_in+2
  37.     move.l    \3,addr_in
  38.     aes    11
  39.     endm
  40.  
  41. appl_write    macro    id,length,buffer
  42.     move.w    \1,int_in
  43.     move.w    \2,int_in+2
  44.     move.l    \3,addr_in
  45.     aes    12
  46.     endm
  47.  
  48. appl_find    macro    name
  49.     move.l    \1,addr_in
  50.     aes    13
  51.     endm
  52.  
  53. appl_tplay    macro    mem,num,scale
  54.     move.l    \1,addr_in
  55.     move.w    \2,int_in
  56.     move.w    \3,int_in+2
  57.     aes    14
  58.     endm
  59.  
  60. appl_trecord    macro    mem,count
  61.     move.l    \1,addr_in
  62.     move.w    \2,int_in
  63.     aes    15
  64.     endm
  65.  
  66. appl_search    macro    mode,name
  67.     move.w    \1,int_in
  68.     move.l    \2,addr_in
  69.     aes    18
  70.     endm
  71.     
  72. appl_getinfo    macro    type
  73.     move.w    \1,int_in
  74.     aes_long    130
  75.     endm
  76. appl_exit    macro
  77.     aes    19
  78.     endm
  79.  
  80. evnt_keybd    macro
  81.     aes    20
  82.     endm
  83.  
  84. evnt_button    macro    clicks,mask,state
  85.     move.w    \1,int_in
  86.     move.w    \2,int_in+2
  87.     move.w    \3,int_in+4
  88.     aes    21
  89.     endm
  90.  
  91. evnt_mouse    macro    flags,x,y,w,h
  92.     move.w    \1,int_in
  93.     move.w    \2,int_in+2
  94.     move.w    \3,int_in+4
  95.     move.w    \4,int_in+6
  96.     move.w    \5,int_in+8
  97.     aes    22
  98.     endm
  99.  
  100. evnt_mesag    macro    buffer
  101.     move.l    \1,addr_in
  102.     aes    23
  103.     endm
  104.  
  105. evnt_timer    macro    longcount
  106.     move.l    \1,d0
  107.     swap    d0
  108.     move.l    d0,int_in
  109.     aes    24
  110.     endm
  111.  
  112. evnt_multi    macro    flags[,lots]
  113.     move.w    \1,int_in
  114.     IFNC    '\2',''
  115.     move.w    \2,int_in+2
  116.     ENDC
  117.     IFNC    '\3',''
  118.     move.w    \3,int_in+4
  119.     ENDC
  120.     IFNC    '\4',''
  121.     move.w    \4,int_in+6
  122.     ENDC
  123.     IFNC    '\5',''
  124.     move.w    \5,int_in+8
  125.     ENDC
  126.     IFNC    '\6',''
  127.     move.w    \6,int_in+10
  128.     ENDC
  129.     IFNC    '\7',''
  130.     move.w    \7,int_in+12
  131.     ENDC
  132.     IFNC    '\8',''
  133.     move.w    \8,int_in+14
  134.     ENDC
  135.     IFNC    '\9',''
  136.     move.w    \9,int_in+16
  137.     ENDC
  138.     IFNC    '\A',''
  139.     move.w    \A,int_in+18
  140.     ENDC
  141.     IFNC    '\B',''
  142.     move.w    \B,int_in+20
  143.     ENDC
  144.     IFNC    '\C',''
  145.     move.w    \C,int_in+22
  146.     ENDC
  147.     IFNC    '\D',''
  148.     move.w    \D,int_in+24
  149.     ENDC
  150.     IFNC    '\E',''
  151.     move.w    \E,int_in+26
  152.     ENDC
  153.     IFNC    '\F',''
  154.     move.l    \F,addr_in
  155.     ENDC
  156.     IFNC    '\G',''
  157.     move.l    \G,d0
  158.     swap    d0
  159.     move.l    d0,int_in+28
  160.     ENDC
  161.     aes    25
  162.     endm
  163.  
  164. evnt_dclick    macro    new,getset
  165.     move.w    \1,int_in
  166.     move.w    \2,int_in+2
  167.     aes    26
  168.     endm
  169.  
  170. menu_bar    macro    tree,show
  171.     move.l    \1,addr_in
  172.     move.w    \2,int_in
  173.     aes    30
  174.     endm
  175.  
  176. menu_icheck    macro    tree,item,check
  177.     move.l    \1,addr_in
  178.     move.w    \2,int_in
  179.     move.w    \3,int_in+2
  180.     aes    31
  181.     endm
  182.  
  183. menu_ienable    macro    tree,item,enable
  184.     move.l    \1,addr_in
  185.     move.w    \2,int_in
  186.     move.w    \3,int_in+2
  187.     aes    32
  188.     endm
  189.  
  190. menu_tnormal    macro    tree,title,normal
  191.     move.l    \1,addr_in
  192.     move.w    \2,int_in
  193.     move.w    \3,int_in+2
  194.     aes    33
  195.     endm
  196.  
  197. menu_text    macro    tree,item,text
  198.     move.l    \1,addr_in
  199.     move.w    \2,int_in
  200.     move.l    \3,addr_in+4
  201.     aes    34
  202.     endm
  203.  
  204. menu_register    macro    id,string
  205.     move.w    \1,int_in
  206.     move.l    \2,addr_in
  207.     aes    35
  208.     endm
  209.  
  210. menu_popup    macro    menu,xpos,ypos,mdata
  211.     move.l    \1,addr_in
  212.     move.w    \2,int_in
  213.     move.w    \3,int_in+2
  214.     move.l    \4,addr_in+4
  215.     aes 36
  216.     endm
  217.  
  218. manu_attach    macro    flag,tree,item,mdata
  219.     move.w    \1,int_in
  220.     move.l    \2,addr_in
  221.     move.l    \3,int_in+2
  222.     move.l    \4,addr_in+4
  223.     aes    37
  224.     endm
  225.  
  226. menu_istart    macro    flag,tree,imenu,item
  227.     move.w    \1,int_in
  228.     move.l    \2,addr_in
  229.     move.w    \3,int_in+2
  230.     move.w    \4,int_in+4
  231.     aes    38
  232.     endm
  233.  
  234.  
  235. menu_settings    macro    flag,values
  236.     move.l    \1,int_in
  237.     move.l    \2,addr_in
  238.     aes    39
  239.     endm
  240.  
  241. objc_add    macro    tree,parent,child
  242.     move.l    \1,addr_in
  243.     move.w    \2,int_in
  244.     move.w    \3,int_in+2
  245.     aes    40
  246.     endm
  247.  
  248. objc_delete    macro    tree,object
  249.     move.l    \1,addr_in
  250.     move.w    \2,int_in
  251.     aes    41
  252.     endm
  253.  
  254. objc_draw    macro    tree,startob,depth,x,y,w,h
  255.     move.l    \1,addr_in
  256.     move.w    \2,int_in
  257.     move.w    \3,int_in+2
  258.     move.w    \4,int_in+4
  259.     move.w    \5,int_in+6
  260.     move.w    \6,int_in+8
  261.     move.w    \7,int_in+10
  262.     aes    42
  263.     endm
  264.  
  265. objc_find    macro    tree,startob,depth,x,y
  266.     move.l    \1,addr_in
  267.     move.w    \2,int_in
  268.     move.w    \3,int_in+2
  269.     move.w    \4,int_in+4
  270.     move.w    \5,int_in+6
  271.     aes    43
  272.     endm
  273.  
  274. objc_offset    macro    tree,object
  275.     move.l    \1,addr_in
  276.     move.w    \2,int_in
  277.     aes    44
  278.     endm
  279.  
  280. objc_order    macro    tree,object,newpos
  281.     move.l    \1,addr_in
  282.     move.w    \2,int_in
  283.     move.w    \3,int_in+2
  284.     aes    45
  285.     endm
  286.  
  287. objc_edit    macro    tree,object,char,idx,kind
  288.     move.l    \1,addr_in
  289.     move.w    \2,int_in
  290.     move.w    \3,int_in+2
  291.     move.w    \4,int_in+4
  292.     move.w    \5,int_in+6
  293.     aes    46
  294.     endm
  295.  
  296. objc_change    macro    tree,object,x,y,w,h,new,redraw
  297.     move.l    \1,addr_in
  298.     move.w    \2,int_in
  299.     clr.w    int_in+2
  300.     move.w    \3,int_in+4
  301.     move.w    \4,int_in+6
  302.     move.w    \5,int_in+8
  303.     move.w    \6,int_in+10
  304.     move.w    \7,int_in+12
  305.     move.w    \8,int_in+14
  306.     aes    47
  307.     endm
  308.  
  309. objc_sysvar    macro    mode,which,val1,val2
  310.     move.w    \1,int_in
  311.     move.w    \2,int_in+2
  312.     move.w    \3,int_in+4
  313.     move.w    \4,int_int+6
  314.     aes    48
  315.     endm
  316.  
  317.  
  318. form_do    macro    tree,startob
  319.     move.l    \1,addr_in
  320.     move.w    \2,int_in
  321.     aes    50
  322.     endm
  323.  
  324. form_dial    macro    flag,x,y,w,h,x2,y2,w2,h2
  325.     move.w    \1,int_in
  326.     move.w    \2,int_in+2
  327.     move.w    \3,int_in+4
  328.     move.w    \4,int_in+6
  329.     move.w    \5,int_in+8
  330.     move.w    \6,int_in+10
  331.     move.w    \7,int_in+12
  332.     move.w    \8,int_in+14
  333.     move.w    \9,int_in+16
  334.     aes    51
  335.     endm
  336.  
  337. form_alert    macro    button,string
  338.     move.w    \1,int_in
  339.     move.l    \2,addr_in
  340.     aes    52
  341.     endm
  342.  
  343. form_error    macro    errnum
  344.     move.w    \1,int_in
  345.     aes    53
  346.     endm
  347.  
  348. form_center    macro    tree
  349.     move.l    \1,addr_in
  350.     aes    54
  351.     endm
  352.  
  353. form_keybd    macro    form,obj,nxt_obj,thechar
  354.     move.l    \1,addr_in
  355.     move.w    \2,int_in
  356.     move.w    \3,int_in+2
  357.     move.w    \4,int_in+4
  358.     aes    55
  359.     endm
  360.  
  361. form_button    macro    tree,object,clks
  362.     move.l    \1,addr_in
  363.     move.w    \2,int_in
  364.     move.w    \3,int_in+2
  365.     aes    56
  366.     endm
  367.  
  368. graf_rubberbox    macro    x,y,w,h
  369.     move.w    \1,int_in
  370.     move.w    \2,int_in+2
  371.     move.w    \3,int_in+4
  372.     move.w    \4,int_in+6
  373.     aes    70
  374.     endm
  375.     
  376. graf_dragbox    macro    w,h,x,y,bx,bh,bw,bh
  377.     move.w    \1,int_in
  378.     move.w    \2,int_in+2
  379.     move.w    \3,int_in+4
  380.     move.w    \4,int_in+6
  381.     move.w    \5,int_in+8
  382.     move.w    \6,int_in+10
  383.     move.w    \7,int_in+12
  384.     move.w    \8,int_in+14
  385.     aes    71
  386.     endm
  387.  
  388. graf_movebox    macro    w,h,x,y,dx,dy
  389.     move.w    \1,int_in
  390.     move.w    \2,int_in+2
  391.     move.w    \3,int_in+4
  392.     move.w    \4,int_in+6
  393.     move.w    \5,int_in+8
  394.     move.w    \6,int_in+10
  395.     aes    72
  396.     endm
  397.  
  398. graf_growbox    macro    x,y,w,h,fx,fy,fw,fh
  399.     move.w    \1,int_in
  400.     move.w    \2,int_in+2
  401.     move.w    \3,int_in+4
  402.     move.w    \4,int_in+6
  403.     move.w    \5,int_in+8
  404.     move.w    \6,int_in+10
  405.     move.w    \7,int_in+12
  406.     move.w    \8,int_in+14
  407.     aes    73
  408.     endm
  409.  
  410. graf_shrinkbox    macro    x,y,w,h,sx,sy,sw,sh
  411.     move.w    \1,int_in
  412.     move.w    \2,int_in+2
  413.     move.w    \3,int_in+4
  414.     move.w    \4,int_in+6
  415.     move.w    \5,int_in+8
  416.     move.w    \6,int_in+10
  417.     move.w    \7,int_in+12
  418.     move.w    \8,int_in+14
  419.     aes    74
  420.     endm
  421.  
  422. graf_watchbox    macro    tree,object,instate,outstate
  423.     clr.w    int_in
  424.     move.l    \1,addr_in
  425.     move.w    \2,int_in+2
  426.     move.w    \3,int_in+4
  427.     move.w    \4,int_in+6
  428.     aes    75
  429.     endm
  430.  
  431. graf_slidebox    macro    tree,parent,obj,vh
  432.     move.l    \1,addr_in
  433.     move.w    \2,int_in
  434.     move.w    \3,int_in+2
  435.     move.w    \4,int_in+4
  436.     aes    76
  437.     endm
  438.  
  439. graf_handle    macro
  440.     aes    77
  441.     endm
  442.  
  443. graf_mouse    macro    num<,addr>
  444.     move.w    \1,int_in
  445.     IFNC    '\2',''
  446.     move.l    \2,addr_in
  447.     ENDC
  448.     aes    78
  449.     endm
  450.  
  451. graf_mkstate    macro
  452.     aes    79
  453.     endm
  454.  
  455. scrp_read    macro    scrap
  456.     move.l    \1,addr_in
  457.     aes    80
  458.     endm
  459.  
  460. scrp_write    macro    scrap
  461.     move.l    \1,addr_in
  462.     aes    81
  463.     endm
  464.  
  465. fsel_input    macro    path,filename
  466.     move.l    \1,addr_in
  467.     move.l    \2,addr_in+4
  468.     aes    90
  469.     endm
  470.  
  471. fsel_exinput    macro    path,filename,label
  472.     move.l    \1,addr_in
  473.     move.l    \2,addr_in+4
  474.     move.l    \3,addr_in+8        needs bigger addr_in than before!
  475.     aes    91
  476.     endm
  477.     
  478. wind_create    macro    kind,x,y,w,h
  479.     move.w    \1,int_in
  480.     move.w    \2,int_in+2
  481.     move.w    \3,int_in+4
  482.     move.w    \4,int_in+6
  483.     move.w    \5,int_in+8
  484.     aes    100
  485.     endm
  486.  
  487. wind_open    macro    handle,x,y,w,h
  488.     move.w    \1,int_in
  489.     move.w    \2,int_in+2
  490.     move.w    \3,int_in+4
  491.     move.w    \4,int_in+6
  492.     move.w    \5,int_in+8
  493.     aes    101
  494.     endm
  495.  
  496. wind_close    macro    handle
  497.     move.w    \1,int_in
  498.     aes    102
  499.     endm
  500.  
  501. wind_delete    macro    handle
  502.     move.w    \1,int_in
  503.     aes    103
  504.     endm
  505.  
  506. wind_get    macro    handle,field[,in1,in2,in3,in4]
  507.     move.w    \1,int_in
  508.     move.w    \2,int_in+2
  509.     IFNC    '\3',''
  510.     move.w    \3,int_in+4
  511.     ENDC
  512.     IFNC    '\4',''
  513.     move.w    \4,int_in+6
  514.     ENDC
  515.     IFNC    '\5',''
  516.     move.w    \5,int_in+8
  517.     ENDC
  518.     IFNC    '\6',''
  519.     move.w    \6,int_in+10
  520.     ENDC
  521.  
  522.     aes    104
  523.     endm
  524.  
  525. wind_set    macro    handle,field
  526.     move.w    \1,int_in
  527.     move.w    \2,int_in+2
  528.     aes    105
  529.     endm
  530.  
  531. wind_find    macro    x,y
  532.     move.w    \1,int_in
  533.     move.w    \2,int_in+2
  534.     aes    106
  535.     endm
  536.  
  537. wind_update    macro    begend
  538.     move.w    \1,int_in
  539.     aes    107
  540.     endm
  541.  
  542. wind_calc    macro    type,kind,inx,iny,inw,inh
  543.     move.w    \1,int_in
  544.     move.w    \2,int_in+2
  545.     move.w    \3,int_in+4
  546.     move.w    \4,int_in+6
  547.     move.w    \5,int_in+8
  548.     move.w    \6,int_in+10
  549.     aes    108
  550.     endm
  551.  
  552. wind_new    macro
  553.     aes    109
  554.     endm
  555.  
  556. rsrc_load    macro    name
  557.     move.l    \1,addr_in
  558.     aes    110
  559.     endm
  560.  
  561. rsrc_free    macro
  562.     aes    111
  563.     endm
  564.  
  565. rsrc_gaddr    macro    type,index
  566.     move.w    \1,int_in
  567.     move.w    \2,int_in+2
  568.     move.l    #112<<16+2,control
  569.     move.l    #1<<16,control+4
  570.     move.w    #1,control+8        unique!
  571.     move.l    #aes_params,d1
  572.     move.w    #200,d0
  573.     trap    #2
  574.     move.w    int_out,d0
  575.     endm
  576.  
  577. rsrc_saddr    macro    type,index,saddr
  578.     move.w    \1,int_in
  579.     move.w    \2,int_in+2
  580.     move.l    \3,addr_in
  581.     aes    113
  582.     endm
  583.  
  584. rsrc_obfix    macro    tree,object
  585.     move.l    \1,addr_in
  586.     move.w    \2,int_in
  587.     aes    114
  588.     endm
  589.  
  590. rsrc_rcfix    macro    header
  591.     move.l    \1,addr_in
  592.     aes    115
  593.     endm
  594.  
  595. shel_read    macro    command,shell
  596.     move.l    \1,addr_in
  597.     move.l    \2,addr_in+4
  598.     aes    120
  599.     endm
  600.  
  601. shel_write    macro    doex,sgr,scr,cmd,shell
  602.     move.w    \1,int_in
  603.     move.w    \2,int_in+2
  604.     move.w    \3,int_in+4
  605.     move.l    \4,addr_in
  606.     move.l    \5,addr_in+4
  607.     aes    121
  608.     endm
  609.  
  610. shel_get    macro    buffer,length
  611.     move.l    \1,addr_in
  612.     move.w    \2,int_in
  613.     aes    122
  614.     endm
  615.  
  616. shel_put    macro    buffer,length
  617.     move.l    \1,addr_in
  618.     move.w    \2,int_in
  619.     aes    123
  620.     endm
  621.  
  622. shel_find    macro    buffer
  623.     move.l    \1,addr_in
  624.     aes    124
  625.     endm
  626.  
  627. shel_envrn    macro    value,string
  628.     move.l    \1,addr_in
  629.     move.l    \2,addr_in+4
  630.     aes    125
  631.     endm
  632.  
  633.  
  634. *********** END OF AES *************
  635.  
  636.  
  637. *********** VDI MACROS *************
  638.  
  639. * conditional macro definition(!) to call vdi routine
  640.     IFGT    __LK
  641. callvdi    macro    vdiname
  642.     XREF    \1,contrl,contrl1,contrl3
  643.     XREF    intin,ptsin,intout,ptsout,vdi_params
  644.     BSR    \1
  645.     endm
  646.     ELSEIF
  647. callvdi    macro    vdiname
  648.     BSR    \1
  649.     endm
  650.     ENDC
  651. * may need to change BSR above to JSR for large progs
  652.  
  653. v_opnwk    macro
  654.     callvdi    v_opnwk
  655.     endm
  656.  
  657. v_clswk    macro
  658.     callvdi    v_clswk
  659.     endm
  660.  
  661. v_opnvwk    macro
  662.     callvdi    v_opnvwk
  663.     endm
  664.  
  665. v_clsvwk    macro
  666.     callvdi    v_clsvwk
  667.     endm
  668.  
  669. v_clrwk    macro
  670.     callvdi    v_clrwk
  671.     endm
  672.  
  673. v_updwk    macro
  674.     callvdi    v_updwk
  675.     endm
  676.  
  677. vst_load_fonts    macro
  678.     callvdi    vst_load_fonts
  679.     endm
  680.  
  681. vst_unload_fonts    macro
  682.     callvdi    vst_unload_fonts
  683.     endm
  684.  
  685. vs_clip    macro    flag,x1,y1,x2,y2
  686.     move.w    \1,intin
  687.     move.w    \2,ptsin
  688.     move.w    \3,ptsin+2
  689.     move.w    \4,ptsin+4
  690.     move.w    \5,ptsin+6
  691.     callvdi    vs_clip
  692.     endm
  693.  
  694. v_pline    macro    count
  695.     move.w    \1,contrl1
  696.     callvdi    v_pline
  697.     endm
  698.  
  699. v_pmarker    macro    count
  700.     move.w    \1,contrl1
  701.     callvdi    v_pmarker
  702.     endm
  703.  
  704. v_gtext    macro    x,y,string
  705.     move.w    \1,ptsin
  706.     move.w    \2,ptsin+2
  707.     move.l    \3,a0
  708.     callvdi    v_gtext
  709.     endm
  710.  
  711. v_fillarea    macro    count
  712.     move.w    \1,contrl1
  713.     callvdi    v_fillarea
  714.     endm
  715.     
  716. v_contourfill    macro    x,y,index
  717.     move.w    \1,ptsin
  718.     move.w    \2,ptsin+2
  719.     move.w    \3,intin
  720.     callvdi    v_contourfill
  721.     endm
  722.  
  723. vr_recfl    macro    x1,y1,x2,y2
  724.     move.w    \1,ptsin
  725.     move.w    \2,ptsin+2
  726.     move.w    \3,ptsin+4
  727.     move.w    \4,ptsin+6
  728.     callvdi    vr_recfl
  729.     endm
  730.  
  731. v_bar    macro    x1,y1,x2,y2
  732.     move.w    \1,ptsin
  733.     move.w    \2,ptsin+2
  734.     move.w    \3,ptsin+4
  735.     move.w    \4,ptsin+6
  736.     callvdi    v_bar
  737.     endm
  738.  
  739. v_arc    macro    x,y,rad,start,end
  740.     move.w    \1,ptsin
  741.     move.w    \2,ptsin+2
  742.     move.w    \3,ptsin+12
  743.     moev.w    \4,intin
  744.     move.w    \5,intin+2
  745.     callvdi    v_arc
  746.     endm
  747.  
  748. v_pieslice    macro    x,y,rad,start,end
  749.     move.w    \1,ptsin
  750.     move.w    \2,ptsin+2
  751.     move.w    \3,ptsin+12
  752.     moev.w    \4,intin
  753.     move.w    \5,intin+2
  754.     callvdi    v_pieslice
  755.     endm
  756.  
  757. v_circle    macro    x,y,rad
  758.     move.w    \1,ptsin
  759.     move.w    \2,ptsin+2
  760.     move.w    \3,ptsin+8
  761.     callvdi    v_circle
  762.     endm
  763.  
  764. v_ellarc    macro    x,y,xr,yr,start,end
  765.     move.w    \1,ptsin
  766.     move.w    \2,ptsin+2
  767.     move.w    \3,ptsin+4
  768.     move.w    \4,ptsin+6
  769.     move.w    \5,intin
  770.     move.w    \6,intin+2
  771.     callvdi    v_ellarc
  772.     endm
  773.  
  774. v_ellpie    macro    x,y,xr,yr,start,end
  775.     move.w    \1,ptsin
  776.     move.w    \2,ptsin+2
  777.     move.w    \3,ptsin+4
  778.     move.w    \4,ptsin+6
  779.     move.w    \5,intin
  780.     move.w    \6,intin+2
  781.     callvdi    v_ellpie
  782.     endm
  783.  
  784. v_ellipse    macro    x,y,xr,yr
  785.     move.w    \1,ptsin
  786.     move.w    \2,ptsin+2
  787.     move.w    \3,ptsin+4
  788.     move.w    \4,ptsin+6
  789.     callvdi    v_ellipse
  790.     endm
  791.  
  792. v_rbox    macro    x1,y1,x2,y2
  793.     move.w    \1,ptsin
  794.     move.w    \2,ptsin+2
  795.     move.w    \3,ptsin+4
  796.     move.w    \4,ptsin+6
  797.     callvdi    v_rbox
  798.     endm
  799.  
  800. v_rfbox    macro    x1,y1,x2,y2
  801.     move.w    \1,ptsin
  802.     move.w    \2,ptsin+2
  803.     move.w    \3,ptsin+4
  804.     move.w    \4,ptsin+6
  805.     callvdi    v_rfbox
  806.     endm
  807.  
  808. v_justified    macro    x,y,string,length,ws,cs
  809.     move.w    \1,ptsin
  810.     move.w    \2,ptsin+2
  811.     move.w    \4,ptsin+4
  812.     move.w    \5,intin
  813.     move.w    \6,intin+2
  814.     move.l    \3,a0
  815.     callvdi    v_justified
  816.     endm
  817.  
  818. vswr_mode    macro    mode
  819.     move.w    \1,intin
  820.     callvdi    vswr_mode
  821.     endm
  822.  
  823. vs_color    macro    index,read,green,blue
  824.     move.w    \1,intin
  825.     move.w    \2,intin+2
  826.     move.w    \3,intin+4
  827.     move.w    \4,intin+6
  828.     callvdi    vs_color
  829.     endm
  830.  
  831. vsl_type    macro    style
  832.     move.w    \1,intin
  833.     callvdi    vsl_type
  834.     endm
  835.  
  836. vsl_udsty    macro    pattern
  837.     move.w    \1,intin
  838.     callvdi    vsl_udsty
  839.     endm
  840.  
  841. vsl_width    macro    width
  842.     move.w    \1,ptsin
  843.     callvdi    vsl_width
  844.     endm
  845.  
  846. vsl_color    macro    index
  847.     move.w    \1,intin
  848.     callvdi    vsl_color
  849.     endm
  850.  
  851. vsl_ends    macro    beg,end
  852.     move.w    \1,intin
  853.     move.w    \2,intin+2
  854.     callvdi    vsl_ends
  855.     endm
  856.  
  857. vsm_type    macro    symbol
  858.     move.w    \1,intin
  859.     callvdi    vsm_type
  860.     endm
  861.  
  862. vsm_height    macro    height
  863.     move.w    \1,ptsin+2
  864.     callvdi    vsm_height
  865.     endm
  866.  
  867. vsm_color    macro    index
  868.     move.w    \1,intin
  869.     callvdi    vsm_color
  870.     endm
  871.  
  872. vst_height    macro    height
  873.     move.w    \1,ptsin+2
  874.     callvdi    vst_height
  875.     endm
  876.  
  877. vst_point    macro    point
  878.     move.w    \1,intin
  879.     callvdi    vst_point
  880.     endm
  881.  
  882. vst_rotation    macro    angle
  883.     move.w    \1,intin
  884.     callvdi    vst_rotation
  885.     endm
  886.  
  887. vst_font    macro    font
  888.     move.w    \1,intin
  889.     callvdi    vst_font
  890.     endm
  891.  
  892. vst_color    macro    index
  893.     move.w    \1,intin
  894.     callvdi    vst_color
  895.     endm
  896.  
  897. vst_effects    macro    effect
  898.     move.w    \1,intin
  899.     callvdi    vst_effects
  900.     endm
  901.  
  902. vst_alignment    macro    hor,vert
  903.     move.w    \1,intin
  904.     move.w    \2,intin+2
  905.     callvdi    vst_alignment
  906.     endm
  907.  
  908. vsf_interior    macro    style
  909.     move.w    \1,intin
  910.     callvdi    vsf_interior
  911.     endm
  912.  
  913. vsf_style    macro    index
  914.     move.w    \1,intin
  915.     callvdi    vsf_style
  916.     endm
  917.  
  918. vsf_color    macro    index
  919.     move.w    \1,intin
  920.     callvdi    vsf_color
  921.     endm
  922.  
  923. vsf_perimeter    macro    vis
  924.     move.w    \1,intin
  925.     callvdi    vsf_perimeter
  926.     endm
  927.  
  928. vsf_updat    macro
  929.     callvdi    vsf_updat
  930.     endm
  931.  
  932. vro_cpyfm    macro    mode,sourceMFDB,destMFDB
  933.     move.w    \1,intin
  934.     move.l    \2,contrl+14
  935.     move.l    \3,contrl+18
  936.     callvdi    vro_cpyfm
  937.     endm
  938.  
  939. vrt_cpyfm    macro    mode,sourceMFDB,destMFDB,index1,index2
  940.     move.w    \1,intin
  941.     move.l    \2,contrl+14
  942.     move.l    \3,contrl+18
  943.     move.w    \4,intin+2
  944.     move.w    \5,intin+4
  945.     callvdi    vrt_cpyfm
  946.     endm
  947.  
  948. vr_trnfm    macro    source,dest
  949.     move.l    \1,contrl+14
  950.     move.l    \2,contrl+18
  951.     callvdi    vr_trnfm
  952.     endm
  953.  
  954. v_get_pixel    macro    x,y
  955.     move.w    \1,ptsin
  956.     move.w    \2,ptsin+2
  957.     callvdi    v_get_pixel
  958.     endm
  959.  
  960. vex_timv    macro    newtimer
  961.     move.l    \1,contrl+14
  962.     callvdi    vex_timv
  963.     endm
  964.  
  965. v_show_c    macro    reset
  966.     move.w    \1,intin
  967.     callvdi    v_show_c
  968.     endm
  969.  
  970. v_hide_c    macro
  971.     callvdi    v_hide_c
  972.     endm
  973.  
  974. vq_mouse    macro
  975.     callvdi    vq_mouse
  976.     endm
  977.  
  978. vex_butv    macro    newxbut
  979.     move.l    \1,contrl+14
  980.     callvdi    vex_butv
  981.     endm
  982.  
  983. vex_motv    macro    newmov
  984.     move.l    \1,contrl+14
  985.     callvdi    vex_motv
  986.     endm
  987.  
  988. vex_curv    macro    newcursor
  989.     move.l    \1,contrl+14
  990.     callvdi    vex_curv
  991.     endm
  992.  
  993. vq_key_s    macro
  994.     callvdi    vq_key_s
  995.     endm
  996.  
  997. vq_extnd    macro    flag
  998.     move.w    \1,intin
  999.     callvdi    vq_extnd
  1000.     endm
  1001.  
  1002. vq_color    macro    index,flag
  1003.     move.w    \1,intin
  1004.     move.w    \2,intin+2
  1005.     callvdi    vq_color
  1006.     endm
  1007.  
  1008. vql_attributes    macro
  1009.     callvdi    vql_attributes
  1010.     endm
  1011.  
  1012. vqm_attributes    macro
  1013.     callvdi    vqm_attributes
  1014.     endm
  1015.  
  1016. vqf_attributes    macro
  1017.     callvdi    vqf_attributes
  1018.     endm
  1019.  
  1020. vqt_attributes    macro
  1021.     callvdi    vqt_attributes
  1022.     endm
  1023.  
  1024. vqt_extent    macro    string
  1025.     move.l    \1,a0
  1026.     callvdi    vqt_extent
  1027.     endm
  1028.  
  1029. vqt_width    macro    char
  1030.     move.w    \1,intin
  1031.     callvdi    vqt_width
  1032.     endm
  1033.  
  1034. vqt_name    macro    number
  1035.     move.w    \1,intin
  1036.     callvdi    vqt_name
  1037.     endm
  1038.  
  1039. vqt_fontinfo    macro
  1040.     callvdi    vqt_fontinfo
  1041.     endm
  1042.  
  1043. v_bez_on    macro
  1044.     callvdi    v_bez_on
  1045.     endm
  1046.  
  1047. v_bez_off    macro
  1048.     callvdi    v_bez_off
  1049.     endm
  1050.  
  1051. v_set_app_buff    macro address,nparas
  1052.     move.l    \1,d0
  1053.     swap    d0
  1054.     move.l    d0,intin
  1055.     move.w    \2,intin+4
  1056.     callvdi    v_set_app_buff
  1057.     endm
  1058.  
  1059. v_bez    macro    count
  1060.     move.w    \1,d0
  1061.     callvdi    v_bez
  1062.     endm
  1063.  
  1064. v_bez_fill    macro    count
  1065.     move.w    \1,d0
  1066.     callvdi    v_bez_fill
  1067.     endm
  1068.  
  1069. v_bez_qual    macro percent
  1070.     move.w    \1,intin+4
  1071.     callvdi    v_bez_qual
  1072.     endm
  1073.  
  1074. vqt_fontheader    macro    buffer
  1075.     move.l    \1,intin
  1076.     callvdi    vqt_fontheader
  1077.     endm    
  1078.     
  1079. vqt_trackkern    macro
  1080.     callvdi    vqt_trackkern
  1081.     endm
  1082.  
  1083. vqt_pairkern    macro    first,second
  1084.     move.w    \1,intin
  1085.     move.w    \2,intin+2
  1086.     callvdi    vqt_pairkern
  1087.     endm
  1088.  
  1089. vst_charmap    macro    mode
  1090.     move.w    \1,intin
  1091.     callvdi    vst_charmap
  1092.     endm
  1093.  
  1094. vst_kern    macro    tmode,pmode
  1095.     move.w    \1,intin
  1096.     move.w    \2,intin+2
  1097.     callvdi    vst_kern
  1098.     endm
  1099.  
  1100. v_getbitmap_info    macro    ch
  1101.     move.w    \1,intin
  1102.     callvdi    v_getbitmap_info
  1103.     endm
  1104.  
  1105. vqt_f_extent    macro    string
  1106.     move.l    \1,a0
  1107.     callvdi    vqt_f_extent
  1108.     endm
  1109.         
  1110. v_ftext    macro    x,y,string
  1111.     move.w    \1,ptsin
  1112.     move.w    \2,ptsin+2
  1113.     move.l    \3,a0
  1114.     callvdi    v_ftext
  1115.     endm
  1116.  
  1117. v_ftext_offset    macro    string        ptsin must be set up
  1118.     move.l    \1,a0
  1119.     callvdi    v_ftext
  1120.     endm
  1121.     
  1122. v_getoutline    macro    ch,xyarray,bezarray,maxverts
  1123.     move.w    \1,intin
  1124.     move.l    \2,intin+4
  1125.     move.l    \3,intin+8
  1126.     move.w    \4,intin+2
  1127.     callvdi    v_getoutline
  1128.     endm
  1129.  
  1130. vst_scratch    macro    mode
  1131.     move.w    \1,intin
  1132.     callvdi    vst_scratch
  1133.     endm
  1134.  
  1135. vst_error    macro    mode,errorcode
  1136.     move.w    \1,intin
  1137.     move.l    \2,intin+2
  1138.     callvdi    vst_error
  1139.     endm
  1140.  
  1141. vst_arbpt    macro    point [fix]
  1142.     move.w    \1,intin
  1143.     IFNC    '\2',''
  1144.     move.w    \2,int_in+4
  1145.     move.w    #2,contrl+6
  1146.     ELSE
  1147.     move.w    #1,contrl+6
  1148.     ENDC
  1149.     callvdi    vst_arbpt
  1150.     endm
  1151.  
  1152. vqt_advance    macro    ch
  1153.     move.w    \1,intin
  1154.     callvdi    vqt_advance
  1155.     endm
  1156.  
  1157. vqt_devinfo    macro    devnum
  1158.     move.w    \1,intin
  1159.     callvdi    vqt_devinfo
  1160.     endm
  1161.  
  1162. v_savecache    macro    fname
  1163.     move.l    \1,a0
  1164.     callvdi    v_savecache
  1165.     endm
  1166.  
  1167. v_loadcache    macro    fname,mode
  1168.     move.w    \1,intin
  1169.     move.l    \2,a0
  1170.     callvdi    v_loadcache
  1171.     endm
  1172.     
  1173. v_flushcahce    macro
  1174.     callvdi    v_flushcahe
  1175.     endm
  1176.  
  1177. vst_setsize    macro    point
  1178.     move.w    \1,intin
  1179.     endm
  1180.  
  1181. vst_setsize    macro    point [fix]
  1182.     move.w    \1,intin
  1183.     IFNC    '\2',''
  1184.     move.w    \2,int_in+4
  1185.     move.w    #2,contrl+6
  1186.     ELSE
  1187.     move.w    #1,contrl+6
  1188.     ENDC
  1189.     callvdi    vst_setsize
  1190.     endm
  1191.  
  1192. vst_skew    macro
  1193.     move.w    \1,intin
  1194.     callvdi    vst_skew
  1195.     endm
  1196.  
  1197. vqt_get_table    macro
  1198.     callvdi    vqt_get_table
  1199.     endm
  1200.  
  1201. vqt_cachesize    macro    which
  1202.     move.w    \1,intin
  1203.     callvdi    vqt_cachesize
  1204.     endm
  1205.  
  1206.     
  1207. *********** END OF VDI *****************
  1208.