When using this document, keep the following in mind:ntialGeneral Notice

1. This document is confidential. By accepting this document you acknowledge that you are boundby the terms set forth in the non-disclosure and confidentiality agreement signed separately and /inthe possession of SEGA. If you have not signed such a non-disclosure agreement, please contact
SEGA immediately and return this document to SEGA.

de2. This document may include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new versions of the
document. SEGA may make improvements and/or changes in the product(s) and/or the
program(s) described in this document at any time.

nfi

3. No one is permitted to reproduce or duplicate, in any form, the whole or part of this document
without SEGA’S written permission. Request for copies of this document and for technicalinformation about SEGA products must be made to your authorized SEGA Technical Services
representative.

Co

4. No license is granted by implication or otherwise under any patents, copyrights, trademarks, orother intellectual property rights of SEGA Enterprises, Ltd., SEGA of America, Inc., or any third
party.
5. Software, circuitry, and other examples described herein are meant merely to indicate the characteristics and performance of SEGA’s products. SEGA assumes no responsibility for any intellectual
property claims or other problems that may result from applications based on the examples
describe herein.

GA

6. It is possible that this document may contain reference to, or information about, SEGA products(development hardware/software) or services that are not provided in countries other than Japan.
Such references/information must not be construed to mean that SEGA intends to provide such
SEGA products or services in countries other than Japan. Any reference of a SEGA licensed product/program in this document is not intended to state or simply that you can use only SEGA’slicensed products/programs. Any functionally equivalent hardware/software can be used instead.
7. SEGA will not be held responsible for any damage to the user that may result from accidents or any
other reasons during operation of the user’s equipment, or programs according to this document.

SE

NOTE: A reader's comment/correction form is provided with thisdocument. Please address comments to :(6/27/95- 002)

SEGA of America, Inc., Developer Technical Support (att. Evelyn Merritt)
150 Shoreline Drive, Redwood City, CA 94065
SEGA may use or distribute whatever information you supply in any way
it believes appropriate without incurring any obligation to you.

SE

GA

Co

nfi

de

nti
al

TM

SMPC
User's ManualDoc. # ST-169-R1-072694© 1994 SEGA. All Rights Reserved.

nti
al

READER CORRECTION/COMMENT SHEETKeep us updated!
If you should come across any incorrect or outdated information while reading through the attacheddocument, or come up with any questions or comments, please let us know so that we can make therequired changes in subsequent revisions. Simply fill out all information below and return this form to
the Developer Technical Support Manager at the address below. Please make more copies of this form if
more space is needed. Thank you.
General Information:

Phone

Document number

ST-169-R1-072694

Document nameSMPC User's ManualdeYour Name

Date

Corrections:
Correction

nfi

pg. #

GA

Co

Chpt.

SE

Questions/comments:

Fax:

Where to send your corrections:(415) 802-1440
Attn: Sr. Coordinator,
Technical Publications Group

Mail:

SEGA OF AMERICA
Attn: Sr. Coordinator,
Technical Publications Group
130 Shoreline Dr.
Redwood City, CA 94065

Explanation of Terminology
The terminology used in this manual is explained below.
SMPC (System Manager & Peripheral Control)ntialIntroduction

Controls peripheral equipment interfaces, such as SATURN system reset control, control PAD,etc.
The SMPC also has RTC (Real Time Clock) functions that can be backed up with a battery,making it possible to set and acquire calendar time.

de

SCSP (Saturn Custom Sound Processor)

Sound source LSI for multi-function games that integrate PCM sound source and sound DSP.
DSP (Digital Signal Processor)

VDP1 (Video Display Processor 1)

nfi

High-speed calculation circuit used primarily for calculations (multiplication and addition).
The LSI that controls the drawing of sprites and polygons. VRAM and a frame buffer areconnected to the VDP1. These use the draw commands transferred to the VRAM from the CPU
and execute drawing in the frame buffer. Then the draw data from the frame buffer is transferred to the VDP2 and displayed on a display device at the request from the VDP2.

Co

VDP2 (Video Display Processor 2)

Contains scroll screen control functions and priority functions.
PLL (Phase Locked Loop)SEGA

All of the clock types (CPU, system control, image draw/display, sound, etc., clock generator)of the SATURN system.

iSCU (System Control Unit)ntialContains a CPU I/F, A-Bus I/F, and B-Bus I/F controller and smoothly transfers data between
the various buses. The SCU also contains an internal DMA controller, interrupt controller, and
DSP to perform DMA control, interrupt control, and high-speed calculation processing.
Main CPU

Contains a 32-bit RISC CPU SH-2 that controls the entire system.
MC68EC000

A sound control CPU with a SCSP that has SCSP control functions.
V-BLANK-INde

One of the three types of blanking interrupts. V-BLANK-IN shows the screen display end
timing.
V-BLANK-OUT

nfi

One of the three types of blanking interrupts. V-BLANK-OUT shows the screen display starttiming.
H-BLANK-IN

One of the three types of blanking interrupts. H-BLANK-IN shows the display end timing of
one line.
Peripheral

SE

GA

Co

Peripheral equipment connected to SATURN, such as control PAD, mouse, and keyboard.

ii

BinaryntialSymbols Used in this Manual
The following symbols are used in this manual.
Shown by a “B” placed at the end. For example, 100B. When only 1 bit is used, however, the“B” is abbreviated.
HexadecimalShown by an “H” at the end. For example, 00H or FF H.
Units

de

Shows that 1 KB is 1,024 bytes. Thus, 1 MB is 1,048,576 bytes.
MSB and LSB

In the structure of bytes and words, the left is the Most Significant Bit (MSB) and the right is
the Least Significant Bit (LSB).
Undefined Bit(R)

Signifies a read dedicated register.
(W)

(R/W)

Co

Signifies a write dedicated register.

nfi

Undefined bits in the sound source register or DSP register are shown by “—.”Signifies a register in which both reading and writing are possible.
BCD

SE

GA

Binary Coded Decimal.

iii

Table of ContentsntialIntroduction ............................................................................................................................... (i)Explanation of Terminology ................................................................................................ (i)Symbols Used in this Manual ............................................................................................ (iii)
Table of Contents .................................................................................................................... (iv)
List of Figures .................................................................................................................... (v)List of Tables .................................................................................................................... (vi)deSection 1 Overview ................................................................................................................... 1
1.1 System Configuration ................................................................................................... 2
1.2 SH-2 Interface .............................................................................................................. 5nfi

Section 2 SMPC Commands ................................................................................................... 11
2.1 SMPC Command List ................................................................................................ 12
2.2 Command Issue ......................................................................................................... 13
2.3 Resetable System Management Commands ............................................................ 21
2.4 Non-Resetable System Management Commands..................................................... 35
2.5 RTC Commands ........................................................................................................ 45

Co

Section 3 Peripheral Control .................................................................................................. 47
3.1 Peripheral Control Mode ............................................................................................ 48
3.2 SATURN Peripheral Standard Formats ..................................................................... 76
3.3 Support Peripheral Data Format in SMPC Control Mode ...........................................81
3.4 Support Peripheral Data Format in SH-2 Direct Mode................................................86SE

GA

Index ........................................................................................................................................ 104

iv

nti
al

List of Figures
Section 1 Overview
Figure 1.1
SMPC System Configuration ........................................................................ 2
Figure 1.2
Standard Digital PAD for SATURN ................................................................ 4
Figure 1.3
SH-2 Interface Register Address Map........................................................... 5
Figure 1.4
Parallel I/O Register Address Map ................................................................ 7

deSection 2 SMPC Commands
Figure 2.1
Type A Command Flow ............................................................................... 14
Figure 2.2
Type B Command Flow ............................................................................... 14
Figure 2.3
Type C Command Flow ............................................................................... 15
Figure 2.4
Type D Command Flow ............................................................................... 16
Figure 2.5
INTBACK Command Issue Timing .............................................................. 18
Figure 2.6
INTBACK Command Issue Timing After SYSRES,CKCHG320, CKCHG352 Command Execution ...........................................18
Figure 2.7
Issue of Other Commands .......................................................................... 19

SE

GA

Co

nfi

Section 3 Peripheral Control
Figure 3.1
SMPC Control Mode Block Diagram ........................................................... 48
Figure 3.2
SMPC Control Mode Setting Example ........................................................ 49
Figure 3.3
All Peripheral Data Acquisition Sequence ................................................... 51
Figure 3.4
Peripheral Data Acquisition Cancel Sequence Due to Break Request ........ 52
Figure 3.5
Overview of Peripheral Data Collection Time Optimization.......................... 55
Figure 3.6
IREG0 (During INTBACK Command Execution) ......................................... 58
Figure 3.7
IREG0 (During Continue and Break Requests) ...........................................58
Figure 3.8
IREG1.......................................................................................................... 59
Figure 3.9
IREG2.......................................................................................................... 60
Figure 3.10 Result Parameter Standard Configuration Acquired
Using INTBACK Command ......................................................................... 62
Figure 3.11 Result Parameter Configuration when
One Port Is 0 Byte Mode ............................................................................. 63
Figure 3.12 Peripheral Data Configuration ..................................................................... 65
Figure 3.13 Peripheral Control Status ............................................................................ 66
Figure 3.14 Port Status Configuration ........................................................................... 67
Figure 3.15 SATURN Peripheral ID Configuration ......................................................... 69
Figure 3.16 Peripheral Data Configuration 1 .................................................................. 70
Figure 3.17 Peripheral Data Configuration 2 .................................................................. 71
Figure 3.18 Peripheral Data Configuration 3 .................................................................. 71
Figure 3.19 SATURN Peripheral ID when Tap Unconnected ..........................................73
Figure 3.20 SATURN Peripheral ID when Tap Unknown ............................................... 73
Figure 3.21 SH-2 Direct Mode Block Diagram ............................................................... 74
Figure 3.22 SH-2 Direct Mode Setting Example ............................................................ 75v

List of Tablesnti
alSection 1 Overview
Table 1.1
Initialization Status During Power On ............................................................. 3
Table 1.2
SMPC Functions ............................................................................................. 3
Table 1.3
DDR Functions ............................................................................................... 7
Table 1.4
IOSEL Functions ............................................................................................ 8
Table 1.5
EXLE Functions .............................................................................................. 9deSection 2 SMPC Commands
Table 2.1
Resetable System Management Commands ................................................12
Table 2.2
Non-Resetable System Management Commands ........................................12
Table 2.3
RTC Commands ........................................................................................... 12
Table 2.4
Command Issue Types ................................................................................. 13
Table 2.5
SH-2 Command Issue Limitations ................................................................ 20

SE

GA

Co

nfi

Section 3 Peripheral Control
Table 3.1
Parallel I/O Register Default Values During Power On..................................49
Table 3.2
Continue and Break Issue Conditions .......................................................... 50
Table 3.3
Example Acquisition Command Parameter Setting
When Only Peripheral Data Is Required ...................................................... 54
Table 3.4
Command Parameter Setting Conditions andPeripheral Data Configuration ...................................................................... 64
Table 3.5
Relation Between the Number of Connections and Peripherals ...................67
Table 3.6
Relation Between Connected Peripherals and Multitap ID ...........................68
Table 3.7
Multitap ID and Number of Connections....................................................... 68
Table 3.8
Combinations of Peripheral Data Size and Port Mode ..................................70
Table 3.9
Combinations of Peripheral Data Size and Port Mode ..................................73
Table 3.10 SATURN Digital Device Standard Format .................................................... 76
Table 3.11 SATURN Analog Device Standard Format ................................................... 77
Table 3.12 SATURN Pointing Device Standard Format ................................................. 78
Table 3.13 SATURN Keyboard Device Standard Format ................................................79
Table 3.14 Mega Drive 3-Button PAD Data Format in SMPC Control Mode...................81
Table 3.15 Mega Drive 6-Button PAD Data Format in SMPC Control Mode...................81
Table 3.16 SATURN Mouse Data Format in SMPC Control Mode .................................82
Table 3.17 SEGA Tap Port Status in SMPC Control Mode .............................................82
Table 3.18 SATURN Standard PAD Data Format in SMPC Control Mode .....................82
Table 3.19 SATURN Analog Joystick Data Format in SMPC Control Mode ...................83
Table 3.20 SATURN Keyboard Data Format in SMPC Control Mode .............................83
Table 3.21 SATURN 6P Multitap Port Status ................................................................. 85
Table 3.22 Relationship Between Port Bit Number and Port Bit Name ...........................86
Table 3.23 Port Direction Register Setting Value During Mega Drive
Peripheral ID Acquisition .............................................................................. 87
Table 3.24 Mega Drive Peripheral ID for Each Peripheral ..............................................88
Table 3.25 Mega Drive 3-Button PAD Data Format for SH-2 Direct Mode ......................90
Table 3.26 Mega Drive 6-Button PAD Data Format for SH-2 Direct Mode ......................90
Table 3.27 Data Format During SATURN Mouse Power On Reset forSH-2 Direct Mode ......................................................................................... 91
Table 3.28 Data Format During SATURN Mouse Reset for SH-2 Direct Mode .............. 92

vi

nti
al

Data Format During SATURN Mouse Data Request for SH-2 Direct Mode ....... 93
Data Format During SEGA Tap Power On Reset for SH-2 Direct Mode ............ 94
Data Format During SEGA Tap Data Request for SH-2 Direct Mode ................ 95
Connected Peripherals and ID ........................................................................... 95
Mega Drive 3-Button PAD Data Format During Connection to SEGA Tap ......... 96
Mega Drive 6-Button PAD Data Format During Connection to SEGA Tap ......... 96
SEGA Mouse Data Format During Connection to SEGA Tap ............................ 96
SATURN Standard PAD Data Format for SH-2 Direct Mode ............................. 97
SATURN Analog Joystick Data Format for SH-2 Direct Mode ........................... 98
SATURN Keyboard Data Format for SH-2 Direct Mode ................................... 100
SATURN 6P Multitap Data Format for SH-2 Direct Mode ................................ 103

SE

GA

Co

nfi

de

Table 3.29
Table 3.30
Table 3.31
Table 3.32
Table 3.33
Table 3.34
Table 3.35
Table 3.36
Table 3.37
Table 3.38
Table 3.39

vii

nti
al

SE

GA

Co

nfi

de

Section 1 Overview

SMPC User's Manual

Section 1 Contents
1.1 System Configuration.................................... 2
Functions ....................................................... 3
PAD ................................................................ 4
1.2 SH-2 Interface ............................................... 5
SH-2 Interface Registers ............................... 5
Parallel I/O Registers .................................... 7

1

System Configuration

nti
al

1.1

The SMPC manages SATURN system reset control when the power is turned on and
NMI requests to the master SH-2 when the reset button is pushed. In addition,commands from SH-2 turn each LSI on and off, sets and acquires calendar time, andcollects data from peripherals. Also, the clock change command switches the horizontal resolution to and from 320 dots and 352 dots.

SMPC

Data
Bus

de

Control Address
Bus
Bus

CDRES

SH I/F

Address
BufferIOSEL

To CD Block

MSHRES
MSHNMI

MSH-2

Data
Buffernfi

SSHRESRES

SSHNMI

SNDRESNMISYSRES

RES

Co

4-bit CPU
Core

I/O

Peripheral

SSH-2

VDP1

NMI

DOTSEL

I/O

Peripheral

RES

VDP2

GA

RES

SCSP

SE

SCU

2

RES

MC68EC000
RES

Figure 1.1 SMPC System Configuration

PLL

nti
al

The SMPC has two sets of 7-bit parallel I/O ports. Access to I/O ports is controlled
by the SMPC’s internal firmware and there are two access methods that can be selected: the SMPC control mode which outputs collected data to the SMPC output
register (OREG), and the SH-2 direct mode which has direct access from the SH-2.
For details regarding the SMPC control mode and SH-2 direct mode, refer to Section 3.
During power on, the SATURN internal units are initialized as shown in Table 1.1.
Table 1.1 Initialization Status During Power On

Description
A reset enters the sound CPU. Output by a power onvector by the SNDON command.
VDP1, VDP2, SCU, SCSP A status where access from the SH-2 is possible.
ON Status
Slave SH OFF Status
A reset enters the slave SH-2. Output by a power onvector by the SSHON command.
DOT SEL OFF Status
The PLL oscillation frequency is in the 320 mode
(NTSC: 26.8741 MHz, PAL: 26.6875 MHz) and theVDP1, VDP2 and SH-2 are run at this frequency.
Changed to run in 352 mode (NTSC: 28.6364 MHz,
PAL: 28.4375 MHz) by the CKCHG352 command.
CD Block ON Status
A status where access from the SH-2 is possible.

nfi

de

StatusSound CPU OFF Status

Co

Functions
The SMPC has three major functions: Real Time Clock (RTC), System Manager (SM),and Peripheral Control (PC).
The SMPC’s main functions are shown in Table 1.2.
Table 1.2 SMPC Functions
RTC(Real Time Clock)

GA

SM(System Management)

SE

PC(Peripheral Control)

SMPC User's Manual• Time setting and acquisition from SH-2.
• Automatic update of date, day, time
(Battery backup is possible when main power off)
• Sound CPU on and off• Master SH-2 and slave SH-2 on and off• System reset control• Clock switching (PLL switching)• Power on reset• NMI request to master SH-2 when front panel
button is pushed down.
• Can support peripheral with SATURN peripheral
interface specifications.
• Automatic collection of peripheral data from control
PAD, mouse, etc.
• Also supports Mega Drive peripherals (3-button, 6button, SEGA tap) (a conversion adapter isrequired, however)

3

Co

nfi

de

nti
al

PAD
The SATURN digital standard PAD has up, down, left, right, A, B, C, X, Y, Z, L, R,
and Start buttons.

SE

GA

Figure 1.2 Standard Digital PAD for SATURN

4

1.2

SH-2 Interface

b it7

b it0
W

COMREGb it7

R : Read Only
W : Write Only
R/W: Read/Writeb it0

20100061H

R

SR
b it0

de

2010001FH

nti
alSH-2 Interface Registers
The SH-2 interface registers are registers that are used to receive commands, command parameters, and status display from the SH-2 and to output result parameters.
Figure 1.3 shows the SH-2 interface register address map.

