23 |
|
|
24 |
|
#ifdef __BEOS__ |
25 |
|
#include <KernelKit.h> |
26 |
– |
#include <device/Joystick.h> |
26 |
|
#endif |
27 |
|
|
28 |
|
#ifdef AMIGA |
36 |
|
#endif |
37 |
|
|
38 |
|
|
39 |
+ |
// Sizes of memory areas |
40 |
+ |
const int C64_RAM_SIZE = 0x10000; |
41 |
+ |
const int COLOR_RAM_SIZE = 0x400; |
42 |
+ |
const int BASIC_ROM_SIZE = 0x2000; |
43 |
+ |
const int KERNAL_ROM_SIZE = 0x2000; |
44 |
+ |
const int CHAR_ROM_SIZE = 0x1000; |
45 |
+ |
const int DRIVE_RAM_SIZE = 0x800; |
46 |
+ |
const int DRIVE_ROM_SIZE = 0x4000; |
47 |
+ |
|
48 |
+ |
|
49 |
|
// false: Frodo, true: FrodoSC |
50 |
|
extern bool IsFrodoSC; |
51 |
|
|
118 |
|
void c64_ctor1(void); |
119 |
|
void c64_ctor2(void); |
120 |
|
void c64_dtor(void); |
121 |
< |
void open_close_joysticks(bool oldjoy1, bool oldjoy2, bool newjoy1, bool newjoy2); |
121 |
> |
void open_close_joysticks(int oldjoy1, int oldjoy2, int newjoy1, int newjoy2); |
122 |
|
uint8 poll_joystick(int port); |
123 |
|
void thread_func(void); |
124 |
|
|
126 |
|
bool quit_thyself; // Emulation thread shall quit |
127 |
|
bool have_a_break; // Emulation thread shall pause |
128 |
|
|
129 |
< |
int joy_minx, joy_maxx, joy_miny, joy_maxy; // For dynamic joystick calibration |
129 |
> |
int joy_minx[2], joy_maxx[2], joy_miny[2], joy_maxy[2]; // For dynamic joystick calibration |
130 |
|
uint8 joykey; // Joystick keyboard emulation mask value |
131 |
|
|
132 |
|
uint8 orig_kernal_1d84, // Original contents of kernal locations $1d84 and $1d85 |
138 |
|
|
139 |
|
private: |
140 |
|
static long thread_invoc(void *obj); |
141 |
+ |
void open_close_joystick(int port, int oldjoy, int newjoy); |
142 |
|
|
143 |
< |
BJoystick *joy[2]; // Joystick objects |
143 |
> |
void *joy[2]; // Joystick objects (BJoystick or BDigitalPort) |
144 |
> |
bool joy_geek_port[2]; // Flag: joystick on GeekPort? |
145 |
|
thread_id the_thread; |
146 |
|
sem_id pause_sem; |
147 |
|
sem_id sound_sync_sem; |
148 |
< |
double start_time; |
148 |
> |
bigtime_t start_time; |
149 |
|
#endif |
150 |
|
|
151 |
|
#ifdef AMIGA |
161 |
|
#endif |
162 |
|
|
163 |
|
#ifdef __unix |
164 |
< |
int joyfd[2]; // File descriptors for joysticks |
164 |
> |
void open_close_joystick(int port, int oldjoy, int newjoy); |
165 |
|
double speed_index; |
166 |
|
public: |
167 |
|
CmdPipe *gui; |