comparison romdb.h @ 1692:5dacaef602a7 segacd

Merge from default
author Michael Pavone <pavone@retrodev.com>
date Sat, 05 Jan 2019 00:58:08 -0800
parents a763523dadf4 c206a422d466
children 3414a4423de1
comparison
equal deleted inserted replaced
1504:95b3a1a8b26c 1692:5dacaef602a7
29 uint8_t *page_buffer; 29 uint8_t *page_buffer;
30 uint32_t size; 30 uint32_t size;
31 uint32_t page_size; 31 uint32_t page_size;
32 uint32_t current_page; 32 uint32_t current_page;
33 uint32_t last_write_cycle; 33 uint32_t last_write_cycle;
34 uint32_t cmd_address1;
35 uint32_t cmd_address2;
34 uint16_t product_id; 36 uint16_t product_id;
35 uint8_t mode; 37 uint8_t mode;
36 uint8_t cmd_state; 38 uint8_t cmd_state;
37 uint8_t alt_cmd; 39 uint8_t alt_cmd;
38 uint8_t bus_flags; 40 uint8_t bus_flags;
41 enum { 43 enum {
42 MAPPER_NONE, 44 MAPPER_NONE,
43 MAPPER_SEGA, 45 MAPPER_SEGA,
44 MAPPER_REALTEC, 46 MAPPER_REALTEC,
45 MAPPER_XBAND, 47 MAPPER_XBAND,
46 MAPPER_MULTI_GAME 48 MAPPER_MULTI_GAME,
49 MAPPER_JCART
47 }; 50 };
48 51
49 52
50 typedef struct rom_info rom_info; 53 typedef struct rom_info rom_info;
51 54
52 #include "backend.h" 55 #include "memmap.h"
53 56
54 struct rom_info { 57 struct rom_info {
55 char *name; 58 char *name;
56 memmap_chunk *map; 59 memmap_chunk *map;
57 uint8_t *save_buffer; 60 uint8_t *save_buffer;
59 eeprom_map *eeprom_map; 62 eeprom_map *eeprom_map;
60 char *port1_override; 63 char *port1_override;
61 char *port2_override; 64 char *port2_override;
62 char *ext_override; 65 char *ext_override;
63 char *mouse_mode; 66 char *mouse_mode;
67 nor_state *nor;
64 uint32_t num_eeprom; 68 uint32_t num_eeprom;
65 uint32_t map_chunks; 69 uint32_t map_chunks;
66 uint32_t rom_size; 70 uint32_t rom_size;
67 uint32_t save_size; 71 uint32_t save_size;
68 uint32_t save_mask; 72 uint32_t save_mask;
69 uint32_t save_page_size;
70 uint16_t save_product_id;
71 uint16_t mapper_start_index; 73 uint16_t mapper_start_index;
72 uint8_t save_type; 74 uint8_t save_type;
73 uint8_t save_bus; //only used for NOR currently 75 uint8_t save_bus; //only used for NOR currently
74 uint8_t mapper_type; 76 uint8_t mapper_type;
75 uint8_t regions; 77 uint8_t regions;
85 uint8_t translate_region_char(uint8_t c); 87 uint8_t translate_region_char(uint8_t c);
86 char const *save_type_name(uint8_t save_type); 88 char const *save_type_name(uint8_t save_type);
87 //Note: free_rom_info only frees things pointed to by a rom_info struct, not the struct itself 89 //Note: free_rom_info only frees things pointed to by a rom_info struct, not the struct itself
88 //this is because rom_info structs are typically stack allocated 90 //this is because rom_info structs are typically stack allocated
89 void free_rom_info(rom_info *info); 91 void free_rom_info(rom_info *info);
92 typedef struct system_header system_header;
90 void cart_serialize(system_header *sys, serialize_buffer *buf); 93 void cart_serialize(system_header *sys, serialize_buffer *buf);
91 void cart_deserialize(deserialize_buffer *buf, void *vcontext); 94 void cart_deserialize(deserialize_buffer *buf, void *vcontext);
92 95
93 #endif //ROMDB_H_ 96 #endif //ROMDB_H_