2 TOSHIBA PASOPIA 7 Emulator 'EmuPIA7'
4 Author : Takeda.Toshiya
13 #include "kanjipac2.h"
16 void PAC2::initialize()
18 // slot 4 : ram pack #5
19 // slot 3 : ram pack #6
22 dummy = new PAC2DEV(static_cast<VM *>(vm), emu);
23 rampac2[0] = new RAMPAC2(static_cast<VM *>(vm), emu);
24 rampac2[1] = new RAMPAC2(static_cast<VM *>(vm), emu);
25 kanji = new KANJIPAC2(static_cast<VM *>(vm), emu);
26 joy = new JOYPAC2(static_cast<VM *>(vm), emu);
28 rampac2[0]->initialize(1);
29 rampac2[1]->initialize(2);
48 rampac2[0]->release();
50 rampac2[1]->release();
63 void PAC2::write_io8(uint32_t addr, uint32_t data)
69 dev[sel]->write_io8(addr, data);
73 dev[sel]->write_io8(addr, data);
81 uint32_t PAC2::read_io8(uint32_t addr)
83 return dev[sel]->read_io8(addr);
86 void PAC2::open_rampac2(int drv, const _TCHAR* file_path)
88 rampac2[drv]->open_file(file_path);
91 #define STATE_VERSION 1
93 #include "../../statesub.h"
95 void PAC2::decl_state()
97 enter_decl_state(STATE_VERSION);
99 DECL_STATE_ENTRY_INT32(sel);
110 for(int i = 0; i < 2; i++) {
111 if(rampac2[i] != NULL) {
112 rampac2[i]->decl_state();
118 void PAC2::save_state(FILEIO* state_fio)
120 if(state_entry != NULL) {
121 state_entry->save_state(state_fio);
123 // state_fio->FputUint32(STATE_VERSION);
124 // state_fio->FputInt32(this_device_id);
126 // state_fio->FputInt32(sel);
127 rampac2[0]->save_state(state_fio);
128 rampac2[1]->save_state(state_fio);
129 kanji->save_state(state_fio);
132 bool PAC2::load_state(FILEIO* state_fio)
135 if(state_entry != NULL) {
136 mb = state_entry->load_state(state_fio);
138 if(!mb) return false;
139 // if(state_fio->FgetUint32() != STATE_VERSION) {
142 // if(state_fio->FgetInt32() != this_device_id) {
145 // sel = state_fio->FgetInt32();
146 if(!rampac2[0]->load_state(state_fio)) {
149 if(!rampac2[1]->load_state(state_fio)) {
152 if(!kanji->load_state(state_fio)) {
158 bool PAC2::process_state(FILEIO* state_fio, bool loading)
160 if(!state_fio->StateCheckUint32(STATE_VERSION)) {
163 if(!state_fio->StateCheckInt32(this_device_id)) {
166 state_fio->StateInt32(sel);
167 if(!rampac2[0]->process_state(state_fio, loading)) {
170 if(!rampac2[1]->process_state(state_fio, loading)) {
173 if(!kanji->process_state(state_fio, loading)) {