Annotation of hatari/src/cpu/savestate.h, revision 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.