1 #ifndef SUSPEND_H_INCLUDED
2 #define SUSPEND_H_INCLUDED
3 
4 #include <stdio.h>
5 #include "file-op.h"
6 
7 
8 #if 0	/* �� file-op.h */
9 extern char file_state[QUASI88_MAX_FILENAME];	/* ���ơ��ȥե�����̾   */
10 #endif
11 
12 extern	int	resume_flag;			/* ��ư���Υ쥸�塼��	*/
13 extern	int	resume_force;			/* �����쥸�塼��	*/
14 extern	int	resume_file;			/* �ե�����̾���ꤢ��	*/
15 
16 
17 
18 /* ���ơ��ȥե�����Υإå����� */
19 
20 #define	STATE_ID	"QUASI88"		/* ���̻� */
21 #define	STATE_VER	"0.6.0"			/* �ե�����С������ */
22 #define	STATE_REV	"1"			/* �ѹ��С������ */
23 
24 
25 
26 
27 typedef	struct{
28   enum {
29     TYPE_INT,
30     TYPE_LONG,
31     TYPE_SHORT,
32     TYPE_CHAR,
33     TYPE_BYTE,
34     TYPE_WORD,
35     TYPE_PAIR,
36     TYPE_DOUBLE,
37     TYPE_256,
38     TYPE_STR,
39     TYPE_END
40   }	type;
41   void	*work;
42 } T_SUSPEND_W;
43 
44 
45 int	stateload_emu( void );
46 int	stateload_memory( void );
47 int	stateload_pc88main( void );
48 int	stateload_crtcdmac( void );
49 int	stateload_sound( void );
50 int	stateload_pio( void );
51 int	stateload_screen( void );
52 int	stateload_intr( void );
53 int	stateload_keyboard( void );
54 int	stateload_pc88sub( void );
55 int	stateload_fdc( void );
56 int	stateload_system( void );
57 
58 int	statesave_emu( void );
59 int	statesave_memory( void );
60 int	statesave_pc88main( void );
61 int	statesave_crtcdmac( void );
62 int	statesave_sound( void );
63 int	statesave_pio( void );
64 int	statesave_screen( void );
65 int	statesave_intr( void );
66 int	statesave_keyboard( void );
67 int	statesave_pc88sub( void );
68 int	statesave_fdc( void );
69 int	statesave_system( void );
70 
71 
72 
73 
74 
75 void		filename_init_state(int synchronize);
76 const char	*filename_get_state(void);
77 int		filename_get_state_serial(void);
78 void		filename_set_state(const char *filename);
79 void		filename_set_state_serial(int serial);
80 
81 
82 void	stateload_init( void );
83 int	statesave( void );
84 int	stateload( void );
85 int	statesave_check_file_exist(void);
86 int	stateload_check_file_exist(void);
87 
88 int	statefile_revision( void );
89 
90 #define	STATE_OK	(0)		/* ����/���������ェλ */
91 #define	STATE_ERR	(-1)		/* ����/�����ְ۾ェλ */
92 #define	STATE_ERR_ID	(-2)		/* ���ɻ� ID���Ĥ��餺 */
93 #define	STATE_ERR_SIZE	(-3)		/* ���ɻ� ������������ */
94 int	statesave_block( const char id[4], void *top, int size );
95 int	stateload_block( const char id[4], void *top, int size );
96 
97 int	statesave_table( const char id[4], T_SUSPEND_W *tbl );
98 int	stateload_table( const char id[4], T_SUSPEND_W *tbl );
99 
100 
101 #endif	/* SUSPEND_H_INCLUDED */
102