home *** CD-ROM | disk | FTP | other *** search
/ Millennium Time Capsule / AC2000.BIN / disks / ac9_disk / g172src / gemma-i1.s next >
Encoding:
Text File  |  1997-11-15  |  44.9 KB  |  2,802 lines

  1. *************************************************
  2. *
  3. * GEMMA Extension for STOS, interpreter version.
  4. *
  5. * AES extension, v1.50 Part 1
  6. *
  7. * (c)1997 The GEMMA programming team
  8. * All rights reserved.
  9. *
  10. * This source code, (or any derived from it) may only
  11. * only be distributed under the GNU Public Licence
  12. * (available on request). In essence this states that
  13. * this source code must be available and that binaries
  14. * must be distributed as freeware.
  15. *
  16. * The authors reserves the right to change the status of
  17. * this software at any time, without prior warning or
  18. * notification.
  19. *
  20. *    Supervisor mode   - The AES should NOT be called from
  21. *                        supervisor mode (which STOS is in)
  22. *    on-line help (not one help command per new command!)
  23.  
  24. * Jump header
  25.  
  26.     output C:\STOS\GEMMA.EXD
  27.  
  28.         bra     INIT
  29.  
  30. ***********************************************
  31. *
  32. * Header
  33. *
  34.  
  35. * Start of token list
  36.         dc.b    128
  37.  
  38. TOKENS  
  39.  
  40. * even=instruction, odd=function
  41.     dc.b    "appl_exit",128
  42.     dc.b    "appl_read",129
  43.     dc.b    "objc_sysvar",130
  44.     dc.b    "appl_write",131
  45.     dc.b    "appl_tplay",132    * 5
  46.     dc.b    "appl_init",133
  47.     dc.b    "mnu_popup",134
  48.     dc.b    "appl_search",135
  49.     dc.b    "evnt_mouse",136
  50.     dc.b    "evnt_keybd",137    * 10
  51.     dc.b    "evnt_timer",138
  52.     dc.b    "evnt_buttn",139
  53.     dc.b    "evnt_mesag",140
  54.     dc.b    "evnt_multi",141
  55.     dc.b    "mnu_ienable",142    * 15
  56.     dc.b    "evnt_dclick",143
  57.     dc.b    "mnu_icheck",144
  58.     dc.b    "mnu_br",145
  59.     dc.b    "mnu_tnormal",146
  60.     dc.b    "mnu_register",147    * 20
  61.     dc.b    "mnu_text",148
  62.     dc.b    "appl_trecord",149
  63.     dc.b    "mnu_attach",150
  64.     dc.b    "mnu_istart",151
  65.     dc.b    "mnu_settings",152    * 25
  66.     dc.b    "objc_find",153
  67.     dc.b    "objc_add",154
  68.     dc.b    "objc_delete",155
  69.     dc.b    "objc_draw",156
  70.     dc.b    "objc_offset",157    * 30
  71.     dc.b    "objc_order",158
  72.     dc.b    "frm_keybd",159
  73.     dc.b    "objc_change",160
  74.     dc.b    "dummygemma",161    * Doesn't ever work at this position!
  75.     dc.b    "frm_dial",162        * 35
  76.     dc.b    "frm_do",163
  77.     dc.b    "frm_error",164
  78.     dc.b    "frm_alert",165
  79.     dc.b    "objc_edit",166
  80.     dc.b    "appl_find",167        * 40
  81.     dc.b    "graf_rubberbox",168
  82.     dc.b    "frm_button",169
  83.     dc.b    "graf_dragbox",170
  84.     dc.b    "graf_handle",171
  85.     dc.b    "graf_growbox",172    * 45
  86.     dc.b    "graf_watchbox",173
  87.     dc.b    "graf_shrinkbox",174
  88.     dc.b    "graf_slidebox",175
  89.     dc.b    "graf_movebox",176
  90.     dc.b    "graf_mouse",177    * 50
  91.     dc.b    "graf_mkstate",178
  92.     dc.b    "operver",179
  93.     dc.b    "scrp_write",180
  94.     dc.b    "wind_close",181
  95.     dc.b    "scrp_read",182        * 55
  96.     dc.b    "wind_create",183
  97.     dc.b    "wind_open",184        * wind_open - crashes with people!
  98.     dc.b    "dummygemma",185    * Doesn't work either
  99.     dc.b    "wind_delete",186
  100.     dc.b    "wind_get",187        * 60
  101.     dc.b    "wind_set",188
  102.     dc.b    "wind_find",189
  103.     dc.b    "wind_update",190
  104.     dc.b    "wind_calc",191
  105.  
  106. * The end of the token list
  107.         dc.b    0
  108.  
  109.     even
  110.     
  111. * Now the jump table
  112.  
  113. JUMPS   dc.w   64        in order of token, starting from 128
  114.     dc.l    appl_exit
  115.     dc.l    appl_read
  116.     dc.l    objc_sysvar
  117.     dc.l    appl_write
  118.     dc.l    appl_tplay    * 5
  119.     dc.l    appl_init
  120.     dc.l    menu_popup
  121.     dc.l    appl_search
  122.     dc.l    evnt_mouse
  123.     dc.l    evnt_keybd    * 10
  124.     dc.l    evnt_timer
  125.     dc.l    evnt_button
  126.     dc.l    evnt_mesag
  127.     dc.l    evnt_multi
  128.     dc.l    menu_ienable    * 15
  129.     dc.l    evnt_dclick
  130.     dc.l    menu_icheck
  131.     dc.l    menu_bar
  132.     dc.l    menu_tnormal
  133.     dc.l    menu_register    * 20
  134.     dc.l    menu_text
  135.     dc.l    appl_trecord
  136.     dc.l    menu_attach
  137.     dc.l    menu_istart
  138.     dc.l    menu_settings    * 25
  139.     dc.l    objc_find
  140.     dc.l    objc_add
  141.     dc.l    objc_delete
  142.     dc.l    objc_draw
  143.     dc.l    objc_offset    * 30
  144.     dc.l    objc_order
  145.     dc.l    form_keybd
  146.     dc.l    objc_change
  147.     dc.l    dummy
  148.     dc.l    form_dial    * 35
  149.     dc.l    form_do
  150.     dc.l    form_error
  151.     dc.l    form_alert
  152.     dc.l    objc_edit        * swaped form_keybd+objc_edit around
  153.     dc.l    appl_find    * 40
  154.     dc.l    graf_rubberbox
  155.     dc.l    form_button
  156.     dc.l    graf_dragbox
  157.     dc.l    graf_handle
  158.     dc.l    graf_growbox    * 45
  159.     dc.l    graf_watchbox
  160.     dc.l    graf_shrinkbox
  161.     dc.l    graf_slidebox
  162.     dc.l    graf_movebox
  163.     dc.l    graf_mouse    * 50
  164.     dc.l    graf_mkstate
  165.     dc.l    operver
  166.     dc.l    scrp_write
  167.     dc.l    wind_close
  168.     dc.l    scrp_read    * 55
  169.     dc.l    wind_create
  170.     dc.l    wind_open
  171.     dc.l    dummy
  172.     dc.l    wind_delete
  173.     dc.l    wind_get    * 60
  174.     dc.l    wind_set
  175.     dc.l    wind_find
  176.     dc.l    wind_update
  177.     dc.l    wind_calc
  178.  
  179. * macro to call a given AES routine
  180. aes    macro    aes_number
  181.     move    #\1,d0
  182.     lea    control,a1
  183.     move.w    d0,(a1)+            store the op code
  184.     sub.w    #10,d0
  185.     mulu    #3,d0            size is the priority, not speed
  186.     lea    gem_ctrl_list,a0
  187.     add.w    d0,a0            points to the entry
  188.     moveq    #0,d0
  189.     move.b    (a0)+,d0
  190.     move.w    d0,(a1)+        do control1
  191.     move.b    (a0)+,d0
  192.     move.w    d0,(a1)+        and control2
  193.     move.b    (a0)+,d0
  194.     move.w    d0,(a1)+        and control3
  195.     clr.w    (a1)            assumes control4=0 (all except RSRC_GADDR)
  196.     move.l    #aes_params,d1
  197.  
  198.     move.w    #200,d0            function number
  199.     trap    #2
  200.  
  201.     moveq.l    #0,d2
  202. *    move.l    d0,d3
  203.     clr.l    d3
  204.     move.w    int_out,d3        usually a returned value
  205.     endm
  206.  
  207.  
  208.  
  209. * The welcome mesages in English and French
  210.  
  211. WELCOME dc.b    10,13
  212.  
  213.     dc.b    10,13,"                          The GEMMA Extension v1.52"
  214.     dc.b    10,13,"                       (c) 1997 The GEMMA programming team"
  215.      dc.b    10,13,"                           AES routines installed.",10,13,0
  216.  
  217.     dc.b    10,13,"                          le Extension GEMMA v1.52"
  218.     dc.b    10,13,"                     (c) 1997 Le GEMMA programming team"
  219.      dc.b    10,13,"                        routines de AES installes.",10,13,0
  220.         even
  221.  
  222. * Some system variables
  223.  
  224. RETURN        dc.l    0
  225. SYSTEM        dc.l    0
  226. SYSSTORE    ds.l    0
  227.  
  228. * The routine that is called on start-up
  229.  
  230. INIT    move.l    a6,SYSSTORE    * address of GEMMAOS desktop info!!!
  231.     lea     END,a0
  232.         lea     COLDST,a1
  233.         rts
  234.  
  235. COLDST  move.l    a0,SYSTEM
  236.     lea     WELCOME,a0      ; vital stuff
  237.         lea     WARMST,a1
  238.         lea     TOKENS,a2
  239.         lea     JUMPS,a3
  240.         rts
  241.  
  242. * Executed on UNDO in editor
  243.  
  244. WARMST  rts
  245.  
  246.  
  247. *************************
  248. *
  249. * Our commands
  250. *
  251. *
  252.  
  253. * The AES commands --------------------------------------------
  254.  
  255. appl_init    move.l    (sp)+,RETURN
  256.         tst    d0
  257.         bne    SYNTAX
  258.  
  259.         aes    10
  260.  
  261.         move.l    RETURN,a0
  262.         jmp    (a0)
  263.  
  264. appl_read    move.l    (sp)+,RETURN
  265.         cmpi.w    #3,d0
  266.         bne    SYNTAX
  267.  
  268.         movem.l    (sp)+,d2-d4   * message
  269.         tst.b    d2
  270.         bne    TYPEMIS
  271.         move.l    d3,addr_in
  272.  
  273.         movem.l    (sp)+,d2-d4   * length
  274.         tst.b    d2
  275.         bne    TYPEMIS
  276.         move.w    d3,int_in+2
  277.  
  278.         movem.l    (sp)+,d2-d4   * ap_id
  279.         tst.b    d2
  280.         bne    TYPEMIS
  281.         move.w    d3,int_in
  282.  
  283.         aes    11
  284.  
  285.         move.l    RETURN,a0
  286.         jmp    (a0)
  287.  
  288.  
  289. appl_write    move.l    (sp)+,RETURN
  290.         cmpi.w    #3,d0
  291.         bne    SYNTAX
  292.  
  293.         movem.l    (sp)+,d2-d4    * msg
  294.         tst.b    d2
  295.         bne    TYPEMIS
  296.         move.l    d3,addr_in
  297.  
  298.         movem.l    (sp)+,d2-d4    * length
  299.         tst.b    d2
  300.         bne    TYPEMIS
  301.         move.w    d3,int_in+2
  302.  
  303.         movem.l    (sp)+,d2-d4    * ap_id
  304.         tst.b    d2
  305.         bne    TYPEMIS
  306.         move.w    d3,int_in
  307.  
  308.         aes    12
  309.  
  310.         move.l    RETURN,a0
  311.         jmp    (a0)
  312.  
  313.  
  314. appl_find    move.l    (sp)+,RETURN
  315.         cmpi.w    #1,d0
  316.         bne    SYNTAX
  317.  
  318.         movem.l    (sp)+,d2-d4   * fname$
  319.         cmpi.b    #$80,d2
  320.         bne    TYPEMIS
  321.         addq.l    #2,d3
  322.         move.l    d3,addr_in
  323.  
  324.         aes    13
  325.  
  326.         move.l    RETURN,a0
  327.         jmp    (a0)
  328.  
  329. appl_tplay    move.l    (sp)+,RETURN
  330.         cmpi.w    #3,d0
  331.         bne    SYNTAX
  332.  
  333.         movem.l    (sp)+,d2-d4   * scale
  334.         tst.b    d2
  335.         bne    TYPEMIS
  336.         move.w    d3,int_in+2
  337.  
  338.         movem.l    (sp)+,d2-d4   * num
  339.         tst.b    d2
  340.         bne    TYPEMIS
  341.         move.w    d3,int_in
  342.  
  343.         movem.l    (sp)+,d2-d4   * mem&
  344.         tst.b    d2
  345.         bne    TYPEMIS
  346.         move.l    d3,addr_in
  347.  
  348.         aes    14
  349.  
  350.         move.l    RETURN,a0
  351.         jmp    (a0)
  352.  
  353.  
  354. appl_trecord    move.l    (sp)+,RETURN
  355.         cmpi.w    #2,d0
  356.         bne    SYNTAX
  357.  
  358.         movem.l    (sp)+,d2-d4   * num
  359.         tst.b    d2
  360.         bne    TYPEMIS
  361.         move.w    d3,int_in
  362.  
  363.         movem.l    (sp)+,d2-d4   * mem&
  364.         tst.b    d2
  365.         bne    TYPEMIS
  366.         move.l    d3,addr_in
  367.  
  368.         aes    15
  369.  
  370.         move.l    RETURN,a0
  371.         jmp    (a0)
  372.  
  373. appl_search    move.l    (sp)+,RETURN
  374.         cmpi.w    #4,d0
  375.         bne    SYNTAX
  376.  
  377.         movem.l    (sp)+,d2-d4   * ap_id
  378.         tst.b    d2
  379.         bne    TYPEMIS
  380.         move.w    d3,addr_in+8
  381.  
  382.         movem.l    (sp)+,d2-d4   * type
  383.         tst.b    d2
  384.         bne    TYPEMIS
  385.         move.w    d3,addr_in+4
  386.  
  387.         movem.l    (sp)+,d2-d4   * fname&
  388.         cmpi.b    #$80,d2
  389.         bne    TYPEMIS
  390.         addq.l    #2,d3
  391.         move.w    d3,addr_in
  392.  
  393.         movem.l    (sp)+,d2-d4   * mode
  394.         tst.b    d2
  395.         bne    TYPEMIS
  396.         move.w    d3,int_in
  397.  
  398.         aes    15
  399.  
  400.         move.l    RETURN,a0
  401.         jmp    (a0)
  402.  
  403. appl_exit    move.l    (sp)+,RETURN
  404.         tst.w    d0
  405.         bne    SYNTAX
  406.  
  407.         aes    19
  408.  
  409.         move.l    RETURN,a0
  410.         jmp    (a0)
  411.  
  412. evnt_keybd    move.l    (sp)+,RETURN
  413.         tst.w    d0
  414.         bne    SYNTAX
  415.  
  416.         aes    20
  417.  
  418.         move.l    RETURN,a0
  419.         jmp    (a0)
  420.  
  421. evnt_button    move.l    (sp)+,RETURN
  422.         cmpi.w    #7,d0
  423.         bne    SYNTAX
  424.  
  425.         move.l    a5,(mystore)
  426.  
  427.         movem.l    (sp)+,d2-d4   * kstate
  428.         tst.b    d2
  429.         bne    TYPEMIS
  430.         move.l    d3,a5
  431.         move.l    a5,(kstate)
  432.         move.w    2(a5),int_in+12
  433.  
  434.         movem.l    (sp)+,d2-d4   * button
  435.         tst.b    d2
  436.         bne    TYPEMIS
  437.         move.l    d3,a5
  438.         move.l    a5,(button)
  439.         move.w    2(a5),int_in+10
  440.  
  441.         movem.l    (sp)+,d2-d4   * yout
  442.         tst.b    d2
  443.         bne    TYPEMIS
  444.         move.l    d3,a5
  445.         move.l    a5,(y_out)
  446.         move.w    2(a5),int_in+8
  447.  
  448.         movem.l    (sp)+,d2-d4   * xout
  449.         tst.b    d2
  450.         bne    TYPEMIS
  451.         move.l    d3,a5
  452.         move.l    a5,(x_out)
  453.         move.w    2(a5),int_in+6
  454.  
  455.         movem.l    (sp)+,d2-d4   * state
  456.         tst.b    d2
  457.         bne    TYPEMIS
  458.         move.w    d3,int_in+4
  459.  
  460.         movem.l    (sp)+,d2-d4   * mask
  461.         tst.b    d2
  462.         bne    TYPEMIS
  463.         move.w    d3,int_in+2
  464.  
  465.         movem.l    (sp)+,d2-d4   * clicks
  466.         tst.b    d2
  467.         bne    TYPEMIS
  468.         move.w    d3,int_in
  469.  
  470.         aes    21
  471.  
  472.         * x
  473.         move.l    (x_out),a5
  474.         move.w    int_out+2,2(a5)
  475.  
  476.         * y
  477.         move.l    (y_out),a5
  478.         move.w    int_out+4,2(a5)
  479.  
  480.         * button
  481.         move.l    (button),a5
  482.         move.w    int_in+6,2(a5)
  483.  
  484.         * kstate
  485.         move.l    (kstate),a5
  486.         move.w    int_in+8,2(a5)
  487.  
  488.         move.l    (mystore),a5
  489.  
  490.         move.l    RETURN,a0
  491.         jmp    (a0)                           
  492.  
  493. evnt_mouse    move.l    (sp)+,RETURN
  494.         cmpi.w    #9,d0
  495.         bne    SYNTAX
  496.  
  497.         move.l    a5,(mystore)
  498.  
  499.         movem.l    (sp)+,d2-d4   * kstate
  500.         tst.b    d2
  501.         bne    TYPEMIS
  502.         move.l    a5,(kstate)
  503.         move.w    2(a5),int_in+16
  504.  
  505.         movem.l    (sp)+,d2-d4   * button
  506.         tst.b    d2
  507.         bne    TYPEMIS
  508.         move.l    a5,(button)
  509.         move.w    2(a5),int_in+14
  510.  
  511.         movem.l    (sp)+,d2-d4   * yout
  512.         tst.b    d2
  513.         bne    TYPEMIS
  514.         move.l    a5,(y_out)
  515.         move.w    2(a5),int_in+12
  516.  
  517.         movem.l    (sp)+,d2-d4   * xout
  518.         tst.b    d2
  519.         bne    TYPEMIS
  520.         move.l    a5,(x_out)
  521.         move.w    2(a5),int_in+10
  522.  
  523.         movem.l    (sp)+,d2-d4   * h
  524.         tst.b    d2
  525.         bne    TYPEMIS
  526.         move.w    d3,int_in+8
  527.  
  528.         movem.l    (sp)+,d2-d4   * w
  529.         tst.b    d2
  530.         bne    TYPEMIS
  531.         move.w    d3,int_in+6
  532.  
  533.         movem.l    (sp)+,d2-d4   * y
  534.         tst.b    d2
  535.         bne    TYPEMIS
  536.         move.w    d3,int_in+4
  537.  
  538.         movem.l    (sp)+,d2-d4   * x
  539.         tst.b    d2
  540.         bne    TYPEMIS
  541.         move.w    d3,int_in+2
  542.  
  543.         movem.l    (sp)+,d2-d4   * flag
  544.         tst.b    d2
  545.         bne    TYPEMIS
  546.         move.w    d3,int_in
  547.  
  548.         aes    22
  549.  
  550.         * x
  551.         move.l    (x_out),a5
  552.         move.w    int_out+2,2(a5)
  553.  
  554.         * y
  555.         move.l    (y_out),a5
  556.         move.w    int_out+4,2(a5)
  557.  
  558.         * button
  559.         move.l    (button),a5
  560.         move.w    int_out+6,2(a5)
  561.  
  562.         * kstate
  563.         move.l    (kstate),a5
  564.         move.w    int_out+8,2(a5)
  565.  
  566.         move.l    (mystore),a5
  567.  
  568.         move.l    RETURN,a0
  569.         jmp    (a0)
  570.  
  571. evnt_mesag    move.l    (sp)+,RETURN
  572.         cmpi.w    #1,d0
  573.         bne    SYNTAX
  574.  
  575.         movem.l    (sp)+,d2-d4   * msg
  576.         tst.b    d2
  577.         bne    TYPEMIS
  578.         move.l    d3,addr_in
  579.  
  580.         aes    23
  581.  
  582.         move.l    RETURN,a0
  583.         jmp    (a0)
  584.  
  585. evnt_timer    move.l    (sp)+,RETURN
  586.         cmpi.w    #1,d0
  587.         bne    SYNTAX
  588.  
  589.         movem.l    (sp)+,d2-d4   * hicount
  590.         tst.b    d2                    
  591.         bne    TYPEMIS
  592.         swap    d3
  593.         move.l    d3,int_in
  594.  
  595.         aes    24
  596.  
  597.         move.l    RETURN,a0
  598.         jmp    (a0)
  599.  
  600. evnt_multi    move.l    (sp)+,RETURN
  601.         cmpi.w    #22,d0
  602.         bne    SYNTAX
  603.  
  604.         move.l    a5,(mystore)
  605.  
  606.         movem.l    (sp)+,d2-d4   * gotclicks
  607.         tst.b    d2
  608.         bne    TYPEMIS
  609.         move.l    d3,a5
  610.         move.l    a5,(gotclicks)
  611. *        move.w    2(a5),int_in+38
  612.  
  613.         movem.l    (sp)+,d2-d4   * key_pressed
  614.         tst.b    d2
  615.         bne    TYPEMIS
  616.         move.l    d3,a5
  617.         move.l    a5,(key_pressed)
  618. *        move.w    2(a5),int_in+36
  619.  
  620.         movem.l    (sp)+,d2-d4   * kstate
  621.         tst.b    d2
  622.         bne    TYPEMIS
  623.         move.l    d3,a5
  624.         move.l    a5,(kstate)
  625. *        move.w    2(a5),int_in+34
  626.  
  627.         movem.l    (sp)+,d2-d4   * button
  628.         tst.b    d2
  629.         bne    TYPEMIS
  630.         move.l    d3,a5
  631.         move.l    a5,(button)
  632. *        move.w    2(a5),int_in+32
  633.  
  634.         movem.l    (sp)+,d2-d4   * yout
  635.         tst.b    d2
  636.         bne    TYPEMIS
  637.         move.l    d3,a5
  638.         move.l    a5,(y_out)
  639. *        move.w    2(a5),int_in+30
  640.  
  641.         movem.l    (sp)+,d2-d4   * xout
  642.         tst.b    d2
  643.         bne    TYPEMIS
  644.         move.l    d3,a5
  645.         move.l    a5,(x_out)
  646. *        move.w    2(a5),int_in+28
  647.  
  648.         movem.l    (sp)+,d2-d4   * time&
  649.         tst.b    d2
  650.         bne    TYPEMIS
  651.         move.l    d3,int_in+28        * !!!!
  652.  
  653.         movem.l    (sp)+,d2-d4   * message&
  654.         tst.b    d2
  655.         bne    TYPEMIS
  656.         move.l    d3,addr_in
  657.  
  658.         movem.l    (sp)+,d2-d4   * h2
  659.         tst.b    d2
  660.         bne    TYPEMIS
  661.         move.w    d3,int_in+26
  662.  
  663.         movem.l    (sp)+,d2-d4   * w2
  664.         tst.b    d2
  665.         bne    TYPEMIS
  666.         move.w    d3,int_in+24
  667.  
  668.         movem.l    (sp)+,d2-d4   * y2
  669.         tst.b    d2
  670.         bne    TYPEMIS
  671.         move.w    d3,int_in+22
  672.  
  673.         movem.l    (sp)+,d2-d4   * x2
  674.         tst.b    d2
  675.         bne    TYPEMIS
  676.         move.w    d3,int_in+20
  677.  
  678.         movem.l    (sp)+,d2-d4   * flag2
  679.         tst.b    d2
  680.         bne    TYPEMIS
  681.         move.w    d3,int_in+18
  682.  
  683.         movem.l    (sp)+,d2-d4   * h1
  684.         tst.b    d2
  685.         bne    TYPEMIS
  686.         move.w    d3,int_in+16
  687.  
  688.         movem.l    (sp)+,d2-d4   * w1
  689.         tst.b    d2
  690.         bne    TYPEMIS
  691.         move.w    d3,int_in+14
  692.  
  693.         movem.l    (sp)+,d2-d4   * y1
  694.         tst.b    d2
  695.         bne    TYPEMIS
  696.         move.w    d3,int_in+12
  697.  
  698.         movem.l    (sp)+,d2-d4   * x1
  699.         tst.b    d2
  700.         bne    TYPEMIS
  701.         move.w    d3,int_in+10
  702.  
  703.         movem.l    (sp)+,d2-d4   * flag1
  704.         tst.b    d2
  705.         bne    TYPEMIS
  706.         move.w    d3,int_in+8
  707.  
  708.         movem.l    (sp)+,d2-d4   * state
  709.         tst.b    d2
  710.         bne    TYPEMIS
  711.         move.w    d3,int_in+6
  712.  
  713.         movem.l    (sp)+,d2-d4   * mask
  714.         tst.b    d2
  715.         bne    TYPEMIS
  716.         move.w    d3,int_in+4
  717.  
  718.         movem.l    (sp)+,d2-d4   * clicks
  719.         tst.b    d2
  720.         bne    TYPEMIS
  721.         move.w    d3,int_in+2
  722.  
  723.         movem.l    (sp)+,d2-d4   * eflags
  724.         tst.b    d2
  725.         bne    TYPEMIS
  726.         move.w    d3,int_in
  727.  
  728.         aes    25
  729.  
  730.         * gotclicks
  731.         move.l    (gotclicks),a5
  732.         move.w    int_out+12,2(a5)
  733.  
  734.         * key_pressed
  735.         move.l    (key_pressed),a5
  736.         move.w    int_out+10,2(a5)
  737.  
  738.         * kstate
  739.         move.l    (kstate),a5
  740.         move.w    int_out+8,2(a5)
  741.  
  742.         * button
  743.         move.l    (button),a5
  744.         move.w    int_out+6,2(a5)
  745.  
  746.         * yout
  747.         move.l    (y_out),a5
  748.         move.w    int_out+4,2(a5)
  749.  
  750.         * xout
  751.         move.l    (x_out),a5
  752.         move.w    int_out+2,2(a5)
  753.  
  754.         move.l    (mystore),a5
  755.  
  756.         move.l    RETURN,a0
  757.         jmp    (a0)
  758.  
  759. evnt_dclick    move.l    (sp)+,RETURN
  760.         cmpi.w    #2,d0
  761.         bne    SYNTAX
  762.  
  763.         movem.l    (sp)+,d2-d4   * setorget
  764.         tst.b    d2
  765.         bne    TYPEMIS
  766.         move.w    d3,int_in+2
  767.  
  768.         movem.l    (sp)+,d2-d4   * newvalue
  769.         tst.b    d2
  770.         bne    TYPEMIS
  771.         move.w    d3,int_in
  772.  
  773.         aes    26
  774.  
  775.         move.l    RETURN,a0
  776.         jmp    (a0)
  777.  
  778. menu_bar    move.l    (sp)+,RETURN
  779.         cmpi.w    #2,d0
  780.         bne    SYNTAX
  781.  
  782.         movem.l    (sp)+,d2-d4   * flag
  783.         tst.b    d2
  784.         bne    TYPEMIS
  785.         move.w    d3,int_in
  786.  
  787.         movem.l    (sp)+,d2-d4   * tree&
  788.         tst.b    d2
  789.         bne    TYPEMIS
  790.         move.l    d3,addr_in
  791.  
  792.         aes    30
  793.  
  794.         move.l    RETURN,a0
  795.         jmp    (a0)
  796.  
  797. menu_icheck    move.l    (sp)+,RETURN
  798.         cmpi.w    #3,d0
  799.         bne    SYNTAX
  800.  
  801.         movem.l    (sp)+,d2-d4   * flag
  802.         tst.b    d2
  803.         bne    TYPEMIS
  804.         move.w    d3,int_in+2
  805.  
  806.         movem.l    (sp)+,d2-d4   * item
  807.         tst.b    d2
  808.         bne    TYPEMIS
  809.         move.w    d3,int_in
  810.  
  811.         movem.l    (sp)+,d2-d4   * tree&
  812.         tst.b    d2
  813.         bne    TYPEMIS
  814.         move.l    d3,addr_in
  815.  
  816.         aes    31
  817.  
  818.         move.l    RETURN,a0
  819.         jmp    (a0)
  820.  
  821. menu_ienable    move.l    (sp)+,RETURN
  822.         cmpi.w    #3,d0
  823.         bne    SYNTAX
  824.  
  825.         movem.l    (sp)+,d2-d4   * flag
  826.         tst.b    d2
  827.         bne    TYPEMIS
  828.         move.w    d3,int_in+2
  829.  
  830.         movem.l    (sp)+,d2-d4   * item
  831.         tst.b    d2
  832.         bne    TYPEMIS
  833.         move.w    d3,int_in
  834.  
  835.         movem.l    (sp)+,d2-d4   * tree&
  836.         tst.b    d2
  837.         bne    TYPEMIS
  838.         move.l    d3,addr_in
  839.  
  840.         aes    32
  841.  
  842.         move.l    RETURN,a0
  843.         jmp    (a0)
  844.  
  845. menu_tnormal    move.l    (sp)+,RETURN
  846.         cmpi.w    #3,d0
  847.         bne    SYNTAX
  848.  
  849.         movem.l    (sp)+,d2-d4   * flag
  850.         tst.b    d2
  851.         bne    TYPEMIS
  852.         move.w    d3,int_in+2
  853.  
  854.         movem.l    (sp)+,d2-d4   * title
  855.         tst.b    d2
  856.         bne    TYPEMIS
  857.         move.w    d3,int_in
  858.  
  859.         movem.l    (sp)+,d2-d4   * tree&
  860.         tst.b    d2
  861.         bne    TYPEMIS
  862.         move.l    d3,addr_in
  863.  
  864.         aes    33
  865.  
  866.         move.l    RETURN,a0
  867.         jmp    (a0)
  868.  
  869. menu_text    move.l    (sp)+,RETURN
  870.         cmpi.w    #3,d0
  871.         bne    SYNTAX
  872.  
  873.         movem.l    (sp)+,d2-d4   * text$
  874.         cmpi.b    #$80,d2
  875.         bne    TYPEMIS
  876.         addq.l    #2,d3
  877.         move.l    d3,addr_in+4
  878.  
  879.         movem.l    (sp)+,d2-d4   * item
  880.         tst.b    d2
  881.         bne    TYPEMIS
  882.         move.w    d3,int_in
  883.  
  884.         movem.l    (sp)+,d2-d4   * tree&
  885.         tst.b    d2
  886.         bne    TYPEMIS
  887.         move.l    d3,addr_in
  888.  
  889.         aes    34
  890.  
  891.         move.l    RETURN,a0
  892.         jmp    (a0)
  893.  
  894. menu_register    move.l    (sp)+,RETURN
  895.         cmpi.w    #2,d0
  896.         bne    SYNTAX
  897.  
  898.         movem.l    (sp)+,d2-d4   * title
  899.         cmpi.b    #$80,d2
  900.         bne    TYPEMIS
  901.         addq.l    #2,d3
  902.         move.l    d3,addr_in
  903.  
  904.         movem.l    (sp)+,d2-d4   * ap_id
  905.         tst.b    d2
  906.         bne    TYPEMIS
  907.         move.w    d3,int_in
  908.  
  909.         aes    35
  910.  
  911.         move.l    RETURN,a0
  912.         jmp    (a0)
  913.  
  914. menu_popup    move.l    (sp)+,RETURN
  915.         cmpi.w    #4,d0
  916.         bne    SYNTAX
  917.  
  918.         movem.l    (sp)+,d2-d4   * mdata&
  919.         tst.b    d2
  920.         bne    TYPEMIS
  921.         move.w    d3,addr_in+4
  922.  
  923.         movem.l    (sp)+,d2-d4   * ypos
  924.         tst.b    d2
  925.         bne    TYPEMIS
  926.         move.l    d3,int_in+2
  927.  
  928.         movem.l    (sp)+,d2-d4   * xpos
  929.         tst.b    d2
  930.         bne    TYPEMIS
  931.         move.w    d3,int_in
  932.  
  933.         movem.l    (sp)+,d2-d4   * menu&
  934.         tst.b    d2
  935.         bne    TYPEMIS
  936.         move.l    d3,addr_in
  937.  
  938.         aes    36
  939.  
  940.         move.l    RETURN,a0
  941.         jmp    (a0)
  942.  
  943. menu_attach    move.l    (sp)+,RETURN
  944.         cmpi.w    #4,d0
  945.         bne    SYNTAX
  946.  
  947.         movem.l    (sp)+,d2-d4   * mdata&
  948.         tst.b    d2
  949.         bne    TYPEMIS
  950.         move.l    d3,addr_in+4
  951.  
  952.         movem.l    (sp)+,d2-d4   * item
  953.         tst.b    d2
  954.         bne    TYPEMIS
  955.         move.w    d3,int_in+2
  956.  
  957.         movem.l    (sp)+,d2-d4   * tree&
  958.         tst.b    d2
  959.         bne    TYPEMIS
  960.         move.l    d3,addr_in
  961.  
  962.         movem.l    (sp)+,d2-d4   * flag
  963.         tst.b    d2
  964.         bne    TYPEMIS
  965.         move.w    d3,int_in
  966.  
  967.  
  968.         aes    37
  969.  
  970.         move.l    RETURN,a0
  971.         jmp    (a0)
  972.  
  973. menu_istart    move.l    (sp)+,RETURN
  974.         cmpi.w    #4,d0
  975.         bne    SYNTAX
  976.  
  977.         movem.l    (sp)+,d2-d4   * item
  978.         tst.b    d2
  979.         bne    TYPEMIS
  980.         move.w    d3,int_in+4
  981.  
  982.         movem.l    (sp)+,d2-d4   * imenu
  983.         tst.b    d2
  984.         bne    TYPEMIS
  985.         move.l    d3,int_in+2
  986.  
  987.         movem.l    (sp)+,d2-d4   * tree&
  988.         tst.b    d2
  989.         bne    TYPEMIS
  990.         move.w    d3,addr_in
  991.  
  992.         movem.l    (sp)+,d2-d4   * flag
  993.         tst.b    d2
  994.         bne    TYPEMIS
  995.         move.l    d3,int_in
  996.  
  997.         aes    38
  998.  
  999.         move.l    RETURN,a0
  1000.         jmp    (a0)
  1001.  
  1002. menu_settings    move.l    (sp)+,RETURN
  1003.         cmpi.w    #2,d0
  1004.         bne    SYNTAX
  1005.  
  1006.         movem.l    (sp)+,d2-d4   * set
  1007.         tst.b    d2
  1008.         bne    TYPEMIS
  1009.         move.w    d3,int_in+2
  1010.  
  1011.         movem.l    (sp)+,d2-d4   * flag
  1012.         tst.b    d2
  1013.         bne    TYPEMIS
  1014.         move.l    d3,int_in
  1015.  
  1016.         aes    39
  1017.  
  1018.         move.l    RETURN,a0
  1019.         jmp    (a0)
  1020.  
  1021.  
  1022. objc_add    move.l    (sp)+,RETURN
  1023.         cmpi.w    #3,d0
  1024.         bne    SYNTAX
  1025.  
  1026.         movem.l    (sp)+,d2-d4   * child
  1027.         tst.b    d2
  1028.         bne    TYPEMIS
  1029.         move.w    d3,int_in+2
  1030.  
  1031.         movem.l    (sp)+,d2-d4   * parent
  1032.         tst.b    d2
  1033.         bne    TYPEMIS
  1034.         move.w    d3,int_in
  1035.  
  1036.         movem.l    (sp)+,d2-d4   * tree&
  1037.         tst.b    d2
  1038.         bne    TYPEMIS
  1039.         move.l    d3,addr_in
  1040.  
  1041.         aes    40
  1042.  
  1043.         move.l    RETURN,a0
  1044.         jmp    (a0)
  1045.  
  1046. objc_delete    move.l    (sp)+,RETURN
  1047.         cmpi.w    #2,d0
  1048.         bne    SYNTAX
  1049.  
  1050.         movem.l    (sp)+,d2-d4   * object
  1051.         tst.b    d2
  1052.         bne    TYPEMIS
  1053.         move.w    d3,int_in
  1054.  
  1055.         movem.l    (sp)+,d2-d4   * tree&
  1056.         tst.b    d2
  1057.         bne    TYPEMIS
  1058.         move.l    d3,addr_in
  1059.  
  1060.         aes    41
  1061.  
  1062.         move.l    RETURN,a0
  1063.         jmp    (a0)
  1064.  
  1065. objc_draw        move.l    (sp)+,RETURN
  1066.         cmpi.w    #7,d0
  1067.         bne    SYNTAX
  1068.  
  1069.         movem.l    (sp)+,d2-d4   * h
  1070.         tst.b    d2
  1071.         bne    TYPEMIS
  1072.         move.w    d3,int_in+10
  1073.  
  1074.         movem.l    (sp)+,d2-d4   * w
  1075.         tst.b    d2
  1076.         bne    TYPEMIS
  1077.         move.w    d3,int_in+8
  1078.  
  1079.         movem.l    (sp)+,d2-d4   * y
  1080.         tst.b    d2
  1081.         bne    TYPEMIS
  1082.         move.w    d3,int_in+6
  1083.  
  1084.         movem.l    (sp)+,d2-d4   * x
  1085.         tst.b    d2
  1086.         bne    TYPEMIS
  1087.         move.w    d3,int_in+4
  1088.  
  1089.         movem.l    (sp)+,d2-d4   * depth
  1090.         tst.b    d2
  1091.         bne    TYPEMIS
  1092.         move.w    d3,int_in+2
  1093.  
  1094.         movem.l    (sp)+,d2-d4   * object
  1095.         tst.b    d2
  1096.         bne    TYPEMIS
  1097.         move.w    d3,int_in
  1098.  
  1099.         movem.l    (sp)+,d2-d4   * tree&
  1100.         tst.b    d2
  1101.         bne    TYPEMIS
  1102.         move.l    d3,addr_in
  1103.  
  1104.         aes    42
  1105.  
  1106.         move.l    RETURN,a0
  1107.         jmp    (a0)
  1108.  
  1109. objc_find        move.l    (sp)+,RETURN
  1110.         cmpi.w    #5,d0
  1111.         bne    SYNTAX
  1112.  
  1113.         movem.l    (sp)+,d2-d4   * y
  1114.         tst.b    d2
  1115.         bne    TYPEMIS
  1116.         move.w    d3,int_in+6
  1117.  
  1118.         movem.l    (sp)+,d2-d4   * x
  1119.         tst.b    d2
  1120.         bne    TYPEMIS
  1121.         move.w    d3,int_in+4
  1122.  
  1123.         movem.l    (sp)+,d2-d4   * depth
  1124.         tst.b    d2
  1125.         bne    TYPEMIS
  1126.         move.w    d3,int_in+2
  1127.  
  1128.         movem.l    (sp)+,d2-d4   * object
  1129.         tst.b    d2
  1130.         bne    TYPEMIS
  1131.         move.w    d2,int_in
  1132.  
  1133.         movem.l    (sp)+,d2-d4   * tree&
  1134.         tst.b    d2
  1135.         bne    TYPEMIS
  1136.         move.l    d3,addr_in
  1137.  
  1138.         aes    43
  1139.  
  1140.         move.l    RETURN,a0
  1141.         jmp    (a0)
  1142.  
  1143. objc_offset    move.l    (sp)+,RETURN
  1144.         cmpi.w    #4,d0
  1145.         bne    SYNTAX
  1146.  
  1147.         move.l    a5,(mystore)
  1148.  
  1149.         movem.l    (sp)+,d2-d4    * y
  1150.         tst.b    d2
  1151.         bne    TYPEMIS
  1152.         move.l    d3,a5
  1153.         move.l    a5,(y_out)
  1154.         move.w    2(a5),int_in+4
  1155.  
  1156.         movem.l    (sp)+,d2-d4    * x
  1157.         tst.b    d2
  1158.         bne    TYPEMIS
  1159.         move.l    d3,a5
  1160.         move.l    a5,(x_out)
  1161.         move.w    2(a5),int_in+2
  1162.  
  1163.         movem.l    (sp)+,d2-d4    * object
  1164.         tst.b    d2
  1165.         bne    TYPEMIS
  1166.         move.w    d3,int_in
  1167.  
  1168.         movem.l    (sp)+,d2-d4    * tree&
  1169.         tst.b    d2
  1170.         bne    TYPEMIS
  1171.         move.l    d3,addr_in
  1172.  
  1173.         aes    44
  1174.  
  1175.         * x
  1176.         move.l    (x_out),a5
  1177.         move.w    int_out+2,2(a5)
  1178.  
  1179.         * y
  1180.         move.l    (y_out),a5
  1181.         move.w    int_out+4,2(a5)
  1182.  
  1183.         move.l    (mystore),a5
  1184.  
  1185.         move.l    RETURN,a0
  1186.         jmp    (a0)
  1187.  
  1188. objc_order    move.l    (sp)+,RETURN
  1189.         cmpi.w    #3,d0
  1190.         bne    SYNTAX
  1191.  
  1192.         movem.l    (sp)+,d2-d4   * newpos
  1193.         tst.b    d2
  1194.         bne    TYPEMIS
  1195.         move.w    d3,int_in+2
  1196.  
  1197.         movem.l    (sp)+,d2-d4   * object
  1198.         tst.b    d2
  1199.         bne    TYPEMIS
  1200.         move.w    d3,int_in
  1201.  
  1202.         movem.l    (sp)+,d2-d4   * tree&
  1203.         tst.b    d2
  1204.         bne    TYPEMIS
  1205.         move.l    d3,addr_in
  1206.  
  1207.         aes    45
  1208.  
  1209.         move.l    RETURN,a0
  1210.         jmp    (a0)
  1211.  
  1212. objc_edit    move.l    (sp)+,RETURN
  1213.         cmpi.w    #6,d0
  1214.         bne    SYNTAX
  1215.  
  1216.         move.l    a5,(mystore)
  1217.  
  1218.         movem.l    (sp)+,d2-d4   * newindex
  1219.         tst.b    d2
  1220.         bne    TYPEMIS
  1221.         move.l    d3,a5
  1222.         move.l    a5,(w_out)
  1223.         move.w    d3,int_in+8
  1224.  
  1225.         movem.l    (sp)+,d2-d4   * kind
  1226.         tst.b    d2
  1227.         bne    TYPEMIS
  1228.         move.w    d3,int_in+6
  1229.  
  1230.         movem.l    (sp)+,d2-d4   * index
  1231.         tst.b    d2
  1232.         bne    TYPEMIS
  1233.         move.w    d3,int_in+4
  1234.  
  1235.         movem.l    (sp)+,d2-d4   * char
  1236.         tst.b    d2
  1237.         bne    TYPEMIS
  1238.         move.w    d3,int_in+2
  1239.  
  1240.         movem.l    (sp)+,d2-d4   * object
  1241.         tst.b    d2
  1242.         bne    TYPEMIS
  1243.         move.w    d3,int_in
  1244.  
  1245.         movem.l    (sp)+,d2-d4   * tree&
  1246.         tst.b    d2
  1247.         bne    TYPEMIS
  1248.         move.l    d3,addr_in
  1249.  
  1250.         aes    46
  1251.  
  1252.         * newindex
  1253.         move.l    (x_out),a5
  1254.         move.w    int_out+2,2(a5)
  1255.  
  1256.         move.l    (mystore),a5
  1257.  
  1258.         move.l    RETURN,a0
  1259.         jmp    (a0)
  1260.  
  1261. objc_change    move.l    (sp)+,RETURN
  1262.         cmpi.w    #8,d0
  1263.         bne    SYNTAX
  1264.  
  1265.         movem.l    (sp)+,d2-d4   * flag
  1266.         tst.b    d2
  1267.         bne    TYPEMIS
  1268.         move.w    d3,int_in+14
  1269.  
  1270.         movem.l    (sp)+,d2-d4   * newstate
  1271.         tst.b    d2
  1272.         bne    TYPEMIS
  1273.         move.w    d3,int_in+12
  1274.  
  1275.         movem.l    (sp)+,d2-d4   * h
  1276.         tst.b    d2
  1277.         bne    TYPEMIS
  1278.         move.w    d3,int_in+10
  1279.  
  1280.         movem.l    (sp)+,d2-d4   * w
  1281.         tst.b    d2
  1282.         bne    TYPEMIS
  1283.         move.w    d3,int_in+8
  1284.  
  1285.         movem.l    (sp)+,d2-d4   * y
  1286.         tst.b    d2
  1287.         bne    TYPEMIS
  1288.         move.w    d3,int_in+6
  1289.  
  1290.         movem.l    (sp)+,d2-d4   * x
  1291.         tst.b    d2
  1292.         bne    TYPEMIS
  1293.         move.w    d3,int_in+4
  1294.  
  1295.         clr.w    int_in+2
  1296.  
  1297.         movem.l    (sp)+,d2-d4   * object
  1298.         tst.b    d2
  1299.         bne    TYPEMIS
  1300.         move.w    d3,int_in
  1301.  
  1302.         movem.l    (sp)+,d2-d4   * tree&
  1303.         tst.b    d2
  1304.         bne    TYPEMIS
  1305.         move.l    d3,addr_in
  1306.  
  1307.         aes    47
  1308.  
  1309.         move.l    RETURN,a0
  1310.         jmp    (a0)
  1311.  
  1312. objc_sysvar    move.l    (sp)+,RETURN
  1313.         cmpi.w    #6,d0
  1314.         bne    SYNTAX
  1315.  
  1316.         move.l    a5,(mystore)
  1317.  
  1318.         movem.l    (sp)+,d2-d4   * out2
  1319.         tst.b    d2
  1320.         bne    TYPEMIS
  1321.         move.l    d3,a5
  1322.         move.l    a5,(x_out)
  1323.         move.w    2(a5),int_in+10
  1324.  
  1325.         movem.l    (sp)+,d2-d4   * out1
  1326.         tst.b    d2
  1327.         bne    TYPEMIS
  1328.         move.l    d3,a5
  1329.         move.l    a5,(y_out)
  1330.         move.w    2(a5),int_in+8
  1331.  
  1332.         movem.l    (sp)+,d2-d4   * in2
  1333.         tst.b    d2
  1334.         bne    TYPEMIS
  1335.         move.w    d3,int_in+6
  1336.  
  1337.         movem.l    (sp)+,d2-d4   * in1
  1338.         tst.b    d2
  1339.         bne    TYPEMIS
  1340.         move.w    d3,int_in+4
  1341.  
  1342.         movem.l    (sp)+,d2-d4   * which
  1343.         tst.b    d2
  1344.         bne    TYPEMIS
  1345.         move.w    d3,int_in+2
  1346.  
  1347.         movem.l    (sp)+,d2-d4   * mode
  1348.         tst.b    d2
  1349.         bne    TYPEMIS
  1350.         move.w    d3,int_in
  1351.  
  1352.         aes    48
  1353.  
  1354.         * out1
  1355.         move.l    (x_out),a5
  1356.         move.w    int_out+2,2(a5)
  1357.  
  1358.         * out2
  1359.         move.l    (y_out),a5
  1360.         move.w    int_out+4,2(a5)
  1361.  
  1362.         move.l    (mystore),a5
  1363.  
  1364.  
  1365.         move.l    RETURN,a0
  1366.         jmp    (a0)
  1367.  
  1368.  
  1369. form_do        move.l    (sp)+,RETURN
  1370.         cmpi.w    #2,d0
  1371.         bne    SYNTAX
  1372.  
  1373.         movem.l    (sp)+,d2-d4   * object
  1374.         tst.b    d2
  1375.         bne    TYPEMIS
  1376.         move.w    d3,int_in
  1377.  
  1378.         movem.l    (sp)+,d2-d4   * tree&
  1379.         tst.b    d2
  1380.         bne    TYPEMIS
  1381.         move.l    d3,addr_in
  1382.  
  1383.         aes    50
  1384.  
  1385.         move.l    RETURN,a0
  1386.         jmp    (a0)
  1387.  
  1388. form_dial        move.l    (sp)+,RETURN
  1389.         cmpi.w    #9,d0
  1390.         bne    SYNTAX
  1391.  
  1392.         movem.l    (sp)+,d2-d4   * h2
  1393.         tst.b    d2
  1394.         bne    TYPEMIS
  1395.         move.w    d3,int_in+16
  1396.  
  1397.         movem.l    (sp)+,d2-d4   * w2
  1398.         tst.b    d2
  1399.         bne    TYPEMIS
  1400.         move.w    d3,int_in+14
  1401.  
  1402.         movem.l    (sp)+,d2-d4   * y2
  1403.         tst.b    d2
  1404.         bne    TYPEMIS
  1405.         move.w    d3,int_in+12
  1406.  
  1407.         movem.l    (sp)+,d2-d4   * x2
  1408.         tst.b    d2
  1409.         bne    TYPEMIS
  1410.         move.w    d3,int_in+10
  1411.  
  1412.         movem.l    (sp)+,d2-d4   * h1
  1413.         tst.b    d2
  1414.         bne    TYPEMIS
  1415.         move.w    d3,int_in+8
  1416.  
  1417.         movem.l    (sp)+,d2-d4   * w1
  1418.         tst.b    d2
  1419.         bne    TYPEMIS
  1420.         move.w    d3,int_in+6
  1421.  
  1422.         movem.l    (sp)+,d2-d4   * y1
  1423.         tst.b    d2
  1424.         bne    TYPEMIS
  1425.         move.w    d3,int_in+4
  1426.  
  1427.         movem.l    (sp)+,d2-d4   * x1
  1428.         tst.b    d2
  1429.         bne    TYPEMIS
  1430.         move.w    d3,int_in+2
  1431.  
  1432.         movem.l    (sp)+,d2-d4   * flag
  1433.         tst.b    d2
  1434.         bne    TYPEMIS
  1435.         move.w    d3,int_in
  1436.  
  1437.         aes    51
  1438.  
  1439.         move.l    RETURN,a0
  1440.         jmp    (a0)
  1441.  
  1442. form_alert    move.l    (sp)+,RETURN
  1443.         cmpi.w    #2,d0
  1444.         bne    SYNTAX
  1445.  
  1446.         movem.l    (sp)+,d2-d4    * alert$ (alert)
  1447. *        tst.b    d2
  1448. *        beq    TYPEMIS
  1449.  
  1450.         cmp.w    #$80,d2
  1451.         beq    .text
  1452.         bne    .value
  1453.  
  1454. .text        add.l    #2,d3
  1455. .value        move.l    d3,addr_in
  1456.  
  1457.  
  1458.         movem.l    (sp)+,d2-d4   * default
  1459.         tst.b    d2
  1460.         bne    TYPEMIS
  1461.         move.w    d3,int_in
  1462.  
  1463.         aes    52
  1464.  
  1465.         move.l    RETURN,a0
  1466.         jmp    (a0)
  1467.  
  1468. form_error    move.l    (sp)+,RETURN
  1469.         cmpi.w    #1,d0
  1470.         bne    SYNTAX
  1471.  
  1472.         movem.l    (sp)+,d2-d4   * errorcode
  1473.         tst.b    d2
  1474.         bne    TYPEMIS
  1475.         move.w    d3,int_in
  1476.  
  1477.         aes    53
  1478.  
  1479.         move.l    RETURN,a0
  1480.         jmp    (a0)
  1481.  
  1482. form_center    move.l    (sp)+,RETURN
  1483.         cmpi.w    #5,d0
  1484.         bne    SYNTAX
  1485.  
  1486. * form_center tree&, x, y, w,h
  1487.  
  1488.         move.l    a5,(mystore)
  1489.  
  1490.         movem.l    (sp)+,d2-d4   * h
  1491.         tst.b    d2
  1492.         bne    TYPEMIS
  1493.         move.l    d3,a5
  1494.         move.l    a5,(h_out)
  1495.         move.w    2(a5),int_in+6
  1496.  
  1497.         movem.l    (sp)+,d2-d4   * w
  1498.         tst.b    d2
  1499.         bne    TYPEMIS
  1500.         move.l    d3,a5
  1501.         move.l    a5,(w_out)
  1502.         move.w    2(a5),int_in+4
  1503.  
  1504.         movem.l    (sp)+,d2-d4   * y
  1505.         tst.b    d2
  1506.         bne    TYPEMIS
  1507.         move.l    d3,a5
  1508.         move.l    a5,(y_out)
  1509.         move.w    2(a5),int_in+2
  1510.  
  1511.         movem.l    (sp)+,d2-d4   * x
  1512.         tst.b    d2
  1513.         bne    TYPEMIS
  1514.         move.l    d3,a5
  1515.         move.l    a5,(x_out)
  1516.         move.w    2(a5),int_in
  1517.  
  1518.         movem.l    (sp)+,d2-d4   * tree&
  1519.         tst.b    d2
  1520.         bne    TYPEMIS
  1521.         move.l    d3,addr_in
  1522.  
  1523.         aes    54
  1524.  
  1525.         * h
  1526.         move.l    (h_out),a5
  1527.         move.w    int_out+8,2(a5)
  1528.  
  1529.         * w
  1530.         move.l    (w_out),a5
  1531.         move.w    int_out+6,2(a5)
  1532.  
  1533.         * y
  1534.         move.l    (y_out),a5
  1535.         move.w    int_out+4,2(a5)
  1536.  
  1537.         * x
  1538.         move.l    (x_out),a5
  1539.         move.w    int_out+2,2(a5)
  1540.  
  1541.         move.l    (mystore),a5
  1542.  
  1543.         move.l    RETURN,a0
  1544.         jmp    (a0)
  1545.  
  1546. form_keybd    move.l    (sp)+,RETURN
  1547.         cmpi.w    #6,d0
  1548.         bne    SYNTAX
  1549.  
  1550.         move.l    a5,(mystore)
  1551.  
  1552.         movem.l    (sp)+,d2-d4   * keyout
  1553.         tst.b    d2
  1554.         bne     TYPEMIS
  1555.         move.l    d3,a5
  1556.         move.l    a5,(x_out)
  1557.         move.w    2(a5),int_in+8
  1558.  
  1559.         movem.l    (sp)+,d2-d4   * newobj
  1560.         tst.b    d2
  1561.         bne    TYPEMIS
  1562.         move.l    d3,a5
  1563.         move.l    a5,(y_out)
  1564.         move.w    2(a5),int_in+6
  1565.  
  1566.         movem.l    (sp)+,d2-d4   * kc
  1567.         tst.b    d2
  1568.         bne    TYPEMIS
  1569.         move.w    d3,int_in+4
  1570.  
  1571.         movem.l    (sp)+,d2-d4   * nextobj
  1572.         tst.b    d2
  1573.         bne    TYPEMIS
  1574.         move.w    d3,int_in+2
  1575.  
  1576.         movem.l    (sp)+,d2-d4   * obj
  1577.         tst.b    d2
  1578.         bne    TYPEMIS
  1579.         move.w    d3,int_in
  1580.  
  1581.         movem.l    (sp)+,d2-d4   * tree&
  1582.         tst.b    d2
  1583.         bne    TYPEMIS
  1584.         move.l    d3,addr_in
  1585.  
  1586.         aes    55
  1587.  
  1588.         * newobj
  1589.         move.l    (x_out),a5
  1590.         move.w    int_out+2,2(a5)
  1591.  
  1592.         * keyout
  1593.         move.l    (y_out),a5
  1594.         move.w    int_out+4,2(a5)
  1595.  
  1596.         move.l    (mystore),a5
  1597.  
  1598.         move.l    RETURN,a0
  1599.         jmp    (a0)
  1600.  
  1601. form_button    move.l    (sp)+,RETURN
  1602.         cmpi.w    #4,d0
  1603.         bne    SYNTAX
  1604.  
  1605.         move.l    a5,(mystore)    
  1606.  
  1607.         movem.l    (sp)+,d2-d4   * newobj
  1608.         tst.b    d2
  1609.         bne    TYPEMIS
  1610.         move.l    d3,a5
  1611.         move.l    a5,(x_out)
  1612.         move.w    2(a5),int_in+4
  1613.  
  1614.         movem.l    (sp)+,d2-d4   * clicks
  1615.         tst.b    d2
  1616.         bne    TYPEMIS
  1617.         move.w    d3,int_in+2
  1618.  
  1619.         movem.l    (sp)+,d2-d4   * obj
  1620.         tst.b    d2
  1621.         bne    TYPEMIS
  1622.         move.w    d3,int_in
  1623.  
  1624.         movem.l    (sp)+,d2-d4   * tree&
  1625.         tst.b    d2
  1626.         bne    TYPEMIS
  1627.         move.l    d3,addr_in
  1628.  
  1629.         aes    56
  1630.  
  1631.         * newobj
  1632.         move.l    (x_out),a5
  1633.         move.w    int_out+2,2(a5)
  1634.  
  1635.         move.l    (mystore),a5
  1636.  
  1637.         move.l    RETURN,a0
  1638.         jmp    (a0)
  1639.  
  1640. graf_rubberbox    move.l    (sp)+,RETURN
  1641.         cmpi.w    #6,d0
  1642.         bne    SYNTAX
  1643.  
  1644.         move.l    a5,(mystore)
  1645.  
  1646.         movem.l    (sp)+,d2-d4   * outh
  1647.         tst.b    d2
  1648.         bne    TYPEMIS
  1649.         move.l    d3,a5
  1650.         move.l    a5,(h_out)
  1651.         move.w    2(a5),int_in+10
  1652.  
  1653.         movem.l    (sp)+,d2-d4   * outw
  1654.         tst.b    d2
  1655.         bne    TYPEMIS
  1656.         move.l    d3,a5
  1657.         move.l    a5,(w_out)
  1658.         move.w    2(a5),int_in+8
  1659.  
  1660.         movem.l    (sp)+,d2-d4   * minh
  1661.         tst.b    d2
  1662.         bne    TYPEMIS
  1663.         move.w    d3,int_in+6
  1664.  
  1665.         movem.l    (sp)+,d2-d4   * minw
  1666.         tst.b    d2
  1667.         bne    TYPEMIS
  1668.         move.w    d3,int_in+4
  1669.  
  1670.         movem.l    (sp)+,d2-d4   * y
  1671.         tst.b    d2
  1672.         bne    TYPEMIS
  1673.         move.w    d3,int_in+2
  1674.  
  1675.         movem.l    (sp)+,d2-d4   * x
  1676.         tst.b    d2
  1677.         bne    TYPEMIS
  1678.         move.w    d3,int_in
  1679.  
  1680.         aes    70
  1681.  
  1682.         * outw
  1683.         move.l    (w_out),a5
  1684.         move.w    int_out+2,2(a5)
  1685.  
  1686.         * outh
  1687.         move.l    (h_out),a5
  1688.         move.w    int_out+4,2(a5)
  1689.  
  1690.         move.l    (mystore),a5
  1691.  
  1692.         move.l    RETURN,a0
  1693.         jmp    (a0)
  1694.     
  1695. graf_dragbox    move.l    (sp)+,RETURN
  1696.         cmpi.w    #10,d0
  1697.         bne    SYNTAX
  1698.  
  1699.         move.l    a5,(mystore)
  1700.  
  1701.         movem.l    (sp)+,d2-d4   * outy
  1702.         tst.b    d2
  1703.         bne    TYPEMIS
  1704.         move.l    d3,a5
  1705.         move.l    a5,(y_out)
  1706. *        move.w    2(a5),int_in+18
  1707.  
  1708.         movem.l    (sp)+,d2-d4   * outx
  1709.         tst.b    d2
  1710.         bne    TYPEMIS
  1711.         move.l    d3,a5
  1712.         move.l    a5,(x_out)
  1713. *        move.w    2(a5),int_in+16
  1714.  
  1715.         movem.l    (sp)+,d2-d4   * boxh
  1716.         tst.b    d2
  1717.         bne    TYPEMIS
  1718.         move.w    d3,int_in+14
  1719.  
  1720.         movem.l    (sp)+,d2-d4   * boxw
  1721.         tst.b    d2
  1722.         bne    TYPEMIS
  1723.         move.w    d3,int_in+12
  1724.  
  1725.         movem.l    (sp)+,d2-d4   * boxy
  1726.         tst.b    d2
  1727.         bne    TYPEMIS
  1728.         move.w    d3,int_in+10
  1729.  
  1730.         movem.l    (sp)+,d2-d4   * boxx
  1731.         tst.b    d2
  1732.         bne    TYPEMIS
  1733.         move.w    d3,int_in+8
  1734.  
  1735.         movem.l    (sp)+,d2-d4   * starty
  1736.         tst.b    d2
  1737.         bne    TYPEMIS
  1738.         move.w    d3,int_in+6
  1739.  
  1740.         movem.l    (sp)+,d2-d4   * startx
  1741.         tst.b    d2
  1742.         bne    TYPEMIS
  1743.         move.w    d3,int_in+4
  1744.  
  1745.         movem.l    (sp)+,d2-d4   * h
  1746.         tst.b    d2
  1747.         bne    TYPEMIS
  1748.         move.w    d3,int_in+2
  1749.  
  1750.         movem.l    (sp)+,d2-d4   * w
  1751.         tst.b    d2
  1752.         bne    TYPEMIS
  1753.         move.w    d3,int_in
  1754.  
  1755.         aes    71
  1756.  
  1757.         * outx
  1758.         move.l    (x_out),a5
  1759.         move.w    int_out+2,2(a5)
  1760.  
  1761.         * outy
  1762.         move.l    (y_out),a5
  1763.         move.w    int_out+4,2(a5)
  1764.  
  1765.         move.l    (mystore),a5
  1766.  
  1767.         move.l    RETURN,a0
  1768.         jmp    (a0)
  1769.  
  1770. graf_movebox    move.l    (sp)+,RETURN
  1771.         cmpi.w    #6,d0
  1772.         bne    SYNTAX
  1773.  
  1774.         movem.l    (sp)+,d2-d4   * y2
  1775.         tst.b    d2
  1776.         bne    TYPEMIS
  1777.         move.w    d3,int_in+10
  1778.  
  1779.         movem.l    (sp)+,d2-d4   * x2
  1780.         tst.b    d2
  1781.         bne    TYPEMIS
  1782.         move.w    d3,int_in+8
  1783.  
  1784.         movem.l    (sp)+,d2-d4   * y1
  1785.         tst.b    d2
  1786.         bne    TYPEMIS
  1787.         move.w    d3,int_in+6
  1788.  
  1789.         movem.l    (sp)+,d2-d4   * x1
  1790.         tst.b    d2
  1791.         bne    TYPEMIS
  1792.         move.w    d3,int_in+4
  1793.  
  1794.         movem.l    (sp)+,d2-d4   * h
  1795.         tst.b    d2
  1796.         bne    TYPEMIS
  1797.         move.w    d3,int_in+2
  1798.  
  1799.         movem.l    (sp)+,d2-d4   * w
  1800.         tst.b    d2
  1801.         bne    TYPEMIS
  1802.         move.w    d3,int_in
  1803.  
  1804.         aes    72
  1805.  
  1806.         move.l    RETURN,a0
  1807.         jmp    (a0)
  1808.  
  1809. graf_growbox    move.l    (sp)+,RETURN
  1810.         cmpi.w    #8,d0
  1811.         bne    SYNTAX
  1812.  
  1813.         movem.l    (sp)+,d2-d4   * h2
  1814.         tst.b    d2
  1815.         bne    TYPEMIS
  1816.         move.w    d3,int_in+14
  1817.  
  1818.         movem.l    (sp)+,d2-d4   * w2
  1819.         tst.b    d2
  1820.         bne    TYPEMIS
  1821.         move.w    d3,int_in+12
  1822.  
  1823.         movem.l    (sp)+,d2-d4   * y2
  1824.         tst.b    d2
  1825.         bne    TYPEMIS
  1826.         move.w    d3,int_in+10
  1827.  
  1828.         movem.l    (sp)+,d2-d4   * x2
  1829.         tst.b    d2
  1830.         bne    TYPEMIS
  1831.         move.w    d3,int_in+8
  1832.  
  1833.         movem.l    (sp)+,d2-d4   * h1
  1834.         tst.b    d2
  1835.         bne    TYPEMIS
  1836.         move.w    d3,int_in+6
  1837.  
  1838.         movem.l    (sp)+,d2-d4   * w1
  1839.         tst.b    d2
  1840.         bne    TYPEMIS
  1841.         move.w    d3,int_in+4
  1842.  
  1843.         movem.l    (sp)+,d2-d4   * y1
  1844.         tst.b    d2
  1845.         bne    TYPEMIS
  1846.         move.w    d3,int_in+2
  1847.  
  1848.         movem.l    (sp)+,d2-d4   * x1
  1849.         tst.b    d2
  1850.         bne    TYPEMIS
  1851.         move.w    d3,int_in
  1852.  
  1853.         aes    73
  1854.  
  1855.         move.l    RETURN,a0
  1856.         jmp    (a0)
  1857.  
  1858. graf_shrinkbox    move.l    (sp)+,RETURN
  1859.         cmpi.w    #8,d0
  1860.         bne    SYNTAX
  1861.  
  1862.         movem.l    (sp)+,d2-d4   * h2
  1863.         tst.b    d2
  1864.         bne    TYPEMIS
  1865.         move.w    d3,int_in+14
  1866.  
  1867.         movem.l    (sp)+,d2-d4   * w2
  1868.         tst.b    d2
  1869.         bne    TYPEMIS
  1870.         move.w    d3,int_in+12
  1871.  
  1872.         movem.l    (sp)+,d2-d4   * y2
  1873.         tst.b    d2
  1874.         bne    TYPEMIS
  1875.         move.w    d3,int_in+10
  1876.  
  1877.         movem.l    (sp)+,d2-d4   * x2
  1878.         tst.b    d2
  1879.         bne    TYPEMIS
  1880.         move.w    d3,int_in+8
  1881.  
  1882.         movem.l    (sp)+,d2-d4   * h1
  1883.         tst.b    d2
  1884.         bne    TYPEMIS
  1885.         move.w    d3,int_in+6
  1886.  
  1887.         movem.l    (sp)+,d2-d4   * w1
  1888.         tst.b    d2
  1889.         bne    TYPEMIS
  1890.         move.w    d3,int_in+4
  1891.  
  1892.         movem.l    (sp)+,d2-d4   * y1
  1893.         tst.b    d2
  1894.         bne    TYPEMIS
  1895.         move.w    d3,int_in+2
  1896.  
  1897.         movem.l    (sp)+,d2-d4   * x1
  1898.         tst.b    d2
  1899.         bne    TYPEMIS
  1900.         move.w    d3,int_in
  1901.  
  1902.         aes    74
  1903.  
  1904.         move.l    RETURN,a0
  1905.         jmp    (a0)
  1906.  
  1907. graf_watchbox    move.l    (sp)+,RETURN
  1908.         cmpi.w    #4,d0
  1909.         bne    SYNTAX
  1910.  
  1911.         movem.l    (sp)+,d2-d4   * outstate
  1912.         tst.b    d2
  1913.         bne    TYPEMIS
  1914.         move.w    d3,int_in+6
  1915.  
  1916.         movem.l    (sp)+,d2-d4   * instate
  1917.         tst.b    d2
  1918.         bne    TYPEMIS
  1919.         move.w    d3,int_in+4
  1920.  
  1921.         movem.l    (sp)+,d2-d4   * object
  1922.         tst.b    d2
  1923.         bne    TYPEMIS
  1924.         move.w    d3,int_in+2
  1925.         clr.w    int_in
  1926.  
  1927.         movem.l    (sp)+,d2-d4   * tree&
  1928.         tst.b    d2
  1929.         bne    TYPEMIS
  1930.         move.l    d3,addr_in
  1931.  
  1932.         aes    75
  1933.  
  1934.         move.l    RETURN,a0
  1935.         jmp    (a0)
  1936.  
  1937. graf_slidebox    move.l    (sp)+,RETURN
  1938.         cmpi.w    #4,d0
  1939.         bne    SYNTAX
  1940.  
  1941.         movem.l    (sp)+,d2-d4   * vertical
  1942.         tst.b    d2
  1943.         bne    TYPEMIS
  1944.         move.w    d3,int_in+4
  1945.  
  1946.         movem.l    (sp)+,d2-d4   * object
  1947.         tst.b    d2
  1948.         bne    TYPEMIS
  1949.         move.w    d3,int_in+2
  1950.  
  1951.         movem.l    (sp)+,d2-d4   * parent
  1952.         tst.b    d2
  1953.         bne    TYPEMIS
  1954.         move.w    d3,int_in
  1955.  
  1956.         movem.l    (sp)+,d2-d4   * tree&
  1957.         tst.b    d2
  1958.         bne    TYPEMIS
  1959.         move.l    d3,addr_in
  1960.  
  1961.         aes    76
  1962.  
  1963.         move.l    RETURN,a0
  1964.         jmp    (a0)
  1965.  
  1966. graf_handle    move.l    (sp)+,RETURN
  1967.         cmpi.w    #4,d0
  1968.         bne    SYNTAX
  1969.  
  1970.         move.l    a5,(mystore)
  1971.  
  1972.         movem.l    (sp)+,d2-d4   * wcell
  1973.         tst.b    d2
  1974.         bne    TYPEMIS
  1975.         move.l    d3,a5
  1976.         move.l    a5,(x_out)
  1977.         move.w    2(a5),int_in+6
  1978.  
  1979.         movem.l    (sp)+,d2-d4   * hcell
  1980.         tst.b    d2
  1981.         bne    TYPEMIS
  1982.         move.l    d3,a5
  1983.         move.l    a5,(y_out)
  1984.         move.w    2(a5),int_in+4
  1985.  
  1986.         movem.l    (sp)+,d2-d4   * wbox
  1987.         tst.b    d2
  1988.         bne    TYPEMIS
  1989.         move.l    d3,a5
  1990.         move.l    a5,(w_out)
  1991.         move.w    2(a5),int_in+2
  1992.  
  1993.         movem.l    (sp)+,d2-d4   * hbox
  1994.         tst.b    d2
  1995.         bne    TYPEMIS
  1996.         move.l    d3,a5
  1997.         move.l    a5,(h_out)
  1998.         move.w    2(a5),int_in
  1999.  
  2000.         aes    77
  2001.  
  2002.         * wcell
  2003.         move.l    (x_out),a5
  2004.         move.w    int_out+2,2(a5)
  2005.  
  2006.         * hcell
  2007.         move.l    (y_out),a5
  2008.         move.w    int_out+4,2(a5)
  2009.  
  2010.         * wbox
  2011.         move.l    (w_out),a5
  2012.         move.w    int_out+6,2(a5)
  2013.  
  2014.         * hbox
  2015.         move.l    (h_out),a5
  2016.         move.w    int_out+8,2(a5)
  2017.  
  2018.         move.l    (mystore),a5
  2019.  
  2020.         move.l    RETURN,a0
  2021.         jmp    (a0)
  2022.  
  2023. graf_mouse    move.l    (sp)+,RETURN
  2024.         cmpi.w    #2,d0
  2025.         bne    SYNTAX
  2026.  
  2027.         movem.l    (sp)+,d2-d4   * user_form&
  2028.         tst.b    d2
  2029.         bne    TYPEMIS
  2030.         move.l    d3,addr_in
  2031.  
  2032.         movem.l    (sp)+,d2-d4   * flag
  2033.         tst.b    d2
  2034.         bne    TYPEMIS
  2035.         move.w    d3,int_in
  2036.  
  2037.         aes    78
  2038.  
  2039.         move.l    RETURN,a0
  2040.         jmp    (a0)
  2041.  
  2042. graf_mkstate    move.l    (sp)+,RETURN
  2043.         cmpi.w    #4,d0
  2044.         bne    SYNTAX
  2045.  
  2046.         move.l    a5,(mystore)
  2047.  
  2048.         movem.l    (sp)+,d2-d4   * x
  2049.         tst.b    d2
  2050.         bne    TYPEMIS
  2051.         move.l    d3,a5
  2052.         move.l    a5,(x_out)
  2053.         move.w    2(a5),int_in+6
  2054.  
  2055.         movem.l    (sp)+,d2-d4   * y
  2056.         tst.b    d2
  2057.         bne    TYPEMIS
  2058.         move.l    d3,a5
  2059.         move.l    a5,(y_out)
  2060.         move.w    2(a5),int_in+4
  2061.  
  2062.         movem.l    (sp)+,d2-d4   * state
  2063.         tst.b    d2
  2064.         bne    TYPEMIS
  2065.         move.l    d3,a5
  2066.         move.l    a5,(w_out)
  2067.         move.w    2(a5),int_in+2
  2068.  
  2069.         movem.l    (sp)+,d2-d4   * kstate
  2070.         tst.b    d2
  2071.         bne    TYPEMIS
  2072.         move.l    d3,a5
  2073.         move.l    a5,(h_out)
  2074.         move.w    2(a5),int_in
  2075.  
  2076.         aes    79
  2077.  
  2078.         * x
  2079.         move.l    (x_out),a5
  2080.         move.w    int_out+2,2(a5)
  2081.  
  2082.         * y
  2083.         move.l    (y_out),a5
  2084.         move.w    int_out+4,2(a5)
  2085.  
  2086.         * state
  2087.         move.l    (w_out),a5
  2088.         move.w    int_out+6,2(a5)
  2089.  
  2090.         * kstate
  2091.         move.l    (h_out),a5
  2092.         move.w    int_out+8,2(a5)
  2093.  
  2094.         move.l    (mystore),a5
  2095.  
  2096.         move.l    RETURN,a0
  2097.         jmp    (a0)
  2098.  
  2099. scrp_read    move.l    (sp)+,RETURN
  2100.         cmpi.w    #1,d0
  2101.         bne    SYNTAX
  2102.  
  2103.         movem.l    (sp)+,d2-d4   * directory_name$
  2104.         cmpi.b    #$80,d2
  2105.         bne    TYPEMIS
  2106.         addq.l    #2,d3
  2107.         move.l    d3,addr_in
  2108.  
  2109.         aes    80
  2110.  
  2111.         move.l    RETURN,a0
  2112.         jmp    (a0)
  2113.  
  2114. scrp_write    move.l    (sp)+,RETURN
  2115.         cmpi.w    #1,d0
  2116.         bne    SYNTAX
  2117.  
  2118.         movem.l    (sp)+,d2-d4   * directory_name$
  2119.         cmpi.b    #$80,d2
  2120.         bne    TYPEMIS
  2121.         addq.l    #2,d3
  2122.         move.l    d3,addr_in
  2123.  
  2124.         aes    81
  2125.  
  2126.         move.l    RETURN,a0
  2127.         jmp    (a0)
  2128.  
  2129. fsel_input    move.l    (sp)+,RETURN
  2130.         cmpi.w    #3,d0
  2131.         bne    SYNTAX
  2132.  
  2133.         move.l    a5,(mystore)
  2134.  
  2135.         movem.l    (sp)+,d2-d4   * ok (address!)
  2136.         tst.b    d2
  2137.         bne    TYPEMIS
  2138.         move.l    d3,a5
  2139.         move.l    a5,(x_out)
  2140.         move.w    2(a5),int_in
  2141.  
  2142.         movem.l    (sp)+,d2-d4   * name$
  2143.         cmpi.b    #$80,d2
  2144.         bne    TYPEMIS
  2145.         addq.l    #2,d3
  2146.         move.l    d3,addr_in+4
  2147.  
  2148.         movem.l    (sp)+,d2-d4   * path$
  2149.         cmpi.b    #$80,d2
  2150.         bne    TYPEMIS
  2151.         addq.l    #2,d3
  2152.         move.l    d3,addr_in
  2153.  
  2154.         aes    90
  2155.  
  2156.         * ok
  2157.         move.l    (x_out),a5
  2158.         move.w    int_out+2,2(a5)
  2159.  
  2160.         move.l    (mystore),a5
  2161.  
  2162.         move.l    RETURN,a0
  2163.         jmp    (a0)
  2164.  
  2165. fsel_exinput    move.l    (sp)+,RETURN
  2166.         cmpi.w    #4,d0
  2167.         bne    SYNTAX
  2168.  
  2169.         move.l    a5,(mystore)
  2170.  
  2171.         movem.l    (sp)+,d2-d4   * promt$
  2172.         cmpi.b    #$80,d2
  2173.         bne    TYPEMIS
  2174.         addq.l    #2,d3
  2175.         move.l    d3,addr_in+8
  2176.  
  2177.         movem.l    (sp)+,d2-d4   * ok
  2178.         tst.b    d2
  2179.         bne    TYPEMIS
  2180.         move.l    d3,a5
  2181.         move.l    a5,(x_out)
  2182.         move.w    2(a5),int_in
  2183.  
  2184.         movem.l    (sp)+,d2-d4   * name$
  2185.         cmpi.b    #$80,d2
  2186.         bne    TYPEMIS
  2187.         addq.l    #2,d3
  2188.         move.l    d3,addr_in+4
  2189.  
  2190.         movem.l    (sp)+,d2-d4   * path$
  2191.         cmpi.b    #$80,d2
  2192.         bne    TYPEMIS
  2193.         addq.l    #2,d3
  2194.         move.l    d3,addr_in
  2195.  
  2196.         aes    91
  2197.  
  2198.         * ok
  2199.         move.l    (x_out),a5
  2200.         move.w    int_out+2,2(a5)
  2201.  
  2202.         move.l    (mystore),a5
  2203.  
  2204.         move.l    RETURN,a0
  2205.         jmp    (a0)
  2206.     
  2207. wind_create    move.l    (sp)+,RETURN
  2208.         cmpi.w    #5,d0
  2209.         bne    SYNTAX
  2210.  
  2211.         movem.l    (sp)+,d2-d4   * h
  2212.         tst.b    d2
  2213.         bne    TYPEMIS
  2214.         move.w    d3,int_in+8
  2215.  
  2216.         movem.l    (sp)+,d2-d4   * w
  2217.         tst.b    d2
  2218.         bne    TYPEMIS
  2219.         move.w    d3,int_in+6
  2220.  
  2221.         movem.l    (sp)+,d2-d4   * y
  2222.         tst.b    d2
  2223.         bne    TYPEMIS
  2224.         move.w    d3,int_in+4
  2225.  
  2226.         movem.l    (sp)+,d2-d4   * x
  2227.         tst.b    d2
  2228.         bne    TYPEMIS
  2229.         move.w    d3,int_in+2
  2230.  
  2231.         movem.l    (sp)+,d2-d4   * kind
  2232.         tst.b    d2
  2233.         bne    TYPEMIS
  2234.         move.w    d3,int_in
  2235.  
  2236.         aes    100
  2237.  
  2238.         move.l    RETURN,a0
  2239.         jmp    (a0)
  2240.  
  2241. wind_open    move.l    (sp)+,RETURN
  2242.         cmpi.w    #5,d0
  2243.         bne    SYNTAX
  2244.  
  2245.         movem.l    (sp)+,d2-d4   * h
  2246.         tst.b    d2
  2247.         bne    TYPEMIS
  2248.         move.w    d3,int_in+8
  2249.  
  2250.         movem.l    (sp)+,d2-d4   * w
  2251.         tst.b    d2
  2252.         bne    TYPEMIS
  2253.         move.w    d3,int_in+6
  2254.  
  2255.         movem.l    (sp)+,d2-d4   * y
  2256.         tst.b    d2
  2257.         bne    TYPEMIS
  2258.         move.w    d3,int_in+4
  2259.  
  2260.         movem.l    (sp)+,d2-d4   * x
  2261.         tst.b    d2
  2262.         bne    TYPEMIS
  2263.         move.w    d3,int_in+2
  2264.  
  2265.         movem.l    (sp)+,d2-d4   * handle
  2266.         tst.b    d2
  2267.         bne    TYPEMIS
  2268.         move.w    d3,int_in
  2269.  
  2270.         aes    101
  2271.  
  2272.         move.l    RETURN,a0
  2273.         jmp    (a0)
  2274.  
  2275. wind_close    move.l    (sp)+,RETURN
  2276.         cmpi.w    #1,d0
  2277.         bne    SYNTAX
  2278.  
  2279.         movem.l    (sp)+,d2-d4   * handle
  2280.         tst.b    d2
  2281.         bne    TYPEMIS
  2282.         move.w    d3,int_in
  2283.  
  2284.         aes    102
  2285.         move.l    RETURN,a0
  2286.         jmp    (a0)
  2287.  
  2288. wind_delete    move.l    (sp)+,RETURN
  2289.         cmpi.w    #1,d0
  2290.         bne    SYNTAX
  2291.  
  2292.         movem.l    (sp)+,d2-d4   * handle
  2293.         tst.b    d2
  2294.         bne    TYPEMIS
  2295.         move.w    d3,int_in
  2296.  
  2297.         aes    103
  2298.         move.l    RETURN,a0
  2299.         jmp    (a0)
  2300.  
  2301. wind_get    move.l    (sp)+,RETURN
  2302.         cmpi.w    #6,d0
  2303.         bne    SYNTAX
  2304.  
  2305.         move.l    a5,(mystore)
  2306.  
  2307.         movem.l    (sp)+,d2-d4   * h
  2308.         tst.b    d2
  2309.         bne    TYPEMIS
  2310.         move.l    d3,a5
  2311.         move.l    a5,(h_out)
  2312.         move.w    2(a5),int_in+10
  2313.  
  2314.         movem.l    (sp)+,d2-d4   * w
  2315.         tst.b    d2
  2316.         bne    TYPEMIS
  2317.         move.l    d3,a5
  2318.         move.l    a5,(w_out)
  2319.         move.w    2(a5),int_in+8
  2320.  
  2321.         movem.l    (sp)+,d2-d4   * y
  2322.         tst.b    d2
  2323.         bne    TYPEMIS
  2324.         move.l    d3,a5
  2325.         move.l    a5,(y_out)
  2326.         move.w    2(a5),int_in+6
  2327.  
  2328.         movem.l    (sp)+,d2-d4   * x
  2329.         tst.b    d2
  2330.         bne    TYPEMIS
  2331.         move.l    d3,a5
  2332.         move.l    a5,(x_out)
  2333.         move.w    2(a5),int_in+4
  2334.  
  2335.         movem.l    (sp)+,d2-d4   * sort
  2336.         tst.b    d2
  2337.         bne    TYPEMIS
  2338.         move.w    d3,int_in+2
  2339.  
  2340.         movem.l    (sp)+,d2-d4   * handle
  2341.         tst.b    d2
  2342.         bne    TYPEMIS
  2343.         move.w    d3,int_in
  2344.  
  2345.         aes    104
  2346.  
  2347.         * x
  2348.         move.l    (x_out),a5
  2349.         move.w    int_out+2,2(a5)
  2350.  
  2351.         * y
  2352.         move.l    (y_out),a5
  2353.         move.w    int_out+4,2(a5)
  2354.  
  2355.         * w
  2356.         move.l    (w_out),a5
  2357.         move.w    int_out+6,2(a5)
  2358.  
  2359.         * h
  2360.         move.l    (h_out),a5
  2361.         move.w    int_out+8,2(a5)
  2362.  
  2363.         move.l    (mystore),a5
  2364.  
  2365.         move.l    RETURN,a0
  2366.         jmp    (a0)
  2367.  
  2368. wind_set    move.l    (sp)+,RETURN
  2369.         cmpi.w    #6,d0
  2370.         bne    SYNTAX
  2371.  
  2372.         movem.l    (sp)+,d2-d4   * handle
  2373.         tst.b    d2
  2374.         bne    TYPEMIS
  2375.         move.w    d3,int_in+10
  2376.  
  2377.         movem.l    (sp)+,d2-d4   * sort
  2378.         tst.b    d2
  2379.         bne    TYPEMIS
  2380.         move.w    d3,int_in+8
  2381.  
  2382.         movem.l    (sp)+,d2-d4   * x
  2383.         tst.b    d2
  2384.         bne    TYPEMIS
  2385.         move.w    d3,int_in+6
  2386.  
  2387.         movem.l    (sp)+,d2-d4   * y
  2388.         tst.b    d2
  2389.         bne    TYPEMIS
  2390.         move.w    d3,int_in+4
  2391.  
  2392.         movem.l    (sp)+,d2-d4   * w
  2393.         tst.b    d2
  2394.         bne    TYPEMIS
  2395.         move.w    d3,int_in+2
  2396.  
  2397.         movem.l    (sp)+,d2-d4   * h
  2398.         tst.b    d2
  2399.         bne    TYPEMIS
  2400.         move.w    d3,int_in
  2401.  
  2402.         aes    105
  2403.         move.l    RETURN,a0
  2404.         jmp    (a0)
  2405.  
  2406. wind_find    move.l    (sp)+,RETURN
  2407.         cmpi.w    #2,d0
  2408.         bne    SYNTAX
  2409.  
  2410.         move.l    a5,(mystore)
  2411.  
  2412.         movem.l    (sp)+,d2-d4   * y
  2413.         tst.b    d2
  2414.         bne    TYPEMIS
  2415.         move.l    d3,a5
  2416.         move.l    a5,(y_out)
  2417.         move.w    2(a5),int_in+2
  2418.  
  2419.         movem.l    (sp)+,d2-d4   * x
  2420.         tst.b    d2
  2421.         bne    TYPEMIS
  2422.         move.l    d3,a5
  2423.         move.l    a5,(x_out)
  2424.         move.w    2(a5),int_in
  2425.  
  2426.         aes    106
  2427.  
  2428.         * x
  2429.         move.l    (x_out),a5
  2430.         move.w    int_out+2,2(a5)
  2431.  
  2432.         * y
  2433.         move.l    (y_out),a5
  2434.         move.w    int_out+4,2(a5)
  2435.  
  2436.         move.l    (mystore),a5
  2437.  
  2438.         move.l    RETURN,a0
  2439.         jmp    (a0)
  2440.  
  2441. wind_update    move.l    (sp)+,RETURN
  2442.         cmpi.w    #1,d0
  2443.         bne    SYNTAX
  2444.  
  2445.         movem.l    (sp)+,d2-d4   * sort
  2446.         tst.b    d2
  2447.         bne    TYPEMIS
  2448.         move.w    d3,int_in
  2449.  
  2450.         aes    107
  2451.         move.l    RETURN,a0
  2452.         jmp    (a0)
  2453.  
  2454. wind_calc    move.l    (sp)+,RETURN
  2455.         cmpi.w    #10,d0
  2456.         bne    SYNTAX
  2457.  
  2458.  
  2459.  
  2460.         move.l    a5,(mystore)
  2461.  
  2462.         movem.l    (sp)+,d2-d4   * hout
  2463.         tst.b    d2
  2464.         bne    TYPEMIS
  2465.         move.l    d3,a5
  2466.         move.l    a5,(h_out)
  2467.         move.w    2(a5),int_in+18
  2468.  
  2469.         movem.l    (sp)+,d2-d4   * wout
  2470.         tst.b    d2
  2471.         bne    TYPEMIS
  2472.         move.l    d3,a5
  2473.         move.l    a5,(w_out)
  2474.         move.w    2(a5),int_in+16
  2475.  
  2476.         movem.l    (sp)+,d2-d4   * yout
  2477.         tst.b    d2
  2478.         bne    TYPEMIS
  2479.         move.l    d3,a5
  2480.         move.l    a5,(y_out)
  2481.         move.w    2(a5),int_in+14
  2482.  
  2483.         movem.l    (sp)+,d2-d4   * xout
  2484.         tst.b    d2
  2485.         bne    TYPEMIS
  2486.         move.l    d3,a5
  2487.         move.l    a5,(x_out)
  2488.         move.w    2(a5),int_in+12
  2489.  
  2490.         movem.l    (sp)+,d2-d4   * h
  2491.         tst.b    d2
  2492.         bne    TYPEMIS
  2493.         move.w    d3,int_in+10
  2494.  
  2495.         movem.l    (sp)+,d2-d4   * w
  2496.         tst.b    d2
  2497.         bne    TYPEMIS
  2498.         move.w    d3,int_in+8
  2499.  
  2500.         movem.l    (sp)+,d2-d4   * y
  2501.         tst.b    d2
  2502.         bne    TYPEMIS
  2503.         move.w    d3,int_in+6
  2504.  
  2505.         movem.l    (sp)+,d2-d4   * x
  2506.         tst.b    d2
  2507.         bne    TYPEMIS
  2508.         move.w    d3,int_in+4
  2509.  
  2510.         movem.l    (sp)+,d2-d4   * kind
  2511.         tst.b    d2
  2512.         bne    TYPEMIS
  2513.         move.w    d3,int_in+2
  2514.  
  2515.         movem.l    (sp)+,d2-d4   * type
  2516.         tst.b    d2
  2517.         bne    TYPEMIS
  2518.         move.w    d3,int_in
  2519.  
  2520.         aes    108
  2521.  
  2522.  
  2523.  
  2524.  
  2525.  
  2526.                     * place values back into variables
  2527.  
  2528.  
  2529.  
  2530.         move.l    (h_out),a5
  2531.         move.w    int_out+8,2(a5)
  2532.  
  2533.  
  2534.  
  2535.         move.l    (w_out),a5
  2536.         move.w    int_out+6,2(a5)
  2537.  
  2538.         * yout
  2539.         move.l    (y_out),a5
  2540.         move.w    int_out+4,2(a5)
  2541.  
  2542.  
  2543.         * xout
  2544.         move.l    (x_out),a5
  2545.         move.w    int_out+2,2(a5)
  2546.  
  2547.  
  2548.  
  2549.         move.l    (mystore),a5
  2550.  
  2551.         move.l    RETURN,a0
  2552.         jmp    (a0)
  2553.  
  2554. operver        move.l    (sp)+,RETURN
  2555.         cmpi    #0,d0
  2556.         bne    SYNTAX
  2557.  
  2558.         move.l    ($4f2),sysbase        * Find OS base
  2559.         moveq.l    #0,d2
  2560.         move.l    (sysbase),a0
  2561.         add.w    #2,a0
  2562.         move.w    (a0),d3            * Return deek (OS+2)
  2563.  
  2564.         move.l    RETURN,a0
  2565.         jmp    (a0)
  2566.         
  2567. *******************
  2568. *
  2569. * Odds and sods...
  2570. *
  2571.  
  2572. dummy    move.l    (sp)+,RETURN
  2573.     bra    NOTDONE
  2574.  
  2575. SYNTAX    moveq    #12,d0
  2576.     move.l    SYSTEM,a0
  2577.     move.l    $14(a0),a0
  2578.     jsr    (a0)
  2579.  
  2580. TYPEMIS    moveq    #19,d0
  2581.     move.l    SYSTEM,a0
  2582.     move.l    $14(a0),a0
  2583.     jsr    (a0)
  2584.  
  2585. NOTDONE    moveq    #0,d0
  2586.     move.l    SYSTEM,a0
  2587.     move.l    $14(a0),a0
  2588.     jsr    (a0)
  2589.  
  2590. call_vdi
  2591.     move.l    #vdi_params,d1
  2592.     move.w    #$73,d0
  2593.     trap    #2
  2594.     rts
  2595.  
  2596. call_aes
  2597.     move.l    #aes,d1
  2598.     move.w    #$C8,d0
  2599.     trap    #2
  2600.     move.w    int_out,d0
  2601.     rts
  2602.  
  2603. *************************
  2604. *
  2605. * Data space...
  2606. *
  2607.  
  2608.  
  2609. * this is a table of pointers to all the AES arrays
  2610. aes_params    dc.l    control,global,int_in,int_out,addr_in,addr_out
  2611.  
  2612. * this is the list of Control parameters for the AES calls
  2613. * contains control(1..3), comment is the function number
  2614. * (an asterisk indicates it is not defined)
  2615. gem_ctrl_list
  2616.     dc.b    0,1,0    10    appl_init
  2617.     dc.b    2,1,1    11    appl_read
  2618.     dc.b    2,1,1    12    appl_write
  2619.     dc.b    0,1,1    13    appl_find
  2620.     dc.b    2,1,1    14    appl_tplay
  2621.     dc.b    1,1,1    15    appl_record
  2622.     dc.b    0,0,0    16*
  2623.     dc.b    0,0,0    17*
  2624.     dc.b    1,3,1    18    appl_search (4.0)
  2625.     dc.b    0,1,0    19    appl_exit
  2626.     dc.b    0,1,0    20    evnt_keybd
  2627.     dc.b    3,5,0    21    evnt_button
  2628.     dc.b    5,5,0    22    evnt_mouse
  2629.     dc.b    0,1,1    23    evnt_mesag
  2630.     dc.b    2,1,0    24    evnt_timer
  2631.     dc.b    16,7,1    25    evnt_multi
  2632.     dc.b    2,1,0    26    evnt_dclick
  2633.     dc.b    0,0,0    27*
  2634.     dc.b    0,0,0    28*
  2635.     dc.b    0,0,0    29*
  2636.     dc.b    1,1,1    30    menu_bar
  2637.     dc.b    2,1,1    31    menu_icheck
  2638.     dc.b    2,1,1    32    menu_ienable
  2639.     dc.b    2,1,1    33    menu_tnormal
  2640.     dc.b    1,1,2    34    menu_text
  2641.     dc.b    1,1,1    35    menu_register
  2642.     dc.b    2,1,2    36    menu_popup (3.3)
  2643.     dc.b    2,1,2    37    menu_attach (3.3)
  2644.     dc.b    3,1,1    38    menu_istart (3.3)
  2645.     dc.b    1,1,1    39    menu_settings (3.3)
  2646.     dc.b    2,1,1    40    objc_add
  2647.     dc.b    1,1,1    41    objc_delete
  2648.     dc.b    6,1,1    42    objc_draw
  2649.     dc.b    4,1,1    43    objc_find
  2650.     dc.b    1,3,1    44    objc_offset
  2651.     dc.b    2,1,1    45    objc_order
  2652.     dc.b    4,2,1    46    objc_edit
  2653.     dc.b    8,1,1    47    objc_change
  2654.     dc.b    4,3,0    48    objc_sysvar
  2655.     dc.b    0,0,0    49*
  2656.     dc.b    1,1,1    50    form_do
  2657.     dc.b    9,1,0    51    form_dial
  2658.     dc.b    1,1,1    52    form_alert
  2659.     dc.b    1,1,0    53    form_error
  2660.     dc.b    0,5,1    54    form_center
  2661.     dc.b    3,3,1    55    form_keybd
  2662.     dc.b    2,2,1    56    form_button
  2663.     dc.b    0,0,0    57*
  2664.     dc.b    0,0,0    58*
  2665.     dc.b    0,0,0    59*
  2666.     dc.b    0,0,0    60*
  2667.     dc.b    0,0,0    61*
  2668.     dc.b    0,0,0    62*
  2669.     dc.b    0,0,0    63*
  2670.     dc.b    0,0,0    64*
  2671.     dc.b    0,0,0    65*
  2672.     dc.b    0,0,0    66*
  2673.     dc.b    0,0,0    67*
  2674.     dc.b    0,0,0    68*
  2675.     dc.b    0,0,0    69*
  2676.     dc.b    4,3,0    70    graf_rubberbox
  2677.     dc.b    8,3,0    71    graf_dragbox
  2678.     dc.b    6,1,0    72    graf_movebox
  2679.     dc.b    8,1,0    73    graf_growbox
  2680.     dc.b    8,1,0    74    graf_shrinkbox
  2681.     dc.b    4,1,1    75    graf_watchbox
  2682.     dc.b    3,1,1    76    graf_slidebox
  2683.     dc.b    0,5,0    77    graf_handle
  2684.     dc.b    1,1,1    78    graf_mouse
  2685.     dc.b    0,5,0    79    graf_mkstate
  2686.     dc.b    0,1,1    80    scrp_read
  2687.     dc.b    0,1,1    81    scrp_write
  2688.     dc.b    0,0,0    82*
  2689.     dc.b    0,0,0    83*
  2690.     dc.b    0,0,0    84*
  2691.     dc.b    0,0,0    85*
  2692.     dc.b    0,0,0    86*
  2693.     dc.b    0,0,0    87*
  2694.     dc.b    0,0,0    88*
  2695.     dc.b    0,0,0    89*
  2696.     dc.b    0,2,2    90    fsel_input
  2697.     dc.b    0,2,3    91    fsel_exinput
  2698.     dc.b    0,0,0    92*
  2699.     dc.b    0,0,0    93*
  2700.     dc.b    0,0,0    94*
  2701.     dc.b    0,0,0    95*
  2702.     dc.b    0,0,0    96*
  2703.     dc.b    0,0,0    97*
  2704.     dc.b    0,0,0    98*
  2705.     dc.b    0,0,0    99*
  2706.     dc.b    5,1,0    100    wind_create
  2707.     dc.b    5,1,0    101    wind_open
  2708.     dc.b    1,1,0    102    wind_close
  2709.     dc.b    1,1,0    103    wind_delete
  2710.     dc.b    2,5,0    104    wind_get
  2711.     dc.b    6,1,0    105    wind_set
  2712.     dc.b    2,1,0    106    wind_find
  2713.     dc.b    1,1,0    107    wind_update
  2714.     dc.b    6,5,0    108    wind_calc
  2715.     dc.b    0,0,0    109    wind_new
  2716.     dc.b    0,1,1    110    rsrc_load
  2717.     dc.b    0,1,0    111    rsrc_free
  2718.     dc.b    2,1,0    112 ** Control(4)=1 ** rsrc_gaddr
  2719.     dc.b    2,1,1    113    rsrc_saddr
  2720.     dc.b    1,1,1    114    rsrc_obfix
  2721.     dc.b    0,0,0    115    rsrc_rcfix (4.0)
  2722.     dc.b    0,0,0    116*
  2723.     dc.b    0,0,0    117*
  2724.     dc.b    0,0,0    118*
  2725.     dc.b    0,0,0    119*
  2726.     dc.b    0,1,2    120    shel_read
  2727.     dc.b    3,1,2    121    shel_write
  2728.     dc.b    1,1,1    122    shel_get
  2729.     dc.b    1,1,1    123    shel_put
  2730.     dc.b    0,1,1    124    shel_find
  2731.     dc.b    0,1,3    125    shel_envrn
  2732.     dc.b    0,0,0    126*
  2733.     dc.b    0,0,0    127*
  2734.     dc.b    0,0,0    128*
  2735.     dc.b    0,0,0    129*
  2736.     dc.b    1,5,0    130*    appl_getinfo (4.0)
  2737.  
  2738.     even
  2739.  
  2740. * these don't need initialising...
  2741. dummyout    ds.l    1
  2742. control        ds.w    5
  2743. global        ds.w    14
  2744. int_in        ds.w    16
  2745. int_out        ds.w    7
  2746. addr_in        ds.l    3
  2747. addr_out    ds.l    1
  2748. gemma        dc.b    0,4,"1.52"
  2749.  
  2750. *the VDI parameters
  2751.  
  2752. current_handle    ds.w    1
  2753.  
  2754. contrl        ds.w    1
  2755. contrl1        ds.w    1
  2756. contrl2        ds.w    1
  2757. contrl3        ds.w    1
  2758. contrl4        ds.w    1
  2759. contrl5        ds.w    1
  2760. contrl6        ds.w    1
  2761. contrl7        ds.w    1
  2762. contrl8        ds.w    1
  2763. contrl9        ds.w    1
  2764. contrl10    ds.w    1
  2765. contrl11    ds.w    1
  2766.  
  2767. intin        ds.w    128
  2768. intout        ds.w    128
  2769. ptsin        ds.w    128
  2770. ptsout        ds.w    128
  2771.  
  2772. global2        ds.w    14
  2773.  
  2774. vdi_params    dc.l    contrl,intin,ptsin,intout,ptsout
  2775. aes        dc.l    control,global2,int_in,int_out,addr_in,addr_out
  2776.  
  2777.  
  2778.  
  2779. mystore        ds.l    1
  2780. x_out        ds.l    1
  2781. y_out        ds.l    1
  2782. w_out        ds.l    1
  2783. h_out        ds.l    1
  2784. button        ds.l    1
  2785. kstate        ds.l    1
  2786. key_pressed    ds.l    1
  2787. gotclicks    ds.l    1
  2788. addr        ds.l    1
  2789. oldsp        ds.l    1
  2790. newsp        ds.l    1
  2791.  
  2792. sysbase        ds.l    1
  2793. mupb        ds.l    1
  2794.  
  2795. dump1        ds.w    1
  2796. dump2        ds.l    1
  2797. dump3        ds.l    1
  2798. dump4        ds.l    1
  2799.  
  2800. param        ds.l    4
  2801.  
  2802. END