Sonic Shuffle/Compliance

From Sega Retro

Back to: Sonic Shuffle.

Sega Dreamcast compliance standards are defined by the Dreamcast Software Creation Standards, 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: A should "accept" (perform) and B should "cancel" (reject) an operation, unless redefined by the user.[1]
Use the A button to Accept (perform) an operation and the B button to Cancel (reject) an operation.

Allocation of "Accept" and "Cancel" to the A and B buttons, respectively, is always assumed to be the default configuration. However, if a user chooses to redefine the uses of these two buttons using a configuration menu, it is permissible to allow the buttons to be redefined as requested.

Pass
2.1: Software must not stop when an incompatible controller is inserted, but the manual must warn that continued operation is not guaranteed.[2]
It is not permissible for a game to stop when an incompatible controller is inserted in the control port.

Under past development standards, applications were not allowed to start or operate when an incompatible controller was used. This restriction has now been relaxed. If an application does not stop and continued operation is possible when a nonstandard controller is inserted, continued operation is allowed. However, if a game allows the use of nonstandard controllers, the application's instruction manual must warn that "operation with incompatible controllers is not guaranteed."

Untested, assumed pass
2.2.1: In single-player games, it must be possible to start and operate software from any of the four controller ports (A-through-D).[3]
In games that can be played by only one person, as well as in multi-player games, it must be possible to start and operate the game from any of the four front-panel ports (A through D) to which a compatible controller is connected.
Untested, assumed pass
2.2.2: 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.[3]
Unless an expansion socket is used (as described in Chapter 12, "Pause,") the number of ports from which games can be started or operated must not exceed the number of users playing a game. (When an expansion socket is used, it doesn't matter if the ports being used exceed the number of players. Even if you use a memory card to save a game that is being played by only one or two people, it won't cause any problems if an unused expansion socket happens to be plugged in.

Example 1 In a fighting game (a type of game normally designed for either one or two players), it should be possible to connect standard controllers to ports A and B. Starting or playing from port D should not be possible.

Example 2 In a four-player fighting game, it should be possible to connect standard controllers to all four ports on the front of the Sega Dreamcast console. Consequently, it should be possible to start and play from all ports with compatible controllers connected.)

Untested, assumed pass
2.2.3: If a controller is connected after the system turns on, software should recognise it.[4]
Even though a compatible controller is not connected to a port when power is turned on, if it is connected before a game begins, it must be properly recognized and enabled for start and operation. So your application must test the ports frequently in the Title Loop before starting a game.
Untested, assumed pass
2.2.6: For games where only one controller type is used and the user swaps controller ports mid-game, play should not be resumed.[5]
In an application in which single player uses a single controller, play is not resumed.
Untested, assumed pass

Software reset


Compilance Screenshot(s) Pass/fail Comments
4.1.2a: For standard controllers, the software reset must be implemented with A+B+X+Y+ START .[6]
With a few exceptions, a soft reset must occur when the START Button is pressed while the A + B + X + Y buttons are all held down together. Exceptions include racing controllers, gun controllers and hardware keyboards (for which this operation is impossible), and certain controllers for which such operation is difficult. Note that if you cannot make soft reset possible using the operation described in this standard, you must make it possible using some other kind of operation, as explained under the next "Required" subheading.
Pass
4.1.2b: If the current controller means the pressing of A+B+X+Y+ START  for a software reset is difficult or impossible, implement an option in software for performing a software reset (e.g. a menu item).[7]
For controllers such as racing controllers, gun controllers and the keyboard (for which the soft reset operation of pressing the A + B + X + Y buttons and the START button simultaneously is difficult or impossible), applications must make soft resets possible using the method outlined in Chapter 18, Development Standards for Peripherals, or through either a software keyboard or another procedure displayed in a separate menu. When soft reset is supported using a procedure described in a separate menu, your application is not required to display that menu at all times if that would adversely affect your game. Nonetheless, the soft reset option should be clearly displayed on a suitable menu and made selectable for the user.
Untested, assumed pass
4.1.2c: The software reset must be possible from all controllers in use.[7]
Soft Reset must be possible from all controllers (ports) in use. As explained in Chapter 2, Single User, Single Controller Applications, operation of an application is disabled for controllers connected to ports that are not being used by the application, so as a matter of course, soft reset is also disabled for those controllers.
Untested, assumed pass
4.1.4.1a: Performing a software reset from the title loop must return to the boot ROM.[8]
Soft reset from the Title Loop must jump to the Main Unit Boot ROM Menu.
Pass
4.1.4.1b: Performing a software reset from outside the title loop must return to the title screen.[8]
Soft reset from the main game (after the application is started) must jump to the Title Screen.
Pass
4.2.1: The boot ROM must appear within ten seconds of opening the disc lid, save for situations where legitimate disc swapping is required.[9]
The Main Unit Boot ROM menu must appear when the Main Unit "OPEN button" is pressed and the disc lid is opened. Please note the alternative cases described in 4.2.2, Exceptions when the Disc Lid is Open, 4.2.3, When the Disc Lid is Opened during Saves, and 4.2.4, When File Loading Fails from the Disc,. When the disc lid is opened, your application must go to the Main Unit Boot ROM menu within ten seconds.
Untested, assumed pass
4.2.3: Any operation that returns to the boot ROM must wait until a save has finished.[10]
When executing saves, do not go to the Main Unit Boot ROM main screen until that save is finished. (This requirement is imposed to avoid the loss of the file being saved). Go to the main screen as soon as the save is finished.
Untested, assumed pass

