YM, DSP & DMA Sound

From Atari Wiki
Revision as of 15:37, 11 October 2011 by Admin (talk | contribs)
Jump to navigation Jump to search
===========#==#=======#===============================================#=====
----------------------|YM2149/AY-3-8910 Sound Chip                    |-----
===========#==#=======#===============================================#=====
$FFFF8800.B|R-|PSG_SEL|Read Data                                      |
           |-W|       |Register Select                                |
$FFFF8802.B|rW|PSG_DAT|Write Data                                     |
           |  |       | PSG Register 14 - Port A            %RICDPBAS |
           |  |       | Reset IDE 0:no,1:reset (slow down)---+||||||| |F
           |  |       | Internal Speaker 0:on,1:off-----------+|||||| |F
           |  |       | Centronics Strobe----------------------+||||| |
           |  |       | Reset DSP 0:no,1:reset------------------+|||| |F
           |  |       | Printer Select In------------------------+||| |
           |  |       | Drive B select 0:on,1:off-----------------+|| |
           |  |       | Drive A select 0:on,1:off------------------+| |
           |  |       | Side select 0:side1,1:side0-----------------+ |
           |  |       | PSG Register 15 - Port B            %xxxxxxxx |
           |  |       | Centronics Data Port-----------------++++++++ |
===========#==#=======#===============================================#=====
----------------------|DMA,CODEC,ADC,DAC,DSP-Transmit,DSP-Receive     |-----
===========#==#=======#===============================================#=====
$FFFF8900.W|RW|SND_DMA|Sound-DMA-Control           %____RPRP F_EL__EL |F,STE
           |  |       | Timer A after Record/Play-------++|| | ||  || |F
           |  |       | MFP I/O 7 after Record/Play-------++ | ||  || |F
           |  |       | Frame Registers 0:play,1:record------+ ||  || |F
           |  |       | DMA record Enable/Loop-----------------++  || |F
           |  |       | DMA play Enable/Loop-----------------------++ |F,STE
$FFFF8903.B|RW|SND_FSH|Frame Start Hi                                 |F,STE
$FFFF8905.B|RW|SND_FSM|Frame Start Mi                                 |F,STE
$FFFF8907.B|RW|SND_FSL|Frame Start Lo                                 |F,STE
$FFFF8909.B|RW|SND_FCH|Frame Count Hi                                 |F,STE
$FFFF890B.B|RW|SND_FCM|Frame Count Mi                                 |F,STE
$FFFF890D.B|RW|SND_FCL|Frame Count Lo                                 |F,STE
$FFFF890F.B|RW|SND_FEH|Frame End Hi                                   |F,STE
$FFFF8911.B|RW|SND_FEM|Frame End Mi                                   |F,STE
$FFFF8913.B|RW|SND_FEL|Frame End Lo                                   |F,STE
$FFFF8920.W|RW|SND_SMC|Sound Mode Control          %__SS__PP MB____FF |F,STE
           |  |       | DAC to track %SS--------------++  || ||    || |F  
           |  |       | Play %PP+1 tracks-----------------++ ||    || |F  
           |  |       | 0:Stereo,0:Mono----------------------+|    || |F  
           |  |       | 0:8bit,1:16bit------------------------+    || |F  
           |  |       | Falcon:nute------STE: 6258 Hz--------------00 |F,STE
           |  |       | Falcon:12292 Hz--STE:12517 Hz--------------01 |F,STE
           |  |       | Falcon:19668 Hz--STE:25033 Hz--------------10 |F,STE
           |  |       | Falcon:49170 Hz--STE:50066 Hz--------------11 |F,STE
$FFFF8922.B|RW|   -   |Microwire Data Register                        |STE
$FFFF8924.B|RW|   -   |Microwire Mask Register                        |STE

Note: DSP registers still missing - the appropriate section of the memory map has problems with being copied verbatim into the Wiki.