home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / ste / ste_ctrl / stectrl.s < prev    next >
Text File  |  1990-09-03  |  13KB  |  734 lines

  1.     opt o+,l+
  2.  
  3. *  Sorry no comments - I threw this program together in about an hour,
  4. *  so it isn't exactly the best code ever!!
  5. *
  6. *  This should be fairly obvious if you want to get the info for the
  7. *  Microwire interface (Mode/Tone control) from it, but the programmers
  8. *  docs should be available by now anyway.
  9.  
  10.     include 'c:\assembly\gemmacro.s'
  11.  
  12. AUDIO        equ 0    * form/dialog 
  13. BEEPYES      equ 9    * BUTTON in tree AUDIO 
  14. BEEPNO       equ 10    * BUTTON in tree AUDIO 
  15. SAVE           equ 12    * BUTTON in tree AUDIO 
  16. EXIT       equ 13    * BUTTON in tree AUDIO 
  17. TEST         equ 26    * BUTTON in tree AUDIO 
  18. MVCOVER      equ 27    * IBOX in tree AUDIO 
  19. MVBOX        equ 28    * IBOX in tree AUDIO 
  20. MVSLIDER     equ 29    * BOXTEXT in tree AUDIO 
  21. LVCOVER      equ 30    * IBOX in tree AUDIO
  22. LVBOX        equ 31    * IBOX in tree AUDIO
  23. LVSLIDER     equ 32    * BOXTEXT in tree AUDIO
  24. RVCOVER      equ 33    * IBOX in tree AUDIO
  25. RVBOX        equ 34    * IBOX in tree AUDIO
  26. RVSLIDER     equ 35    * BOXTEXT in tree AUDIO
  27. TCOVER       equ 36    * IBOX in tree AUDIO
  28. TBOX         equ 37    * IBOX in tree AUDIO
  29. TSLIDER      equ 38    * BOXTEXT in tree AUDIO
  30. BCOVER       equ 39    * IBOX in tree AUDIO
  31. BBOX         equ 40    * IBOX in tree AUDIO
  32. BSLIDER      equ 41    * BOXTEXT in tree AUDIO
  33.  
  34.     clr.l -(sp)
  35.     move.w #32,-(sp)
  36.     trap #1
  37.     addq #6,sp
  38.     move.w #$07ff,$ff8924
  39.     move.l d0,-(sp)
  40.     move.w #32,-(sp)
  41.     trap #1
  42.     addq #6,sp
  43.     clr.w -(sp)
  44.     pea.l SetupFile
  45.     move.w #61,-(sp)
  46.     trap #1
  47.     addq #8,sp
  48.     tst.l d0
  49.     bmi NoFile
  50.     move.w d0,-(sp)
  51.     pea.l LeftVolume
  52.     pea.l 6
  53.     move.w d0,-(sp)
  54.     move.w #63,-(sp)
  55.     trap #1
  56.     lea.l 12(sp),sp
  57.     move.w #62,-(sp)
  58.     trap #1
  59.     addq #2,sp
  60. NoFile:    clr.w -(sp)
  61.     pea.l SampleFile
  62.     move.w #61,-(sp)
  63.     trap #1
  64.     addq #8,sp
  65.     tst.l d0
  66.     bmi NoSamp
  67.     move.w d0,-(sp)
  68.     pea.l Buffer
  69.     pea.l $400000
  70.     move.w d0,-(sp)
  71.     move.w #63,-(sp)
  72.     trap #1
  73.     lea.l 12(sp),sp
  74.     move.l d0,SampleLen
  75.     move.w #62,-(sp)
  76.     trap #1
  77.     addq #2,sp
  78.     lea.l Buffer,a0
  79.     move.l SampleLen,d0
  80. ConvertSample:    eor.b #$80,(a0)+
  81.     sub.l #1,d0
  82.     bne ConvertSample
  83. NoSamp:    appl_init
  84.     graf_mouse #0,#0
  85.  
  86.     clr.w d7
  87. InitLoop:    rsrc_obfix #Audio,d7
  88.     addq.w #1,d7
  89.     cmp.w #rsrc_length,d7
  90.     ble InitLoop
  91.  
  92.     move.b MasterVolume,d0
  93.     bsr SetMV
  94.     move.b LeftVolume,d0
  95.     bsr SetLV
  96.     move.b RightVolume,d0
  97.     bsr SetRV
  98.     move.b Treble,d0
  99.     bsr SetT
  100.     move.b Bass,d0
  101.     bsr SetB
  102.     bsr SetBeeper
  103.     move.b BeeperFlag,d0
  104.     move.b d0,BeepYesFlag
  105.     eor.b #1,d0
  106.     move.b d0,BeepNoFlag
  107.     form_center #Audio
  108.     move.w int_out+2,WinX
  109.     move.w int_out+4,WinY
  110.     move.w int_out+6,WinW
  111.     move.w int_out+8,WinH
  112.     form_dial #0,WinX,WinY,WinW,WinH,WinX,WinY,WinW,WinH
  113.     objc_draw #Audio,#0,#50,WinX,WinY,WinW,WinH
  114.     clr.b TestFlag
  115.     clr.b OKFlag
  116.     clr.b CancelFlag
  117. ReDo:    form_do #Audio,#0
  118.     move.w int_out,d0
  119.     cmp.w #SAVE,d0
  120.     beq FiniSave
  121.     cmp.w #EXIT,d0
  122.     beq FiniExit
  123.     cmp.w #TEST,d0
  124.     beq MakeNoise
  125.     cmp.w #MVSLIDER,d0
  126.     beq MVSlide
  127.     cmp.w #LVSLIDER,d0
  128.     beq LVSlide
  129.     cmp.w #RVSLIDER,d0
  130.     beq RVSlide
  131.     cmp.w #TSLIDER,d0
  132.     beq TSlide
  133.     cmp.w #BSLIDER,d0
  134.     beq BSlide
  135.     cmp.w #BEEPYES,d0
  136.     beq BeeperOn
  137.     cmp.w #BEEPNO,d0
  138.     beq BeeperOff
  139.     bra ReDo
  140. MVSlide:    graf_slidebox #Audio,#MVBOX,#MVSLIDER,#0
  141.     clr.l d0
  142.     move.w int_out,d0
  143.     divu #25,d0        *  0..40
  144.     bsr SetMV
  145.     objc_draw #Audio,#MVCOVER,#3,WinX,WinY,WinW,WinH
  146.     bra ReDo
  147. LVSlide:    graf_slidebox #Audio,#LVBOX,#LVSLIDER,#0
  148.     clr.l d0
  149.     move.w int_out,d0
  150.     divu #50,d0        *  0..20
  151.     bsr SetLV
  152.     objc_draw #Audio,#LVCOVER,#3,WinX,WinY,WinW,WinH
  153.     bra ReDo
  154. RVSlide:    graf_slidebox #Audio,#RVBOX,#RVSLIDER,#0
  155.     clr.l d0
  156.     move.w int_out,d0
  157.     divu #50,d0        *  0..20
  158.     bsr SetRV
  159.     objc_draw #Audio,#RVCOVER,#3,WinX,WinY,WinW,WinH
  160.     bra ReDo
  161. TSlide:    graf_slidebox #Audio,#TBOX,#TSLIDER,#0
  162.     clr.l d0
  163.     move.w int_out,d0
  164.     divu #83,d0        *  0..12
  165.     bsr SetT
  166.     objc_draw #Audio,#TCOVER,#3,WinX,WinY,WinW,WinH
  167.     bra ReDo
  168. BSlide:    graf_slidebox #Audio,#BBOX,#BSLIDER,#0
  169.     clr.l d0
  170.     move.w int_out,d0
  171.     divu #83,d0        *  0..12
  172.     bsr SetB
  173.     objc_draw #Audio,#BCOVER,#3,WinX,WinY,WinW,WinH
  174.     bra ReDo
  175. BeeperOn:    move.b #1,BeeperFlag
  176.     bsr SetBeeper
  177.     bra ReDo
  178. BeeperOff:    clr.b BeeperFlag
  179.     bsr SetBeeper
  180.     bra ReDo
  181.  
  182. MakeNoise:    objc_change #Audio,#TEST,WinX,WinY,WinW,WinH,#0,#1
  183.     clr.l -(sp)
  184.     move.w #32,-(sp)
  185.     trap #1
  186.     addq #2,sp
  187.     move.l d0,(sp)
  188.  
  189.     move.b #0,$ff8901    *  Sound off
  190.     move.l #Buffer,BufferPtr    
  191.     move.b BufferPtr+1,$ff8903
  192.     move.b BufferPtr+2,$ff8905
  193.     move.b BufferPtr+3,$ff8907
  194.     move.l SampleLen,d0
  195.     add.l d0,BufferPtr
  196.     move.b BufferPtr+1,$ff890f
  197.     move.b BufferPtr+2,$ff8911
  198.     move.b BufferPtr+3,$ff8913
  199.     move.b #$81,$ff8921    *  12Khz, Mono
  200.     move.b #1,$ff8901    *  Sound On, once
  201.     
  202.     move.w #32,-(sp)
  203.     trap #1
  204.     addq #6,sp
  205.     
  206.     bra ReDo
  207.  
  208. FiniSave:    clr.w -(sp)
  209.     pea.l SetupFile
  210.     move.w #60,-(sp)
  211.     trap #1
  212.     addq #8,sp
  213.     tst.l d0
  214.     bmi ReDo
  215.     move.w d0,-(sp)
  216.     pea.l LeftVolume
  217.     pea.l 6
  218.     move.w d0,-(sp)
  219.     move.w #64,-(sp)
  220.     trap #1
  221.     lea.l 12(sp),sp
  222.     move.w #62,-(sp)
  223.     trap #1
  224.     addq #2,sp
  225.     
  226. FiniExit:    form_dial #3,WinX,WinY,WinW,WinH,WinX,WinY,WinW,WinH
  227.     appl_exit
  228.     clr.w -(sp)
  229.     trap #1
  230.     
  231. MakeNumber:    move.b #'+',d1
  232.     btst.l #7,d0
  233.     beq MakeNum2
  234.     move.b #'-',d1
  235.     neg.b d0
  236. MakeNum2:    move.b d1,(a0)+
  237.     clr.l d1
  238.     move.b d0,d1
  239.     divu #10,d1
  240.     tst.b d1
  241.     beq MakeNum3
  242.     add.b #$30,d1
  243.     move.b d1,(a0)+
  244. MakeNum3:    swap.w d1
  245.     add.b #$30,d1
  246.     move.b d1,(a0)+
  247.     tst.b (a0)
  248.     beq MakeNum4
  249.     move.b #$20,(a0)+
  250. MakeNum4:    rts
  251.  
  252. SetMV:    move.b d0,MasterVolume
  253.     move.w #%10011000000,d1
  254.     bsr HardSet
  255.     sub.b #40,d0
  256.     lsl.b #1,d0
  257.     lea.l text27,a0
  258.     bsr MakeNumber
  259.     clr.l d0
  260.     move.b MasterVolume,d0
  261.     mulu MVWidth,d0
  262.     divu #44,d0
  263.     move.w d0,MVSliderPos
  264.     rts
  265. SetLV:    move.b d0,LeftVolume
  266.     move.w #%10101000000,d1
  267.     bsr HardSet
  268.     sub.b #20,d0
  269.     lsl.b #1,d0
  270.     lea.l text28,a0
  271.     bsr MakeNumber
  272.     clr.l d0
  273.     move.b LeftVolume,d0
  274.     mulu LVWidth,d0
  275.     divu #22,d0
  276.     move.w d0,LVSliderPos
  277.     rts
  278. SetRV:    move.b d0,RightVolume
  279.     move.w #%10100000000,d1
  280.     bsr HardSet
  281.     sub.b #20,d0
  282.     lsl.b #1,d0
  283.     lea.l text29,a0
  284.     bsr MakeNumber
  285.     clr.l d0
  286.     move.b RightVolume,d0
  287.     mulu RVWidth,d0
  288.     divu #22,d0
  289.     move.w d0,RVSliderPos
  290.     rts
  291. SetT:    move.b d0,Treble
  292.     move.w #%10010000000,d1
  293.     bsr HardSet
  294.     sub.b #6,d0
  295.     lea.l text30,a0
  296.     lsl.b #1,d0
  297.     bsr MakeNumber
  298.     clr.l d0
  299.     move.b Treble,d0
  300.     mulu TWidth,d0
  301.     divu #13,d0
  302.     move.w d0,TSliderPos
  303.     rts
  304. SetB:    move.b d0,Bass
  305.     move.w #%10001000000,d1
  306.     bsr HardSet
  307.     sub.b #6,d0
  308.     lsl.b #1,d0
  309.     lea.l text31,a0
  310.     bsr MakeNumber
  311.     clr.l d0
  312.     move.b Bass,d0
  313.     mulu BWidth,d0
  314.     divu #13,d0
  315.     move.w d0,BSliderPos
  316.     rts
  317. SetBeeper:    move.b BeeperFlag,d0
  318.     eor.b #1,d0
  319.     move.w #%10000000001,d1
  320.     bsr HardSet
  321.     rts
  322.  
  323. HardSet:    move.w d0,-(sp)
  324.     ext.w d0
  325.     add.w d0,d1
  326.     move.w d1,d7
  327.     clr.l -(sp)
  328.     move.w #32,-(sp)
  329.     trap #1
  330.     addq #6,sp
  331. MWWrite:    cmp.w #$07ff,$ff8924
  332.     bne MWWrite
  333.     move.w d7,$ff8922
  334.     move.l d0,-(sp)
  335.     move.w #32,-(sp)
  336.     trap #1
  337.     addq #6,sp
  338.     move.w (sp)+,d0
  339.     rts
  340.  
  341.     section data
  342.  
  343. rsrc_length:    equ 41
  344.  
  345. Audio:    dc.w    -1,1,39
  346.     dc.w    20,0,16        *0*
  347.     dc.l    $21101
  348.     dc.w    2,0,48,18
  349.  
  350.     dc.w    2,-1,-1
  351.     dc.w    21,0,0        *1*
  352.     dc.l    ted1
  353.     dc.w    1,1,13,1
  354.  
  355.     dc.w    3,-1,-1
  356.     dc.w    21,0,0        *2*
  357.     dc.l    ted2
  358.     dc.w    12,$302,$202,1
  359.  
  360.     dc.w    4,-1,-1
  361.     dc.w    21,0,0        *3*
  362.     dc.l    ted4
  363.     dc.w    22,$302,3,1
  364.  
  365.     dc.w    5,-1,-1
  366.     dc.w    21,0,0        *4*
  367.     dc.l    ted3
  368.     dc.w    33,$302,$600,1
  369.  
  370.     dc.w    6,-1,-1
  371.     dc.w    21,0,0        *5*
  372.     dc.l    ted5
  373.     dc.w    1,4,11,1
  374.  
  375.     dc.w    7,-1,-1
  376.     dc.w    21,0,0        *6*
  377.     dc.l    ted6
  378.     dc.w    1,7,12,1
  379.  
  380.     dc.w    8,-1,-1
  381.     dc.w    21,0,0        *7*
  382.     dc.l    ted7
  383.     dc.w    1,10,6,1
  384.  
  385.     dc.w    9,-1,-1
  386.     dc.w    21,0,0        *8*
  387.     dc.l    ted8
  388.     dc.w    1,13,3,1
  389.  
  390.     dc.w    10,-1,-1
  391.     dc.w    26,81
  392.     dc.b    0
  393. BeepYesFlag:    dc.b    0        *9*
  394.     dc.l    text1
  395.     dc.w    12,16,4,1
  396.  
  397.     dc.w    11,-1,-1
  398.     dc.w    26,81
  399.     dc.b    0
  400. BeepNoFlag:    dc.b    0        *10*
  401.     dc.l    text2
  402.     dc.w    16,16,4,1
  403.  
  404.     dc.w    12,-1,-1
  405.     dc.w    21,0,0        *11*
  406.     dc.l    ted9
  407.     dc.w    1,16,$407,1
  408.  
  409.     dc.w    13,-1,-1
  410.     dc.w    26,7
  411.     dc.b    0
  412. OKFlag:    dc.b    0        *12*
  413.     dc.l    text3
  414.     dc.w    37,12,8,1
  415.  
  416.     dc.w    14,-1,-1
  417.     dc.w    26,5
  418.     dc.b    0
  419. CancelFlag:    dc.b    0        *13*
  420.     dc.l    text4
  421.     dc.w    37,15,8,1
  422.  
  423.     dc.w    15,-1,-1
  424.     dc.w    21,0,0        *14*
  425.     dc.l    ted10
  426.     dc.w    12,$305,$202,1
  427.  
  428.     dc.w    16,-1,-1
  429.     dc.w    21,0,0        *15*
  430.     dc.l    ted11
  431.     dc.w    22,$305,$202,1
  432.  
  433.     dc.w    17,-1,-1
  434.     dc.w    21,0,0        *16*
  435.     dc.l    ted12
  436.     dc.w    33,$305,1,1
  437.  
  438.     dc.w    18,-1,-1
  439.     dc.w    21,0,0        *17*
  440.     dc.l    ted13
  441.     dc.w    12,$308,$202,1
  442.  
  443.     dc.w    19,-1,-1
  444.     dc.w    21,0,0        *18*
  445.     dc.l    ted14
  446.     dc.w    22,$308,$202,1
  447.  
  448.     dc.w    20,-1,-1
  449.     dc.w    21,0,0        *19*
  450.     dc.l    ted15
  451.     dc.w    33,$308,1,1
  452.  
  453.     dc.w    21,-1,-1
  454.     dc.w    21,0,0        *20*
  455.     dc.l    ted16
  456.     dc.w    12,$30B,$202,1
  457.  
  458.     dc.w    22,-1,-1
  459.     dc.w    21,0,0        *21*
  460.     dc.l    ted17
  461.     dc.w    23,$30B,$600,1
  462.  
  463.     dc.w    23,-1,-1
  464.     dc.w    21,0,0        *22*
  465.     dc.l    ted18
  466.     dc.w    32,$30B,$202,1
  467.  
  468.     dc.w    24,-1,-1
  469.     dc.w    21,0,0        *23*
  470.     dc.l    ted19
  471.     dc.w    12,$30E,$202,1
  472.  
  473.     dc.w    25,-1,-1
  474.     dc.w    21,0,0        *24*
  475.     dc.l    ted20
  476.     dc.w    23,$30E,1,1
  477.  
  478.     dc.w    26,-1,-1
  479.     dc.w    21,0,0        *25*
  480.     dc.l    ted21
  481.     dc.w    32,$30E,$202,1
  482.  
  483.     dc.w    27,-1,-1
  484.     dc.w    26,65
  485.     dc.b    0
  486. TestFlag:    dc.b    0        *26*
  487.     dc.l    text5
  488.     dc.w    37,6,8,2
  489.  
  490.     dc.w    30,28,28
  491.     dc.w    20,0,0        *27*
  492.     dc.l    $1180
  493.     dc.w    11,$400,$118,$601
  494.  
  495.     dc.w    27,29,29
  496.     dc.w    25,0,0        *28*
  497.     dc.l    $11100
  498.     dc.w    1,$400
  499. MVWidth:    dc.w    22,1
  500.  
  501.     dc.w    28,-1,-1
  502.     dc.w    22,64,0        *29*
  503.     dc.l    ted22
  504. MVSliderPos:    dc.w    5,0,$202,1
  505.  
  506.     dc.w    33,31,31
  507.     dc.w    20,0,0        *30*
  508.     dc.l    $1180
  509.     dc.w    $10B,$403,$118,$601
  510.  
  511.     dc.w    30,32,32
  512.     dc.w    25,0,0        *31*
  513.     dc.l    $11100
  514.     dc.w    $700,$400
  515. LVWidth:    dc.w    22,1
  516.  
  517.     dc.w    31,-1,-1
  518.     dc.w    22,64,0        *32*
  519.     dc.l    ted23
  520. LVSliderPos:    dc.w    15,0,$202,1
  521.  
  522.     dc.w    36,34,34
  523.     dc.w    20,0,0        *33*
  524.     dc.l    $1180
  525.     dc.w    $20B,$606,$118,$601
  526.  
  527.     dc.w    33,35,35
  528.     dc.w    25,0,0        *34*
  529.     dc.l    $11100
  530.     dc.w    $600,$200
  531. RVWidth:    dc.w    22,1
  532.  
  533.     dc.w    34,-1,-1
  534.     dc.w    22,64,0        *35*
  535.     dc.l    ted24
  536. RVSliderPos:    dc.w    15,0,$202,1
  537.  
  538.     dc.w    39,37,37
  539.     dc.w    20,0,0        *36*
  540.     dc.l    $1180
  541.     dc.w    11,$509,$118,$601
  542.  
  543.     dc.w    36,38,38
  544.     dc.w    25,0,0        *37*
  545.     dc.l    $11100
  546.     dc.w    1,$300
  547. TWidth:    dc.w     22,1
  548.  
  549.     dc.w    37,-1,-1
  550.     dc.w    22,64,0        *38*
  551.     dc.l    ted25
  552. TSliderPos:    dc.w    3,0,$202,1
  553.  
  554.     dc.w    0,40,40
  555.     dc.w    20,0,0        *39*
  556.     dc.l    $1180
  557.     dc.w    $20B,$50C,$118,$601
  558.  
  559.     dc.w    39,41,41
  560.     dc.w    25,0,0        *40*
  561.     dc.l    $11100
  562.     dc.w    $600,$300
  563. BWidth:    dc.w    22,1
  564.  
  565.     dc.w    40,-1,-1
  566.     dc.w    22,96,0        *41*
  567.     dc.l    ted26
  568. BSliderPos:    dc.w    17,0,$202,1
  569.  
  570.         * Tedinfo blocks *
  571.  
  572. ted1    dc.l    text6,null,null
  573.     dc.w    5,6,0,$1180
  574.     dc.w    0,-1,14,1
  575.  
  576. ted2    dc.l    text7,null,null
  577.     dc.w    5,6,0,$1180
  578.     dc.w    0,-1,4,1
  579.  
  580. ted3    dc.l    text8,null,null
  581.     dc.w    5,6,0,$1180
  582.     dc.w    0,-1,2,1
  583.  
  584. ted4    dc.l    text9,null,null
  585.     dc.w    5,6,0,$1180
  586.     dc.w    0,-1,4,1
  587.  
  588. ted5    dc.l    text10,null,null
  589.     dc.w    5,6,0,$1180
  590.     dc.w    0,-1,12,1
  591.  
  592. ted6    dc.l    text11,null,null
  593.     dc.w    5,6,0,$1180
  594.     dc.w    0,-1,13,1
  595.  
  596. ted7    dc.l    text12,null,null
  597.     dc.w    5,6,0,$1180
  598.     dc.w    0,-1,7,1
  599.  
  600. ted8    dc.l    text13,null,null
  601.     dc.w    5,6,0,$1180
  602.     dc.w    0,-1,5,1
  603.  
  604. ted9    dc.l    text14,null,null
  605.     dc.w    5,6,2,$1180
  606.     dc.w    0,-1,11,1
  607.  
  608. ted10    dc.l    text15,null,null
  609.     dc.w    5,6,0,$1180
  610.     dc.w    0,-1,4,1
  611.  
  612. ted11    dc.l    text16,null,null
  613.     dc.w    5,6,0,$1180
  614.     dc.w    0,-1,4,1
  615.  
  616. ted12    dc.l    text17,null,null
  617.     dc.w    5,6,0,$1180
  618.     dc.w    0,-1,2,1
  619.  
  620. ted13    dc.l    text18,null,null
  621.     dc.w    5,6,0,$1180
  622.     dc.w    0,-1,4,1
  623.  
  624. ted14    dc.l    text19,null,null
  625.     dc.w    5,6,0,$1180
  626.     dc.w    0,-1,4,1
  627.  
  628. ted15    dc.l    text20,null,null
  629.     dc.w    5,6,0,$1180
  630.     dc.w    0,-1,2,1
  631.  
  632. ted16    dc.l    text21,null,null
  633.     dc.w    5,6,0,$1180
  634.     dc.w    0,-1,4,1
  635.  
  636. ted17    dc.l    text22,null,null
  637.     dc.w    5,6,0,$1180
  638.     dc.w    0,-1,2,1
  639.  
  640. ted18    dc.l    text23,null,null
  641.     dc.w    5,6,0,$1180
  642.     dc.w    0,-1,4,1
  643.  
  644. ted19    dc.l    text24,null,null
  645.     dc.w    5,6,0,$1180
  646.     dc.w    0,-1,4,1
  647.  
  648. ted20    dc.l    text25,null,null
  649.     dc.w    5,6,0,$1180
  650.     dc.w    0,-1,2,1
  651.  
  652. ted21    dc.l    text26,null,null
  653.     dc.w    5,6,0,$1180
  654.     dc.w    0,-1,4,1
  655.  
  656. ted22    dc.l    text27,null,null
  657.     dc.w    5,6,2,$3180
  658.     dc.w    0,65534,4,1
  659.  
  660. ted23    dc.l    text28,null,null
  661.     dc.w    5,6,0,$3180
  662.     dc.w    0,65534,4,1
  663.  
  664. ted24    dc.l    text29,null,null
  665.     dc.w    5,6,0,$3180
  666.     dc.w    0,65534,4,1
  667.  
  668. ted25    dc.l    text30,null,null
  669.     dc.w    5,6,0,$3180
  670.     dc.w    0,65534,4,1
  671.  
  672. ted26    dc.l    text31,null,null
  673.     dc.w    5,6,0,$3180
  674.     dc.w    0,65534,4,1
  675.  
  676.         * Text data *
  677.  
  678. text1    dc.b    'Yes',0
  679. text2    dc.b    'No',0
  680. text3    dc.b    'Save',0
  681. text4    dc.b    'Exit',0
  682. text5    dc.b    'Hear',0
  683. text6    dc.b    'Master Volume',0
  684. text7    dc.b    '-80',0
  685. text8    dc.b    '0',0
  686. text9    dc.b    '-40',0
  687. text10    dc.b    'Left Volume',0
  688. text11    dc.b    'Right Volume',0
  689. text12    dc.b    'Treble',0
  690. text13    dc.b    'Bass',0
  691. text14    dc.b    'Use Beeper',0
  692. text15    dc.b    '-40',0
  693. text16    dc.b    '-20',0
  694. text17    dc.b    '0',0
  695. text18    dc.b    '-40',0
  696. text19    dc.b    '-20',0
  697. text20    dc.b    '0',0
  698. text21    dc.b    '-12',0
  699. text22    dc.b    '0',0
  700. text23    dc.b    '+12',0
  701. text24    dc.b    '-12',0
  702. text25    dc.b    '0',0
  703. text26    dc.b    '+12',0
  704. text27    dc.b    '-50',0
  705. text28    dc.b    '-15',0
  706. text29    dc.b    '-15',0
  707. text30    dc.b    '-10',0
  708. text31    dc.b    '+10',0
  709. null    dc.b    0,0
  710.  
  711. LeftVolume:    dc.b 20
  712. RightVolume:    dc.b 20
  713. MasterVolume:    dc.b 40
  714. Treble:    dc.b 6
  715. Bass:    dc.b 6
  716. BeeperFlag:    dc.b 1
  717.  
  718. SetupFile:    dc.b 'SOUND.SET',0
  719. SampleFile:    dc.b 'STECTRL.SAM',0
  720.  
  721.     section bss
  722.     
  723.     even
  724.     
  725. WinX:    ds.w 1
  726. WinY:    ds.w 1
  727. WinW:    ds.w 1
  728. WinH:    ds.w 1
  729. SampleLen:    ds.l 1
  730. BufferPtr:    ds.l 1
  731.  
  732.     even
  733.     
  734. Buffer:    equ *