Logos, title screen, demos and menus


Compilance Screenshot(s) Pass/fail Comments
3.2: Upon booting software, the stereo/monaural output setting should be changed to match the boot ROM.[11]
Immediately upon loading an application (before the Title Loop starts), the stereo/monaural output setting should be changed to match the Boot ROM settings of the Main Unit. Even if sound output is not listed in Chapter 9, Options, an application internally determines if it is stereo or monaural, so the settings must be changed to correspond to the Main Unit Boot ROM settings on the application side. Currently, the stereo/monaural output settings are saved on the Main Unit, and should not be saved under any circumstances to the memory card. Refer to Chapter 9.2, Storing Option Settings, for more details.
Untested, assumed pass
5.1.1: Upon boot, the Sega license logo must appear on screen (and if utilising Windows CE, the Windows CE logo).[12]
As soon as power is turned on, the Sega License Logo display must appear on the screen. In titles developed using Windows CE for Dreamcast, the Microsoft logo must appear along with the Sega License Logo (see the following screen shot). To display these two logos simultaneously, enable both "Sega License Logo" and "Microsoft Logo" on your application disc's IP.BIN file.

BootROM DC LicenseScreen.png

Pass
5.2.6: Any other logo screens must occur after the Sega license logo, and should be visible for at least two seconds.[13]
After the Sega License logo is displayed, display any other logo screens. Display each screen for at least two seconds.
Pass
5.2.7: License and middleware logos should observe the standards outlined in the contract document in Chapter 24[14]
To display the license logo and library logo, observe the following standards:

1. Follow the rules outlined in the contract document regarding the content of logo display. 2. The order of logo display and the possibility of skipping screens is defined in the terms of the contract document. 3. To display the library logo, refer to Chapter 24, License Acknowledgment when Using Libraries and Patents 4. When you need to display a license logo that is not regulated in the related contract document, we recommend you prepare a detailed display of the contents and send it to the Sega Legal Department for consultation to avoid possible problems of rights infringement.

Untested, assumed pass
5.2.8: The use of team or series logos must be approved by license holders and Sega's legal department. Do not use the words "Presents", "Presented by" or "Produced by" to avoid complications of rights ownership.[14]
To display a team logo and series logo, observe the following standards:

1. When creating a team logo or series logo, obtain approval for its use and register the trademark. 2. When using the logo, use only the logo in A. When using the logo, attach detailed specs of the logo display for the parties involved and send it to the Sega Legal department. 3. Obtain approval from the company in charge of the logo. 4. When displaying the logo, do not use the words "Presents", "Presented by" or "Produced by" together with the team or series logo to avoid complications of rights ownership.

Untested, assumed pass
5.2.9: OEM logos must be approved by Sega's legal department. "In cooperation with" must be added to the OEM company name.[15]
When displaying OEM logos other than manufacture and sales permit licensers, these are the standards to follow:

1. When you want to display an OEM logo, the logo display content is regulated in the development contract document. 2. If there is no regulation in the contract document, as a principle, any OEM logo display is disallowed. 3. However, even with the conditions of (2.), when absolutely necessary, logos can be displayed by attaching detailed specs of the logo display for the parties involved and bringing it to the Sega Legal Department. The OEM company name is displayed in the main position, with the logo display in the secondary position. • Add "In cooperation with"… to the display area of the OEM company name.

