Stream Registers
$2188 : Stream 1 - C1L2 - Low 5-bit Logical Channel + Data Group ID (R/W)
$2189 : Stream 1 - C1L1 - High 6-bit Logical Channel (R/W)
$218A : Stream 1 - PFCNT1SEL - Packet Prefix Counter (R)
$218B : Stream 1 - PFIFORD - Packet Prefix Data (R/W)
$218C : Stream 1 - DFIFORD - Packet Data (R/W)
$218D : Stream 1 - ORERRSEL - Packet Prefix OR Gate (R)
$218E : Stream 2 - C2L2 - Low 5-bit Logical Channel + Data Group ID (R/W)
$218F : Stream 2 - C2L1 - High 6-bit Logical Channel (R/W)
$2190 : Stream 2 - PFCNT2SEL - Packet Prefix Counter (R)
$2191 : Stream 2 - PFIFORD - Packet Prefix Data (R/W)
$2192 : Stream 2 - DFIFORD - Packet Data (R/W)
$2193 : Stream 2 - ORERRSEL - Packet Prefix OR Gate (R)
Other Registers
$2194 : 4-bit Satellaview Settings (R/W)
bit0: Enables Streams and $2199
bit1: Unknown
bit2/3: ACCESS LED Behavior
00 = LED Always OFF
01 = LED ON when EXLED pin is high (or disconnected)
10 = LED ON when EXLED pin is low
11 = LED Always ON
$2195 : Unknown (?)
Always sends back 0x00.
$2196 : Satellaview Status (R)
bit0: Toggles on/off when $2194.0 or 1 is set.
bit1: Tested for bitstream cable (1 = unplugged)
bit2: Always 0
bit3: Toggles on/off when $2194.0 or 1 is set.
bit4: Always 1
bit5: Always 0
bit6: Always 0
bit7: Always 0
$2197 : Satellaview General Purpose Output Control (R/W)
This register sends back what was written on it like RAM.
On reset, it's initialized as 0x80.
bit7: If set, mute Soundlink Radio.
bit6: DCD-BSA Pin 89
bit5: DCD-BSA Pin 88
bit4: DCD-BSA Pin 87
bit3: DCD-BSA Pin 86
bit2: DCD-BSA Pin 84
bit1: Satellaview EXT Pin 33
bit0: Satellaview EXT Pin 34
$2198 : Serial I/O - SPR-BSA EEPROM (R/W)
Uses Serial Communication. Chip is S-2913CR, a 16-bit Serial EEPROM.
Input : Command that could be found in datasheet below.
Data in EEPROM: "BSA00???????" (ASCII) followed by a checksum byte (all ASCII bytes added together) at sent offset (ASCII).
??????? being the Serial Number under the Satellaview.
It sends the same byte two times before going to the next one.
After the checksum byte, and any invalid input sent, it outputs 0xFF by default.
The first half of the data, which contains the Serial Number, is protected.
$2199 : Serial I/O - MN88821 (R/W)
Uses Serial Communication.
Enabled when $2194.0 is on.
Input : Send 16-bit word comprised of DDAA (DD = Data, AA = Register Address).
(AA is sent first, then DD second)
Output: Outputs 0xE00000 if enabled.
If not, it sends back 0xFFFFFF (always high).
Internal Registers:
r00 = Cxxxxxxx (bit)
C = Select Audio Channel (Mode A Stereo) [Tested on real hardware]
0 = Audio Channel 1 & 2
1 = Audio Channel 3 & 4
BS-X / Derby Stallion / Itoi inits $2199 at boot by sending these:
0008
8800
8001
0402 ($0480 = 1152?)
0003
0804 ($0800 = 2048? Amount of bits in a NTSC digital audio/data frame?)
0005
7006 ($70 = 112? Half of the minimum 224 bits of data (or check bits in the frame?)
BS-X can also send these depending on the Town Data:
8800 = Use Audio Channel 3 & 4 (Stereo) in Mode A
0000 = Use Audio Channel 1 & 2 (Stereo) in Mode A
$219A : Always 0x10
$219B : Always 0x00
$219C : Always 0x00
$219D : Always 0x00
$219E : Always 0x00
$219F : Always 0x00
$21A0-21A7 : EXT Port Access (IDE Chip Select 0)
$21A8-21AF : EXT Port Access (IDE Chip Select 1)
S-2913CR Datasheet or S-2913CR Datasheet from datasheetarchive.com