OSDN Git Service

[Qt][UI] Apply un-applied below menu entries:
authorK.Ohta <whatisthis.sowhat@gmail.com>
Sun, 21 Jun 2015 20:13:20 +0000 (05:13 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Sun, 21 Jun 2015 20:13:20 +0000 (05:13 +0900)
[PC88][PC80] Joystick, memory wait and debugger.
[FM7] Debugger.
[X1] Drive type, Keyboard type and deebugger.
[MZ800] Monitor type and BOOT type.
[PC6001] Debugger.
[PC98] Debugger.
[HC40][HC80] System reset.
[BUG] At PC98DO, booting with PC98 mode, crashed.

15 files changed:
source/src/qt/common/emuevents_control.cpp
source/src/qt/fm7/MainWindow.cpp
source/src/qt/gui/mainwidget.h
source/src/qt/gui/mainwindow_utils.cpp
source/src/qt/hc40/MainWindow.cpp
source/src/qt/hc80/MainWindow.cpp
source/src/qt/mz700/MainWindow.cpp
source/src/qt/mz700/menuclasses.h
source/src/qt/pc6001/MainWindow.cpp
source/src/qt/pc8801ma/MainWindow.cpp
source/src/qt/pc8801ma/menuclasses.h
source/src/qt/pc9801/MainWindow.cpp
source/src/qt/pc9801/menuclasses.h
source/src/qt/x1turboz/MainWindow.cpp
source/src/qt/x1turboz/menuclasses.h

index f5818d6..38fcd3e 100644 (file)
@@ -74,7 +74,6 @@ void Ui_MainWindow::OnCloseDebugger(void )
 }
 #endif
 
-
 // Implement LASER-DISC, BINARY
 //
 
index 919b476..2b83859 100644 (file)
@@ -118,8 +118,11 @@ void META_MainWindow::retranslateUi(void)
        actionCapture_Screen->setText(QApplication::translate("MainWindow", "Capture Screen", 0, QApplication::UnicodeUTF8));
        
        actionAbout->setText(QApplication::translate("MainWindow", "About...", 0, QApplication::UnicodeUTF8));
