2 NEC PC-100 Emulator 'ePC-100'
4 Author : Takeda.Toshiya
12 void KANJI::initialize()
15 memset(kanji, 0xff, sizeof(kanji));
18 FILEIO* fio = new FILEIO();
19 if(fio->Fopen(create_local_path(_T("KANJI.ROM")), FILEIO_READ_BINARY)) {
20 fio->Fread(kanji, sizeof(kanji), 1);
29 void KANJI::write_io8(uint32_t addr, uint32_t data)
33 ptr = (ptr & 0xff00) | data;
36 ptr = (ptr & 0x00ff) | (data << 8);
47 uint32_t KANJI::read_io8(uint32_t addr)
51 return kanji[(ptr << 1) | 0];
53 return kanji[(ptr << 1) | 1];
58 #define STATE_VERSION 1
60 #include "../../statesub.h"
62 void KANJI::decl_state()
64 enter_decl_state(STATE_VERSION);
66 DECL_STATE_ENTRY_UINT16(ptr);
67 DECL_STATE_ENTRY_BOOL(strobe);
72 void KANJI::save_state(FILEIO* state_fio)
74 if(state_entry != NULL) {
75 state_entry->save_state(state_fio);
77 // state_fio->FputUint32(STATE_VERSION);
78 // state_fio->FputInt32(this_device_id);
80 // state_fio->FputUint16(ptr);
81 // state_fio->FputBool(strobe);
84 bool KANJI::load_state(FILEIO* state_fio)
87 if(state_entry != NULL) {
88 mb = state_entry->load_state(state_fio);
93 // if(state_fio->FgetUint32() != STATE_VERSION) {
96 // if(state_fio->FgetInt32() != this_device_id) {
99 // ptr = state_fio->FgetUint16();
100 // strobe = state_fio->FgetBool();
104 bool KANJI::process_state(FILEIO* state_fio, bool loading)
106 if(!state_fio->StateCheckUint32(STATE_VERSION)) {
109 if(!state_fio->StateCheckInt32(this_device_id)) {
112 state_fio->StateUint16(ptr);
113 state_fio->StateBool(strobe);