Annotation of hatari/src/cpu/savestate.h, revision 1.1.1.1

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_u32(uae_u32 data);
                     14: extern void save_u16(uae_u16 data);
                     15: extern uae_u32 restore_u32(void);
                     16: extern uae_u16 restore_u16(void);
                     17: 
                     18: /*extern void save_u64_func (uae_u8 **, uae_u64);
                     19: extern void save_u32_func (uae_u8 **, uae_u32);
                     20: extern void save_u16_func (uae_u8 **, uae_u16);
                     21: extern void save_u8_func (uae_u8 **, uae_u8);
                     22: 
                     23: extern uae_u64 restore_u64_func (uae_u8 **);
                     24: extern uae_u32 restore_u32_func (uae_u8 **);
                     25: extern uae_u16 restore_u16_func (uae_u8 **);
                     26: extern uae_u8 restore_u8_func (uae_u8 **);
                     27: */
                     28: extern void save_string_func (uae_u8 **, const TCHAR*);
                     29: extern TCHAR *restore_string_func (uae_u8 **);
                     30: 
                     31: /*
                     32: #define save_u64(x) save_u64_func (&dst, (x))
                     33: #define save_u32(x) save_u32_func (&dst, (x))
                     34: #define save_u16(x) save_u16_func (&dst, (x))
                     35: #define save_u8(x) save_u8_func (&dst, (x))
                     36: 
                     37: #define restore_u64() restore_u64_func (&src)
                     38: #define restore_u32() restore_u32_func (&src)
                     39: #define restore_u16() restore_u16_func (&src)
                     40: #define restore_u8() restore_u8_func (&src)
                     41: 
                     42: #define save_string(x) save_string_func (&dst, (x))
                     43: #define restore_string() restore_string_func (&src)
                     44: */
                     45: /* save, restore and initialize routines for Amiga's subsystems */
                     46: 
                     47: extern uae_u8 *restore_cpu (uae_u8 *);
                     48: extern void restore_cpu_finish (void);
                     49: extern uae_u8 *save_cpu (int *, uae_u8 *);
                     50: extern uae_u8 *restore_cpu_extra (uae_u8 *);
                     51: extern uae_u8 *save_cpu_extra (int *, uae_u8 *);
                     52: 
                     53: extern uae_u8 *restore_mmu (uae_u8 *);
                     54: extern uae_u8 *save_mmu (int *, uae_u8 *);
                     55: 
                     56: extern uae_u8 *restore_fpu (uae_u8 *);
                     57: extern uae_u8 *save_fpu (int *, uae_u8 *);
                     58: 
                     59: extern uae_u8 *restore_disk (int, uae_u8 *);
                     60: extern uae_u8 *save_disk (int, int *, uae_u8 *);
                     61: extern uae_u8 *restore_floppy (uae_u8 *src);
                     62: extern uae_u8 *save_floppy (int *len, uae_u8 *);
                     63: extern void DISK_save_custom  (uae_u32 *pdskpt, uae_u16 *pdsklen, uae_u16 *pdsksync, uae_u16 *pdskbytr);
                     64: extern void DISK_restore_custom  (uae_u32 pdskpt, uae_u16 pdsklength, uae_u16 pdskbytr);
                     65: extern void restore_disk_finish (void);
                     66: 
                     67: extern uae_u8 *restore_custom (uae_u8 *);
                     68: extern uae_u8 *save_custom (int *, uae_u8 *, int);
                     69: extern uae_u8 *restore_custom_extra (uae_u8 *);
                     70: extern uae_u8 *save_custom_extra (int *, uae_u8 *);
                     71: 
                     72: extern uae_u8 *restore_custom_sprite (int num, uae_u8 *src);
                     73: extern uae_u8 *save_custom_sprite (int num, int *len, uae_u8 *);
                     74: 
                     75: extern uae_u8 *restore_custom_agacolors (uae_u8 *src);
                     76: extern uae_u8 *save_custom_agacolors (int *len, uae_u8 *);
                     77: 
                     78: extern uae_u8 *restore_blitter (uae_u8 *src);
                     79: extern uae_u8 *save_blitter (int *len, uae_u8 *);
                     80: extern void restore_blitter_finish (void);
                     81: 
                     82: extern uae_u8 *restore_audio (int, uae_u8 *);
                     83: extern uae_u8 *save_audio (int, int *, uae_u8 *);
                     84: 
                     85: extern uae_u8 *restore_cia (int, uae_u8 *);
                     86: extern uae_u8 *save_cia (int, int *, uae_u8 *);
                     87: 
                     88: extern uae_u8 *restore_expansion (uae_u8 *);
                     89: extern uae_u8 *save_expansion (int *, uae_u8 *);
                     90: 
                     91: extern uae_u8 *restore_p96 (uae_u8 *);
                     92: extern uae_u8 *save_p96 (int *, uae_u8 *);
                     93: extern void restore_p96_finish (void);
                     94: 
                     95: extern uae_u8 *restore_keyboard (uae_u8 *);
                     96: extern uae_u8 *save_keyboard (int *);
                     97: 
                     98: extern uae_u8 *restore_akiko (uae_u8 *src);
                     99: extern uae_u8 *save_akiko (int *len);
                    100: extern void restore_akiko_finish (void);
                    101: 
                    102: extern uae_u8 *restore_cdtv (uae_u8 *src);
                    103: extern uae_u8 *save_cdtv (int *len);
                    104: extern void restore_cdtv_finish (void);
                    105: 
                    106: extern uae_u8 *restore_dmac (uae_u8 *src);
                    107: extern uae_u8 *save_dmac (int *len);
                    108: 
                    109: extern uae_u8 *restore_filesys (uae_u8 *src);
                    110: extern uae_u8 *save_filesys (int num, int *len);
                    111: extern uae_u8 *restore_filesys_common (uae_u8 *src);
                    112: extern uae_u8 *save_filesys_common (int *len);
                    113: extern int save_filesys_cando(void);
                    114: 
                    115: extern uae_u8 *restore_gayle(uae_u8 *src);
                    116: extern uae_u8 *save_gayle (int *len);
                    117: extern uae_u8 *restore_ide (uae_u8 *src);
                    118: extern uae_u8 *save_ide (int num, int *len);
                    119: 
                    120: extern uae_u8 *save_cd (int num, int *len);
                    121: extern uae_u8 *restore_cd (int, uae_u8 *src);
                    122: 
                    123: extern uae_u8 *save_configuration (int *len);
                    124: extern uae_u8 *restore_configuration (uae_u8 *src);
                    125: extern uae_u8 *save_log (int, int *len);
                    126: extern uae_u8 *restore_log (uae_u8 *src);
                    127: 
                    128: extern uae_u8 *restore_input (uae_u8 *src);
                    129: extern uae_u8 *save_input (int *len, uae_u8 *dstptr);
                    130: 
                    131: extern void restore_cram (int, size_t);
                    132: extern void restore_bram (int, size_t);
                    133: extern void restore_fram (int, size_t);
                    134: extern void restore_zram (int, size_t, int);
                    135: extern void restore_bootrom (int, size_t);
                    136: extern void restore_pram (int, size_t);
                    137: extern void restore_a3000lram (int, size_t);
                    138: extern void restore_a3000hram (int, size_t);
                    139: 
                    140: extern void restore_ram (size_t, uae_u8*);
                    141: 
                    142: extern uae_u8 *save_cram (int *);
                    143: extern uae_u8 *save_bram (int *);
                    144: extern uae_u8 *save_fram (int *);
                    145: extern uae_u8 *save_zram (int *, int);
                    146: extern uae_u8 *save_bootrom (int *);
                    147: extern uae_u8 *save_pram (int *);
                    148: extern uae_u8 *save_a3000lram (int *);
                    149: extern uae_u8 *save_a3000hram (int *);
                    150: 
                    151: extern uae_u8 *restore_rom (uae_u8 *);
                    152: extern uae_u8 *save_rom (int, int *, uae_u8 *);
                    153: 
                    154: extern uae_u8 *restore_action_replay (uae_u8 *);
                    155: extern uae_u8 *save_action_replay (int *, uae_u8 *);
                    156: extern uae_u8 *restore_hrtmon (uae_u8 *);
                    157: extern uae_u8 *save_hrtmon (int *, uae_u8 *);
                    158: 
                    159: extern void savestate_initsave (const TCHAR *filename, int docompress, int nodialogs);
                    160: extern int save_state (const TCHAR *filename, const TCHAR *description);
                    161: extern void restore_state (const TCHAR *filename);
                    162: extern void savestate_restore_finish (void);
                    163: 
                    164: extern void custom_save_state (void);
                    165: extern void custom_prepare_savestate (void);
                    166: 
                    167: #define STATE_SAVE 1
                    168: #define STATE_RESTORE 2
                    169: #define STATE_DOSAVE 4
                    170: #define STATE_DORESTORE 8
                    171: #define STATE_REWIND 16
                    172: #define STATE_DOREWIND 32
                    173: 
                    174: extern int savestate_state;
                    175: extern TCHAR savestate_fname[MAX_DPATH];
                    176: extern struct zfile *savestate_file;
                    177: 
                    178: extern void savestate_quick (int slot, int save);
                    179: 
                    180: extern void savestate_capture (int);
                    181: extern void savestate_free (void);
                    182: extern void savestate_init (void);
                    183: extern void savestate_rewind (void);
                    184: extern int savestate_dorewind (int);
                    185: extern void savestate_listrewind (void);
                    186: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.