-/*\r
- TOSHIBA PASOPIA 7 Emulator 'EmuPIA7'\r
-\r
- Author : Takeda.Toshiya\r
- Date : 2006.09.20 -\r
-\r
- [ 8bit i/o bus ]\r
-*/\r
-\r
-#include "iobus.h"\r
-#include "../../fileio.h"\r
-\r
-void IOBUS::write_io8(uint32 addr, uint32 data)\r
-{\r
- if(mio) {\r
- mio = false;\r
- ram[addr & 0xffff] = data;\r
- } else {\r
- d_io->write_io8(addr, data);\r
- }\r
-}\r
-\r
-uint32 IOBUS::read_io8(uint32 addr)\r
-{\r
- if(mio) {\r
- mio = false;\r
- return ram[addr & 0xffff];\r
- } else {\r
- return d_io->read_io8(addr);\r
- }\r
-}\r
-\r
-void IOBUS::write_signal(int id, uint32 data, uint32 mask)\r
-{\r
- if(id == SIG_IOBUS_MIO) {\r
- mio = ((data & mask) != 0);\r
- }\r
-}\r
-\r
-#define STATE_VERSION 1\r
-\r
-void IOBUS::save_state(FILEIO* state_fio)\r
-{\r
- state_fio->FputUint32(STATE_VERSION);\r
- state_fio->FputInt32(this_device_id);\r
- \r
- state_fio->FputBool(mio);\r
-}\r
-\r
-bool IOBUS::load_state(FILEIO* state_fio)\r
-{\r
- if(state_fio->FgetUint32() != STATE_VERSION) {\r
- return false;\r
- }\r
- if(state_fio->FgetInt32() != this_device_id) {\r
- return false;\r
- }\r
- mio = state_fio->FgetBool();\r
- return true;\r
-}\r
-\r
+/*
+ TOSHIBA PASOPIA 7 Emulator 'EmuPIA7'
+
+ Author : Takeda.Toshiya
+ Date : 2006.09.20 -
+
+ [ 8bit i/o bus ]
+*/
+
+#include "iobus.h"
+
+void IOBUS::reset()
+{
+ mio = false;
+}
+
+void IOBUS::write_io8(uint32 addr, uint32 data)
+{
+ if(mio) {
+ mio = false;
+ ram[addr & 0xffff] = data;
+ } else {
+ d_io->write_io8(addr, data);
+ }
+}
+
+uint32 IOBUS::read_io8(uint32 addr)
+{
+ if(mio) {
+ mio = false;
+ return ram[addr & 0xffff];
+ } else {
+ return d_io->read_io8(addr);
+ }
+}
+
+void IOBUS::write_signal(int id, uint32 data, uint32 mask)
+{
+ if(id == SIG_IOBUS_MIO) {
+ mio = ((data & mask) != 0);
+ }
+}
+
+#define STATE_VERSION 1
+
+void IOBUS::save_state(FILEIO* state_fio)
+{
+ state_fio->FputUint32(STATE_VERSION);
+ state_fio->FputInt32(this_device_id);
+
+ state_fio->FputBool(mio);
+}
+
+bool IOBUS::load_state(FILEIO* state_fio)
+{
+ if(state_fio->FgetUint32() != STATE_VERSION) {
+ return false;
+ }
+ if(state_fio->FgetInt32() != this_device_id) {
+ return false;
+ }
+ mio = state_fio->FgetBool();
+ return true;
+}
+