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 void handle_evbll(void); 56 Byte in_bus(void); 57 void write_p1(Byte d); 58 Byte read_t1(void); 59 void init_system(void); 60 void init_roms(void); 61 void run(void); 62 63 64 extern struct resource { 65 int bank; 66 int debug; 67 int stick[2]; 68 int limit; 69 int sound_en; 70 int speed; 71 int wsize; 72 int fullscreen; 73 int scanlines; 74 int voice; 75 int svolume; 76 int vvolume; 77 int exrom; 78 int three_k; 79 int filter; 80 int euro; 81 int openb; 82 int vpp; 83 unsigned long crc; 84 char *window_title; 85 char *scshot; 86 } app_data; 87 88 89 #endif /* VMACHINE_H */ 90 91