2 FUJITSU FMR-30 Emulator 'eFMR-30'
4 Author : Takeda.Toshiya
10 #ifndef _FMR30_MEMORY_H_
11 #define _FMR30_MEMORY_H_
14 #include "../../emu.h"
15 #include "../device.h"
17 #define SIG_MEMORY_DISP 0
18 #define SIG_MEMORY_VSYNC 1
20 class FMR30_MEMORY : public DEVICE
23 DEVICE *d_cpu, *d_dma;
25 uint8_t* rbank[4096]; // 16MB / 4KB
31 uint8_t ram[0x100000]; // RAM 1MB
32 #elif defined(HAS_I286)
33 uint8_t ram[0x400000]; // RAM 1+3MB
35 uint8_t vram[0x20000]; // VRAM 32KB * 4pl
36 uint8_t cvram[0x1000];
37 uint8_t kvram[0x1000];
39 uint8_t ipl[0x10000]; // IPL 64KB
40 uint8_t kanji16[0x40000]; // KANJI(16x16) 256KB
42 uint8_t mcr1, mcr2, a20;
43 uint8_t lcdadr, lcdreg[32];
45 int kj_h, kj_l, kj_ofs, kj_row;
48 uint8_t screen_txt[400][648];
49 uint8_t screen_cg[400][640];
57 FMR30_MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
59 set_device_name(_T("Memory Bus"));
66 void write_data8(uint32_t addr, uint32_t data);
67 uint32_t read_data8(uint32_t addr);
68 void write_io8(uint32_t addr, uint32_t data);
69 uint32_t read_io8(uint32_t addr);
71 bool process_state(FILEIO* state_fio, bool loading);
74 void set_context_cpu(DEVICE* device)
78 void set_context_dma(DEVICE* device)