+#ifndef UAE_ROMMGR_H
+#define UAE_ROMMGR_H
+
extern int decode_cloanto_rom_do (uae_u8 *mem, int size, int real_size);
#define ROMTYPE_SUB_MASK 0x000000ff
#define ROMTYPE_ALL_CART (ROMTYPE_AR | ROMTYPE_HRTMON | ROMTYPE_NORDIC | ROMTYPE_XPOWER | ROMTYPE_CD32CART)
struct romheader {
- TCHAR *name;
+ const TCHAR *name;
int id;
};
struct romdata {
- TCHAR *name;
+ const TCHAR *name;
int ver, rev;
int subver, subrev;
- TCHAR *model;
+ const TCHAR *model;
uae_u32 size;
int id;
int cpu;
int type;
int group;
int title;
- TCHAR *partnumber;
+ const TCHAR *partnumber;
uae_u32 crc32;
uae_u32 sha1[5];
- TCHAR *configname;
- TCHAR *defaultfilename;
+ const TCHAR *configname;
+ const TCHAR *defaultfilename;
};
struct romlist {
extern int romlist_count (void);
extern struct romlist *romlist_getit (void);
extern int configure_rom (struct uae_prefs *p, const int *rom, int msg);
+
int is_device_rom(struct uae_prefs *p, int romtype, int devnum);
struct zfile *read_device_rom(struct uae_prefs *p, int romtype, int devnum, int *roms);
struct romconfig *get_device_romconfig(struct uae_prefs *p, int romtype, int devnum);
#define LOADROM_ONEFILL 4
#define LOADROM_ZEROFILL 8
#define LOADROM_ODDFILL(x) ((x << 16) | LOADROM_EVENONLY)
-bool load_rom_rc(struct romconfig *rc, uae_u32 romtype, int maxfilesize, int fileoffset, uae_u8 *rom, int maxromsize, int flags);
\ No newline at end of file
+bool load_rom_rc(struct romconfig *rc, uae_u32 romtype, int maxfilesize, int fileoffset, uae_u8 *rom, int maxromsize, int flags);
+
+#endif /* UAE_ROMMGR_H */
#define NEXT_ROM_ID 156
-static struct romheader romheaders[] = {
- { _T("Freezer Cartridges"), 1 },
- { _T("Arcadia Games"), 2 },
- { NULL, 0 }
-};
-
#define ALTROM(id,grp,num,size,flags,crc32,a,b,c,d,e) \
{ _T("X"), 0, 0, 0, 0, 0, size, id, 0, 0, flags, (grp << 16) | num, 0, NULL, crc32, a, b, c, d, e },
#define ALTROMPN(id,grp,num,size,flags,pn,crc32,a,b,c,d,e) \
int i;
int mask = 0;
struct romdata *parent;
- TCHAR *pn;
+ const TCHAR *pn;
xfree (rl);
rl = 0;
_tcscat (newpn, _T("/"));
}
_tcscat (newpn, rd->partnumber);
- xfree (parent->partnumber);
+ xfree ((char *) parent->partnumber);
parent->partnumber = newpn;
}
}
struct romdata *rd;
struct romlist **rdout, *rltmp;
void *buf;
- static struct romlist rlstatic;
for (i = 0; roms[i].name; i++);
if (all)
if (!ok)
continue;
if (model && ok < 2) {
- TCHAR *p = rd->model;
+ const TCHAR *p = rd->model;
ok = 0;
while (p && *p) {
if (!_tcscmp(rd->model, model)) {
int i;
for (i = 0; roms[i].name; i++) {
if (roms[i].group == 0 && (roms[i].type == ROMTYPE_ARCADIAGAME || roms[i].type == ROMTYPE_ARCADIAGAME)) {
- TCHAR *p = roms[i].name;
+ const TCHAR *p = roms[i].name;
p = p + _tcslen (p) + 1;
if (_tcslen (name) >= _tcslen (p) + 4) {
const TCHAR *p2 = name + _tcslen (name) - _tcslen (p) - 4;
struct romdata *rd2 = prd;
struct romdata *rd = prd;
struct romdata *rdpair = NULL;
- TCHAR *name;
+ const TCHAR *name;
int id = rd->id;
uae_u32 crc32;
int size;
static void device_rom_defaults(struct boardromconfig *brc, int romtype, int devnum)
{
- memset(brc, 0, sizeof boardromconfig);
+ memset(brc, 0, sizeof(boardromconfig));
brc->device_type = romtype;
brc->device_num = devnum;
for (int i = 0; i < MAX_BOARD_ROMS; i++) {
ok++;
}
if (ok == MAX_BOARD_ROMS)
- memset(brc, 0, sizeof boardromconfig);
+ memset(brc, 0, sizeof(boardromconfig));
}
for (int i = 0; i < MAX_EXPANSION_BOARDS; i++) {
brc = &p->expansionboard[i];