OSDN Git Service

[VM][SOUND][PCM1BIT] Add "Strict Rendering" to "Sound" menu.
[csp-qt/common_source_project-fm7.git] / source / src / qt / gui / mainwidget_base.h
1 /*
2  * MainWidget : Defines
3  * Modified by K.Ohta <whatisthis.sowhat _at_ gmail.com>
4  * Please use this file as templete.
5  */
6
7 #ifndef _CSP_QT_MAINWIDGET_BASE_H
8 #define _CSP_QT_MAINWIDGET_BASE_H
9
10 #if defined(_USE_QT5)
11 #include <QVariant>
12 #include <QAction>
13 #include <QApplication>
14 #include <QButtonGroup>
15 #include <QGraphicsView>
16 #include <QHeaderView>
17 #include <QMainWindow>
18 #include <QMenu>
19 #include <QMenuBar>
20 #include <QStatusBar>
21 #include <QWidget>
22 #include <QIcon>
23 #include <QLabel>
24 #include <QGraphicsEllipseItem>
25 #include <QStringList>
26 #include <QClipboard>
27 #else
28 #include <QtCore/QVariant>
29 #include <QtGui/QAction>
30 #include <QtGui/QApplication>
31 #include <QtGui/QButtonGroup>
32 #include <QtGui/QGraphicsView>
33 #include <QtGui/QHeaderView>
34 #include <QtGui/QMainWindow>
35 #include <QtGui/QMenu>
36 #include <QtGui/QMenuBar>
37 #include <QtGui/QStatusBar>
38 #include <QtGui/QWidget>
39 #include <QtGui/QIconSet>
40 #include <QLabel>
41 #endif
42
43 #include "simd_types.h"
44 #include "common.h"
45 #include "config.h"
46 #include "menu_flags.h"
47 #include "csp_logger.h"
48 //#include "emu.h"
49 //#include "vm.h"
50
51 class MOVIE_SAVER;
52
53 #include "qt_main.h"
54 #define _MAX_DEBUGGER 8
55
56 enum {
57         CSP_MAINWIDGET_SAVE_MOVIE_STOP = 0,
58         CSP_MAINWIDGET_SAVE_MOVIE_15FPS = 1,
59         CSP_MAINWIDGET_SAVE_MOVIE_24FPS,
60         CSP_MAINWIDGET_SAVE_MOVIE_30FPS,
61         CSP_MAINWIDGET_SAVE_MOVIE_60FPS,
62         CSP_MAINWIDGET_SAVE_MOVIE_END,
63 };
64
65 QT_BEGIN_NAMESPACE
66
67 class Ui_SoundDialog;
68 class GLDrawClass;
69 class Action_Control;
70 class Menu_MetaClass;
71 class Menu_FDClass;
72 class Menu_CMTClass;
73 class Menu_CartClass;
74 class Menu_QDClass;
75 class Menu_BinaryClass;
76 class Menu_BubbleClass;
77 class Menu_CompactDiscClass;
78 class Menu_LaserdiscClass;
79 class MOVIE_SAVER;
80
81
82 class DLL_PREFIX Ui_MainWindowBase : public QMainWindow
83 {
84         Q_OBJECT
85  protected:
86         USING_FLAGS *using_flags;
87         config_t *p_config;
88         QMainWindow *MainWindow;
89         QApplication *CoreApplication;
90         
91         QWidget *centralwidget;
92         GLDrawClass *graphicsView;
93         QStatusBar  *statusbar;
94         QMenuBar    *menubar;
95         QTimer *statusUpdateTimer;
96
97         QTimer *ledUpdateTimer;
98
99         int screen_mode_count;
100         QIcon WindowIcon;
101         QIcon InsertIcon;
102         QIcon EjectIcon;
103         QIcon StopIcon;
104         QIcon RecordSoundIcon;
105         QIcon ResetIcon;
106         QIcon ExitIcon;
107         QIcon VolumeMutedIcon;
108         QIcon VolumeLowIcon;
109         QIcon VolumeMidIcon;
110         QIcon VolumeHighIcon;
111         // Some Functions
112         void ConfigCpuSpeed(void);
113         void ConfigControlMenu(void);
114         void connectActions_ControlMenu(void);
115         void retranslateControlMenu(const char *SpecialResetTitle,  bool WithSpecialReset);
116         void ConfigFloppyMenu(void);
117         void ConfigSoundMenu(void);
118         void CreateSoundMenu(void);
119
120         void CreateEmulatorMenu(void);
121         void ConfigEmulatorMenu(void);
122         
123         void CreateFloppyMenu(int drv, int drv_base);
124         void CreateFloppyPulldownMenu(int drv);
125         void ConfigFloppyMenuSub(int drv);
126         void retranslateFloppyMenu(int drv, int basedrv);
127
128         // Bubble
129         void CreateBubbleMenu(int drv, int drv_base);
130         void CreateBubblePulldownMenu(int drv);
131         void ConfigBubbleMenuSub(int drv);
132         void retranslateBubbleMenu(int drv, int basedrv);
133         void ConfigBubbleMenu(void);
134         
135         void CreateCMTMenu(void);
136         void CreateCMTPulldownMenu(void);
137         void ConfigCMTMenuSub(void);
138         void retranslateCMTMenu(void);
139         void ConfigCMTMenu(void);
140    
141         void ConfigQuickDiskMenu(void);
142         void retranslateQuickDiskMenu(int drv, int basedrv);
143         void ConfigQuickDiskMenuSub(int drv);
144         void CreateQuickDiskPulldownMenu(int drv);
145         void CreateQuickDiskMenu(int drv, int drv_base);
146
147         void CreateCartMenu(int drv, int drv_base);
148         void CreateCartPulldownMenu(int drv);
149         void ConfigCartMenuSub(int drv);
150         void ConfigCartMenu(void);
151
152         void CreateCDROMMenu(void);
153         void ConfigCDROMMenu(void);
154         void ConfigCDROMMenuSub(void);
155         void CreateCDROMPulldownMenu(void);
156         void retranslateCDROMMenu(void);
157
158         void CreateLaserdiscMenu(void);
159         void ConfigLaserdiscMenu(void);
160         void ConfigLaserdiscMenuSub(void);
161         void CreateLaserdiscPulldownMenu(void);
162         void retranslateLaserdiscMenu(void);
163
164         void ConfigBinaryMenu(void);
165         void retranslateBinaryMenu(int drv, int basedrv);
166         
167         void retranslateSoundMenu(void);
168
169         void ConfigScreenMenu(void);
170         void ConfigScreenMenu_List(void);
171         void CreateScreenMenu(void);
172         void ConfigDeviceType(void);
173         void ConfigDriveType(void);
174         void ConfigSoundDeviceType(void);
175         void ConfigPrinterType(void);
176         
177         void retranslateScreenMenu(void);
178         void retranslateMachineMenu(void);
179
180         class Action_Control *actionReset;
181         class Action_Control *actionSpecial_Reset;
182         class Action_Control *actionExit_Emulator;
183
184         // Pls.Override
185         QActionGroup *actionGroup_CpuType;
186         QMenu *menuCpuType;
187         class Action_Control *actionCpuType[8];
188         void ConfigCPUTypes(int num);
189
190         QActionGroup *actionGroup_CpuSpeed;
191         class Action_Control *actionSpeed_x1;
192         class Action_Control *actionSpeed_x2;
193         class Action_Control *actionSpeed_x4;
194         class Action_Control *actionSpeed_x8;
195         class Action_Control *actionSpeed_x16;
196
197
198         // Pls.Override
199         QActionGroup *actionGroup_BootMode;
200         QMenu *menuBootMode;
201         class Action_Control *actionBootMode[8];
202         void ConfigCPUBootMode(int num);
203
204         class Action_Control *actionPaste_from_Clipboard;
205         class Action_Control *actionStop_Pasting;
206
207         class Action_Control *actionSave_State;
208         class Action_Control *actionLoad_State;
209         
210         class Action_Control *actionDebugger[_MAX_DEBUGGER];
211         //class Action_Control *actionClose_Debuggers;
212
213
214         QStringList listCARTs[8];
215
216         QStringList listQDs[8];
217         
218         QStringList listCMT;
219         bool cmt_write_protect;
220         QStringList listCDROM;
221         QStringList listLaserdisc;
222         QStringList listBINs[8];
223         // Screen
224         class Action_Control *actionZoom;
225         class Action_Control *actionDisplay_Mode;
226
227         class Action_Control *actionScanLine;
228
229         class Action_Control *actionGLScanLineHoriz;
230         class Action_Control *actionGLScanLineVert;
231         class Action_Control *actionRotate;
232
233         class Action_Control *actionCRT_Filter;
234         class Action_Control *actionOpenGL_Filter;
235
236         QActionGroup *actionGroup_Stretch;
237         class Action_Control *actionDot_by_Dot;
238         class Action_Control *actionReferToX_Display;
239         class Action_Control *actionReferToY_Display;
240         class Action_Control *actionFill_Display;
241
242         class Action_Control *actionCapture_Screen;
243
244         QActionGroup *actionGroup_ScreenSize;
245         class Action_Control *actionScreenSize[32];
246
247         QActionGroup *actionGroup_RenderMode;
248         class Action_Control *action_SetRenderMode[8];
249         
250         class Action_Control *actionAbout;
251         class Action_Control *actionHelp_README_BIOS;
252         class Action_Control *actionHelp_README;
253         class Action_Control *actionHelp_README_QT;
254         class Action_Control *actionHelp_README_MR_TANAM;
255         class Action_Control *actionHelp_README_Artane;
256         class Action_Control *actionHelp_README_FAQ;
257         class Action_Control *actionHelp_README_FAQ_JP;
258         
259         class Action_Control *actionHelp_README_FM7;
260         class Action_Control *actionHelp_README_FM7_JP;
261
262         class Action_Control *actionHelp_History;
263         class Action_Control *actionHelp_History_Relnote;
264         class Action_Control *actionHelp_History_ChangeLog;
265         class Action_Control *actionHelp_History_MR_TANAM;
266
267         class Action_Control *actionHelp_License;
268         class Action_Control *actionHelp_License_JP;
269         
270         
271         QActionGroup   *actionGroup_Sound_Freq;
272         QActionGroup   *actionGroup_Sound_Latency;
273
274         class Action_Control *actionSoundCMT;
275
276         class Action_Control *action_Freq[8];
277         class Action_Control *action_Latency[6];
278         class Action_Control *actionStart_Record;
279         class Action_Control *actionStop_Record;
280         class Action_Control *actionStart_Record_Movie;
281         class Action_Control *actionStop_Record_Movie;
282         class Action_Control *action_VolumeDialog;
283         class Action_Control *actionSoundStrictRendering;
284
285         class Action_Control *actionMouseEnable;
286         class Action_Control *actionHelp_AboutQt;
287
288
289         QActionGroup *actionGroup_DeviceType;
290         QMenu *menuDeviceType;
291         class Action_Control *actionDeviceType[16];
292
293         QActionGroup *actionGroup_DriveType;
294         QMenu *menuDriveType;
295         class Action_Control *actionDriveType[8];
296
297         QActionGroup   *actionGroup_SoundDevice;
298         QMenu *menuSoundDevice;
299         class Action_Control *actionSoundDevice[32]; //
300
301         QActionGroup *actionGroup_PrintDevice;
302         QMenu *menuPrintDevice;
303         class Action_Control *actionPrintDevice[16];
304         // Emulator
305         class Action_Control *action_SetupJoystick;
306         class Action_Control *action_SetupKeyboard;
307         class Action_Control *action_LogView;
308         
309         class Action_Control *action_SoundFilesFDD;
310         class Action_Control *action_SoundFilesRelay;
311         class Action_Control *action_SoundFilesButtons;
312         QMenu *menuLogToConsole;
313         QMenu *menuLogToSyslog;
314         QMenu *menuDevLogToConsole;
315         QMenu *menuDevLogToSyslog;
316
317         class Action_Control *action_UseRomaKana;
318         class Action_Control *action_LogToSyslog;
319         class Action_Control *action_LogToConsole;
320         class Action_Control *action_LogRecord;
321         class Action_Control *action_DevLogToSyslog[CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1];
322         class Action_Control *action_DevLogToConsole[CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1];
323         class Action_Control *action_DevLogRecord[CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1];
324
325         class Action_Control *action_SetupMovie; // 15, 24, 30, 60
326
327         
328         // Menus    
329         QMenu *menuControl;
330         QMenu *menuState;
331         QMenu *menuCopy_Paste;
332         QMenu *menuCpu_Speed;
333         QMenu *menuDebugger;
334         
335         Menu_FDClass *menu_fds[16];
336         QStringList listFDs[16];
337         QStringList listD88[16];
338         
339         Menu_QDClass *menu_QDs[8];
340         
341         Menu_CMTClass *menu_CMT;
342         
343         Menu_CompactDiscClass *menu_CDROM;
344         Menu_LaserdiscClass *menu_Laserdisc;
345         Menu_CartClass *menu_Cart[8];
346         Menu_BinaryClass *menu_BINs[8];
347         Menu_BubbleClass *menu_bubbles[8];
348         
349         QStringList listBubbles[8];
350         QStringList listB77[8];
351
352         QMenu *menuScreen;
353
354         QMenu *menuStretch_Mode;
355         QMenu *menuScreenSize;
356         QMenu *menuScreen_Render;
357   
358         QMenu *menuSound;
359         QMenu *menuOutput_Frequency;
360         QMenu *menuSound_Latency;
361         QMenu *menuMachine;
362         QMenu *menuRecord;
363         QMenu *menuRecord_sound;
364         QMenu *menuRecord_as_movie;
365         QMenu *menuEmulator;
366         QMenu *menuHELP;
367         QMenu *menuHelp_Readme;
368         QMenu *menuHelp_Histories;
369         // Status Bar
370         QWidget *dummyStatusArea1;
371         QLabel *messagesStatusBar;
372         QWidget *dummyStatusArea2;
373
374         QLabel *fd_StatusBar[16];
375         QString osd_str_fd[16];
376         
377         QLabel *qd_StatusBar[8];
378         QString osd_str_qd[8];
379         
380         QLabel *cmt_StatusBar;
381         QString osd_str_cmt;
382         
383         QLabel *cdrom_StatusBar;
384         QString osd_str_cdrom;
385         
386         QLabel *laserdisc_StatusBar;
387         QString osd_str_laserdisc;
388         
389         QLabel *bubble_StatusBar[8];
390         QString osd_str_bubble[8];
391         
392         QImage *bitmapImage;
393         
394         bool flags_led[32];
395         bool flags_led_bak[32];
396         QGraphicsView *led_graphicsView;
397         QGraphicsScene *led_gScene;
398         QGraphicsEllipseItem *led_leds[32];
399         uint32_t osd_led_data;
400         
401         QClipboard *ClipBoard;
402
403         // About Status bar
404         int Calc_OSD_Wfactor(void);
405         // Constructor
406         class EmuThreadClass *hRunEmu;
407         class DrawThreadClass *hDrawEmu;
408         class JoyThreadClass *hRunJoy;
409         class MOVIE_SAVER *hSaveMovieThread;
410         
411         int max_vm_nodes;
412         bool ui_retranslate_completed;
413 public:
414         Ui_MainWindowBase(USING_FLAGS *p, QWidget *parent = 0);
415         ~Ui_MainWindowBase();
416
417         // Initializer : using from InitContext.
418         void setCoreApplication(QApplication *p);
419         void createContextMenu(void);
420         void setupUi(void);
421         virtual void set_window(int mode);
422         // Belows are able to re-implement.
423         virtual void retranslateUi(void);
424         virtual void retranslateUI_Help(void);
425         virtual void retranslateCartMenu(int drv, int basedrv);
426         virtual void retranslateVolumeLabels(Ui_SoundDialog *);
427         virtual void retranslateEmulatorMenu(void);
428         virtual void retranselateUi_Depended_OSD(void);
429         // About Status bar
430         virtual void initStatusBar(void);
431         // EmuThread
432         void StopEmuThread(void);
433         virtual void LaunchEmuThread(void);
434         // JoyThread
435         virtual void StopJoyThread(void);
436         virtual void LaunchJoyThread(void);
437         // Screen
438         virtual void OnWindowResize(void);
439         virtual void OnWindowMove(void);
440         virtual void OnWindowRedraw(void);
441    
442         // Getting important widgets.
443         QMainWindow *getWindow(void) { return MainWindow; }
444         QMenuBar    *getMenuBar(void) { return menubar;}
445         GLDrawClass *getGraphicsView(void) { return graphicsView; }
446         QStatusBar *getStatusBar(void) { return statusbar;}
447         QImage *getBitmapImage(void) { return bitmapImage; }
448         
449         virtual void OnMainWindowClosed(void);
450         // Basic Action Definition
451         void OnCpuPower(int mode);
452         bool get_wave_shaper(void);
453         bool get_direct_load_mzt(void);
454         virtual bool GetPowerState(void);
455    
456         // Basic slots
457 public slots:
458         void delete_emu_thread(void);
459         void doChangeMessage_EmuThread(QString str);
460         void do_emu_update_config(void);
461         virtual void delete_joy_thread(void);
462         virtual void do_set_window_title(QString s);
463         virtual void redraw_status_bar(void);
464         virtual void redraw_leds(void);
465         void do_recv_data_led(quint32 d);
466
467         void do_update_volume(int level);
468         void set_screen_aspect(int num);
469         void set_screen_size(int w, int h);
470         void OnReset(void);
471         void OnSpecialReset(void);
472         virtual void do_set_mouse_enable(bool flag);
473         virtual void do_toggle_mouse(void);
474         void do_set_sound_device(int);
475         void do_emu_update_volume_balance(int num, int level);
476         void do_emu_update_volume_level(int num, int level);
477         void rise_log_viewer(void);
478         
479         void rise_volume_dialog(void);
480
481         void rise_joystick_dialog(void);
482
483         void rise_keyboard_dialog(void);
484         virtual void rise_movie_dialog(void);
485         void do_stop_saving_movie(void);
486         void do_start_saving_movie(void);
487         void do_set_state_saving_movie(bool state);
488         void OnLoadState(void);
489         void OnSaveState(void);
490
491         
492         virtual void OnOpenDebugger(int n);
493         virtual void OnCloseDebugger(void);
494         
495         void set_screen_rotate(bool);
496         void set_crt_filter(bool);
497         void set_gl_crt_filter(bool);
498         void set_cpu_power(int pw) {
499                 OnCpuPower(pw);
500         }
501         virtual void on_actionExit_triggered();
502
503         void OnStartAutoKey(void);
504         void OnStopAutoKey(void);
505         
506         void do_change_osd_fd(int drv, QString tmpstr);
507
508         void eject_cart(int);
509         void set_recent_cart(int, int);
510
511         int set_recent_cdrom(int drv, int num);
512         void do_eject_cdrom(int drv);
513         void do_open_cdrom(int drv, QString path);
514         void do_change_osd_cdrom(QString tmpstr);
515
516         int set_recent_laserdisc(int drv, int num); 
517         void do_eject_laserdisc(int drv); 
518         void do_open_laserdisc(int drv, QString path);
519         void do_change_osd_laserdisc(QString tmpstr);
520
521         void CreateBinaryMenu(int drv, int drv_base);
522         void CreateBinaryPulldownMenu(int drv);
523         void ConfigBinaryMenuSub(int drv);
524         int set_recent_binary_load(int drv, int num);
525         int set_recent_binary_save(int drv, int num);
526         void _open_binary_load(int drive, const QString fname);
527         void _open_binary_save(int drive, const QString fname);
528
529         void open_quick_disk_dialog(int drv);
530         int set_recent_quick_disk(int drive, int num); 
531         int write_protect_Qd(int drv, bool flag);
532         void _open_quick_disk(int drv, const QString fname);
533         void eject_Qd(int drv);
534
535         void do_change_osd_qd(int drv, QString tmpstr);
536
537         virtual void _open_disk(int drv, const QString fname);
538         void _open_cart(int drv, const QString fname);
539         void eject_cmt(void);
540         void do_change_boot_mode(int mode);
541         void do_change_cpu_type(int mode);
542         void do_write_protect_cmt(int drv, bool flag);
543         int  set_recent_cmt(int drv, int num);
544         void set_wave_shaper(bool f);
545 //#if defined(_MZ80A) || defined(_MZ80K) || defined(_MZ1200) || defined(_MZ700) || defined(_MZ800) || defined(_MZ1500) || \
546 //      defined(_MZ80B) || defined(_MZ2000) || defined(_MZ2200)
547         void set_direct_load_from_mzt(bool f);
548 //#endif        
549         void do_open_write_cmt(QString);
550         void do_open_read_cmt(int dummy, QString path);
551         void do_change_osd_cmt(QString tmpstr);
552
553         void do_push_play_tape(void);
554         void do_push_stop_tape(void);
555         void do_display_tape_play(bool flag);
556         void do_push_fast_forward_tape(void);
557         void do_push_rewind_tape(void);
558         void do_push_apss_forward_tape(void);
559         void do_push_apss_rewind_tape(void);
560         void set_cmt_sound(bool);
561
562         int write_protect_fd(int drv, bool flag);
563         void eject_fd(int drv);
564         virtual void do_update_recent_disk(int);
565         virtual int set_d88_slot(int drive, int num);
566         virtual int set_recent_disk(int, int);
567
568         // Bubble Casette
569         int write_protect_bubble(int drv, bool flag);
570
571         virtual int set_b77_slot(int drive, int num);
572         virtual void do_update_recent_bubble(int drv);
573         virtual int set_recent_bubble(int drv, int num);
574         void do_change_osd_bubble(int drv, QString tmpstr);
575
576         virtual void _open_bubble(int drv, const QString fname);
577         virtual void eject_bubble(int drv);
578
579         void start_record_sound(bool rec);
580         void set_freq(int);
581         void set_latency(int);
582         void set_sound_device(int);
583         void do_set_sound_strict_rendering(bool f);
584         
585         void set_monitor_type(int);
586         void message_status_bar(QString);
587         void resize_statusbar(int w, int h);
588         virtual void do_release_emu_resources(void);
589         virtual void set_window_title();
590         void set_device_type(int);
591         void set_drive_type(int);
592         void set_scan_line(bool);
593         void set_gl_scan_line_vert(bool);
594         void set_gl_scan_line_horiz(bool);
595         void set_dipsw(int num, bool flag) {
596                 if((num < 0) || (num >= 32)) return;
597                 if(flag) {
598                         using_flags->get_config_ptr()->dipswitch = using_flags->get_config_ptr()->dipswitch | (1 << num);
599                 } else {
600                         using_flags->get_config_ptr()->dipswitch = using_flags->get_config_ptr()->dipswitch & ~(1 << num);
601                 }
602         }
603         bool get_dipsw(int num) {
604                 if((num < 0) || (num >= 32)) return false;
605                 if(((1 << num) & using_flags->get_config_ptr()->dipswitch) == 0) return false;
606                 return true;
607         }
608         void set_printer_device(int);
609         void do_show_about(void);
610         void do_browse_document(QString);
611         
612         void do_set_sound_files_fdd(bool f);
613         void do_set_sound_files_relay(bool f);
614         void do_set_sound_files_buttons(bool f);
615         void do_set_conslog(bool);
616         void do_set_syslog(bool);
617         void do_update_device_node_name(int id, const _TCHAR *name);    
618         void do_set_dev_log_to_console(int id, bool f);
619         void do_set_roma_kana(bool f);
620         void do_set_render_mode_std(void);
621         void do_set_render_mode_tv(void);
622         
623 signals:
624         int message_changed(QString);
625         int quit_emu_thread();
626         int call_joy_thread(EMU *);
627         int quit_joy_thread();
628         int quit_draw_thread();
629         int sig_quit_movie_thread();
630         int sig_stop_saving_movie(void);
631         int sig_start_saving_movie(void);
632         int on_boot_mode(int);
633         int on_cpu_type(int);
634         int on_cpu_power(int);
635         int on_open_debugger(int);
636         int on_insert_fd(int);
637         int on_eject_fd(int);
638         int do_open_disk(int, QString);
639         int do_recent_cmt(bool);
640         int closed(void);
641         int sig_quit_all(void);
642         int sig_vm_reset(void);
643         int sig_vm_specialreset(void);
644         int sig_vm_loadstate(void);
645         int sig_vm_savestate(void);
646         int sig_check_grab_mouse(bool);
647         int sig_resize_uibar(int, int);
648         int sig_resize_screen(int, int);
649         int sig_update_screen(void);
650         int sig_emu_update_config(void);
651         int sig_emu_start_rec_sound(void);
652         int sig_emu_stop_rec_sound(void);
653         int sig_emu_set_display_size(int, int, int, int);
654         int sig_emu_update_volume_level(int, int);
655         int sig_emu_update_volume_balance(int, int);
656         
657         int sig_write_protect_disk(int drv, bool flag);
658         int sig_open_disk(int, QString, int);
659         int sig_close_disk(int);
660         int sig_play_tape(QString name);
661         int sig_rec_tape(QString name);
662         int sig_close_tape(void);
663         int sig_cmt_push_play(void);
664         int sig_cmt_push_stop(void);
665         int sig_cmt_push_fast_forward(void);
666         int sig_cmt_push_fast_rewind(void);
667         int sig_cmt_push_apss_forward(void);
668         int sig_cmt_push_apss_rewind(void);
669         int sig_write_protect_quickdisk(int drv, bool flag);
670         int sig_close_quickdisk(int drv);
671         int sig_open_quickdisk(int drv, QString path);
672         int sig_close_cart(int drv);
673         int sig_open_cart(int drv, QString path);
674         int sig_open_cdrom(QString path);
675         int sig_close_cdrom(void);
676         int sig_close_laserdisc(void);
677         int sig_open_laserdisc(QString path);
678         int sig_load_binary(int drv, QString path);
679         int sig_save_binary(int drv, QString path);
680         int sig_write_protect_bubble(int, bool);
681         int sig_open_bubble(int, QString , int);
682         int sig_close_bubble(int);
683         int sig_led_update(QRectF);
684         int sig_start_auto_key(QString);
685         int sig_stop_auto_key(void);
686    
687         int quit_debugger_thread(void);
688         int sig_quit_widgets(void);
689 };
690 QT_END_NAMESPACE
691
692 #endif