-       
-       
+#ifdef USE_DEBUGGER
+       actionDebugger_1->setText(QApplication::translate("MainWindow", "Debug Main CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_2->setText(QApplication::translate("MainWindow", "Debug Sub  CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_3->setVisible(false);
+#endif 
        //      actionStart_Record_Movie->setText(QApplication::translate("MainWindow", "Start Record Movie", 0, QApplication::UnicodeUTF8));
        //      actionStop_Record_Movie->setText(QApplication::translate("MainWindow", "Stop Record Movie", 0, QApplication::UnicodeUTF8));
   // 
index 147cca0..2d03779 100644 (file)
@@ -420,10 +420,15 @@ public slots:
        void set_monitor_type(int);
        void message_status_bar(QString);
        void do_release_emu_resources(void);
-
-#if defined(USE_SCANLINE)
-       void set_scan_line(bool);
+# if defined(USE_DEVICE_TYPE)
+       void set_device_type(int);
 #endif
+# if defined(USE_DRIVE_TYPE)
+       void set_drive_type(int);
+# endif
+# if defined(USE_SCANLINE)
+       void set_scan_line(bool);
+# endif
 
 #if defined(USE_DIPSWITCH)
        void set_dipsw(int num, bool flag) {
index 15f35c6..7d662af 100644 (file)
@@ -54,6 +54,8 @@ void Ui_MainWindow::set_sound_device(int num)
 #endif
 }
 
+
+
 void Ui_MainWindow::start_record_sound(bool start)
 {
        if(emu) {
@@ -107,6 +109,30 @@ void Ui_MainWindow::set_cmt_sound(bool flag)
        }
 }
 #endif
+#ifdef USE_DEVICE_TYPE
+void Ui_MainWindow::set_device_type(int num)
+{
+       if((num < USE_DEVICE_TYPE) && (num >= 0)) {
+               config.device_type = num;
+               //if(emu) {
+               //      emu->update_config();
+               //}
+       }
+}
+#endif
+
+#ifdef USE_DRIVE_TYPE
+void Ui_MainWindow::set_drive_type(int num)
+{
+       if((num < USE_DRIVE_TYPE) && (num >= 0)) {
+               config.drive_type = num;
+               if(emu) {
+                       emu->update_config();
+               }
+       }
+}
+#endif
+   
 
 void Ui_MainWindow::set_screen_size(int w, int h)
 {
index b226e9d..862c168 100644 (file)
@@ -25,7 +25,7 @@ void META_MainWindow::retranslateUi(void)
 {
   int i;
    
-  retranslateControlMenu(" ",  false);
+  retranslateControlMenu("System Reset",  true);
   retranslateFloppyMenu(0, 1);
   retranslateFloppyMenu(1, 2);
   retranslateCMTMenu();
index b226e9d..862c168 100644 (file)
@@ -25,7 +25,7 @@ void META_MainWindow::retranslateUi(void)
 {
   int i;
    
-  retranslateControlMenu(" ",  false);
+  retranslateControlMenu("System Reset",  true);
   retranslateFloppyMenu(0, 1);
   retranslateFloppyMenu(1, 2);
   retranslateCMTMenu();
index f36150b..0b7f177 100644 (file)
 //QT_BEGIN_NAMESPACE
 
 
-Action_Control_X1::Action_Control_X1(QObject *parent) : Action_Control(parent)
+Action_Control_MZ700::Action_Control_MZ700(QObject *parent) : Action_Control(parent)
 {
-   x1_binds = new Object_Menu_Control_X1(parent);
+   mz_binds = new Object_Menu_Control_MZ700(parent);
 }
 
-Action_Control_X1::~Action_Control_X1(){
-   delete x1_binds;
+Action_Control_MZ700::~Action_Control_MZ700(){
+   delete mz_binds;
 }
 
-Object_Menu_Control_X1::Object_Menu_Control_X1(QObject *parent) : Object_Menu_Control(parent)
+Object_Menu_Control_MZ700::Object_Menu_Control_MZ700(QObject *parent) : Object_Menu_Control(parent)
 {
 }
 
-Object_Menu_Control_X1::~Object_Menu_Control_X1(){
+Object_Menu_Control_MZ700::~Object_Menu_Control_MZ700(){
 }
 
-void Object_Menu_Control_X1::do_set_sound_device(void)
+void Object_Menu_Control_MZ700::do_monitor_type(void)
 {
-   emit sig_sound_device(getValue1());
+   emit sig_monitor_type(getValue1());
 }
 
-void META_MainWindow::do_set_sound_device(int num)
+void META_MainWindow::set_monitor_type(int num)
 {
-   if((num < 0) || (num >= 3)) return;
-#ifdef USE_SOUND_DEVICE_TYPE
+   if((num < 0) || (num >= USE_MONITOR_TYPE)) return;
+#ifdef USE_MONITOR_TYPE
    if(emu) {
-      config.sound_device_type = num;
+      config.monitor_type = num;
       emu->LockVM();
       emu->update_config();
       emu->UnlockVM();
@@ -55,7 +55,40 @@ void META_MainWindow::do_set_sound_device(int num)
 
 void META_MainWindow::setupUI_Emu(void)
 {
-   menuMachine->setVisible(false);
+#if !defined(_MZ800)
+       menuMachine->setVisible(false);
+#endif   
+#if defined(USE_BOOT_MODE)
+       menuBootMode = new QMenu(menuMachine);
+       menuBootMode->setObjectName(QString::fromUtf8("menuControl_BootMode"));
+       menuMachine->addAction(menuBootMode->menuAction());
+       ConfigCPUBootMode(USE_BOOT_MODE);
+#endif
+#if defined(USE_MONITOR_TYPE)
+       {
+               int ii;
+               menuMonitorType = new QMenu(menuMachine);
+               menuMonitorType->setObjectName(QString::fromUtf8("menuControl_MonitorType"));
+               menuMachine->addAction(menuMonitorType->menuAction());
+               
+               actionGroup_MonitorType = new QActionGroup(this);
+               actionGroup_MonitorType->setExclusive(true);
+               for(ii = 0; ii < USE_MONITOR_TYPE; ii++) {
+                       actionMonitorType[ii] = new Action_Control_MZ700(this);
+                       actionGroup_MonitorType->addAction(actionMonitorType[ii]);
+                       actionMonitorType[ii]->setCheckable(true);
+                       actionMonitorType[ii]->setVisible(true);
+                       actionMonitorType[ii]->mz_binds->setValue1(ii);
+                       if(config.monitor_type == ii) actionMonitorType[ii]->setChecked(true);
+                       menuMonitorType->addAction(actionMonitorType[ii]);
+                       connect(actionMonitorType[ii], SIGNAL(triggered()),
+                               actionMonitorType[ii]->mz_binds, SLOT(do_monitor_type()));
+                       connect(actionMonitorType[ii]->mz_binds, SIGNAL(sig_monitor_type(int)),
+                               this, SLOT(set_monitor_type(int)));
+               }
+       }
+#endif
+
 }
 
 void META_MainWindow::retranslateUi(void)
@@ -87,9 +120,19 @@ void META_MainWindow::retranslateUi(void)
    menuQD[1]->setTitle(QApplication::translate("MainWindow", "QD2", 0, QApplication::UnicodeUTF8));
    menuWrite_Protection_QD[1]->setTitle(QApplication::translate("MainWindow", "Write Protection", 0, QApplication::UnicodeUTF8));
 #endif   
+#if defined(_MZ800)
+       menuBootMode->setTitle("BOOT Mode");
+       actionBootMode[0]->setText(QString::fromUtf8("MZ-800"));
+       actionBootMode[1]->setText(QString::fromUtf8("MZ-700"));
    
-        menuScreen->setTitle(QApplication::translate("MainWindow", "Screen", 0, QApplication::UnicodeUTF8));
-        menuStretch_Mode->setTitle(QApplication::translate("MainWindow", "Stretch Mode", 0, QApplication::UnicodeUTF8));
+       menuMonitorType->setTitle("Monitor Type");
+       actionMonitorType[0]->setText(QApplication::translate("MainWindow", "Color", 0, QApplication::UnicodeUTF8));
+       actionMonitorType[1]->setText(QApplication::translate("MainWindow", "Monochrome", 0, QApplication::UnicodeUTF8));
+       menuMachine->setTitle(QApplication::translate("MainWindow", "Machine", 0, QApplication::UnicodeUTF8));;
+
+#endif
+       menuScreen->setTitle(QApplication::translate("MainWindow", "Screen", 0, QApplication::UnicodeUTF8));
+       menuStretch_Mode->setTitle(QApplication::translate("MainWindow", "Stretch Mode", 0, QApplication::UnicodeUTF8));
        
        
 //        menuRecord->setTitle(QApplication::translate("MainWindow", "Record", 0, QApplication::UnicodeUTF8));
index fc84753..6f8e69a 100644 (file)
@@ -8,43 +8,45 @@
 QT_BEGIN_NAMESPACE
 
 
-class Object_Menu_Control_X1: public Object_Menu_Control
+class Object_Menu_Control_MZ700: public Object_Menu_Control
 {
    Q_OBJECT
  public:
-     Object_Menu_Control_X1(QObject *parent);
-     ~Object_Menu_Control_X1();
+     Object_Menu_Control_MZ700(QObject *parent);
+     ~Object_Menu_Control_MZ700();
 signals:
-   int sig_sound_device(int);
+   void sig_monitor_type(int);
  public slots:
-   void do_set_sound_device(void);
+   void do_monitor_type(void);
 };
 
-class Action_Control_X1 : public Action_Control
+class Action_Control_MZ700 : public Action_Control
 {
    Q_OBJECT
  public:
-   Object_Menu_Control_X1 *x1_binds;
-   Action_Control_X1(QObject *parent);
-   ~Action_Control_X1();
+   Object_Menu_Control_MZ700 *mz_binds;
+   Action_Control_MZ700(QObject *parent);
+   ~Action_Control_MZ700();
 };
 
 
 class Ui_MainWindow;
-//  wrote of X1 Specific menu.
+//  wrote of MZ700 Specific menu.
 class META_MainWindow : public Ui_MainWindow {
   Q_OBJECT
  protected:
-  QActionGroup   *actionGroup_SoundDevice;
-  QMenu *menu_Emu_SoundDevice;
-  class Action_Control_X1 *action_Emu_SoundDevice[3]; // 0 = PSG, 1 = FM(CZ-8BS1)x1, 2 = FMx2
+#if defined(USE_MONITOR_TYPE)     
+  QActionGroup   *actionGroup_MonitorType;
+  QMenu *menuMonitorType;
+  class Action_Control_MZ700 *actionMonitorType[USE_MONITOR_TYPE];
+#endif
   void setupUI_Emu(void);
    void retranslateUi(void);
  public:
   META_MainWindow(QWidget *parent = 0);
   ~META_MainWindow();
  public slots:
-    void do_set_sound_device(int);
+    void set_monitor_type(int);
 };
 
 QT_END_NAMESPACE
index e4e38c3..dae1464 100644 (file)
@@ -61,6 +61,12 @@ void META_MainWindow::retranslateUi(void)
   retranslateControlMenu(title, false);
   retranslateFloppyMenu(0, 1);
   retranslateFloppyMenu(1, 2);
+#if defined(USE_FD3)
+  retranslateFloppyMenu(2, 3);
+#endif   
+#if defined(USE_FD3)
+  retranslateFloppyMenu(3, 4);
+#endif   
   retranslateCMTMenu();
   retranslateSoundMenu();
   retranslateScreenMenu();
@@ -72,6 +78,11 @@ void META_MainWindow::retranslateUi(void)
   
   actionAbout->setText(QApplication::translate("MainWindow", "About...", 0, QApplication::UnicodeUTF8));
   
+#ifdef USE_DEBUGGER
+       actionDebugger_1->setText(QApplication::translate("MainWindow", "Main CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_2->setText(QApplication::translate("MainWindow", "Sub  CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_3->setText(QApplication::translate("MainWindow", "PC-80S31K", 0, QApplication::UnicodeUTF8));
+#endif 
 
    //  actionStart_Record_Movie->setText(QApplication::translate("MainWindow", "Start Record Movie", 0, QApplication::UnicodeUTF8));
   //      actionStop_Record_Movie->setText(QApplication::translate("MainWindow", "Stop Record Movie", 0, QApplication::UnicodeUTF8));
index 463b63e..0fd1af3 100644 (file)
@@ -29,6 +29,16 @@ void Object_Menu_Control_88::do_set_sound_device(void)
    emit sig_sound_device(this->getValue1());
 }
 
+void Object_Menu_Control_88::do_set_device_type(void)
+{
+   emit sig_device_type(this->getValue1());
+}
+
+void Object_Menu_Control_88::do_set_memory_wait(bool flag)
+{
+   emit sig_set_dipsw(0, flag);
+}
+
 
 Action_Control_88::Action_Control_88(QObject *parent) : Action_Control(parent)
 {
@@ -41,7 +51,7 @@ Action_Control_88::~Action_Control_88()
    delete pc88_binds;
 }
 
-
+   
 void META_MainWindow::do_set_sound_device(int num)
 {
    if((num < 0) || (num >= 2)) return;
@@ -55,6 +65,7 @@ void META_MainWindow::do_set_sound_device(int num)
 #endif
 }
 
+
 void META_MainWindow::retranslateUi(void)
 {
   const char *title="";
@@ -101,15 +112,26 @@ void META_MainWindow::retranslateUi(void)
    actionSoundDevice[0]->setText(QString::fromUtf8("PC-8801-23 (OPNA)"));
    actionSoundDevice[1]->setText(QString::fromUtf8("PC-8801-11 (OPN)"));
 #endif
+#ifdef USE_DEBUGGER
+       actionDebugger_1->setText(QApplication::translate("MainWindow", "Main CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_2->setText(QApplication::translate("MainWindow", "Sub  CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_3->setVisible(false);
+#endif 
+#if defined(USE_DEVICE_TYPE)
+       actionDeviceType[0]->setText(QApplication::translate("MainWindow", "Joystick", 0, QApplication::UnicodeUTF8));
+       actionDeviceType[1]->setText(QApplication::translate("MainWindow", "Bus Mouse", 0, QApplication::UnicodeUTF8));
+       menuDeviceType->setTitle(QApplication::translate("MainWindow", "Joy Port", 0, QApplication::UnicodeUTF8));
+#endif
+       actionMemoryWait->setText(QApplication::translate("MainWindow", "Wait Memory", 0, QApplication::UnicodeUTF8));
 // End.
 // 
 //        menuRecord->setTitle(QApplication::translate("MainWindow", "Record", 0, QApplication::UnicodeUTF8));
 //        menuRecoad_as_movie->setTitle(QApplication::translate("MainWindow", "Recoad as movie", 0, QApplication::UnicodeUTF8));
        
-  menuEmulator->setTitle(QApplication::translate("MainWindow", "Emulator", 0, QApplication::UnicodeUTF8));
-  menuMachine->setTitle(QApplication::translate("MainWindow", "Machine", 0, QApplication::UnicodeUTF8));
+       menuEmulator->setTitle(QApplication::translate("MainWindow", "Emulator", 0, QApplication::UnicodeUTF8));
+       menuMachine->setTitle(QApplication::translate("MainWindow", "Machine", 0, QApplication::UnicodeUTF8));
   
-  menuHELP->setTitle(QApplication::translate("MainWindow", "HELP", 0, QApplication::UnicodeUTF8));
+       menuHELP->setTitle(QApplication::translate("MainWindow", "HELP", 0, QApplication::UnicodeUTF8));
    // Set Labels
   
 } // retranslateUi
@@ -128,6 +150,15 @@ void META_MainWindow::setupUI_Emu(void)
 #elif defined(_PC8001SR)
    ConfigCPUBootMode(3);
 #endif
+       actionMemoryWait = new Action_Control_88(this);
+       actionMemoryWait->setCheckable(true);
+       actionMemoryWait->setVisible(true);
+       menuMachine->addAction(actionMemoryWait);
+       if((config.dipswitch & 0x0001) != 0) actionMemoryWait->setChecked(true);
+       connect(actionMemoryWait, SIGNAL(triggered()),
+               actionMemoryWait->pc88_binds, SLOT(do_set_memory_wait(bool)));
+       connect(actionMemoryWait->pc88_binds, SIGNAL(sig_set_dipsw(int, bool)),
+                this, SLOT(set_dipsw(int, bool)));
    
 #if defined(SUPPORT_PC88_OPNA)
    {
@@ -153,7 +184,30 @@ void META_MainWindow::setupUI_Emu(void)
       }
    }
 #endif
-
+#if defined(USE_DEVICE_TYPE)
+   {
+      int ii;
+      menuDeviceType = new QMenu(menuMachine);
+      menuDeviceType->setObjectName(QString::fromUtf8("menuDeviceType"));
+      menuMachine->addAction(menuDeviceType->menuAction());
+      
+      actionGroup_DeviceType = new QActionGroup(this);
+      actionGroup_DeviceType->setExclusive(true);
+      for(ii = 0; ii < USE_DEVICE_TYPE; ii++) {
+        actionDeviceType[ii] = new Action_Control_88(this);
+        actionGroup_DeviceType->addAction(actionDeviceType[ii]);
+        actionDeviceType[ii]->setCheckable(true);
+        actionDeviceType[ii]->setVisible(true);
+        actionDeviceType[ii]->pc88_binds->setValue1(ii);
+        if(config.device_type == ii) actionDeviceType[ii]->setChecked(true);
+        menuDeviceType->addAction(actionDeviceType[ii]);
+        connect(actionDeviceType[ii], SIGNAL(triggered()),
+                actionDeviceType[ii]->pc88_binds, SLOT(do_set_device_type()));
+        connect(actionDeviceType[ii]->pc88_binds, SIGNAL(sig_device_type(int)),
+                this, SLOT(set_device_type(int)));
+      }
+   }
+#endif
 }
 
 
index 4660d81..cb64692 100644 (file)
@@ -15,8 +15,11 @@ class Object_Menu_Control_88: public Object_Menu_Control
      ~Object_Menu_Control_88();
 signals:
    int sig_sound_device(int);
+   int sig_device_type(int);
  public slots:
    void do_set_sound_device(void);
+   void do_set_device_type(void);
+   void do_set_memory_wait(bool);
 };
 
 class Action_Control_88 : public Action_Control
@@ -37,13 +40,27 @@ class META_MainWindow : public Ui_MainWindow {
   QActionGroup   *actionGroup_SoundDevice;
   QMenu *menuSoundDevice;
   class Action_Control_88 *actionSoundDevice[2]; //
+  class Action_Control_88 *actionMemoryWait; //
   void setupUI_Emu(void);
   void retranslateUi(void);
+#ifdef USE_DEVICE_TYPE
+       QActionGroup *actionGroup_DeviceType;
+       QMenu *menuDeviceType;
+       class Action_Control_88 *actionDeviceType[USE_DEVICE_TYPE];
+       void ConfigDeviceType(int num);
+#endif   
+#ifdef USE_DRIVE_TYPE
+       QActionGroup *actionGroup_DriveType;
+       QMenu *menuDriveType;
+       class Action_Control_88 *actionDriveType[USE_DRIVE_TYPE];
+       void ConfigDriveType(int num);
+#endif   
  public:
   META_MainWindow(QWidget *parent = 0);
   ~META_MainWindow();
  public slots:
     void do_set_sound_device(int);
+   
 };
 
 QT_END_NAMESPACE
index 95cc4e2..d6ab105 100644 (file)
 
 //QT_BEGIN_NAMESPACE
 
+Object_Menu_Control_98::Object_Menu_Control_98(QObject *parent) : Object_Menu_Control(parent)
+{
+}
+
+Object_Menu_Control_98::~Object_Menu_Control_98()
+{
+}
+
+void Object_Menu_Control_98::do_set_sound_device(void)
+{
+   emit sig_sound_device(this->getValue1());
+}
+
+void Object_Menu_Control_98::do_set_device_type(void)
+{
+   emit sig_device_type(this->getValue1());
+}
+
+void Object_Menu_Control_98::do_set_memory_wait(bool flag)
+{
+   emit sig_set_dipsw(0, flag);
+}
+
+
+Action_Control_98::Action_Control_98(QObject *parent) : Action_Control(parent)
+{
+   pc98_binds = new Object_Menu_Control_98(parent);
+   pc98_binds->setValue1(0);
+}
+
+Action_Control_98::~Action_Control_98()
+{
+   delete pc98_binds;
+}
+
+   
 
 void META_MainWindow::do_set_sound_device(int num)
 {
@@ -29,6 +65,7 @@ void META_MainWindow::do_set_sound_device(int num)
 #endif
 }
 
+
 void META_MainWindow::retranslateUi(void)
 {
   const char *title="";
@@ -59,6 +96,8 @@ void META_MainWindow::retranslateUi(void)
    menuFD[4]->setTitle(QApplication::translate("MainWindow", "2D-1", 0, QApplication::UnicodeUTF8));
    menuFD[5]->setTitle(QApplication::translate("MainWindow", "2D-2", 0, QApplication::UnicodeUTF8));
 #elif defined(_PC98DO)
+   menuFD[0]->setTitle(QApplication::translate("MainWindow", "PC98-1", 0, QApplication::UnicodeUTF8));
+   menuFD[1]->setTitle(QApplication::translate("MainWindow", "PC98-2", 0, QApplication::UnicodeUTF8));
    menuFD[2]->setTitle(QApplication::translate("MainWindow", "PC88-1", 0, QApplication::UnicodeUTF8));
    menuFD[3]->setTitle(QApplication::translate("MainWindow", "PC88-2", 0, QApplication::UnicodeUTF8));
 #endif
@@ -68,7 +107,22 @@ void META_MainWindow::retranslateUi(void)
 #endif
   retranslateSoundMenu();
   retranslateScreenMenu();
-   
+#ifdef USE_DEBUGGER
+
+#if defined(_PC9801) || defined(_PC9801)
+       actionDebugger_1->setText(QApplication::translate("MainWindow", "Main CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_2->setText(QApplication::translate("MainWindow", "PC-80S31K CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_3->setVisible(false);
+#elif defined(_PC98DO)
+       actionDebugger_1->setText(QApplication::translate("MainWindow", "PC-9801 Main CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_2->setText(QApplication::translate("MainWindow", "PC-8801 Main CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_3->setText(QApplication::translate("MainWindow", "PC-8801 Sub CPU", 0, QApplication::UnicodeUTF8));
+#else
+       actionDebugger_1->setText(QApplication::translate("MainWindow", "Main CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_2->setVisible(false);
+       actionDebugger_3->setVisible(false);
+#endif 
+#endif   
   this->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
   
   
@@ -103,7 +157,10 @@ void META_MainWindow::retranslateUi(void)
   actionBootMode[3]->setText(QString::fromUtf8("N88-V2 Mode"));
   actionBootMode[4]->setText(QString::fromUtf8("N Mode (N80 compatible)"));
 # endif
-#endif   
+#endif
+#ifdef _PC98DO
+       actionMemoryWait->setText(QApplication::translate("MainWindow", "Memory Wait", 0, QApplication::UnicodeUTF8));;
+#endif
  // End.
  // 
 //        menuRecord->setTitle(QApplication::translate("MainWindow", "Record", 0, QApplication::UnicodeUTF8));
@@ -125,7 +182,19 @@ void META_MainWindow::setupUI_Emu(void)
    menuMachine->addAction(menuCpuType->menuAction());
    ConfigCPUTypes(2);
 #endif
-   
+
+#if defined(_PC98DO)
+       actionMemoryWait = new Action_Control_98(this);
+       actionMemoryWait->setCheckable(true);
+       actionMemoryWait->setVisible(true);
+       menuMachine->addAction(actionMemoryWait);
+       if((config.dipswitch & 0x0001) != 0) actionMemoryWait->setChecked(true);
+       connect(actionMemoryWait, SIGNAL(triggered()),
+               actionMemoryWait->pc98_binds, SLOT(do_set_memory_wait(bool)));
+       connect(actionMemoryWait->pc98_binds, SIGNAL(sig_set_dipsw(int, bool)),
+                this, SLOT(set_dipsw(int, bool)));
+#endif   
+
 #ifdef USE_BOOT_MODE
 # if defined(_PC98DO)
    menuBootMode = new QMenu(menuMachine);
index 950c5b1..661b26c 100644 (file)
@@ -3,11 +3,35 @@
 #define _CSP_QT_MENUCLASSES_H
 
 #include "mainwidget.h"
+#include <QCheckBox>
 // This extends class CSP_MainWindow as Ui_MainWindow.
 // You may use this as 
 QT_BEGIN_NAMESPACE
 
 
+class Object_Menu_Control_98: public Object_Menu_Control
+{
+   Q_OBJECT
+ public:
+     Object_Menu_Control_98(QObject *parent);
+     ~Object_Menu_Control_98();
+signals:
+   int sig_sound_device(int);
+   int sig_device_type(int);
+ public slots:
+   void do_set_sound_device(void);
+   void do_set_device_type(void);
+   void do_set_memory_wait(bool);
+};
+
+class Action_Control_98 : public Action_Control
+{
+   Q_OBJECT
+ public:
+   Object_Menu_Control_98 *pc98_binds;
+   Action_Control_98(QObject *parent);
+   ~Action_Control_98();
+};
 
 class Ui_MainWindow;
 //  wrote of X1 Specific menu.
@@ -16,7 +40,9 @@ class META_MainWindow : public Ui_MainWindow {
  protected:
   QActionGroup   *actionGroup_SoundDevice;
   QMenu *menu_Emu_SoundDevice;
-  class Action_Control_X1 *action_Emu_SoundDevice[3]; // 0 = PSG, 1 = FM(CZ-8BS1)x1, 2 = FMx2
+#if defined(_PC98DO)
+   Action_Control_98 *actionMemoryWait;
+#endif   
   void setupUI_Emu(void);
   void retranslateUi(void);
  public:
index 0333179..69bdce7 100644 (file)
@@ -44,7 +44,18 @@ void Object_Menu_Control_X1::do_set_display_mode(void)
 }
 #endif
 
-
+#ifdef USE_DEVICE_TYPE
+void Object_Menu_Control_X1::do_set_device_type(void)
+{
+   emit sig_device_type(getValue1());
+}
+#endif
+#ifdef USE_DRIVE_TYPE
+void Object_Menu_Control_X1::do_set_drive_type(void)
+{
+   emit sig_drive_type(getValue1());
+}
+#endif
        
 
 void META_MainWindow::setupUI_Emu(void)
@@ -75,7 +86,52 @@ void META_MainWindow::setupUI_Emu(void)
       connect(action_Emu_SoundDevice[i]->x1_binds, SIGNAL(sig_sound_device(int)),
              this, SLOT(set_sound_device(int)));
    }
-#if defined(_X1TURBOZ)  
+#ifdef USE_DEVICE_TYPE
+   menuDeviceType = new QMenu(menuMachine);
+   menuDeviceType->setObjectName(QString::fromUtf8("menu_DeviceType"));
+   
+   actionGroup_DeviceType = new QActionGroup(this);
+   actionGroup_DeviceType->setObjectName(QString::fromUtf8("actionGroup_DeviceType"));
+   actionGroup_DeviceType->setExclusive(true);
+   menuMachine->addAction(menuDeviceType->menuAction());   
+   for(i = 0; i < USE_DEVICE_TYPE; i++) {
+      actionDeviceType[i] = new Action_Control_X1(this);
+      actionDeviceType[i]->setCheckable(true);
+      actionDeviceType[i]->setVisible(true);
+      actionDeviceType[i]->x1_binds->setValue1(i);
+      actionGroup_DeviceType->addAction(actionDeviceType[i]);
+      menuDeviceType->addAction(actionDeviceType[i]);
+      if(i == config.device_type) actionDeviceType[i]->setChecked(true); // Need to write configure
+      connect(actionDeviceType[i], SIGNAL(triggered()),
+             actionDeviceType[i]->x1_binds, SLOT(do_set_device_type()));
+      connect(actionDeviceType[i]->x1_binds, SIGNAL(sig_device_type(int)),
+             this, SLOT(set_device_type(int)));
+   }
+#endif
+#ifdef USE_DRIVE_TYPE
+   menuDriveType = new QMenu(menuMachine);
+   menuDriveType->setObjectName(QString::fromUtf8("menu_DriveType"));
+   
+   actionGroup_DriveType = new QActionGroup(this);
+   actionGroup_DriveType->setObjectName(QString::fromUtf8("actionGroup_DriveType"));
+   actionGroup_DriveType->setExclusive(true);
+   menuMachine->addAction(menuDriveType->menuAction());
+   for(i = 0; i < USE_DRIVE_TYPE; i++) {
+      actionDriveType[i] = new Action_Control_X1(this);
+      actionDriveType[i]->setCheckable(true);
+      actionDriveType[i]->setVisible(true);
+      actionDriveType[i]->x1_binds->setValue1(i);
+      if(i == config.drive_type) actionDriveType[i]->setChecked(true); // Need to write configure
+      actionGroup_DriveType->addAction(actionDriveType[i]);
+      menuDriveType->addAction(actionDriveType[i]);
+      connect(actionDriveType[i], SIGNAL(triggered()),
+             actionDriveType[i]->x1_binds, SLOT(do_set_drive_type()));
+      connect(actionDriveType[i]->x1_binds, SIGNAL(sig_drive_type(int)),
+             this, SLOT(set_drive_type(int)));
+   }
+#endif
+   
+# if defined(_X1TURBOZ)
    menu_Emu_DisplayMode = new QMenu(menuMachine);
    menu_Emu_DisplayMode->setObjectName(QString::fromUtf8("menu_DisplayMode"));
    
@@ -84,10 +140,10 @@ void META_MainWindow::setupUI_Emu(void)
    actionGroup_DisplayMode->setExclusive(true);
    menuMachine->addAction(menu_Emu_DisplayMode->menuAction());   
    for(i = 0; i < 2; i++) {
-       action_Emu_DisplayMode[i] = new Action_Control_X1(this);
-        action_Emu_DisplayMode[i]->setCheckable(true);
-        action_Emu_DisplayMode[i]->x1_binds->setValue1(i);
-        if(i == config.monitor_type) action_Emu_DisplayMode[i]->setChecked(true); // Need to write configure
+      action_Emu_DisplayMode[i] = new Action_Control_X1(this);
+      action_Emu_DisplayMode[i]->setCheckable(true);
+      action_Emu_DisplayMode[i]->x1_binds->setValue1(i);
+      if(i == config.monitor_type) action_Emu_DisplayMode[i]->setChecked(true); // Need to write configure
    }
    
    action_Emu_DisplayMode[0]->setObjectName(QString::fromUtf8("action_Emu_DisplayMode_High"));
@@ -100,8 +156,8 @@ void META_MainWindow::setupUI_Emu(void)
       connect(action_Emu_DisplayMode[i]->x1_binds, SIGNAL(sig_display_mode(int)),
              this, SLOT(set_monitor_type(int)));
    }
+#endif
 
-#endif   
 }
 
 void META_MainWindow::retranslateUi(void)
@@ -134,6 +190,22 @@ void META_MainWindow::retranslateUi(void)
   action_Emu_DisplayMode[0]->setText(QApplication::translate("MainWindow", "High Resolution (400line)", 0, QApplication::UnicodeUTF8));
   action_Emu_DisplayMode[1]->setText(QApplication::translate("MainWindow", "Standarsd Resolution (200line)", 0, QApplication::UnicodeUTF8));
 #endif
+#if defined(USE_DEVICE_TYPE)
+  menuDeviceType->setTitle(QApplication::translate("MainWindow", "Keyboard Mode", 0, QApplication::UnicodeUTF8));
+  actionDeviceType[0]->setText(QApplication::translate("MainWindow", "Mode A", 0, QApplication::UnicodeUTF8));
+  actionDeviceType[1]->setText(QApplication::translate("MainWindow", "Mode B", 0, QApplication::UnicodeUTF8));
+#endif
+#if defined(USE_DRIVE_TYPE)
+  menuDriveType->setTitle(QApplication::translate("MainWindow", "Floppy Type", 0, QApplication::UnicodeUTF8));
+  actionDriveType[0]->setText(QApplication::translate("MainWindow", "2D", 0, QApplication::UnicodeUTF8));
+  actionDriveType[1]->setText(QApplication::translate("MainWindow", "2HD", 0, QApplication::UnicodeUTF8));
+#endif
+#ifdef USE_DEBUGGER
+       actionDebugger_1->setText(QApplication::translate("MainWindow", "Main CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_2->setText(QApplication::translate("MainWindow", "Sub CPU", 0, QApplication::UnicodeUTF8));
+       actionDebugger_3->setText(QApplication::translate("MainWindow", "Keyboard CPU", 0, QApplication::UnicodeUTF8));
+#endif 
+   
 } // retranslateUi
 
 
index 116de5d..6dda27e 100644 (file)
@@ -19,11 +19,24 @@ signals:
 #if defined(_X1TURBOZ)
    void sig_display_mode(int);
 #endif
+#if defined(USE_DEVICE_TYPE)
+   void sig_device_type(int);
+#endif
+#if defined(USE_DRIVE_TYPE)
+   void sig_drive_type(int);
+#endif
  public slots:
    void do_set_sound_device(void);
 #if defined(_X1TURBOZ)
    void do_set_display_mode(void);
 #endif
+#ifdef USE_DEVICE_TYPE
+   void do_set_device_type(void);
+#endif
+#ifdef USE_DRIVE_TYPE
+   void do_set_drive_type(void);
+#endif
+
 };
 
 class Action_Control_X1 : public Action_Control
@@ -49,6 +62,18 @@ class META_MainWindow : public Ui_MainWindow {
   class Action_Control_X1 *action_Emu_DisplayMode[2]; // 0=Hi / 1 = Lo
   QMenu *menu_Emu_DisplayMode;
 #endif
+#ifdef USE_DEVICE_TYPE
+       QActionGroup *actionGroup_DeviceType;
+       QMenu *menuDeviceType;
+       class Action_Control_X1 *actionDeviceType[USE_DEVICE_TYPE];
+       void ConfigDeviceType(int num);
+#endif   
+#ifdef USE_DRIVE_TYPE
+       QActionGroup *actionGroup_DriveType;
+       QMenu *menuDriveType;
+       class Action_Control_X1 *actionDriveType[USE_DRIVE_TYPE];
+       void ConfigDriveType(int num);
+#endif   
   void setupUI_Emu(void);
   void retranslateUi(void);
  public: