OSDN Git Service

[General][Qt] Add PC8801MA.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Wed, 14 Jan 2015 19:04:08 +0000 (04:04 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Wed, 14 Jan 2015 19:04:08 +0000 (04:04 +0900)
13 files changed:
source/build-cmake/pc8801ma/CMakeLists.txt
source/src/qt/common/emuevents_control.cpp
source/src/qt/gui/mainwidget.h
source/src/qt/gui/menu_control.cpp
source/src/qt/gui/menu_main.cpp
source/src/qt/pc8801ma/CMakeLists.txt [new file with mode: 0644]
source/src/qt/pc8801ma/MainWindow.cpp [new file with mode: 0644]
source/src/qt/pc8801ma/menuclasses.h [new file with mode: 0644]
source/src/qt/x1turboz/MainWindow.cpp
source/src/qt/x1turboz/menuclasses.h
source/src/vm/datarec.h
source/src/vm/pc8801/pc88.h
source/src/vm/upd765a.h

index 1f6a994..4f94d71 100644 (file)
@@ -7,7 +7,7 @@ cmake_minimum_required (VERSION 2.6)
 cmake_policy(SET CMP0011 NEW)
 
 message("")
-message("** Start of configure CommonSourceProject,X1, Agar **")
+message("** Start of configure CommonSourceProject,PC8801MA, Qt **")
 message("")
 
 set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake")
@@ -21,11 +21,10 @@ set(LOCAL_LIBS         vm_pc88
                   vm_vm
                   common_common
                   vm_fmgen
-                  common_scaler-generic
-                  agar_ui
-                  agar_pc88ma
-                  agar_menu
-                   )
+#                 common_scaler-generic
+                   qt_pc8801
+                  qt_gui
+                  )
 
 set(VMFILES
                   z80.cpp
@@ -82,16 +81,14 @@ if(WITH_PCG8100)
   set(VMFILES i8253.cpp ${VMFILES})
 endif()
 
-include(config_commonsource)
-
 
 #include_directories(${CMAKE_CURRENT_SOURCE_DIR})
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm)
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/pc8801)
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/fmgen)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/agar/pc8801ma)
-
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/qt/pc8801ma)
 
+include(config_commonsource)
 
 if(USE_SSE2)
 #  include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/fm7/vram/sse2)
@@ -105,27 +102,8 @@ endif()
 
 add_subdirectory(../../src/vm/pc8801 vm/pc8801)
 add_subdirectory(../../src/vm/fmgen vm/fmgen)
-add_subdirectory(../../src/agar/pc8801ma agar/pc8801ma)
-
-set(BUNDLE_LIBS 
-                          ${AGAR_LIBS}
-                          ${OPENGL_LIBRARY}
-                          ${OPENCL_LIBRARY}
-                          ${GETTEXT_LIBRARY}
-                          ${OPENMP_LIBRARY}
-                          ${SDL_LIBRARY}
-                          ${THREADS_LIBRARY}
-                          fontconfig
-                          freetype
-                          ${AGAR_DEPLIBS}
-)
-
-                           
-add_subdirectory(../../src/agar/common agar/common)
-
+add_subdirectory(../../src/qt/pc8801ma qt/pc8801ma)
 
 
-if(LIB_RT_HAS_NANOSLEEP)
-  add_target_library(emux1 rt)
-endif(LIB_RT_HAS_NANOSLEEP)
-
+                           
+add_subdirectory(../../src/qt/common qt/common)
index 0274fc7..79b66b4 100644 (file)
@@ -14,8 +14,10 @@ void Ui_MainWindow::OnReset(void)
 }
   void Ui_MainWindow::OnSpecialReset(void)
   {
-    printf("Special Reset\n");
+#ifdef USE_SPECIAL_RESET
+     printf("Special Reset\n");
     if(emu) emu->special_reset();
+#endif
   }
 #ifdef USE_STATE
   void Ui_MainWindow::OnLoadState(void) // Final entry of load state.
