Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 2ff8806b45ba9c96e77e01e6d40e440b > files > 191

libsc68_2.2.1-devel-2.2.1-11mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>sc68fordevelopers: /home/mandrake/rpm/BUILD/sc68-2.2.1/io68/mwemul.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>/home/mandrake/rpm/BUILD/sc68-2.2.1/io68/mwemul.h File Reference</h1>MicroWire - STE sound emulator.  
<a href="#_details">More...</a>
<p>
<code>#include &quot;<a class="el" href="type68_8h_source.html">emu68/type68.h</a>&quot;</code><br>

<p>
<a href="mwemul_8h_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Micro-Wire registers.</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c8047d4dacbb9bb09b9de8a116e89ab4"></a><!-- doxytag: member="mwemul.h::MW_ACTI" ref="c8047d4dacbb9bb09b9de8a116e89ab4" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#c8047d4dacbb9bb09b9de8a116e89ab4">MW_ACTI</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire enabled. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4a7c6a3c443fc74d2da1295d6b0896b6"></a><!-- doxytag: member="mwemul.h::MW_BASH" ref="4a7c6a3c443fc74d2da1295d6b0896b6" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#4a7c6a3c443fc74d2da1295d6b0896b6">MW_BASH</a>&nbsp;&nbsp;&nbsp;0x03</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire sample start address, bit 16-23. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e300f251570ff322fc21f408ffccd5e5"></a><!-- doxytag: member="mwemul.h::MW_BASM" ref="e300f251570ff322fc21f408ffccd5e5" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#e300f251570ff322fc21f408ffccd5e5">MW_BASM</a>&nbsp;&nbsp;&nbsp;(MW_BASH+2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire sample start address, bit 8-15. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="758f0646143c54b8261c646fe9927f73"></a><!-- doxytag: member="mwemul.h::MW_BASL" ref="758f0646143c54b8261c646fe9927f73" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#758f0646143c54b8261c646fe9927f73">MW_BASL</a>&nbsp;&nbsp;&nbsp;(MW_BASH+4)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire sample start address, bit 0-7. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25a12b49825b7a183f7cb684f0a224b4"></a><!-- doxytag: member="mwemul.h::MW_CTH" ref="25a12b49825b7a183f7cb684f0a224b4" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#25a12b49825b7a183f7cb684f0a224b4">MW_CTH</a>&nbsp;&nbsp;&nbsp;0x09</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire sample counter, bit 16-23. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8781d7a37b9d3fd9df111b3d6e3721b7"></a><!-- doxytag: member="mwemul.h::MW_CTM" ref="8781d7a37b9d3fd9df111b3d6e3721b7" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#8781d7a37b9d3fd9df111b3d6e3721b7">MW_CTM</a>&nbsp;&nbsp;&nbsp;(MW_CTH+2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire sample counter, bit 8-15. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e0d96a6fbeeb9351e6b9d4e8cc4094fe"></a><!-- doxytag: member="mwemul.h::MW_CTL" ref="e0d96a6fbeeb9351e6b9d4e8cc4094fe" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#e0d96a6fbeeb9351e6b9d4e8cc4094fe">MW_CTL</a>&nbsp;&nbsp;&nbsp;(MW_CTH+4)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire sample counter, bit 0-7. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a62dddfa627338d57d318e9018addf5e"></a><!-- doxytag: member="mwemul.h::MW_ENDH" ref="a62dddfa627338d57d318e9018addf5e" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#a62dddfa627338d57d318e9018addf5e">MW_ENDH</a>&nbsp;&nbsp;&nbsp;0x0f</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire sample end address, bit 16-23. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7f4cb6ca2b7ca25a055f6989600a5102"></a><!-- doxytag: member="mwemul.h::MW_ENDM" ref="7f4cb6ca2b7ca25a055f6989600a5102" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#7f4cb6ca2b7ca25a055f6989600a5102">MW_ENDM</a>&nbsp;&nbsp;&nbsp;(MW_ENDH+2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire sample end address, bit 8-15. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f9540f6e93b313bca0df72744a77155b"></a><!-- doxytag: member="mwemul.h::MW_ENDL" ref="f9540f6e93b313bca0df72744a77155b" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#f9540f6e93b313bca0df72744a77155b">MW_ENDL</a>&nbsp;&nbsp;&nbsp;(MW_ENDH+4)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire sample end address, bit 0-7. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4d880fb8b393ad2aa484d0cbf98f2eb"></a><!-- doxytag: member="mwemul.h::MW_MODE" ref="b4d880fb8b393ad2aa484d0cbf98f2eb" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#b4d880fb8b393ad2aa484d0cbf98f2eb">MW_MODE</a>&nbsp;&nbsp;&nbsp;0x21</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire playing mode. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f0279c03d31e1be08eb5f13de23dffd"></a><!-- doxytag: member="mwemul.h::MW_DATA" ref="4f0279c03d31e1be08eb5f13de23dffd" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#4f0279c03d31e1be08eb5f13de23dffd">MW_DATA</a>&nbsp;&nbsp;&nbsp;0x22</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire data register. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4aaad691a6dda3e9e40cfe33327125f6"></a><!-- doxytag: member="mwemul.h::MW_CTRL" ref="4aaad691a6dda3e9e40cfe33327125f6" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#4aaad691a6dda3e9e40cfe33327125f6">MW_CTRL</a>&nbsp;&nbsp;&nbsp;0x24</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Microwire control register. <br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Initialization functions.</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#c81b67052b7e4a89df4f8b9053926da1">MW_sampling_rate</a> (unsigned int f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set/Get sampling rate.  <a href="#c81b67052b7e4a89df4f8b9053926da1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#7e0c267de6b431b75e3173a8f2feae73">MW_reset</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Micro-Wire hardware reset.  <a href="#7e0c267de6b431b75e3173a8f2feae73"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#f5fb1264e8f589453343ff891cf53843">MW_init</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Micro-Wire first one first initialization.  <a href="#f5fb1264e8f589453343ff891cf53843"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Emulation functions.</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#407114c64f1030bd4b55196906d13f3f">MW_mix</a> (<a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> *b, const <a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a> *mem68, int n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute Micro-Wire emulation.  <a href="#407114c64f1030bd4b55196906d13f3f"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Micro-Wire LMC control functions.</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#506ebc024341a70210f0dbf2a9870675">MW_set_LMC_mixer</a> (unsigned int n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set LMC mixer type.  <a href="#506ebc024341a70210f0dbf2a9870675"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#d636dea2d9bb744599056543e6963f9d">MW_set_LMC_master</a> (unsigned int n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set LMC master volume.  <a href="#d636dea2d9bb744599056543e6963f9d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#ec6b713e651f0af44bc802860f37f060">MW_set_LMC_left</a> (unsigned int n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set LMC left channel volume.  <a href="#ec6b713e651f0af44bc802860f37f060"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#282dd0b1724458038daf811441bef300">MW_set_LMC_right</a> (unsigned int n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set LMC right channel volume.  <a href="#282dd0b1724458038daf811441bef300"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#a6fef2422708e863fce308b82eec4115">MW_set_LMC_high</a> (unsigned int n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set high pass filter.  <a href="#a6fef2422708e863fce308b82eec4115"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#18c7fc7adf8d95259b01fdaf15824848">MW_set_LMC_low</a> (unsigned int n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set low pass filter.  <a href="#18c7fc7adf8d95259b01fdaf15824848"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Micro-Wire internal data.</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#085c7dcc7c8cbcb6d4300801acfc3f79">mw</a> [0x40]</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Micro-Wire register array.  <a href="#085c7dcc7c8cbcb6d4300801acfc3f79"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#d7322b15f05c0e8c5f78ee41a5a117e3">mw_ct</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DMA current location (8 bit fixed point).  <a href="#d7322b15f05c0e8c5f78ee41a5a117e3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mwemul_8h.html#c322b4e9ec3a7367a435b0f6fb774c72">mw_end</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DMA end point location (8 bit fixed point).  <a href="#c322b4e9ec3a7367a435b0f6fb774c72"></a><br></td></tr>
</table>
<hr><h2>Detailed Description</h2>
MicroWire - STE sound emulator. 
<p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Benjamin Gerard &lt;<a href="mailto:ben@sashipa.com">ben@sashipa.com</a>&gt; </dd></dl>
<dl class="date" compact><dt><b>Date:</b></dt><dd>1999/03/20 </dd></dl>
<dl class="rcs" compact><dt><b>Id</b></dt><dd><a class="el" href="mwemul_8h.html" title="MicroWire - STE sound emulator.">mwemul.h</a>,v 2.0 2003/08/21 04:58:35 benjihan Exp </dd></dl>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="c81b67052b7e4a89df4f8b9053926da1"></a><!-- doxytag: member="mwemul.h::MW_sampling_rate" ref="c81b67052b7e4a89df4f8b9053926da1" args="(unsigned int f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int MW_sampling_rate           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set/Get sampling rate. 
<p>
The <a class="el" href="mwemul_8h.html#c81b67052b7e4a89df4f8b9053926da1" title="Set/Get sampling rate.">MW_sampling_rate()</a> function set Micro-Wire emulator sampling rate. f is given in hz. If f is 0 the current replay is return.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>sampling rate in hz (0 to get current value).</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>new sampling rate </dd></dl>

