Memory cards have the advantage of small size and ruggedness (there are no moving parts and no batteries) but they are relatively slow to access.
Different versions of the OSD are available for each PlayStation territory (i.e. European, Japanese, American).
The OSD program displays each save game file as a number of icons plus a textual title. Each icon displayed relates to a slot used. This information is provided by a header that must be included at the start of the save game file.
Filenames used for memory card save games are based upon the product code for professional games - you are of course are free to choose one that suits your purposes.
The file name is in the following format:
BESLES12435plusthis
Some Rules on Title Names
The Save Game File Header format is as follows.
Name | Size (Bytes) |
---|---|
Magic Number | 2 (always 'SC') |
Type(see table 1) | 1 (always 0x11 for Europe) |
No. of Slots | 1 (1..15, each being 8k) |
Text Name | 64 (32 Shift JIS (Must be Kanji, not ASCII) |
Pad | 28 (padding) |
CLUT | 32 |
Icon Image (1) | 128 (16 x 16 x 4 bits) |
Icon Image (2) | 128 (Type:0x12, 0x13 only) |
Icon Image (3) | 128 (Type:0x13 only) |
In the header file there is provision for three icon images, as below, which allows animation.
Type | Number of Icon Images
(automatically replaced animation) |
---|---|
0x11 | 1 |
0x12 | 2 |
0x13 | 3 |
The Memory card save game file header Text Name must be stored in Kanji (Japanese Shift-JIS) type character coding and not the normal ASCII. (If ASCII were used the game header file, the title would not be displayed correctly if it is longer than 16 characters - 32 is the total possible. )
As can be seen from the table above it is possible to have animated icons in the save game. There are three frames available and they are cycled automatically by the OSD.
(If two slots are used per save, a two frame animation is allowed; with three slots, a three frame animation).
The Icon is a 16 * 16 image with 4 bit colour depth.
Note: do not use animated icons for European titles (i.e. only use type 0x11) if your save occupies a single slot. 3.2.3
Memory cards are slow to recognise and access. Memory card accesses, therefore, should be kept to a minimum and when they are made be as efficient as possible.
As a Memory card is divided into 8k slots, the minimum possible number should be used. Writes to the card system are always done as multiples of 8K, so if the intended game save is 8K + 1 bytes, it will use two slots, taking twice as long to save as one slot and take twice as much space as a save that is only 1 byte smaller.
In this example, there is only 1 byte over so some compression/economising of the data could probably be achieved. For over spill which cannot be squeezed into 8k, the alternative is to save more data in the in the file and use up the wasted space. It costs nothing in terms of resources or performance.
Many games in these genres benefit from allowing the user to save several sessions concurrently. This allows the user to backup before undertaking hazardous stages, or to approach a complex problem from several angles simultaneously.
This can be achieved in two ways, firstly by having several saves within the same file. For example if the data required by the save game is only 2K, you can save 4 games within the same slot.
Alternatively, the format of the save game filename allows for multiple saves from the same game, because there are nine characters in the memory card file name left available for user allocation. This could be used to store a user entered string that is a description of the game save at that point in the game.
Better still, add an internal character field that allows for a textual description of the current stage of the game and display this when displaying a list of all the save games on the memory card. BESLES-12345level2 In some games the memory card facilities play a very important role. A classic example of this is XCOM: Enemy Unknown, which would be very hard, if not impossible to finish without frequent memory card access. These unfortunately are slow and so disrupt the flow of play. One solution would be to save games into RAM as a quick save, with the option to commit the game to the card at any time. This is only feasible if the game never crashes out and there is room in memory for the save game(s).
It is not possible to lengthen a file saved on a Memory card once it is created, therefore when the file is created it should as large as it will ever need to be.