OSDN Git Service

[VM][Qt] Add NEC N5200.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Tue, 29 Sep 2015 10:06:43 +0000 (19:06 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Tue, 29 Sep 2015 10:06:43 +0000 (19:06 +0900)
source/build-cmake/n5200/CMakeLists.txt [new file with mode: 0644]
source/src/qt/common/qrc/n5200.qrc [new file with mode: 0644]
source/src/qt/n5200/CMakeLists.txt [new file with mode: 0644]
source/src/qt/n5200/MainWindow.cpp [new file with mode: 0644]
source/src/qt/n5200/menuclasses.h [new file with mode: 0644]
source/src/vm/n5200/CMakeLists.txt [new file with mode: 0644]

diff --git a/source/build-cmake/n5200/CMakeLists.txt b/source/build-cmake/n5200/CMakeLists.txt
new file mode 100644 (file)
index 0000000..0eb47da
--- /dev/null
@@ -0,0 +1,69 @@
+# Build Common Sourcecode Project, Qt.
+# (C) 2014 K.Ohta <whatisthis.sowhat@gmail.com>
+# This is part of XM7/SDL, but license is apache 2.2,
+# this part was written only me.
+
+cmake_minimum_required (VERSION 2.8)
+cmake_policy(SET CMP0011 NEW)
+
+message("")
+message("** Start of configure CommonSourceProject,NEC N5200, Qt **")
+message("")
+
+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake")
+
+
+project (emun5200)
+
+set(EXEC_TARGET emun5200)
+
+set(LOCAL_LIBS            vm_n5200
+                  vm_vm
+                  common_common
+                  qt_n5200
+                  qt_gui
+                   )
+
+set(VMFILES_BASE
+                   i386.cpp
+                  
+                  beep.cpp
+                  i8237.cpp
+                  i8251.cpp
+                  i8253.cpp
+                  i8255.cpp
+                  i8259.cpp
+                  
+                  upd1990a.cpp
+                  upd7220.cpp
+                  upd765a.cpp
+                  
+                  io.cpp
+                  disk.cpp
+                  event.cpp
+)
+
+
+set(USE_OPENMP ON CACHE BOOL "Build using OpenMP")
+set(USE_OPENGL ON CACHE BOOL "Build using OpenGL")
+
+include(detect_target_cpu)
+#include(windows-mingw-cross)
+# set entry
+set(CMAKE_SYSTEM_PROCESSOR ${ARCHITECTURE} CACHE STRING "Set processor to build.")
+
+set(VMFILES ${VMFILES_BASE})
+add_definitions(-D_N5200)
+set(RESOURCE ${CMAKE_SOURCE_DIR}/../../src/qt/common/qrc/n5200.qrc)
+
+#include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/n5200)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/qt/n5200)
+
+include(config_commonsource)
+
+add_subdirectory(../../src/vm/n5200 vm/n5200)
+add_subdirectory(../../src/qt/n5200 qt/n5200)
+     
+add_subdirectory(../../src/qt/common qt/common)
diff --git a/source/src/qt/common/qrc/n5200.qrc b/source/src/qt/common/qrc/n5200.qrc
new file mode 100644 (file)
index 0000000..7fb1fc1
--- /dev/null
@@ -0,0 +1,5 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+    <file alias="default.ico">../../../res/n5200.ico</file>
+</qresource>
+</RCC>
\ No newline at end of file
diff --git a/source/src/qt/n5200/CMakeLists.txt b/source/src/qt/n5200/CMakeLists.txt
new file mode 100644 (file)
index 0000000..0e43736
--- /dev/null
@@ -0,0 +1,17 @@
+message("* qt/n5200")
+
+set(s_qt_n5200_headers
+         menuclasses.h
+)
+
+if(USE_QT_5)
+  QT5_WRAP_CPP(s_qt_n5200_headers_MOC ${s_qt_n5200_headers})
+else()
+  QT4_WRAP_CPP(s_qt_n5200_headers_MOC ${s_qt_n5200_headers})
+endif()
+add_library(qt_n5200
+         MainWindow.cpp
+         ${s_qt_n5200_headers_MOC}
+)
+
+
diff --git a/source/src/qt/n5200/MainWindow.cpp b/source/src/qt/n5200/MainWindow.cpp
new file mode 100644 (file)
index 0000000..288e151
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * Common Source code Project:
+ * Ui->Qt->MainWindow for N5200 .
+ * (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 <QVariant>
+#include <QtGui>
+#include "commonclasses.h"
+#include "menuclasses.h"
+#include "emu.h"
+#include "qt_main.h"
+
+//QT_BEGIN_NAMESPACE
+
+       
+
+void META_MainWindow::setupUI_Emu(void)
+{
+       menuMachine->setVisible(false);
+}
+
+void META_MainWindow::retranslateUi(void)
+{
+       retranslateControlMenu(" ",  false);
+       retranslateFloppyMenu(0, 1);
+       retranslateFloppyMenu(1, 2);
+
+       retranslateSoundMenu();
+       retranslateScreenMenu();
+   
+       this->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0));
+  
+       actionReset->setText(QApplication::translate("MainWindow", "Reset", 0));
+       actionCapture_Screen->setText(QApplication::translate("MainWindow", "Capture Screen", 0));
+  
+       actionAbout->setText(QApplication::translate("MainWindow", "About...", 0));
+  
+
+       menuScreen->setTitle(QApplication::translate("MainWindow", "Screen", 0));
+       menuStretch_Mode->setTitle(QApplication::translate("MainWindow", "Stretch Mode", 0));
+       
+       menuEmulator->setTitle(QApplication::translate("MainWindow", "Emulator", 0));
+  
+       menuHELP->setTitle(QApplication::translate("MainWindow", "HELP", 0));
+       actionHelp_AboutQt->setText(QApplication::translate("MainWindow", "About Qt", 0));
+       // Set Labels
+} // retranslateUi
+
+
+
+META_MainWindow::META_MainWindow(QWidget *parent) : Ui_MainWindow(parent)
+{
+       setupUI_Emu();
+       retranslateUi();
+}
+
+
+META_MainWindow::~META_MainWindow()
+{
+}
+
+//QT_END_NAMESPACE
+
+
+
diff --git a/source/src/qt/n5200/menuclasses.h b/source/src/qt/n5200/menuclasses.h
new file mode 100644 (file)
index 0000000..3608586
--- /dev/null
@@ -0,0 +1,27 @@
+
+#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:
+  void setupUI_Emu(void);
+   void retranslateUi(void);
+ public:
+  META_MainWindow(QWidget *parent = 0);
+  ~META_MainWindow();
+ public slots:
+};
+
+QT_END_NAMESPACE
+
+#endif // END
diff --git a/source/src/vm/n5200/CMakeLists.txt b/source/src/vm/n5200/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b3f76bb
--- /dev/null
@@ -0,0 +1,17 @@
+cmake_minimum_required (VERSION 2.6)
+
+message("* vm/n5200")
+
+set(VM_N5200_LIB_SRCS
+       n5200.cpp
+       
+       display.cpp
+       floppy.cpp
+       keyboard.cpp
+       memory.cpp
+       system.cpp
+)
+
+add_library(vm_n5200
+       ${VM_N5200_LIB_SRCS}
+)
\ No newline at end of file