1 #ifndef VMACHINE_H
2 #define VMACHINE_H
3 
4 #include "types.h"
5 
6 #define LINECNT 21
7 #define MAXLINES 500
8 #define MAXSNAP 50
9 
10 #define VBLCLK 5493
11 #define EVBLCLK_NTSC 5964
12 #define EVBLCLK_PAL 7259
13 
14 #define FPS_NTSC 60
15 #define FPS_PAL 50
16 
17 extern Byte dbstick1, dbstick2;
18 extern int last_line;
19 
20 extern int evblclk;
21 
22 extern int master_clk;		/* Master clock */
23 extern int int_clk;		/* counter for length of /INT pulses for JNI */
24 extern int h_clk;   /* horizontal clock */
25 extern Byte coltab[256];
26 extern int mstate;
27 
28 extern Byte rom_table[8][4096];
29 extern Byte intRAM[];
30 extern Byte extRAM[];
31 extern Byte extROM[];
32 extern Byte VDCwrite[256];
33 extern Byte ColorVector[MAXLINES];
34 extern Byte AudioVector[MAXLINES];
35 extern Byte *rom;
36 
37 extern int frame;
38 extern int key2[128];
39 extern int key2vcnt;
40 extern unsigned long clk_counter;
41 
42 extern int enahirq;
43 extern int pendirq;
44 extern int useforen;
45 extern long regionoff;
46 extern int sproff;
47 extern int tweakedaudio;
48 
49 Byte read_P2(void);
50 int snapline(int pos, Byte reg, int t);
51 void ext_write(Byte dat, ADDRESS adr);
52 Byte ext_read(ADDRESS adr);
53 void handle_vbl(void);
54 void handle_evbl(void);
55 Byte in_bus(void);
56 void write_p1(Byte d);
57 Byte read_t1(void);
58 void init_system(void);
59 void init_roms(void);
60 void run(void);
61 
62 
63 extern struct resource {
64 	int bank;
65 	int debug;
66 	int stick[2];
67 	int limit;
68 	int sound_en;
69 	int speed;
70 	int wsize;
71 	int fullscreen;
72 	int scanlines;
73 	int voice;
74 	int svolume;
75 	int vvolume;
76 	int exrom;
77 	int three_k;
78 	int filter;
79 	int euro;
80 	int openb;
81 	int vpp;
82 	unsigned long crc;
83 	char *window_title;
84 	char *scshot;
85 } app_data;
86 
87 
88 #endif  /* VMACHINE_H */
89 
90