</div>
</div><p>
<a class="anchor" name="7e0c267de6b431b75e3173a8f2feae73"></a><!-- doxytag: member="mwemul.h::MW_reset" ref="7e0c267de6b431b75e3173a8f2feae73" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int MW_reset           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Micro-Wire hardware reset. 
<p>
The <a class="el" href="mwemul_8h.html#7e0c267de6b431b75e3173a8f2feae73" title="Micro-Wire hardware reset.">MW_reset()</a> reset function perform a Micro-Wire reset. It performs following operations :<ul>
<li>all registers zeroed</li><li>all internal counter zeroed</li><li>LMC reset<ul>
<li>mixer mode YM2149+Micro-Wire</li><li>master volume to -40db</li><li>left and right volumes to -20db</li><li>low-pass filter to 0</li></ul>
</li></ul>
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>error-code (always success) </dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>Success </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f5fb1264e8f589453343ff891cf53843"></a><!-- doxytag: member="mwemul.h::MW_init" ref="f5fb1264e8f589453343ff891cf53843" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int MW_init           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Micro-Wire first one first initialization. 
<p>
The <a class="el" href="mwemul_8h.html#f5fb1264e8f589453343ff891cf53843" title="Micro-Wire first one first initialization.">MW_init()</a> must be call before all other PL functions. It performs following operations.<ul>
<li>Init output level (volume) table.</li><li>Hardware reset</li><li>Set replay frequency to default (44100 Hz)</li></ul>
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>error-code (always success) </dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>0</em>&nbsp;</td><td>Success</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="mwemul_8h.html#7e0c267de6b431b75e3173a8f2feae73" title="Micro-Wire hardware reset.">MW_reset()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="407114c64f1030bd4b55196906d13f3f"></a><!-- doxytag: member="mwemul.h::MW_mix" ref="407114c64f1030bd4b55196906d13f3f" args="(u32 *b, const u8 *mem68, int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MW_mix           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> *&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a> *&nbsp;</td>
          <td class="paramname"> <em>mem68</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Execute Micro-Wire emulation. 
