[ main system ]
*/
-#include "main.h"
+#include "mainbus.h"
#include "sub.h"
#include "keyboard.h"
#include "../disk.h"
#include "../mb8877.h"
#include "../msm58321.h"
#include "../pcm1bit.h"
+#ifdef HAS_I286
+#include "../i286.h"
+#endif
-void MAIN::initialize()
+void MAINBUS::initialize()
{
MEMORY::initialize();
int0 = int1 = int2 = int3 = int4 = int5 = int6 = int7 = false;
}
-void MAIN::release()
+void MAINBUS::release()
{
MEMORY::release();
}
-void MAIN::reset()
+void MAINBUS::reset()
{
MEMORY::reset();
d_pcm->write_signal(SIG_PCM1BIT_ON, 0, 0);
}
-void MAIN::write_io8(uint32_t addr, uint32_t data)
+void MAINBUS::write_io8(uint32_t addr, uint32_t data)
{
uint8_t change;
}
}
-uint32_t MAIN::read_io8(uint32_t addr)
+uint32_t MAINBUS::read_io8(uint32_t addr)
{
switch(addr) {
#ifdef HAS_I286
return 0xff;
}
-void MAIN::write_signal(int id, uint32_t data, uint32_t mask)
+void MAINBUS::write_signal(int id, uint32_t data, uint32_t mask)
{
if(id == SIG_MAIN_IRQ0_TX) {
irq0_tx = ((data & mask) != 0);
IRQ7: \83v\83\8a\83\93\83^
*/
-void MAIN::update_int0()
+void MAINBUS::update_int0()
{
// bool prev = int0;
int0 = (irq8 && (irq_enb & 0x10));
// }
}
-void MAIN::update_int1()
+void MAINBUS::update_int1()
{
// bool prev = int1;
int1 = (irq1 && (irq_enb & 0x80)) || firq1;
// }
}
-void MAIN::update_int2()
+void MAINBUS::update_int2()
{
// bool prev = int2;
int2 = (irq5 && (ext_irq_enb & 0x08)) || irq6;
// }
}
-void MAIN::update_int3()
+void MAINBUS::update_int3()
{
// bool prev = int3;
int3 = firq0 || firq2 || firq3;
// }
}
-void MAIN::update_int4()
+void MAINBUS::update_int4()
{
// bool prev = int4;
int4 = (irq0_tx && (irq_enb & 0x02)) || (irq0_rx && (irq_enb & 0x04)) || (irq0_syn && (irq_enb & 0x08));
// }
}
-void MAIN::update_int5()
+void MAINBUS::update_int5()
{
// bool prev = int5;
int5 = irq2 || irq9;
// }
}
-void MAIN::update_int6()
+void MAINBUS::update_int6()
{
// bool prev = int6;
int6 = (irq6 && (irq_enb & 0x20));
// }
}
-void MAIN::update_int7()
+void MAINBUS::update_int7()
{
// bool prev = int7;
int7 = irq7 && (irq_enb & 0x01);
#define STATE_VERSION 1
-void MAIN::save_state(FILEIO* state_fio)
+void MAINBUS::save_state(FILEIO* state_fio)
{
state_fio->FputUint32(STATE_VERSION);
state_fio->FputInt32(this_device_id);
}
-bool MAIN::load_state(FILEIO* state_fio)
+bool MAINBUS::load_state(FILEIO* state_fio)
{
if(state_fio->FgetUint32() != STATE_VERSION) {
return false;