]> git.sesse.net Git - pistorm/blobdiff - config_file/config_file.h
Theoretically working A314 emulation
[pistorm] / config_file / config_file.h
index b9fe43876fb2a2eb03224e07b0c6b77ce5a64233..81d47550c2519b887ae973e444cf430391c8d658 100644 (file)
@@ -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;
 
@@ -68,7 +71,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 +94,19 @@ 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);
+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 get_int(char *str);
+#endif
 
 #endif /* _CONFIG_FILE_H */