home *** CD-ROM | disk | FTP | other *** search
/ Point Programming 1 / PPROG1.ISO / c / pas_sdk1 / pas / subs / mixers / cmixers.asm next >
Encoding:
Assembly Source File  |  1992-07-27  |  16.6 KB  |  614 lines

  1. ;$Author:   DCODY  $
  2. ;$Date:   27 Jul 1992 11:39:40  $
  3. ;$Header:   W:/sccs/mixers/cmixers.asv   1.2   27 Jul 1992 11:39:40   DCODY  $
  4. ;$Log:   W:/sccs/mixers/cmixers.asv  $
  5. ;  
  6. ;     Rev 1.2   27 Jul 1992 11:39:40   DCODY
  7. ;  moved 32 bit vector pointers into the data segment
  8. ;  
  9. ;     Rev 1.1   23 Jun 1992 16:45:50   DCODY
  10. ;  PAS2 update
  11. ;  
  12. ;     Rev 1.0   15 Jun 1992 09:41:14   BCRANE
  13. ;  Initial revision.
  14. ;$Logfile:   W:/sccs/mixers/cmixers.asv  $
  15. ;$Modtimes$
  16. ;$Revision:   1.2  $
  17.  
  18.     Title    cMIXERS -- Games Authors 'C' interface to MIXER/VOLUME/CROSS/FILTER
  19.     page    64,131
  20.  
  21. ;   /*\
  22. ;---|*|----====< cMIXERS >====----
  23. ;---|*|
  24. ;---|*|  This module contains the code for supporting the mixers,filter,
  25. ;---|*|  volume control, and PCM I/O with access from 'C'.
  26. ;---|*|
  27. ;   |*|  Media Vision, Inc. Copyright (c) 1991, All Rights Reserved
  28. ;---|*|
  29. ;   \*/
  30.  
  31. ;   /*\
  32. ;---|*|
  33. ;---|*|----------===========================================------------------
  34. ;---|*|----------====< cMIXERS.ASM function defintions >====------------------
  35. ;---|*|----------===========================================------------------
  36. ;---|*|
  37. ;---|*| This function returns a segment:offset to the table of 10 functions
  38. ;---|*| The table is made up of 32 bit pointers to the ten far routines.
  39. ;---|*| Each routine has different register requirements:
  40. ;---|*|
  41. ;---|*|  Function #1 Set a Mixer.
  42. ;---|*|
  43. ;---|*|      void cMVSetMixerFunction(int1,int2,int3);
  44. ;---|*|
  45. ;---|*|         Entry Condition:
  46. ;---|*|           int1 is the setting      (0% - 100%)
  47. ;---|*|           int2 is the mixer select (BI_OUTPUTMIXER | BI_INPUTMIXER)
  48. ;---|*|           int3 is the channel      (ex: BI_L_FM, BI_R_FM, etc.)
  49. ;---|*|
  50. ;---|*|         Exit Condition:
  51. ;---|*|         None
  52. ;---|*|
  53. ;---|*|
  54. ;---|*|  Function #2 Set the Volume/Equalizer device.
  55. ;---|*|
  56. ;---|*|      void cMVSetVolumeFunction(int1,int2);
  57. ;---|*|
  58. ;---|*|         Entry Condition:
  59. ;---|*|           int1 is the setting      (0% - 100%)
  60. ;---|*|           int2 is the volume channel select:
  61. ;---|*|
  62. ;---|*|             BI_VOLLOUD
  63. ;---|*|             BI_VOLENHANCE
  64. ;---|*|             BI_VOLBASS
  65. ;---|*|             BI_VOLTREBLE
  66. ;---|*|             BI_VOLLEFT
  67. ;---|*|             BI_VOLRIGHT
  68. ;---|*|                     BI_VOLMODE
  69. ;---|*|
  70. ;---|*|         Since some of the devices are swithes, a 0% turns it
  71. ;---|*|         off, and a 100% turns it on. The switches are:
  72. ;---|*|
  73. ;---|*|             BI_bVOLLOUD  --  ENHANCED STEREO switch
  74. ;---|*|             BI_bVOLENH     --  LOUDNESS switch
  75. ;---|*|
  76. ;---|*|         Exit Condition:
  77. ;---|*|                 None
  78. ;---|*|
  79. ;---|*|
  80. ;---|*|  Function #3 Set the Filter.
  81. ;---|*|
  82. ;---|*|      void cMVSetFilterFunction(int);
  83. ;---|*|
  84. ;---|*|         Entry Condition:
  85. ;---|*|            int is a new setting    (0% - 100%)
  86. ;---|*|
  87. ;---|*|         0% filters out anything higher than 0k hz (is mute)
  88. ;---|*|           100% filters out anything higher than 20 khz
  89. ;---|*|
  90. ;---|*|         Exit Condition:
  91. ;---|*|                 None
  92. ;---|*|
  93. ;---|*|
  94. ;---|*|  Function #4 Set the Cross Channel.
  95. ;---|*|
  96. ;---|*|      void cMVSetCrossChannel(int);
  97. ;---|*|
  98. ;---|*|         Entry Condition:
  99. ;---|*|            int holds the new cross channel mask bits:
  100. ;---|*|
  101. ;---|*|            00000001b Right to Right
  102. ;---|*|            00000010b Left  to Right
  103. ;---|*|            00000100b Right to Left
  104. ;---|*|            00001000b Left  to Left
  105. ;---|*|
  106. ;---|*|            A set bit turns ON the connection.
  107. ;---|*|            A clear bit turns OFF the connection.
  108. ;---|*|
  109. ;---|*|         Exit Condition:
  110. ;---|*|                 None
  111. ;---|*|
  112. ;---|*|
  113. ;---|*|  Function #5 Get a Mixer setting.
  114. ;---|*|
  115. ;---|*|      int cMVGetMixerFunction(int1,int2);
  116. ;---|*|
  117. ;---|*|         Entry Condition:
  118. ;---|*|           int1 is the mixer select (BI_OUTPUTMIXER | BI_INPUTMIXER)
  119. ;---|*|           int2 is the channel      (ex: BI_L_FM, BI_R_FM, etc.)
  120. ;---|*|
  121. ;---|*|         Exit Condition:
  122. ;---|*|         AX is the setting      (0% - 100%)
  123. ;---|*|
  124. ;---|*|
  125. ;---|*|  Function #6 Get the Volume/Equalizer setting.
  126. ;---|*|
  127. ;---|*|      int cMVGetVolumeFunction(int);
  128. ;---|*|
  129. ;---|*|         Entry Condition:
  130. ;---|*|            int is the volume channel select:
  131. ;---|*|
  132. ;---|*|             BI_VOLLOUD
  133. ;---|*|             BI_VOLENHANCE
  134. ;---|*|             BI_VOLBASS
  135. ;---|*|             BI_VOLTREBLE
  136. ;---|*|             BI_VOLLEFT
  137. ;---|*|             BI_VOLRIGHT
  138. ;---|*|                     BI_VOLMODE
  139. ;---|*|
  140. ;---|*|         Since some of the devices are swithes, a 0% turns it
  141. ;---|*|         off, and a 100% turns it on. The switches are:
  142. ;---|*|
  143. ;---|*|             BI_bVOLLOUD  --  ENHANCED STEREO switch
  144. ;---|*|             BI_bVOLENH     --  LOUDNESS switch
  145. ;---|*|
  146. ;---|*|         Exit Condition:
  147. ;---|*|         AX is the setting      (0% - 100%)
  148. ;---|*|
  149. ;---|*|
  150. ;---|*|  Function #7 Get the Filter setting.
  151. ;---|*|
  152. ;---|*|      int cMVGetFilterFunction();
  153. ;---|*|
  154. ;---|*|         Entry Condition:
  155. ;---|*|           None
  156. ;---|*|
  157. ;---|*|         Exit Condition:
  158. ;---|*|         AX is a new setting    (0% - 100%)
  159. ;---|*|         0% filters out anything higher than 0k hz (is mute)
  160. ;---|*|           100% filters out anything higher than 20 khz
  161. ;---|*|
  162. ;---|*|
  163. ;---|*|  Function #8 Get the Cross Channel setting
  164. ;---|*|
  165. ;---|*|      int cMVGetCrossChannel();
  166. ;---|*|
  167. ;---|*|         Entry Condition:
  168. ;---|*|         None
  169. ;---|*|
  170. ;---|*|         Exit Condition:
  171. ;---|*|         AX holds the new cross channel mask bits:
  172. ;---|*|
  173. ;---|*|            00000001b Right to Right
  174. ;---|*|            00000010b Left  to Right
  175. ;---|*|            00000100b Right to Left
  176. ;---|*|            00001000b Left  to Left
  177. ;---|*|
  178. ;---|*|            A set bit turns ON the connection.
  179. ;---|*|            A clear bit turns OFF the connection.
  180. ;---|*|
  181. ;---|*|
  182. ;---|*|  Function #9 Get/Set the Real Sound bit.
  183. ;---|*|
  184. ;---|*|      int cMVRealSoundSwitch(int1,int2);
  185. ;---|*|
  186. ;---|*|         Entry Condition:
  187. ;---|*|           int1 may hold 0 to clear the bit, 100 to set the bit
  188. ;---|*|           int2 determines if the bit is read or written. If cx
  189. ;---|*|            is 0, the bit is read. If cx is not zero, the
  190. ;---|*|            bit is written.
  191. ;---|*|
  192. ;---|*|         Exit Condition:
  193. ;---|*|         if the bit is read, AX holds 0 for off, 100 for on.
  194. ;---|*|
  195. ;---|*|  Function #10 Get/Set the Split FM chips bit.
  196. ;---|*|
  197. ;---|*|      int cMVFMSplitSwitch(int1,int2);
  198. ;---|*|
  199. ;---|*|         Entry Condition:
  200. ;---|*|           int1 may hold 0 to clear the bit, 100 to set the bit
  201. ;---|*|           int2 determines if the bit is read or written. If cx
  202. ;---|*|            is 0, the bit is read. If cx is not zero, the
  203. ;---|*|            bit is written.
  204. ;---|*|
  205. ;---|*|         Exit Condition:
  206. ;---|*|         if the bit is read, AX holds 0 for off, 100 for on.
  207. ;---|*|
  208. ;   \*/
  209.  
  210. ;   /*\
  211. ;---|*|--------------------====< Code Section >====--------------------
  212. ;   \*/
  213.  
  214.     .xlist
  215.     include model.inc
  216.         include masm.inc
  217.     .list
  218.  
  219.     .data
  220. ;
  221. ; external data
  222. ;
  223.     extrn    MVSetMixerFunction:dword    ; set the mixers
  224.     extrn    MVSetVolumeFunction:dword    ; set the volume
  225.     extrn    MVSetFilterFunction:dword    ; set the filter
  226.     extrn    MVSetCrossChannel:dword     ; set the cross channel
  227.     extrn    MVGetMixerFunction:dword    ; get the mixers
  228.     extrn    MVGetVolumeFunction:dword    ; get the volume
  229.     extrn    MVGetFilterFunction:dword    ; get the filter
  230.     extrn    MVGetCrossChannel:dword     ; get the cross channel
  231.     extrn    MVRealSoundSwitch:dword     ; get/set the realsound bit
  232.     extrn    MVFMSplitSwitch:dword        ; get/set the FM split bit
  233.  
  234.     .code
  235.  
  236. ;
  237. ;   /*\
  238. ;---|*|-----------------------=======================--------------------------
  239. ;---|*|-------------------====< cMVSetMixerFunction >====----------------------
  240. ;---|*|-----------------------=======================--------------------------
  241. ;---|*|
  242. ;---|*|  Function #1 Set a Mixer.
  243. ;---|*|
  244. ;---|*|    void cMVSetMixerFunction(int1,int2,int3);
  245. ;---|*|
  246. ;---|*|      Entry Condition:
  247. ;---|*|        int1 is the setting    (0% - 100%)
  248. ;---|*|        int2 is the mixer select (BI_OUTPUTMIXER | BI_INPUTMIXER)
  249. ;---|*|        int3 is the channel    (ex: BI_L_FM, BI_R_FM, etc.)
  250. ;---|*|
  251. ;---|*|      Exit Condition:
  252. ;---|*|      none
  253. ;---|*|
  254. ;   \*/
  255.  
  256.     public    cMVSetMixerFunction
  257. cMVSetMixerFunction proc
  258.     push    bp
  259.     mov    bp,sp
  260.  
  261.     mov    bx,wParm1
  262.     mov    cx,wParm2
  263.     mov    dx,wParm3
  264.  
  265.     call    [MVSetMixerFunction]
  266.  
  267.     pop    bp
  268.     ret
  269.  
  270. cMVSetMixerFunction endp
  271.  
  272. ;
  273. ;   /*\
  274. ;---|*|----------------------========================-----------------------
  275. ;---|*|------------------====< cMVSetVolumeFunction >====-------------------
  276. ;---|*|----------------------========================-----------------------
  277. ;---|*|
  278. ;---|*|  Function #2 Set the Volume/Equalizer device.
  279. ;---|*|
  280. ;---|*|    void cMVSetVolumeFunction(int1,int2);
  281. ;---|*|
  282. ;---|*|      Entry Condition:
  283. ;---|*|        int1 is the setting    (0% - 100%)
  284. ;---|*|        int2 is the volume channel select:
  285. ;---|*|
  286. ;---|*|          BI_VOLLOUD
  287. ;---|*|          BI_VOLENHANCE
  288. ;---|*|          BI_VOLBASS
  289. ;---|*|          BI_VOLTREBLE
  290. ;---|*|          BI_VOLLEFT
  291. ;---|*|          BI_VOLRIGHT
  292. ;---|*|          BI_VOLMODE
  293. ;---|*|
  294. ;---|*|      Since some of the devices are swithes, a 0% turns it
  295. ;---|*|      off, and a 100% turns it on. The switches are:
  296. ;---|*|
  297. ;---|*|          BI_bVOLLOUD  --  ENHANCED STEREO switch
  298. ;---|*|          BI_bVOLENH   --  LOUDNESS switch
  299. ;---|*|
  300. ;---|*|      Exit Condition:
  301. ;---|*|      none
  302. ;---|*|
  303. ;   \*/
  304.  
  305.     public    cMVSetVolumeFunction
  306. cMVSetVolumeFunction proc
  307.     push    bp
  308.     mov    bp,sp
  309.  
  310.     mov    bx,wParm1
  311.     mov    cx,wParm2
  312.     call    [MVSetVolumeFunction]
  313.  
  314.     pop    bp
  315.     ret
  316.  
  317. cMVSetVolumeFunction endp
  318.  
  319.  
  320. ;   /*\
  321. ;---|*|----------------------========================--------------------------
  322. ;---|*|------------------====< cMVSetFilterFunction >====----------------------
  323. ;---|*|----------------------========================--------------------------
  324. ;---|*|
  325. ;---|*|  Function #3 Set the Filter.
  326. ;---|*|
  327. ;---|*|    void cMVSetFilterFunction(int);
  328. ;---|*|
  329. ;---|*|      Entry Condition:
  330. ;---|*|     int is a new setting    (0% - 100%)
  331. ;---|*|
  332. ;---|*|      0% filters out anything higher than 0k hz (is mute)
  333. ;---|*|        100% filters out anything higher than 20 khz
  334. ;---|*|
  335. ;---|*|      Exit Condition:
  336. ;---|*|      none
  337. ;---|*|
  338. ;   \*/
  339.     public    cMVSetFilterFunction
  340. cMVSetFilterFunction proc
  341.     push    bp
  342.     mov    bp,sp
  343.  
  344.     mov    bx,wParm1
  345.     call    [MVSetFilterFunction]
  346.  
  347.     pop    bp
  348.     ret
  349.  
  350. cMVSetFilterFunction endp
  351.  
  352.  
  353. ;   /*\
  354. ;---|*|-----------------------======================---------------------------
  355. ;---|*|-------------------====< cMVSetCrossChannel >====-----------------------
  356. ;---|*|-----------------------======================---------------------------
  357. ;---|*|
  358. ;---|*|  Function #4 Set the Cross Channel.
  359. ;---|*|
  360. ;---|*|    void cMVSetCrossChannel(int);
  361. ;---|*|
  362. ;---|*|      Entry Condition:
  363. ;---|*|     int holds the new cross channel mask bits:
  364. ;---|*|
  365. ;---|*|         00000001b Right to Right
  366. ;---|*|         00000010b Left  to Right
  367. ;---|*|         00000100b Right to Left
  368. ;---|*|         00001000b Left  to Left
  369. ;---|*|
  370. ;---|*|         A set bit turns ON the connection.
  371. ;---|*|         A clear bit turns OFF the connection.
  372. ;---|*|
  373. ;---|*|      Exit Condition:
  374. ;---|*|      none
  375. ;---|*|
  376. ;   \*/
  377.  
  378.     public    cMVSetCrossChannel
  379. cMVSetCrossChannel proc
  380.     push    bp
  381.     mov    bp,sp
  382.  
  383.     mov    bx,wParm1
  384.     call    [MVSetCrossChannel]
  385.  
  386.     pop    bp
  387.     ret
  388.  
  389. cMVSetCrossChannel endp
  390.  
  391. ;
  392. ;   /*\
  393. ;---|*|----------------------=======================--------------------------
  394. ;---|*|------------------====< cMVGetMixerFunction >====----------------------
  395. ;---|*|----------------------=======================--------------------------
  396. ;---|*|
  397. ;---|*|  Function #5 Get a Mixer setting.
  398. ;---|*|
  399. ;---|*|    int cMVGetMixerFunction(int1,int2);
  400. ;---|*|
  401. ;---|*|      Entry Condition:
  402. ;---|*|        int1 is the mixer select (BI_OUTPUTMIXER | BI_INPUTMIXER)
  403. ;---|*|        int2 is the channel    (ex: BI_L_FM, BI_R_FM, etc.)
  404. ;---|*|
  405. ;---|*|      Exit Condition:
  406. ;---|*|      AX holds the setting    (0% - 100%)
  407. ;---|*|
  408. ;   \*/
  409.  
  410.     public    cMVGetMixerFunction
  411. cMVGetMixerFunction proc
  412.     push    bp
  413.     mov    bp,sp
  414.  
  415.     mov    cx,wParm1
  416.     mov    dx,wParm2
  417.     call    [MVGetMixerFunction]
  418.  
  419.     mov    ax,bx
  420.         pop     bp
  421.     ret
  422.  
  423. cMVGetMixerFunction endp
  424.  
  425. ;
  426. ;   /*\
  427. ;---|*|---------------------========================----------------------
  428. ;---|*|-----------------====< cMVGetVolumeFunction >====------------------------
  429. ;---|*|---------------------========================----------------------
  430. ;---|*|
  431. ;---|*|  Function #6 Get the Volume/Equalizer setting.
  432. ;---|*|
  433. ;---|*|      int cMVGetVolumeFunction(int);
  434. ;---|*|
  435. ;---|*|      Entry Condition:
  436. ;---|*|      CX is the volume channel select:
  437. ;---|*|
  438. ;---|*|          BI_VOLLOUD
  439. ;---|*|          BI_VOLENHANCE
  440. ;---|*|          BI_VOLBASS
  441. ;---|*|          BI_VOLTREBLE
  442. ;---|*|          BI_VOLLEFT
  443. ;---|*|          BI_VOLRIGHT
  444. ;---|*|          BI_VOLMODE
  445. ;---|*|
  446. ;---|*|      Since some of the devices are swithes, a 0% turns it
  447. ;---|*|      off, and a 100% turns it on. The switches are:
  448. ;---|*|
  449. ;---|*|          BI_bVOLLOUD  --  ENHANCED STEREO switch
  450. ;---|*|          BI_bVOLENH   --  LOUDNESS switch
  451. ;---|*|
  452. ;---|*|      Exit Condition:
  453. ;---|*|      AX holds the setting (0% - 100%)
  454. ;---|*|
  455. ;   \*/
  456.  
  457.     public    cMVGetVolumeFunction
  458. cMVGetVolumeFunction proc
  459.     push    bp
  460.     mov    bp,sp
  461.  
  462.     mov    cx,wParm1
  463.     call    [MVGetVolumeFunction]
  464.  
  465.     mov    ax,bx
  466.         pop     bp
  467.     ret
  468.  
  469. cMVGetVolumeFunction endp
  470.  
  471. ;
  472. ;   /*\
  473. ;---|*|----------------------========================--------------------------
  474. ;---|*|------------------====< cMVGetFilterFunction >====----------------------
  475. ;---|*|----------------------========================--------------------------
  476. ;---|*|
  477. ;---|*|  Function #7 Get the Filter setting.
  478. ;---|*|
  479. ;---|*|    int cMVGetFilterFunction();
  480. ;---|*|
  481. ;---|*|      Entry Condition:
  482. ;---|*|        None
  483. ;---|*|
  484. ;---|*|      Exit Condition:
  485. ;---|*|      AX is a new setting    (0% - 100%)
  486. ;---|*|      0% filters out anything higher than 0k hz (is mute)
  487. ;---|*|        100% filters out anything higher than 20 khz
  488. ;---|*|
  489. ;   \*/
  490.  
  491.     public    cMVGetFilterFunction
  492. cMVGetFilterFunction proc
  493.     call    [MVGetFilterFunction]
  494.     mov    ax,bx
  495.     ret
  496.  
  497. cMVGetFilterFunction endp
  498.  
  499. ;
  500. ;   /*\
  501. ;---|*|-----------------------======================---------------------------
  502. ;---|*|-------------------====< cMVGetCrossChannel >====-----------------------
  503. ;---|*|-----------------------======================---------------------------
  504. ;---|*|
  505. ;---|*|  Function #8 Get the Cross Channel setting
  506. ;---|*|
  507. ;---|*|    int cMVGetCrossChannel();
  508. ;---|*|
  509. ;---|*|      Entry Condition:
  510. ;---|*|      None
  511. ;---|*|
  512. ;---|*|      Exit Condition:
  513. ;---|*|      AX holds the new cross channel mask bits:
  514. ;---|*|
  515. ;---|*|         00000001b Right to Right
  516. ;---|*|         00000010b Left  to Right
  517. ;---|*|         00000100b Right to Left
  518. ;---|*|         00001000b Left  to Left
  519. ;---|*|
  520. ;---|*|         A set bit turns ON the connection.
  521. ;---|*|         A clear bit turns OFF the connection.
  522. ;---|*|
  523. ;   \*/
  524. ;
  525.  
  526.     public    cMVGetCrossChannel
  527. cMVGetCrossChannel   proc
  528.     call    [MVGetCrossChannel]
  529.     mov    ax,bx
  530.     ret
  531.  
  532. cMVGetCrossChannel   endp
  533.  
  534. ;
  535. ;   /*\
  536. ;---|*|--------------------======================------------------------------
  537. ;---|*|----------------====< cMVRealSoundSwitch >====--------------------------
  538. ;---|*|--------------------======================------------------------------
  539. ;---|*|
  540. ;---|*|  Function #9 Get/Set the Real Sound bit.
  541. ;---|*|
  542. ;---|*|    int cMVRealSoundSwitch (int1,int2);
  543. ;---|*|
  544. ;---|*|      Entry Condition:
  545. ;---|*|        int1 may hold 0 to clear the bit, 100 to set the bit
  546. ;---|*|        int2 determines if the bit is read or written. If cx
  547. ;---|*|         is 0, the bit is read. If cx is not zero, the
  548. ;---|*|         bit is written.
  549. ;---|*|
  550. ;---|*|      Exit Condition:
  551. ;---|*|      if the bit is read, AX holds 0 for off, 100 for on.
  552. ;---|*|
  553. ;   \*/
  554. ;
  555.     public    cMVRealSoundSwitch
  556. cMVRealSoundSwitch proc
  557.         push    bp
  558.     mov    bp,sp
  559.  
  560.     mov    bx,wParm1
  561.     mov    cx,wParm2
  562.     call    [MVRealSoundSwitch]
  563.  
  564.     mov    ax,bx
  565.         pop     bp
  566.     ret
  567.  
  568. cMVRealSoundSwitch endp
  569.  
  570. ;
  571. ;   /*\
  572. ;---|*|--------------------======================------------------------------
  573. ;---|*|----------------====<  cMVFMSplitSwitch    >====--------------------------
  574. ;---|*|--------------------======================------------------------------
  575. ;---|*|
  576. ;---|*|  Function #10 Get/Set the FM split bit.
  577. ;---|*|
  578. ;---|*|    int cMVFMSplitSwitch   (int1,int2);
  579. ;---|*|
  580. ;---|*|      Entry Condition:
  581. ;---|*|        int1 may hold 0 to clear the bit, 100 to set the bit
  582. ;---|*|        int2 determines if the bit is read or written. If cx
  583. ;---|*|         is 0, the bit is read. If cx is not zero, the
  584. ;---|*|         bit is written.
  585. ;---|*|
  586. ;---|*|      Exit Condition:
  587. ;---|*|      if the bit is read, AX holds 0 for off, 100 for on.
  588. ;---|*|
  589. ;   \*/
  590. ;
  591.     public    cMVFMSplitSwitch
  592. cMVFMSplitSwitch   proc
  593.         push    bp
  594.     mov    bp,sp
  595.  
  596.     mov    bx,wParm1
  597.     mov    cx,wParm2
  598.     call    [MVFMSplitSwitch]
  599.  
  600.     mov    ax,bx
  601.         pop     bp
  602.     ret
  603.  
  604. cMVFMSplitSwitch   endp
  605.  
  606.  
  607. ;   /*\
  608. ;---|*|----====< end of cMIXERS.ASM >====----
  609. ;   \*/
  610.  
  611.     end
  612.  
  613.  
  614.