flycast/core/hw/naomi/naomi_roms.h

104 lines
2.0 KiB
C
Raw Normal View History

2018-11-05 21:54:35 +00:00
/*
Created on: Nov 2, 2018
Copyright 2018 flyinghead
Rom information from mame (https://github.com/mamedev/mame)
license:LGPL-2.1+
copyright-holders: Samuele Zannoli, R. Belmont, ElSemi, David Haywood, Angelo Salese, Olivier Galibert, MetalliC
This file is part of Flycast.
2018-11-05 21:54:35 +00:00
Flycast is free software: you can redistribute it and/or modify
2018-11-05 21:54:35 +00:00
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
Flycast is distributed in the hope that it will be useful,
2018-11-05 21:54:35 +00:00
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Flycast. If not, see <https://www.gnu.org/licenses/>.
2018-11-05 21:54:35 +00:00
*/
#pragma once
#include "types.h"
2018-11-05 21:54:35 +00:00
#define MAX_GAME_FILES 40
enum BlobType {
Normal = 0,
SwapWordBytes = 0,
InterleavedWord,
Copy,
Key,
Eeprom
2018-11-05 21:54:35 +00:00
};
enum CartridgeType {
M1,
M2,
M4,
2018-11-16 21:27:35 +00:00
AW,
GD
2018-11-05 21:54:35 +00:00
};
2018-11-23 19:51:26 +00:00
enum RegionType {
REGION_JAPAN = 0,
REGION_USA = 1,
REGION_EXPORT = 2,
REGION_KOREA = 3,
2020-03-22 15:46:16 +00:00
REGION_AUSTRALIA = 4,
REGION_EXPORT_ONLY = 5
2018-11-23 19:51:26 +00:00
};
enum RotationType {
ROT0 = 0,
ROT270 = 3,
};
struct BIOS_t
2018-11-05 21:54:35 +00:00
{
const char* name;
struct
{
u32 region; // 0: Japan, 1: USA, 2: Export, 3: Other
2018-11-05 21:54:35 +00:00
const char* filename;
u32 offset;
u32 length;
u32 crc;
2018-11-05 21:54:35 +00:00
BlobType blob_type;
u32 src_offset; // For copy
} blobs[MAX_GAME_FILES];
};
extern BIOS_t BIOS[];
struct InputDescriptors;
2018-11-05 21:54:35 +00:00
struct Game
2018-11-05 21:54:35 +00:00
{
const char* name;
2018-11-23 17:46:21 +00:00
const char* parent_name;
const char* description;
2018-11-05 21:54:35 +00:00
u32 size;
u32 key;
const char *bios;
CartridgeType cart_type;
2018-11-23 19:51:26 +00:00
RegionType region_flag;
RotationType rotation_flag;
2018-11-05 21:54:35 +00:00
struct
{
const char* filename;
u32 offset;
u32 length;
u32 crc;
2018-11-05 21:54:35 +00:00
BlobType blob_type;
u32 src_offset; // For copy
} blobs[MAX_GAME_FILES];
2018-11-16 21:27:35 +00:00
const char *gdrom_name;
InputDescriptors *inputs;
2020-03-22 15:46:16 +00:00
u8 *eeprom_dump;
2018-11-05 21:54:35 +00:00
};
extern Game Games[];