1 #ifndef _STATE_H 2 #define _STATE_H 3 4 #include "osd_cpu.h" 5 6 /* Amount of memory to allocate while reading variable size arrays */ 7 /* Tradeoff between calling realloc all the time and wasting memory */ 8 #define CHUNK_SIZE 64 9 10 /* Interface to state save/load functions */ 11 12 /* Close a state file; free temporary memory at the same time */ 13 void state_close(void *state); 14 15 /* Create a new state file; name should normally be the games name */ 16 void *state_create(const char *name); 17 18 /* Open an existing state file */ 19 void *state_open(const char *name); 20 21 /* Save data of various element size and signedness */ 22 void state_save_UINT8(void *state, const char *module,int instance, 23 const char *name, const UINT8 *val, unsigned size); 24 void state_save_INT8(void *state, const char *module,int instance, 25 const char *name, const INT8 *val, unsigned size); 26 void state_save_UINT16(void *state, const char *module,int instance, 27 const char *name, const UINT16 *val, unsigned size); 28 void state_save_INT16(void *state, const char *module,int instance, 29 const char *name, const INT16 *val, unsigned size); 30 void state_save_UINT32(void *state, const char *module,int instance, 31 const char *name, const UINT32 *val, unsigned size); 32 void state_save_INT32(void *state, const char *module,int instance, 33 const char *name, const INT32 *val, unsigned size); 34 35 /* Load data of various element size and signedness */ 36 void state_load_UINT8(void *state, const char *module,int instance, 37 const char *name, UINT8 *val, unsigned size); 38 void state_load_INT8(void *state, const char *module,int instance, 39 const char *name, INT8 *val, unsigned size); 40 void state_load_UINT16(void *state, const char *module,int instance, 41 const char *name, UINT16 *val, unsigned size); 42 void state_load_INT16(void *state, const char *module,int instance, 43 const char *name, INT16 *val, unsigned size); 44 void state_load_UINT32(void *state, const char *module,int instance, 45 const char *name, UINT32 *val, unsigned size); 46 void state_load_INT32(void *state, const char *module,int instance, 47 const char *name, INT32 *val, unsigned size); 48 49 #endif 50