X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=config_file%2Fconfig_file.h;h=841f802747cd1aed8182ba90a71e3e66cbaff6ed;hb=6d74804193233a5fe5c57a2eb776219e6e1a31c1;hp=b9fe43876fb2a2eb03224e07b0c6b77ce5a64233;hpb=34a050838be38ed718ee23b6498dcd7a3285aacb;p=pistorm diff --git a/config_file/config_file.h b/config_file/config_file.h index b9fe438..841f802 100644 --- a/config_file/config_file.h +++ b/config_file/config_file.h @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: MIT + #ifndef _CONFIG_FILE_H #define _CONFIG_FILE_H @@ -15,6 +17,7 @@ typedef enum { MAPTYPE_ROM, MAPTYPE_RAM, MAPTYPE_REGISTER, + MAPTYPE_RAM_NOALLOC, MAPTYPE_NUM, } map_types; @@ -27,6 +30,8 @@ typedef enum { MAPCMD_FILENAME, MAPCMD_OVL_REMAP, MAPCMD_MAP_ID, + MAPCMD_AUTODUMP_FILE, + MAPCMD_AUTODUMP_MEM, MAPCMD_NUM, } map_cmds; @@ -68,7 +73,7 @@ struct emulator_config { char *mouse_file, *keyboard_file; char mouse_toggle_key, keyboard_toggle_key; - unsigned char mouse_enabled, keyboard_enabled; + unsigned char mouse_enabled, mouse_autoconnect, keyboard_enabled, keyboard_grab, keyboard_autoconnect; unsigned int loop_cycles; unsigned int mapped_low, mapped_high; @@ -91,13 +96,20 @@ struct platform_config { void (*setvar)(struct emulator_config *cfg, char *var, char *val); }; +#ifdef __cplusplus +extern "C" int get_mapped_item_by_address(struct emulator_config *cfg, uint32_t address); +#else unsigned int get_m68k_cpu_type(char *name); struct emulator_config *load_config_file(char *filename); +void free_config_file(struct emulator_config *cfg); int handle_mapped_read(struct emulator_config *cfg, unsigned int addr, unsigned int *val, unsigned char type); int handle_mapped_write(struct emulator_config *cfg, unsigned int addr, unsigned int value, unsigned char type); int get_named_mapped_item(struct emulator_config *cfg, char *name); int get_mapped_item_by_address(struct emulator_config *cfg, uint32_t address); +uint8_t *get_mapped_data_pointer_by_address(struct emulator_config *cfg, uint32_t address); +void add_mapping(struct emulator_config *cfg, unsigned int type, unsigned int addr, unsigned int size, int mirr_addr, char *filename, char *map_id, unsigned int autodump); unsigned int get_int(char *str); +#endif #endif /* _CONFIG_FILE_H */