--- uae/src/include/memory.h 2018/04/24 17:02:22 1.1.1.9 +++ uae/src/include/memory.h 2018/04/24 17:14:42 1.1.1.11 @@ -107,9 +107,9 @@ extern uae_u8 *baseaddr[65536]; #define put_mem_bank(addr, b, realstart) do { \ (mem_banks[bankindex(addr)] = (b)); \ if ((b)->baseaddr) \ - baseaddr[bankindex(addr)] = (b)->baseaddr - (realstart); \ + baseaddr[bankindex(addr)] = (b)->baseaddr - (realstart); \ else \ - baseaddr[bankindex(addr)] = (uae_u8*)(((long)b)+1); \ + baseaddr[bankindex(addr)] = (uae_u8*)(((long)b)+1); \ } while (0) extern void memory_init (void); @@ -209,3 +209,32 @@ extern int canbang; extern uae_u8 *mapped_malloc (size_t, char *); extern void mapped_free (uae_u8 *); + +#define ROMTYPE_KICK 1 +#define ROMTYPE_KICKCD32 2 +#define ROMTYPE_EXTCD32 4 +#define ROMTYPE_EXTCDTV 8 +#define ROMTYPE_AR 16 +#define ROMTYPE_KEY 32 +#define ROMTYPE_ARCADIA 64 + +struct romdata { + char *name; + int version, revision; + uae_u32 crc32; + uae_u32 size; + int id; + int cpu; + int cloanto; + int type; +}; + +extern struct romdata *getromdatabycrc (uae_u32 crc32); +extern struct romdata *getromdatabydata (uae_u8 *rom, int size); +extern struct romdata *getromdatabyid (int id); +extern struct romdata *getarcadiarombyname (char *name); +extern void getromname (struct romdata*, char*); +extern struct romdata *getromdatabyname (char*); +extern void romlist_add (char *path, struct romdata *rd); +extern char *romlist_get (struct romdata *rd); +extern void romlist_clear (void);