libfusefdc: better TR-DOS boot setting
[zymosis.git] / src / ZXEmuT / lssnap.h
blob6563f0b4ae3ba63a97711b29a1f9f3cdf393711a
1 /***************************************************************************
3 * ZXEmuT -- ZX Spectrum Emulator with Tcl scripting
5 * Copyright (C) 2012-2020 Ketmar Dark <ketmar@ketmar.no-ip.org>
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, version 3 of the License ONLY.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 **************************************************************************/
20 #ifndef ZXEMUT_LSSNAP_H
21 #define ZXEMUT_LSSNAP_H
23 #include <stdint.h>
24 #include <SDL.h>
25 #include <libspectrum.h>
27 #include "../libzymosis/zymosis.h"
28 #include "emucommon.h"
29 #include "emuvars.h"
31 #include "libzxsnap/zxsnap.h"
34 ////////////////////////////////////////////////////////////////////////////////
35 extern int snapRealize (zxs_t *snap);
36 extern int snapRemember (zxs_t *snap); // remember current state in snapshot
39 ////////////////////////////////////////////////////////////////////////////////
40 extern int szxSave (FILE *fl);
41 extern int szxLoad (FILE *fl);
43 extern int snaLoad (FILE *fl);
44 extern int snaSave (FILE *fl);
47 ////////////////////////////////////////////////////////////////////////////////
48 enum {
49 SNAPLOAD_ANY = 0x0f,
50 SNAPLOAD_TAPES = 0x01,
51 SNAPLOAD_DISKS = 0x02,
52 SNAPLOAD_SNAPS = 0x04,
53 SNAPLOAD_OTHER = 0x08,
54 SNAPLOAD_TYPEMASK = 0x0f,
55 SNAPLOAD_FLPNOSHIFT = 8
59 ////////////////////////////////////////////////////////////////////////////////
60 // WARNING! non-threadsafe! (returned name may use static buffer)
61 extern char *loadWholeFile (const char *fname, size_t *size, const char **newname);
63 extern int addAutoBoot (int diskid, int forced, int simpleAutorun);
65 extern int loadSnapshot (const char *name, int flags);
66 extern int saveSnapshot (const char *name);
68 extern int lssnap_slt_clear (void);
70 extern int lssnap_rzx_first_frame (void);
71 extern int lssnap_rzx_next_frame (void); // <0: error; >0: complete
72 extern int lssnap_rzx_stop (void);
75 #endif