2 FUJITSU FM Towns Emulator 'eFMTowns'
4 Author : Kyuma.Ohta <whatisthis.sowhat _at_ gmail.com>
7 [ dictionary rom/ram & cmos & RAM area 0x000d0000 - 0x000dffff]
9 * 0x000d0000 - 0x000d7fff : DICTIONARY ROM (BANKED)
10 * 0x000d8000 - 0x000d9fff : DICTIONARY RAM / GAIJI RAM
11 * 0x000da000 - 0x000dffff : RESERVED
12 * 0xc2080000 - 0xc20fffff : DICTIONARY ROM (NOT BANKED)
13 * 0xc2140000 - 0xc2141fff : DICTIONARY RAM
15 * 0x0484 : DICTIONARY BANK (for 0xd0000 - 0xd7ffff)
16 * 0x3000 - 0x3ffe (even address) : DICTIONARY RAM
21 #include "../../common.h"
22 #include "../device.h"
24 #define SIG_FMTOWNS_DICT_BANK 1
28 class DICTIONARY : public DEVICE
31 uint8_t dict_rom[0x80000]; // 512KB
32 uint8_t dict_ram[0x2000]; // 2 + 6KB
33 // uint8_t ram_d0[0x8000]; // 32KB
39 DICTIONARY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
43 set_device_name("FM-Towns Dictionary ROM/RAM 0x000d0000 - 0x000dffff with CMOS RAM");
50 uint32_t __FASTCALL read_memory_mapped_io8(uint32_t addr);
51 uint32_t __FASTCALL read_memory_mapped_io16(uint32_t addr);
52 uint32_t __FASTCALL read_memory_mapped_io32(uint32_t addr);
54 void __FASTCALL write_memory_mapped_io8(uint32_t addr, uint32_t data);
55 void __FASTCALL write_memory_mapped_io16(uint32_t addr, uint32_t data);
56 void __FASTCALL write_memory_mapped_io32(uint32_t addr, uint32_t data);
58 void __FASTCALL write_io8(uint32_t addr, uint32_t data);
59 uint32_t __FASTCALL read_io8(uint32_t addr);
61 void __FASTCALL write_signal(int ch, uint32_t data, uint32_t mask);
62 uint32_t __FASTCALL read_signal(int ch);
64 bool process_state(FILEIO* state_fio, bool loading);