SF R/W

20100063H

b it0

20100001H

IREG020100003H

IREG1

20100005H

IREG2

20100007H

IREG3

20100009H

IREG4

2010000BH

IREG5

2010000DH

IREG6

W

b it0

Co

b it7

nfi

b it7

20100021H

b it7

b it0

OREG0

20100041H

OREG16OREG1

20100043H

OREG17OREG2

20100045H

OREG18OREG320100047H

OREG19OREG420100049H

OREG20OREG52010004BH

OREG21

2010002DH

OREG6

2010004DH

OREG22

2010002FH

OREG72010004FH

OREG23

20100023H
20100025H
20100027H
20100029H

GA

2010002BH

R

OREG8

20100051H

OREG24

20100033H

OREG920100053H

OREG2520100035H

OREG1020100055H

OREG2620100037H

OREG11

20100057H

OREG27

20100039H

OREG12

20100059H

OREG282010003BH

OREG13

2010005BH

OREG29OREG14

2010005DH

OREG30

OREG152010005FH

OREG31

SE

20100031H

2010003DH
2010003FH

R

Only byte access is possible for all registers.

SMPC User's Manual

Figure 1.3 SH-2 Interface Register Address Map

5

The details on SH-2 interface registers are as follows:

nti
alCOMREG (W): COMmand REGister

This is an 8-bit register used to receive commands from the SH-2. At the same time acommand is written, the SMPC interprets and executes the command. The SMPC
has resetable system management commands, non-resetable system management
commands, and RTC commands. Use byte access from the SH-2.
SR (R): Status REGisterdeThis 8-bit register is used to display the status after SMPC command execution. A
read from the SH-2 can be done at any time regardless of the command being issued.
For peripheral control, each peripheral control status is shown. Use byte access fromthe SH-2.
SF (R/W): Status Flag

IREG0~IREG6 (W): Input REGister 0~6

nfi

This flag controls command issue. Flag set is performed by the SH-2 before command issue and the flag is reset by the SMPC when the command is ended. Whenfrom the SH-2, only set is possible, and when setting, write to 01H. During read, allbits except bit0 are undefined. Using this flag makes it possible to control the dual
issue of commands.

Co

These 8-bit registers are used to receive command parameters from the SH-2. The
SMPC has 7 IREG registers. Use byte access from the SH-2.
OREG0~OREG31 (R): Output REGister 0~31

SE

GA

These 8-bit registers are used to used to output result parameter and peripheral data
to the SH-2. The SMPC has 32 OREG which are used when reading the cartridge
code, area code, peripheral data, current time, etc. Use byte access from the SH-2.

6

b it620100075H
20100079H

b it0

nti
al

Parallel I/O Registers
These registers are used to control the peripheral interface inside the SMPC.
Figure 1.4 shows parallel I/O register address map. Write-only registers cannot be
read, so caution regarding this is required.

b it6

b it0

PDR1

R/W

20100077H

PDR2

R/W

DDR1

W

2010007BH

DDR2

W

b it1

b it0

IOSEL2 IOSEL1 W

2010007FH

EXLE2

W : Write Only
R/W: Read/Writede2010007DH

EXLE1 W

Only byte access is allowed to all the registers.

nfi

Figure 1.4 Parallel I/O Register Address Map
DDR1 (W): Data Direction Register 1

This is a 7-bit register used for setting, in bit units, the peripheral port 1 (P1) I/O
direction. “0” is written to set for input and “1” is written to set for output. Pleaseuse byte access from the SH-2.

Co

DDR2 (W): Data Direction Register 2This is a 7-bit register used for setting, in bit units, the peripheral port 2 (P2) I/O
direction. “0” is written to set for input and “1” is written to set for output. Pleaseuse byte access from the SH-2.
Table 1.3 DDR Functions

Function
Input Setting (Initial Value)
Output Setting

GA

Bit
0
1

PDR1 (R or W): Port Data Register 1

SE

The PDR1 is a 7-bit register that is used to store peripheral port 1 (P1) data. Whether
all the PDR1 bits are at the input port or the output port is determined by DDR1
setting. The port terminal status that is set to output can be changed by writing datain this register. The port terminal status that is set to input can be changed by reading this register. Also, for ports set to output, the value written in to the PDR1 is readout rather than the terminal status. Please use byte access from the SH-2.

SMPC User's Manual7

PDR2 (R or W): Port Data Register 2ntial

The PDR2 is a 7-bit register that is used to store peripheral port 2 (P2) data. Whether
all the PDR2 bits are at the input port or the output port is determined by DDR2
setting. The port terminal status that is set to output can be changed by writing datain this register. The port terminal status that is set to input can be changed by reading this register. Also, for ports set to output, the value written in to the PDR2 is readout rather than the terminal status. Please use byte access from the SH-2.
IOSEL1 (W): I/O SELect 1

de

The peripheral port 1 (P1) is set to SMPC control mode or SH-2 direct mode. Writing“0” specifies the SMPC control mode and writing “1” specifies the SH-2 direct mode.
Use byte access from the SH-2.
IOSEL2 (W): I/O SELect 2

The peripheral port 2 (P2) is set to SMPC control mode or SH-2 direct mode. Writing“0” specifies the SMPC control mode and writing “1” specifies the SH-2 direct mode.
Use byte access from the SH-2.

nfi

Table 1.4 IOSEL Functions
Bit
Function0
Sets to SMPC control mode (Initial Value)
1
Sets to SH-2 direct mode

For details regarding each mode, refer to Section 3.

Co

EXLE1 (W): EXternal Latch Enable 1

SE

GA

The peripheral port 1 (P1) bit 6 is a setting bit that is used for PAD interrupt and
VDP2 external latch input. It is disabled by writing “0,” and the peripheral port 1 bit
6 is normally set as an I/O port. It is enabled by writing “1,” which allows the peripheral port 1 bit 6 to be used for PAD interrupt input or VDP2 external latch input.
Use byte access from the SH-2.

8

EXLE2 (W): EXternal Latch Enable 2

Table 1.5 EXLE Functions
Bit
0
1

nti
al

The peripheral port 2 (P2) bit 6 is a setting bit that is used for PAD interrupt and
VDP2 external latch input. It is disabled by writing “0,” and the peripheral port 1 bit
6 is normally set as an I/O port. It is enabled by writing “1,” which allows the peripheral port 1 bit 6 to be used for PAD interrupt input or VDP2 external latch input.
Use byte access from the SH-2.

Function
Disable (Initial Value)
Enable

SE

GA

Co

nfi

de

EXLE is multiplexed in I/O port bit 6. Therefore, when using EXLE, the DDR1 andDDR2 bit 6 must be set to input. (Refer to VDP2 external latch functions and SCU
PAD Interrupt.)

SMPC User's Manual

9

SE

GA

Co

nfi

de

nti
al

(This page is blank in the original Japanese document.)

10

nti
al

SE

GA

Co

nfi

de

Chapter 2 SMPC Commands

SMPC User's Manual

Section 2 Contents
2.1 SMPC Command List .............................................. 12
2.2 Command Issue ....................................................... 13
Command Issue Method.......................................... 13
Command Issue Timing ........................................... 17
Command Issue Limitations .................................... 19
2.3 Resetable System Management Commands ........... 21
2.4 Non-Resetable System Management Commands ... 35
2.5 RTC Commands ...................................................... 45

11SMPC Command List

nti
al

2.1

SMPC commands are divided into three types; resetable system management commands, non-resetable system management commands, and RTC commands. Each ofthese commands is shown below.
Table 2.1 Resetable System Management Commands

No

Command Name

Command Command
Code
Abbreviation

SMPC
Interrupt

SR

IREG

OREG

Execution Time
sec
min

00 H

Unused

2 Slave SH-2 ON

SSHON

02 H

Unused

3 Slave SH-2 OFF

SSHOFF

03 H

Unused

4 Sound ON

SNDON

06 H

Unused

5 Sound OFF

SNDOFF

07 H

Unused

6 CD ON

CDON

08 H

Unused7 CD OFF

CDOFF

09 H

8 Reset Entire System

SYSRES

0D H

9 Clock Change 352 ModeCKCHG352

0E H

10 Clock Change 320 ModeCKCHG320

0F H

11 NMI Request

NMIREQ

18 H

12 Reset Enable

RESENAB

13 Reset Disable

RESDISA

Unused Unused

30µ

31

de

MSHON

Unused Unused

31

30µ

Unused Unused

31

30µ

Unused Unused

31

30µ

Unused Unused

31

30µ

Unused Unused

31

40µ
40µ

nfi

1 Master SH-2 ON

max

Unused Unused

31

UnusedUnused Unused

31

100m+ αUnusedUnused Unused

31

100m+ αUnusedUnused Unused

31

100m+ αUnusedUnused Unused

31

30µ

19 H

UnusedUnused Unused

31

30µ

1A H

UnusedUnused Unused

31

30µ

Co

UnusedTable 2.2 Non-Resetable System Management Commands

Command Name

CommandAbbreviation

Command SMPC
CodeInterrupt

GA

No

SR

IREG

OREG

Execution Timesec
min

1 Interrupt Back

INTBACK

10H

Used

Used

0~2

0~31

2 SMPC Memory Setting

SETSMEM

17H

Unused Unused

0~3

31

max
320m

40 µ

Table 2.3 RTC Commands

SE

No

Command Name

1

12Time Setting

Command Command
Code
Abbreviation

SMPC
Interrupt

SR

SETTIME

UnusedUnused

16H

IREG

OREG

0~6

31

Execution Time
sec
min
70 µ

max

2.2

Command Issuential

For commands to the SMPC, to issue commands when the command parameter isrequired after setting the SMPC status flag (SF) to “1,” set the command parameter,
and write the command code in the SMPC command register.
When the SMPC command is issued, be careful of dual command issue. Preventionof dual issue of commands to the SMPC can be done using the SMPC status flag.
When this flag is “1,” the SMPC is busy. When executing the command, verify thatthe status flag is “0” and then execute the command after setting “1.” The SMPC
resets the status flag to “0” when the command is completed.

(2)Type B(3)

Type C(4)Type D

This command resets the master SH-2 after command issue or changes to
exception processing, such as NMI.
This command does not require the command parameter to be reset andthe result parameter is not returned (except for OREG31, however).
This command requires the command parameter to be reset and the result
parameter is not returned (except for OREG31, however).
This command requires the command parameter to be reset and the result
parameter is returned, and also requires a SMPC interrupt at the time theresult parameter is ready.

nfiType A

Co

(1)

de

Command Execution Method
SMPC commands are classified by issue procedure and result parameter acquisition
method according to the type of command execution contents, command parameter,
and result parameter. These types and corresponding commands are shown in Table
2.4, and example issue methods for each type are shown in Figures 2.1 through 2.5.

SE

GA

Table 2.4 Command Issue Types
Type
CommandAMSHON, SYSRES, NMIREQ, CKCHG352, CKCHG320
B
SSHON, SSHOFF, SNDON, SNDOFF, CDON, CDOFF, RESENAB, RESDISACSETTIME, SETSMEM
D
INTBACKSMPC User's Manual

13

Waits for SF to be Reset

Sets SFdeReads Command Code in
COMREG

nti
al

START

nfi

Endless LoopCo

Figure 2.1 Type A Command Flow

START

GA

Waits for SF to be Reset

Sets SF

SE

Reads Command Code in
COMREG

14

END

Figure 2.2 Type B Command Flow

Waiting for
exception
handling.

Waits for SF to be Reset

Resets SF

deSets the Command Parameterin IREG

nti
al

START

nfi

Writes Command Code in
COMREG

END

SE

GA

Co

Figure 2.3 Type C Command Flow

SMPC User's Manual

15

nti
al

START

Waits for SF to be Reset

Sets the Command Parameterin IREGnfi

Writes Command Code in
COMREGdeSet SFEND

Co

SMPC Interrupt Processing
START

Clear Interrupt Flag

Look at SR and Receive
OREG Result ParameterGA

Depending on Peripheral Status,
Issue Continue or Break to SMPC
(Refer to Chapter 3 for Details)

Interrupt Processing END

SEFigure 2.4 Type D Command Flow

Note:

16

A routine similar to the SMPC interrupt routine can be executed by masking the
SMPC routine (SMPC interrupt is not used) and conducting polling after the SMPC
interrupt flag or SF clear is conducted.

nti
al

Command Issue Timing
The SMPC uses the V-BLANK-IN interrupt to execute internal tasks. At this time,issuing commands for 300 ms from V-BLANK-IN is prohibited.

Also, the INTBACK command that is used to acquire the SMPC statuses and peripheral data has stricter issue timing than other commands. For details regarding the
INTBACK command, refer to 2.4 “Non-Resetable System Management Commands”
or Section 3 “Peripheral Control.”• Items Common to Command Issue Timing• INTBACK Commandde

As mentioned above, issuing commands for 300 µs from V-BLANK-IN is
prohibited.

nfi

The INTBACK command begins collecting peripheral data at V-BLANK-OUT. To
begin collecting peripheral data at V-BLANK-OUT, the INTBACK command mustbe issued in the period prior to V-BLANK-OUT after 300 µs following V-BLANKIN..
Figure 2.5 shows the INTBACK command execution timing.
The INTBACK command is used in the following three ways.

Co1) To acquire only the SMPC status.
2) To collect peripheral data after acquiring the SMPC status.
3) To acquire only peripheral data.
When executing (2) “To collect peripheral data after acquiring the SMPC status,” aSMPC interrupt is generated at the time the SMPC status is OREG and a request
for result parameter acquisition is made to the SH-2. The SMPC begins collecting
peripheral data after the SH-2 makes a continue request.

GA

Here, even though a continue request has been issued after SMPC status acquisition, it is still necessary to issue an INTBACK command and request continue tobegin collecting peripheral data at V-BLANK-OUT.

SE

SMPC status acquisition ends approximately 300 µs after INTBACK commandissue, and a SMPC interrupt request is sent to the SMPC.

SMPC User's Manual17300 µ S

V-BLANKntial: INTBACK Command Issue Period

V-BLANK-IN

During V-BLANK

Figure 2.5 INTBACK Command Issue Timing

V-BLANK-OUTde• INTBACK Command Issue Timing after SYSRES, CKCHG320, CKCHG352 Command Execution

The command execution time for the above commands requires 100 msec or more.
When an INTBACK command is issued after one of these commands is executed,
wait to execute them until the next V-BLANK-IN. Figure 2.6 shows the INTBACK
command issue timing after the SYSRES, CKCHG320, and CKCHG352 commands
are executed.

nfi

The SYSRES, CKCHG320, and CKCHG352 commands must be issued 300 µs after
V-BLANK-IN and before the next V-BLANK-IN.

Co: INTBACK Command Issue Period

SYSRES, CKCHG320,
CKCHG352 Commands

Command End

100 msec or More

V-BLANK

INTBACK Command Issue Timing After SYSRES, CKCHG320, andCKCHG352 Command Execution.

GA

Figure 2.6

V-BLANK-IN• Issue Timing for Other Commands

SE

When an INTBACK command is not issued in the same frame after one of the othercommands is executed, the command must be issued 300 µs after V-BLANK-IN andbefore the next V-BLANK-IN. When an INTBACK command is issued in the same
frame as one of the other commands that is issued 300 µs after V-BLANK-IN andbefore the next V-BLANK-IN, issue the INTBACK command before V-BLANK-OUT.
Figure 2.7 shows the issue timing of other commands.

18

nti
al

Other Command Issue in Frame that Does Not Issue INTBACK Command
300 µs: Other Command Issue Period

V-BLANK

Other Command Issue in Frame that Issues INTBACK Command: Other Command Issue Period
300 µsde: INTBACK Command Issue Period

V-BLANK

nfi

V-BLANK-IN

Figure 2.7 Issue of Other Commands

Co

Command Issue Limitations
Following is an explanation of limitations when issuing commands.

SEGA• When conducting command issue processing for the SMPC, a maximum effort
shall be made to conduct single tasks. If multiple issues are being processed,
problems, such asdual command issue, could occur, which could cause the SMPC
error or a deadlock to occur.
When multiple tasks have to be executed, and when a command must be issued
to the SMPC, always perform these executions by adding exclusion controls that
do not generate dual command issue between tasks to the above described com
mand issue methods.
• When commands are issued sequentially, always verify the status flag to makesure commands are not dually issued and only issue the next command after theprevious command issue has finished.
• Perform real-time clock count up once every second. Also, conduct a detection of
the SMPC’s internal reset button immediately after V-BLANK-IN. If a command isissued while this processing is being conducted, this processing time will be
added to the command processing time, so be careful because this will change thecommand processing time.
• SMPC commands can be issued from either the master or slave SH-2, but there arecommands for which issue is limited, such as when system operation is stopped.
Table 2.5 shows the SH-2 command issue limitations.

SMPC User's Manual

19

Table 2.5 SH-2 Command Issue Limitations

Master SH-2 ON
Slave SH-2 ON
Slave SH-2 OFF
Sound ON
Sound OFFCD ON
CD OFF
System Overall Reset
Clock Change 352
Clock Change 320
NMI Request
Reset Enable
Reset Disable
Interrupt Back
SMPC Memory Setting
Time Setting

MSHON
SSHON
SSHOFFSNDON
SNDOFFCDON
CDOFF
SYSRESCKCHG352
CKCHG320
NMIREQRESENABRESDISAINTBACKSETSMEMSETTIME

Command Execution
from Master SH-2

Command Execution
from Slave SH-2

O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O

O
X
X
O
O
O
O
O
X
X
O
O
O
X
O
O

nti
al

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

CommandAbbreviationdeCommand Name

SE

GA

Co

nfi

No.

20

2.3

Resetable System Management Commands

ntial

The details for the resetable system management commands are given in tableformat. The way to view the command tables and precaution items are given below.
In addition, a status flag is used for each command to control the dual issue of commands.

de

SMPC Interrupt
The word “generation” means that a SMPC interrupt is generated by the SH-2 via
the SCU when the command ends. In addition, the interrupt can be enabled or
disabled by so setting the SCU.

