TM Sega Saturn Software Development Standards SOA Version 2.0 Doc. # ST-151-R4-020197 © 1995-96 SEGA. All Rights Reserved.
GENERAL NOTICE When using this document, keep the following in mind: 1. This document is confidential. By accepting this document you acknowledge that you are bound by the terms set forth in the nondisclosure and confidentiality agreement signed separately and in the possession of SEGA. If you have not signed such a nondisclosure agreement, please contact SEGA immediately and return this document to SEGA. 2. This document may include technical inaccuracies or typographical errors.
Table of Contents 1. Game Sequence.............................................................................................................1 1.1. Sega Brand Game Sequence .............................................................................1 1.2. Third Party Brand Game Sequence ....................................................................2 2. Peripheral Check 2.1. When Must the Checks Occur?...........................................................................3 2.2.
8. 9. Main Game ...................................................................................................................15 8.1. Screen Display .................................................................................................15 8.1.1. Display Area Limits for On-Screen ........................................................15 8.1.2. Standardization of Terminology .............................................................15 8.1.3. Scores.........................................
IMPORTANT Sections labeled as “Required Compliance Item” are mandatory requirements which will be noted as A BUGS if not followed. Sections labeled as “Recommended Compliance Item” are considered as minor bugs which will be noted as B BUGS. Sega Saturn Software Development Standards, SOA version 2.
1. Game Sequence 1.1 Sega Brand Game Sequence A typical sample game sequence for a Sega brand Sega Saturn application is shown in the figure below. Power ON Boot ROM Start-Up Sequence Display Saturn Logo Security check Boot Rom-based logo data is used for the initial Sega license logo display. Application Display SEGA license logo Demo/Title Loop The application-based Sega logo is Peripheral Check not displayed immediately after Sequence the boot ROM-based Sega license logo.
1.2 Third Party Brand Game Sequence A typical sample game sequence for a third party brand Sega Saturn application is shown in the figure below. Power ON Boot ROM Start-Up Sequence Display Saturn Logo Security check Boot Rom-based logo data is used for the initial Sega license logo display.
2. Required Compliance Item Peripheral Check A check for peripherals (typically a Control Pad) connected to the Sega Saturn must be performed by the application before the game is started. For more detailed information on Sega Saturn input peripheral support guidelines, please consult Section 8.2.4: Sega Saturn Input Peripheral Software Development Standards. 2.
possible system crashes or operational problems caused by the connection of that device type to the Sega Saturn. Data output from incompatible input peripherals must be ignored and a warning message displayed to instruct the user to connect a compatible input peripheral. Required Compliance Item All games must support the 8-Button Control Pad, Virtua Stick, 6Player, and Mission Stick peripherals as follows: 2.3.1 Standard Digital Devices • Compatibility Fully compatible with all games.
• Special Considerations For single player games, the game must support operation from any one of the 6 peripheral ports when the 6Player is connected to Control Port 1 (left port when looking at the front of the Sega Saturn). The use of Control Port 2 for single player games is prohibited. 2.3.3 Analog Controllers • Compatibility Fully compatible with all games in digital mode as a minimum (analog mode is optional). • Peripheral Types Mission Stick (and possibly other analog peripherals in the future).
2.3.4 Steering Controller Required Compliance Item All driving games must support the Arcade Racer as described below in addition to the peripheral requirements already described: • Compatibility Fully compatible in analog mode. • Peripheral Types Arcade Racer (and possibly other steering controller peripherals in the future). • SMPC Standard Format Type Saturn Analog Device (see the SMPC User’s Manual for more information).
3. Company Logo Displays 3.1 Sega Logo Screen Display Requirements • At Power On: Required Compliance Item The application must display the “PRODUCED BY or UNDER LICENSE FROM Sega ENTERPRISES, LTD.” boot ROM-based Sega trademark logo screen immediately after power on. The logo data provided by Sega must be displayed without modification. • In the Title Loop Sequence (Sega Brand Titles ONLY): Required Compliance Item The Sega logo must be displayed according to the format described in section 3.
Avoid the display of the application-based Sega logo immediately after the boot ROM-based “PRODUCED BY or UNDER LICENSE FROM...” Sega logo screen. The contract developer’s logo display should also be skipped in this case. 3.3 Required Compliance Item Application-Based Sega Logo Screen Display Format Requirements (Sega Brand Titles ONLY) The registered trademark “Sega” must be displayed in the center of the TV screen.
4. Required Compliance Item Title Screen The Title Screen is defined as the “Game Start Screen”. “Post-Game Start State” is defined as the point after the START Button is pressed in this screen. “Pre-Game Start State” is defined as any time prior to the START Button press. 4.1 Required Compliance Item Screen Display The following three items are minimum display requirements: • • • 4.2 Title logo The words “PRESS START BUTTON” (Do not use the word “PUSH”.
Required Compliance Item Always follow the following display format: © Formal Company Name, First Year of Release There are no guidelines governing font style and color usage. “First Year of Release” means “first year of sale”. The display of copyright information for products other than original works developed by Sega is typically determined by their development/licensing agreements.
5. Demonstration Sequence 5.1 Screen Display Display the words “PRESS START BUTTON” and “DEMO “ during the demonstration sequence frequently. Recommended Compliance Item If applicable to the game, display high scores as well as the score from the previous game during the demonstration sequence to enable the user to verify scores. 5.2 Demonstration Time The demonstration should last approximately 30 seconds. 5.3 Audio During Demonstration Audio should be present during the demonstration. 5.
6. Start/Options Select Screen The on-screen display of “OPTIONS” occurs during the Post-Game Start State. The “Main Game State” is defined as the point after the game is started from the Start/Options Screen. 6.1 Differentiating the Start/Options Screen from the Title Screen (Game Start Screen) The Start/Options selection screen must not be used as the Game Start Screen (The Start/Options Screen menu items should be displayed after the START Button is pressed in the Title Screen.).
7. Options Screen 7.1 Options Provide the user with as many game options as possible unless the options compromise the quality of the game or if the game is a port from an original that does not provide an “options” feature. Recommended Compliance Item 7.
7.3 Options Screen Controls The standard controls for a typical Options Screen shown below are as follows: Up/Down on the D-Pad: Left/Right on the D-Pad: Select option item Select sub-option item OPTIONS LEVEL PLAYER CONROL RAPID FIRE AUDIO SOUND TEST EASY >NORMAL< HARD 1 2 >3< 4 5 → >ON< OFF >STEREO< MONO BGM 01 SE 001 VOICE “Help me!” EXIT 7.4 Retaining Option Settings The settings made in the Options Screen are initialized only when the power is switched off and by resets.
8. Main Game 8.1 Screen Display 8.1.1 Display Area Limits for On-Screen Items Required Compliance Item Important items such as the game score and the number of remaining player units (player lives) must not be displayed in the following areas: • The two cell area on the left/right sides of the game screen. • The one cell area on the top/bottom of the game screen. Note that the above screen dimensions are equivalent to the 40 x 28 cell mode.
8.1.3 Scores The initial setting for scores is “0.” 8.1.4 High Scores High scores are not initialized after a reset. The player should also be able to see the high scores as well as the score from the previous game during the demo sequence. 8.2 Control Pad and Button Setup For more detailed information on Sega Saturn input peripheral support guidelines, please consult Section 8.2.4: Sega Saturn Input Peripheral Software Development Standards. 8.2.
Recommended Compliance Item • The use of buttons A, B, C must be given priority over the use of buttons X, Y, L, R. Recommended Compliance Item • Button C should be given priority over Button A for use as a “Select Button”. Button B should be used as a “Cancel Button”. (This takes into consideration the relative accessibility of each button.) Recommended Compliance Item As a rule, the Control Pad button usage priority is C>B>A.
8.2.4 Sega Saturn Input Peripheral Software Development Standards This document contains standards for developing Sega Saturn software applications that support Sega Saturn input peripheral devices such as the standard Sega Saturn Control Pad, 6Player, and the Mouse. The basic terms as well as concepts used in this document are based on the Sega Saturn Software Development Standards.
Glossary of Terms Term Compatible Peripheral Incompatible Peripheral Active Peripheral Control Port Port(s) Valid Port Invalid Port Active Port Inactive Port Player Number System Pause User Pause Unused Active Port Port [1] = Player Number 1P Port [2] = Player Number 2P Port [3] = Player Number 3P Explanation An input peripheral that can be used for a given application. An input peripheral that cannot be used for (is not compatible with) a given application.
Standard Peripheral Support For additional information, see sections 1. Game Sequence and 2. Peripheral Check in the Sega Saturn Software Development Standards. Basic Compatible Peripheral Setup Observe the following requirements on input peripherals (compatible peripherals) support that can be used in an application. These requirements parallel those found in section 8.2.1 Basic Control Pad Setup of the Sega Saturn Software Development Standards.
Required Compliance Item In a multiplayer game where players can have different starting times (e.g., a player can join in a game after the game has started), perform checks as frequently as possible during the main game as well as other game sequences. Checks During Game Start • Game Start Required Compliance Item Always use player 1 controls (the compatible peripheral connected to Control Port 1) to start a game .
Required Compliance Item If the peripheral is reconnected, the user must be able to resume a normal game session. After the game is placed in pause mode prior to the disconnection of the peripheral, the game must resume by pressing the “START” button after reconnection of the peripheral. Recommended Compliance Item The disconnection of an incompatible or inactive peripheral is ignored so that the game can proceed unimpeded.
• Mid-Game Participation Recommended Compliance Item A compatible peripheral may be connected to an invalid port during the course of a game that supports mid-game participation. Even if this occurs during the execution of the main game, that port may be reassigned as a valid port and an active port as well. When this occurs, make sure that the connection of the peripheral does not affect the game in progress.
Control Port States (Summary) The following figure shows changes in the control port state as a result of the processes described in the preceding sections.
6Player Basic Settings Required Compliance Item Note Since the use of a 6Player increases the number of ports and the number of players that can be supported by an application, an expanded version of the Basic Control Pad Setup guidelines found in the Sega Saturn Software Development Standards must be followed: • A compatible peripheral or a 6Player must be connected to Sega Saturn’s Control Port 1 in order to start the game.
Checks During Game Start • Required Compliance Item Game Start A game must be started from a peripheral that is connected to the 6Player’s port with the lowest port number out of the valid ports. This port must be a input peripheral connected to Control Port 1 or a input peripheral connected to a 6Player port with the lowest port number. The 6Player in this case is connected to Control Port 1. Note that in a multiplayer game, a game can be started by a player other than player 1.
It is recommended that the consumer use Setup Example 1 as their standard configuration. However, Saturn Software should be able to handle all three configurations. Note Port 1 Port 2 [1] 6Player [2] Port A Port F [7] [3] Port B Port E [6] ooo ooo [4] Figure 3.1 Multi-Port Setup Example 1 Port 1 Port C Port D [5] Ports [1] through [7] Port 2 [7] 6Player [1] Port A Port F [6] [2] Port B Port E [5] [3] Port C Port D [4] Figure 3.
Checks During the Main Game • Required Compliance Item Peripheral Connect/Disconnect Check When the 6Player is disconnected (or connected) or replaced with another input peripheral (or the reverse) during the main game sequence for any reason, make sure that the application will be able to support those operations without any problems. The other requirements governing peripheral disconnect checks described in section 2. Standard Peripheral Support apply.
Control Port 1 Control Port 2 [7] [8] Control Port 1 [9] [10] [11] [12] Control Port 2 [7] [8] [9] [10] [11] [12] 4P 5P [1]-[6] 4P 5P 6P 6P Ports [1],[3],and [5] become unused active [1] [2] [3] [4] [5] [6] 1P 2P 3P Figure 3.
Recommended Compliance Item If a 6Player that has an active peripheral connected to it is disconnected and if the 6Player with the exact same active peripheral port setup is reconnected, re-enable input from that peripheral. Recommended Compliance Item If a 6Player with an active peripheral is disconnected and a different 6Player setup with active peripherals is reconnected, re-enable input to only compatible peripherals that are connected to the unused active ports. (See Figure 3.7 for more details.
• If the 6Player is Replaced When a 6Player is replaced with another peripheral (and vice versa), the number of ports may not match. The following guidelines apply under these conditions: • Replacing a peripheral with another equipped with fewer ports. Example: Replacing a 6Player with a single peripheral. The new port is treated as the lowest-numbered port of the 6Player prior to its replacement (see Figures 3.8 and 3.9).
Control Port 1 [1] [2] [3] 1P 2P Control Port 2 Control Port 1 [4] [5] [6] [1] [2] [3] 3P 1P 2P Control Port 2 [4] [5] [6] 3P [7] [8] [9] [10] [11] [12] 4P Control Port 1 [1] [2] [3] 5P [7] [8] [9] [10] [11] [12] 6P 4P Control Port 2 Control Port 1 [4] [5] [6] [1] [2] [3] 5P Control Port 2 [4] [5] [6] [7]-[12] 1P 2P [7]-[12] 3P 1P Ports [7], [9], and [11] are unused active [1] 2P 3P Ports [8], [10], and [12] are unused active One compatible peripheral is One comp
Control Port 1 Control Port 2 [2] [3] [4] [5] [6] [7] 2P 3P 4P [1] 1P Control Port 1 Control Port 2 [2] [3] [4] [5] [6] [7] 2P 3P 4P [1] Port [1] becomes an unused active A 6Player with a compatible A 6Player without a compatible peripheral peripheral connected to its port [1] connected to its port [1] is connected is connected to Control Port 1. to Control Port 1.
• Mid-Game Participation In a multiplayer game where players can enter into the game at any given time, there is a possibility that additional controllers that have been connected at that time may cause the player numbers to go out of sequence. Basic 6Player setup protocol recognizes that there may be empty ports between active ports. In addition, the additional connection of peripherals for mid-game participation is also recognized.
Mouse Button Setup Basic Mouse Button Setup When assigning functions to a mouse button, observe the following guidelines instead of those found in section 8.2.1 Basic Control Pad Setup of the Sega Saturn Software Development Standards (for more information, refer to section 8.2 Control Pad and Button Setup found in section 8. Main Game of the Sega Saturn Software Development Standards): Required Compliance Item • Input from buttons A, B, and C must all be supported by the application.
Recommended Button Setup Examples Following are some sample button setups for different game genres: • Example 1: Real-Time Games Button A (L): Most frequently used function Button B (C): Least frequently used function Button C (R): Special function • Example 2: Non-Real-Time Games This setup may be used with games in the strategy, role-playing, adventure, etc. genre. Button A (L): OK Button B (C): Cancel Button C (R): Special function (e.g.
Required Option Items It is required that all software that supports mouse input must also support input from a standard Sega Saturn Control Pad, Virtua Stick, and Mission Stick (digital data). Compatibility of operations with the 6Player is also required. Add the option item below in the “Options “ screen of the application (see section 7. Options Screen in the Sega Saturn Software Development Standards for more information).
8.3 Recommended Compliance Item Pause The pause function is generally not applicable to non-action or nontime oriented based games, and other games that incorporate that function within its game design. Moreover, the START Button may be assigned to other functions besides pause depending on the game design. 8.3.1 Enabling and Disabling Pause Required Compliance Item Pause must always be enabled and disabled by pressing the START Button.
8.4 Reset Resets on the Sega Saturn include a hardware reset via the pressing of the RESET Button on the main unit and a software reset via the simultaneous pressing of the A+B+C+START Buttons on the Control Pad. The outcome of each reset type is governed by its respective reset handler code functions. The hardware reset is defined to be the equivalent of a power off/on cycle reset. All applications must respond to a hardware reset in the same manner as a power-on boot cycle.
Reference: Multi-Game Compilation Title Resets In a multi-game compilation title in which multiple game titles can be played from a single CD-ROM, resets should be structured in the following manner: When a Reset is Executed During the... Main Game state of any given game on the compilation Title Loop sequence of any given game on the compilation Title Loop sequence for the compilation 8.5 Go to the... Title Screen of that game. Title Screen for the compilation.
8.6.3 Proceeding to the Next Screen Required Compliance Item Upon completion of the Ending/Game Credits sequence, the application-based Sega logo screen (the application-based company logo screen for third party titles) must be displayed after a preset time period or any button input. 8.6.4 Sega Saturn Game Credits Display Standards (Sega Brand Titles ONLY) The display of development team members’ names in the game credits should follow these guidelines.
External Developers The external development team members’ real names or nicknames may be used in the credits, unless this is in violation of the developer’s internal policies. Note that the inclusion of the external developer’s company name in the credits may be required in a specific format as stipulated by the development contract.
9. Supplement 9.1 Handling the Open CD Door State Required Compliance Item If the Sega Saturn’s CD Door OPEN button is pressed during a game and the door opens, then the boot ROM’s Audio CD Control Screen must be displayed in the same manner as a reset is handled during the Title Loop sequence. As in the case of a reset in the Title Loop sequence, high scores, passwords and option settings may be initialized (This is only applicable to single CD-ROM disc game titles.). 9.
Appendix 1: Sega Saturn Game Content, Trademark and Copyright Standards Since Sega Saturn software applications are consumer products used in the average home, care should be taken to not include any content that may be offensive to the user as well as content that may infringe upon the legal rights of a third party. Note that these standards are by no means comprehensive in its scope.
2. Miscellaneous Trademark/Copyright Issues 2.1 Trademarks and Copyright Considerations in Japan For more details on the Japanese trademark and copyright usage restrictions, please consult the Japanese version of the Sega Saturn Software Development Standards as well as your localization service provider. Important! 2.2 Prohibited Use of the Acronym RPG Based on a Sega Enterprises, Ltd.
Appendix 2: Sega Saturn Backup Memory System Standards This Standard was developed in order to standardize the basic functions of the Sega Saturn backup memory system as well as the terminology used by the system. The object of this Standard is to provide the user with a logical and friendly interface for dealing with the backup memory system. The contents of this document is applicable to titles that support the backup memory system. 1.
size size refers to the file size managed by the Memory Manager. memory available memory available refers to the total amount of backup memory that is available to the application. Software Function Terms clear clear refers to the Memory Manager function that clears all backup memory data. Note: The term “initialize” is not used unless the Sega Saturn’s System Memory requires initialization. When this operation is necessary, use the phrase “Clear all data (initialize)”.
2. Standard Backup System Implementation The basic backup operating system flowchart is shown in Figure A2.1. The processes, functions and messages shown in the chart below must be implemented in all applications that support backup functions.
2.1 Required Compliance Item Initialization Check The following processes must occur during the initialization check: • Check initialization status of the System Memory and Cartridge Memory (if present) as well as any other external backup memory devices (if connected). • Do not allow the game to start if the available backup memory is not initialized. The initialization of the System Memory and Cartridge Memory must always be checked without fail prior to the start of the main game.
2.4 Required Compliance Item Save During the save operation, the following operations must be performed: • • • • Check for write errors. Check for available memory. Set file names. Set data size. Check for the available memory status when saving data. If there is insufficient memory, then notify the user. Check whether the backup data was saved correctly or not.
Table A2.1 Valid ASCII Characters in File Names and Comments All of the characters in Table A2.1 above may be used in comments. The shaded characters (the numbers 0~9, the capital letters A~Z, and the underline character “_”) can be used in file names. When the file size is displayed, use the equation below to calculate it. Values generated by the equation are rounded up to the nearest whole number. Use the term block as the unit of measurement for the file size.
Comments can be written in Roman alphanumeric and Japanese kana characters. Comments can be up to 10 characters in length. While there are no set guidelines on the content of comments, enter the game title entered in Roman alphanumeric characters as a default. 2.6 Required Compliance Item Time Stamp Support Time stamp support must be implemented in the following manner: 2.7 Required Compliance Item • Time stamp data cannot be modified by the user.
if new file saves are disabled after game start or new file saves are disabled during the game. • 3. “Do not turn off power during execution of save function” warning. Sample Operational Sequences and Warning Messages The following examples show the operational sequence of each backup memory function as well as the display of warning messages. The following examples should be used as a reference to make the backup system in a Sega Saturn application as user friendly as possible.
3.1 Check for Memory Initialization Status, Data, and Available Memory • Warning Messages 1 Required Compliance Item When the Sega Saturn’s System Memory or Cartridge Memory is not initialized, the game must never be started while in this state. After the warning, instruct the user to perform initialization directly from the application or from the boot ROMbased Memory Manager.
Saturn’s Memory Manager. To access the Memory Manager, go to the System Settings screen by holding down the R or L button while pressing the POWER or RESET button. Select the Memory Manager option from that screen. • Disabling the Continue Option Required Compliance Item The continue option in a Sega Saturn application must be disabled if there are no saved game files present for the game.
User Selects Backup Memory Feature User Selects Backup Data Display Warning Load Data Is the backup Message 4 Invalid data valid? Valid Game Start Figure A2.3 Backup Data Load Sequence 3.2 Loading and Saving Backup Data • Warning Messages 4 Required Compliance Item Required Compliance Item The following warning messages are displayed when an error occurs during the loading of data (errors do not typically occur under real world conditions).
User Selects Backup Memory Feature User Selects Save Location Display Warning Message 5 Is memory No available? Yes Display Warning Message 6 Save Data Was save No operation succesful? Yes Continue or Quit Game Figure A2.4 Backup Data Save Sequence • Warning Messages 5 Required Compliance Item The warning messages below are displayed when errors occur during saves.
• Restart the game after deleting files or copying them to the Cartridge Memory or External Memory Device using Sega Saturn’s Memory Manager. • To access the Memory Manager, go to the System Settings screen by holding down the R or L button while pressing the POWER or RESET button. Select the Memory Manager option from that screen. • The file could not be saved successfully. Try again.
Appendix 3: Multiple Disc Applications Software Development Standards The multiple disc applications in this document suggests that 2 discs or more are required to fully play a game; furthermore, because of the story line, these discs are interdependent. The multiplicity (of discs) does not apply if a game can be played on discs independently. Simply stated, this document is written for 2 discs. Applications designed for 3 discs or more can be explained in the same way.
Sufficient conditions •
, a soft reset jump destination, must exist on each disc. (-> This prevents frequent disc switching.) • and must exist on each disc. (-> It is desirable that trademark/copyright displays (or data) exist on each disc.) Soft reset means resetting through the Control Pad . From the backup system conditions: • • Console RAM/Cartridge RAM selection must be allowed.When Options are not included, some specs may not have the . 2. Switching Discs 2.1 Required compliance items and basic procedures 2.1.1 Required compliance items Required Compliance Item The following items require strict compliance when switching discs 1 and 2: • Make sure to switch discs through the multiplayer screen within the console boot ROM (processing and screen display). • Make sure to save the score and Options settings when switching discs (i.e.
conflicts regarding 1. Basic design and 2> Title sequence, refer to Recommended specs in 5.). 2) Continuous Start from the Disc 2 Content with Respect to Disc 1 Regardless of the launch from disc 1, when starting the game from disc 2 through continuous start, before switching discs, a screen display must prompt the start from disc 2. (The user selects Continue from Title within disc 1.) 1. Reading Continue information from the backup RAM. (The user selects and determines saved data from the disc 2 content.
• The case is excluded when regardless of a launch from disc 1, there is no game data (saved data) started from the disc 1 content (this is because disc 1 includes a function to allow start from the start). • After disc 2, each application determines whether the function to allow start form the start should be included.
3.3 Reset through CD door Open All cases: similar to the normal case. Jump to the console boot ROM . 4. Save function 4.1 Saving game data when switching discs To pass game status over several discs, excluding special cases such as passwords, the only way is to use the backup RAM to save status. Therefore, all multi-disc applications using the backup RAM must include specifications to ensure saving game data when switching discs.
However, when a halfway play (disc 1 play only) ends at a highly inappropriate location (when it might be mistaken with a fatal bug), the game play should not be forced with the above message. In that case, display a message to prompt clearing other applications game data and display the amount of space required, and do not allow the game to start. (Message: Appendix 1: ) 5.
• can be skipped. However, pay attention to the following: Caution! is special state data; it normally do not exist. • After is inserted correctly, make sure to rewrite to starting from as soon as possible. • Make sure to take appropriate measures when incorrectly there are more than 2 .(i.e., set priorities through time stamp, set select screens, etc.