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