2 NEC PC-98LT Emulator 'ePC-98LT'
3 NEC PC-98HA Emulator 'eHANDY98'
5 Author : Takeda.Toshiya
11 #ifndef _PC98LT_MEMORY_H_
12 #define _PC98LT_MEMORY_H_
15 #include "../../emu.h"
16 #include "../device.h"
18 #define SIG_MEMORY_IR2 0
20 class PC98LT_MEMORY : public DEVICE
23 uint8_t* rbank[64]; // 1MB / 16KB
26 uint8_t rdmy[0x10000];
28 uint8_t ram[0xa0000]; // RAM 640KB
29 uint8_t vram[0x8000]; // VRAM 32KB
31 uint8_t ipl[0x10000]; // IPL 64KB
32 uint8_t kanji[0x40000]; // Kanji ROM 256KB
34 uint8_t learn[0x40000]; // Learn RAM 256KB
35 uint8_t dic[0xc0000]; // Dictionary ROM 768KB
36 uint8_t romdrv[0x100000]; // ROM Drive 1024KB
37 uint8_t ramdrv[0x160000]; // RAM Drive 1408KB
38 uint8_t ems[0x400000]; // EMS 4096KB
39 uint8_t memcard[0x400000]; // Memory Card 4096KB
41 uint8_t learn[0x10000]; // Learn RAM 64KB
42 uint8_t dic[0x80000]; // Dictionary ROM 512KB
43 uint8_t romdrv[0x80000]; // ROM Drive 512KB
48 uint32_t ramdrv_crc32;
49 uint32_t memcard_crc32;
53 uint8_t learn_bank, dic_bank, kanji_bank, romdrv_bank;
55 uint8_t ramdrv_bank, ramdrv_sel;
60 PC98LT_MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
62 set_device_name(_T("Memory Bus"));
70 void write_data8(uint32_t addr, uint32_t data);
71 uint32_t read_data8(uint32_t addr);
72 void write_io8(uint32_t addr, uint32_t data);
73 uint32_t read_io8(uint32_t addr);
74 bool process_state(FILEIO* state_fio, bool loading);