<p>
The <a class="el" href="mwemul_8h.html#407114c64f1030bd4b55196906d13f3f" title="Execute Micro-Wire emulation.">MW_mix()</a> function processes sample mixing with current internal parameters for n samples. Mixed samples are stored in a large enough (at least n) 32 bit buffer pointed by b. This buffer have to be previously filled with the YM-2149 samples. Typically it is the YM-2149 emulator output buffer. This allows Micro-Wire emulator to honnor the LMC mixer mode.iven LMC mode. This porocess include the mono to stereo expansion. The mem68 starting pointer locates the 68K memory buffer where samples are stored to allow DMA fetch emulation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>Pointer to YM-2149 source sample directly used for Micro-Wire output mixing. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mem68</em>&nbsp;</td><td>Pointer to 68K memory buffer start address </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>Number of sample to mix in b buffer</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="ymemul_8h.html#41731ec0511613dbffc759429c64e582" title="Execute Yamaha-2149 emulation.">YM_mix()</a> <p>
<a class="el" href="ymemul_8h.html#1d8d998a30732129b218cf24a8a62687" title="Yamaha get buffer.">YM_get_buffer()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="506ebc024341a70210f0dbf2a9870675"></a><!-- doxytag: member="mwemul.h::MW_set_LMC_mixer" ref="506ebc024341a70210f0dbf2a9870675" args="(unsigned int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MW_set_LMC_mixer           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set LMC mixer type. 
<p>
The <a class="el" href="mwemul_8h.html#506ebc024341a70210f0dbf2a9870675" title="Set LMC mixer type.">MW_set_LMC_mixer()</a> function choose the mixer mode :<ul>
<li>0 -12 Db</li><li>1 YM+STE</li><li>2 STE only</li><li>3 reserved ???</li></ul>
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>New mixer mode (see above) </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="d636dea2d9bb744599056543e6963f9d"></a><!-- doxytag: member="mwemul.h::MW_set_LMC_master" ref="d636dea2d9bb744599056543e6963f9d" args="(unsigned int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MW_set_LMC_master           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set LMC master volume. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>New volume in range [0..40]=&gt;[-80Db..0Db]</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="mwemul_8h.html#ec6b713e651f0af44bc802860f37f060" title="Set LMC left channel volume.">MW_set_LMC_left()</a> <p>
<a class="el" href="mwemul_8h.html#282dd0b1724458038daf811441bef300" title="Set LMC right channel volume.">MW_set_LMC_right()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="ec6b713e651f0af44bc802860f37f060"></a><!-- doxytag: member="mwemul.h::MW_set_LMC_left" ref="ec6b713e651f0af44bc802860f37f060" args="(unsigned int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MW_set_LMC_left           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set LMC left channel volume. 
<p>
Set LMC left channel volume in decibel.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>New volume in range [0..20]=&gt;[-40Db..0Db]</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="mwemul_8h.html#d636dea2d9bb744599056543e6963f9d" title="Set LMC master volume.">MW_set_LMC_master()</a> <p>
<a class="el" href="mwemul_8h.html#282dd0b1724458038daf811441bef300" title="Set LMC right channel volume.">MW_set_LMC_right()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="282dd0b1724458038daf811441bef300"></a><!-- doxytag: member="mwemul.h::MW_set_LMC_right" ref="282dd0b1724458038daf811441bef300" args="(unsigned int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MW_set_LMC_right           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set LMC right channel volume. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>New volume in range [0..20]=&gt;[-40Db..0Db]</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="mwemul_8h.html#d636dea2d9bb744599056543e6963f9d" title="Set LMC master volume.">MW_set_LMC_master()</a> <p>
<a class="el" href="mwemul_8h.html#ec6b713e651f0af44bc802860f37f060" title="Set LMC left channel volume.">MW_set_LMC_left()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="a6fef2422708e863fce308b82eec4115"></a><!-- doxytag: member="mwemul.h::MW_set_LMC_high" ref="a6fef2422708e863fce308b82eec4115" args="(unsigned int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MW_set_LMC_high           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set high pass filter. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>New high pass filter [0..12]=&gt;[-12Db..0Db]</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="mwemul_8h.html#18c7fc7adf8d95259b01fdaf15824848" title="Set low pass filter.">MW_set_LMC_low()</a></dd></dl>
<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Filters are not supported by MicroWire emulator. </dd></dl>

