OSDN Git Service

[VM][Qt] Add Sony SMC-70/777 .
authorK.Ohta <whatisthis.sowhat@gmail.com>
Wed, 30 Sep 2015 15:24:52 +0000 (00:24 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Wed, 30 Sep 2015 15:24:52 +0000 (00:24 +0900)
source/build-cmake/smc70/CMakeLists.txt [new file with mode: 0644]
source/build-cmake/smc777/CMakeLists.txt [new file with mode: 0644]
source/src/qt/common/qrc/smc70.qrc [new file with mode: 0644]
source/src/qt/common/qrc/smc777.qrc [new file with mode: 0644]
source/src/qt/gui/menu_disk.cpp
source/src/qt/smc777/CMakeLists.txt [new file with mode: 0644]
source/src/qt/smc777/MainWindow.cpp [new file with mode: 0644]
source/src/qt/smc777/menuclasses.h [new file with mode: 0644]
source/src/vm/smc777/CMakeLists.txt [new file with mode: 0644]
source/src/vm/smc777/smc777.cpp
source/src/vm/smc777/smc777.h

diff --git a/source/build-cmake/smc70/CMakeLists.txt b/source/build-cmake/smc70/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e64cbaf
--- /dev/null
@@ -0,0 +1,65 @@
+# 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,SONY SMC-70, Qt **")
+message("")
+
+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake")
+
+
+project (emusmc70)
+
+set(EXEC_TARGET emusmc70)
+
+set(LOCAL_LIBS            vm_smc777
+                  vm_vm
+                  common_common
+                  qt_smc777
+                  qt_debugger
+                  qt_gui
+                   )
+
+set(VMFILES_BASE
+                   z80.cpp
+                  
+                  pcm1bit.cpp
+                  hd46505.cpp
+                  mb8877.cpp
+                  sn76489an.cpp
+                  
+                  datarec.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_SMC777)
+set(RESOURCE ${CMAKE_SOURCE_DIR}/../../src/qt/common/qrc/smc70.qrc)
+
+#include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/smc777)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/qt/smc777)
+
+include(config_commonsource)
+
+add_subdirectory(../../src/vm/smc777 vm/smc777)
+add_subdirectory(../../src/qt/smc777 qt/smc777)
+     
+add_subdirectory(../../src/qt/common qt/common)
+add_subdirectory(../../src/qt/debugger qt/debugger)
diff --git a/source/build-cmake/smc777/CMakeLists.txt b/source/build-cmake/smc777/CMakeLists.txt
new file mode 100644 (file)
index 0000000..efac0b4
--- /dev/null
@@ -0,0 +1,65 @@
+# 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,SONY SMC-777, Qt **")
+message("")
+
+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake")
+
+
+project (emusmc777)
+
+set(EXEC_TARGET emusmc777)
+
+set(LOCAL_LIBS            vm_smc777
+                  vm_vm
+                  common_common
+                  qt_smc777
+                  qt_debugger
+                  qt_gui
+                   )
+
+set(VMFILES_BASE
+                   z80.cpp
+                  
+                  pcm1bit.cpp
+                  hd46505.cpp
+                  mb8877.cpp
+                  sn76489an.cpp
+                  
+                  datarec.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_SMC777)
+set(RESOURCE ${CMAKE_SOURCE_DIR}/../../src/qt/common/qrc/smc777.qrc)
+
+#include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/smc777)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/qt/smc777)
+
+include(config_commonsource)
+
+add_subdirectory(../../src/vm/smc777 vm/smc777)
+add_subdirectory(../../src/qt/smc777 qt/smc777)
+     
+add_subdirectory(../../src/qt/common qt/common)
+add_subdirectory(../../src/qt/debugger qt/debugger)
diff --git a/source/src/qt/common/qrc/smc70.qrc b/source/src/qt/common/qrc/smc70.qrc
new file mode 100644 (file)
index 0000000..7a9429a
--- /dev/null
@@ -0,0 +1,5 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+    <file alias="default.ico">../../../res/smc70.ico</file>
+</qresource>
+</RCC>
\ No newline at end of file
diff --git a/source/src/qt/common/qrc/smc777.qrc b/source/src/qt/common/qrc/smc777.qrc
new file mode 100644 (file)
index 0000000..e1c1afa
--- /dev/null
@@ -0,0 +1,5 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+    <file alias="default.ico">../../../res/smc777.ico</file>
+</qresource>
+</RCC>
\ No newline at end of file
index 66442db..cc5cfaa 100644 (file)
@@ -73,7 +73,7 @@ void Object_Menu_Control::do_set_correct_disk_timing(bool flag)
 #ifdef USE_FD1
 void Ui_MainWindow::open_disk_dialog(int drv)
 {
-       QString ext = "*.d88 *.d77 *.td0 *.imd *.dsk *.fdi *.hdm *.tfd *.xdf *.2d *.sf7";
+       QString ext = "*.d88 *.d77 *.1dd *.td0 *.imd *.dsk *.fdi *.hdm *.tfd *.xdf *.2d *.sf7 *.img *.ima *.vfd";
        QString desc1 = "Floppy Disk";
        QString desc2;
        CSP_DiskDialog dlg;
diff --git a/source/src/qt/smc777/CMakeLists.txt b/source/src/qt/smc777/CMakeLists.txt
new file mode 100644 (file)
index 0000000..fd429b8
--- /dev/null
@@ -0,0 +1,17 @@
+message("* qt/smc777")
+
+set(s_qt_smc777_headers
+         menuclasses.h
+)
+if(USE_QT_5)
+  QT5_WRAP_CPP(s_qt_smc777_headers_MOC ${s_qt_smc777_headers})
+else()
+  QT4_WRAP_CPP(s_qt_smc777_headers_MOC ${s_qt_smc777_headers})
+endif()
+
+add_library(qt_smc777
+         MainWindow.cpp
+         ${s_qt_smc777_headers_MOC}
+)
+
+
diff --git a/source/src/qt/smc777/MainWindow.cpp b/source/src/qt/smc777/MainWindow.cpp
new file mode 100644 (file)
index 0000000..c685a5e
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Common Source code Project:
+ * Ui->Qt->MainWindow for SMC777/SMC70 .
+ * (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)
+{
+}
+
+void META_MainWindow::retranslateUi(void)
+{
+  retranslateControlMenu("RESET",  true);
+  actionReset->setVisible(false);
+  retranslateFloppyMenu(0, 1);
+  retranslateFloppyMenu(1, 2);
+  retranslateCMTMenu();
+  retranslateSoundMenu();
+  retranslateScreenMenu();
+   
+  this->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0));
+  
+  
+  actionAbout->setText(QApplication::translate("MainWindow", "About...", 0));
+  
+
+  menuEmulator->setTitle(QApplication::translate("MainWindow", "Emulator", 0));
+  menuMachine->setTitle(QApplication::translate("MainWindow", "Machine", 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)
+{
+   retranslateUi();
+}
+
+
+META_MainWindow::~META_MainWindow()
+{
+}
+
+//QT_END_NAMESPACE
+
+
+
diff --git a/source/src/qt/smc777/menuclasses.h b/source/src/qt/smc777/menuclasses.h
new file mode 100644 (file)
index 0000000..abc617c
--- /dev/null
@@ -0,0 +1,31 @@
+
+
+
+#ifndef _CSP_QT_MENUCLASSES_H
+#define _CSP_QT_MENUCLASSES_H
+
+#include "emu.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 MSX1 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/smc777/CMakeLists.txt b/source/src/vm/smc777/CMakeLists.txt
new file mode 100644 (file)
index 0000000..768e397
--- /dev/null
@@ -0,0 +1,8 @@
+cmake_minimum_required (VERSION 2.6)
+
+message("* vm/smc777")
+
+add_library(vm_smc777
+       smc777.cpp
+       io.cpp
+ )
index 9020c28..c889047 100644 (file)
@@ -278,6 +278,11 @@ void VM::push_fast_rewind()
        drec->set_remote(true);
 }
 
+bool VM::get_tape_play(void)
+{
+       return drec->get_tape_play();
+}
+
 bool VM::now_skip()
 {
        return event->now_skip();
index 5d394b8..b3c487e 100644 (file)
@@ -205,6 +205,7 @@ public:
        void push_fast_rewind();
        void push_apss_forward() {}
        void push_apss_rewind() {}
+       bool get_tape_play(void);
        bool now_skip();
        
        void update_config();