573in1/schema/header.json

58 lines
2.0 KiB
JSON
Raw Normal View History

2024-06-03 23:12:31 +02:00
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "schema/header.json",
"title": "Flash/RTC game header description",
"type": "object",
"required": [ "dataFormat", "yearField" ],
2024-06-03 23:12:31 +02:00
"additionalProperties": false,
"properties": {
"dataFormat": {
"title": "Data format type",
"description": "Format of the header. Currently only the 'extended' format is supported.",
"type": "string",
"enum": [ "extended" ]
},
"yearField": {
"title": "Year field",
"description": "The value of the 2-byte year field stored in the EEPROM, usually zero or the year the game came out encoded as BCD (either big or little endian).",
"type": "string",
"pattern": "^[0-9a-f]{2}-[0-9a-f]{2}$",
"default": "20-00"
},
2024-06-03 23:12:31 +02:00
"ioBoardIDType": {
"title": "I/O board ID type",
"description": "Format of the I/O board ID stored as part of the header. Omit if no I/O board ID is stored.",
"type": "string",
"enum": [ "checksum", "md5" ]
},
"required": {
"title": "Header required by game",
"description": "Whether or not the game requires the header to be present and will refuse to run if missing, rather than initializing it. Only valid for RTC RAM headers.",
"type": "boolean"
},
"specificationWildcard": {
"title": "Use specification wildcard",
"description": "Whether to set the specification code in the header to 'G*' instead of the game's actual specification.",
"type": "boolean"
},
"invertChecksum": {
"title": "Invert header checksum",
"description": "Whether to negate all bits of the header's checksum.",
"type": "boolean"
},
"gx706Workaround": {
"title": "GX706 checksum workaround",
"description": "If true, the specification code will be temporarily set to 'GX' when the checksum is calculated. Required by GX706, which sets the specification to 'GE' due to a bug.",
"type": "boolean"
}
}
}