Untested, assumed pass
6: A title screen must display a title logo and the text "PRESS START BUTTON" (or for non-English software, a term that signifies that pressing  START  will start a game. Copyright information must also be displayed unless specified otherwise by the contract document, or there is not enough space.[16]
The Title Screen displays the Title Logo, "PRESS START BUTTON" and a copyright, unless specified otherwise by contract document or difficulty (such as a movie title) to display the copyright because of lack of space. If "PRESS START BUTTON" is displayed in any language other than English, express the idea that pressing the start button will start the game as simply as possible.

Sonicshuffle title.png

Pass
6.1: If the transition past the title screen is not initiated by user input, display the title screen for about two seconds.[16]
If transition to the next screen is not initiated by user input, display the Title Logo for about two seconds.
Pass
6.1.1: Advancing past the title screen should only occur when  START  is pressed.[16]
Advancing to the Main Game or Start/Option screen should occur only when the START button is pressed at the Title Screen. If the START button is not pressed, proceed to the next screen of the title loop after a short time has elapsed, as mentioned in Chapter 3, Sequences before Game Start.
Pass
7.1: During the demo sequence, "PRESS START BUTTON" and/or "DEMO PLAY" must be displayed on screen to distinguish the demo from normal play.[17]
During the Play Demo sequence, "PRESS START BUTTON," and/or "DEMO PLAY," should be displayed on the screen to clearly distinguish from the main game (after game start).

SonicShuffle DC US Demo.png

Pass
7.2: Pressing  START  during a demo sequence should return to the title screen.[17]
Pressing the START button during either the Play Demo or Story Demo should immediately bring up the Title Screen. If the START button is not pressed, end the demo after a short time has elapsed, and proceed to the next screen of the title loop.
Pass
8.1: Any menus must exist separately from the title screen.[18]
The Start/Option Selection screen exists separately from the Title Screen. If a "Menu" selection such as Start/Option is needed, it should appear when the START button is pressed at the Title Screen. Objects other than the Menu can be used and combined as needed.

SonicShuffle DC US MainMenu.png

Pass
8.2: Menu items should always be shown, even if the controller state means they cannot be used. When items cannot be used, (e.g. versus mode, when only one controller is connected) they should be greyed out.[18]
According to the controller connection state, items that are unusable should be displayed in the menu, but not be selectable. If a second controller is not present, "vs" mode should be grayed out. If the phone line is not plugged in, the network selection should be grayed out.

SonicShuffle DC US Versus GreyedOut.png

Pass
9.1: A stereo/monaural audio setting should be provided.[19]
Considering the many users who play on monaural TVs, the Stereo/Monaural selection should be provided whenever possible.
Fail
9.2: The stereo/monaural setting must not be saved. The default setting is saved in the boot ROM.[20]
If the option settings are to be backed up according to the above, the Stereo/Monaural setting should not be saved. On the Sega Dreamcast, the Stereo/Monaural settings are saved in the Main Unit, considering the case where the same data is to be used to play in another environment.
N/A
9.3: If the stereo/monaural setting is changed in-game, the boot ROM setting must be changed too.[20]
When the user changes the value of the voice output setting on the application option screen, the Main Unit Boot ROM setting should also be set to the same value before the option screen is exited. Wait until the user confirms. As used in the procedures of 3.1, 9.2 and 9.3, the Stereo/Monaural setting refers to Main Console setting, and other option settings refer to the saved data (if present).
N/A

Main game


Compilance Screenshot(s) Pass/fail Comments
10.1: Important HUD elements should not appear within 8 pixels of the horizontal edge of the screen, or 16 or 32 pixels vertically for 320x240 and 640x480 screen resolutions, respectively.[21]
Important displays such as score and remaining units should not appear within:
  • 8 pixels horizontally or 16 pixels vertically from the game screen (for 320x240 pixel displays).
  • 8 pixels horizontally or 32 pixels vertically from the game screen (for 640x480 pixel displays).

SonicShuffle DC US Pause.png

Pass
10.4: Avoid sudden switches from black to white to maintain compatibility with the sync interval in older TVs.[22]
To maintain compatibility with the sync interval in older TVs, applications should avoid suddenly switching the screen from black to white. (If such switching is necessary, take measures such as inserting gray between the extremes and lowering the brightness of the white.) When using a controller, the above measure is not possible on the hardware, and is an exception. However, as much as possible, don't insert an extremely bright color before a flash or change colors suddenly.
Untested, assumed pass
10.5: Colours with more than 75% brightness (0xC0) should not be allowed to persist for more than 300 seconds or cover more than two thirds of the screen.[23]
Screen display of more than 0XC0 (75% brightness) should not be allowed to persist for a long time (more than 300 seconds), or cover more than 2/3 of the screen. Sega Dreamcast image output is set to 800mV, to display bright white briefly, so if 0XC0 (not only white, but also yellow or other colors) is displayed for a long time on an NTSC/PAL TV, the screen phosphor could be burned. However, there is no problem displaying 0XFF (100% bright white) briefly and in small screen regions. We suggest using values below 0XC0 for large screen regions in applications where screen simulations are likely to be frozen. Currently, even the Boot ROM has the background white display corresponding to 0XC0. The standard brightness of the white color used for the screen flash when using the gun controller is 0x90; for a VGA monitor, it is 0xC0.

The brightness of the white color used for the screen flash is closely related to gun performance and may be hard on your eyes. You may want to lower the brightness of the flash to make it easier on your eyes, but so doing shortens the detection range of the peripheral device. The degree of brightness depends on the type and manufacturer of the monitor on which you view it, but in general, VGA monitors have a lower degree of brightness than a TV monitor. Taking the above conditions into consideration, the brightness of the flash is 0x90 for a TV screen, and 0xC0 for a VGA monitor.

Untested, assumed pass
12: The ability to pause a game should be provided, save for situations where there is nothing to "pause".[24]
A pause capability should be provided except when not needed due to the character of the game, and to allow time for an application to obtain matching service (19.3 Matching Service Functions) when connecting to a network.
Partial The game can be paused on the boards at the start of a player's turn, but cannot be paused during mini-games.
12.1a: Pausing/unpausing must be done with  START .[24]
The START button turns the Pause function on and off.
Pass
12.1b: The pause function should be independent for each port.[24]
When the above condition is enacted to allow Pause from either port A or B, the Pause function is independent for each port (that is, if the Pause is performed from port A, only port A can perform the Resume).
Untested, assumed pass
12.2: A word such as "PAUSE" should be displayed while paused to distinguish the screen from software bugs. This should indicate which player initiated the pause (e.g. "PLAYER 1 PAUSE" or "PLAYER 2 PAUSE").[25]
A word such as "PAUSE" should be displayed while paused. This is to distinguish the Pause from a hang-up from a bug.

The display should so indicate the initiator of the Pause, such as "PLAYER 1 PAUSE" or "PLAYER 2 PAUSE."

SonicShuffle DC US Pause.png

Pass
12.3: After 300 seconds on a static screen, where more than two thirds of the screen is at or above 75% brightness, dim the screen or show a screensaver. The screensaver must be visually different from the main game and must not be completely blank.[25]
If the Pause function causes the screen display to persist, such that white display of more than 75% brightness would occur for a long time (more than 300 seconds), or cover more than 2/3 of the screen, a screen saver should be provided and should start automatically if the Pause persists for more than 300 seconds.

Sega Dreamcast image output is set to 800mV, to display bright white temporarily, so if 0XC0 (not only white, but also yellow or other colors) is displayed for a long time on an NTSC/PAL TV, the screen phosphor could be burned. However, there is no problem displaying 0XFF (100% bright white) for short periods and in a small screen region. It is up to the application whether the screen saver is an "After Dark" type or simply a reduction in screen brightness. (Refer to the partial sample program in the SDK.) Provide a screen different from the main game for the Pause Screen, and ensure that it does not include white display of more than 0XC0 (75% brightness).

SonicShuffle DC US Screensaver.png

Pass
12.4: Pausing is not allowed during logo or title screens, or demo sequences.[25]
A Pause must not be allowed during display of the Logo screen, Title Screen or Demo screen, and should not consist of a blank screen.
Pass
14.1: It must not be possible to skip middleware logos (e.g. ADX and Sofdec).[26]
In case of displaying library logos (such as True Motion and CRI MPEG Sofdec) during ending/credit scrolling, it should not be possible to skip forward. Also, follow the rules in the contract document regarding skipping screens when displaying license logos. When library logo and/or license logo display is not included in the Ending/Credit scroll display, the application side can decide whether or not to allow screen skipping. However, even if license logo display is not included in the Ending/Credit scroll, enable "Soft Reset" during the Ending/Credit scroll, as mentioned in 4.1.1, Soft Reset Timing.
Pass
14.2: After an ending or credits screen, the software return to the title screen, either after a timer elapses or by the press of the accept (default A) or  START  buttons.[26]
After Ending/Credit Scroll finishes, the game should advance to the Title Screen with a timer or by the action of the Accept or Start button.
Untested, assumed pass

Saving


Compilance Screenshot(s) Pass/fail Comments
15: If a VMU is detected, software must make use of it to save data.[27]
If a VMU device is present, the application must make use of the card to save game data. The minimum save-game support should be for game preferences and high scores.
Pass
15.1.1a: Only 1-byte upper case English letters, numbers, underscore and period characters may be used for save file names.[28]
Only 1-byte upper-case English letters, numbers, underscore and period may be used. Spaces are not allowed. (See grayed part of Figure 1, Usable characters for file names and VMS Comments, on the next page.)
Pass
15.1.1b: Save file names must be exactly 12 characters.[28]
File names must be exactly 12 characters.
Pass
15.1.1c: If multiple files are saved by one piece of software, the first 9 characters must be the same (only the last 3 may differ). This is to ensure the batch copy function works in the boot ROM.[28]
When multiple files are saved by one game, the first 9 characters of each file name must be the same (only the last 3 may differ). In the Boot ROM file menu, the first 9 characters determine files associated with each game. Consequently, if these characters are not the same, the files are not recognized as belonging to the same game, and the batch copy function will not work.
N/A
15.1.2: VMU comments should consist of up to 16 single-byte ASCII characters (20 to 7D and A0 to DF). Character 7E (~) should not be used as it does not represent a character in the VMU.[29]
VMU Comments shall consist of up to 16 single-byte ASCII characters (20 to 7D and A0 to DF). Character 7E (tilde) should not be used as it does not represent a character in VMU.
Untested, assumed pass
15.1.3a: Boot ROM comments may consist of up to 32 single-byte or 16 double-byte upper-case English characters.[30]
Boot ROM comments may consist of up to 32 single-byte or 16 double-byte upper-case English characters (double-byte characters display as 24x24 dots with the Boot ROM, and single-byte characters as 24x12 dots).
Untested, assumed pass
15.1.3b: The game title (shortened if necessary) should be written as a boot ROM comment (name + status is also allowed).[30]
The game title (or a shortened form of the title, if necessary) is written as a Boot ROM Comment. Display of "Game name + game status" is also possible.
Pass
15.1.4: If multiple files are to be created append 01, 02 etc. so as not to confuse the sorting order.[30]
When preparing multiple types of data to sort in the same game and changing the sorting order of save data in the same game, use sort data such as "Same game sort data + 01, 02" so as not to confuse the sorting order with another game.
N/A
15.1.5: A save file should have its own unique icon so it can be clearly recognised in the boot ROM.[31]
Each application should have its own unique icon. The unique icon allows each application's save files to be recognized in the Boot ROM File Control Menu.
Pass
15.1.6: Observe the rules outlined in section 23, "Ethics Considerations" when producing "Visual Comments" (the "data" icon)[31]
When preparing Visual Comments, observe the rules outlined in "23. Ethics Considerations" to avoid improper ethics in the comments.
Untested, assumed pass
15.1.7: For save files, allocate the maximum number of blocks of memory required at the start, even if not all the space is used from the beginning. Do not save filler data in the empty space.[32]
For files where the size will grow over time, allocate the maximum number of blocks at the start. For example, if level one data takes two blocks to store the game progress, but level two takes four blocks, then you should allocate four blocks for all level data. In this case, when the data to be saved is smaller than the number of blocks allocated, do not save filler data in the empty space.
Untested, assumed pass
15.1: Save files must always be registered. The file name must be easily recognisable and resemble the name of software.[27]
The save file for a Dreamcast application must always be registered. (Please make sure the "Back up" section of the Master ROM Release form has been completely filled out.)

Create a file name that is easily recognizable and bears an intuitive resemblance to the name of the game.

Pass
15.2.1.1a: On the memory card selection screen, allow controllers and cards to be selected even if they are not available or compatible.[33]
Regardless of whether the port (controller) is being used (compatible), or not used (compatible), make the memory card inserted in either expansion socket selectable.
Untested, assumed pass
15.2.1.1b: The selected port and expansion socket for a memory card must be clearly indicated.[33]
When allowing the user to select the port and expansion socket for a memory card, the user's selection (for example, Port A Expansion Socket 2) should be clearly indicated.
Untested, assumed pass
15.2.2: If an autosave feature is in effect and memory card is removed during play, the game must be paused and a message displayed asking that the memory card be reinserted when it is time to save. If a save file with an identical timestamp and checksum is detected, the game should resume.[34]
If a memory card is removed during the game, play must be paused and a message displayed asking that the memory card be replaced at the time of saving. If a memory card having the same save file (identical time stamp and checksum) as that removed is reinserted, the game resumes.
Untested, assumed pass
15.2.3: Unless saving data, swapping memory cards while the power is on should be supported.[34]
Except for during actual saves, memory card hot plugs (removing and inserting a memory card with the power ON) should be supported. However, access to Visual Memory is not possible when using the gun controller. For that reason, this rule does not apply, but include it anyway so as not to confuse the user.
Untested, assumed pass
15.4a: A message notifying that the game is saving (and not to turn the power off) should be displayed on-screen while a save is in progress. With games which autosave, this message only needs to appear if the save lasts for more than one second.[35]
Except in the case of autosaving, a caution message such as "Saving, do not turn Power off" should be displayed on the TV screen while a save is in progress. It can be assumed that data may be lost if power is turned off or a reset performed while saving, so the caution message is important. Also, even when using auto save, display a message on the TV screen such as "Executing save. Do not turn off the power" as a warning when save time lasts for more than one second.
Untested, assumed pass
15.4b: The software reset capability must be disabled when saving.[35]
Soft reset capability must be disabled while a save is executing.
Untested, assumed pass
15.4c: If saving fails, a message should display informing the user.[35]
When a save operation fails to complete correctly, a caution message such as "Save could not complete correctly" should be displayed.
Untested, assumed pass
15.4d: Unless an autosave feature is in use, users should be prompted to overwrite saves if the save name already exists.[35]
Except when using auto save, display a warning such as "A file with the same name already exists. OK to overwrite? (YES/NO)" to make overwrite selectable for the user when the user selects save to overwrite a file with the same name.
Untested, assumed pass
15.4e: If overwriting a VMU executable software file, a message (mentioning that it is an executable) must be displayed asking if it is okay to overwrite.[36]
Before overwriting a VMU Executable Game file (A game that is designed to run on an undocked VMU) in a Sega Dreamcast application, a caution message such as "A VMU Game is installed. Okay to overwrite?

(YES/NO)" and allow the user to make the choice. No particular message display is needed during 15.2.2, Autosave or when 15.2.3, High scores, etc. are saved.

Untested, assumed pass
15.5a: If when executing a save and no memory card is inserted, display a messasge notifying the user of a lack of memory card, and the number of blocks required to save.[37]
When no memory card is installed, indicate the required space (number of blocks) and display a warning message such as "A memory card with at least xx blocks of space is required for saving. Cancel save?

(YES/NO)".

Untested, assumed pass
15.5b: If there are not enough free blocks on a memory card to save, display a message indicating how many blocks are needed. Check all memory cards for space.[37]
When there is not enough free space (blocks) on an inserted memory card, indicate the lack of empty space (number of blocks) and display a warning message such as "There are not enough free memory blocks. XX empty blocks are required for saving. Cancel save? (YES/NO)". Check all installed memory cards to determine if any memory card has enough space (blocks).
Untested, assumed pass
15.5c: Software should continue even if the user cannot save.[37]
After displaying one of the warning messages "Empty space not sufficient," "Memory card not inserted," or "Memory card not present in the assigned location," make it possible to continue to game (even though saving is not possible).
Untested, assumed pass
15.5d: If the user cannot save, the user should be told that saving cannot occur and be asked whether to continue.[37]
For the times when one of the above-written messages "Empty space not sufficient" or "Memory card not inserted" or when auto saving with 15.2.2 or 15.2.3 are displayed, a warning message such as "A memory card with at least xx blocks of space is required for saving. The game can continue, but saving will not be possible. Continue game? (YES/NO)" should also be displayed. Also, after displaying the warning message, if a memory card is inserted, auto save (warning screen sequence) should be restarted. When a warning message is displayed once, it is not necessary to display the message again unless power to the main unit is turned off, except in cases when the memory card is inserted as mentioned above.
Untested, assumed pass
15.5e: If the save location of high scores and configuration data is assigned to port A, extension socket 1 (according to 15.2.3), messages should reflect the need to place a memory card in this location.[37]
If the save location of high scores and configuration data is assigned to Port A extension socket 1 according to 15.2.3, the port and expansion socket should be indicated in the caution message, such as "A memory card is not inserted in Port A Extension Socket 1. Please insert a memory card at this location to save High Score."
Untested, assumed pass
15.6: Users must not be allowed to delete all files or initialise a VMU in software.[38]
When an application has a memory management screen, the commands "Delete all files" and "Initialize" cannot be displayed. By not providing a command to erase all files, the problem of the user accidentally using it during memory control is avoided.
Untested, assumed pass
15.7a: When loading a save, display a message (e.g. "Loading...") to indicate the file is loading.[38]
When loading a save file, either display a message such as "Loading..." or indicate to the user in some other way that the save file is loading.
Untested, assumed pass
15.7b: If loading fails, a message should display informing the user.[38]
The integrity of a loaded file must be checked, and if damaged, a caution message such as "the file did not load correctly" should be displayed. Display can be done before loading.
Untested, assumed pass
15.7c: If loading fails, do not delete the file as it may be required for customer support.[38]
In the case where a file does not load correctly, it should not be immediately erased (the damaged file may be necessary later for customer service purposes).
Untested, assumed pass
15.8: Software must not copy files which have the copy-protection attribute is set (though the software can create such files).[39]
The application should not copy files in which the copy-protection attribute is set. (However, applications may create such files.)
Untested, assumed pass
15.10.1: When saving, an on-screen indicator should be displayed to show a save is in progress.[40]
(While saving) When returning to normal processing after starting a save, an on-screen indicator (such as a progress bar at the bottom) must be provided to show the user that a save is in progress. Soft reset and CD door open conditions should be indicated in a manner that is compatible with the normal save indication.
Untested, assumed pass

Disc usage


Compilance Screenshot(s) Pass/fail Comments
16.1: If loading from a disc takes more than ten seconds, display a message (e.g. "Loading...") to distinguish the screen from software bugs.[41]
When loading a file from a disc, display a message such as "Loading..." on the screen when reading takes longer than 10 seconds, or otherwise indicate to the user that the delay is not due to a hangup from a bug.

SonicShuffle DC US Loading.png

Pass
20.1: Any *.da file saved in the single-density "CD-ROM" area should be voice data.[42]
In the single-density area of the Dreamcast-specific disc, DA (except for non-sound) should be input as voice data. DA sound should be made to run even if the specific-disc is put in a non-Dreamcast CD player.
Untested, assumed pass
20.2: Program data must be written to and executed from the high-density area of a GD-ROM, not the single-density "CD-ROM" area or a memory card.[43]
For security reasons, the Sega Dreamcast program execution code cannot be written to any area other than the Sega Dreamcast-specific disc high-density area. Sega Dreamcast program execution code should not be written to Sega Dreamcast-specific disc single-density area, save data, or Visual Memory special games.
Untested, assumed pass

Jump Pack


Compilance Screenshot(s) Pass/fail Comments
18.1.1: Only support up to four Jump Packs. If a fifth is detected, only enable the first four (starting with port A, working towards port D).[44]
  • Sega Dreamcast currently uses four control ports, however, should additional ports become available check the current to make sure that it is safe to use the fifth Jump Pack. (Up to four Jum Packs can be plugged into the front of the console, one in each port, without any need to check the current.)
  • Allow vibration function for each controller, starting with port A, and continuing until the maximum current draw has been reached.
  • Disable vibration support for any remaining ports.
Untested, assumed pass
18.1a: Include an option to turn on/off the Jump Pack, if the peripheral is supported.[45]
Include an option to toggle the setting ON/OFF for operation of the vibration peripheral, hereafter referred to as the Jump Pack. This setting should be made selectable.
Untested, assumed pass
18.1b: Stop vibration from the Jump Pack when paused or returning to the boot ROM.[45]
Stop vibration with the Jump Pack during pause or when transferring to the Main Unit Boot ROM. In the rules up to now, whether or not to stop vibration of the Jump Pack "during transfer to the Main Unit Boot ROM" was not specially regulated, but from this version, stopping the vibration on the application side is regulated.
Untested, assumed pass
18.1c: Stop vibration from the Jump Pack when saving as it could break the connection to the memory card.[44]
When saving to the memory card, stop vibration of Jump Pack. There is a very slight chance that vibration may cause a momentary power failure in the connector terminal, so stop vibration to avoid damaging the connection.
Untested, assumed pass

Miscellaneous


Compilance Screenshot(s) Pass/fail Comments
26: Software must abide by the guidelines provided by the NHK and Japan Civil Broadcasting Union in regards to certain light patterns or flashing lights.[46]
A very small number of individuals may experience seizures when exposed to certain light patterns or flashing lights. Exposure to certain patterns or backgrounds on a television screen or while playing videogames could induce a seizure in such individuals. Certain conditions may induce undetected seizure symptoms even in persons who have no history of prior seizures or epilepsy.
Because of this possibility, an appropriate seizure warning should be included on videogame packaging. The following guidelines have been provided by NHK (Japan Broadcasting Co.), and should be used as a guideline for precautionary measures:

• Prepare an option that can toggle light ON/OFF when flashing lights appear. • Display a warning message like the one below at the beginning of a game. These guidelines are examined in more detail in the next section, "NHK (Japan Broadcasting Co.) and Japan Civil Broadcasting Union Guidelines."

Untested, assumed pass
27: Software designed for PAL systems must be compatible with the 21-pin RGB cable, as not all French televisions accept PAL video.[47]
Software designed for operation on European systems should be compatible with a 21-pin RGB cable (15kHz RGB output mode).

One potential problem is that in France, many television sets use 15kHz RGB skate cables, while not many are equipped with PAL video input jacks. For this reason, unless 15kHz RGB is consciously supported via software, it may not be possible to use the Sega Dreamcast system in many households in France.

Untested, assumed pass

Results

Pass 26
Fail 1
Partial 1
Untested 49
Total 77

References

  1. Sega Dreamcast Software Creation Standards, page 5
  2. Sega Dreamcast Software Creation Standards, page 8
  3. 3.0 3.1 Sega Dreamcast Software Creation Standards, page 9
  4. Sega Dreamcast Software Creation Standards, page 10
  5. Sega Dreamcast Software Creation Standards, page 12
  6. Sega Dreamcast Software Creation Standards, page 17
  7. 7.0 7.1 Sega Dreamcast Software Creation Standards, page 18
  8. 8.0 8.1 Sega Dreamcast Software Creation Standards, page 19
  9. Sega Dreamcast Software Creation Standards, page 20
  10. Sega Dreamcast Software Creation Standards, page 21
  11. Sega Dreamcast Software Creation Standards, page 15
  12. Sega Dreamcast Software Creation Standards, page 24
  13. Sega Dreamcast Software Creation Standards, page 27
  14. 14.0 14.1 Sega Dreamcast Software Creation Standards, page 28
  15. Sega Dreamcast Software Creation Standards, page 29
  16. 16.0 16.1 16.2 Sega Dreamcast Software Creation Standards, page 32
  17. 17.0 17.1 Sega Dreamcast Software Creation Standards, page 33
  18. 18.0 18.1 Sega Dreamcast Software Creation Standards, page 35
  19. Sega Dreamcast Software Creation Standards, page 38
  20. 20.0 20.1 Sega Dreamcast Software Creation Standards, page 39
  21. Sega Dreamcast Software Creation Standards, page 41
  22. Sega Dreamcast Software Creation Standards, page 42
  23. Sega Dreamcast Software Creation Standards, page 43
  24. 24.0 24.1 24.2 Sega Dreamcast Software Creation Standards, page 47
  25. 25.0 25.1 25.2 Sega Dreamcast Software Creation Standards, page 48
  26. 26.0 26.1 Sega Dreamcast Software Creation Standards, page 53
  27. 27.0 27.1 Sega Dreamcast Software Creation Standards, page 55
  28. 28.0 28.1 28.2 Sega Dreamcast Software Creation Standards, page 56
  29. Sega Dreamcast Software Creation Standards, page 57
  30. 30.0 30.1 30.2 Sega Dreamcast Software Creation Standards, page 58
  31. 31.0 31.1 Sega Dreamcast Software Creation Standards, page 59
  32. Sega Dreamcast Software Creation Standards, page 60
  33. 33.0 33.1 Sega Dreamcast Software Creation Standards, page 63
  34. 34.0 34.1 Sega Dreamcast Software Creation Standards, page 66
  35. 35.0 35.1 35.2 35.3 Sega Dreamcast Software Creation Standards, page 67
  36. Sega Dreamcast Software Creation Standards, page 68
  37. 37.0 37.1 37.2 37.3 37.4 Sega Dreamcast Software Creation Standards, page 69
  38. 38.0 38.1 38.2 38.3 Sega Dreamcast Software Creation Standards, page 70
  39. Sega Dreamcast Software Creation Standards, page 73
  40. Sega Dreamcast Software Creation Standards, page 74
  41. Sega Dreamcast Software Creation Standards, page 77
  42. Sega Dreamcast Software Creation Standards, page 105
  43. Sega Dreamcast Software Creation Standards, page 106
  44. 44.0 44.1 Sega Dreamcast Software Creation Standards, page 88
  45. 45.0 45.1 Sega Dreamcast Software Creation Standards, page 87
  46. Sega Dreamcast Software Creation Standards, page 125
  47. Sega Dreamcast Software Creation Standards, page 127


Sonic Shuffle

Sonicshuffle title.png

Main page | Credits | Hidden content | Development | Magazine articles | Reception | Promotional material | Compliance | Technical information | Bootlegs


Books:
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__relationships`.`name` AS `name`,`cargo__releases`.`date` AS `date` FROM `cargo__relationships` LEFT OUTER JOIN `cargo__releases` ON ((`cargo__relationships`.`name`=`cargo__releases`.`name`)) WHERE `cargo__relationships`.`relatedto`="Sonic Shuffle" and `cargo__relationships`.`relationshiptype`="book" GROUP BY `cargo__releases`.`name` ORDER BY `cargo__releases`.`date` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1865a9-28b.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)

</di
Music:
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__relationships`.`name` AS `name`,`cargo__releases`.`date` AS `date` FROM `cargo__relationships` LEFT OUTER JOIN `cargo__releases` ON ((`cargo__relationships`.`name`=`cargo__releases`.`name`)) WHERE `cargo__relationships`.`relatedto`="Sonic Shuffle" and `cargo__relationships`.`relationshiptype`="music" GROUP BY `cargo__releases`.`name` ORDER BY `cargo__releases`.`date` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1865a9-28e.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)

