OSDN Git Service

[VM][MSX] I missed changes; using v9938.cpp instead of v99x8.cpp .
authorK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 18 May 2017 09:37:29 +0000 (18:37 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 18 May 2017 09:37:29 +0000 (18:37 +0900)
source/build-cmake/cmake/config_msx.cmake
source/src/vm/common_vm/CMakeLists.txt
source/src/vm/v9938.cpp
source/src/vm/v9938.h

index fd96519..547ee1b 100644 (file)
@@ -36,13 +36,14 @@ include(detect_target_cpu)
 set(CMAKE_SYSTEM_PROCESSOR ${ARCHITECTURE} CACHE STRING "Set processor to build.")
 
 add_definitions(-D_CONFIGURE_WITH_CMAKE)
+add_definitions(-D_MSX_VDP_MESS)
 
 set(VMFILES_MSX2 ${VMFILES_BASE}
        rp5c01.cpp
 )
 
 set(VMFILES_MSX2_LIB ${VMFILES_LIB}
-       v99x8.cpp
+       v9938.cpp
 )
 
 set(VMFILES_LIB ${VMFILES_LIB} disk.cpp)
@@ -74,7 +75,7 @@ set(VMFILES_FSA1 ${VMFILES_BASE}
        rp5c01.cpp
 )
 set(VMFILES_LIB_FSA1 ${VMFILES_LIB}
-       v99x8.cpp
+       v9938.cpp
        disk.cpp
 )
 
@@ -82,7 +83,7 @@ set(VMFILES_HBF1XDJ ${VMFILES_BASE}
        rp5c01.cpp
 )
 set(VMFILES_LIB_HBF1XDJ ${VMFILES_LIB}
-       v99x8.cpp
+       v9938.cpp
        disk.cpp
 )
 
@@ -91,7 +92,7 @@ set(VMFILES_MSX2PLUS ${VMFILES_BASE}
 )
 
 set(VMFILES_LIB_MSX2PLUS ${VMFILES_LIB}
-       v99x8.cpp
+       v9938.cpp
        disk.cpp
 )
 
index 4d971a1..8b97bb0 100644 (file)
@@ -76,8 +76,9 @@ set(s_vm_common_vm_srcs
        ../upd7752.cpp
 #      ../upd7801.cpp
 #      ../upd7810.cpp
-#      ../v9938_base.cpp
-       ../v99x8.cpp
+# 20170518/MSX: Use v9938.cpp and define "-D_MSX_VDP_MESS" instead of v99x8.cpp .
+       ../v9938.cpp
+##     ../v99x8.cpp
 #      ../w3100a.cpp
        ../ym2151.cpp
        ../ym2203.cpp
@@ -119,8 +120,8 @@ else()
     ${s_vm_common_vm_srcs}
   )
   set_target_properties(CSPcommon_vm PROPERTIES 
-     SOVERSION 1.1.5
-     VERSION 1.1.5
+     SOVERSION 1.1.6
+     VERSION 1.1.6
   )
   INSTALL(TARGETS CSPcommon_vm DESTINATION ${LIBCSP_INSTALL_DIR})
 endif()
index 7e16008..4f21c4c 100644 (file)
@@ -35,7 +35,7 @@ todo:
 - make vdp engine work in exp. ram
 */
 
-#include "../emu.h"
+//#include "../emu.h"
 #include "v9938.h"
 
 #define m_vram_space this
@@ -3116,15 +3116,22 @@ void v99x8_device::draw_screen()
 {
        scrntype_t *dst;
        int y;
-       for(y=0; y<SCREEN_HEIGHT; y++) {
-               if((dst = emu->get_screen_buffer(y)) != NULL) {
-                       memcpy(dst, screen+(y+18)*LONG_WIDTH+2, SCREEN_WIDTH*sizeof(scrntype_t));
+       if(osd == NULL) return;
+       for(y=0; y< __SCREEN_HEIGHT; y++) {
+               if((dst = osd->get_vm_screen_buffer(y)) != NULL) {
+                       memcpy(dst, screen+(y+18)*LONG_WIDTH+2, __SCREEN_WIDTH*sizeof(scrntype_t));
                }
        }
 }
 
 void v99x8_device::initialize()
 {
+       DEVICE::initialize();
+       __SCREEN_WIDTH = osd->get_feature_int_value(_T("SCREEN_WIDTH"));
+       __SCREEN_HEIGHT = osd->get_feature_int_value(_T("SCREEN_HEIGHT"));
+       if(__SCREEN_WIDTH <= 0) __SCREEN_WIDTH = 256;
+       if(__SCREEN_HEIGHT <= 0) __SCREEN_HEIGHT = 192;
+       
        device_start();
        register_vline_event(this);
 }
index 0e93de6..914ed34 100644 (file)
@@ -11,8 +11,8 @@
 #ifndef __V9938_H__
 #define __V9938_H__
 
-#include "vm.h"
-#include "../emu.h"
+//#include "vm.h"
+//#include "../emu.h"
 #include "device.h"
 
 
@@ -77,6 +77,8 @@
 class v99x8_device :    public DEVICE
 {
 protected:
+       int __SCREEN_WIDTH;
+       int __SCREEN_HEIGHT;
        // construction/destruction
        //v99x8_device(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu){}
        v99x8_device(VM* parent_vm, EMU* parent_emu);