3 #define MAX_NUM_MAPPED_ITEMS 8
5 #define SIZE_MEGA (1024 * 1024)
6 #define SIZE_GIGA (1024 * 1024 * 1024)
48 struct emulator_config {
49 unsigned int cpu_type;
51 unsigned char map_type[MAX_NUM_MAPPED_ITEMS];
52 long map_offset[MAX_NUM_MAPPED_ITEMS];
53 unsigned int map_size[MAX_NUM_MAPPED_ITEMS];
54 unsigned int rom_size[MAX_NUM_MAPPED_ITEMS];
55 unsigned char *map_data[MAX_NUM_MAPPED_ITEMS];
56 int map_mirror[MAX_NUM_MAPPED_ITEMS];
57 char *map_id[MAX_NUM_MAPPED_ITEMS];
59 struct platform_config *platform;
63 char mouse_toggle_key, keyboard_toggle_key;
64 unsigned char mouse_enabled, keyboard_enabled;
66 unsigned int loop_cycles;
69 struct platform_config {
72 int (*custom_read)(struct emulator_config *cfg, unsigned int addr, unsigned int *val, unsigned char type);
73 int (*custom_write)(struct emulator_config *cfg, unsigned int addr, unsigned int val, unsigned char type);
75 int (*register_read)(unsigned int addr, unsigned char type, unsigned int *val);
76 int (*register_write)(unsigned int addr, unsigned int value, unsigned char type);
78 int (*platform_initial_setup)(struct emulator_config *cfg);
79 void (*setvar)(char *var, char *val);
82 unsigned int get_m68k_cpu_type(char *name);
83 struct emulator_config *load_config_file(char *filename);
85 int handle_mapped_read(struct emulator_config *cfg, unsigned int addr, unsigned int *val, unsigned char type, unsigned char mirror);
86 int handle_mapped_write(struct emulator_config *cfg, unsigned int addr, unsigned int value, unsigned char type, unsigned char mirror);
87 int get_named_mapped_item(struct emulator_config *cfg, char *name);
88 unsigned int get_int(char *str);