</di
Audiobooks:
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__relationships`.`name` AS `name`,`cargo__releases`.`date` AS `date` FROM `cargo__relationships` LEFT OUTER JOIN `cargo__releases` ON ((`cargo__relationships`.`name`=`cargo__releases`.`name`)) WHERE `cargo__relationships`.`relatedto`="Sonic Shuffle" and `cargo__relationships`.`relationshiptype`="audiobook" GROUP BY `cargo__releases`.`name` ORDER BY `cargo__releases`.`date` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1865a9-291.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)

</di
Videos:
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__relationships`.`name` AS `name`,`cargo__releases`.`date` AS `date` FROM `cargo__relationships` LEFT OUTER JOIN `cargo__releases` ON ((`cargo__relationships`.`name`=`cargo__releases`.`name`)) WHERE `cargo__relationships`.`relatedto`="Sonic Shuffle" and `cargo__relationships`.`relationshiptype`="video" GROUP BY `cargo__releases`.`name` ORDER BY `cargo__releases`.`date` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1865a9-294.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)

</di
Events:
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__relationships`.`name` AS `eventname`,`cargo__events`.`startdate` AS `startdate` FROM `cargo__relationships` LEFT OUTER JOIN `cargo__events` ON ((`cargo__relationships`.`name`=`cargo__events`.`name`)) WHERE `cargo__relationships`.`relatedto`="Sonic Shuffle" and `cargo__relationships`.`relationshiptype`="event" GROUP BY `cargo__events`.`name` ORDER BY `cargo__events`.`startdate` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1865a9-297.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)

</di
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__demos`.`name` AS `name`,`cargo__codeformat`.`code` AS `code`,`cargo__releases`.`date` AS `date` FROM `cargo__releases` LEFT OUTER JOIN `cargo__demos` ON ((`cargo__releases`.`name`=`cargo__demos`.`name`)) LEFT OUTER JOIN `cargo__codeformat` ON ((`cargo__demos`.`format`=`cargo__codeformat`.`format`)) WHERE `cargo__demos`.`game`="Sonic Shuffle" GROUP BY `cargo__demos`.`name` ORDER BY `cargo__demos`.`name`,`cargo__codeformat`.`code`,`cargo__releases`.`date` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1865a9-29b.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)


A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__prototypes`.`name` AS `name`,`cargo__codeformat`.`code` AS `code` FROM `cargo__prototypes` LEFT OUTER JOIN `cargo__codeformat` ON ((`cargo__prototypes`.`format`=`cargo__codeformat`.`format`)) WHERE final="Sonic Shuffle" GROUP BY `cargo__prototypes`.`name` ORDER BY `cargo__prototypes`.`name`,`cargo__codeformat`.`code` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1865a9-29e.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)