Co

nfi

IREG, OREG
• Shows the details of the IREG and OREG used by commands.
• A command parameter is a parameter that is set in IREG before the command isissued.
• A result parameter is a parameter that is set in OREG before the command is
executed.
• Result parameter OREG31 is set when the SMPC begins command processing.
The command code is output to OREG31. Also using it as a status flag (SF) makes
it possible to determine:
Which command is executing(SF=1)
Which command has finished(SF=0)SEGA

Execution Time
Shows the execution time calculated from the number of SMPC internal firmware
steps. When there is a collision with an internal task, such as an RTC increment, thecommand execution time is changed, so the minimum and maximum range values
are given.

SMPC User's Manual21

MSHON

SMPCInterrupt

Generation
Not Possible

Command
Code

Master SH-2 ON
IREG

UnusedTurns on master SH-2.

CommandParameter

None

nfi

ResultParametermin
30 µsec

bit7
0

0

GA

Co

OREG31 2010005F H

SE

Remarks

22

max
XXX

Execution
Time

31

de

Function
Description

OREG

00 H

nti
al

NO. 1

0

0

0

bit0
0

0

0

SSHON

SMPCInterrupt

Generation
Not Possible

CommandCode

Slave SH-2 ON
IREG

UnusedTurns on slave SH-2.

CommandParameter

None

31

Execution
Time

max
XXX

min
30 µsecnfideFunction
Description

OREG

02 H

nti
al

NO. 2

ResultParameter

bit7
0

0

0

0

0

0

1

0

GA

Co

OREG31 2010005F H

bit0

SE

Remarks

SMPC User's Manual

23

SSHOFFSMPCInterrupt

Generation
Not Possible

CommandCode

Slave SH-2 OFF
IREG

UnusedTurns off slave SH-2.

CommandParameter

None

Execution
Time

31

nfi

ResultParameter

0

0

Co
GA

SE
24

min
30 µsec

bit7

OREG31 2010005F H

Remarks

max
XXX

de

Function
Description

OREG

03 H

nti
al

NO. 3

0

0

0

bit0
0

1

1

SNDON

SMPCInterrupt

Generation
Not Possible

CommandCode

Sound ON
IREG

Unused

OREG

31

06 H

nti
al

NO. 4

Turns on the sound CPU (MC68EC000).

CommandParameter

None

min
30 µsecnfideFunction
Description

max
XXX

ExecutionTime

ResultParameter

bit7
0

0

0

0

0

1

1

0

GA

Co

OREG31 2010005F H

bit0

SE

Remarks

SMPC User's Manual25

SNDOFFSMPCInterrupt

Generation
Not Possible

CommandCode

Sound OFF
IREG

UnusedOREG

ExecutionTime

31

Turns off the sound CPU (MC68EC000).

CommandParameter

None

max
XXX

min
30 µsec

ResultParameternfideFunction
Description

07 H

nti
al

NO. 5

bit7
0

0

0

0

0

1

1

1

GA

Co

OREG31 2010005F H

bit0

Even if the sound CPU is turned off using this command, the sound memory
contents (4M DRAM) will be preserved.

SE

Remarks

26

CDON

SMPC
Interrupt

Generation
Not Possible

Command
Code

CD ON
IREG

Turns on CD.

CommandParameter

None

OREG

31

Execution
Time

max
XXX

min
40 µsecnfideFunction
Description

Unused

08 H

nti
al

NO. 6

ResultParameter

bit7
0

0

0

0

1

0

0

0

GA

Co

OREG31 2010005F H

bit0

SE

Remarks

SMPC User's Manual27

CDOFF

SMPCInterrupt

Generation
Not Possible

CommandCode

CD OFF
IREG

Turns off CD.

CommandParameter

None

OREG

Execution
Time

31

max
XXX

min
40 µsec

ResultParameternfideFunction
Description

Unused

09 H

nti
al

NO. 7

bit7
0

0

0

0

1

0

0

1

GA

Co

OREG31 2010005F H

bit0

The execution of this command will cause the CD buffer (DRAM) value not tobe retained.

SE

Remarks

28

SYSRESSMPCInterrupt

Generation
Not Possible

Command
Code

Entire System Reset
IREG

UnusedOREG

Resets the entire SATURN system.

CommandParameter

None

Execution
Time

100 msec +

α

nfi

de

Function
Description

31

0D H

nti
al

NO. 8

ResultParameter

bit7
0

0

0

0

1

1

0

1

GA

Co

OREG31 2010005F H

bit0

SE

Remarks

SMPC User's Manual

Execution of this command resets (initializes) all functions, causes the SH-2 to run the
power on vecter, and starts up the boot ROM.
None of the memory, except for 256 Kbit battery backup RAM, will be retained.

29

CKCHG352

SMPC
Interrupt

Generation
Not Possible

CommandCode

Clock Change 352 Mode
IREG

Unused

OREG

0EH

α

nti
al

NO. 9

Execution
Time

31

100 msec +Switch the SATURN system clock from 320 mode to 352 mode.

CommandParameter

None

ResultParameternfideFunction
Description

bit7
0

0

0

0

1

1

1

0

Issuing this command from an application is prohibited. Call the clock changeroutine in the SATURN boot ROM. When clock change routine is called, all LSI
will become as follows.
• VDP1, VDP2, SCU, SCSP: Default value during power on.
• Master SH-2: Return from boot ROM clock change routine.
• Slave SH-2: OFF• CD block: Retained• Work RAM: Retained• VRAM: Not retainedSE

RemarksGA

Co

OREG31 2010005F H

bit0

30

CKCHG320

SMPCInterrupt

Generation
Not Possible

CommandCode

Clock Change 320 Mode
IREG

Unused

OREG

31

0FH

α

nti
al

NO. 10Execution
Time

100 msec +Switch the SATURN system clock from 352 mode to 320 mode.

CommandParameter

None

nfi

de

Function
Description

ResultParameter

bit7
0

0

0

0

1

1

1

1

GA

Co

OREG31 2010005F H

bit0

SE

Remarks

SMPC User's Manual

Issuing this command from an application is prohibited. Call the clock changeroutine in the SATURN boot ROM. When clock change routine is called, all LSI
will become as follows.
• VDP1, VDP2, SCU, SCSP: Default value during power on.
• Master SH-2: Return from boot ROM clock change routine.
• Slave SH-2: OFF• CD block: Retained• Work RAM: Retained• VRAM: Not retained

31

NMIREQ

SMPCInterrupt

Generation
Not Possible

CommandCode

NMI Request
IREG

UnusedOREG

CommandParameter

None

min
30 µsec

ResultParameternfi

deSends NMI request to master SH-2.

max
XXX

Execution
Time

31

Function
Description

18 H

nti
al

NO. 11

bit7
0

0

0

1

1

0

0

0

GA

Co

OREG31 2010005F H

bit0

NMI is requested unconditionally even if disabled by the RESDISA command.

SE

Remarks

32

RESENAB

SMPCInterrupt

Generation
Not Possible

Command
Code

Reset Enable
IREG

Unused

OREG

31

19 H

nti
al

NO. 12

Execution
Time

Function
Description

This is a command to enable NMI generation.

CommandParameter

None

max
XXX

min
30 µ secnfi

deIn SATURN, NMI is generated when the main unit panel reset button ispushed. When power is on, the default is set disabled.

ResultParameter

bit7
0

0

0

1

1

0

0

1

GA

Co

OREG31 2010005F H

bit0

SE

Remarks

SMPC User's Manual

NMI is generated when the reset button is pushed during the 3VINT period toprevent chattering.

33

RESDISASMPCInterrupt

Generation
Not Possible

Function
Description

Command
Code

Reset Disable
IREG

UnusedOREG

Execution
Time

31

max
XXX

min
30 µ sec

This is a command to disable NMI generation.
In SATURN, generates NMI when main unit panel reset button is pushed.
The defaut is "disabled" when the power is turned on.

CommandParameter

1AH

nti
al

NO. 13ResultParameter

nfi

de

None

bit7
0

0

0

1

1

0

1

0

GA

Co

OREG31 2010005F H

bit0

The reset switch is only shown by the SR (status register) RESB bit (bit4) anddoes not output an NMI to the master SH-2. The RESB bit shows the button
status at V-BLANK-IN.

SE

Remarks34

2.4

Non-Resetable System Management Commands

ntial

The details for the non-resetable system management commands are given in tableformat.
The way to view the command tables and precaution items are given below. Also, astatus flag is used for each command to control dual command issue.

deSMPC Interrupt
The word “generation” means that a SMPC interrupt is generated by the SH-2 via
the SCU when the command ends. In addition, the interrupt can be enabled or
disabled by setting the SCU.

Co

nfi

IREG, OREG
• Shows the details of the IREG and OREG used by commands.
• A command parameter is a parameter that is set in IREG before the command isissued.
• A result parameter is a parameter that is set in OREG before the command is
executed.
• Result parameter OREG31 is set when the SMPC begins command processing.
The command code is output to OREG31. Also using it as a status flag (SF) makes
it possible to determine:
Which command is executing(SF=1)
Which command has finished(SF=0)SEGA

Execution Time
Shows the execution time calculated from the number of SMPC internal firmware
steps. When there is a collision with an internal task, such as a RTC increment, thecommand execution time is changed, so the minimum and maximum range values
are given.

SMPC User's Manual35

INTBACKSMPCInterrupt

Generation

Interrupt Back (SMPC Status Acquisition)
IREG

0~2

OREG

0 ~31

Command
Code

10 H

nti
al

NO. 1

ExecutionTimemax
320 msecmin
XXX

Function
Description

Acquires the SMPC status and peripheral data. Here status acquisition will beCommandParameter

Here, the INTBACK command's command parameter during peripheral
data acquisition is also displayed.

deexplained. The acquisition of peripheral data will be explained in Section 3.

The result parameter is explained after the command parameter.
Here, the result parameter, which is limited by the SMPC statusacquisition is displayed.

SE

GA

Co

ResultParameter

nfi

Refer to command parameter on the next page.
The command parameter setting method during SMPC status acquisition is
explained next after result parameter.

Remarks

36

Command Parameterbit0

IREG0 20100001

nti
al

bit7

SMPC Status Acquisition Switch (00H or 01 H)

H

Initial Value: Not Specified

Write Only

IREG0: SMPC Status Acquisition Switch Setting Value
IREG0 Setting
Value

Explanation

00H

Does not return data for time, cartridge code, area
code, terminal status, SMEM, or reset button mode.
Returns data for time, cartridge code, area code,
terminal status, SMEM, or reset button mode.

de

01H

nfi

When using the INTBACK command, be sure one of the above setting values has
been set.
IREG0 is also used to control peripherals. Refer to Section 3 for details regarding
peripheral control.

bit7

IREG1 20100003H

bit4

bit3

P2MD1 P2MD0 P1MD1 P1MD0

PEN

bit0
0

OPE

0

Unde. Unde. Unde. Unde. Unde. Unde. Unde. Unde.
W
W
W
W
W
--W
---

GA

Co

Bit7, 6: Port 2 Mode
Bit7
Bit 6
P2MD1
P2MD0
0
0
1
0
1
0
1
1

15-Byte Mode
255-Byte Mode
SEGA RESERVED (Setting Restricted)
0-Byte Mode

Explanation
15-Byte Mode
255-Byte Mode
SEGA RESERVED (Setting Restricted)
0-Byte ModeSE

Bit5, 4: Port 1 Mode
Bit5
Bit 4
P1MD1
P1MD0
0
0
1
0
1
0
1
1

Explanation

SMPC User's Manual

37

nti
al

Bit3: Peripheral Data Enable
Bit3
Explanation
PEN
0
Peripheral Data Not Returned
Peripheral Data Returned1deBit1: Acquisition Time Optimization
Bit1
Explanation
OPE
0
Peripheral Data Acquisition Time Optimized
Peripheral Data Acquisition Time not Optimized
1

bit0

bit7

nfi

IREG2
20100005H
Initial Value: Not Specified Write Only

F0H

SE

GA

Co

When executing the INTBACK command, be sure to set F0H in IREG2.

38

Result Parameter
bit7

•PDE
•RESB

0

PDE RESB

1

---

---

---

---

nti
al

SR 20100061H

bit0

bit4 bit30: No remaining peripheral data.
1: Remaining peripheral data.
0: Reset button off.
1: Reset button on.
Read can be performed without regard for the INTBACK command.
bit7

OREG0 20100021H

bit0

bit4 bit3

STE RESD

---

---

---

---

---

0: Not SETTIME after SMPC cold reset
Note 1
1: SETTIME is done after SMPC cold reset Note 1•RESD 0: Reset enable
1: Reset disable (default)
Note 1: SMPC cold reset is generated under the following conditions.
(1) When the reset switch inside the SATURN backside battery box is pressed.
(2) When the main power is on while a battery is not installed or is dead.
(3) When a battery is installed while the power is off.

de

•STE

---

OREG1 20100023H
OREG2 20100025H

Year 1000s PlaceYear 100s Place(BCD)

Year 10s PlaceYear 1s Place

(BCD)

Day

Month (Hexadecimal) Note 3

Note 2

Co

OREG3 20100027H

bit0

nfi

bit7

Note 2: Day
0H: Sun 1H: Mon 2H: Tue 3 H: Wed 4H: Thur 5H: Fri 6H: Sat
Note 3: Month
1H: Jan 2 H: Feb 3H: Mar 4 H: Apr 5H: May 6 H: Jun
7H: July 8H: Aug 9 H: Sep AH: Oct BH: Nov CH: Dec
bit0

bit7

Days 10s PlaceDays 1s Place(BCD)

OREG5 2010002B H

Hrs. 10s Place

Hrs. 1s Place(BCD)

OREG6 2010002DH

Min. 10s Place

Min. 1s Place(BCD)

OREG7 2010002F H

Sec. 10s Place

Sec. 1s Place

(BCD)

GA

OREG4 20100029H

OREG8 20100031H

0

0

0

0

0

0

CTG1 CTG0SE•CTG1: Cartridge Code 1•CTG0: Cartridge Code 0

SMPC User's Manual

39

bit0
Area Code (00H~0FH)

Area Code (00H~0FH)

bit0

nti
al

OREG9
20100033H
OREG9

bit7
bit7

System Status 1

bit7

Co

OREG1020100035H

nfi

de

20100033H
Area Code
Code
Area
Major Country Names, Etc.
Area
Code
0H
Use Prohibited
Code
Area
Major Country Names, Etc.
1H
Japan
Area
Japan
0H
Use Prohibited
Taiwan,Asia NTSC
2H Japan
1H
Area area
Japan Philippines
SEGA
RESERVED
3H
Asia NTSC Area Taiwan, Philippines
2H
North RESERVED
America area
4H SEGA
U.S.A., Canada, Mexico
3H
BrazilMexico
5H NorthCentral/S.
America
NTSC
area
America Area U.S.A., Canada,
4H
South Korea
Korea areaAmerica NTSC Area Brazil
6H Central/S.
5H
7H Korea
SEGAArea
RESERVEDSouth Korea
6H
SEGARESERVEDRESERVED
8H SEGA7H
SEGARESERVEDRESERVED
9H SEGA8H
AH SEGA
Asia PAL
area
East Asia, China, Middle East
RESERVED9H
SEGA
RESERVEDBH Asia
PAL
Area East Asia, China, Middle East
AH
EuropeRESERVED
PAL area, etc.
Europe, Australia, South Africa
CH SEGA
BH
Central/S.
Amercia
PALEurope,area
DH Europe
PAL
Area, etc.
Australia, South Africa
CH
SEGA RESERVED
EH Central/S.
America PAL AreaDH
Use Prohibited
RESERVEDFH SEGA
Use Prohibited
E
H
FH
bit0

SystemStatus 1 (Status of Control Signals Output System
by SMPCStatus
0: OFF1 1 :ON)OREG10•b7 0B •b6 DOTSEL Signal Note •b5 1B
20100035H•b4 1B •b3 MSHNMI Signal •b2 1B
SystemStatus 1Signal(StatusControl Signals•b1 SYSRES•b0ofSNDRES
Signal Output by SMPC 0: OFF 1 :ON)
•b7 0B•b6The
DOTSEL
Signal•b5 1B shown in the screen mode (horizontal resolution).
Note:
DOTSELsignalNote
is currently•b40:1B•b31:MSHNMI
Signal •b2 1B
320352•b1 SYSRES Signal •b0 SNDRES Signal
Note: The DOTSEL signal is currently shown in the screen mode (horizontal resolution).
0: 320 1: 352

GA

bit7

OREG11
20100037H

bit0
System Status 2

bit7

System Status 2 (Status of Control Signals Output by SMPC 0: OFF 1 :ON)
System Status 2
OREG11•b7
RESERVED •b6 CDRES Signal •b5 RESERVED
20100037H•b4
RESERVED •b3 RESERVED •b2 RESERVED•b1 RESERVED•b0 RESERVED
SystemStatus 2 (Status
of Control Signals Output by SMPC 0: OFF 1 :ON)SE

•b7 RESERVED •b6 CDRES Signal •b5 RESERVED•b4 RESERVED •b3 RESERVED •b2 RESERVED•b1 RESERVED •b0 RESERVED

40

bit0

bit0

bit7
SMEM 1 Saved Data

OREG13 2010003BH

SMEM 2 Saved Data

OREG14 2010003D H

SMEM 3 Saved Data

OREG15 2010003F H

SMEM 4 Saved Data

bit0

bit7

OREG31 2010005FH

0

nti
al

OREG12 20100039H

0

0

0

0

0

0

0

SE

GA

Co

nfi

de

With peripheral data, however, the command code (OREG31) could be overwritten.

SMPC User's Manual41

There are three ways the INTBACK command can be used.
1)
2)
3)

Acquire only SMPC status.
Acquire peripheral data after acquiring SMPC status.
Acquire only peripheral data.

ntial

How to Use INTBACK Command when Acquiring SMPC Status

This section primarily explains how to acquire SMPC status. Here, acquiring statususing methods 1) and 2) are explained. For an explanation regarding peripheral dataacquisition, refer to Section 3.

