--- uae/src/include/memory.h 2018/04/24 17:00:30 1.1.1.8 +++ uae/src/include/memory.h 2018/04/24 17:12:50 1.1.1.10 @@ -46,6 +46,7 @@ extern uae_u32 allocated_a3000mem; #define kickmem_start 0x00F80000 extern int ersatzkickfile; +extern int cloanto_rom; extern uae_u8* baseaddr[]; @@ -111,8 +112,9 @@ extern uae_u8 *baseaddr[65536]; baseaddr[bankindex(addr)] = (uae_u8*)(((long)b)+1); \ } while (0) -extern void memory_init(void); -extern void map_banks(addrbank *bank, int first, int count, int realsize); +extern void memory_init (void); +extern void memory_cleanup (void); +extern void map_banks (addrbank *bank, int first, int count, int realsize); #ifndef NO_INLINE_MEMORY_ACCESS @@ -206,3 +208,27 @@ extern int canbang; #endif 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 void romlist_add (char *path, struct romdata *rd); +extern char *romlist_get (struct romdata *rd); +extern void romlist_clear (void);