Difference between revisions of "SATCompliance"

From Sega Retro

(Created page with "{{back}}{{#vardefine:compformat|SAT}}{{#vardefine:score_pass|0}}{{#vardefine:score_fail|0}}{{#vardefine:score_partial|0}}{{#vardefine:score_untested|0}}{{#vardefine:comp_total...")
 
Line 1: Line 1:
 
{{back}}{{#vardefine:compformat|SAT}}{{#vardefine:score_pass|0}}{{#vardefine:score_fail|0}}{{#vardefine:score_partial|0}}{{#vardefine:score_untested|0}}{{#vardefine:comp_total|0}}{{#vardefine:pagename|{{#explode:{{PAGENAME}}|/Compliance|0}}}}
 
{{back}}{{#vardefine:compformat|SAT}}{{#vardefine:score_pass|0}}{{#vardefine:score_fail|0}}{{#vardefine:score_partial|0}}{{#vardefine:score_untested|0}}{{#vardefine:comp_total|0}}{{#vardefine:pagename|{{#explode:{{PAGENAME}}|/Compliance|0}}}}
[[Sega Dreamcast]] compliance standards are defined by the [[:File:SegaDreamcastSoftwareCreationStandards US.pdf|Dreamcast Software Creation Standards]], created by [[Sega of America]]. The following are points marked as "required". Some duplicates have been removed.
+
[[Sega Saturn]] compliance standards are defined by ''[[:File:ST-151-R4-020197.pdf|Sega Saturn Software Development Standards SOA Version 2.0]]'', created by [[Sega of America]]. The following are points marked as "required". Some duplicates have been removed.
  
 
==Controllers==
 
==Controllers==
{{#vardefine:dccomp|1.1,2,2.1,2.2a,2.2b,2.3.1,2.3.2,2.3.3,2.3.4a,2.3.4b,2.3a,2.3b,3.1a,3.1b,3.1c,3.3a,3.3b,4,4.1,4.2a,4.2b,4.3,4.4a,4.4b,4.5,7.2a,7.2b,7.2c,7.4,7.5,8.1.1,8.2.1,8.2.2,8.2.4.ad,8.2.4.ae,8.2.4a,8.2.4aa,8.2.4ab,8.2.4ac,8.2.4b,8.2.4c,8.2.4d,8.2.4e,8.2.4f,8.2.4g,8.2.4h,8.2.4i,8.2.4j,8.2.4k,8.2.4l,8.2.4m,8.2.4n,8.2.4o,8.2.4p,8.2.4q,8.2.4r,8.2.4s,8.2.4t,8.2.4u,8.2.4v,8.2.4w,8.2.4x,8.2.4y,8.2.4z,8.3.1a,8.3.1b,8.3.2,8.3.3,8.3.4,8.4.1,8.4.2,8.6.1,8.6.3,9.1,9.2,a2.1,a2.2,a2.3,a2.4a,a2.4b,a2.4c,a2.6,a2.7,a3.1a,a3.1b,a3.1c,a3.1d,a3.2a,a3.2b,a3.2c,a3.2d,aa1.2,aa2.1.1,aa2.1.2}}{{ComplianceTable|
+
{{#vardefine:satcomp|1.1,2,2.1,2.2a,2.2b,2.3.1,2.3.2,2.3.3,2.3.4a,2.3.4b,2.3a,2.3b,3.1a,3.1b,3.1c,3.3a,3.3b,4,4.1,4.2a,4.2b,4.3,4.4a,4.4b,4.5,7.2a,7.2b,7.2c,7.4,7.5,8.1.1,8.2.1,8.2.2,8.2.4.ad,8.2.4.ae,8.2.4a,8.2.4aa,8.2.4ab,8.2.4ac,8.2.4b,8.2.4c,8.2.4d,8.2.4e,8.2.4f,8.2.4g,8.2.4h,8.2.4i,8.2.4j,8.2.4k,8.2.4l,8.2.4m,8.2.4n,8.2.4o,8.2.4p,8.2.4q,8.2.4r,8.2.4s,8.2.4t,8.2.4u,8.2.4v,8.2.4w,8.2.4x,8.2.4y,8.2.4z,8.3.1a,8.3.1b,8.3.2,8.3.3,8.3.4,8.4.1,8.4.2,8.6.1,8.6.3,9.1,9.2,a2.1,a2.2,a2.3,a2.4a,a2.4b,a2.4c,a2.6,a2.7,a3.1a,a3.1b,a3.1c,a3.1d,a3.2a,a3.2b,a3.2c,a3.2d,aa1.2,aa2.1.1,aa2.1.2}}{{ComplianceTable|
 
{{#vardefine:i|0}}{{#while:
 
{{#vardefine:i|0}}{{#while:
| {{#if:{{#explode:{{#var:dccomp}}|,|{{#var:i}}}}|true}}
+
| {{#if:{{#explode:{{#var:satcomp}}|,|{{#var:i}}}}|true}}
| {{#vardefine:output|{{#explode:{{#var:dccomp}}|,|{{#var:i}}}}}}<br/>
+
| {{#vardefine:output|{{#explode:{{#var:satcomp}}|,|{{#var:i}}}}}}<br/>
 
{{ComplianceRow|{{#var:output}}|
 
{{ComplianceRow|{{#var:output}}|
 
| image1={{{{{#var:output}}_image1|}}}
 
| image1={{{{{#var:output}}_image1|}}}
Line 29: Line 29:
 
!Total
 
!Total
 
|{{#var:comp_total}}
 
|{{#var:comp_total}}
|}<noinclude>
+
|}<noinclude>{{TODO}}
 
Compliance template for Saturn games. It automatically detects peripherals.
 
Compliance template for Saturn games. It automatically detects peripherals.
  

Revision as of 05:43, 28 August 2024

Back to: [[]].

Sega Saturn compliance standards are defined by Sega Saturn Software Development Standards SOA Version 2.0, created by Sega of America. The following are points marked as "required". Some duplicates have been removed.

Controllers


Compilance Screenshot(s) Pass/fail Comments
1.1: [1]
Untested, assumed pass
2: Perhipheral checks should occur before the game is started.[2]
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.

Untested, assumed pass
2.1: Peripheral checks should occur throughout the game to handle device disconnection.[2]
Peripheral check routines must be incorporated throughout the game to accommodate possible errors that may occur from (un)intentional peripheral device disconnection.
Untested, assumed pass
2.2a: A controller must be connected to control port 1 for software to function. If a controller is removed, the system must be paused or a warning message should display until a controller is connected. Software should not function if a controller is only plugged into port 2.[2]
The absence of a peripheral or a peripheral connected only at Control Port 2 is equivalent to null controller input state (i.e., no controller input is sensed. The game cannot be started in this state).

If an active peripheral is disconnected during the course of an action or time-oriented game, detect the disconnect as a "null input" state, followed by a system pause or a warning display. In either case, the game must not continue while the peripheral is disconnected. The affected port becomes an unused active port.

Untested, assumed pass
2.2b: After a controller is reconnected, software must resume after pressing  START .[2]
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.
Untested, assumed pass
2.3.1: The Control Pad and Virtua Stick must be compatible with all games.[3]
Standard Digital Devices
  • Compatibility: Fully compatible with all games.
  • Peripheral Types: 8-Button Control Pad, Virtua Stick.
  • SMPC Standard Format Type: Saturn Digital Device (see the SMPC User's Manual for more information).
  • Special Considerations: None.
Untested, assumed pass
2.3.2: The 6Player must be compatible with all games. If plugged into control port 1, any of the 6Player's ports can be used to control single-player games. Single-player games cannot be controlled if used with a 6Player plugged into control port 2[4]
Multitap
  • Compatibility: Fully compatible with all games.
  • Peripheral Types: 6Player.
  • SMPC Standard Format Type: Not applicable (see the SMPC User's Manual for more information).
  • Special Considerations: The 6Player supports all of the 4 Sega Saturn Standard Format Types for protocols with a maximum data size of 15 bytes. 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.
Untested, assumed pass
2.3.3: Analog controllers (e.g. the Mission Stick) must be compatible with all games if set to digital mode.[4]
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).
  • SMPC Standard Format Type: Saturn Analog Device (see the SMPC User's Manual for more information).
  • Special Considerations: The first 2 data bytes of the Saturn Analog Device Format are identical to the first 2 data bytes of the Saturn Digital Device. Therefore, the Mission Stick provides virtual compatibility with the Digital Device format by inserting digital data in the Right, Left, Down, and Up bits that correspond to movements of the stick. This 2-axis movement is also represented by the X and Y analog data in bytes 3 and 4.

Game producers/developers can choose to make their games fully compatible with all available functions of an analog controller to enhance game play (e.g., using the X, Y, and Z analog data from the Mission Stick). Games can also support additional peripherals that may be available in the future, but that make use of SMPC Standard Formats. Examples would be:

  • 6-Axis Analog Controller, which uses the Saturn Analog Device Standard Format.
  • Mouse, which uses the Saturn Pointing Device Standard Format.
Untested, assumed pass
2.3.4a: All driving games must support the analog mode of the Arcade Racer. The digital mode of the controller should never be used.[5]
Steering Controller

Required 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).

  • Special Considerations

The digital mode of the Arcade Racer (used for Left and Right) is not approved for use in any game because of inadequate (slow) response times. For the Arcade Racer, the Up and Down bits in the Saturn Analog Device standard format are activated by the "paddles" on the steering column: Left Paddle = Up, and Right Paddle = Down.

Untested, assumed pass
2.3.4b: Software must not make use of the L and R buttons if the Arcade Racer is supported.[5]
The Arcade Racer does not provide buttons that activate the RTRG and LTRG bits. Therefore, driving games that make use of the Left and/or Right Flipper buttons on the 8-Button Control Pad must implement an alternate means of triggering those functions when an Arcade Racer is connected.
Untested, assumed pass
2.3a: Peripherals must support transparent recovery from reconnecting during gameplay.[2]
Compatible peripherals must support transparent recovery from input peripheral disconnect/reconnect activity during the game session (prior to or after game start).
Untested, assumed pass
2.3b: If an incompatible peripheral is connected, inputs should be ignored and a warning message displayed, instructing the user to connect a compatible peripheral.[2]
Support for incompatible peripherals within the game application is defined as software measures to prevent 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.
Untested, assumed pass
3.1a: Software must display an unmodified Sega license screen after boot.[6]
At Power On:

Required 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.

Untested, assumed pass
3.1b: Software must display an unmodified Sega license screen after boot.[6]
At Power On:

Required 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.

Untested, assumed pass
3.1c: For Sega brand titles, the group or team logos (e.g. Sega Sports) must be displayed immediately after the initial Sega logo.[6]
Sega Product Group/Team Logos (Sega Brand Titles ONLY)

Required Sega product group/team logos (e.g. Sega Sports) must be displayed immediately after the initial Sega logo display.

Untested, assumed pass
3.3a: For Sega brand titles, the Sega logo should be displayed in the middle of the screen. For products sold exclusively in the US, the logo is a registered trademark, and so must be displayed in the same colours and shape as registered and include registered trademark symbol (®).[7]
The registered trademark "Sega" must be displayed in the center of the TV screen. The trademark symbol "®" must be included with the Sega logo for products sold exclusively within the United States. (Consult a localization specialist for products destined for countries other than the U.S.)

Since this is a registered trademark, it must be displayed in the same colors and shape as it is registered. There are no explicit guidelines governing the display size.

Untested, assumed pass
3.3b: The Sega logo must be displayed for approximately 2 seconds in its official trademark format.[7]
The Sega logo must be displayed for approximately 2 seconds in the official trademark format. If the START Button is pressed before the final form of the logo is drawn on-screen, the logo must still be allowed to display in its registered trademark form before proceeding to the next screen.
Untested, assumed pass
4: The title screen is defined as the "Game Start Screen", and any state before and after pressing  START  on the title screen should be the "Pre-Game Start State" and "Post-Game Start State" respectively.[8]
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.
Untested, assumed pass
4.1: Software must have a title screen with a logo, the text "PRESS START BUTTON" and copyright information. "PUSH" is not accepted.[8]
The following three items are minimum display requirements:
  • Title logo
  • The words "PRESS START BUTTON" (Do not use the word "PUSH".)
  • Copyright information
Untested, assumed pass
4.2a: For Sega brand game logos a trademark symbol (™) must be shown in the upper right hand corner of this logo.[8]
The game title logo must be displayed in its final form for approximately 2 seconds. In addition, the trademark characters "™" must be shown on the upper right hand corner of the title logo.
Untested, assumed pass
4.2b: For third-party trademarks, conform to any applicable licensing agreements.[8]
When handling trademarks owned by other companies, make sure to consult and confirm the contents of the applicable licensing agreements and observe their terms.
Untested, assumed pass
4.3: The game title logo must be displayed in its final form for approximately 2 seconds.[8]
The game title logo must be displayed in its final form for approximately 2 seconds.
Untested, assumed pass
4.4a: For products developed by Sega, the copyright information should take the form "© Sega Enterprises, Ltd., 199X"[8]
Copyright information must be displayed as shown below for original products developed by Sega.

© Sega Enterprises, Ltd., 199X

Untested, assumed pass
4.4b: Non-Sega copyrights should take the form "© <Formal Company Name>, <First Year of Release>"[9]
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".

Untested, assumed pass
4.5: Non-Sega copyrights should take the form "© <Formal Company Name>, <First Year of Release>"[9]
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".

Untested, assumed pass
7.2a: Always include an option to swap between stereo/monaural audio (unless the game does not support the former).[10]
Always include a sound output setting to switch between stereo and mono audio output. (This requirement does not apply to game applications that only support mono audio output.)
Untested, assumed pass
7.2b: Software must not adjust the internal clock.[10]
Adjustments to the internal Sega Saturn system clock may NOT be made from within the game application. Adjustments to the system clock are supported by the internal boot ROM application. The user must set the system clock in the "Set Clock" menu.
Untested, assumed pass
7.2c: A "CONTROL" option should allow users to reconfigure controller button mappings.[10]
The "CONTROL" option should enable the user to set controller settings for each button.
Untested, assumed pass
7.4: Option settings should be retained after an in-game software reset.[11]
Option settings must be retained when reset is performed during the Main Game state by pressing A+B+C+START Buttons.
Untested, assumed pass
7.5: Options screens should return to a menu, not the company logo or title screens.[11]
After "Exit" is selected and an arbitrary decision button is pressed or the START Button is pressed at an arbitrary position, the screen must return immediately to the Start/Options screen.

Always return back to the Start/Options screen and not to the Sega logo (company logo) screen or Title Screen.

Untested, assumed pass
8.1.1: Important HUD elements should be displayed two cells from the left or right of the screen, and one cell from the top or bottom.[12]
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. This requirement takes into account the differences in the display area of monitors.

Untested, assumed pass
8.2.1: Control port 1 must be assigned to player 1, and if connected, control port 2 to player 2. If using a 6Player, its first port is player 1 and its second port is player 2.[13]
The following rules must be observed when assigning operations to the Control Pad:
  • A Control Pad must always be connected to Control Port 1 in order for the player to start the game.
  • Control Port 1 must always be assigned to player 1 functions and Control Port 2 must always be assigned to player 2 functions (Except when a Control Pad is not connected to Control Port 2).
  • When a 6Player is used, the first port must always be assigned to player 1. The next port to the right is assigned to player 2.
Untested, assumed pass
8.2.2: A, B and C must all be used.  START  must be recognised regardless of the state of other buttons. All buttons must have an immediate effect (unless the effect is delayed by design).[13]
The following rules must be observed when assigning operations to the Control Pad buttons:
  • Make sure that the "A, B, C" Buttons are all used.
  • The START Button (used for the Start and Pause functions) input must be recognized regardless of input from other buttons.
  • All button presses must have an immediate effect (unless a delayed response is a wholly intentional aspect of the game/application design).
Untested, assumed pass
8.2.4.ad: For right-handed mouse button operations, the default button assignment priority is A>B>C (the opposite of a standard control pad).[4]
For right-handed mouse button operations, the default button assignment priority is A>B>C. This is the inverse of the button assignment priority for the standard Sega Saturn Control Pad. (This button assignment priority convention is consistent with that used in current graphical user interface systems.)
Untested, assumed pass
8.2.4.ae: DESC HERE[4]
If the mouse (the active peripheral in this case) is disconnected during the course of an action or time-oriented game, detect the disconnect as a "null input" state, followed by a system pause, or a warning display.
Untested, assumed pass
8.2.4a: DESC HERE[4]
If the mouse (the active peripheral in this case) is disconnected during the course of an action or time-oriented game, detect the disconnect as a "null input" state, followed by a system pause, or a warning display.
Untested, assumed pass
8.2.4aa: DESC HERE[4]
If the mouse (the active peripheral in this case) is disconnected during the course of an action or time-oriented game, detect the disconnect as a "null input" state, followed by a system pause, or a warning display.
Untested, assumed pass
8.2.4ab: Input from A, B and C must all be supported by the software.[4]
Input from buttons A, B, and C must all be supported by the application.
Untested, assumed pass
8.2.4ac:  START  must operate independently of input from other buttons.[4]
The START button must operate independently of input from the other buttons.
Untested, assumed pass
8.2.4b:  START  must operate independently of input from other buttons.[4]
The START button must operate independently of input from the other buttons.
Untested, assumed pass
8.2.4c:  START  must operate independently of input from other buttons.[4]
The START button must operate independently of input from the other buttons.
Untested, assumed pass
8.2.4d: Software must continue to run correctly if a Shuttle Mouse is connected, even if the peripheral is not explicitly supported.[14]
In applications that do not provide mouse support, make sure that operational problems do not occur when a mouse is connected to the system.
Untested, assumed pass
8.2.4e: In multi-player games where players are not guaranteed to start at the same time, perform peripheral checks for second, third, fourth etc. ports as frequently as possible.[15]
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.
Untested, assumed pass
8.2.4f: For single-player games, always use player 1 controls to start a game.[4]
Always use player 1 controls (the compatible peripheral connected to Control Port 1) to start a game.
Untested, assumed pass
8.2.4g: For multi-player games, any port can start the game.[4]
In multiplayer games where players can have different starting times, the game may be started from a peripheral other than that of player 1.
Untested, assumed pass
8.2.4h: In multi-player games, the number of ports from which games can be started and operated must not exceed the number of supported players. For example, if three controllers are connected in a two-player game, the third controller should not work.[4]
The maximum number of active ports that can be selected for a game is equal to the maximum number of players supported by the game.
Untested, assumed pass
8.2.4i: When a peripheral is disconnected (or connected) during the title loop, make sure the software can support it without any problems.[4]
When a peripheral is disconnected (or connected) during the main title loop game sequence for any reason, make sure that the application can support those operations without any problems.
Untested, assumed pass
8.2.4j: If an active peripheral is disconnected during an action or time-oriented game, detect as a "null input" followed by a system pause or a warning display. The game must not continue while the peripheral is disconnected.[4]
If an active peripheral is disconnected during the course of an action or time-oriented game, detect the disconnect as a "null input" state, followed by a system pause or a warning display. In either case, the game must not continue while the peripheral is disconnected. The affected port becomes an unused active port.
Untested, assumed pass
8.2.4k: If the peripheral is reconnected, the game session must resume. If the game was paused prior to disconnection, the user must press  START  to resume.[4]
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.
Untested, assumed pass
8.2.4l: When there are limited peripheral types supported, a system pause must occur when the compatible peripheral is disconnected.[4]
When there are limited types of compatible peripherals supported by the application, the system pause must occur when the compatible peripheral is disconnected (e.g., when a mouse is disconnected during the execution of a mouse-compatible application).
Untested, assumed pass
8.2.4m: If a 6Player is required, but is disconnected, a system pause should occur.[4]
When a 6Player is used, and the 6Player is disconnected.
Untested, assumed pass
8.2.4n: If a system pause occurs during a normal user pause, both pauses should be cleared when the system pause is cleared.[16]
If a system pause occurs during a normal user pause (for example, if an active peripheral is disconnected during an user pause), the user and system pause should be cleared automatically when the system pause is cleared.
Untested, assumed pass
8.2.4o: Input should only be enabled if a compatible peripheral is connected to the unused active port and the pause is cleared.[4]
Input should be enabled only if a compatible peripheral is connected to the unused active port and the pause is cleared.
Untested, assumed pass
8.2.4p: DESC HERE[4]
Even if a different peripheral than the previously active peripheral is connected to the system, input should be reenabled (after the pause is cleared), as long as that peripheral is a compatible peripheral.
Untested, assumed pass
8.2.4q: DESC HERE[4]
The detection of the active port for the above cases should in the following sequence :

1. Design the user interface so that the player must press the START button on the control pad to join the game in progress immediately after the peripheral is connected to the system. 2. At the start of the next game.

Untested, assumed pass
8.2.4r: DESC HERE[4]
The detection of the active port for the above cases should in the following sequence :

1. Design the user interface so that the player must press the START button on the control pad to join the game in progress immediately after the peripheral is connected to the system. 2. At the start of the next game.

Untested, assumed pass
8.2.4s: DESC HERE[4]
The detection of the active port for the above cases should in the following sequence :

1. Design the user interface so that the player must press the START button on the control pad to join the game in progress immediately after the peripheral is connected to the system. 2. At the start of the next game.

Untested, assumed pass
8.2.4t: DESC HERE[4]
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.
  • A compatible peripheral must be connected to a 6Player (connected to Control Port 1) in order to start the game.
  • A multiplayer application must run correctly regardless of whether a 6Player is connected to Sega Saturn's Control Port 1 or Control Port 2 (see 6Player setup configuration example below).
  • Player numbers must be assigned so that the lowernumbered ports (left-side ports) are always given assignment priority according to the 6Player's state. Make sure that player numbers are not assigned out of order.
Untested, assumed pass
8.2.4u: DESC HERE[4]
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.

Untested, assumed pass
8.2.4v: DESC HERE[4]
From the valid port, assign player numbers in an ascending order of port numbers to the active ports.

However, only the peripherals that have had their START buttons pressed at a specific point in the application are recognized (e.g., in the title screen).

Untested, assumed pass
8.2.4w: DESC HERE[4]
Player numbers may be assigned to inactive ports using the method above. Therefore, the user peripheral interface must be designed so that the player number assignment is in sequence with the port numbers. (For example, when a START button is pressed during the game, a screen is shown immediately that indicates which player joined the game at that point.)
Untested, assumed pass
8.2.4x: DESC HERE[4]
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.
Untested, assumed pass
8.2.4y: DESC HERE[4]
If an active peripheral or a 6Player configured with an active peripheral is disconnected during the course of an action or time-oriented game, detect the disconnect as a "null input" state, followed by a system pause or warning display. The port to which those peripherals were connected to, becomes an unused active port. More than one unused active port can exist (see Figures 3.4 through 3.6).
Untested, assumed pass
8.2.4z: DESC HERE[4]
If an active peripheral is disconnected and a compatible peripheral is reconnected to that port, re-enable input from that peripheral.
Untested, assumed pass
8.3.1a: The user pause must always be enabled and disabled with  START .[17]
Pause must always be enabled and disabled by pressing the START Button.
Untested, assumed pass
8.3.1b: In multi-player games, each pause is independent, e.g. pausing from control port 1 can only be cleared with control port 1, not control port 2.[17]
When two players are playing simultaneously, the enabling and disabling of pause should be allowed from either Control Pad. In those cases, controller operations for Control Port 1 and Control Port 2 should be independent (e.g., if a pause is set from Control Port 1, then it should be disabled only from Control Port 1).
Untested, assumed pass
8.3.2: During a pause, the word "PAUSE" must be displayed on-screen to differentiate the pause from software bugs.[17]
During pause, the word "PAUSE" must be displayed on-screen (to differentiate the pause from a crash)
Untested, assumed pass
8.3.3: Pausing should not be allowed during company logos, the title screen, the demonstration sequence or blank screens.[17]
Pauses must be disabled during the following instances:
  • Display of company logos
  • During the Title Screen
  • Demonstration sequence
  • Blank screen
Untested, assumed pass
8.3.4: All audio must be disabled during a pause. If background music was stopped by a pause, the music should continue from the stopping point when unpaused.[17]
Sound must be disabled during pause. If the playback of the background music was stopped by the pause, the music should continue from the pause point when the pause is disabled.
Untested, assumed pass
8.4.1: Users must be able to perform a software reset from anywhere in the software save for backup memory device operations. High scores, passwords and options settings should not be cleared if the software reset is performed during hte main game.[18]
A Reset must be executable from any screen, except during backup memory device operations (i.e., clear, save, remove). High scores, passwords and options settings must not be cleared if the reset is executed during the Main Game state.
Untested, assumed pass
8.4.2: A+B+C+ START  should perform a software reset. During the main game state a software reset should take the user to the title screen, while during the title loop sequence it should take the user to the boot ROM.[18]
If buttons A+B+C and the START Button on the Control Pad are pressed at the same time, then a reset is executed (In terms of button input processing, the reset occurs when the START Button is pressed while buttons A+B+C are depressed.).

Depending on the state of the application during the reset, the following actions occur: When a Reset is Executed During the... Main Game state Go to the... Title Screen When a Reset is Executed During the... Title Loop sequence Go to the... Audio CD Control Screen

Untested, assumed pass
8.6.1: Users should not be able to skip or cancel the ending or credits sequences.[19]
Do not enable the user to skip/cancel the Ending/Game Credits sequence.
Untested, assumed pass
8.6.3: After an ending or credits sequence, software should return to the Sega (or third-party company) logo screen after a preset period of time or a button press.[20]
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.
Untested, assumed pass
9.1: For single disc titles, opening the CD lid should automatically return to the boot ROM.[21]
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.).
Untested, assumed pass
9.2: Software must only run in the intented sales region.[21]
All game applications must be coded so that they run only on Sega Saturn hardware available in the intended sales region for the software. This hardware territory lockout scheme is implemented via "Area Codes" set within the game code as shown below (For more details, consult document number

ST-040, Disc Format Standards Specification Sheet.).

East Asia PAL, Europe PAL, Central South America PAL||E
Area Code
Japan NTSC J
Asia NTSC

(Taiwan, Philippines, republic of Korea)||T

North/South American NTSC

(Canada, Central South America [Brazil], United States)||U

Untested, assumed pass
a2.1: DESC HERE[4]
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. If either one is not initialized, the user must be notified about the memory status and instructed to perform initialization directly from the game application or from the Sega Saturn's boot ROM based Memory Manager screen The game must not be started if either memory device remains uninitialized.

Untested, assumed pass
a2.2: DESC HERE[4]
The following checks must occur:
  • Check for data.
  • Check available memory.

Before the main game starts, check for data that can be used by the application as well as the remaining memory space of the System Memory and Cartridge Memory. If the application's data does not exist or there is insufficient amount of memory left to save data, then display the appropriate warning message (see section 2.8 Warning Messages).

Untested, assumed pass
a2.3: DESC HERE[4]
This process must occur during the load operation:
  • Check for damaged data and load errors.

Always check for damaged data when reading data. If the data is unusable, then notify the user by displaying that file name in a different name format that indicates its damaged status.

Untested, assumed pass
a2.4a: DESC HERE[4]
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.

Untested, assumed pass
a2.4b: DESC HERE[4]
File names must always be 11 characters in length. If there are fewer than 11 characters, use the underscore character to pad the name out to 11 characters. The "space" character is not allowed.
Untested, assumed pass
a2.4c: DESC HERE[4]
When multiple save files are required in a game, the first eight consisting of three characters (the underscore character and 2 numbers) are allowed to change.
Untested, assumed pass
a2.6: DESC HERE[4]
Time stamp support must be implemented in the following manner:
  • Time stamp data cannot be modified by the user.
  • Display files in chronological order beginning with the file that has the most recent save date.
  • Time data must always be written in the file.
Untested, assumed pass
a2.7: DESC HERE[4]
All Sega Saturn memory types must be supported. The backup memory data must be directly accessible from both the System Memory, Cartridge Memory, and External Backup Memory Devices.
Untested, assumed pass
a3.1a: DESC HERE[4]
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. Following are sample warning messages

(words in parentheses should be used depending on the memory device type used):

  • The System Memory (Cartridge Memory/External Device) is not ready for use.
  • Do you want to clear all files in System Memory (Cartridge Memory/External Device)? Are you sure? Yes No
  • Cleared all files in System Memory (Cartridge Memory/ External Device).
  • Failed to clear all files in System Memory (Cartridge Memory/External Device).
  • Please clear all files 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.

Untested, assumed pass
a3.1b: DESC HERE[4]
The following warning messages are given to the user when there is insufficient memory available for saving games (the only way new files can be written to the system is by deleting existing files or by overwriting/updating them). The user must also be notified of the amount of memory required by the game's save file.
  • There is insufficient memory to save a new file.

If the game is started under these conditions, a new file cannot be saved unless a existing file is deleted.

  • An additional *** blocks of free memory is required to save a game.
  • Restart the game after deleting files or copying them to the Cartridge Memory using the 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.
Untested, assumed pass
a3.1c: The continue option must be disabled if there are no saved game files present for the game.[4]
The continue option in a Sega Saturn application must be disabled if there are no saved game files present for the game.

Moreover, the player should not be given access to saved game selection screen (game load screen) until data is saved to backup memory.

Untested, assumed pass
a3.1d: DESC HERE[4]
The following warning messages are displayed when 1) there are no saved game files for that game, and 2) there is insufficient memory to save game data. In essence, the save game function cannot be used in this case. However, the user must always be given the option to play the game with the save game function disabled. The user must also be notified of the amount of memory required to save the game's backup data file.
  • Games may not be saved under these conditions. Do you still wish to start the game? Yes No
  • An additional *** blocks of free memory is required to save a game.
  • Restart the game after deleting files or copying them to the Cartridge Memory 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.
Untested, assumed pass
a3.2a: DESC HERE[4]
The following warning messages are displayed when an error occurs during the loading of data (errors do not typically occur under real world conditions). The messages below notify the user that the load failed and the data file is unusable.
  • The file could not be loaded properly.
  • Failed to load the file.
  • The game cannot be started with this file.
  • This file cannot be used.
Untested, assumed pass
a3.2b: DESC HERE[4]
Avoid using the term "damaged" in these messages.
Untested, assumed pass
a3.2c: DESC HERE[4]
The warning messages below are displayed when errors occur during saves. The messages are used if there is insufficient memory left to save data or if there is a write error (errors do not typically occur under real world conditions). If there is insufficient memory left in the system, the user must also be notified of the amount of memory required by the game's backup data file.
  • An additional *** blocks of free memory is required to save a game.
  • 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.
Untested, assumed pass
a3.2d: DESC HERE[4]
This is a message that warns the user not to turn off the power to the Sega Saturn while saving data. This warning should be displayed when necessary and appropriate during the game. A similar warning should also be included in the instruction manual of the application.
  • Saving game file. The file may not be saved properly if the Sega Saturn's power is turned off.
Untested, assumed pass
aa1.2: DESC HERE[4]
In title sequences for the 2nd and subsequent discs, at a minimum, the following are required:
  • CD check
  • <License Sega logo> display
  • Pad check
  • Application <Sega logo> display
    • Note: Skip immediately after the <license Sega logo> display.
  • <Title screen>
    • Title logo, <PRESS START BUTTON> display, and (C) notation.
Untested, assumed pass
aa2.1.1: DESC HERE[4]
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., save the settings in the backup RAM).
Untested, assumed pass
aa2.1.2: DESC HERE[4]
The following items require strict compliance when switching discs 1 and 2:

1. Display message on the game screen to prompt switching discs. Switch discs. Press the console Open button and go to the multiplayer screen. After switching discs 1 and 2, close the console CD door and restart the game. (User removes disc 1 = Press the console Open button.) 2. Move the processing over to the multiplayer screen. (User sets disc 2 = Close the console CD door.) 3. Perform CD check on the inserted disc. 4. Display necessary information (license Sega logo). 5. If everything is normal, move quickly to the application.

  • Steps to save necessary data to the backup RAM have been

abbreviated.

Untested, assumed pass

Results

Pass 0
Fail 0
Partial 0
Untested 94
Total 94
Clock.svg
This task is unfinished
This is a wiki task that requires more thought or peer review. An important issue that needs to be solved, which will appear at the top of Sega Retro:Todo until this message is removed.

Compliance template for Saturn games. It automatically detects peripherals.

Each compliance item has "result" (pass/fail/partial/na), "image(1/2/3)" and "comments" fields. e.g. for 2.1:

| 2.1_result=
| 2.1_image1=
| 2.1_image2=
| 2.1_image3=
| 2.1_comments=

Not all compliance items need or support images.


Full list:

{{SATCompliance

}}

If the definitions need changing, see Template:ComplianceDetails.

  1. Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197
  2. 2.0 2.1 2.2 2.3 2.4 2.5 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 8
  3. Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 9
  4. 4.00 4.01 4.02 4.03 4.04 4.05 4.06 4.07 4.08 4.09 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 4.30 4.31 4.32 4.33 4.34 4.35 4.36 4.37 4.38 4.39 4.40 4.41 4.42 4.43 4.44 4.45 4.46 4.47 4.48 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page xx
  5. 5.0 5.1 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 11
  6. 6.0 6.1 6.2 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 12
  7. 7.0 7.1 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 13
  8. 8.0 8.1 8.2 8.3 8.4 8.5 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 14
  9. 9.0 9.1 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 15
  10. 10.0 10.1 10.2 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 18
  11. 11.0 11.1 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 19
  12. Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 20
  13. 13.0 13.1 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 21
  14. Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 25
  15. Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 26
  16. Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 27
  17. 17.0 17.1 17.2 17.3 17.4 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 43
  18. 18.0 18.1 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 44
  19. Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 45
  20. Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 46
  21. 21.0 21.1 Sega Saturn Software Development Standards SOA Version 2.0, Doc #ST-151-R4-020197, page 48