OSDN Git Service

[General][Qt] MZ-1500 without QD Added. And, check_file_extension works correct,witho...
authorK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 15 Jan 2015 11:26:45 +0000 (20:26 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 15 Jan 2015 11:26:45 +0000 (20:26 +0900)
source/build-cmake/mz1500/CMakeLists.txt [new file with mode: 0644]
source/build-cmake/mz700/CMakeLists.txt
source/src/common.cpp
source/src/qt/common/emuevents_control.cpp
source/src/qt/common/qt_dialogs.cpp
source/src/qt/common/qt_emuevents.h
source/src/vm/datarec.cpp
source/src/vm/datarec.h
source/src/vm/mz700/CMakeLists.txt
source/src/vm/mz700/mz700.cpp
source/src/vm/mz700/mz700.h

diff --git a/source/build-cmake/mz1500/CMakeLists.txt b/source/build-cmake/mz1500/CMakeLists.txt
new file mode 100644 (file)
index 0000000..88b5d48
--- /dev/null
@@ -0,0 +1,128 @@
+# 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.6)
+cmake_policy(SET CMP0011 NEW)
+
+message("")
+message("** Start of configure CommonSourceProject,X1, Qt **")
+message("")
+
+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake")
+
+
+project (emumz1500)
+
+set(LOCAL_LIBS            vm_mz700
+                  vm_vm
+                  common_common
+                  vm_fmgen
+#                 common_scaler-generic
+                  qt_mz700
+                  qt_gui
+                   )
+
+set(VMFILES_BASE
+                  z80.cpp
+                  beep.cpp
+                  hd46505.cpp
+                  i8255.cpp
+                  i8253.cpp
+                  pcm1bit.cpp
+                  
+                  datarec.cpp
+                  
+                  and.cpp
+
+                  event.cpp
+                  io.cpp
+                  memory.cpp
+)
+
+set(VMFILES_MZ800 ${VMFILES_BASE}
+                  mb8877.cpp
+                  disk.cpp
+                  
+                  not.cpp
+                  sn76489an.cpp
+                  z80pio.cpp
+                  z80sio.cpp
+)
+
+set(VMFILES_MZ1500 ${VMFILES_MZ800}
+                  ym2203.cpp
+)
+                  
+
+
+set(BUILD_MZ800 OFF CACHE BOOL "Build EMU-MZ800")
+set(BUILD_MZ1500 ON CACHE BOOL "Build EMU-MZ1500")
+set(USE_CMT_SOUND OFF CACHE BOOL "Using sound with CMT")
+
+set(BUILD_SHARED_LIBS OFF)
+set(USE_OPENMP ON CACHE BOOL "Build using OpenMP")
+set(USE_OPENCL ON CACHE BOOL "Build using OpenCL")
+set(USE_OPENGL ON CACHE BOOL "Build using OpenGL")
+set(XM7_VERSION 3)
+#set(WITH_DEBUGGER ON CACHE BOOL "Build witnDebugger.")
+
+include(detect_target_cpu)
+#include(windows-mingw-cross)
+# set entry
+set(CMAKE_SYSTEM_PROCESSOR ${ARCHITECTURE} CACHE STRING "Set processor to build.")
+
+
+if(BUILD_MZ1500)
+
+set(VMFILES ${VMFILES_MZ1500})
+add_definitions(-D_MZ1500)
+set(EXEC_TARGET emumz1500)
+
+elseif(BUILD_MZ800)
+
+set(VMFILES ${VMFILES_MZ800})
+add_definitions(-D_MZ800)
+set(EXEC_TARGET emumz800)
+
+else()
+
+set(VMFILES ${VMFILES_BASE})
+add_definitions(-D_MZ700)
+set(EXEC_TARGET emumz700)
+
+endif()
+
+if(USE_CMT_SOUND)
+add_definitions(-DDATAREC_SOUND)
+endif()
+
+
+#include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/mz700)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/fmgen)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/qt/mz700)
+
+
+include(config_commonsource)
+
+
+
+if(USE_SSE2)
+#  include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm/fm7/vram/sse2)
+#  add_subdirectory(../../src/vm/fm7/vram/sse2 vm/fm7/vram/sse2)
+endif()
+
+
+if(USE_SSE2)
+# include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/qt/common/scaler/sse2)
+endif()
+
+add_subdirectory(../../src/vm/mz700 vm/mz700)
+add_subdirectory(../../src/vm/fmgen vm/fmgen)
+add_subdirectory(../../src/qt/mz700 qt/mz700)
+
+     
+add_subdirectory(../../src/qt/common qt/common)
index b2104a9..71d6f3b 100644 (file)
@@ -49,11 +49,10 @@ set(VMFILES_MZ800 ${VMFILES_BASE}
                   sn76489an.cpp
                   z80pio.cpp
                   z80sio.cpp
-                  quickdisk.cpp
 )
 
 set(VMFILES_MZ1500 ${VMFILES_MZ800}
-                  ym2608.cpp
+                  ym2203.cpp
 )
                   
 
index 671e890..3725b83 100644 (file)
@@ -65,11 +65,21 @@ int _vstprintf_s(_TCHAR *buffer, size_t numberOfElements, const _TCHAR *format,
 \r
 bool check_file_extension(_TCHAR* file_path, _TCHAR* ext)\r
 {\r
-#if defined(_USE_AGAR) || defined(_USE_QT)\r
+#if defined(_USE_AGAR)\r
        int nam_len = strlen(file_path);\r
        int ext_len = strlen(ext);\r
        \r
        return (nam_len >= ext_len && strncmp(&file_path[nam_len - ext_len], ext, ext_len) == 0);\r
+#elif defined(_USE_QT)\r
+        QString s_fpath = file_path;\r
+        QString s_ext = ext;\r
+        bool f = false;\r
+        s_fpath = s_fpath.toUpper();\r
+        s_ext = s_ext.toUpper();\r
+        if(s_fpath.length() < s_ext.length()) return false;\r
+        s_fpath = s_fpath.right(s_ext.length());\r
+        if(s_fpath == s_ext) return true;\r
+        return false;\r
 #else\r
        int nam_len = _tcslen(file_path);\r
        int ext_len = _tcslen(ext);\r
index 79b66b4..8f81a81 100644 (file)
@@ -154,12 +154,12 @@ void OnRecentCart(int drive, int menunum)
 #if defined(USE_QD1) || defined(USE_QD2)
 void OnOpenQD(QWidget *parent, int drive)
 {
-  if(emu) open_quickdisk_dialog(AGWIDGET(hWindow), drive);
+//  if(emu) open_quickdisk_dialog(AGWIDGET(hWindow), drive);
 }
 
 void OnCloseQD(int drive)
 {
-  if(emu) emu->close_quickdisk(drive);
+//  if(emu) emu->close_quickdisk(drive);
 }
 
 void OnRecentQD(int drive, int menunum)
index f4eb193..7d6fabf 100644 (file)
@@ -75,9 +75,10 @@ void open_cart_dialog(QWidget *hWnd, int drv)
 
 
 #ifdef USE_QD1
-void OnOpenQDSub(AG_Event *event)
+void OnOpenQDSub(void)
 {
-  AG_FileType *filetype = (AG_FileType *)AG_PTR(3);
+#if 0
+   AG_FileType *filetype = (AG_FileType *)AG_PTR(3);
   char *path = AG_STRING(2);
   int drv = AG_INT(1);
   AG_FileDlg *my = (AG_FileDlg *)AG_SELF();
@@ -89,10 +90,12 @@ void OnOpenQDSub(AG_Event *event)
     strcpy(config.initial_quickdisk_dir, path_shadow);
     if(emu) emu->open_quickdisk(drv, path, 0);
   }
+#endif
 }
 
-void open_quickdisk_dialog(AG_Widget *hWnd, int drv)
+void open_quickdisk_dialog(int drv)
 {
+#if 0
    char path_shadow[AG_PATHNAME_MAX];
   const char *ext = "*.mzt,*.q20,*qdf";
   char *desc = _N("Quick Disk");
@@ -116,6 +119,7 @@ void open_quickdisk_dialog(AG_Widget *hWnd, int drv)
   AG_FileDlgAddType(dlg, desc, ext, OnOpenQDSub, "%i", drv);
   AG_WindowShow(win);
   return;
+#endif
 }
 #endif
 
index e94d07c..a479bb5 100644 (file)
@@ -40,9 +40,9 @@ void Floppy_SelectD88(int drive, int num);
 #endif
 
 #if defined(USE_QD1) || defined(USE_QD2)
-void OnOpenQD(QWidget *parent, int drive);
-void OnCloseQD(int drive);
-void OnRecentQD(QWidget *parent, int drive, int menunum);
+//void OnOpenQD(QWidget *parent, int drive);
+//void OnCloseQD(int drive);
+//void OnRecentQD(QWidget *parent, int drive, int menunum);
 #endif
 
 #ifdef USE_TAPE
index 5eb2dad..46199ae 100644 (file)
@@ -1129,8 +1129,8 @@ int DATAREC::load_mzt_image()
                memset(ram, 0, sizeof(ram));\r
                play_fio->Fread(ram + offs, size, 1);\r
                file_size -= size;\r
-//#if defined(_MZ80K) || defined(_MZ700) || defined(_MZ1200) || defined(_MZ1500)\r
-#if 0\r
+#if defined(_MZ80K) || defined(_MZ700) || defined(_MZ1200) || defined(_MZ1500)\r
+//#if 0\r
                // apply mz700win patch\r
                if(header[0x40] == 'P' && header[0x41] == 'A' && header[0x42] == 'T' && header[0x43] == ':') {\r
                        int patch_ofs = 0x44;\r
index f4ef7b8..ac76679 100644 (file)
@@ -83,11 +83,11 @@ private:
        int load_tap_image();\r
        int load_mzt_image();\r
 #if defined(_USE_AGAR) || defined(_USE_SDL) || defined(_USE_QT)   \r
-        unsigned int min(int *x, unsigned int y) {\r
+        unsigned int min(int x, unsigned int y) {\r
           if((unsigned int)x < y) return (unsigned int)x;\r
           return y;\r
        }\r
-        unsigned int max(int *x, unsigned int y) {\r
+        unsigned int max(int x, unsigned int y) {\r
           if((unsigned int)x > y) return (unsigned int)x;\r
           return y;\r
        }\r
index c33f3b3..c7128e5 100644 (file)
@@ -2,6 +2,8 @@ cmake_minimum_required (VERSION 2.6)
 
 message("* vm/mz700")
 
+if(BUILD_MZ800)
+
 add_library(vm_mz700
        cmos.cpp
        emm.cpp
@@ -10,22 +12,37 @@ add_library(vm_mz700
        memory.cpp
        mz700.cpp
        ramfile.cpp
-)
-
-if(BUILD_MZ800)
-add_library(vm_mz700
        floppy.cpp
        quickdisk.cpp
 )
-endif()
 
-if(BUILD_MZ1500)
-if(not BUILD_MZ800)
+elseif(BUILD_MZ1500)
+
 add_library(vm_mz700
+       cmos.cpp
+       emm.cpp
+       kanji.cpp
+       keyboard.cpp
+       memory.cpp
+       mz700.cpp
+       ramfile.cpp
        floppy.cpp
        quickdisk.cpp
        ramfile.cpp
        psg.cpp
 )
-endif()
+
+else()
+
+add_library(vm_mz700
+       cmos.cpp
+       emm.cpp
+       kanji.cpp
+       keyboard.cpp
+       memory.cpp
+       mz700.cpp
+       ramfile.cpp
+)
+
+
 endif()
index 85b606c..be1dd3e 100644 (file)
@@ -496,6 +496,16 @@ bool VM::quickdisk_inserted(int drv)
        }\r
 }\r
 \r
+void VM::write_protect_fd(int drv, bool flag)\r
+{\r
+       fdc->write_protect_fd(drv, flag);\r
+}\r
+\r
+bool VM::is_write_protect_fd(int drv)\r
+{\r
+        return fdc->is_write_protect_fd(drv);\r
+}\r
+\r
 void VM::open_disk(int drv, _TCHAR* file_path, int offset)\r
 {\r
        fdc->open_disk(drv, file_path, offset);\r
index aa195e3..029bd3b 100644 (file)
@@ -210,6 +210,8 @@ public:
        void open_disk(int drv, _TCHAR* file_path, int offset);\r
        void close_disk(int drv);\r
        bool disk_inserted(int drv);\r
+       void write_protect_fd(int drv, bool flag);\r
+       bool is_write_protect_fd(int drv);\r
 #endif\r
        bool now_skip();\r
        \r