Logo file





LOGO files are optional structured files to create custom CD loading animations.

The system ROM loads one of these files according to the console's nationality setting at address $120000 if present in the CD's root. The possible file names are LOGO_E.PRG, LOGO_U.PRG, and LOGO_J.PRG.

The files must not be larger than 2048 bytes.

=File format=

Fix tiles data

 * Offset (longword) $4000 = tile $200
 * Size (longword) $4000 = $200 tiles
 * Tile data...

Like the regular fix graphics format, but byteswapped.

Palette data

 * Palette number (word), the loading bar seems to use palette 0, so don't use it. Remember that fix tiles can only use the 16 first palettes.
 * 16 words of color data.

Map data

 * Fix address where to start mapping ($7102 is good)
 * Width in tiles (word) $18
 * Height in tiles (word) $0B
 * Tile numbers/palettes...

Mapped left to right, top to down.

Animation map data
All values are words


 * Fix map address where to start drawing ($7102 is good)
 * Width in tiles
 * Height in tiles
 * Number of frames in animation
 * Animation speed (in frames)
 * Raw tile numbers/palettes as in the fix map...

Using LOGO files for in-game loading
By default the system ROM will always use the initial LOGO file during in game loading sequences. It is possible to change this by loading a new data over the logo information at $120000. How this gets loaded is not yet confirmed but its suspected that games request the data to be loaded as it would any other data given there is not need for 'LOGO' to be in the file name in this situation. It may also be possible the system ROM looks out for data being loaded into this region before drawing.

The ability to change the default progress bar (handled by the system ROM) is also available. The system ROM places the start address of its code to handle progress bar drawing at $11C80C. This code is then always called via 'MOVEA.L 0x11C80C,A0', 'JSR(A0)'. To use a custom progress bar simply place the start address of your custom progress bar code at $11C80C. Current progress bar state is held at address $10F691. Your code should handle all elements of drawing the progress bar.

It appears games plant their custom progress bar code into the default LOGO file as well as any further files that get loaded to this range. Below is the routine used by Samurai Shodown IV as seen in file 'JL_ST1.PRG' once in RAM. The main game program code places 0x120086 to $11C80C