Confidential Draft
3/7/00
CS4281 Programming Manual
128
DS308PRM1
• Host reading DLSR clears all TC bits in
register.
The All Mask register is read-write, similar to the
82357 DMA controller. In the original 82C37A,
the All Mask register is write-only. The CS4281
does not support write-trapping this register since
the register is shared by all legacy DMA
controllers. If
IOTCC.C4WSE
is set, the CS4281
snoops writes to 0Fh and multiplexes
the data into the CS4281’s
DCRn.MSK
bit (bit 0), as
illustrated in Figure 42.
If
IOTCC.C4RE
is set, the CS4281 traps reads from
0Fh and causes the following sequence.
• Host tries to read 0Fh - trapped by the CS4281
• CS4281 forces host to retry read cycle
• CS4281 acquires bus and reads legacy/real
8237 location 0Fh
• CS4281 stores legacy 0Fh data in DLMR
register
• Legacy bit in DLMR is read-only; therefore,
writing this register combines host status
with CS4821 DMA status.
• Host retries the read of 0Fh and the CS4281
redirect to a read of DLMR register
The Table 9 lists the legacy upper register set and
the affect of traps to I/O legacy addresses.
13.4.1
CCLS Unsupported Legacy DMA
Registers
The Command register at location 08h is not
supported. This write-only register
enables/disables the entire DMA chip, sets
priority, and DRQ/DACK polarity. No game
should ever hit this register since it affects the
operation of all the DMA engines. Command is
setup by BIOS at boot time and not used
thereafter.
The Request register at location 09h is not
supported. This write-only register forces the
request for a particular engine active. This register
uses the lower two data bits to determine the DMA
engine - similar to the Mode register. To our
knowledge, games don’t use this bit since the
Sound Blaster engine is synchronized with the
legacy DMA controller using DRQ/DACK
signals. If a game would use this register, the
counts in Sound Blaster verses the DMA counts
would have to be tweaked since Request causes
the legacy DMA to do a transfer that the SB
hardware didn’t request.
The Master Clear register at location 0Dh is not
supported. This write-only register forces all four
legacy DMA engines to respond as if the bus reset
(power up) pin was active. No game should ever
hit this register since it affects the operation of all
the engines.
IOTCR.DMA1 (bit 1)
Snooped write
0Fh
IOTCR.DMA0 (bit 0)
MSK0
MSK1
DCRn
0
7
0
7
Register Select
(includes IOTCR.DMA[1:0]
and CCLS enabled)
MSK
MSK2
MSK3
00
01
10
11
Figure 42. CCLS All-Mask Register Conceptual Logic
D
ra
ft
Содержание CS4281
Страница 8: ...Confidential Draft 3 7 00 CS4281 Programming Manual 8 DS308PRM1 D r a f t...
Страница 12: ...Confidential Draft 3 7 00 CS4281 Programming Manual 12 DS308PRM1 D r a f t...
Страница 24: ...Confidential Draft 3 7 00 CS4281 Programming Manual 24 DS308PRM1 D r a f t...
Страница 34: ...Confidential Draft 3 7 00 CS4281 Programming Manual 34 DS308PRM1 D r a f t...
Страница 44: ...Confidential Draft 3 7 00 CS4281 Programming Manual 44 DS308PRM1 D r a f t...
Страница 114: ...Confidential Draft 3 7 00 CS4281 Programming Manual 114 DS308PRM1 D r a f t...
Страница 192: ...Confidential Draft 3 7 00 CS4281 Programming Manual 192 DS308PRM1 D r a f t...