deMethod for Acquiring Only SMPC Status

When acquiring status only, set the command parameter as shown below, andexecute the INTBACK command.
Setting
Value

Description

IREG0

01H

All data for time, cartridge code, area code, terminal
status, SMEM, and reset button mode is returned.

IREG1

00H

F0H

Terminal 2 mode (P2MD1, P2MD0)=00B 15-byte mode
Terminal 1 mode (P1MD1, P1MD0)=00B 15-byte mode
Peripheral data enable (PEN)=0B Peripheral data not
returned
Acquisition time optimization (OPE)=0B Performs
peripheral acquisition time optimization.

Co

IREG2

nfi

IREG

Set F0H without conditions.

SE

GA

This setting can clear the SF, ends the INTBACK command, and acquires theresult data. Also, when the command ends, a SMPC interrupt request is sent.
The execution time is from minimum TBD to maximum TBD.

42

nti
al

Method for Acquiring Peripheral Data After Acquiring SMPC Status
When acquiring peripheral data after acquiring SMPC status acquisition, set the commandparameter as shown below and issue the INTBACK command. The IREG1 setting value can be
set to the value desired for the application.

IREG

Setting
Value

Description

IREG0

01H

All data for time, cartridge code, area code, terminal
status, SMEM, and reset button mode is returned.

IREG1

08H

de

F0H

Set F0H without conditions.

nfi

IREG2

Terminal 2 mode (P2MD1, P2MD0)=00B 15-byte mode
Terminal 1 mode (P1MD1, P1MD0)=00B 15-byte mode
Peripheral data enable (PEN)=1B Peripheral data
returned
Acquisition time optimization (OPE)=0B Performs
peripheral acquisition time optimization.

Co

This setting executes the SMPC command and requests a SMPC interrupt when
the result parameter is set. When the SMPC interrupt is requested, the SF ischanged to busy "1." The execution time from command issue to result
parameter setting completion is minimum TBD to maximum TBD. After the result
parameter for the status is acquired, the value of the IREG0 bit7 is changed, thenthe SMPC understands this as continue and continues acquiring peripheral data.

SE

GA

This method is effective for use with applications that acquire all status types foreach frame and that acquire peripheral data.

SMPC User's Manual

43

SETSMEM

SMPCInterrupt

Generation
Possible

CommandCode

SMPC Memory Setting
IREG

0 ~3

OREG

max
XXX

Execution
Time

31

Function
Description

The SMPC has a 4-byte battery backupable memory (SMEM)
This command sets data to the SMEM.

CommandParameter

bit7

min
40 µsecde

bit0

Setting Data to SMEM1

IREG1 20100003H

Setting Data to SMEM2

IREG2 20100005H

Setting Data to SMEM3

nfi

IREG0 20100001H

IREG3 20100007H

Setting Data to SMEM4

bit0

bit7

SE
44

0

0

0

1

0

1

1

1

• The SMEM contents are cleared to 0 when the SMPC is cold reset.
A SMPC cold reset is generated under the following conditions.
(1) When the reset switch in the SATURN backside battery box is pushed.
(2) When the main power is turned on while no battery is installed or when
the battery is dead.
(3) Cleared to 0 when a battery is installed while the power is off. Becomes 0
after the main power is first turned on.
• With the SETSMEM command, 4 bytes can be set at the same time. Whenthe contents are updated, use the INTBACK command to read, modify, or
write the currently saved data.
• If the power is turned off when the SETSMEM command is issued:(1) All data is updated when the SETSMEM command internal processing is
executed first by the power off sequence.
(2) When the power off sequence is executed first, the data before thecommand was issued is saved.

GA

Remarks

OREG31 2010005F H

Co

ResultParameter

17 H

nti
al

NO. 2

2.5

RTC Commands

ntial

The details for the RTC commands are given in table format. The way to view thecommand tables and precaution items are given below. Also, a status flag is used foreach command to control dual command issue.
SMPC Interrupt
The word “generation” means that a SMPC interrupt is generated by the SH-2 via
the SCU when the command ends. In addition, the interrupt can be enabled or
disabled by setting the SCU.

nfi

de

IREG, OREG
• Shows the details of the IREG and OREG used by commands.
• A command parameter is a parameter that is set in IREG before the command isissued.
• A result parameter is a parameter that is set in OREG before the command is
executed.
• Result parameter OREG31 is set when the SMPC begins command processing.
The command code is output to OREG31. Also using it as a status flag (SF) makes
it possible to determine:
Which command is executing(SF=1)
Which command has finished(SF=0)SE

GA

Co

Execution Time
Shows the execution time calculated from the number of SMPC internal firmware
steps. When there is a collision with an internal task, such as a RTC increment, thecommand execution time is changed, so the minimum and maximum range values
are given.

SMPC User's Manual

45

SETTIME

SMPCInterrupt

Interrupt Generation
Not Possible

Function
Description

CommandCodeTime Setting
IREG

0~6

OREG

Sets the RTC time.

CommandParameter

max
XXX

Execution
Time

31

bit7

bit4 bit3

16 H

nti
al

NO. 1

min
70 µsec

bit0

IREG0 20100001H

Year 1000s Place

IREG1 20100003H

Year 10s Place

IREG2 20100005H

Day

IREG3 20100007H

Days 10s PlaceDays 1s Place(BCD)

IREG4 20100009H

Hour 10s Place

Hour 1s Place(BCD)

IREG5 2010000BH

Minute 10s Place

Minute 1s Place(BCD)

IREG6 2010000DH

Second 10s Place

Second 1s Place(BCD)

Year 1s Place

(BCD)

de

(BCD)

nfi

Month (Hexadecimal) Note 2

Co

Note 1:

Note 1

Year 100s PlaceDays
0H: Sun. 1H: Mon. 2 H: Tue. 3 H: Wed. 4H : Thur. 5H : Fri. 6H: Sat.

Note 2: Month
1H: Jan 2 H: Feb 3H: Mar 4 H: Apr 5H: May 6 H: Jun
7H: July 8H: Aug 9 H: Sep AH: Oct BH: Nov CH: Dec

Remarks

bit7

OREG031 25FC00BC H

GA

ResultParameter

•

•

46

0

0

1

0

1

1

0

The time is initialized to "12/31/93 Friday 23:59:59" and the count is started
during SMPC cold reset.
The SMPC cold reset is generated under the following conditions.
(1) When the reset switch in the SATURN background battery box ispushed down.
(2) When the battery is not installed or is dead and the main power is on.
(3) When 0 cleared when the battery is installed when the power is off.
When data that does not actually exist, a day higher than 7, a month higher
than 12, a date for a month not supported (correction is made for leap years
until 2099), hours above 24, minutes above 60, or seconds above 60 are set,
the set value or the count up value becomes undefined.
If the SETTIME command is issued while the power is off:
(1) All data is updated if the SETTIME command internal processing is
executed before the power off sequence.
(2) The data before command issuance is preserved when the power off
sequence is executed first.

SE

•

0

bit0

nti
al

GA

Co

nfi

de

Chapter 3 Peripheral Control

SE

Section 3 Contents
3.1 Peripheral Control Mode....................................................................................... 48
SMPC Control Mode............................................................................................. 48
INTBACK Command Use Method for SMPC Control Mode....................................... 53
Peripheral Data Collection Time Optimization.......................................................... 55
INTBACK Command's Command Parameters During Peripheral Data Acquisition...... 58
INTBACK Command Result Parameter During Peripheral Data Acquisition................ 61
Peripheral Data Configuration................................................................................ 65
Result Parameter Details........................................................................................ 66
SATURN Peripheral ID........................................................................................... 69
SH-2 Direct Mode..................................................................................................
74
Section 3 Contents
3.2 SATURN Peripheral 3.1
Standard
Format.....................................................................
76
Peripheral Control Mode ..........................................................
48
Purpose of SATURN 3.2
Peripheral
Standard
Format....................................................
76
SATURN Peripheral Standard Formats ....................................
76
SATURN Standard Format Types and Data Format.................................................. 76
3.3
Support
Peripheral
Data
Formatin
SMPC
ControlMode.........81
3.3 Support Peripheral Data Format for SMPC Control Mode......................................... 81
3.4 Format
Supportfor
Peripheral
Data
Formatin SH-2 Direct Mode .............
86
3.4 Support Peripheral Data
SH-2 DirectMode.............................................
86

SMPC User's Manual47Peripheral Control Mode

nti
al

3.1

The SH-2 can control peripherals via the SMPC. There are two peripheral control
methods. They are:1) SMPC Control Mode
2) SH-2 Direct Mode
SMPC Control Mode
Block Diagram

SH-2

de

Figure 3.1 shows the SMPC control mode block diagram. The SMPC control modesets the command parameter in the SH-2 interface register’s IREG and is started up
by issuing an INTBACK command. The peripheral data collection results are output
to the OREG as a result parameter.
SMPC

PDR1

nfi

SH-2
Interface
Register

Data Bus
8

7

PDR2

Co

7

Figure 3.1 SMPC Control Mode Block Diagram
Characteristics

Used as an effective method to keep overhead to a minimum when accessing peripherals from inside an application.
Settings for Using SMPC Control ModeSE

GA

Figure 3.2 shows an setting example for using the SMPC control mode for port 1.
Mode settings are set independently for each port.

48

nti
al

SMPC Control ModeSet DDR1 to "00H"

When using EXL1 "0",disable EXL1 to "0".

de

Set IOSEL1 to "0"Setting End

nfi

Figure 3.2 SMPC Control Mode Setting Example.
• Parallel I/O Register Default Value During Power On

During power-on, the parallel I/O register is set to the default values shown in
Table 3.1.

Register NameIOSEL1/2
EXL1/2
DDR1/2

Co

Table 3.1 Parallel I/O Register Default Values During Power-On
Setting Value

0H
0H

00H

Description

SMPC control mode
PAD interrupt
VDP2 external latch disable
Input of all bits

SMPC Control Mode Use Method

GA

When using the INTBACK command and acquiring peripheral data, the collected
peripheral data is output to the OREG as a result parameter. However, it is possiblethat the collected peripheral data is larger than the OREG capacity. At this time, in
the SMPC control mode, peripheral data acquisition is stopped when the OREG
becomes full. When the OREG becomes full with peripheral data, the SMPC generates an SMPC interrupt and sends a request for peripheral data acquisition to the
SH-2.

SE

Also, when there is still peripheral data that should be collected, it is displayed thatdata still remains in the status register. After the SH-2 acquires the peripheral data, acontinue request is sent to the SMPC which causes the SMPC to begin acquiring
peripheral data again. When the remaining peripheral data is not needed, peripheral
data acquisition is ended by a break request.
The above sequence is illustrated in Figures 3.3 and 3.4.

SMPC User's Manual49

Continue Requestntial

A continue request from the SH-2 to the SMPC is done by reversing the IREG bit 7.
Break Request

A break request from the SH-2 to the SMPC is made by writing “1” in the IREG0’s
bit 6.
Precautions Regarding Continue and Break Requests

When requesting continue or break, be aware of the conditions given in Table 3.2.
Table 3.2 Continue and Break Issue Conditions
Issue to be requested
Break
X
O

O
O

X
O

Received Condition
SMPC Operation
Hold
Request Wait
Break
Peripheral data collection is stopped and
INTBACK command is terminated.
Continue
Peripheral data collection is continued.
Prohibited
No guaranteedeContinueX
X

nfi

Termination Conditions for INTBACK Command that Acquires Peripheral Data

SE

GA

Co

The INTBACK command that acquires peripheral data is terminated by the following conditions.
1) When all peripheral data acquisition is completed.
2) When peripheral data collection could not be completed by V-BLANK-IN (timeover).
3) Peripheral data collection was terminated by a break request from the SH-2.

50

nti
al

SH-2

SMPC
IREG Set

INTBACK Command Issued

deCollect Peripheral Data
and Create OREG

Interrupt Generated
Data Remains

nfi

OREG Acquisition
CONTINUE Request

Interrupt Generated•••

OREG Acquisition
CONTINUE Request

Co

Data Remains

Data Remains

Create OREG

Create OREG

Interrupt Generated

GA

Data Remains

OREG Acquisition
CONTINUE Request

Interrupt Generated

Create OREGSE

No Data Remains
INTBACK Command Ends

Figure 3.3 All Peripheral Data Acquisition Sequence

SMPC User's Manual

51

SMPC
IREG Set

INTBACK Command Issued

nti
al

SH-2

Interrupt Generated
Data Remains

nfi

OREG Acquisition
CONTINUE RequestdeCollect Peripheral Data
and Create OREG

Interrupt Generated•••

Data Remains

OREG Acquisition
CONTINUE Request

Co

Data Remains

Create OREG

Create OREG

Interrupt Generated

OREG Acquisition
BREAK RequestGA

Data Remains

INTBACK Command EndsSE

Figure 3.4 Peripheral Data Acquisition Cancel Sequence Due to Break Request

52

nti
al

Methods for Using INTBACK Command in SMPC Control Mode
Section 2 explained how to acquire SMPC status using the INTBACK command. As
was explained in Section 2, the INTBACK command can be used in three ways.
1) To acquire only the SMPC status.
2) To acquire peripheral data after acquiring SMPC status.
3) To acquire only peripheral data.
This section continues on mainly explaining the peripheral control functions by
explaining (2) “to acquire peripheral data after acquiring SMPC status” and (3) “toacquire only peripheral data.”
How to Acquire Peripheral Data After Acquiring SMPC Status

nfi

de

Here the procedure for acquiring peripheral data after acquiring the SMPC status is
explained. The procedure for acquiring SMPC status is explained in Section 2, so thefollowing only explains the procedure after status data acquisition. (Refer to Figures
3.3 and 3.4)
1) Continue request or break request (SH-2)
2) Peripheral data acquisition and result parameter setting (SMPC)
3) SMPC interrupt generation (SMPC)
4) Peripheral data acquisition (SH-2)
If peripheral data still remains, repeat processing from (1).
5) INTBACK command end

Co

How to Acquire Only Peripheral Data

SEGA

The procedure for using the INTBACK command to acquire only peripheral data is
explained below. (Refer to Figures 3.3 and 3.4)
1) Command parameter setting (SH-2).
2) INTBACK command issue (SH-2). Examples are given in Table 3.3.
3) Peripheral data collection and result parameter setting (SMPC).
4) SMPC interrupt generation (SMPC).
5) Peripheral data acquisition (SH-2)
When no peripheral data remains, the INTBACK command ends (SMPC).
6) Continue request or break request (SH-2)
7) When continue is requested the processing in (3) is repeated.
8) INTBACK command end.

SMPC User's Manual53

Table 3.3 Example Acquisition Command Parameter Setting When Only Peripheral
Data Is Acquired

IREG1

Description

00H

The data and time, cartridge code, area code, terminal
status, SMEM, and reset button mode data are not
returned.
Application specifications Port 2 mode (P2MD1, P2MD0)=from application(except PEN bit)
specifications
Port 1 mode (P1MD1, P1MD0)=from application
specifications
Peripheral data enable (PEN)=1B return peripheral data
Acquisition time optimization (OPE)=from application
specifications
F0H
Set unconditionally in F0H.

SE

GA

Co

nfi

de

IREG2

Setting Value

nti
al

IREG

IREG0

54

nti
al

Peripheral Data Collection Time Optimization
The application processing cycle for the SMPC was created as follows.
1) Peripheral data is prepared until V-BLANK-IN.
2) The sprite and control screen parameter in the peripheral are calculated andoutput.
3) 3D calculation, etc.
4) Sprite and polygon drawing.
5) DisplaydeThe purpose of optimizing the peripheral data collection time is to collect the peripheral data as close to V-BLANK-IN as possible. In other words, the start of peripheral data collection is made as close as possible to V-BLANK-IN to shorten thetime from peripheral data collection to peripheral data acquisition by SH-2. Figure
3.5 shows an operation overview of peripheral data collection time optimization.

OREG Acquisition Peripheral
Peripheral Data Change Information is 1

nfi

INTBACK Issued

V-BLANK

1

Response Is Slow

Co

Peripheral Data Acquisition

Peripheral Data Is Changed

END

INTBACK Issued

Optimization

Peripheral Data Change

OREG Acquisition Peripheral
Information is 2

1 ms

2
Collection Start
Timing is Offset

Peripheral Data
Collection
END

SE

GA

V-BLANK

Figure 3.5 Overview of Peripheral Data Collection Time Optimization

SMPC User's Manual55

Operations when Peripheral Data Collection Time Is Not Optimized

Precautions when Peripheral Data Collection Time Is Not OptimizedntialIssue the INTBACK command after 300 µs prior to V-BLANK-IN and before VBLANK-OUT. This makes it possible to accurately start peripheral data collection at
V-BLANK-OUT. Peripheral data collection starts when the SMPC detects V-BLANKOUT. The INTBACK command terminates at the time peripheral data collection isfinished.
The peripheral data collection end timing varies depending on the type and numberof peripherals that are connected. For example, for a SATURN standard PAD 2 unit
configuration, all the peripheral data is put in the OREG much faster than VBLANK-IN.

de

If an SMPC interrupt is used in this case, peripheral data can be acquired faster thanwith V-BLANK-IN. Also, as above, when less than 32 OREG are used, peripheral
data can be acquired using V-BLANK-IN timing without using an SMPC interrupt.
Operations for Optimizing Peripheral Data Collection Time

nfi

Issue the INTBACK command after 300 µs after V-BLANK-IN and before V-BLANKOUT. This makes it possible to accurately start peripheral data collection at VBLANK-OUT.

Co

When optimizing peripheral data collection time, the SMPC first collects peripheral
data without optimization and measures the collection time. The peripheral datacollection start timing is the timing when the SMPC detects V-BLANK-OUT, as in
the case when peripheral data collection time is not optimized.
From the next frame, a 1 msec margin is added to the measured time, and this time
is used as the peripheral data collecting time. The peripheral data is collected using
this timing. Refer to Figure 3.5 for more.

SE

GA