@@ -29,23 +31,9 @@ void Ui_MainWindow::OnReset(void)
   }
 #endif
 #ifdef USE_BOOT_MODE
-  void Ui_MainWindow::OnBootMode(int mode)
-  {
-    config.boot_mode = mode;
-    if(emu) {
-      emu->update_config();
-    }
-  }
 #endif
 
 #ifdef USE_CPU_TYPE
- void Ui_MainWindow::OnCpuType(int mode)
- {
-   config.cpu_type = mode;
-   if(emu) {
-     emu->update_config();
-   }
- }
 #endif
 
 void Ui_MainWindow::OnCpuPower(int mode)
index 29a14b2..d9db165 100644 (file)
@@ -86,15 +86,26 @@ class Ui_MainWindow : public QMainWindow
   class Action_Control *actionReset;
   class Action_Control *actionSpecial_Reset;
   class Action_Control *actionExit_Emulator;
-//#ifdef USE_CPU_TYPE
+#ifdef USE_CPU_TYPE
+   // Pls.Override
+   QActionGroup *actionGroup_CpuType;
+   QMenu *menuCpuType;
+   class Action_Control *actionCpuType[8];
+   void ConfigCPUTypes(int num);
+#endif
   QActionGroup *actionGroup_CpuSpeed;
   class Action_Control *actionSpeed_x1;
   class Action_Control *actionSpeed_x2;
   class Action_Control *actionSpeed_x4;
   class Action_Control *actionSpeed_x8;
   class Action_Control *actionSpeed_x16;
-//#endif
+
 #ifdef USE_BOOT_MODE
+   // Pls.Override
+  QActionGroup *actionGroup_BootMode;
+  QMenu *menuBootMode;
+  class Action_Control *actionBootMode[8];
+  void ConfigCPUBootMode(int num);
 #endif    
     class Action_Control *actionPaste_from_Clipboard;
     class Action_Control *actionStop_Pasting;
@@ -280,7 +291,7 @@ public:
   // Initializer : using from InitContext.
    void createContextMenu(void);
    void setupUi(void);