</div>
</div><p>
<a class="anchor" name="18c7fc7adf8d95259b01fdaf15824848"></a><!-- doxytag: member="mwemul.h::MW_set_LMC_low" ref="18c7fc7adf8d95259b01fdaf15824848" args="(unsigned int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MW_set_LMC_low           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set low pass filter. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>New low pass filter [0..12]=&gt;[-12Db..0Db]</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="mwemul_8h.html#a6fef2422708e863fce308b82eec4115" title="Set high pass filter.">MW_set_LMC_high()</a></dd></dl>
<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Unsupported by MicroWire emulator. </dd></dl>

</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="085c7dcc7c8cbcb6d4300801acfc3f79"></a><!-- doxytag: member="mwemul.h::mw" ref="085c7dcc7c8cbcb6d4300801acfc3f79" args="[0x40]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="type68_8h.html#ed742c436da53c1080638ce6ef7d13de">u8</a> <a class="el" href="mwemul_8h.html#085c7dcc7c8cbcb6d4300801acfc3f79">mw</a>[0x40]          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Micro-Wire register array. 
<p>

</div>
</div><p>
<a class="anchor" name="d7322b15f05c0e8c5f78ee41a5a117e3"></a><!-- doxytag: member="mwemul.h::mw_ct" ref="d7322b15f05c0e8c5f78ee41a5a117e3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> <a class="el" href="mwemul_8h.html#d7322b15f05c0e8c5f78ee41a5a117e3">mw_ct</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
DMA current location (8 bit fixed point). 
<p>

</div>
</div><p>
<a class="anchor" name="c322b4e9ec3a7367a435b0f6fb774c72"></a><!-- doxytag: member="mwemul.h::mw_end" ref="c322b4e9ec3a7367a435b0f6fb774c72" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="type68_8h.html#10e94b422ef0c20dcdec20d31a1f5049">u32</a> <a class="el" href="mwemul_8h.html#c322b4e9ec3a7367a435b0f6fb774c72">mw_end</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
DMA end point location (8 bit fixed point). 
<p>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 15 03:58:05 2009 for sc68fordevelopers by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>