OSDN Git Service

[VM][STATE] Use namespace {VMNAME} to separate per VMs.
[csp-qt/common_source_project-fm7.git] / source / src / vm / qc10 / display.h
index 147e383..576b819 100644 (file)
@@ -1,94 +1,99 @@
-/*\r
-       EPSON QC-10 Emulator 'eQC-10'\r
-\r
-       Author : Takeda.Toshiya\r
-       Date   : 2008.02.16 -\r
-\r
-       [ display ]\r
-*/\r
-\r
-#ifndef _DISPLAY_H_\r
-#define _DISPLAY_H_\r
-\r
-#include "../vm.h"\r
-#include "../../emu.h"\r
-#include "../device.h"\r
-\r
-#define VRAM_SIZE      0x20000\r
-\r
-class UPD7220;\r
-\r
-class DISPLAY : public DEVICE\r
-{\r
-private:\r
-       UPD7220 *d_gdc;\r
-       \r
-#ifdef _COLOR_MONITOR\r
-       uint8 vram_r[VRAM_SIZE];\r
-       uint8 vram_g[VRAM_SIZE];\r
-       uint8 vram_b[VRAM_SIZE];\r
-       scrntype palette_pc[8];\r
-#else\r
-       uint8 vram[VRAM_SIZE];\r
-       uint8 font[0x10000];    // 16bytes * 256chars\r
-       scrntype palette_pc[16];        // normal, intensify\r
-#endif\r
-       uint8 screen[400][640];\r
-       scrntype tmp[640];\r
-       \r
-       uint8 *sync, *zoom, *ra, *cs;\r
-       int* ead;\r
-       uint8 bank;\r
-       int blink;\r
-       \r
-public:\r
-       DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}\r
-       ~DISPLAY() {}\r
-       \r
-       // common functions\r
-       void initialize();\r
-       void reset();\r
-       void write_io8(uint32 addr, uint32 data);\r
-       uint32 read_io8(uint32 addr);\r
-       void event_frame();\r
-       void save_state(FILEIO* state_fio);\r
-       bool load_state(FILEIO* state_fio);\r
-       \r
-       // unique functions\r
-       void set_context_gdc(UPD7220* device)\r
-       {\r
-               d_gdc = device;\r
-       }\r
-       uint8* get_vram()\r
-       {\r
-#ifdef _COLOR_MONITOR\r
-               return vram_b;\r
-#else\r
-               return vram;\r
-#endif\r
-       }\r
-       void set_sync_ptr(uint8* ptr)\r
-       {\r
-               sync = ptr;\r
-       }\r
-       void set_zoom_ptr(uint8* ptr)\r
-       {\r
-               zoom = ptr;\r
-       }\r
-       void set_ra_ptr(uint8* ptr)\r
-       {\r
-               ra = ptr;\r
-       }\r
-       void set_cs_ptr(uint8* ptr)\r
-       {\r
-               cs = ptr;\r
-       }\r
-       void set_ead_ptr(int* ptr)\r
-       {\r
-               ead = ptr;\r
-       }\r
-       void draw_screen();\r
-};\r
-\r
-#endif\r
-\r
+/*
+       EPSON QC-10 Emulator 'eQC-10'
+
+       Author : Takeda.Toshiya
+       Date   : 2008.02.16 -
+
+       [ display ]
+*/
+
+#ifndef _DISPLAY_H_
+#define _DISPLAY_H_
+
+#include "../vm.h"
+#include "../../emu.h"
+#include "../device.h"
+
+#define VRAM_SIZE      0x20000
+
+class UPD7220;
+
+namespace QC10 {
+
+class DISPLAY : public DEVICE
+{
+private:
+       UPD7220 *d_gdc;
+       
+#ifdef _COLOR_MONITOR
+       uint8_t vram_r[VRAM_SIZE];
+       uint8_t vram_g[VRAM_SIZE];
+       uint8_t vram_b[VRAM_SIZE];
+       scrntype_t palette_pc[8];
+#else
+       uint8_t vram[VRAM_SIZE];
+       uint8_t font[0x10000];  // 16bytes * 256chars
+       scrntype_t palette_pc[16];      // normal, intensify
+#endif
+       uint8_t screen[400][640];
+       scrntype_t tmp[640];
+       
+       uint8_t *sync, *zoom, *ra, *cs;
+       int* ead;
+       uint8_t bank;
+       int blink;
+       
+public:
+       DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+       {
+               set_device_name(_T("Display"));
+       }
+       ~DISPLAY() {}
+       
+       // common functions
+       void initialize();
+       void reset();
+       void write_io8(uint32_t addr, uint32_t data);
+       uint32_t read_io8(uint32_t addr);
+       void event_frame();
+       bool process_state(FILEIO* state_fio, bool loading);
+       
+       // unique functions
+       void set_context_gdc(UPD7220* device)
+       {
+               d_gdc = device;
+       }
+       uint8_t* get_vram()
+       {
+#ifdef _COLOR_MONITOR
+               return vram_b;
+#else
+               return vram;
+#endif
+       }
+       void set_sync_ptr(uint8_t* ptr)
+       {
+               sync = ptr;
+       }
+       void set_zoom_ptr(uint8_t* ptr)
+       {
+               zoom = ptr;
+       }
+       void set_ra_ptr(uint8_t* ptr)
+       {
+               ra = ptr;
+       }
+       void set_cs_ptr(uint8_t* ptr)
+       {
+               cs = ptr;
+       }
+       void set_ead_ptr(int* ptr)
+       {
+               ead = ptr;
+       }
+       void draw_screen();
+};
+
+}
+#endif
+