mirror of
https://github.com/spicyjpeg/573in1.git
synced 2025-03-01 15:30:31 +01:00
204 lines
6.1 KiB
JSON
204 lines
6.1 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "schema/gamedb.json",
|
|
|
|
"title": "Game database",
|
|
"type": "object",
|
|
|
|
"required": [ "games" ],
|
|
|
|
"properties": {
|
|
"games": {
|
|
"title": "Game list",
|
|
"type": "array",
|
|
|
|
"uniqueItems": true,
|
|
|
|
"items": {
|
|
"title": "Game entry object",
|
|
"type": "object",
|
|
|
|
"required": [
|
|
"specifications",
|
|
"code",
|
|
"regions",
|
|
"identifiers",
|
|
"name",
|
|
"year"
|
|
],
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
"specifications": {
|
|
"title": "Game specification list",
|
|
"description": "List of known specification codes (GX, GE, GN, etc.) used by this game.",
|
|
"type": "array",
|
|
|
|
"items": {
|
|
"title": "Game specification",
|
|
"type": "string",
|
|
|
|
"pattern": "^G[BCEKLNQUX]$",
|
|
"default": "GX"
|
|
}
|
|
},
|
|
"code": {
|
|
"title": "Game code",
|
|
"description": "The 3-digit code that uniquely identifies this game (700-999 or A00-D99).",
|
|
"type": "string",
|
|
|
|
"pattern": "^[0-9A-D][0-9][0-9]$",
|
|
"default": "700"
|
|
},
|
|
"regions": {
|
|
"title": "Game region list",
|
|
"description": "List of known region/version codes (JA, UAA, etc.) used by this game. If different versions of the game have different names, specifications or hardware, each variant should be a separate entry in the game list with the same code.",
|
|
"type": "array",
|
|
|
|
"items": {
|
|
"title": "Game region",
|
|
"type": "string",
|
|
|
|
"pattern": "^[AEJKSU][A-FR-WX-Z]([A-D]|Z[0-9][0-9])?$",
|
|
"default": "JAA"
|
|
}
|
|
},
|
|
"identifiers": {
|
|
"title": "MAME game identifier list",
|
|
"description": "The names used by MAME to identify this game, one for each region/version in the region list. Use an empty string for versions not currently emulated by MAME.",
|
|
"type": "array",
|
|
|
|
"items": {
|
|
"title": "MAME game identifier",
|
|
"type": "string",
|
|
|
|
"pattern": "^[0-9a-z_]*$"
|
|
}
|
|
},
|
|
|
|
"name": {
|
|
"title": "Game name",
|
|
"description": "The full name of this game.",
|
|
"type": "string"
|
|
},
|
|
"series": {
|
|
"title": "Series name",
|
|
"description": "The full name of the series this game belongs to, if any. Games that belong to the same series will be grouped together.",
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
"Dance Dance Revolution",
|
|
"Dance Dance Revolution Solo",
|
|
"Dance Maniax",
|
|
"DrumMania",
|
|
"Fisherman's Bait",
|
|
"GuitarFreaks",
|
|
"Mambo A Go-Go",
|
|
"Martial Beat",
|
|
"PunchMania"
|
|
]
|
|
},
|
|
"year": {
|
|
"title": "Year",
|
|
"description": "The year this game came out in.",
|
|
"type": "integer",
|
|
|
|
"minimum": 1997,
|
|
"default": 2000
|
|
},
|
|
|
|
"ioBoard": {
|
|
"title": "I/O board PCB type",
|
|
"description": "The I/O expansion board required by this game. Omit if the game does not need any.",
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
"GX700-PWB(F)",
|
|
"GX700-PWB(K)",
|
|
"GE765-PWB(B)A",
|
|
"GX894-PWB(B)A",
|
|
"GX921-PWB(B)",
|
|
"PWB0000073070"
|
|
]
|
|
},
|
|
"pcmcia1": {
|
|
"title": "PCMCIA slot 1 device type",
|
|
"description": "The device this game requires to be inserted into PCMCIA slot 1 (either a flash card or a network PCB). Omit if the game does not use slot 1.",
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
"PWB0000100991",
|
|
"flashCard8MB",
|
|
"flashCard16MB",
|
|
"flashCard32MB",
|
|
"flashCard64MB"
|
|
]
|
|
},
|
|
"pcmcia2": {
|
|
"title": "PCMCIA slot 2 device type",
|
|
"description": "The device this game requires to be inserted into PCMCIA slot 2 (either a flash card or a network PCB). Omit if the game does not use slot 2.",
|
|
"type": "string",
|
|
|
|
"enum": [
|
|
"PWB0000100991",
|
|
"flashCard8MB",
|
|
"flashCard16MB",
|
|
"flashCard32MB",
|
|
"flashCard64MB"
|
|
]
|
|
},
|
|
"flags": {
|
|
"title": "Additional game properties",
|
|
"type": "object",
|
|
|
|
"additionalProperties": false,
|
|
|
|
"properties": {
|
|
"installRequiresRTCHeader": {
|
|
"title": "RTC RAM header required by installer",
|
|
"description": "Whether or not the game's installer requires the RTC RAM header described in this entry to be present and will refuse to install the game if missing.",
|
|
"type": "boolean"
|
|
},
|
|
"requiresRTCHeader": {
|
|
"title": "RTC RAM header required by game",
|
|
"description": "Whether or not the game requires the RTC RAM header described in this entry to be present and will refuse to run if missing (rather than clearing RTC RAM and generating the header).",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
|
|
"bootloaderVersion": {
|
|
"title": "Bemani bootloader version",
|
|
"description": "Version number of the Bemani bootloader used by this game. Omit if the game has no separate bootloader.",
|
|
"type": "string",
|
|
|
|
"pattern": "^1\\.[0-9A-Z]+$",
|
|
"default": "1.0"
|
|
},
|
|
|
|
"rtcHeader": {
|
|
"title": "RTC RAM header",
|
|
"description": "Object describing the header written by the game to the first 16 bytes of RTC RAM. Omit if the game does not write a header to RTC RAM.",
|
|
"$ref": "rominfo.json"
|
|
},
|
|
"flashHeader": {
|
|
"title": "Internal flash header",
|
|
"description": "Object describing the header written by the game to the first 32 bytes of the internal flash memory. Omit if the game does not write a header to flash.",
|
|
"$ref": "rominfo.json"
|
|
},
|
|
"installCart": {
|
|
"title": "Installation cartridge",
|
|
"description": "Object describing the game's installation security cartridge. Omit if the game needs no such cartridge.",
|
|
"$ref": "cartinfo.json"
|
|
},
|
|
"gameCart": {
|
|
"title": "Game cartridge",
|
|
"description": "Object describing the game's main security cartridge. Omit if the game needs no such cartridge.",
|
|
"$ref": "cartinfo.json"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|