After that, the peripheral data collection time is constantly monitored and the datacollection time is optimized. Also, if a time-over occurs after optimization, the nexttime optimization is be performed, V-BLANK-OUT will be used as the start timing.

56

Precautions when Optimizing Peripheral Data Collection Timential

The peripheral data collection timing varies depending on the type and number of
peripherals that are connected. When performing peripheral data collection time
optimization, verify the types, number, and configuration of connected peripherals
and make a sufficient evaluation to prevent time-over from occurring.

SE

GA

Co

nfi

de

In addition, when using continue as well, the continue request wait-time is measured as part of the peripheral data collection time. Therefore, make the time from
SMPC interrupt generation to continue request as short as possible, and be sure to
execute them at a set time.

SMPC User's Manual57

IREG0nti
al

INTBACK Command’s Command Parameters During Peripheral Data Acquisition
Following is an explanation of command parameters when peripheral data is acquired
using the INTBACK command.
There are two IREG0 settings: when the INTBACK command is issued and when continue or break is requested.
• When INTBACK Command Is Issued

bit0

bit7

IREG0 20100001Hde

The IREG0 uses the SMPC status acquisition switch.

Status Acquisition Switch (00H or 01H)

Initial Value: Not Specified Write Only

nfi

IREG0: SMPC Status Acquisition Switch Setting Value
IREG0 Setting
Value

Explanation

All data for date and time, cartridge code, area code, terminal
status, SMEM, and reset button mode are not returned.

01H

All data for date and time, cartridge code, area code, terminal
status, SMEM, and reset button mode are returned.

Co

00H

Figure 3.6 IREG0 (During INTBACK Command Issue)• During Continue and Break Request

bit7

GA

The IREG0 uses the continue and break requests sent to the SMPC.
When the SMPC receives a continue request, it begins collecting the remaining
peripheral data. When it receives a break request, it stops collecting peripheral data
and terminates the INTBACK command.

IREG0 CONT

BR

---

---

bit0
---

---

---

---

SE

CONT: CONTINUE Request Bit
CONTINUE is requested by changing the value of this bit.
BR:
BREAK Request Bit
A BREAK request is made by changing this bit to "1."---:Possible for both 0 H and 1H .
Figure 3.7 IREG0 (During Continue and Break Requests)

Note:

58

When the CONT.BR request value that has reached maximum is also written in IREG0, it
cannot be guaranteed which operation the SMPC will execute. Refer to Table 3.2.

IREG1

bit7

IREG1 20100003H

bit4

P2MD1 P2MD0 P1MD1 P1MD0nti
al

The IREG1 uses the peripheral data collection mode.

bit3

PEN

bit0

0

OPE

0

15-Byte Mode
255-Byte Mode
SEGA RESERVED (Setting Restricted)
0-Byte Mode

Explanation

15-Byte Mode
255-Byte Mode
SEGA RESERVED (Setting Restricted)
0-Byte ModeCo

Bit5, 4: Port 1 Mode
Bit7
Bit 6
P1MD1
P1MD0
0
0
1
0
1
0
1
1

Explanation

nfi

Bit7, 6: Port 2 Mode
Bit7
Bit 6
P2MD1
P2MD0
0
0
1
0
1
0
1
1

de

Unde. Unde. Unde. Unde. Unde. Unde. Unde. Unde.
W
W
W
W
W
--W
---

Bit3: Peripheral Data Enable
Bit3
Explanation
PEN
0
Peripheral Data Not Returned
Peripheral Data Returned
1

SE

GA

Bit1: Acquisition Time Optimization
Bit1
Explanation
OPE
0
Peripheral Data Acquisition Time Optimized
Peripheral Data Acquisition Time not Optimized
1

Note:

Figure 3.8 IREG1

When both the SH-2 direct mode and SMPC control mode are both used (example:
port 1=SH-2 direct mode, port 2=SMPC control mode), use the 0 byte mode in theport used by SH-2 direct mode when the INTBACK command is issued.

SMPC User's Manual

59

nti
al

IREG2

bit0

bit7

F0 H

IREG2 20100005H
Initial Value: Not Specified Write Only

SE

GA

Co

nfi

Figure 3.9 IREG2

deWhen issuing the INTBACK command, be sure to set F0H in IREG2.

60

nti
al

INTBACK Command Result Parameter During Peripheral Data Acquisition
Following is an explanation of the result parameter when peripheral data is acquired
using the INTBACK command.
Basic Configuration of Result Parameter Acquired Using INTBACK Command

When the INTBACK command is executed, the result parameter shown in Figure
3.10 is configured in the status register and OREG.

SE

GA

Co

nfi

de

The peripheral control status shows the statuses used during peripheral control
mode. Port 1 status and port 2 status show their respective port peripheral connection states. The connected peripheral’s ID and peripheral data are output in the port
1 data and port 2 data. When the peripheral is directly connected to the peripheral
port, the peripheral data for one unit is output. When a multitap is connected, theperipheral data for several taps is output.

SMPC User's Manual

61

SR

=

1

nti
al

Peripheral Control
StatusPDL NPE RESB P2MD1P2MD0 P1MD1 P1MD0
Num. of= Multitap ID Connectors

Port 1 Status
Peripheral 1 Data

OREG
Port 2 Data

Peripheral 2 Data

SATURN Peripheral ID =.

Extension Data Size.

Peripheral 1 1st Data.

Peripheral 1 2nd Data.

.

Peripheral m Data

SATURN
Peripheral Data Size
Type

de

Port 1 Data

.
.

SE
62

The maximum nth is 255.

Result Parameter Standard Configuration Acquired Using INTBACK Command

GA

Figure 3.10

0<m<15

Co

Port 1 data andPort 2 data havethe same structure

nfi

Peripheral 1 nth Data

Result Parameter Configuration During 0 Byte Mode

When Port 1 Mode and Port 2 Mode Are Other
Than 0-Byte Mode

SR

Peripheral Control
StatusntialWhen one of the ports is set to 0 byte mode, the port data set in 0 byte mode isremoved to make a smaller configuration. Figure 3.11 shows the data configuration
during 0 byte mode.

Port 1 Mode Is
0-Byte Mode

Peripheral Control
Status

OREG

Port 2 Mode Is
0-Byte Mode

Becomes configuration
where Port 1 Data portionis packed.
Peripheral Control
StatusPort 1 Data
Becomes configuration
where Port 2 Data portionis removed.

Co

nfi

Port 2 DatadePort 2 Data

Port 1 Data

Figure 3.11 Result Parameter Configuration when One Port is 0 Byte ModeSEGA

As shown above, the result parameter varies depending on the command parametersetting conditions. Table 3.4 shows the relation between the command parametersetting conditions and the created result parameter configuration.

SMPC User's Manual63

Command Parameter Setting Conditions and Peripheral Data Configuration

Returns
SMPC Status
X
X
X
X
X
X
X
X
O
O
O
O
O
O
O
O

Result Parameter Configuration

Returns
Has Port 1 Has Port 2
Peripheral Data
Control
Control
X
X
X
X
X
O
X
O
X
X
O
O
O
X
X
O
X
O
O
O
X
O
O
O
X
X
X
X
X
O
X
O
X
X
O
O
O
X
X
O
X
O
O
O
X
O
O
O

Port 1 Data
X
X
X
X
X
X
O
O
X
X
X
X
X
X
O
O

SE

GA

Co

nfi

Use Prohibited

SMPC
Status
X
X
X
X
X
X
X
X
O
O
O
O
O
O
O
O

64

Port 2 DatantialCommand Parameter Setting ConditionsdeTable 3.4

X
X
X
X
X
O
X
O
X
X
X
X
X
O
X
O

Extension Data Size
Peripheral 1 1st Data
Peripheral 1 2nd Data
OREG
.
.
.
.

SATURN Peripheral ID Configuration
bit7

bit4 bit3
bit0
SATURN
Data Size
Peripheral TypedeSATURN Peripheral ID

ntialPeripheral Data Configuration
The peripheral data configuration is shown in Figure 3.12. Peripheral data consistsof the SATURN peripheral ID and peripheral data. The peripheral data body without the SATURN peripheral ID has a maximum of 255 bytes.

Peripheral 1 nth Datanfi

The extension data size is added for peripherals
with data sizes of 16 bytes or more. Also, themaximum size for nth is 255.

SE

GA

Co

Figure 3.12 Peripheral Data Configuration

SMPC User's Manual65Result Parameter Details
Peripheral Control Status

bit7

P2MD:

RESB:

NPE:
PDL:

RESB P2MD1 P2MD0 P1MD1 P1MD0

Port 1 Mode00: 15-byte mode (Returns peripheral data up to a maximum of 15 bytes.)
01: 255-byte mode (Returns peripheral data up to a maximum of 255 bytes.)
10: Unused
11: 0-byte mode (Port is not accessed.)
Port 2 Mode00: 15-byte mode (Returns peripheral data up to a maximum of 15 bytes.)
01: 255-byte mode (Returns peripheral data up to a maximum of 255 bytes.)
10: Unused
11: 0-byte mode (Port is not accessed.)
Reset Button Status Bit
0: Reset Button OFF
1: Reset Button ON
Reading without regard for INTBACK command is possible. (Shows
status for each V-BLANK-IN.)
Remaining Peripheral Existence Bit
0: No remaining data
1: Remaining data
Peripheral Data Location Bit
0: 2nd or above peripheral data
1: 1st peripheral data
Always 1

GA

bit7:

NPE

de

P1MD:

PDL

nfi

1

Co

SR

bit0

SE

Figure 3.13 Peripheral Control Status

66

nti
al

The SMPC outputs the peripheral control status to the status register (SR) when the
SMPC control mode is used. The status register (SR) is a register that can be read
without regard for the INTBACK command. However, when the register is readwhen the INTBACK command is not in use, all bits except the RESB bit will be
undefined.

Port Status

bit7

nti
al

The port status is 1-byte data that shows the state of the peripheral connected to theport. Using the port status makes it possible to determine if the peripheral is directly
connected to the corresponding port or if a multitap is connected. Figure 3.14 shows
the port status configuration.
bit4 bit3
Multitap ID

bit0

Number of Connectors

Figure 3.14 Port Status Configurationde• Number of Connectors

nfi

If the peripheral is directly connected to the peripheral port, 1H is shown; only one
peripheral can be connected to the port. If a multitap is connected, the number oftaps in the multitap is shown. When nothing is connected to the peripheral port,
or when a peripheral that the SMPC does not recognize is connected to the port,
0H is shown.
Table 3.5 shows the relation between the number of connectors and the connected
peripheral.
Table 3.5 Relation Between the Number of Connections and Peripherals
Number of Connectors

SE

GA

1H
2H ~FH

Connected Peripheral• Not connected• SMPC UNKNOWN peripheral is connected• Peripheral is directly connected• Number of taps in the multitap

Co

0H

SMPC User's Manual67• Multitap ID

ntial

The multitap ID is classified as follows depending on the peripheral connected.
1) When a peripheral is directly connected to the peripheral port, or none isconnected at all, the multitap ID is shown as FH.
2) When a multitap is connected to the peripheral port, 0H~EH is shown.
3) When a device not recognized by the SMPC (UNKNOWN device) is connectedto the peripheral port, the Mega Drive peripheral ID (hereafter MD PID) isshown.

deThe connection of a SMPC UNKNOWN device is determined during the initial
phase between the SMPC and the peripheral by the transmission of a MD PID that
the SMPC does not support. When a justifier (Lethal Enforcers), etc., is used, connection determination is performed by the SMPC control mode, and can behandled by using the SH-2 direct mode after port status acquisition. In addition, if
an error occurs in the circuit between the SMPC and the peripheral during initial
phase, the peripheral is also determined to be UNKNOWN.
Table 3.6 Relation Between Connected Peripherals and Multitap ID
Data Shown in Multitap ID

nfi

Peripheral Connected to the
Peripheral Port

Peripheral is directly connected or
not connected
Multitap is connected
UNKNOWN device is connected.

FH

0H ~EH
MD-PIDCo

The multitap ID is collected separately from the SATURN peripheral ID. The
multitap ID is supplied by the multitap specifications. The multitap IDs andnumber of connectors currently supported are shown in Table 3.7.
Table 3.7 Multitap ID and Number of Connectors
Multitap Name

Multitap ID

Number of Connectors

0H
1H

4H
6H

SE

GA

SEGA Tap
SATURN 6P Multitap

68

SATURN Peripheral ID
SATURN Peripheral ID Configuration

bit7

nti
al

The SATURN peripheral ID is configured from the peripheral type and data size.
The peripheral data configuration and contents can be recognized from the SATURN
peripheral ID. The SATURN peripheral ID is shown in Figure 3.15.

bit4 bit3

bit0

SATURN Peripheral Type

Data Size• SATURN Peripheral TypedeFigure 3.15 SATURN Peripheral ID Configuration

nfi

The SATURN peripheral type shows the type of peripheral. Therefore, it is used torecognize how the peripheral data is aligned. Currently, four peripheral types aredefined for SATURN and are presented as the standard format. For details, pleaserefer to the item covering “SATURN Peripheral Standard Format.”• Data Size

SE

GA

Co

The data size shows how many bytes after the SATURN peripheral ID are being
output. Therefore, using the data size makes it possible to recognize from how
many bytes the peripheral data table is configured. It also makes it possible torecognize where the start of the next peripheral data table is.

SMPC User's Manual69

SATURN Peripheral ID Details• When a Peripheral Is Directly Connected to the Peripheral Port

Combinations of Peripheral Data Size and Port Mode (Peripheral Is
Connected Directly to Peripheral Port)deTable 3.8

nti
al

SATURN peripherals can define a data size up to a maximum of 255 bytes.
There are two types of SATURN peripherals; those of 15 bytes or less and those of
16 bytes or more up to 255 bytes. There are also two port modes; 15-byte modeand 255-byte mode. Therefore, as shown in Table 3.8, there are four combinations
that can be made from the peripheral data size and port mode. The SATURN
peripheral ID and peripheral data configuration are shown from Figure 3.16 to
Figure 3.18.

Port Mode (IREG1 Setting)15

Peripheral Data Configuration 1

nfi

15

16- Peripheral Data Peripheral Data
255 Configuration 2 Configuration 3

Co

Peripheral Data Size
(Byte)

bit7

SATURN Peripheral ID

255

bit4 bit3

bit0

OH~E H

1H~F H

SATURN Peripheral Type

Data Size

bit7

bit0

Peripheral Data 1st

GA

Peripheral Data Table

Peripheral Data 2nd.
.
.
Peripheral Data nth

nth shows the data size. The maximum size is 15 bytes.

SE

Figure 3.16 Peripheral Data Configuration 1

70

nti
al

bit7
SATURN Peripheral ID

bit4 bit3

OH~E H

SATURN Peripheral Type
Extension Data Size

OH

bit0

0H

Data Size
FH

Peripheral Data 1st

Peripheral Data 2nd
.
.
.

de

Peripheral Data Table

Peripheral Data 15th

nfi

Extension data size is limited to 15 bytes.
When accessed using 255-byte mode and the extension data
size is a combination of 0FH, permission will not be given by the
peripheral development side.

Co

Figure 3.17 Peripheral Data Configuration 2

bit7

bit4 bit3

bit0

OH ~EH

0H

SATURN Peripheral Type

Data Size

Extension Data Size

1O H ~FFHGA

SATURN Peripheral ID

Peripheral Data 1st

SE

Peripheral Data Table

SMPC User's Manual

Peripheral Data 2nd.
.
.
Peripheral Data nth
nth shows the data size. The maximum size is 255 bytes.

Figure 3.18 Peripheral Data Configuration 3

71

• When a Multitap Is Connected to the Peripheral Portnti
alWhen the multitap is connected, the port mode shows the maximum data sizethat can be collected from the peripherals connected to each tap. (This is not the
total number of data that can be collected from the entire multitap.)

If the connected peripheral is 15 bytes or less, the peripheral data configuration 1
will be used whether the port mode is 15 bytes or 255 bytes. If the connected
peripheral is 16 bytes or more and the port mode is the 15-byte mode, only up to
15 bytes of data can be collected as for peripheral data configuration 2. If theconnected peripheral is 16 bytes or more and the port mode is the 255-byte mode,
all the peripheral data can be collected as in peripheral data configuration 3.

deAlso, if the specifications for the multitap itself are limited to 15 bytes or less, alldata of 16 bytes and beyond is cut off. With a multitap, it is possible to mix theconnection of peripherals of 15 bytes or less and 16 bytes or more. However, whenan INTBACK command is issued, the port mode can only be set to either 15-byteor 255-byte mode.

Co

nfi

Here, the specifications of the multitap define the maximum data size that can becollected for each tap. When a multitap is used, the port mode setting is set tofollow the tap’s maximum data size. In other words, if the multitap’s specification
is a maximum of 15 bytes, the port mode should be set to 15-byte mode, and if themultitap’s maximum specification is 255 bytes, the port mode should be set to255-byte mode.
The SATURN 6P multitap is a maximum of 15 bytes per tap. Use the 15-bytemode for the port mode. Table 3.9 shows combinations of the multitap data size
and the port mode. The peripheral data configurations 1~3 in Table 3.9 are thesame as those shown in Figures 3.16~3.18.

SEGA

The connection state of all taps when using a multitap is shown by each tap’s
SATURN peripheral ID. When no peripheral is connected to the tap, or when theconnected device is UNKNOWN, the SATURN peripheral ID is output as shownin Figures 3.19 and 3.20.

72

nti
al

Table 3.9 Combinations of Peripheral Data Size and Port Mode (Multitap)
Port Mode (IREG1 Setting)15
15

Peripheral Data Configuration 1

16-255

Peripheral Data Peripheral Data
Configuration 2 Configuration 3

Not
Connected Tap Peripheral Not Connected
UNKNOWN

bit7

bit0

FFH

nfi

SATURN Peripheral ID

Tap Peripheral UNKNOWN

dePeripheral Data
Size (Byte)

255

Figure 3.19 SATURN Peripheral ID when Tap Unconnected

Co

bit7

SATURN Peripheral ID

bit4 bit3

FH

bit0
0~EH

