Introduction

The SDSC tag was introduced in 2001 to provide a standard way to tag homebrew software.

Location

The SDSC tag is found at offset $7fe0, directly before the standard ROM header (if it's in the usual place). If the standard header is placed at $1ff0 or $3ff0 then the SDSC header is at offset $1fe0 or $3fe0 respectively.

Contents

SDSC ($7fe0, 4 bytes ASCII)

The first four bytes are the ASCII text "SDSC". This is used to show that the header is present.

Version ($7fe4, 2 bytes BCD)

The version of the program, with the first byte being the major version and the second byte the minor version. Each is in BCD, thus ranging from 0-99. For example, version 0.01 is stored as 00 01, version 10.46 is stored as 10 46.

Date ($7fe6, 4 bytes BCD)

The date of release (or compilation) is stored in the order day (1 byte BCD), month (1 byte BCD), year (2 bytes little-endian BCD). For example, 27th March 2011 is stored as 27 03 11 20; today's date (November 22, 2024) is stored as 22 11 24 20.

Author pointer ($7fea, 2 bytes)

The (little-endian) ROM address of a zero-terminated UTF-8 string containing the author's name. It should not contain any control characters (including newlines). Values $ffff and $0000 indicate no author name.

Name pointer ($7fec, 2 bytes)

The (little-endian) ROM address of a zero-terminated UTF-8 string containing the name of the program. It should not contain any control characters (including newlines). Value $ffff indicates no program name.

Description pointer ($7fee, 2 bytes)

The (little-endian) ROM address of a zero-terminated UTF-8 string containing a description of the program. It should not contain any control characters except newlines, which can be any of CR, CRLF and LF. Value $ffff indicates no description.




Return to top
0.123s