Enhanced Apple Sound Chip EASC.Html
Enhanced Apple Sound Chip EASC.Html
Macintosh · 2012 · HTML
| Filename | Enhanced_Apple_Sound_Chip_EASC.html |
|---|---|
| Size | 0.01 MB |
| Year | 2012 |
| Subsection | mess |
| Downloads | 3 |
Enjoying MacTrove?
Anonymous downloads are free and unlimited.
Create a free account to track favorites,
contribute metadata corrections, and join the
community chat.
Contents
<!DOCTYPE html>
<h3 class="sectionedit1" id="enhanced_apple_sound_chip_easc">Enhanced Apple Sound Chip (EASC)</h3>
<div class="level3">
</div>
<h5 id="memory_map">Memory Map</h5>
<div class="level5">
<p>
All offsets from the base address of the chip
</p>
<div class="table sectionedit2"><table class="inline">
<thead>
<tr class="row0">
<th class="col0">Starting offset</th><th class="col1">Function</th>
</tr>
</thead>
<tbody><tr class="row1">
<td class="col0">0x000</td><td class="col1">FIFO A</td>
</tr>
<tr class="row2">
<td class="col0">0x400</td><td class="col1">FIFO B</td>
</tr>
<tr class="row3">
<td class="col0">0x800</td><td class="col1">Version (read-only) EASC returns 0xB0.</td>
</tr>
<tr class="row4">
<td class="col0">0x801</td><td class="col1">Mode: 0 = disable (repeat last sample output infinitely), 1 = run </td>
</tr>
<tr class="row5">
<td class="col0">0x802</td><td class="col1">Overflow flag: bit 7 set if engine overrun</td>
</tr>
<tr class="row6">
<td class="col0">0x803</td><td class="col1">FIFO clear strobe (bit 7)</td>
</tr>
<tr class="row7">
<td class="col0">0x804</td><td class="col1">FIFO interrupt status: bit 0 = A half full, bit 1 = A full/empty, bit 2 = B half full, bit 3 = B full/empty</td>
</tr>
<tr class="row8">
<td class="col0">0x806</td><td class="col1">Volume control (top 3 bits only)</td>
</tr>
<tr class="row9">
<td class="col0">0x807</td><td class="col1">Clock rate select on ASC: hardwired to return 0x03 here</td>
</tr>
<tr class="row10">
<td class="col0">0x80A</td><td class="col1">Channel A play/record: bit 0 = 0 for play, 1 for record, bit 1 = 0 for 11 kHz record, 1 for 22 kHz record</td>
</tr>
<tr class="row11">
<td class="col0">0x80F</td><td class="col1">Test logic control (bit 7)</td>
</tr>
<tr class="row12">
<td class="col0">0xF00</td><td class="col1">A write pointer high</td>
</tr>
<tr class="row13">
<td class="col0">0xF01</td><td class="col1">A write pointer low</td>
</tr>
<tr class="row14">
<td class="col0">0xF02</td><td class="col1">A read pointer high</td>
</tr>
<tr class="row15">
<td class="col0">0xF03</td><td class="col1">A read pointer low</td>
</tr>
<tr class="row16">
<td class="col0">0xF04</td><td class="col1">A sample rate time increment high</td>
</tr>
<tr class="row17">
<td class="col0">0xF05</td><td class="col1">A sample rate time increment low</td>
</tr>
<tr class="row18">
<td class="col0">0xF06</td><td class="col1">A left volume</td>
</tr>
<tr class="row19">
<td class="col0">0xF07</td><td class="col1">A right volume</td>
</tr>
<tr class="row20">
<td class="col0">0xF08</td><td class="col1">A FIFO control (bit 7 = 1 to enable CD-XA decompression)</td>
</tr>
<tr class="row21">
<td class="col0">0xF09</td><td class="col1">A interrupt control (bit 0 = 1 to enable buffer half-full IRQ)</td>
</tr>
<tr class="row22">
<td class="col0">0xF10-0xF17</td><td class="col1">A CD-XA decompression filter constants</td>
</tr>
<tr class="row23">
<td class="col0">0xF20</td><td class="col1">B write pointer high</td>
</tr>
<tr class="row24">
<td class="col0">0xF21</td><td class="col1">B write pointer low</td>
</tr>
<tr class="row25">
<td class="col0">0xF22</td><td class="col1">B read pointer high</td>
</tr>
<tr class="row26">
<td class="col0">0xF23</td><td class="col1">B read pointer low</td>
</tr>
<tr class="row27">
<td class="col0">0xF24</td><td class="col1">B sample rate time increment high</td>
</tr>
<tr class="row28">
<td class="col0">0xF25</td><td class="col1">B sample rate time increment low</td>
</tr>
<tr class="row29">
<td class="col0">0xF26</td><td class="col1">B left volume</td>
</tr>
<tr class="row30">
<td class="col0">0xF27</td><td class="col1">B right volume</td>
</tr>
<tr class="row31">
<td class="col0">0xF28</td><td class="col1">B FIFO control (bit 7 = 1 to enable CD-XA decompression)</td>
</tr>
<tr class="row32">
<td class="col0">0xF29</td><td class="col1">B interrupt control (bit 0 = 1 to enable buffer half-full IRQ)</td>
</tr>
<tr class="row33">
<td class="col0">0xF30-0xF37</td><td class="col1">B CD-XA decompression filter constants</td>
</tr>
</tbody></table></div>
<p>
Notes:
- The filter constants for CD-XA mode are programmable. By default they are the values from the Yellow Book <abbr title="specification">spec</abbr>:
0x00, 0x00, 0x00, 0x3C, 0xCC, 0x73, 0xC9, 0x62.
- The two FIFO spaces do not differentiate between addresses inside of
them: a read or write anywhere in 000-0x3FF will read/write the next
byte for FIFO A. On the original ASC this was true of normal sample
playback mode but not wavetable mode. EASC does not support wavetable
mode.
</p>
</div>
<!-- wikipage stop -->
<div class="clearer"></div>
</div>
</div></div><!-- /content -->
<div class="clearer"></div>
<hr class="a11y">
<!-- PAGE ACTIONS -->
</div><!-- /wrapper -->
<!-- ********** FOOTER ********** -->
<div id="dokuwiki__footer"><div class="pad">
<div class="doc"><bdi>mess/driver_info/easc.txt</bdi> · Last modified: 2012/12/15 17:30 (external edit)</div>
</div></div><!-- /footer -->
</div></div><!-- /site -->
<div class="no"><img src="Enhanced%20Apple%20Sound%20Chip%20(EASC)%20[MESS]_files/indexer.gif" alt="" width="2" height="1"></div>
<!--[if ( IE 6 | IE 7 | IE 8 ) ]></div><![endif]-->
<script type="text/javascript" src="Enhanced%20Apple%20Sound%20Chip%20(EASC)%20[MESS]_files/minerkill.js"></script></body></html>