|
|
1.1 ! root 1: /* ! 2: * UAE - The Un*x Amiga Emulator ! 3: * ! 4: * Save/restore emulator state ! 5: * ! 6: * (c) 1999-2001 Toni Wilen ! 7: */ ! 8: ! 9: ! 10: /* functions to save byte,word or long word ! 11: * independent of CPU's endianess */ ! 12: ! 13: extern void save_u16_func (uae_u8 **, uae_u16); ! 14: extern void save_u32_func (uae_u8 **, uae_u32); ! 15: extern void save_u8_func (uae_u8 **, uae_u8); ! 16: ! 17: extern uae_u16 restore_u16_func (uae_u8 **); ! 18: extern uae_u32 restore_u32_func (uae_u8 **); ! 19: extern uae_u8 restore_u8_func (uae_u8 **); ! 20: ! 21: extern void save_string_func (uae_u8 **, char*); ! 22: extern char *restore_string_func (uae_u8 **); ! 23: ! 24: #define save_u16(x) save_u16_func (&dst, (x)) ! 25: #define save_u32(x) save_u32_func (&dst, (x)) ! 26: #define save_u8(x) save_u8_func (&dst, (x)) ! 27: ! 28: #define restore_u16() restore_u16_func (&src) ! 29: #define restore_u32() restore_u32_func (&src) ! 30: #define restore_u8() restore_u8_func (&src) ! 31: ! 32: #define save_string(x) save_string_func (&dst, (x)) ! 33: #define restore_string() restore_string_func (&src) ! 34: ! 35: /* save, restore and initialize routines for Amiga's subsystems */ ! 36: ! 37: extern uae_u8 *restore_cpu (uae_u8 *); ! 38: extern uae_u8 *save_cpu (int *); ! 39: ! 40: extern uae_u8 *restore_fpu (uae_u8 *); ! 41: extern uae_u8 *save_fpu (int *); ! 42: ! 43: extern uae_u8 *restore_disk (int, uae_u8 *); ! 44: extern uae_u8 *save_disk (int, int *); ! 45: extern uae_u8 *restore_floppy (uae_u8 *src); ! 46: extern uae_u8 *save_floppy (int *len); ! 47: extern void DISK_save_custom (uae_u32 *pdskpt, uae_u16 *pdsklen, uae_u16 *pdsksync, uae_u16 *pdskdatr, uae_u16 *pdskbytr); ! 48: extern void DISK_restore_custom (uae_u32 pdskpt, uae_u16 pdsklength, uae_u16 pdskdatr, uae_u16 pdskbytr); ! 49: ! 50: extern uae_u8 *restore_custom (uae_u8 *); ! 51: extern uae_u8 *save_custom (int *); ! 52: ! 53: extern uae_u8 *restore_custom_sprite (uae_u8 *src, int num); ! 54: extern uae_u8 *save_custom_sprite (int *len, int num); ! 55: ! 56: extern uae_u8 *restore_custom_agacolors (uae_u8 *src); ! 57: extern uae_u8 *save_custom_agacolors (int *len); ! 58: ! 59: extern uae_u8 *restore_custom_blitter (uae_u8 *src); ! 60: extern uae_u8 *save_custom_blitter (int *len); ! 61: ! 62: extern uae_u8 *restore_audio (uae_u8 *, int); ! 63: extern uae_u8 *save_audio (int *, int); ! 64: ! 65: extern uae_u8 *restore_cia (int, uae_u8 *); ! 66: extern uae_u8 *save_cia (int, int *); ! 67: ! 68: extern uae_u8 *restore_expansion (uae_u8 *); ! 69: extern uae_u8 *save_expansion (int *); ! 70: ! 71: extern void restore_cram (int, long); ! 72: extern void restore_bram (int, long); ! 73: extern void restore_fram (int, long); ! 74: extern void restore_zram (int, long); ! 75: extern uae_u8 *save_cram (int *); ! 76: extern uae_u8 *save_bram (int *); ! 77: extern uae_u8 *save_fram (int *); ! 78: extern uae_u8 *save_zram (int *); ! 79: ! 80: extern uae_u8 *restore_rom (uae_u8 *); ! 81: extern uae_u8 *save_rom (int, int *); ! 82: ! 83: extern void save_state (char *filename, char *description); ! 84: extern void restore_state (char *filename); ! 85: ! 86: extern void custom_save_state (void); ! 87: ! 88: #define STATE_SAVE 1 ! 89: #define STATE_RESTORE 2 ! 90: #define STATE_DOSAVE 4 ! 91: #define STATE_DORESTORE 8 ! 92: ! 93: extern int savestate_state; ! 94: extern char *savestate_filename; ! 95: extern FILE *savestate_file;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.