Difference between revisions of "AppSignature"

From MSX Game Library

(Author code name)
Line 53: Line 53:
 
| <tt>"AB"</tt> || ✔️ || Konami (''Boxing'' and ''Football'')
 
| <tt>"AB"</tt> || ✔️ || Konami (''Boxing'' and ''Football'')
 
|-
 
|-
| <tt>"B5"</tt> || || Bik5 (J. Bikker)
+
| <tt>"B5"</tt> || ✔️ || Bik5 (J. Bikker)
 
|-
 
|-
 
| <tt>"CC"</tt> ||  || Casper Croes
 
| <tt>"CC"</tt> ||  || Casper Croes
Line 67: Line 67:
 
| <tt>"GL"</tt> || ✔️ || MSXgl (samples)
 
| <tt>"GL"</tt> || ✔️ || MSXgl (samples)
 
|-
 
|-
| <tt>"PP"</tt> || || Pixel Phenix
+
| <tt>"PP"</tt> || ✔️ || Pixel Phenix
 
|-
 
|-
 
| <tt>"RC"</tt> ||  || ''Reserved''
 
| <tt>"RC"</tt> ||  || ''Reserved''
 
|-
 
|-
 
| <tt>"TL"</tt> ||  || Tele-Line
 
| <tt>"TL"</tt> ||  || Tele-Line
 +
|-
 +
| <tt>"TT"</tt> ||  || Thomas ‘Totta’ Lundgren
 
|-
 
|-
 
| <tt>"YZ"</tt> || ✔️ || Konami (''Game Master 2)''
 
| <tt>"YZ"</tt> || ✔️ || Konami (''Game Master 2)''
Line 81: Line 83:
 
| <tt>0xFF??</tt> ||  || ''Reserved''
 
| <tt>0xFF??</tt> ||  || ''Reserved''
 
|}
 
|}
 +
 +
  
 
Note:
 
Note:
 
* Come on [https://discord.gg/pMeadGfv8E Discord] to reserve your own author code name.
 
* Come on [https://discord.gg/pMeadGfv8E Discord] to reserve your own author code name.
 
* Author code names are only definitively assigned when an application is published with this code.
 
* Author code names are only definitively assigned when an application is published with this code.

Revision as of 22:18, 12 October 2023

This Build tool option allow to add an application signature to binary data (right after the header).

The MSXgl signature format is directly inspired by the meta-data used by Konami to identify their cartridges and add cross-games options.

Definition

Application's signature is 4 bytes long and composed of:

  • AppCompany: 2 bytes for the author/group/company code name (reserve yours!),
  • AppID: 2 bytes for the application number (the numbering of the applications is up to each creator).
//-- Add application signature to binary data (boolean)
AppSignature = true;

//-- Application company (*). Can be 2 character string or 16-bits integer (0~65535)
AppCompany = "GL";

//-- Application ID. Can be 2 character string or 16-bits integer (0~65535)
AppID = 0;

If 2-character string is recommended for creator code and integer for application number, in fact, both of those parameters can be any of:

  • 2-character string ("MX", "a7" for example),
  • 16-bits decimal unsigned number (12345 for example),
  • 16-bits hexadecimal number starting with 0x (0x0750 for example).

For example, the header first 2 words of Konami's Penguin Adventure are "CD", 0x4307. "CD" is one of the signature used by Konami to mark there ROM (see next section) and 0x4307 show in binary viewer the number 0743... the serial number of Penguin Adventure (RC743).

You can also add extra data using AppExtra option. WIP

Programming

If AppSignature is set to TRUE in Build tool configuration, then APPSIGN is defined in your C program.

Application signature is put just after the binary header:

  • At ROM start address +0010h (should be 4010h or 8010h),
  • At Basic binary start address +0007h (should be 8007h),
  • At DOS binary start address +0002h (should be 0102h).

Define an external variable as g_AppSignature if you need to access the data from your program. It can be defined in several ways depending on your needs. For example:

extern const u16 g_AppSignature[2];
extern const u8 g_AppSignature[4];

Keep in mind than MSX store data as Less significant byte first (Little endian).

Author code name

Some author's code are already reserved:

Code Rel Author's name
0x00?? Reserved
"AB" ✔️ Konami (Boxing and Football)
"B5" ✔️ Bik5 (J. Bikker)
"CC" Casper Croes
"CD" ✔️ Konami (many games)
"EF" ✔️ Konami (Pennant Race and Knightmare 3)
"JP" Johan de Punder
"GH" Reserved
"GL" ✔️ MSXgl (samples)
"PP" ✔️ Pixel Phenix
"RC" Reserved
"TL" Tele-Line
"TT" Thomas ‘Totta’ Lundgren
"YZ" ✔️ Konami (Game Master 2)
"WD" Wim Dewijngaert
"XX" Reserved
0xFF?? Reserved


Note:

  • Come on Discord to reserve your own author code name.
  • Author code names are only definitively assigned when an application is published with this code.