1 |
|
/* |
2 |
|
* C64_x.h - Put the pieces together, X specific stuff |
3 |
|
* |
4 |
< |
* Frodo (C) 1994-1997,2002-2004 Christian Bauer |
4 |
> |
* Frodo Copyright (C) Christian Bauer |
5 |
|
* |
6 |
|
* This program is free software; you can redistribute it and/or modify |
7 |
|
* it under the terms of the GNU General Public License as published by |
232 |
|
|
233 |
|
void C64::thread_func(void) |
234 |
|
{ |
235 |
– |
int linecnt = 0; |
236 |
– |
|
235 |
|
#ifdef FRODO_SC |
236 |
|
while (!quit_thyself) { |
237 |
|
|
280 |
|
// 1541 processor disabled, only emulate 6510 |
281 |
|
TheCPU->EmulateLine(cycles); |
282 |
|
#endif |
285 |
– |
linecnt++; |
286 |
– |
#if !defined(__svgalib__) |
287 |
– |
if ((linecnt & 0xfff) == 0 && gui) { |
288 |
– |
|
289 |
– |
// check for command from GUI process |
290 |
– |
// fprintf(stderr,":"); |
291 |
– |
while (gui->probe()) { |
292 |
– |
char c; |
293 |
– |
if (gui->eread(&c, 1) != 1) { |
294 |
– |
delete gui; |
295 |
– |
gui = 0; |
296 |
– |
fprintf(stderr,"Oops, GUI process died...\n"); |
297 |
– |
} else { |
298 |
– |
// fprintf(stderr,"%c",c); |
299 |
– |
switch (c) { |
300 |
– |
case 'q': |
301 |
– |
quit_thyself = true; |
302 |
– |
break; |
303 |
– |
case 'r': |
304 |
– |
Reset(); |
305 |
– |
break; |
306 |
– |
case 'p':{ |
307 |
– |
Prefs *np = Frodo::reload_prefs(); |
308 |
– |
NewPrefs(np); |
309 |
– |
ThePrefs = *np; |
310 |
– |
break; |
311 |
– |
} |
312 |
– |
default: |
313 |
– |
break; |
314 |
– |
} |
315 |
– |
} |
316 |
– |
} |
317 |
– |
} |
318 |
– |
#endif |
283 |
|
} |
284 |
|
} |