|
|
5.5 Audio - Register
Falcon Audio Register
****************************************************************************
P S G - S O U N D C H I P AY-3-8910
****************************************************************************
$FFFF8800 [R/-] Read Data
[-/W] Register Selection
$FFFF8801 [R/W] ******
$FFFF8802 [R/W] Write Data
$FFFF8803 [R/W] ******
$FFFF8800 [R/-] 76543210 .......................... PSG Register 14 (Port A)
||||||||
|||||||+-- Sideselect: 0:side 1/1:side 0
||||||+--- Drive A Select: 0:on/1:off
|||||+---- Drive B Select is not connected in FALCON 030
||||+----- Printer Select In
|||+------ DSP Reset: 0:no reset/1:reset
||+------- Strobe Parallelport
|+-------- internal Speaker: 0:on/1:off
+--------- IDE Reset: 0:no reset/1:reset(HD slows down)
NOTE: The PSG-Registers are now fixed at 2 addresses($8800.w/$8802.w).
Accessing the shadowregisters ($8804.w-$8900.w) cause a buserror.
****************************************************************************
A U D I O - S U B S Y S T E M
****************************************************************************
$FFFF8900 [R/W] ____3210 .............................. Sound-DMA-Control Hi
||||
|||| MFP I/O-Port-7 Request
||00-- no request
||01-- after playing a frame
||10-- after recording a frame
||11-- after playing or recording a frame
||
|| MFP Timer-A-Request
00---- no request
01---- after playing a frame
10---- after recording a frame
11---- after playing or recording a frame
$FFFF8901 [R/W] 7_54__10 ................................................ Lo
| || ||
| || |+-- 1: DMA-Play enable
| || +--- 1: DMA-Play frame repeat
| |+------ 1: DMA-Record enable
| +------- 1: DMA-Record frame repeat
+--------- 0: select playframe-adresses
1: select recordfame-adresses
$FFFF8902 [R/W] ******
$FFFF8903 [R/W] 76543210 ............................ Frame-Start-Address Hi
$FFFF8904 [R/W] ******
$FFFF8905 [R/W] 76543210 ................................................ Mi
$FFFF8906 [R/W] ******
$FFFF8907 [R/W] 7654321_ ................................................ Lo
$FFFF8908 [R/W] ******
$FFFF8909 [R/W] 76543210 ...........................Frame-Address-Counter Hi
$FFFF890A [R/W] ******
$FFFF890B [R/W] 76543210 ................................................ Mi
$FFFF890C [R/W] ******
$FFFF890D [R/W] 7654321_ ................................................ Lo
$FFFF890E [R/W] ******
$FFFF890F [R/W] 76543210 .............................. Frame-End-Address Hi
$FFFF8910 [R/W] ******
$FFFF8911 [R/W] 76543210 ................................................ Mi
$FFFF8912 [R/W] ******
$FFFF8913 [R/W] 7654321_ ................................................ Lo
HOW to access the play/record-frame:
You have to set bit 7 of $8901.w to select play- or record-shadowregister,
then access the frame-begin/end-registers! The play- and record-shadow-
register are two seperate registers; they appear only at the same
addresses!
$FFFF8920 [R/W] _654_210 ............................. Sound-Mode-Control Hi
||| |||
||| |00-- play 1 track
||| |01-- play 2 tracks
||| |10-- play 3 tracks
||| |11-- play 4 tracks
||| +---- ??unknown??
|00------ connect track 1 with speaker
|01------ connect track 2 with speaker
|10------ connect track 3 with speaker
|11------ connect track 4 with speaker
+-------- ??unknown??
$FFFF8921 [R/W] 76____10 ................................................ Lo
|| ||
|| 00-- nute condition (on STE: 6258 Hz)
|| 01-- 12517 HZ
|| 10-- 25033 HZ
|| 11-- 50066 HZ
|+-------- 0: 8 Bit
| 1: 16 Bit
+--------- 0: Stereo
1: Mono
$FFFF8922 [R/W] ________
$FFFF8923 [R/W] ________
$FFFF8924 [R/W] 76543210 ??unknown??
$FFFF8925 [R/W] 76543210 ??unknown??
$FFFF8930 [R/W] 76543210 ............................ Source-Device-Clock Hi
||||||||
|||||||| Source-Device: EXT-INP
|||||||+-- Handshaking: 0:on/1:off
|||||++--- Source-Clock
||||+----- ??unknown??
||||
|||| Source-Device: A/D-Converter
|||+------ ??unknown??
||+------- 0: internal 25.175 MHz-Clock
|| 1: extermal Clock
|+-------- set to zero
+--------- ??unknown??
$FFFF8931 [R/W] 76543210 ................................................ Lo
||||||||
|||||||| Source-Device: DMA-PLAY
|||||||+-- Handshaking: 0:on/1:off
|||||++--- Source-Clock
||||+----- 0: if handshaking and destination=DSP-REC
|||| 1: if destination<>DSP-REC
||||
|||| Source-Device: DSP-XMIT
|||+------ Handshaking: 0:on/1:off
|++------- Source-Clock
+--------- 0: Tristate, disconnect DSP from Multiplexer
(if you want to use the external SSI-Port)
1: connect DSP with Multiplexer
Source-Clock: %00: internal 25.175 MHz-Clock
%01: external Clock
%10: intermal 32 MHz-Clock, do not use it for the CODEC
%11: not defined
$FFFF8932 [R/W] 76543210 ...................... Device-Destination-Matrix Hi
||||||||
|||||||| Destination-Device: EXT-OUT
|||||||+-- Handshaking: 0:on/1:off
|||||++--- Source-Device
||||+----- ??unknown??
||||
|||| Destination-Device: D/A-Converter
|||+------ ??unknown??
|++------- Source-Device
+--------- ??unknown??
$FFFF8933 [R/W] 76543210 ................................................ Lo
||||||||
|||||||| Destination-Device: DMA-REC
|||||||+-- Handshaking: 0:on/1:off
|||||++--- Source-Device
||||+----- 0: if handshaking on and source=DSP-XMIT
|||| 1: if source<>DSP-XMIT
||||
|||| Destination-Device: DSP-REC
|||+------ Handshaking: 0:on/1:off
|++------- Source-Device
+--------- 0: Tristate, disconnect DSP from Multiplexer
(if you want to use the external SSI-Port)
1: connect DSP with Multiplexer
Source-Device : %00: DMA-PLAY
%01: DSP-XMIT (DSP send data)
%10: EXT-INP (External Input)
%11: A/D-Converter
$FFFF8934 [R/W] ____3210 ........................... Prescale external Clock
||||
++++-- 0: ??switch to STE-compatible mode??
1-15: samplingrate=Clock/256/(prescalevalue+1))
$FFFF8935 [R/W] ____3210 ........ Prescale internal Clock (25.175 or 32 MHz)
||||
++++-- look above! According to the developer-
|||| documentation you can only use the following
|||| values for the CODEC(A/D- and D/A-Converter):
|||| 0,1,2,3,4,5,7,9,11
0000-- switch to STE-compatible mode
0001-- CLK50K 49170 Hz
0010-- CLK33K 32780 Hz
0011-- CLK25K 24585 Hz
0100-- CLK20K 19668 Hz
0101-- CLK16K 16390 Hz
0110-- CLK14K 14049 Hz (invalid for CODEC)
0111-- CLK12K 12292 Hz
1000-- CLK11K 10927 Hz (invalid for CODEC)
1001-- CLK10K 9834 Hz
1010-- CLK09K 8940 Hz (invalid for CODEC)
1011-- CLK08K 8195 Hz
1100-- CLK07K 7565 Hz (invalid for CODEC)
1101-- CLK07K 7024 Hz (invalid for CODEC)
1110-- CLK06K 6556 Hz (invalid for CODEC)
1111-- CLK06K 6146 HZ (invalid for CODEC)
NOTE: This register is used for both sourceclocks, 25.175 MHz and 32 MHz.
$FFFF8936 [R/W] ____3210 .............................. Track-Record-Control
||||
||00-- record 1 track
||01-- record 2 tracks
||10-- record 3 tracks
||11-- record 4 tracks
++---- ??unknown??
$FFFF8937 [R/W] ____3210 ......................... CODEC-Hardwareadder-Input
|||| (ADDRIN-register)
|||| Source-input of the 16-bit-hardwareadder
||||
|||+-- 1: input from A/D-Converter
||+--- 1: input from Multiplexer
|+---- ??unknown?? (XBIOS-CALL $8C use this bit)
+----- ??unknown??
NOTE: The CODEC-Hardwareadder-Input connects the D/A-Converter with the
multiplexer or the A/D-Converter. It is also possible to connect both.
In this case the 16-bit-Hardwareadder mix the two signals.
$FFFF8938 [R/W] 76543210 ............................... A/D-Converter-Input
|||||||| (ADCINPUT-register)
|||||||+-- 0: input from right MIC-channel
||||||| 1: input from PSG-channel
||||||+--- 0: input from left MIC-channel
|||||| 1: input from PSG-channel
|||||+---- ??unknown?? (XBIOS-CALL $8C use this bit)
+++++----- ??unknown??
$FFFF8939 [R/W] 76543210 .......... Channel-Input-Amplifier in +1.5 dB steps
|||||||| (GAIN-register)
||||||||
||||++++-- 0-15: Gain right channel (RTGAIN)
++++------ 0-15: Gain of left channel (LTGAIN)
$FFFF893A [R/W] 76543210 ...... Channel-Output-Amplifier in -1.5 dB-steps Hi
|||||||| (ATTEN-register)
||||||||
||||++++-- 0-15: Attenuation of feft channal(LTATTEN)
++++------ ??unknown??
$FFFF893B [R/W] 76543210 ................................................ Lo
||||||||
||||++++-- ??unknown??
++++------ 0-15: Attenuation of right channel(RTATTEN)
$FFFF893C [R/W] ______10 ................................... CODEC-Status Hi
||
|+-- 1: right channel-overflow (read only)
+--- 1: left channel-overflow (read only)
$FFFF893D [R/W] 7654____ ................................................ Lo
||||
|||+------ ??unknown??
||+------- ??unknown??
|+-------- ??unknown?? (read only)
+--------- ??unknown?? (read only)
$FFFF893E [R/W] ******
$FFFF893F [R/W] ******
$FFFF8940 [R/W] _____210 .............................. GPx-Datadirection Hi
|||
+++-- ??unknown??
$FFFF8941 [R/W] ____3210 ................................................ Lo
||||
|+++-- bidirectional Dataportpath of the GP0-
| GP2-Pins on the DSP-Connector
| 0: Pin set to Input (read data from GPx)
| 1: Pin set to Output (write data to GPx)
| (normally %111)
+----- ??unknown??
$FFFF8942 [R/W] ____3210 ................................... GPx-Dataport Hi
||||
|+++-- Shadow-I/O-Data-Bits of $FFFF8943
+----- ??unknown??
$FFFF8943 [R/W] _____210 ................................................ Lo
|||
+++-- Input/Output-Data-Bits of the
GP0-GP2-Pins on the DSP-Connector. This
Pins can be used for userdef. operations.
############################################################################
################## research and documentation by AURA ######################
############################################################################
Copyright © Robert Schaffner (support@doitarchive.de) Letzte Aktualisierung am 23. Dezember 2003 |
|
|