DMA & SCSI

From Atari Wiki
Revision as of 09:51, 26 July 2026 by Exxos (talk | contribs)
Jump to navigation Jump to search
===========#==#=======#===============================================#=====
----------------------|DMA, WD1772 Disk Controller                    |-----
===========#==#=======#===============================================#=====
$FFFF8604.W|RW|WDC_SEC|FDC/HDC Access/Sector Count                    |
$FFFF8606.W|R-|WDC_DMA|DMA Status                  %________ _____DSE |
           |  |       | Data request condition--------------------+|| |
           |  |       | Sector count 0:zero,1:not zero-------------+| |
           |  |       | DMA 0:error,1:no error----------------------+ |
           |  |       | CORRECTED 2026: bit 0 was listed inverted. The|
           |  |       | bit is CLEAR on error and SET when there is no|
           |  |       | error. Per Atari TOS bios/floppy.S and EmuTOS |
           |  |       | bios/dma.h, confirmed by ijor.                |
           |-W|       |DMA Mode                    %_______W FD_SHAA_ |
           |  |       | 0:read,1:write---------------------+ || ||||  |
           |  |       | 0:HDC,1:FDC access-------------------+| ||||  |
           |  |       | DMA 0:on,1:off------------------------+ ||||  |
           |  |       | 0:FDC/HDC register 1:sector count-------+|||  |
           |  |       | 0:FDC,1:HDC access-----------------------+||  |
           |  |       | A1/A0 pin 0:low,1:high--------------------++  |
           |  |       | NOTE: bit 6 is nominally DMA enable/disable   |
           |  |       | but is ignored on STF and STE, so $90 behaves |
           |  |       | the same as $D0.                              |
$FFFF8609.B|RW|WDC_BSH|DMA Base and Counter Hi                        |
$FFFF860B.B|RW|WDC_BSM|DMA Base and Counter Mi                        |
$FFFF860D.B|RW|WDC_BSL|DMA Base and Counter Lo                        |
$FFFF860E.B|RW|WDC_FDN|Frequency and Density control        %______FD |STE,F
           |  |       |Frequency 0:8MHz,1:16MHz--------------------+| |
           |  |       |Density 0:DD,1:HD----------------------------+ |
           |  |       | CORRECTED 2026: was labelled WDC_BSL,         |
           |  |       | duplicating $FFFF860D. Renamed WDC_FDN.       |
===========#==#=======#===============================================#=====
----------------------|DMA SCSI                                       |-----
===========#==#=======#===============================================#=====
$FFFF8701.B|RW|SCS_DA0|DMA Address Pointer (Highest byte)             |TT
$FFFF8703.B|RW|SCS_DA1|DMA Address Pointer (High byte)                |TT
$FFFF8705.B|RW|SCS_DA2|DMA Address Pointer (Low byte)                 |TT
$FFFF8707.B|RW|SCS_DA3|DMA Address Pointer (Lowest byte)              |TT
$FFFF8709.B|RW|SCS_BC0|DMA Byte Counter (Highest byte)                |TT
$FFFF870B.B|RW|SCS_BC1|DMA Byte Counter (High byte)                   |TT
$FFFF870D.B|RW|SCS_BC2|DMA Byte Counter (Low byte)                    |TT
$FFFF870F.B|RW|SCS_BC3|DMA Byte Counter (Lowest byte)                 |TT
$FFFF8710.W|Rw|SCS_DA0|Rest data (High Word)                          |TT
$FFFF8712.W|Rw|SCS_DA0|Rest data (Low Word)                           |TT
           |  |       | CHECK: both Rest data registers carry the     |
           |  |       | label SCS_DA0, which also duplicates the DMA  |
           |  |       | Address Pointer label above. Needs distinct   |
           |  |       | labels.                                       |
$FFFF8714.W|Rw|SCS_CTL|DMA SCSI Control Register   %________ BZ____DW |TT
           |  |       | Bus Error 0:no,1:yes-----------------+|    || |TT
           |  |       | Byte Counter Zero 0:no,1:yes----------+    || |TT
           |  |       | DMA 0:off,1:on-----------------------------+| |TT
           |  |       | DMA 0:read,1:write--------------------------+ |TT
===========#==#=======#===============================================#=====
----------------------|5380 SCSI Drive Controller                     |-----
===========#==#=======#===============================================#=====
$FFFF8781.B|RW|SCS_CDB|Contents of SCSI-Data Buses                    |TT
$FFFF8783.B|RW|SCS_ICR|Init Command Register                          |TT
$FFFF8785.B|RW|SCS_TSR|Transfer Start Register                        |TT
$FFFF8787.B|RW|SCS_TCR|Target Command Register                        |TT
$FFFF8789.B|RW|SCS_BSR|Bus Status Register                            |TT
$FFFF878B.B|RW|SCS_DSR|Device Status Register                         |TT
$FFFF878D.B|RW|SCS_BCD|SCSI-Bus Command Data                          |TT
$FFFF878F.B|RW|SCS_RES|Reset Interrupts,Parity error,Start DMA-Action |TT





Back to Memory Map for Atari ST,STE,TT and Falcon