-   void retranslateUi(void);
+   virtual void retranslateUi(void);
   // EmuThread
    void StopEmuThread(void) {
     bRunEmuThread = false;
@@ -305,12 +316,6 @@ public:
    void OnMainWindowClosed(void);
   // Basic Action Definition
    void OnCpuPower(int mode);
-#ifdef USE_BOOT_MODE
-   void OnBootMode(int mode);
-#endif
-#ifdef USE_CPU_TYPE
-   void OnCpuType(int mode);
-#endif
 #ifdef USE_DEBUGGER
     void OnOpenDebugger(int no);
 #endif   
@@ -326,6 +331,12 @@ public:
    void _open_cmt(bool mode,const QString path);
    void eject_cmt(void);
    void redraw_status_bar(void);
+#ifdef USE_BOOT_MODE
+   void do_change_boot_mode(int mode);
+#endif
+#ifdef USE_CPU_TYPE
+   void do_change_cpu_type(int mode);
+#endif
 #ifdef USE_TAPE
    void open_cmt_dialog(bool play);
    void do_write_protect_cmt(bool flag);
@@ -353,14 +364,14 @@ public:
    void OnSaveState(void);
 #endif
 #ifdef USE_BOOT_MODE
-   void set_boot_mode(int mode) {
-       OnBootMode(mode);
-  }
+//   void set_boot_mode(int mode) {
+//     OnBootMode(mode);
+//  }
 #endif
 #ifdef USE_CPU_TYPE
-   void set_cpu_type(int mode) {
-       OnCpuType(mode);
-  }
+//   void set_cpu_type(int mode) {
+//     OnCpuType(mode);
+//  }
 #endif
    void set_cpu_power(int pw) {
        OnCpuPower(pw);
index 348403d..b4462d9 100644 (file)
@@ -4,6 +4,7 @@
  *  History: Jan 10, 2015 : Initial
  */
 
+#include <QString>
 #include "menuclasses.h"
 
 QT_BEGIN_NAMESPACE
@@ -73,17 +74,96 @@ void Ui_MainWindow::ConfigCpuSpeed(void)
   actionGroup_CpuSpeed->addAction(actionSpeed_x16);
    
 }
+#ifdef USE_BOOT_MODE
+void Ui_MainWindow::do_change_boot_mode(int mode)
+{
+   if((mode < 0) || (mode >= 8)) return;
+   
+   if(emu) {
+      emu->LockVM();
+      config.boot_mode = mode;
+      emu->update_config();
+      emu->UnlockVM();
+   }
+   
+}
+void Ui_MainWindow::ConfigCPUBootMode(int num)
+{
+   int i;
+   QString tmps;
+   if(num <= 0) return;
+   if(num >= 8) num = 7;
+   
+   
+   actionGroup_BootMode = new QActionGroup(this);
+   actionGroup_BootMode->setExclusive(true);
+   for(i = 0; i < num; i++) {
+      actionBootMode[i] = new Action_Control(this);
+      tmps = tmps.setNum(i);
+      tmps = QString::fromUtf8("actionBootMode_") + tmps;
+      actionBootMode[i]->setObjectName(tmps);
+      actionBootMode[i]->setCheckable(true);
+      if(i == config.cpu_type) actionBootMode[i]->setChecked(true);
+      actionBootMode[i]->binds->setValue1(i);
+      menuBootMode->addAction(actionBootMode[i]);
+      actionGroup_BootMode->addAction(actionBootMode[i]);
+      connect(actionBootMode[i], SIGNAL(triggered()), actionBootMode[i]->binds, SLOT(set_boot_mode())); // OK?  
+      connect(actionBootMode[i]->binds, SIGNAL(on_boot_mode(int)), this, SLOT(do_change_boot_mode(int))); // OK?  
+   }
+}
+
+#endif
+
+#ifdef USE_CPU_TYPE
+void Ui_MainWindow::do_change_cpu_type(int mode)
+{
+   if((mode < 0) || (mode >= 8)) return;
+   if(emu) {
+      emu->LockVM();
+      config.cpu_type = mode;
+      emu->update_config();
+      emu->UnlockVM();
+   }
+}
+
+void Ui_MainWindow::ConfigCPUTypes(int num)
+{
+   int i;
+   QString tmps;
+   if(num <= 0) return;
+   if(num >= 8) num = 7;
+   
+   actionGroup_CpuType = new QActionGroup(this);
+   actionGroup_CpuType->setExclusive(true);
+   for(i = 0; i < num; i++) {
+      actionCpuType[i] = new Action_Control(this);
+      tmps = tmps.setNum(i);
+      tmps = QString::fromUtf8("actionCpuType_") + tmps;
+      actionCpuType[i]->setObjectName(tmps);
+      actionCpuType[i]->setCheckable(true);
+      if(i == config.cpu_type) actionCpuType[i]->setChecked(true);
+      actionCpuType[i]->binds->setValue1(i);
+      menuCpuType->addAction(actionCpuType[i]);
+      actionGroup_CpuType->addAction(actionCpuType[i]);
+      connect(actionCpuType[i], SIGNAL(triggered()), actionCpuType[i]->binds, SLOT(set_cpu_type())); // OK?  
+      connect(actionCpuType[i]->binds, SIGNAL(on_cpu_type(int)), this, SLOT(do_change_cpu_type(int))); // OK?  
+   }
+}
+#endif
+
+
 
 void Ui_MainWindow::ConfigControlMenu(void)
 {
   actionReset = new Action_Control(this);
   actionReset->setObjectName(QString::fromUtf8("actionReset"));
   connect(actionReset, SIGNAL(triggered()), this, SLOT(OnReset())); // OK?  
-
+#ifdef USE_SPECIAL_RESET
   actionSpecial_Reset = new Action_Control(this);
   actionSpecial_Reset->setObjectName(QString::fromUtf8("actionSpecial_Reset"));
   connect(actionSpecial_Reset, SIGNAL(triggered()), this, SLOT(OnSpecialReset())); // OK?  
-
+#endif
+   
   actionExit_Emulator = new Action_Control(this);
   actionExit_Emulator->setObjectName(QString::fromUtf8("actionExit_Emulator"));
   connect(actionExit_Emulator, SIGNAL(triggered()), this, SLOT(on_actionExit_triggered())); // OnGuiExit()?  
@@ -138,8 +218,18 @@ void Ui_MainWindow::connectActions_ControlMenu(void)
 {
        
         menuControl->addAction(actionReset);
+#ifdef USE_SPECIAL_RESET
         menuControl->addAction(actionSpecial_Reset);
+#endif   
         menuControl->addSeparator();
+#ifdef USE_CPU_TYPE
+//        menuControl->addAction(menuCpuType->menuAction());
+//        menuControl->addSeparator();
+#endif   
+#ifdef USE_BOOT_MODE
+        menuBootMode->addAction(menuBootMode->menuAction());
+        menuBootMode->addSeparator();
+#endif   
         menuControl->addAction(menuCpu_Speed->menuAction());
         menuControl->addSeparator();
         menuControl->addAction(menuCopy_Paste->menuAction());
@@ -168,7 +258,9 @@ void Ui_MainWindow::connectActions_ControlMenu(void)
 void Ui_MainWindow::createContextMenu(void)
 {
         addAction(actionReset);
+#ifdef USE_SPECIAL_RESET
         addAction(actionSpecial_Reset);
+#endif
         addAction(menuCpu_Speed->menuAction());
         addAction(menuCopy_Paste->menuAction());
         addAction(menuState->menuAction());
@@ -180,9 +272,10 @@ void Ui_MainWindow::createContextMenu(void)
 void Ui_MainWindow::retranslateControlMenu(const char *SpecialResetTitle,  bool WithSpecialReset)
 {
   actionReset->setText(QApplication::translate("MainWindow", "Reset", 0, QApplication::UnicodeUTF8));
+#ifdef USE_SPECIAL_RESET
   if(WithSpecialReset)
     actionSpecial_Reset->setText(QApplication::translate("MainWindow", SpecialResetTitle, 0, QApplication::UnicodeUTF8));
-
+#endif
   actionExit_Emulator->setText(QApplication::translate("MainWindow", "Exit Emulator", 0, QApplication::UnicodeUTF8));
 
   actionSpeed_x1->setText(QApplication::translate("MainWindow", "Speed x1", 0, QApplication::UnicodeUTF8));
index 55bbc1b..a14d596 100644 (file)
@@ -105,6 +105,14 @@ void Ui_MainWindow::setupUi(void)
         menubar->setGeometry(QRect(0, 0, 1288, 27));
         menuControl = new QMenu(menubar);
         menuControl->setObjectName(QString::fromUtf8("menuControl"));
+#ifdef USE_BOOT_MODE
+        menuBootMode = new QMenu(menuControl);
+        menuBootMode->setObjectName(QString::fromUtf8("menuControl_BootMode"));
+#endif
+#ifdef USE_CPU_TYPE
+//        menuCpuType = new QMenu(menuControl);
+//        menuCpuType->setObjectName(QString::fromUtf8("menuControl_CpuType"));
+#endif
         menuState = new QMenu(menuControl);
         menuState->setObjectName(QString::fromUtf8("menuState"));
         menuCopy_Paste = new QMenu(menuControl);
@@ -113,16 +121,39 @@ void Ui_MainWindow::setupUi(void)
         menuCpu_Speed->setObjectName(QString::fromUtf8("menuCpu_Speed"));
         menuDebugger = new QMenu(menuControl);
         menuDebugger->setObjectName(QString::fromUtf8("menuDebugger"));
-       
+#ifdef USE_FD1 
        CreateFloppyMenu(0, 1);
+#endif
+#ifdef USE_FD2 
        CreateFloppyMenu(1, 2);
+#endif
+#ifdef USE_FD3 
+       CreateFloppyMenu(2, 3);
+#endif
+#ifdef USE_FD4 
+       CreateFloppyMenu(3, 4);
+#endif
+#ifdef USE_FD5 
+       CreateFloppyMenu(4, 5);
+#endif
+#ifdef USE_FD6 
+       CreateFloppyMenu(5, 6);
+#endif
+#ifdef USE_FD7 
+       CreateFloppyMenu(6, 7);
+#endif
+#ifdef USE_FD8 
+       CreateFloppyMenu(7, 8);
+#endif
+
 
        //        menuQD0 = new QMenu(menubar);
         //menuQD0->setObjectName(QString::fromUtf8("menuQD0"));
         //menuWrite_Protection_QD0 = new QMenu(menuQD0);
         //menuWrite_Protection_QD0->setObjectName(QString::fromUtf8("menuWrite_Protection_QD0"));
-       CreateCMTMenu();
-       
+#ifdef USE_TAPE
+        CreateCMTMenu();
+#endif
         menuScreen = new QMenu(menubar);
         menuScreen->setObjectName(QString::fromUtf8("menuScreen"));
         menuStretch_Mode = new QMenu(menuScreen);
@@ -209,7 +240,7 @@ void Ui_MainWindow::setupUi(void)
        menuHELP->addAction(actionAbout);
         menuHELP->addSeparator();
 
-        retranslateUi();
+//        retranslateUi();
         QObject::connect(actionCRT_Filter, SIGNAL(toggled(bool)), actionCRT_Filter, SLOT(setChecked(bool)));
         QObject::connect(actionExit_Emulator, SIGNAL(destroyed()), MainWindow, SLOT(close()));
 
@@ -220,6 +251,9 @@ void Ui_MainWindow::setupUi(void)
         QMetaObject::connectSlotsByName(MainWindow);
 } // setupUi
 
+
+// You can Override this function: Re-define on foo/MainWindow.cpp.
+// This code is example: by X1(TurboZ).
 void Ui_MainWindow::retranslateUi(void)
 {
   retranslateControlMenu("NMI Reset",  true);
diff --git a/source/src/qt/pc8801ma/CMakeLists.txt b/source/src/qt/pc8801ma/CMakeLists.txt
new file mode 100644 (file)
index 0000000..73fc95f
--- /dev/null
@@ -0,0 +1,13 @@
+message("* qt/pc8801ma")
+
+set(s_qt_pc8801ma_headers
+         menuclasses.h
+)
+QT4_WRAP_CPP(s_qt_pc8801ma_headers_MOC ${s_qt_pc8801ma_headers})
+
+add_library(qt_pc8801
+         MainWindow.cpp
+         ${s_qt_pc8801ma_headers_MOC}
+)
+
+
diff --git a/source/src/qt/pc8801ma/MainWindow.cpp b/source/src/qt/pc8801ma/MainWindow.cpp
new file mode 100644 (file)
index 0000000..2558e49
--- /dev/null
@@ -0,0 +1,111 @@
+/*
+ * Common Source code Project:
+ * Ui->Qt->MainWindow for X1TurboZ .
+ * (C) 2015 K.Ohta <whatisthis.sowhat _at_ gmail.com>
+ *   License : GPLv2
+ *   History :
+ * Jan 14, 2015 : Initial, many of constructors were moved to qt/gui/menu_main.cpp.
+ */
+
+#include <QtCore/QVariant>
+#include <QtGui>
+#include "menuclasses.h"
+#include "emu.h"
+#include "qt_main.h"
+
+//QT_BEGIN_NAMESPACE
+
+
+void META_MainWindow::do_set_sound_device(int num)
+{
+   if((num < 0) || (num >= 3)) return;
+#ifdef USE_SOUND_DEVICE_TYPE
+   if(emu) {
+      config.sound_device_type = num;
+      emu->LockVM();
+      emu->update_config();
+      emu->UnlockVM();
+   }
+#endif
+}
+
+
+
+
+void META_MainWindow::retranslateUi(void)
+{
+  const char title="";
+  retranslateControlMenu(title, false);
+  retranslateFloppyMenu(0, 1);
+  retranslateFloppyMenu(1, 2);
+  retranslateCMTMenu();
+  retranslateSoundMenu();
+   
+  this->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
+  
+  actionZoom->setText(QApplication::translate("MainWindow", "Zoom Screen", 0, QApplication::UnicodeUTF8));
+  actionDisplay_Mode->setText(QApplication::translate("MainWindow", "Display Mode", 0, QApplication::UnicodeUTF8));
+  actionScanLine->setText(QApplication::translate("MainWindow", "Set ScanLine", 0, QApplication::UnicodeUTF8));
+  actionCRT_Filter->setText(QApplication::translate("MainWindow", "CRT Filter", 0, QApplication::UnicodeUTF8));
+  actionDot_by_Dot->setText(QApplication::translate("MainWindow", "Dot by Dot", 0, QApplication::UnicodeUTF8));
+  actionKeep_Aspect->setText(QApplication::translate("MainWindow", "Keep Aspect", 0, QApplication::UnicodeUTF8));
+  actionFill_Display->setText(QApplication::translate("MainWindow", "Fill Display", 0, QApplication::UnicodeUTF8));
+  
+  actionCapture_Screen->setText(QApplication::translate("MainWindow", "Capture Screen", 0, QApplication::UnicodeUTF8));
+  
+  actionAbout->setText(QApplication::translate("MainWindow", "About...", 0, QApplication::UnicodeUTF8));
+  
+
+   //  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));
+  // 
+  menuScreen->setTitle(QApplication::translate("MainWindow", "Screen", 0, QApplication::UnicodeUTF8));
+  menuStretch_Mode->setTitle(QApplication::translate("MainWindow", "Stretch Mode", 0, QApplication::UnicodeUTF8));
+  // PC88 Specified
+  menuBootMode->setTitle("CPU Frequency");
+  actionBootMode[0]->setText(QString::fromUtf8("8MHz"));
+  actionBootMode[1]->setText(QString::fromUtf8("4MHz"));
+
+  menuCpuType->setTitle("Machine Mode");
+  actionCpuType[0]->setText(QString::fromUtf8("N88-V1(S) Mode"));
+  actionCpuType[1]->setText(QString::fromUtf8("N88-V1(H) Mode"));      
+  actionCpuType[2]->setText(QString::fromUtf8("N88-V2 Mode"));
+  actionCpuType[3]->setText(QString::fromUtf8("N Mode (N80 compatible)"));
+ // 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));
+  
+  menuHELP->setTitle(QApplication::translate("MainWindow", "HELP", 0, QApplication::UnicodeUTF8));
+   // Set Labels
+  
+} // retranslateUi
+
+void META_MainWindow::setupUI_Emu(void)
+{
+   menuCpuType = new QMenu(menuMachine);
+   menuCpuType->setObjectName(QString::fromUtf8("menuControl_CpuType"));
+   menuMachine->addAction(menuCpuType->menuAction());
+   ConfigCPUTypes(4);
+}
+
+
+META_MainWindow::META_MainWindow(QWidget *parent) : Ui_MainWindow(parent)
+{
+   ConfigCPUBootMode(2);
+   setupUI_Emu();
+   retranslateUi();
+}
+
+
+META_MainWindow::~META_MainWindow()
+{
+}
+
+//QT_END_NAMESPACE
+
+
+
diff --git a/source/src/qt/pc8801ma/menuclasses.h b/source/src/qt/pc8801ma/menuclasses.h
new file mode 100644 (file)
index 0000000..950c5b1
--- /dev/null
@@ -0,0 +1,31 @@
+
+#ifndef _CSP_QT_MENUCLASSES_H
+#define _CSP_QT_MENUCLASSES_H
+
+#include "mainwidget.h"
+// This extends class CSP_MainWindow as Ui_MainWindow.
+// You may use this as 
+QT_BEGIN_NAMESPACE
+
+
+
+class Ui_MainWindow;
+//  wrote of X1 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
+  void setupUI_Emu(void);
+  void retranslateUi(void);
+ public:
+  META_MainWindow(QWidget *parent = 0);
+  ~META_MainWindow();
+ public slots:
+    void do_set_sound_device(int);
+};
+
+QT_END_NAMESPACE
+
+#endif // END
index 5259b1c..623b233 100644 (file)
@@ -56,13 +56,13 @@ void META_MainWindow::do_set_sound_device(int num)
 void META_MainWindow::setupUI_Emu(void)
 {
    int i;
-   menu_Emu_SoundDevice = new QMenu(menuEmulator);
+   menu_Emu_SoundDevice = new QMenu(menuMachine);
    menu_Emu_SoundDevice->setObjectName(QString::fromUtf8("menu_SoundDevice"));
    
    actionGroup_SoundDevice = new QActionGroup(this);
    actionGroup_SoundDevice->setObjectName(QString::fromUtf8("actionGroup_SoundDevice"));
    actionGroup_SoundDevice->setExclusive(true);
-   menuEmulator->addAction(menu_Emu_SoundDevice->menuAction());   
+   menuMachine->addAction(menu_Emu_SoundDevice->menuAction());   
    for(i = 0; i < 3; i++) {
        action_Emu_SoundDevice[i] = new Action_Control_X1(this);
         action_Emu_SoundDevice[i]->setCheckable(true);
@@ -81,17 +81,64 @@ void META_MainWindow::setupUI_Emu(void)
       connect(action_Emu_SoundDevice[i]->x1_binds, SIGNAL(sig_sound_device(int)),
              this, SLOT(do_set_sound_device(int)));
    }
-   // Set Labels
-   menu_Emu_SoundDevice->setTitle(QApplication::translate("MainWindow", "Sound Device", 0, QApplication::UnicodeUTF8));
-   action_Emu_SoundDevice[0]->setText(QApplication::translate("MainWindow", "PSG", 0, QApplication::UnicodeUTF8));
-   action_Emu_SoundDevice[1]->setText(QApplication::translate("MainWindow", "CZ-8BS1 Single", 0, QApplication::UnicodeUTF8));
-   action_Emu_SoundDevice[2]->setText(QApplication::translate("MainWindow", "CZ-8BS1 Double", 0, QApplication::UnicodeUTF8));
 }
-                                           
+
+void META_MainWindow::retranslateUi(void)
+{
+  retranslateControlMenu("NMI Reset",  true);
+  retranslateFloppyMenu(0, 0);
+  retranslateFloppyMenu(1, 1);
+  retranslateCMTMenu();
+  retranslateSoundMenu();
+   
+  this->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
+  
+  actionZoom->setText(QApplication::translate("MainWindow", "Zoom Screen", 0, QApplication::UnicodeUTF8));
+  actionDisplay_Mode->setText(QApplication::translate("MainWindow", "Display Mode", 0, QApplication::UnicodeUTF8));
+  actionScanLine->setText(QApplication::translate("MainWindow", "Set ScanLine", 0, QApplication::UnicodeUTF8));
+  actionCRT_Filter->setText(QApplication::translate("MainWindow", "CRT Filter", 0, QApplication::UnicodeUTF8));
+  actionDot_by_Dot->setText(QApplication::translate("MainWindow", "Dot by Dot", 0, QApplication::UnicodeUTF8));
+  actionKeep_Aspect->setText(QApplication::translate("MainWindow", "Keep Aspect", 0, QApplication::UnicodeUTF8));
+  actionFill_Display->setText(QApplication::translate("MainWindow", "Fill Display", 0, QApplication::UnicodeUTF8));
+  
+  actionCapture_Screen->setText(QApplication::translate("MainWindow", "Capture Screen", 0, QApplication::UnicodeUTF8));
+  
+  actionAbout->setText(QApplication::translate("MainWindow", "About...", 0, QApplication::UnicodeUTF8));
+  
+
+  //   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));
+
+   
+       //        menuQD0->setTitle(QApplication::translate("MainWindow", "QD", 0, QApplication::UnicodeUTF8));
+        //menuWrite_Protection_QD0->setTitle(QApplication::translate("MainWindow", "Write Protection", 0, QApplication::UnicodeUTF8));
+   
+   
+        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));
+//        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));
+  
+  menuHELP->setTitle(QApplication::translate("MainWindow", "HELP", 0, QApplication::UnicodeUTF8));
+   // Set Labels
+  menu_Emu_SoundDevice->setTitle(QApplication::translate("MainWindow", "Sound Device", 0, QApplication::UnicodeUTF8));
+  action_Emu_SoundDevice[0]->setText(QApplication::translate("MainWindow", "PSG", 0, QApplication::UnicodeUTF8));
+  action_Emu_SoundDevice[1]->setText(QApplication::translate("MainWindow", "CZ-8BS1 Single", 0, QApplication::UnicodeUTF8));
+  action_Emu_SoundDevice[2]->setText(QApplication::translate("MainWindow", "CZ-8BS1 Double", 0, QApplication::UnicodeUTF8));
+
+} // retranslateUi
+
+
 
 META_MainWindow::META_MainWindow(QWidget *parent) : Ui_MainWindow(parent)
 {
    setupUI_Emu();
+   retranslateUi();
 }
 
 
index c6cd941..fc84753 100644 (file)
@@ -39,6 +39,7 @@ class META_MainWindow : public Ui_MainWindow {
   QMenu *menu_Emu_SoundDevice;
   class Action_Control_X1 *action_Emu_SoundDevice[3]; // 0 = PSG, 1 = FM(CZ-8BS1)x1, 2 = FMx2
   void setupUI_Emu(void);
+   void retranslateUi(void);
  public:
   META_MainWindow(QWidget *parent = 0);
   ~META_MainWindow();
index 250e9f2..6b816fa 100644 (file)
 #include "../emu.h"\r
 #include "../config.h"\r
 #include "device.h"\r
+#ifdef _USE_QT\r
 #ifndef MAX_PATH\r
-#define MAX_PATH _MAX_PATH\r
+#define MAX_PATH PATH_MAX\r
 #endif\r
+#endif\r
+\r
 #define SIG_DATAREC_OUT                0\r
 #define SIG_DATAREC_REMOTE     1\r
 #define SIG_DATAREC_TRIG       2\r
index c7d4ef1..00bdcba 100644 (file)
@@ -30,7 +30,16 @@ static inline int max(int a, int b) {
    if(a < b) return b;\r
    return a;\r
 }\r
-\r
+#elif defined(_USE_QT)\r
+static inline int min(int a, int b) {\r
+   if(a > b) return b;\r
+   return a;\r
+}\r
+static inline int max(int a, int b) {\r
+   if(a < b) return b;\r
+   return a;\r
+}\r
+#define MAX_PATH PATH_MAX\r
 #endif\r
 \r
 \r
index e522441..0e42194 100644 (file)
@@ -118,7 +118,7 @@ private:
        uint32 write_id();\r
        void cmd_specify();\r
        void cmd_invalid();\r
-#if defined(_USE_AGAR) || defined(_USE_SDL)\r
+#if defined(_USE_AGAR) || defined(_USE_SDL) || defined(_USE_QT)\r
         uint8 __min(uint8 x, uint8 y) {\r
           if(x > y) return y;\r
           return x;\r