Data Size
SATURN Peripheral TypeThe Mega Drive peripheral ID is output to the data size.
It can be handled the same as the previously mentioned SMPCUNKNOWN.

SE

GA

Figure 3.20 SATURN Peripheral ID when Tap Unknown

SMPC User's Manual73SH-2 Direct Mode
Block Diagram

SH-2

nti
al

Figure 3.21 shows the block diagram for the SH-2 direct mode. The SH-2 can directly
access peripherals via the two I/O port data registers (PDR1, PDR2) in the SMPC.
SMPC
PDR1
Data Bus

7

8
PDR2

de

7

Figure 3.21 SH-2 Direct Mode Block Diagram
Characteristics

SE

GA

Co

nfi

This mode becomes an effective means during the following procedures:
1) When controlling peripherals that require high-speed access that is faster than
the access speed possible in the SMPC control mode.
2) When data output from the peripherals is required.
3) When access to peripherals that need an external latch is required.
4) When access is required to a peripheral that is not supported by the SMPC.

74

Settings for Using the SH-2 Direct Mode

SH-2 Direct Modede

Set PDR1ntialFigure 3.22 shows an example of a setting for using the SH-2 direct mode and shows
an example of a setting to port 1. Mode settings can be done independently for eachport.

Set DDR1

nfi

Set IOSEL1 to "1"NO

External Latch Required
YES

Co

Set EXLE1 to "1"

Setting End

Figure 3.22 SH-2 Direct Mode Setting Example

SE

GA

When both the SH-2 direct mode and the SMPC control mode are used (example:
port 1=SH-2 direct mode, port 2=SMPC control mode), use the 0 byte mode for the
port used by the SH-2 direct mode at an INTBACK command issue.

SMPC User's Manual

75

3.2

SATURN Peripheral Standard Formats

ntialPurpose of SATURN Peripheral Standard Formats
The SATURN peripheral standard format was prepared for the following purposes.
1) To be able to control multiplay even though the peripheral data configurations,types, and meanings are different.
2) To be able to perform multiplay and to use any upward compatible peripherals,
such as increase buttons, increased number of analog channels, and added extension data, that may be sold in the future; as well as controlling previously soldapplications.

de

SATURN Standard Format Types and Data Formats
There are currently four SATURN standard formats that were created for the above
stated purposes. An explanation of these is given below.
• SATURN Digital Device

nfiThis is a device that is only configured with buttons and is represented by the
SATURN standard PAD. The basic peripheral type is 0H and the data size is 2
bytes. The format characteristic is that the 1st Data is configured with the samevalue as the Mega Drive 3 button.

Co

Compatibility is preserved by adding the 1st Data to the application, which makes
it possible to control the application. Table 3.10 shows the SATURN digital device
format.
Table 3.10 SATURN Digital Device Standard Format
bit7

bit6

bit5

bit4

0

0

0

0

1st Data

Right

Left

Down

Up

2nd Data

R TRG X TRG Y TRG Z TRG

SATURN Peripheral ID

3rd Data

bit1

bit0

Data SizeStart

A TRG C TRG B TRG

L TRG

Extension Data

Extension DataGA

nth Data

bit2

Extension Data

:
:

bit3

Extension Data
Extension DataSE

Right, Left, Down, Up, Start, A TRG, C TRG, B TRG, R TRG, X TRG, Y TRG, Z TRG, and L TRG
become 0 when the button is pushed down.

76

nti
al

• SATURN Analog Device
These devices, such as the analog joystick, analog steering wheel, and tablet,
contain an A/D converter. The basic peripheral type is 1H and the data size is
5 bytes. The format characteristic is that the 1st Data is configured with the samevalue as the Mega Drive 3-button PAD.
Compatibility is preserved by adding the 1st Data to the application, which makes
it possible to control the application. Table 3.11 shows the SATURN analog device
standard format.
Table 3.11 SATURN Analog Device Standard Format
bit7
bit6
bit5
bit4
0

1st Data

Right

Left

2nd Data

R TRG X TRG Y TRG Z TRG L TRG

3rd Data

AX7

4th Data

AY7

AY6

5th Data

AZ7

AZ6

1

Down

Up

AX5

AX4

Start
AX3

bit2

bit1

bit0

Data Size

A TRG C TRG B TRG
Extension Data
AX2

AX1

AX0

AY5

AY4

AY3

AY2

AY1

AY0-

AZ5

AZ4

AZ3

AZ2

AZ1

AZ0

Extension Datanfi

6th Data

AX6

0

bit3

0

de

SATURN Peripheral ID:

Extension Data:

Extension Data

nth Data

Extension DataCo

Right, Left, Down, Up, Start, A TRG, C TRG, B TRG, R TRG, X TRG, Y TRG, Z TRG, and L TRG
become 0 when the button is pushed down.
AX7~AX0, AY7~AY0, and AZ7~AZ0 are the absolute values of the unsigned A/D converter
output.
For AX7~AX0 and AY7~AY0, the upper left is (0,0) and the bottom right is (255,255).
For AZ7~AZ0, the bottom is 0 and the top is 255.
• Pointing Device

GA

This device outputs rotary encoder movement quantities, such as those from amouse or trackball. The peripheral type is 2H and the basic data size is 3 bytes.
The format characteristic is that unlike the data tables for digital devices, analog
devices, and keyboard devices. The data table for pointing devices does not havedata with the same value as the Mega Drive 3-button PAD.

SE

In addition, the X and Y data movement is output as the amount of movement of
the rotary encoder (∆ delta), so if all three of the defined bytes are not supported,compatibility cannot be maintained. Table 3.12 shows the SATURN pointing
device standard format.

SMPC User's Manual77

SATURN Peripheral ID

0

0

1

bit3

0

bit1

bit0

Data Size

1st Data

Y Over X Over Y Sign X Sign

Start

2nd Data

XD7

XD6

XD5

XD4

XD3

3rd Data

YD7

YD6

YD5

YD4

YD3

4th Data

Extension Data:

Extension Data:

Extension Data

nth Data

Extension Data

Middle

Right

Left

XD2

XD1

XD0-

YD2

YD1

YD0

0: X or Y data is valid.
1: Data is over flowing. (255 exceeded)
0: X and Y data have positive values.
1: X and Y data have negative values.
Absolute value of amount of mouse movement.
Becomes 1 when button is pushed.

deY Over, X Over

bit2

nti
al

Table 3.12 SATURN Pointing Device Standard Format
bit7
bit6
bit5
bit4

Y Sign, X Sign
XD7~XD0, YD7~YD0
Start, Middle, Right, Left

nfi

• Keyboard Device

SE

GA

Co

Devices used for personal computers, represented by full keyboards. The peripheral type is 3H and the data size is 4 bytes. The format characteristic is that the 1stData is configured with the same value as for the Mega Drive 3-button PAD.
Compatibility is maintained by combining the 1st Data with the application tocontrol the application. Table 3.13 shows the SATURN keyboard device standard
format.

78

Table 3.13 SATURN Keyboard Device Standard Format
bit7

bit6

bit5

bit4

0

0

1

1

1st Data

Right

Left

Down

Up

2nd Data

R TRG X TRG Y TRG Z TRG L TRG

3rd Data

0

4th Data

D7

Caps
Lock
D6

Num
Lock
D5

bit2

bit1

bit0

Data Sizenti
al

SATURN Peripheral ID

bit3

Scroll
Lock
D4

Start

A TRG C TRG B TRG
Extension Data

Make

1

1

D3

D2

D1

Extension Data:

Extension Data:

Extension Data

nth Data

Extension Data

D0de

5th Data

Break

1: Caps Lock is locked (Caps Lock LED is lit.)
1: Num Lock is locked (Num Lock LED is lit.)
1: Scroll Lock is locked (Scroll Lock LED is lit.)
1 is shown when there is a valid Make code (a key that shows
D7~D0 code is pushed down) in D7~D0.
1 is shown when there is a valid Break code (a key that shows
D7~D0 code is pushed down) in D7~D0.
D7~D0 show the key No. They are used with both Make and Break.

GA

For Caps Lock
For Num Lock
For Scroll Lock
For Make

Key
→
←
↓
↑
ESC
Z
C
X
Q
A
S
D
E

Co

Button
Right
Left
Down
Up
Start
A TRG
C TRG
B TRG
R TRG
X TRG
Y TRG
Z TRG
L TRG

nfi

Right, Left, Down, Up, Start, A TRG, C TRG, B TRG, R TRG, X TRG, Y TRG, Z TRG, and L TRG
become 0 when the button is pushed down. The corresponding values for each button andkeyboard key are given below.

SE

For Break

SMPC User's Manual

79

nti
al

Future Expansion of Standard Formats
At the present time, four types of formats have been prepared. More will be prepared in the future when required.

SE

GA

Co

nfi

de

Precautions when Using Standard Formats
Because the system conforms to standard formats, when the data is larger than thestandard format size the extra data is deleted. Further, when the data size is smaller
than the standard format, other data will be added to make up the insufficiency. In
addition, As an example of how handling is done on the peripheral end, there isanalog X-Y control as for the analog joystick. When there is no appropriate digital
input, a value that is higher than that of the analog X-Y data is used on the peripheral end to make it possible to turn on and off the U, D, L, and R bits.

80

3.3

Support Peripheral Data Format in SMPC Control ModentialThis section describes the SMPC support peripheral data format in the SMPC control
mode. For detailed data on each peripheral, refer to the manual for each peripheral.
Mega Drive 3-Button PAD
Table 3.14 shows the Mega Drive 3-button PAD data format for SMPC control mode.
Table 3.14 Mega Drive 3-Button PAD Data Format in SMPC Control Mode
bit7
1
Right

bit6
1
Left

bit5
1
Down

bit4
0
Up

bit3
0
Start

bit2
bit1
bit0
0
0
1
A TRG C TRG B TRG

deSATURN Peripheral ID
1st Data

Right, Left, Down, Up, Start, A TRG, C TRG, and B TRG become 0 when the button is pushed.

Mega Drive 6-Button PAD
Table 3.15 shows the Mega Drive 6-button PAD data format for SMPC control mode.

SATURN Peripheral ID
1st Data
2nd Data

nfi

Table 3.15 Mega Drive 6-Button PAD Data Format in SMPC Control Mode
bit7
1
Right
MODE

bit6
bit5
bit4
1
1
0
Left
Down
Up
X TRG Y TRG Z TRG

bit3
0
Start
1

bit2
bit1
bit0
0
1
0
A TRG C TRG B TRG
1
1
1

Co

Right, Left, Down, Up, Start, A TRG, C TRG, B TRG, MODE, X TRG, Y TRG, and Z TRG become 0
when the button is pushed.

SE

GA

SATURN Mouse (Provisional Name)
Table 3.16 shows the SATURN mouse data format for SMPC control mode.

SMPC User's Manual81Table 3.16 SATURN Mouse Data Format in SMPC Control Mode
bit7
bit6
bit5
bit4
1
1
1
0
Y Over X Over Y Sign X Sign
XD7
XD6
XD5
XD4
YD7
YD6
YD5
YD4

Y Over, X Over

bit3
0
Start
XD3
YD3

bit2
0
Middle
XD2
YD2

bit1
1
Right
XD1
YD1

bit0
1
Left
XD0
YD0

nti
al

SATURN Peripheral ID
1st Data
2nd Data
3rd Data

0: X or Y data is valid.
1: Data is over-flowing. (255 exceeded)
0: X and Y data have positive values.
1: X and Y data have negative values.
Absolute value of amount of mouse movement.
Becomes 1 when button is pushed.

Y Sign, X Sign
XD7~XD0, YD7~YD0
Start, Middle, Right, Left

nfi

de

SEGA Tap
In the SMPC control mode, the port status shown in Table 3.17 is output. The SEGA
Tap is connected to the Mega Drive 3-button PAD, Mega Drive 6-button PAD, and
SEGA mouse. For information regarding peripheral data, refer to each peripheral
data format.
Table 3.17 SEGA Tap Port Status in SMPC Control Mode
Multitap ID
OH

No. of Connectors
4H

Co

SATURN Standard PAD (Provisional Name)
Table 3.18 shows the SATURN standard PAD data format for SMPC control mode.
Table 3.18 SATURN Standard PAD Data Format in SMPC Control Mode
SATURN Peripheral ID
1st Data
2nd Data

bit7
0
Right
R TRG

bit6
bit5
bit4
0
0
0
Left
Down
Up
X TRG Y TRG Z TRG

bit3
bit2
bit1
bit0
0
0
1
0
Start A TRG C TRG B TRG
L TRG
1
1
1

SE

GA

Right, Left, Down, Up, Start, A TRG, C TRG, B TRG, R TRG, X TRG, Y TRG, Z TRG and L TRG
become 0 when the button is pushed.

82

nti
al

SATURN Analog Joystick (Provisional Name)
Table 3.19 shows the SATURN analog joystick data format for SMPC control mode.
The data AX7~AX0, AY7~AY0, and AZ7~AZ0 are the absolute values output by theA/D converter.
Table 3.19 SATURN Analog Joystick Data Format in SMPC Control Mode
bit7
bit6
bit5
bit4
0
0
0
1
Right
Left
Down
Up
R TRG X TRG Y TRG Z TRG
AX7
AX6
AX5
AX4
AY7
AY6
AY5
AY4
AZ7
AZ6
AZ5
AZ4

bit3
bit2
bit1
bit0
0
1
0
1
Start A TRG C TRG B TRG
L TRG
1
1
1
AX3
AX2
AX1
AX0
AY3
AY2
AY1
AY0
AZ3
AZ2
AZ1
AZ0

de

SATURN Peripheral ID
1st Data
2nd Data
3rd Data
4th Data
5th Data

Right, Left, Down, Up, Start, A TRG, C TRG, B TRG, R TRG, X TRG, Y TRG, Z TRG, and L TRG
become 0 when the button is pushed down.
AX7~AX0, AY7~AY0, and AZ7~AZ0 are the absolute values of the unsigned A/D converter
output.

nfi

For AX7~AX0 and AY7~AY0, the upper left is (0,0) and the bottom right is (255,255).
For AZ7~AZ0, the bottom is 0 and the top is 255.

Co

SATURN Keyboard (Provisional Name)
Table 3.20 shows the SATURN keyboard data format for SMPC control mode.
Table 3.20 SATURN Keyboard Data Format in SMPC Control Mode
bit7
bit6
bit5
bit4
bit3
bit2
SATURN Peripheral ID
0
0
1
1
0
1
1st Data
Right
Left
Down
Up
Start
A TRG
2nd Data
KB
R TRG X TRG Y TRG Z TRG L TRG TYPE2
3rd Data
Caps
Num
Scroll
0
Make
1
Lock
Lock
Lock
4th Data
D7
D6
D5
D4
D3
D2

bit1
0
C TRG
KB
TYPE1

bit0
0
B TRG
KB
TYPE0

1

Break

D1

D0

SE

GA

Right, Left, Down, Up, Start, A TRG, C TRG, B TRG, R TRG, X TRG, Y TRG, Z TRG, and L TRG
become 0 when the button is pushed down.

SMPC User's Manual

83

Key
→
←
↓
↑
ESC
Z
C
X
Q
A
S
D
E

000: SATURN Keyboard
001~110: SEGA RESERVED
111: UNKNOWN

nfi

KBTYPE2~0

deButton
Right
Left
Down
Up
Start
A TRG
C TRG
B TRG
R TRG
X TRG
Y TRG
Z TRG
L TRG

nti
al

The corresponding values for each button and keyboard key are given below.

For Break

SE

D7~D0

1: Caps Lock is locked (Caps Lock LED is lit.)
1: Num Lock is locked (Num Lock LED is lit.)
1: Scroll Lock is locked (Scroll Lock LED is lit.)
1 is shown when there is a valid Make code (a key that shows
D7~D0 code is pushed down) in D7~D0.
1 is shown when there is a valid Break code (a key that shows
D7~D0 code is pushed down) in D7~D0.
Shows the key No. They are used with both Make and Break.

GA

For Caps Lock
For Num Lock
For Scroll Lock
For MakeCo

The KBTYPE shown here is used for the IBM keyboard conversion adapter format.
When IBM keyboards 101, 102, and 106 are connected to the conversion adapter, 000
is displayed. When a keyboard not supported by the conversion adapter, or when adevice not recognized as a keyboard is connected to the conversion adapter, 111 is
output. In the future, with the integration accompanying the commercialization of
the keyboard, the system will be configured to output 000.

84

nti
al

SATURN 6P Multitap (Provisional Name)
In the SMPC control mode, the port status shown in Table 3.21 is output. The SATURN 6P multitap is connected to the Mega Drive 3-button PAD, Mega Drive 6button PAD, SATURN standard PAD (provisional name), SATURN analog joystick(provisional name), SATURN mouse (provisional name), and SATURN standard
keyboard (provisional name). For information regarding peripheral data, refer toeach peripheral data format.
For the SATURN 6P multitap, the maximum data size for each tap is 15 bytes. Use
the 15-byte port mode.

No. of Connectors
6H

SE

GA

Co

nfi

Multitap ID
1H

deTable 3.21 SATURN 6P Multitap Port Status

SMPC User's Manual

85

3.4

Support Peripheral Data Format in SH-2 Direct ModentialThis section explains about peripheral access protocols and data formats in the SH-2
direct mode.

About Peripheral Port Bit Names
The SMPC peripheral ports were configured to succeed Mega Drive peripheral ports
to maintain compatibility. The naming method for port bit names was also kept.
Table 3.22 shows the relationship between the port bit number and port bit name.
Hereafter, this manual will give explanations using port bit names.

Port Bit Number
Port Bit Name

bit6
TH

bit5
TR

bit4
TL

de

Table 3.22 Relationship Between Port Bit Number and Port Bit Name
bit3
R

bit2
L

bit1
D

bit0
U

(TH=1)(TH=1)(TH=0)(TH=0)

Co

ID3=R # L
ID2=D # U
ID1=R # L
ID0=D # USEGA

# signifies the logical sum OR.

86

nfi

Mega Drive Peripheral ID Computing Method in SH-2 Direct Mode
The Mega Drive peripheral ID calculation formula is given below, and is shown by
the four bits ID3, ID2, ID1, and ID0.

nti
al

Port Setting During Mega Drive Peripheral ID Acquisition
The port direction register setting values during Mega Drive peripheral ID acquisition are shown in Table 3.23. When the port direction is set as shown below, Read is
performed when TH=1 for RLDU and TH=0 for RLDU, and the Mega Drive peripheral ID can be output using the above explained formula.
After TH is changed, read the R, L, D, and U after 2 µS.
Table 2.23

Port Direction Register Setting Value During Mega Drive Peripheral ID
Acquisition
TH

TRPort Direction

Set to Output

TL

R

L

D

U

Set to InputdePort Bit Name

Peripheral Interface Protocol
There are three types of peripheral interface protocols. Following is given an overview of each peripheral protocol and the peripherals they support.

nfi

TH Control Method

Co

The TH control method interface protocol is a method that acquires data when TH=1
for TR, TL, R, L, D, and U and when TH=0 for TR, TL, R, L, D, and U. The peripherals that support this protocol are the Mega Drive 3-button PAD and Mega Drive 6button PAD.
TH and TR Control Method

The TH and TR control method interface protocol is a method that acquires datawhen the 4-bit pattern for TH and TR is R, L, D, and U. The peripheral that supports
this protocol is the Saturn Standard PAD.
3-Line Handshake MethodGA

The 3-line handshake method SEL (select) the peripheral when TH=0, transfers REQ(request) from TR, and then returns an ACK (acknowledgment) to TL when the R, L,
D, and U data has been verified. The 3-line handshake method is a method that
acquires data after confirming the status using the above three control signals. The
peripherals that support this protocol are the SEGA tap, SEGA mouse, SATURN
analog joystick, SATURN keyboard, and SATURN 6P multitap.

SE

Mega Drive Peripheral ID for Each Port
The Mega Drive peripheral ID for each peripheral is given in Table 3.24.

SMPC User's Manual87Table 3.24 Mega Drive Peripheral ID for Each Peripheral
Mega Drive Peripheral ID

DH
DH &CH
3H
7H
BH
5H
5H
5H

nti
al

Peripheral Name

Mega Drive 3-Button PAD
Mega Drive 6-Button PAD
SEGA Mouse
SEGA Tap
SATURN Standard PAD
SATURN Analog Joystick
SATURN Keyboard
SATURN Multitap

deAccess Sequence in SH-2 Direct Mode for Peripherals that Have a
Mega Drive ID Other Than 5H
The access sequence in SH-2 direct mode to peripherals that have Mega Drive peripheral ID’s other than 5H is given below.

SE

GA

Co

nfi

1) Acquire the Mega Drive peripheral ID.
2) Determine the type of peripheral from the Mega Drive peripheral ID. Execute theappropriate sequence for the peripheral and acquire the data. The SATURN
peripheral ID is not returned for peripherals that have Mega Drive peripherals
other than 5H.

88

nti
al

Access Sequence in SH-2 Direct Mode for Peripherals that Have a 5H
Mega Drive ID
The access sequence in SH-2 direct mode to peripherals that have a 5H Mega Drive
peripheral ID’s.
1) Acquire the Mega Drive peripheral ID.
2) Execute the appropriate protocol required for the Mega Drive peripheral ID andacquire the Saturn peripheral ID.
The protocol is determined by the D and U that comprise the Mega Drive
peripheral ID. Other combinations are SEGA RESERVED.

D, U = 0, 1
D, U = 0, 1

(TH=1)(TH=0)

de3-Line Handshake Method Peripherals

SE

GA

Co

nfi

3) Acquire the SATURN peripheral ID, perform the number of accesses required forthe data size, and receive all peripheral data.

SMPC User's Manual

89

nti
al

Mega Drive 3-Button PAD
The Mega Drive 3-button PAD is a TH control method peripheral. The access protocol operates by having the 1st Data and 2nd Data alternately output by repeatedly
changing the TH bit value. The Mega Drive peripheral ID is DH. Table 3.25 shows
the Mega Drive
3-button PAD access protocol and data format for the SH-2 direct mode.
After the TH is changed, read the TR, TL, R, L, D, and U after 2 µS.

deTable 3.25 Mega Drive 3-Button PAD Data Format for SH-2 Direct Mode
Output
Input
TH
TR
TL
R
L
D
U
1st Data
1
C TRG B TRG Right
Left
Down
Up
2nd Data
0
Start
A TRG
0
0
Down
Up

Mega Drive Peripheral ID Acquisition Sequencenfi

Right, Left, Down, Up, Start, A TRG, C TRG, and B TRG become 0 when the button is pushed
down.

Co

Mega Drive 6-Button PAD
The Mega Drive 6-button PAD is a TH control method peripheral. The access protocol operates by having the 1st Data to the 8th Data repeatedly output by repeatedly
changing the TH bit value. To preserve the compatibility with the Mega Drive 3button PAD, the Mega Drive 6-button PAD uses the same Mega Drive peripheral ID.
With the 6-button PAD, continuing ID identification until the 6th Data will change
the ID from DH to CH. Table 3.26 shows the Mega Drive 6-button PAD data format
for the SH-2 direct mode.
After the TH is changed, read the TR, TL, R, L, D, and U after 2 µS. After data acquisition, have TH=1 remain for over 2 mS until the next acquisition.
Table 3.26 Mega Drive 6-Button PAD Data Format for SH-2 Direct Mode
TR
C TRG
Start
C TRG
Start
C TRG
Start
C TRG
Start

TL
B TRG
A TRG
B TRG
A TRG
B TRG
A TRG
B TRG
A TRG

GA

SE

1st Data
2nd Data
3rd Data
4th Data
5th Data
6th Data
7th Data
8th Data

Output
TH
1
0
1
0
1
0
1
0

Input
R
L
Right
Left
0
0
Right
Left
0
0
Right
Left
0
0
MD
X TRG
1
1

D
Down
Down
Down
Down
Down
0
Y TRG
1

U
Up
Up
Up
Up
Up
0
Z TRG
1

Mega Drive Peripheral ID Acquisition Sequence

Right, Left, Down, Up, Start, A TRG, C TRG, and B TRG become 0 when the button is pushed
down.

90

nti
al

SATURN Mouse (Provisional Name)
The SATURN mouse is a 3-line handshake method peripheral. There are three sequence types for the SATURN mouse: power on reset, reset, and data request.

1) Power On Reset
When the power is turned on the mouse is automatically initialized. While themouse is being initialized the TL bit is made 0B to notify the SH-2 that the mouseis being initialized.
Do not make a data request until initialization is finished. Table 3.27 shows thedata format during SATURN mouse power on reset in SH-2 direct mode.
Data Format During SATURN Mouse Power On Reset for SH-2 Direct
Mode
TL
0
1

R
0
0

Input
L
0
0

D
0
0

U
0
0

nfi

During Reset
Reset FinishedOutput
TH
TR
1
1
1
1

de

Table 3.27

Co2) ResetThis is the sequence that resets the SATURN mouse from the SH-2.
A mouse reset request can be made by changing TR to 0B when TH is 1B. The
SATURN mouse answers the request by changing TL to 0B. Initialization begins
when the SH-2 changes TR to 1B.

SEGA

Do not make a data request until initialization is completed. Table 3.28 shows thedata format during SATURN mouse reset in the SH-2 direct mode.

SMPC User's Manual

91

U
0
0
0
0
0

nti
al

Table 3.28 Data Format During SATURN Mouse Reset for SH-2 Direct Mode
Output
Input
TH
TR
TL
R
L
D
Initial Status
1
1
1
0
0
0
Reset Request
1
0
1
0
0
0
Reset Acknowledge
1
0
0
0
0
0
Reset Execute
1
1
0
0
0
0
Reset End
1
1
1
0
0
0

SE

GA

Co

nfi

de

3) Data Request
This sequence acquires data from the mouse. It is started by changing TH to 0B,
and ended by changing both TH and TR to 1B.
The first data is the Mega Drive ID acquisition phase. Data is acquired by changing TH to 0B from 1B. After TH is changed, read R, L, D, and U after 2 µs. Laterdata is acquired by a handshake with TR and TL. Table 3.29 shows the data
format during SATURN mouse data request in the SH-2 direct mode.

92

Data Format During SATURN Mouse Data Request for SH-2 Direct Mode

4th Data
5th Data
6th Data
7th Data
8th Data
9th Data
10th Data
End Request
End

R
0
1
x
1
x
1
x
Y Over
x
Start
x
XD7
x
XD3
x
YD7
x
YD3
x
0

Input
L
0
0
x
1
x
1
x
X Overx
Middle
x
XD6
x
XD2
x
YD6
x
YD2
x
0

D
0
1
x
1
x
1
x
Y Sign
x
Right
x
XD5
x
XD1
x
YD5
x
YD1
x
0

U
0
1
x
1
x
1
x
X Sign
x
Left
x
XD4
x
XD0
x
YD4
x
YD0
x
0

nti
al

3rd Data

TL
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
x
1

de

1st Data
2nd Data

Output
TH
TR
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1

nfi

Table 3.29

Mega Drive Peripheral ID Acquisition Sequence

Y Sign, X Sign

0: X or Y data is valid.
1: Data is over flowing. (255 exceeded)
0: X and Y data have positive values.
1: X and Y data have negative values.
Absolute value of amount of mouse movement.
Becomes 1 when button is pushed.

Co

Y Over, X OverSEGA

XD7~XD0, YD7~YD0
Start, Middle, Right, LeftSMPC User's Manual

93

nti
al

SEGA Tap
The SEGA tap is a 3-line handshake method peripheral. There are two sequencetypes for the SEGA tap: power on reset and data request.

1) Power On Reset
When the power is turned on the tap is automatically initialized. While the tap isbeing initialized the TL bit is made 0B to notify the SH-2 that the mouse is being
initialized. Do not make a data request until initialization is finished. Table 3.30
shows the data format during SEGA tap power on reset in SH-2 direct mode.
Data Format During SEGA Tap Power On Reset for SH-2 Direct Mode
Output
Input
TH
TR
TL
R
L
D
U
During Reset
1
1
0
0
0
0
0
Reset Finished
1
1
1
0
0
0
0

de

Table 3.30

SE

GA

Co

nfi

2) Data Request
This is the sequence to acquire data from the SEGA tap. A data request is started
by changing TH to 0B and ended by changing TH and TR to 1B. The first data is
the Mega Drive ID acquisition phase. Data is acquired by changing TH to 0B from
1B. After TH is changed, read R, L, D, and U after 2 µs. Acquire the data thereafter with a handshake with TR and TL. Table 3.31 shows the data format during
SEGA tap data request in the SH-2 direct mode.

94

Data Format During SEGA Tap Data Request for SH-2 Direct Mode
TL
1
1
1
0
0
1
1

0

0

0

0

1

0

0

1

1

0

0

1

0

0

0

1

8th Data

01

9th Data and Later
End Request
End

0
0
1
1

0
0
1
1

3rd Data
4th Data
5th Data

6th Data

7th Data

Input
L
0
1
x
0
x
0
x
1P
DevlD2x
2P
DevlD2x
3P
DevlD2
X
4P
DevlD2
x
D2
x
0

0

0

1

1
0
x
1

nfi

1st Data
2nd Data

R
0
1
x
0
x
0
x
1P
DevID3x
2P
DevID3x
3P
DevID3
X
4P
DevID3
x
D3
x
0

de

Output
TH
TR
1
1
0
1
0
0
0
0
0
1
0
1
0
0

D
1
1
x
0
x
0
x
1P
DevlD1x
2P
DevlD1x
3P
DevlD1
X
4P
DevlD1
x
D1
x
1

U
1
1
x
0
x
0
x
1P
DevlD0x
2P
DevlD0x
3P
DevlD0X
4P
DevlD0
x
D0
x
1

nti
al

Table 3.31

Mega Drive Peripheral ID Acquisition SequenceCo

The 1P~4P DevID in Table 3.31 shows the ID of the peripherals connected to SEGA
tap. The peripherals that can be connected to SEGA tap are the Mega Drive 3-button
PAD, Mega Drive 6-button PAD, and SEGA mouse. Table 3.32 shows the ID of theconnected devices.
Table 3.32 Connected Peripherals and ID
ID

Peripheral Name

Mega Drive 3-button PAD
Mega Drive 6-button PAD
SEGA mouse
Unconnected or Unknown

SE

GA

0H
1H
2H
FH

SMPC User's Manual

95

nti
al

The data of devices connected to bits D3~D0 of the 9th Data and later from Table 3.31
continues. The data format of each device is given on the following page.
(a) Mega Drive 3-Button PAD
Table 3.33 shows the Mega Drive 3-button PAD data format when connected to
SEGA tap.
Table 3.33

Mega Drive 3-Button PAD Data Format During Connection to SEGA Tap

bit3
Right
Start

bit2
Left
A TRG

bit1
Down
C TRG

bit0
Up
B TRG

de

Right, Left, Down, Up, Start, A TRG, C TRG, and B TRG are 0 when the button is pushed down.

(b) Mega Drive 6-Button PAD
Table 3.34 shows the Mega Drive 6-button PAD data format when connected to
SEGA tap.
Mega Drive 6-Button PAD Data Format During Connection to SEGA Tap

bit3
Right
Start
MODE

bit2
Left
A TRG
X TRG

nfi

Table 3.34

bit1
Down
C TRG
Y TRG

bit0
Up
B TRG
Z TRG

Co

Right, Left, Down, Up, Start, A TRG, C TRG, B TRG, MODE, X TRG, Y TRG, and Z TRG are 0
when the button is pushed down.

(c) SEGA Mouse
Table 3.35 shows the SEGA mouse data format when connected to SEGA tap.
Table 3.35

SEGA Mouse Data Format During Connection to SEGA Tap
bit2
X OverMiddle
XD6
XD2
YD6
YD2

GA

bit3
Y Over
Start
XD7
XD3
YD7
YD3

Y Over, X OverY Sign, X Sign

SE

XD7~XD0, YD7~YD0
Start, Middle, Right, Left

96

bit1
Y Sign
Right
XD5
XD1
YD5
YD1

bit0
X Sign
Left
XD4
XD0
YD4
YD0

0: X or Y data is valid.
1: Data is over flowing. (255 exceeded)
0: X and Y data have positive values.
1: X and Y data have negative values.
Absolute value of amount of mouse movement.
Becomes 1 when button is pushed.

nti
al

SATURN Standard PAD (Provisional Name)
The SATURN standard PAD is a TH and TR control method peripheral.
Data is output by repeating the specified bit pattern in the TH and TR bits. After TH
and TR have been changed, read the R, L, D, and U after 2 µs. Table 3.36 shows the
SATURN standard PAD data format in the SH-2 direct mode.
Table 3.36 SATURN Standard PAD Data Format for SH-2 Direct Mode
TL
1
1
1
1

R
L TRG
Right
Start
R TRG

Input
L
1
Left
A TRG
X TRG

D
0
Down
C TRG
Y TRG

U
0
Up
B TRG
Z TRG

de

1st Data
2nd Data
3rd Data
4th Data

Output
TH
TR
1
1
0
1
1
0
0
0

Mega Drive Peripheral ID Acquisition Sequence
Right, Left, Down, Up, Start, A TRG, C TRG, B TRG, R TRG, X TRG, Y TRG, Z TRG, and L TRG
become 0 when the button is pushed down.

nfi

SATURN Analog Joystick (Provisional Name)
The SATURN analog joystick is a 3-wire handshake method peripheral. Start is doneby changing TH to 0B and end is done by changing TH and TR to 1B.

SE

GA

Co

The first data is the Mega Drive ID acquisition phase. Data is acquired by changing
TH to 0B from 1B. After TH is changed, read R, L, D, and U after 2 µs. Acquire later
data by making a handshake with TR and TL. Table 3.37 shows the SATURN analog
joystick data format in SH-2 direct mode.

SMPC User's Manual97

Table 3.37 SATURN Analog Joystick Data Format for SH-2 Direct Mode

6th Data
7th Data
8th Data
9th Data
10th Data
11th Data
12th Data
13th Data
14th Data
15th Data
16th Data
End Request
End

nti
al

5th Datade4th Data

Input
R
L
D
U
0
0
0
1
0
0
0
1
x
x
x
x
0
0
0
1
x
x
x
x
0
1
0
1
x
x
x
x
Right
Left
Down
Up
x
x
x
x
Start
A TRG C TRG B TRGxxxx
R TRG X TRG Y TRG Z TRG
X
XXXL TRG α1TRG α2TRG α3TRG
x
x
x
x
AX7
AX6
AX5
AX4
x
x
x
x
AX3
AX2
AX1
AX0
x
x
x
x
AY7
AY6
AY5
AY4
x
x
x
x
AY3
AY2
AY1
AY0
x
x
x
x
AZ7
AZ6
AZ5
AZ4
x
x
x
x
AZ3
AZ2
AZ1
AZ0
x
x
x
x
0
0
0
0
x
x
x
x
0
0
0
1
x
x
x
x
0
0
0
1

nfi

3rd Data

TL
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
x
1

Co

1st Data
2nd Data

Output
TH
TR
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1

GA

Mega Drive Peripheral ID Acquisition Sequence
SATURN Peripheral ID Acquisition Sequence
Right, Left, Down, Up, Start, A TRG, C TRG, B TRG, R TRG, X TRG, Y TRG, Z TRG, and L TRG
become 0 when the button is pushed down.
AX7~AX0, AY7~AY0, and AZ7~AZ0 are the absolute values of the unsigned A/D converter output.
For AX7~AX0 and AY7~AY0, the upper left is (0,0) and the bottom right is (255,255).

SE

For AZ7~AZ0, the bottom is 0 and the top is 255.

98

nti
al

SATURN Keyboard
The SATURN keyboard is a 3-wire handshake method peripheral. Start is done bychanging TH to 0B and end is done by changing TH and TR to 1B.

SE

GA

Co

nfi

de

