2 SANYO PHC-25 Emulator 'ePHC-25'
3 SEIKO MAP-1010 Emulator 'eMAP-1010'
5 Author : Takeda.Toshiya
12 #include "../datarec.h"
13 #include "../mc6847.h"
15 void PHC25_SYSTEM::initialize()
20 void PHC25_SYSTEM::reset()
22 d_vdp->write_signal(SIG_MC6847_INTEXT, 1, 1);
25 void PHC25_SYSTEM::write_io8(uint32_t addr, uint32_t data)
27 d_drec->write_signal(SIG_DATAREC_MIC, data, 0x01);
28 d_drec->write_signal(SIG_DATAREC_REMOTE, ~data, 0x02);
29 // bit2 : kana lock led ???
30 // bit3 : printer strobe
31 d_vdp->write_signal(SIG_MC6847_GM, (data & 0x20) ? 7 : 6, 7);
32 d_vdp->write_signal(SIG_MC6847_CSS, data, 0x40);
33 d_vdp->write_signal(SIG_MC6847_AG, data, 0x80);
36 uint32_t PHC25_SYSTEM::read_io8(uint32_t addr)
41 void PHC25_SYSTEM::write_signal(int id, uint32_t data, uint32_t mask)
43 sysport = (sysport & ~mask) | (data & mask);
46 #define STATE_VERSION 1
48 #include "../../statesub.h"
50 void PHC25_SYSTEM::decl_state()
52 enter_decl_state(STATE_VERSION);
54 DECL_STATE_ENTRY_UINT8(sysport);
59 void PHC25_SYSTEM::save_state(FILEIO* state_fio)
61 if(state_entry != NULL) {
62 state_entry->save_state(state_fio);
64 // state_fio->FputUint32(STATE_VERSION);
65 // state_fio->FputInt32(this_device_id);
67 // state_fio->FputUint8(sysport);
70 bool PHC25_SYSTEM::load_state(FILEIO* state_fio)
73 if(state_entry != NULL) {
74 mb = state_entry->load_state(state_fio);
79 // if(state_fio->FgetUint32() != STATE_VERSION) {
82 // if(state_fio->FgetInt32() != this_device_id) {
85 // sysport = state_fio->FgetUint8();
89 bool PHC25_SYSTEM::process_state(FILEIO* state_fio, bool loading)
91 if(!state_fio->StateCheckUint32(STATE_VERSION)) {
94 if(!state_fio->StateCheckInt32(this_device_id)) {
97 state_fio->StateUint8(sysport);