OSDN Git Service

[VM][FM16BETA][FM16PI][FMR30][FMR50][J3100][MZ80B][MZ2800][MZ5500][PC100][PC98HA...
authorK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 27 Jun 2019 15:06:02 +0000 (00:06 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 27 Jun 2019 15:06:02 +0000 (00:06 +0900)
27 files changed:
source/build-cmake/fmr30_i286/CMakeLists.txt
source/build-cmake/fmr30_i86/CMakeLists.txt
source/src/vm/fm16beta/fm16beta.cpp
source/src/vm/fm16beta/fm16beta.h
source/src/vm/fm16beta/mainbus.h
source/src/vm/fm16pi/CMakeLists.txt
source/src/vm/fm16pi/fm16pi.cpp
source/src/vm/fm16pi/fm16pi.h
source/src/vm/fmr30/fmr30.cpp
source/src/vm/fmr30/fmr30.h
source/src/vm/fmr30/memory.h
source/src/vm/fmr50/fmr50.cpp
source/src/vm/fmr50/fmr50.h
source/src/vm/fmr50/memory.h
source/src/vm/j3100/j3100.cpp
source/src/vm/j3100/j3100.h
source/src/vm/mz2500/mz80b.cpp
source/src/vm/mz2500/mz80b.h
source/src/vm/mz2800/mz2800.cpp
source/src/vm/mz2800/mz2800.h
source/src/vm/mz5500/mz5500.cpp
source/src/vm/mz5500/mz5500.h
source/src/vm/pc100/pc100.cpp
source/src/vm/pc100/pc100.h
source/src/vm/pc98ha/CMakeLists.txt
source/src/vm/pc98ha/pc98ha.cpp
source/src/vm/pc98ha/pc98ha.h

index f8a7099..c0a67cf 100644 (file)
@@ -48,17 +48,17 @@ set(BUILD_FMR30_86 OFF CACHE BOOL "Build for FM-R30, i86 version")
 set(BUILD_FMR30_286 ON CACHE BOOL "Build for FM-R30, i286 version")
 if(BUILD_FMR30_86)
   set(EXEC_TARGET emufmr30_i86)
-  set(FLAG_USE_I86 OFF)
-  set(VMFILES ${VMFILES}
-       i286.cpp
-  )
+#  set(FLAG_USE_I86 OFF)
+#  set(VMFILES ${VMFILES}
+#      i286.cpp
+# )
   add_definitions(-DHAS_I86)
 elseif(BUILD_FMR30_286)
   set(EXEC_TARGET emufmr30_i286)
-  set(FLAG_USE_I86 OFF)
-  set(VMFILES ${VMFILES}
-       i286.cpp
-  )
+#  set(FLAG_USE_I86 OFF)
+#  set(VMFILES ${VMFILES}
+#      i286.cpp
+#  )
   add_definitions(-DHAS_I286)
 endif()
 
index 463fd6f..ffa915b 100644 (file)
@@ -50,16 +50,16 @@ set(BUILD_FMR30_286 OFF CACHE BOOL "Build for FM-R30, i286 version")
 if(BUILD_FMR30_86)
   set(EXEC_TARGET emufmr30_i86)
   set(FLAG_USE_I86 OFF)
-  set(VMFILES ${VMFILES}
-       i286.cpp
-  )
+#  set(VMFILES ${VMFILES}
+#      i286.cpp
+#  )
   add_definitions(-DHAS_I86)
 elseif(BUILD_FMR30_286)
   set(EXEC_TARGET emufmr30_i286)
-  set(FLAG_USE_I86 OFF)
-  set(VMFILES ${VMFILES}
-       i286.cpp
-  )
+#  set(FLAG_USE_I86 OFF)
+#  set(VMFILES ${VMFILES}
+#      i286.cpp
+#  )
   add_definitions(-DHAS_I286)
 endif()
 
index c054cc5..7fc68e0 100644 (file)
 #include "../i8237.h"
 #include "../i8251.h"
 #include "../i8259.h"
+#ifdef HAS_I286
 #include "../i286.h"
+#else
+#include "../i86.h"
+#endif
 #include "../io.h"
 #include "../mb8877.h"
 #include "../mc6809.h"
@@ -52,7 +56,11 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
        event = new EVENT(this, emu);   // must be 2nd device
        
        crtc = new HD46505(this, emu);
-       cpu = new I286(this, emu);
+#if defined(HAS_I286)  
+       cpu = new I80286(this, emu);
+#else
+       cpu = new I8086(this, emu);
+#endif 
        io = new IO(this, emu);
        dma = new I8237(this, emu);
 #ifdef USE_DEBUGGER
index 5912fcc..24ec563 100644 (file)
@@ -14,6 +14,9 @@
 #define DEVICE_NAME            "FUJITSU FM16beta (i286)"
 #define CONFIG_NAME            "fm16beta_i286"
 #else
+#ifndef HAS_I186
+#define HAS_I186
+#endif
 #define DEVICE_NAME            "FUJITSU FM16beta (i186)"
 #define CONFIG_NAME            "fm16beta_i186"
 #endif
 #define USE_SOUND_VOLUME       2
 #define USE_DEBUGGER
 #define USE_STATE
+#if defined(HAS_I286)
 #define USE_CPU_I286
+#else
+#define USE_CPU_I186
+#endif
 #define USE_CPU_MC6809
 
 #include "../../common.h"
@@ -74,7 +81,8 @@ class HD46505;
 class I8237;
 class I8251;
 class I8259;
-class I286;
+class I80286;
+class I8086;
 class IO;
 class MB8877;
 class MC6809;
@@ -102,7 +110,11 @@ protected:
        I8237* dma;
        I8251* sio;
        I8259* pic;
-       I286* cpu;
+#ifdef HAS_I286
+       I80286* cpu;
+#else
+       I8086* cpu;
+#endif 
        IO* io;
        MB8877* fdc_2hd;
        MB8877* fdc_2d;
index 010fb65..3a5e7a2 100644 (file)
@@ -38,7 +38,9 @@
 #define SIG_MAIN_RTC_BUSY      20
 
 #ifdef HAS_I286
-class I286;
+class I80286;
+#else
+class I8086;
 #endif
 class I8237;
 class MB8877;
@@ -51,7 +53,7 @@ private:
        //csp_state_utils *state_entry;
 
 #ifdef HAS_I286
-       I286 *d_cpu;
+       I80286 *d_cpu;
        uint8_t rst;
 #endif
        I8237 *d_dma;
@@ -115,7 +117,7 @@ public:
        
        // unique functions
 #ifdef HAS_I286
-       void set_context_cpu(I286* device)
+       void set_context_cpu(I80286* device)
        {
                d_cpu = device;
        }
index 272f1f3..c5a4429 100644 (file)
@@ -3,7 +3,7 @@ cmake_minimum_required (VERSION 2.6)
 message("* vm/pc16pi")
 
 set(BASIC_VM_FILES 
-           fm16pi.cpp
+       fm16pi.cpp
           sub.cpp
           )
           
index 7f6e0e6..7982e3b 100644 (file)
@@ -17,7 +17,7 @@
 #include "../i8253.h"
 #include "../i8255.h"
 #include "../i8259.h"
-#include "../i286.h"
+#include "../i86.h"
 #include "../io.h"
 #include "../mb8877.h"
 #include "../memory.h"
@@ -49,7 +49,7 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
        pit = new I8253(this, emu);
        pio = new I8255(this, emu);     // for system port
        pic = new I8259(this, emu);
-       cpu = new I286(this, emu);
+       cpu = new I8086(this, emu);
        io = new IO(this, emu);
        fdc = new MB8877(this, emu);
        fdc->set_context_noise_seek(new NOISE(this, emu));
index 72d3518..0304216 100644 (file)
@@ -41,7 +41,8 @@
 #include "../../fileio.h"
 #include "../vm_template.h"
 
-#define USE_CPU_I286
+#define HAS_I186
+#define USE_CPU_I186
 
 #ifdef USE_SOUND_VOLUME
 static const _TCHAR *sound_device_caption[] = {
@@ -57,7 +58,7 @@ class I8251;
 class I8253;
 class I8255;
 class I8259;
-class I286;
+class I8086;
 class IO;
 class MB8877;
 class MEMORY;
@@ -82,7 +83,7 @@ protected:
        I8253* pit;
        I8255* pio;
        I8259* pic;
-       I286* cpu;
+       I8086* cpu;
        IO* io;
        MB8877* fdc;
        MEMORY* memory;
index f4dede7..7e25426 100644 (file)
 #include "../i8251.h"
 #include "../i8253.h"
 #include "../i8259.h"
-//#if defined(HAS_I86)
-//#include "../i86.h"
-//#else
+#if defined(HAS_I86) || defined(HAS_I88) || defined(HAS_I186)
+#include "../i86.h"
+#else
 #include "../i286.h"
-//#endif
+#endif
 #include "../io.h"
 #include "../mb8877.h"
 #include "../noise.h"
@@ -82,11 +82,11 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
        sio_ch2->set_device_name(_T("8251 SIO (RS-232C #2)"));
        pit = new I8253(this, emu);
        pic = new I8259(this, emu);
-//#if defined(HAS_I86)
-//     cpu = new I86(this, emu);
-//#else
-       cpu = new I286(this, emu);
-//#endif
+#if defined(HAS_I86) || defined(HAS_I186) || defined(HAS_I88)
+       cpu = new I8086(this, emu);
+#else
+       cpu = new I80286(this, emu);
+#endif
        io = new IO(this, emu);
        fdc = new MB8877(this, emu);
        fdc->set_context_noise_seek(new NOISE(this, emu));
index 33ad52c..a4f4fb8 100644 (file)
 #define USE_SOUND_VOLUME       2
 #define USE_DEBUGGER
 #define USE_STATE
+#if defined(HAS_I86) || defined(HAS_I186) || defined(HAS_I88)
+#define USE_CPU_I86
+#else
 #define USE_CPU_I286
+#endif
 
 #include "../../common.h"
 #include "../../fileio.h"
@@ -63,11 +67,11 @@ class I8237;
 class I8251;
 class I8253;
 class I8259;
-//#if defined(HAS_I86)
-//class I86;
-//#else
-class I286;
-//#endif
+#if defined(HAS_I86) || defined(HAS_I186) || defined(HAS_I88)
+class I8086;
+#else
+class I80286;
+#endif
 class IO;
 class MB8877;
 class SCSI_HDD;
@@ -104,11 +108,11 @@ protected:
        I8251* sio_ch2;
        I8253* pit;
        I8259* pic;
-//#if defined(HAS_I86)
-//     I86* cpu;
-//#else
-       I286* cpu;
-//#endif
+#if defined(HAS_I86) || defined(HAS_I186) || defined(HAS_I88)
+       I8086* cpu;
+#else
+       I80286* cpu;
+#endif
        IO* io;
        MB8877* fdc;
        SCSI_HDD* scsi_hdd[7];
index 44f72ac..908516e 100644 (file)
@@ -29,7 +29,7 @@ private:
        uint8_t wdmy[0x1000];
        uint8_t rdmy[0x1000];
        
-#if defined(HAS_I86)
+#if defined(HAS_I86) || defined(HAS_I186) || defined(HAS_I88)
        uint8_t ram[0x100000];  // RAM 1MB
 #elif defined(HAS_I286)
        uint8_t ram[0x400000];  // RAM 1+3MB
index 04c98c8..252d6ad 100644 (file)
@@ -119,7 +119,7 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
        dummy->set_device_name(_T("1st Dummy"));
 
 #if defined(HAS_I286)
-       cpu = new I286(this, emu);
+       cpu = new I80286(this, emu);
 #else
        cpu = new I386(this, emu);
 #endif
index 17355dd..d41fa6f 100644 (file)
@@ -112,7 +112,7 @@ class I8251;
 class I8253;
 class I8259;
 #if defined(HAS_I286)
-class I286;
+class I80286;
 #else
 class I386;
 #endif
@@ -153,7 +153,7 @@ protected:
        I8253* pit1;
        I8259* pic;
 #if defined(HAS_I286)
-       I286* cpu;
+       I80286* cpu;
 #else
        I386* cpu;
 #endif
index 067059f..a59eeec 100644 (file)
@@ -19,7 +19,7 @@
 #define SIG_MEMORY_VSYNC       1
 
 #if defined(HAS_I286)
-class I286;
+class I80286;
 #else
 class I386;
 #endif
@@ -30,7 +30,7 @@ class MEMORY : public DEVICE
 {
 private:
 #if defined(HAS_I286)
-       I286 *d_cpu;
+       I80286 *d_cpu;
 #else
        I386 *d_cpu;
 #endif
@@ -134,7 +134,7 @@ public:
        
        // unique functions
 #if defined(HAS_I286)
-       void set_context_cpu(I286* device)
+       void set_context_cpu(I80286* device)
 #else
        void set_context_cpu(I386* device)
 #endif
index 3361a93..996251d 100644 (file)
 //#include "../i8250.h"
 #include "../i8253.h"
 #include "../i8259.h"
-//#if defined(HAS_I286)
+#if defined(HAS_I286)
 #include "../i286.h"
-//#else
-//#include "../i86.h"
-//#endif
+#else
+#include "../i86.h"
+#endif
 #include "../io.h"
 #include "../noise.h"
 #include "../pcm1bit.h"
@@ -96,11 +96,11 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
 //     sio = new I8250(this, emu);
        pit = new I8253(this, emu);     // i8254
        pic = new I8259(this, emu);
-//#if defined(HAS_I286)
-       cpu = new I286(this, emu);
-//#else
-//     cpu = new I86(this, emu);
-//#endif
+#if defined(HAS_I286)
+       cpu = new I80286(this, emu);
+#else
+       cpu = new I8086(this, emu);
+#endif
        io = new IO(this, emu);
        pcm = new PCM1BIT(this, emu);
        fdc = new UPD765A(this, emu);
index f55f9dc..fe99d6f 100644 (file)
 #define USE_AUTO_KEY_RELEASE   6
 #define USE_AUTO_KEY_NUMPAD
 #define USE_SOUND_VOLUME       2
+#if defined(HAS_I286)
 #define USE_CPU_I286
+#else
+#define USE_CPU_I86
+#endif
 
 #include "../../common.h"
 #include "../../fileio.h"
@@ -76,11 +80,11 @@ class I8237;
 //class I8250;
 class I8253;
 class I8259;
-//#if defined(HAS_I286)
-class I286;
-//#else
-//class I86;
-//#endif
+#if defined(HAS_I286)
+class I80286;
+#else
+class I8086;
+#endif
 class IO;
 class PCM1BIT;
 class UPD765A;
@@ -123,11 +127,11 @@ protected:
 //     I8250* sio;
        I8253* pit;
        I8259* pic;
-//#if defined(HAS_I286)
-       I286* cpu;
-//#else
-//     I86* cpu;
-//#endif
+#if defined(HAS_I286)
+       I80286* cpu;
+#else
+       I8086* cpu;
+#endif
        IO* io;
        PCM1BIT* pcm;
        UPD765A* fdc;
index c1c5a9c..b8d6392 100644 (file)
@@ -45,7 +45,7 @@
 #endif
 
 #ifdef SUPPORT_16BIT_BOARD
-#include "../i286.h"
+#include "../i86.h"
 #include "../i8259.h"
 #include "mz1m01.h"
 #endif
@@ -111,11 +111,11 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
        
 #ifdef SUPPORT_16BIT_BOARD
        pio_to16 = new Z80PIO(this, emu);
-       cpu_16 = new I286(this, emu);   // 8088
+       cpu_16 = new I8086(this, emu);  // 8088
        pic_16 = new I8259(this, emu);
        mz1m01 = new MZ1M01(this, emu);
        pio_to16->set_device_name(_T("Z80 PIO(16BIT BOARD)"));
-       cpu_16->set_device_name(_T("CPU i286(16BIT BOARD)"));
+       cpu_16->set_device_name(_T("CPU i8088(16BIT BOARD)"));
        pic_16->set_device_name(_T("i8259 PIC(16BIT BOARD)"));
 #endif
        
index 9b831e5..bbb8cb9 100644 (file)
@@ -104,7 +104,7 @@ namespace MZ700 {
 }
 #endif
 #ifdef SUPPORT_16BIT_BOARD
-       class I286;
+       class I8086;
        class I8259;
 #endif
 namespace MZ2500 {
@@ -157,7 +157,7 @@ protected:
        
 #ifdef SUPPORT_16BIT_BOARD
        Z80PIO* pio_to16;
-       I286* cpu_16;
+       I8086* cpu_16;
        I8259* pic_16;
        MZ80B::MZ1M01* mz1m01;
 #endif
index 9f4b1c8..1f88713 100644 (file)
@@ -74,7 +74,7 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
        event = new EVENT(this, emu);   // must be 2nd device
        dummy->set_device_name(_T("1st Dummy"));
 
-       cpu = new I286(this, emu);
+       cpu = new I80286(this, emu);
        pit = new I8253(this, emu);
        pio0 = new I8255(this, emu);
        pic = new I8259(this, emu);
index 0baac1b..5ea352e 100644 (file)
@@ -62,7 +62,7 @@ class EVENT;
 class I8253;
 class I8255;
 class I8259;
-class I286;
+class I80286;
 class IO;
 class MB8877;
 class NOT;
@@ -101,7 +101,7 @@ protected:
        I8253* pit;
        I8255* pio0;
        I8259* pic;
-       I286* cpu;
+       I80286* cpu;
        IO* io;
        MB8877* fdc;
        NOT* not_busy;
index 8b78fff..5298520 100644 (file)
 #include "../i8237.h"
 #include "../i8255.h"
 #include "../i8259.h"
-//#if defined(HAS_I286) || defined(HAS_I186)
+#if defined(HAS_I286)
 #include "../i286.h"
-//#else
-//#include "../i86.h"
-//#endif
+#else
+#include "../i86.h"
+#endif
 #include "../io.h"
 #include "../ls393.h"
 #include "../mz1p17.h"
@@ -74,11 +74,11 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
 #endif
        pio = new I8255(this, emu);
        pic = new I8259(this, emu);
-//#if defined(HAS_I286) || defined(HAS_I186)
-       cpu = new I286(this, emu);
-//#else
-//     cpu = new I86(this, emu);
-//#endif
+#if defined(HAS_I286)
+       cpu = new I80286(this, emu);
+#else
+       cpu = new I8086(this, emu);
+#endif
        io = new IO(this, emu);
        div = new LS393(this, emu);
        not_data0 = new NOT(this, emu);
index fd37c53..00b3ec7 100644 (file)
 #define USE_PRINTER_TYPE       4
 #define USE_DEBUGGER
 #define USE_STATE
+#ifdef HAS_I286
 #define USE_CPU_I286
+#else
+#define USE_CPU_I86
+#endif
 
 #include "../../common.h"
 #include "../../fileio.h"
@@ -80,11 +84,11 @@ class EVENT;
 class I8237;
 class I8255;
 class I8259;
-//#if defined(HAS_I286) || defined(HAS_I186)
-class I286;
-//#else
-//class I86;
-//#endif
+#if defined(HAS_I286)
+class I80286;
+#else
+class I8086;
+#endif
 class IO;
 class LS393;
 class NOT;
@@ -116,11 +120,11 @@ protected:
        I8237* dma;
        I8255* pio;
        I8259* pic;     // includes 2chips
-//#if defined(HAS_I286) || defined(HAS_I186)
-       I286* cpu;
-//#else
-//     I86* cpu;
-//#endif
+#if defined(HAS_I286)
+       I80286* cpu;
+#else
+       I8086* cpu;
+#endif
        IO* io;
        LS393* div;
        NOT* not_data0;
index 3174bcf..36764c1 100644 (file)
@@ -57,7 +57,7 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
        pio1 = new I8255(this, emu);
        pio1->set_device_name(_T("8255 PIO (CRTC)"));
        pic = new I8259(this, emu);
-       cpu = new I286(this, emu);
+       cpu = new I80286(this, emu);
        io = new IO(this, emu);
        memory = new MEMORY(this, emu);
        rtc = new MSM58321(this, emu);
index f28c603..ee47449 100644 (file)
@@ -65,7 +65,7 @@ class BEEP;
 class I8251;
 class I8255;
 class I8259;
-class I286;
+class I80286;
 class IO;
 class MEMORY;
 class MSM58321;
@@ -93,7 +93,7 @@ protected:
        I8255* pio0;
        I8255* pio1;
        I8259* pic;     // includes 2chips
-       I286* cpu;
+       I80286* cpu;
        IO* io;
        MEMORY* memory;
        MSM58321* rtc;
index f9f2096..ac3afa9 100644 (file)
@@ -3,7 +3,7 @@ cmake_minimum_required (VERSION 2.6)
 message("* vm/pc98ha")
 
 set(BASIC_VM_FILES 
-           pc98ha.cpp
+       pc98ha.cpp
           bios.cpp
           calendar.cpp
           floppy.cpp
index a4de217..020649b 100644 (file)
 #include "../i8253.h"
 #include "../i8255.h"
 #include "../i8259.h"
-//#if defined(HAS_V30) || defined(HAS_I86)
-//# include "../i86.h"
-//#else
+#if defined(HAS_V30)
+# include "../v30.h"
+#elif defined(HAS_I86) || defined(HAS_I88) || defined(HAS_I186)
+# include "../i86.h"
+#else
 # include "../i286.h"
-//#endif
+#endif
 #include "../io.h"
 #include "../noise.h"
 #include "../not.h"
@@ -77,11 +79,13 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
        pio_prn = new I8255(this, emu); // for printer
        pio_prn->set_device_name(_T("8251 PIO (Printer)"));
        pic = new I8259(this, emu);     // V50 internal
-//#if defined(HAS_V30) || defined(HAS_I86)
-//     cpu = new I86(this, emu);       // V50
-//#else
-       cpu = new I286(this, emu);      // V50
-//#endif
+#if defined(HAS_V30)
+       cpu = new V30(this, emu);       // V50
+#elif defined(HAS_I86) || defined(HAS_I88) || defined(HAS_I186)
+       cpu = new I8086(this, emu);     // V50
+#else
+       cpu = new I80286(this, emu);    // V50
+#endif
        io = new IO(this, emu);
        not_busy = new NOT(this, emu);
 #ifdef _PC98HA
index 763ba7f..ff11bc7 100644 (file)
@@ -31,6 +31,8 @@
 #define SCREEN_HEIGHT          400
 #define MAX_DRIVE              1
 #define HAS_V30
+#define USE_CPU_V30
+
 #define I86_PSEUDO_BIOS
 #define I8259_MAX_CHIPS                1
 //#define UPD765A_DMA_MODE
@@ -52,7 +54,6 @@
 #define USE_PRINTER_TYPE       3
 #define USE_DEBUGGER
 #define USE_STATE
-#define USE_CPU_I286
 
 #include "../../common.h"
 #include "../../fileio.h"
@@ -73,11 +74,13 @@ class I8251;
 class I8253;
 class I8255;
 class I8259;
-//#if defined(HAS_V30) || defined(HAS_I86)
-//class I86;
-//#else
-class I286;
-//#endif
+#if defined(HAS_I86)
+class I8086;
+#elif defined(HAS_V30)
+class V30;
+#else
+class I80286;
+#endif
 class IO;
 class NOT;
 #ifdef _PC98HA
@@ -114,11 +117,13 @@ protected:
        I8255* pio_sys;
        I8255* pio_prn;
        I8259* pic;
-//#if defined(HAS_V30) || defined(HAS_I86)
-//     I86* cpu;
-//#else
-       I286* cpu;
-//#endif
+#if defined(HAS_V30)
+       V30* cpu;
+#elif defined(HAS_I86)
+       I8086* cpu;
+#else
+       I80286* cpu;
+#endif
        IO* io;
        NOT* not_busy;
 #ifdef _PC98HA