The first data is the Mega Drive ID acquisition phase. Data is acquired by changing
TH to 0B from 1B. After TH is changed, read R, L, D, and U after 2 µs. Acquire later
data by making a handshake with TR and TL. Table 3.38 shows the SATURN keyboard data format in SH-2 direct mode.

SMPC User's Manual99Table 3.38 SATURN Keyboard Data Format for SH-2 Direct Mode

6th Data
7th Data
8th Data
9th Data
10th Data
11th Data
12th Data
13th Data
14th Data
End Request
End

0
0
0
0
0
0
0
0
0

0
0
1
1
0
0
1
1
0

0
0
0
0
0
0
0
0
0
0
0
1
1

D
0
0
x

MDID3

MDID2

MDID1

U
1
1
x

nti
al

5th Data

Input
L
0
0
x

MDID0

x

x

x

DSIZE
3

DS9ZE
2

DSIZE
1

x

1
0
0
1
1
0
0
1
1

x
Right
x
Start
x
R TRG
X
L TRG
x

x
Left
x
A TRG
x
X TRG
X

x
Down
x
C TRG
x
Y TRG
X

KBTYPE2KBTYPE1

KBTYPE0

0

0

0

1
1
0
0
1
1
0
0
1
1
1
1

0
1
1
0
0
1
1
0
0
1
x
1

x
Make
x
D7
x
D3
x
0
x
0
x
0

x
Caps
Lock
x
1
x
D6
x
D2
x
0
x
0
x
0

x
Num
Lock
x
1
x
D5
x
D1
x
0
x
0
x
0

x
Scroll
Lock
x
Break
x
D4
x
D0
x
0
x
1
x
1

DSIZE
0

x
Up
x
B TRG
x
Z TRG
X

de

4th Data

R
0
0
x

nfi

3rd Data

TL
1
1
1
0
0
1

Co

1st Data
2nd Data

Output
TH
TR
1
1
0
1
0
0
0
0
0
1
0
1

Mega Drive Peripheral ID Acquisition Sequence
SATURN Peripheral ID Acquisition SequenceSE

GA

Right, Left, Down, Up, Start, A TRG, C TRG, B TRG, R TRG, X TRG, Y TRG, Z TRG, and L TRG
become 0 when the button is pushed down.

100

Key

Right
Left
Down
Up
Start
A TRG
C TRG
B TRG
R TRG
X TRG
Y TRG
Z TRG
L TRG

→
←
↓
↑
ESC
Z
C
X
Q
A
S
D
E

000: SATURN Keyboard
001~110: SEGA RESERVED
111: UNKNOWN

nfi

KBTYPE2~0

deButtonntial

The corresponding values for each button and keyboard key are given below.

For Caps Lock
For Num Lock
For Scroll Lock
For Make
For Break

1: Caps Lock is locked (Caps Lock LED is lit.)
1: Num Lock is locked (Num Lock LED is lit.)
1: Scroll Lock is locked (Scroll Lock LED is lit.)
1 is shown when there is a valid Make code (a key that shows D7~D0
code is pushed down) in D7~D0.
1 is shown when there is a valid Break code (a key that shows D7~D0 codeis pushed down) in D7~D0.
Shows the key No. They are used with both Make and Break.

SE

GA

D7~D0

Co

The KBTYPE shown here is used for the IBM keyboard conversion adapter format.
When IBM keyboards 101, 102, and 106 are connected to the conversion adapter, 000
is shown. When a keyboard not supported by the conversion adapter, or when adevice not recognized as a keyboard is connected to the conversion adapter, 111 is
output. In the future, with the integration accompanying the commercialization of
the keyboard, the system will be configured to output 000.

SMPC User's Manual

101

nti
al

SATURN 6P Multitap (Provisional Name)
The SATURN 6P tap is a 3-line handshake method peripheral. The peripherals thatcan be connected to this tap are the Mega Drive 3-button PAD, Mega Drive 6-button
PAD, SEGA mouse, SATURN standard PAD, SATURN analog joystick, and SATURN keyboard. The maximum data size for each tap of the SATURN 6P multitap is
15 bytes. If peripherals of 16 bytes or more are connected, only the data up to 15
bytes will be collected. Data is output from the SATURN 6P multitap in the SMPC
control mode as explained previously. The SATURN peripheral ID is added as aheader to the data of all supported peripherals.

SE

GA

Co

nfi

de

Data collection is started by changing TH to 0B and ended by changing TH and TR
to 1B. The first data is the Mega Drive ID acquisition phase. Data is acquired bychanging TH from 1B to 0B. After TH is changed, read R, L, D, and U after 2 µs.
Acquire later data using a handshake with TR and TL. Table 3.39 shows the SATURN 6P multitap data format in the SH-2 direct mode.

102

Table 3.39 SATURN 6P Multitap Data Format for SH-2 Direct Mode

5th Data
6th Data
7th Data

8th Data?th Data?th Data?th Data?th Data?th Data?th Data?th Data?th Data?th Data?th Data?th Data?th Data?th Data?th DataGA?th Data?th Data
nth Data

SE

n+1th Data
end

SMPC User's Manual

:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:

:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:

Input
L
0
0
x
\\\\ 0 \\\\x//// 0 //////// x //////// 1 //////// x ////
0
x

D
0
0
x
\\\\ 0 \\\\x//// 0 //////// x //////// 1 //////// x ////
0
x

U
1
1
x
\\\\ 0 \\\\x//// 1 //////// x //////// 0 //////// x ////
0x

CH1-M6ID3

CH1-M6ID2

CH1-M6ID1

CH1-M6ID0

x

x

x

x

CH1-DSIZE2

CH1-DSIZE1

CH1-DSIZE0

CH1-DSIZE3

x

0
1
1
1

x

x

x

CH1-DATA

CH1-DATA

CH1-DATAde4th DataR00x\\\\ 0 \\\\x//// 0 //////// x //////// 0 //////// x ////
0x

CH1-DATA

:

:

:

:

CH2-M6ID3

CH2-M6ID2

CH1-M6ID1

CH1-M6ID0

x

x

x

x

CH2-DSIZE3

CH2-DSIZE2

CH2-DSIZE1

CH2-DSIZE0

x

x

x

x

CH2-DATA

CH2-DATA

CH2-DATA

CH2-DATA

:

:

:

:

CH3-M6ID3

CH3-M6ID2

CH3-M6ID1

CH3-M6ID0

nfi

3rd Data

TL
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0

x

x

x

x

CH3-DSIZE3

CH3-DSIZE2

CH3-DSIZE1

CH3-DSIZE0

x

x

x

x

CH3-DATA

CH3-DATA

CH3-DATA

CH3-DATA

:

:

:

:

CH4-M6ID3

CH4-M6ID2

CH4-M6ID1

CH4-M6ID0

x

x

x

x

CH4-DSIZE3

CH4-DSIZE2

CH4-DSIZE1

CH4-DSIZE0Co

1st Data
2nd Data

TR
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0

nti
al

Output
TH
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

0
0
1
1

\\\\
/////

x

x

x

x

CH4-DATA

CH4-DATA

CH4-DATA

CH4-DATA

:

:

:

:

CH5-M6ID3

CH5-M6ID2

CH5-M6ID1

CH5-M6ID0

x

x

x

x

CH5-DSIZE3

CH5-DSIZE2

CH5-DSIZE1

CH5-DSIZE0

x

x

x

x

CH5-DATA

CH5-DATA

CH5-DATA

CH5-DATA

:

:

:

:

CH6-M6ID3

CH6-M6ID2

CH6-M6ID1

CH6-M6ID0

x

x

x

x

CH6-DSIZE3

CH6-DSIZE2

CH6-DSIZE1

CH6-DSIZE0

x

x

x

x

CH6-DATA

CH6-DATA

CH6-DATA

CH6-DATA

:

:

:

:

0
x
0
0

0
x
0
0

0
x
0
0

0
x
1
1

Mega Drive Peripheral ID Acquisition Sequence
SATURN Peripheral ID Acquisition Sequence
Port Status

103

nti
al

Index
Alphabetical Listing

3-Line Handshake Method .................................................................................................. 87
All Peripheral Data Acquisition Sequence ........................................................................ 51

Bit Name ................................................................................................................................ 86
Break Request ........................................................................................................................ 50
Break Request Precautions .................................................................................................. 50

nfi

de

Calendar Time ......................................................................................................................... 2
Cold Reset .............................................................................................................................. 13
Command Issuance .............................................................................................................. 13
Command Issuance Classification ..................................................................................... 13
Command Issuance Limitations ......................................................................................... 19
Command Issuance Method ............................................................................................... 13
Command Issuance Timing ................................................................................................ 17
Command Register ............................................................................................................... 13
COMREG ............................................................................................................................. 5, 6
Continue Request.................................................................................................................. 50
Continue Request Precautions ............................................................................................ 50

Co

Data Configuration when One Port is in 0 Byte Mode ................................................... 63
Data Size........................................................................................................................... 62, 65
DDR Functions ........................................................................................................................ 7
DDR1 ........................................................................................................................................ 7
DDR2 ........................................................................................................................................ 7
DSP.......................................................................................................................................... (i)GA

EXLE1 ....................................................................................................................................... 8
Existence of Remaining Peripheral Data ........................................................................... 66
EXLE Functions ....................................................................................................................... 9
EXLE2 ....................................................................................................................................... 9
Extension Data Size .............................................................................................................. 76
Functions .................................................................................................................................. 3
H-BLANK-IN ....................................................................................................................... (ii)Horizontal Resolution ........................................................................................................ 2, 3

SE

INTBACK Command End Conditions .............................................................................. 50
INTBACK Command Usage Method .......................................................................... 42, 53
Introduction ............................................................................................................................. 1
IOSEL Functions ..................................................................................................................... 8
IOSEL1 ...................................................................................................................................... 8
IOSEL2 ...................................................................................................................................... 8
IREG0 (Peripheral Control) ................................................................................................. 58
IREG0~IREG6 ...................................................................................................................... 5, 6

104

nti
al

IREG1 (Peripheral Control) ................................................................................................. 59
IREG2 (Peripheral Control) ................................................................................................. 60
Main CPU.............................................................................................................................. (ii)
MC68EC000 .......................................................................................................................... (ii)
MDID ................................................................................................................................ 68, 88
Mega Drive 3-Button PAD ............................................................................................. 81, 90
Mega Drive 6-Button PAD ............................................................................................. 81, 90
Multitap .................................................................................................................................. 68
Multitap ID ............................................................................................................................ 68

deNon-Resetable System Management Commands............................................................ 35
Number of Connectors......................................................................................................... 13
Optimization During Peripheral Data Collection ............................................................ 55
Optimization Operations During Peripheral Data Collection, Overview of ............... 55
OREG0~OREG31 ................................................................................................................ 5, 6

GA

Co

nfi

PAD ........................................................................................................................................... 4
Parallel I/O Register .............................................................................................................. 7
Parallel I/O Register Address Map ..................................................................................... 7
PC ............................................................................................................................................. 3
PDR1 ......................................................................................................................................... 7
PDR2 ......................................................................................................................................... 8
Peripheral Control Mode ..................................................................................................... 48
Peripheral Control Status .............................................................................................. 62, 66
Peripheral Data Acquisition Cancel Sequence Resulting from Break Request ............ 52
Peripheral Data Acquisition Method for SMPC Control Mode ..................................... 49
Peripheral Data Acquisition Sequence .............................................................................. 53
Peripheral Data Collection .................................................................................................. 62
Peripheral ID ................................................................................................................... 62, 69
Peripheral Type ............................................................................................................... 62, 70
Peripherals ............................................................................................................................ (ii)
PLL .......................................................................................................................................... (i)Port 1 Data ................................................................................................................. 62, 63, 64
Port 2 Data ................................................................................................................. 62, 63, 64
Port Mode .................................................................................................................. 37, 59, 66
Port Status ........................................................................................................................ 62, 67
Power On, Initial Status During ........................................................................................... 3

SE

Reset Button ............................................................................................................................. 2
Reset Button Status ............................................................................................................... 39
Resetable System Management Commands ..................................................................... 21
RTC Command ....................................................................................................................... 3

SMPC User's Manual

105

SE

GA

Co

nfi

de

nti
al

SATURN 6P Multitap ................................................................................................... 85, 102
SATURN Analog Device Data Format .............................................................................. 77
SATURN Analog Joystick .............................................................................................. 83, 97
SATURN Digital Device Data Format ............................................................................... 76
SATURN Digital Standard PAD ................................................................................... 82, 97
SATURN Keyboard ........................................................................................................ 83, 99
SATURN Keyboard Device Data Format .......................................................................... 78
SATURN Mouse .............................................................................................................. 81, 91
SATURN Peripheral ID .................................................................................................. 62, 69
SATURN Peripheral Standard Format .............................................................................. 76
SATURN Peripheral Types ............................................................................................ 62, 70
SATURN Pointing Device Data Format ............................................................................ 77
SATURN Standard PAD ................................................................................................ 82, 97
SCSP .................................................................................................................................... (i), 3
SCU .................................................................................................................................... (ii), 3
SEGA Tap ................................................................................................................... 38, 83, 94
SF ......................................................................................................................................... 5, 6
SH-2 Direct Mode ..................................................................................................... 48, 74, 86
SH-2 Direct Mode Block Diagram ...................................................................................... 74
SH-2 Direct Mode Setting Flow .......................................................................................... 75
SH-2 Direct Mode Standards .............................................................................................. 75
SH-2 Direct Mode, Access Control During (Mega Drive 3-Button PAD) ..................... 90
SH-2 Direct Mode, Access Control During (Mega Drive 6-Button PAD) ..................... 90
SH-2 Direct Mode, Access Control During (SATURN 6P Multitap) ........................... 102
SH-2 Direct Mode, Access Control During (SATURN Analog Joystick) ...................... 97
SH-2 Direct Mode, Access Control During (SATURN Keyboard) ................................. 99SH-2 Direct Mode, Access Control During (SATURN Mouse) ...................................... 91
SH-2 Direct Mode, Access Control During (SATURN Standard PAD) ......................... 97
SH-2 Direct Mode, Access Control During (SEGA Adapter) ......................................... 94
SH-2 Direct Mode, Setting to .............................................................................................. 74
SH-2 Interface .......................................................................................................................... 5
SH-2 Interface Register .......................................................................................................... 5
SH-2 Interface Register Address Map .................................................................................. 5
Slave SH-2 ................................................................................................................................ 3
SMPC ...................................................................................................................................... (i)SMPC ........................................................................................................................................ 3
SMPC Command .................................................................................................................. 12
SMPC Command List........................................................................................................... 12
SMPC Control Mode ............................................................................................................ 48
SMPC Control Mode Block Diagram ................................................................................. 48
SMPC Control Mode Characteristics ................................................................................. 48
SMPC Control Mode Standards ......................................................................................... 49
SMPC Control Mode, Setting to ......................................................................................... 49

106

nfi

de

nti
al

SMPC Control, Format During (Mega Drive 3-Button PAD) ......................................... 81
SMPC Control, Format During (Mega Drive 6-Button PAD) ......................................... 81
SMPC Control, Format During (SATURN 6P Adapter) .................................................. 85
SMPC Control, Format During (SATURN Analog Joystick) .......................................... 83
SMPC Control, Format During (SATURN Keyboard) .................................................... 83
SMPC Control, Format During (SATURN Mouse) .......................................................... 81
SMPC Control, Format During (SATURN Standard PAD) ............................................ 82
SMPC Control, Format During (SEGA Tap) ..................................................................... 82
SMPC Functions ...................................................................................................................... 3
SMPC Interrupt ..................................................................................................................... 13
SMPC System Configuration ................................................................................................ 2
SMPC UNKNOWN Peripheral Data Format ............................................................. 67, 68
Sound CPU .............................................................................................................................. 3
SR (Peripheral Control) ........................................................................................................ 66
SR ......................................................................................................................................... 5, 6Standard Format ................................................................................................................... 76
System Configuration ............................................................................................................ 2
TH and TR Control Method ................................................................................................ 87
TH Control Method .............................................................................................................. 87
Type A Command Flow ....................................................................................................... 14
Type B Command Flow ....................................................................................................... 14
Type C Command Flow ....................................................................................................... 15
Type D Command Flow ....................................................................................................... 16

SE

GA

Co

V-BLANK-IN ........................................................................................................................ (ii)
V-BLANK-IN Skip Function .............................................................................................. (ii)
V-BLANK-OUT .................................................................................................................... (ii)
VDP1 ................................................................................................................................... (i), 3
VDP2 ................................................................................................................................... (i), 3

SMPC User's Manual107Command Abbreviations

de

nti
al

CDOFF .................................................................................................................................... 28
CDON ..................................................................................................................................... 27
CKCHG320 ............................................................................................................................ 31
CKCHG352 ............................................................................................................................ 30
INTBACK ............................................................................................................................... 36
MSHON ................................................................................................................................. 22
NMIREQ ................................................................................................................................ 32
RESDISA ................................................................................................................................ 34
RESENAB............................................................................................................................... 33
SETSMEM .............................................................................................................................. 44
SETTIME ................................................................................................................................ 46
SNDOFF ................................................................................................................................. 26
SNDON .................................................................................................................................. 25
SSHOFF .................................................................................................................................. 24
SSHON ................................................................................................................................... 23
SYSRES ................................................................................................................................... 29

Command Names

SE

GA

Co

nfi

CD OFF................................................................................................................................... 28
CD ON .................................................................................................................................... 27
Clock Change 320 Mode ...................................................................................................... 31
Clock Change 352 Mode ...................................................................................................... 30
Interrupt Back ........................................................................................................................ 36
Master SH-2 ON .................................................................................................................... 22
NMI Request.......................................................................................................................... 32
Entire System Reset .............................................................................................................. 29
Reset Disable ......................................................................................................................... 34
Reset Enable........................................................................................................................... 33
Slave SH-2 OFF ..................................................................................................................... 24
Slave SH-2 ON ...................................................................................................................... 23
SMPC Memory Setting ........................................................................................................ 44
Sound OFF ............................................................................................................................. 26
Sound ON .............................................................................................................................. 25
Time Setting ........................................................................................................................... 46108