OSDN Git Service

[VM][STATE] Use namespace {VMNAME} to separate per VMs.
[csp-qt/common_source_project-fm7.git] / source / src / vm / n5200 / n5200.h
index 7e6ab58..738c035 100644 (file)
 #define IO_ADDR_MAX            0x10000
 
 // device informations for win32
-#define USE_FD1
-#define USE_FD2
+#define USE_FLOPPY_DISK                2
 #define NOTIFY_KEY_DOWN
 #define USE_KEY_LOCKED
 #define USE_SHIFT_NUMPAD_KEY
 #define USE_ALT_F10_KEY
 #define USE_AUTO_KEY           5
 #define USE_AUTO_KEY_RELEASE   6
+#define USE_AUTO_KEY_NUMPAD
 #define USE_SCREEN_FILTER
 #define USE_SOUND_VOLUME       2
+#define USE_DEBUGGER
+#define USE_CPU_I386
+
 #include "../../common.h"
 #include "../../fileio.h"
+#include "../vm_template.h"
 
 #ifdef USE_SOUND_VOLUME
 static const _TCHAR *sound_device_caption[] = {
@@ -61,19 +65,21 @@ class UPD1990A;
 class UPD7220;
 class UPD765A;
 
-class DISPLAY;
-class FLOPPY;
-class KEYBOARD;
-class MEMORY;
-class SYSTEM;
+namespace N5200 {
+       class DISPLAY;
+       class FLOPPY;
+       class KEYBOARD;
+       class MEMORY;
+       class SYSTEM;
+}
 
-class VM
+class VM : public VM_TEMPLATE
 {
 protected:
-       EMU* emu;
+       //EMU* emu;
        
        // devices
-       EVENT* event;
+       //EVENT* event;
        
        BEEP* beep;
        I386* cpu;
@@ -90,11 +96,11 @@ protected:
        UPD7220* gdc_g;
        UPD765A* fdc;
        
-       DISPLAY* display;
-       FLOPPY* floppy;
-       KEYBOARD* keyboard;
-       MEMORY* memory;
-       SYSTEM* system;
+       N5200::DISPLAY* display;
+       N5200::FLOPPY* floppy;
+       N5200::KEYBOARD* keyboard;
+       N5200::MEMORY* memory;
+       N5200::SYSTEM* system;
        
 public:
        // ----------------------------------------
@@ -112,6 +118,11 @@ public:
        void reset();
        void run();
        
+#ifdef USE_DEBUGGER
+       // debugger
+       DEVICE *get_cpu(int index);
+#endif
+       
        // draw screen
        void draw_screen();
        
@@ -139,6 +150,7 @@ public:
        bool is_frame_skippable();
        
        void update_config();
+       bool process_state(FILEIO* state_fio, bool loading);
        
        // ----------------------------------------
        // for each device
@@ -146,9 +158,9 @@ public:
        
        // devices
        DEVICE* get_device(int id);
-       DEVICE* dummy;
-       DEVICE* first_device;
-       DEVICE* last_device;
+       //DEVICE* dummy;
+       //DEVICE* first_device;
+       //DEVICE* last_device;
 };
 
 #endif