Sega Saturn CD interface:
20 Pin version:

Pin Description Source IC Connection
20 MPU Reset sat p17 64337
19 GND    
18 CD STATUS DATA cd p60 64337
17 Command DATA sat p59 64337
16 Output Enable cd p63 64337
15 Clock sat p58 64337
14 Start Strobe cd p64 64337
13 GND    
12 8.3 MHZ Clock cd p16 HD4923/p15 64337
11 GND    
10 DATA 16 bit audio endian swapped without subcode data cd p19 HD4923
9 Clock cd p20 HD4923
8 L/R cd p21 HD4923
7 GND    
6 ??? parity error cd? p26 HD4923
5 MPX L/R multiplex strobe cd p29 HD4923
4 CKX 2.12 MHZ cd p27 HD4923
3 DAS (data) cd p28 HD4923
2 GND    
1 LED Activity light cd p48 64337


Transaction is initiated by the cd drive by asserting Start then asserting Enable.
Enable is deasserted after each 8 bits are transferred. Enable is low for ~175us.
During the transaction the cd drive provides its current status on the "status data" line while command bytes are sent on the "saturn command data" line.
Data is valid at the rising edge of the clock.
Bytes are sent least significant bit first.



STATUS DATA (LSBit first):
--Dervied mostly of Q subcode data
Current CD operations:
--IDLE: 0x46
--Stopped: 0x12
--seeking: 0x22
--Lid Open:0x80
--Read DATA Sectors: 0x36
--reading audio data: 0x34
--0x30 unkown - error reading audio sector?
--seek security ring: 0xB2/0xB6

Byte Number Description
1 Current CD operation
2 Q subcode (4 bits CONTROL|4bits Mode)
3 Track Number
4 Index Field
5 MIN
6 SEC
7 FRAME
8 ZERO field (but 0x04 usually)
9 Absolute MIN
10 Absolute SEC
11 Absolute FRAME
12 parity= NOT(sum of bytes 1-11)
13 00

Command DATA (LSBit first):
00=NOP
02,09=Seek
03=read TOC
04=Stop DISC
06=read data at LBA
--if lba=0 and byte 10=0 then resume play at current offset
08=stop pending commands (pause)
0A=scan forward audio cd
0B=scan backwards

Byte number Description
1 command
2 LBA-MSB
3 LBA
4 LBA-LSB
5 00
6 00
7 00
8 00
9 00
10 00
11 00=NOP, 02=command
12 parity= NOT(sum of bytes 1-11)
13 00

Timing Diagrams for audio and sector data:


MISC INFO:

files directory

raw modchip data with subcode
audio part of modchip data only
raw captured sector data during real disc authenticate
text file with modchip command/status log and notes

homebrew
modchip:
modchip schematics
MODCHIP VHDL
CD_emulator/modchip pics,2
sega cd patent describes how the security protection works and how the logo is printed using sector data


security ring data(as generated by the modchip):
0000: 00 FF FF FF-FF FF FF FF-FF FF FF 00-71 82 02 62 ............q..b
0010: 00 28 28 1E-80 08 48 06-A0 66 A0 66-A8 59 A8 59 .((...H..f.f.Y.Y
0020: A8 59 A8 59-A8 59 A8 59-A8 59 A8 59-A8 59 A8 59 .Y.Y.Y.Y.Y.Y.Y.Y

.... repeats, ends with:
0910: A8 59 A8 59-A8 59 A8 59-A8 59 A8 59-A8 59 A8 59 .Y.Y.Y.Y.Y.Y.Y.Y
0920: A8 59 A8 59-A8 59 A8 59-A8 59 A8 59-72 DD E5 99 .Y.Y.Y.Y.Y.Yr...


The security ring above is how it appears when it comes off the disc or modchip.
Bytes 12 thru 2352 of a sector in mode 1,2 etc data is scrambled(xor) with LFSR, so to record your own security like the above you need to
XOR it before you write it to your ISO or bin/cue file or whatever.
A dump of real security ring data.(0x59 is background data, 0xA8 is logo data, check ecma-130.pdf for efm bit patterns)


F/B sync byte
start of sector=40 C0 C0 C0 C0 C0
rest of sector=00 80 80 80 80 80
Sub code byte:
same 8 bit pattern is repeated for 1 frame : starts at R1 and wraps around into next frame R0
so you should only see patterns that are multiple of 6
(Appears as though the saturn ignores all F/Bsync and subcode data,since that info is provided in the status data)
example subcode bytes:
00F0: 40 40 40 00-00 00 00 00-00 40 40 40-40 40 40 40 @@@......@@@@@@@
0100: 40 40 40 40-40 40 40 40-40 40 40 00-00 00 00 00 @@@@@@@@@@@.....
0110: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00 ................
0120: 00 00 00 40-40 40 40 40-40 9F 9F 9F-9F 9F 9F FD ...@@@@@@.......
0130: FD FD FD FD-FD 00 00 00-00 00 00 40-40 40 40 40 ...........@@@@@
0140: 40 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00 @...............


21 Pin version (unconfirmed):

Pin Description Source IC Connection
21 8mhz clock    
20 GND    
19 CD STATUS DATA    
18 Command DATA    
17 Output Enable    
16 Start Strobe    
15 Clock    
14 GND    
13      
12      
11      
10 GND    
9 MPX L/R multiplex strobe    
8 Clock    
7 DAS (data)    
6 GND    
5      
4      
3 LED activity light    
2      
1