IO Registers

From MegaDrive Development Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Address Name Read Write
$A10001 REG_VERSION
Bit 7 6 5 4 3 2 1 0
Def 0 : Domestic (Japanese model)

1 : Oversea (US or European model)

0 : NTSC Clock (7.67Mhz)

1 : PAL Clock (7.60Mhz)

0 : Expansion unit connected

1 : Expansion unit not connected

 ? Version number
?
$A10003 REG_DATA1 Read the status of each pin (direction is controller by REG_CTRL1)
Bit 7 6 5 4 3 2 1 0
Def PD7 PD6PD5PD4PD3PD2PD1PD0
Set the status of each pin (ignored for input pins)
Bit 7 6 5 4 3 2 1 0
Def PD7 PD6PD5PD4PD3PD2PD1PD0
$A10005 REG_DATA2 Status of each pin (direction is controller by REG_CTRL2)
Bit 7 6 5 4 3 2 1 0
Def PD7 PD6PD5PD4PD3PD2PD1PD0
Set the status of each pin (ignored for input pins)
Bit 7 6 5 4 3 2 1 0
Def PD7 PD6PD5PD4PD3PD2PD1PD0
$A10007 REG_DATA3 Status of each pin (direction is controller by REG_CTRL3)
Bit 7 6 5 4 3 2 1 0
Def PD7 PD6PD5PD4PD3PD2PD1PD0
Set the status of each pin (ignored for input pins)
Bit 7 6 5 4 3 2 1 0
Def PD7 PD6PD5PD4PD3PD2PD1PD0
$A10009 REG_CTRL1 Read the direction of the pins
Bit 7 6 5 4 3 2 1 0
Def INT PC6PC5PC4PC3PC2PC1PC0
Select the direction of the pins
Bit 7 6 5 4 3 2 1 0
Def INT

0 : TH-INT Prohibited

1 : TH-INT Allowed

PC6

0 : input

1 : output

PC5

0 : input

1 : output

PC4

0 : input

1 : output

PC3

0 : input

1 : output

PC2

0 : input

1 : output

PC1

0 : input

1 : output

PC0

0 : input

1 : output

$A1000B REG_CTRL2 Read the direction of the pins
Bit 7 6 5 4 3 2 1 0
Def INT PC6PC5PC4PC3PC2PC1PC0
Select the direction of the pin
Bit 7 6 5 4 3 2 1 0
Def INT

0 : TH-INT Prohibited

1 : TH-INT Allowed

PC6

0 : input

1 : output

PC5

0 : input

1 : output

PC4

0 : input

1 : output

PC3

0 : input

1 : output

PC2

0 : input

1 : output

PC1

0 : input

1 : output

PC0

0 : input

1 : output

$A1000D REG_CTRL3 Read the direction of the pins
Bit 7 6 5 4 3 2 1 0
Def INT PC6PC5PC4PC3PC2PC1PC0
Select the direction of the pin
Bit 7 6 5 4 3 2 1 0
Def INT

0 : TH-INT Prohibited

1 : TH-INT Allowed

PC6

0 : input

1 : output

PC5

0 : input

1 : output

PC4

0 : input

1 : output

PC3

0 : input

1 : output

PC2

0 : input

1 : output

PC1

0 : input

1 : output

PC0

0 : input

1 : output

$A1000F REG_TXDATA1
$A10011 REG_RXDATA1
$A10013 REG_S_CTRL1
Bit 7 6 5 4 3 2 1 0
Def ? 0 : OK

1 : Rxd Error

0 : OK

1 : Rxd Ready

0 : OK

1 : TxdFull

Bit 7 6 5 4 3 2 1 0
Def 0: 4800 bps

1: 2400 bps

2: 1200 bps

3: 300 bps

0 : Parallel mode

1 : Serial in

0 : Parallel mode

1 : Serial out

0 : Rxd Ready - Interrupt Prohibited

1 : Rxd Ready - Interrupt Allowed

?
$A10015 REG_TXDATA2
$A10017 REG_RXDATA2
$A10019 REG_S_CTRL2
Bit 7 6 5 4 3 2 1 0
Def ? 0 : OK

1 : Rxd Error

0 : OK

1 : Rxd Ready

0 : OK

1 : TxdFull

Bit 7 6 5 4 3 2 1 0
Def 0: 4800 bps

1: 2400 bps

2: 1200 bps

3: 300 bps

0 : Parallel mode

1 : Serial in

0 : Parallel mode

1 : Serial out

0 : Rxd Ready - Interrupt Prohibited

1 : Rxd Ready - Interrupt Allowed

?
$A1001B REG_TXDATA3
$A1001D REG_RXDATA3
$A1001F REG_S_CTRL3
Bit 7 6 5 4 3 2 1 0
Def ? 0 : OK

1 : Rxd Error

0 : OK

1 : Rxd Ready

0 : OK

1 : TxdFull

Bit 7 6 5 4 3 2 1 0
Def 0: 4800 bps

1: 2400 bps

2: 1200 bps

3: 300 bps

0 : Parallel mode

1 : Serial in

0 : Parallel mode

1 : Serial out

0 : Rxd Ready - Interrupt Prohibited

1 : Rxd Ready - Interrupt Allowed

?
$A14000 REG_LOCK ? Writing 'SEGA' (0x53454741) unlock the VDP.

Writing something else lock the VDP.

$A14101 REG_TMSS ?
Bit 7 6 5 4 3 2 1 0
Def ? 0 : Disable cartridge and enable TMSS rom

1 : Disable TMSS rom and enable cartridge