X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=source%2Fsrc%2Fvm%2Fj3100%2Fslmemory.h;h=5766f8cfefd6b35bd53c7e4f834e210e47abb799;hb=2fc1443c0f411167f1b61ff87e13fee36cd5876b;hp=45aa9c20fe5bdc886417783fe74c2020d3e8fb78;hpb=5c5e7c581fb82e64c81869a60173d542be165225;p=csp-qt%2Fcommon_source_project-fm7.git diff --git a/source/src/vm/j3100/slmemory.h b/source/src/vm/j3100/slmemory.h index 45aa9c20f..5766f8cfe 100644 --- a/source/src/vm/j3100/slmemory.h +++ b/source/src/vm/j3100/slmemory.h @@ -1,69 +1,75 @@ -/* - TOSHIBA J-3100SL Emulator 'eJ-3100SL' - - Author : Takeda.Toshiya - Date : 2011.08.16- - - [ memory ] -*/ - -#ifndef _SL_MEMORY_H_ -#define _SL_MEMORY_H_ - -#include "../vm.h" -#include "../../emu.h" -#include "../device.h" - -class MEMORY : public DEVICE -{ -private: - uint8* rbank[512]; // 1MB / 2KB - uint8* wbank[512]; - uint8 wdmy[0x800]; - uint8 rdmy[0x800]; - uint8 ram[0xa0000]; // RAM 640KB - uint8 vram[0x8000]; // VRAM 32KB - uint8 ems[0x4000*56]; // EMS 16KB * 56 - uint8 kanji[0x100000]; // KANJI ROM 1MB -#ifdef _J3100SE - uint8 backup[0x4000]; // Backuped RAM 16KB - uint8 ipl[0xc000]; // IPL 48KB -#else - uint8 backup[0x800]; // Backuped RAM 2KB - uint8 ipl[0x8000]; // IPL 32KB -#endif - - int kanji_bank; - - int ems_index; - int ems_regs[2]; - int ems_page[4]; - int ems_bsl; - - uint32 ems_crc32; - uint32 backup_crc32; - - void update_ems(int page); - -public: - MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {} - ~MEMORY() {} - - // common functions - void initialize(); - void release(); - void reset(); - void write_data8(uint32 addr, uint32 data); - uint32 read_data8(uint32 addr); - void write_io8(uint32 addr, uint32 data); - uint32 read_io8(uint32 addr); - - // unitque function - uint8* get_vram() - { - return vram; - } -}; - -#endif - +/* + TOSHIBA J-3100SL Emulator 'eJ-3100SL' + + Author : Takeda.Toshiya + Date : 2011.08.16- + + [ memory ] +*/ + +#ifndef _SL_MEMORY_H_ +#define _SL_MEMORY_H_ + +#include "../vm.h" +#include "../../emu.h" +#include "../device.h" + +namespace J3100SL { + +class MEMORY : public DEVICE +{ +private: + uint8_t* rbank[512]; // 1MB / 2KB + uint8_t* wbank[512]; + uint8_t wdmy[0x800]; + uint8_t rdmy[0x800]; + uint8_t ram[0xa0000]; // RAM 640KB + uint8_t vram[0x8000]; // VRAM 32KB + uint8_t ems[0x4000*56]; // EMS 16KB * 56 + uint8_t kanji[0x100000]; // KANJI ROM 1MB +#ifdef _J3100SE + uint8_t backup[0x4000]; // Backuped RAM 16KB + uint8_t ipl[0xc000]; // IPL 48KB +#else + uint8_t backup[0x800]; // Backuped RAM 2KB + uint8_t ipl[0x8000]; // IPL 32KB +#endif + + int kanji_bank; + + int ems_index; + int ems_regs[2]; + int ems_page[4]; + int ems_bsl; + + uint32_t ems_crc32; + uint32_t backup_crc32; + + void update_ems(int page); + +public: + MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) + { + set_device_name(_T("Memory Bus")); + } + ~MEMORY() {} + + // common functions + void initialize(); + void release(); + void reset(); + void write_data8(uint32_t addr, uint32_t data); + uint32_t read_data8(uint32_t addr); + void write_io8(uint32_t addr, uint32_t data); + uint32_t read_io8(uint32_t addr); + + // unique function + uint8_t* get_vram() + { + return vram; + } +}; + +} +#endif +