genpc: Make INT and NMI line callbacks (nw)

This is intended to facilitate future planned changes to CPU input lines.
This commit is contained in:
AJR 2019-10-31 19:43:00 -04:00
parent 9fe2af2be1
commit 69bd218e03
15 changed files with 94 additions and 14 deletions

View File

@ -168,7 +168,7 @@ WRITE_LINE_MEMBER(ibm5160_mb_device::pc_speaker_set_spkrdata)
WRITE_LINE_MEMBER(ibm5160_mb_device::pic_int_w) WRITE_LINE_MEMBER(ibm5160_mb_device::pic_int_w)
{ {
m_maincpu->set_input_line(0, state); m_int_callback(state);
} }
@ -396,13 +396,13 @@ WRITE8_MEMBER( ibm5160_mb_device::nmi_enable_w )
{ {
m_nmi_enabled = BIT(data,7); m_nmi_enabled = BIT(data,7);
if (!m_nmi_enabled) if (!m_nmi_enabled)
m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE); m_nmi_callback(CLEAR_LINE);
} }
WRITE_LINE_MEMBER( ibm5160_mb_device::iochck_w ) WRITE_LINE_MEMBER( ibm5160_mb_device::iochck_w )
{ {
if (m_nmi_enabled && !state) if (m_nmi_enabled && !state)
m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE); m_nmi_callback(ASSERT_LINE);
} }
//************************************************************************** //**************************************************************************
@ -542,6 +542,8 @@ ibm5160_mb_device::ibm5160_mb_device(
, m_isabus(*this, "isa") , m_isabus(*this, "isa")
, m_pc_kbdc(*this, "pc_kbdc") , m_pc_kbdc(*this, "pc_kbdc")
, m_ram(*this, ":" RAM_TAG) , m_ram(*this, ":" RAM_TAG)
, m_int_callback(*this)
, m_nmi_callback(*this)
{ {
} }
@ -555,6 +557,20 @@ void ibm5160_mb_device::map(address_map &map)
map(0x00a0, 0x00a1).w(FUNC(ibm5160_mb_device::nmi_enable_w)); map(0x00a0, 0x00a1).w(FUNC(ibm5160_mb_device::nmi_enable_w));
} }
//-------------------------------------------------
// device_resolve_objects - resolve objects that
// may be needed for other devices to set
// initial conditions at start time
//-------------------------------------------------
void ibm5160_mb_device::device_resolve_objects()
{
m_int_callback.resolve_safe();
m_nmi_callback.resolve_safe();
}
//------------------------------------------------- //-------------------------------------------------
// device_start - device-specific startup // device_start - device-specific startup
//------------------------------------------------- //-------------------------------------------------

View File

@ -38,6 +38,9 @@ public:
subdevice<isa8_device>("isa")->set_iospace(std::forward<T>(tag), AS_IO); subdevice<isa8_device>("isa")->set_iospace(std::forward<T>(tag), AS_IO);
} }
auto int_callback() { return m_int_callback.bind(); }
auto nmi_callback() { return m_nmi_callback.bind(); }
void map(address_map &map); void map(address_map &map);
uint8_t m_pit_out2; uint8_t m_pit_out2;
@ -56,6 +59,7 @@ protected:
ibm5160_mb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); ibm5160_mb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides // device-level overrides
virtual void device_resolve_objects() override;
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
// optional information overrides // optional information overrides
@ -75,6 +79,9 @@ protected:
optional_device<pc_kbdc_device> m_pc_kbdc; optional_device<pc_kbdc_device> m_pc_kbdc;
required_device<ram_device> m_ram; required_device<ram_device> m_ram;
devcb_write_line m_int_callback;
devcb_write_line m_nmi_callback;
/* U73 is an LS74 - dual flip flop */ /* U73 is an LS74 - dual flip flop */
/* Q2 is set by OUT1 from the 8253 and goes to DRQ1 on the 8237 */ /* Q2 is set by OUT1 from the 8253 and goes to DRQ1 on the 8237 */
uint8_t m_u73_q2; uint8_t m_u73_q2;

View File

@ -511,7 +511,9 @@ void amstrad_pc_state::pc200(machine_config &config)
m_maincpu->set_addrmap(AS_IO, &amstrad_pc_state::pc200_io); m_maincpu->set_addrmap(AS_IO, &amstrad_pc_state::pc200_io);
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb)); m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
PCNOPPI_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu); PCNOPPI_MOTHERBOARD(config, m_mb, 0).set_cputag(m_maincpu);
m_mb->int_callback().set_inputline(m_maincpu, 0);
m_mb->nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
// FIXME: determine ISA bus clock // FIXME: determine ISA bus clock
ISA8_SLOT(config, "aga", 0, "mb:isa", pc_isa8_cards, "aga_pc200", true); ISA8_SLOT(config, "aga", 0, "mb:isa", pc_isa8_cards, "aga_pc200", true);

View File

@ -111,6 +111,8 @@ void asst128_state::asst128(machine_config &config)
asst128_mb_device &mb(ASST128_MOTHERBOARD(config, "mb", 0)); asst128_mb_device &mb(ASST128_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu); mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(asst128)); mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(asst128));
subdevice<cassette_image_device>("mb:cassette")->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED); subdevice<cassette_image_device>("mb:cassette")->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);

View File

@ -228,7 +228,9 @@ void compc_state::compc(machine_config &config)
m_maincpu->set_addrmap(AS_IO, &compc_state::compc_io); m_maincpu->set_addrmap(AS_IO, &compc_state::compc_io);
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb)); m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
PCNOPPI_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu); PCNOPPI_MOTHERBOARD(config, m_mb, 0).set_cputag(m_maincpu);
m_mb->int_callback().set_inputline(m_maincpu, 0);
m_mb->nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
config.device_remove("mb:pit8253"); config.device_remove("mb:pit8253");
fe2010_pit_device &pit(FE2010_PIT(config, "mb:pit8253", 0)); fe2010_pit_device &pit(FE2010_PIT(config, "mb:pit8253", 0));
pit.set_clk<0>(XTAL(14'318'181)/12.0); /* heartbeat IRQ */ pit.set_clk<0>(XTAL(14'318'181)/12.0); /* heartbeat IRQ */

View File

@ -241,7 +241,10 @@ void ec184x_state::ec1840(machine_config &config)
m_maincpu->set_addrmap(AS_IO, &ec184x_state::ec1840_io); m_maincpu->set_addrmap(AS_IO, &ec184x_state::ec1840_io);
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb)); m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
EC1840_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu); ec1840_mb_device &mb(EC1840_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
// FIXME: determine ISA bus clock // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa1", 0, "mb:isa", ec184x_isa8_cards, "ec1840.0002", false); ISA8_SLOT(config, "isa1", 0, "mb:isa", ec184x_isa8_cards, "ec1840.0002", false);
@ -267,7 +270,10 @@ void ec184x_state::ec1841(machine_config &config)
MCFG_MACHINE_RESET_OVERRIDE(ec184x_state, ec1841) MCFG_MACHINE_RESET_OVERRIDE(ec184x_state, ec1841)
EC1841_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu); ec1841_mb_device &mb(EC1841_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
// FIXME: determine ISA bus clock // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa1", 0, "mb:isa", ec184x_isa8_cards, "ec1841.0002", false); // cga ISA8_SLOT(config, "isa1", 0, "mb:isa", ec184x_isa8_cards, "ec1841.0002", false); // cga
@ -292,7 +298,10 @@ void ec184x_state::ec1847(machine_config &config)
m_maincpu->set_addrmap(AS_IO, &ec184x_state::ec1847_io); m_maincpu->set_addrmap(AS_IO, &ec184x_state::ec1847_io);
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb)); m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
IBM5160_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu); ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
// FIXME: determine ISA bus clock // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "hercules", false); // cga, ega and vga(?) are options too ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "hercules", false); // cga, ega and vga(?) are options too

View File

@ -560,7 +560,9 @@ void europc_pc_state::europc(machine_config &config)
m_maincpu->set_addrmap(AS_IO, &europc_pc_state::europc_io); m_maincpu->set_addrmap(AS_IO, &europc_pc_state::europc_io);
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb)); m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
PCNOPPI_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu); PCNOPPI_MOTHERBOARD(config, m_mb, 0).set_cputag(m_maincpu);
m_mb->int_callback().set_inputline(m_maincpu, 0);
m_mb->nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
M6805U2(config, "kbdctrl", 16_MHz_XTAL / 4); M6805U2(config, "kbdctrl", 16_MHz_XTAL / 4);

View File

@ -62,7 +62,10 @@ void genpc_state::pcmda(machine_config &config)
m_maincpu->set_addrmap(AS_IO, &genpc_state::pc8_io); m_maincpu->set_addrmap(AS_IO, &genpc_state::pc8_io);
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb)); m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
IBM5160_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu); ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "mda", false); // FIXME: determine ISA bus clock ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "mda", false); // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "com", false); ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "com", false);

View File

@ -305,6 +305,8 @@ void ibmpc_state::ibm5150(machine_config &config)
ibm5150_mb_device &mb(IBM5150_MOTHERBOARD(config, "mb", 0)); ibm5150_mb_device &mb(IBM5150_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu); mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(cga)); mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(cga));
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false); // FIXME: determine ISA bus clock ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false); // FIXME: determine ISA bus clock
@ -343,6 +345,8 @@ void ibmpc_state::ibm5160(machine_config &config)
ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0)); ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu); mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(cga)); mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(cga));
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false); // FIXME: determine ISA bus clock ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false); // FIXME: determine ISA bus clock

View File

@ -77,6 +77,8 @@ void iskr103x_state::iskr1030m(machine_config &config)
ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0)); ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu); mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(iskr1030m)); mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(iskr1030m));
ISA8_SLOT(config, "isa1", 0, "mb:isa", iskr103x_isa8_cards, "cga_iskr1030m", false); // FIXME: determine IS bus clock ISA8_SLOT(config, "isa1", 0, "mb:isa", iskr103x_isa8_cards, "cga_iskr1030m", false); // FIXME: determine IS bus clock

View File

@ -554,7 +554,10 @@ void pasogo_state::pasogo(machine_config &config)
ADDRESS_MAP_BANK(config, "ems").set_map(&pasogo_state::emsbank_map).set_options(ENDIANNESS_LITTLE, 16, 32, 0x4000); ADDRESS_MAP_BANK(config, "ems").set_map(&pasogo_state::emsbank_map).set_options(ENDIANNESS_LITTLE, 16, 32, 0x4000);
IBM5160_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu); ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
RAM(config, RAM_TAG).set_default_size("512K"); RAM(config, RAM_TAG).set_default_size("512K");

View File

@ -205,6 +205,8 @@ void pc_state::pccga(machine_config &config)
ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0)); ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu); mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga)); mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
// FIXME: determine ISA bus clock // FIXME: determine ISA bus clock
@ -580,6 +582,8 @@ void pc_state::ibm5550(machine_config &config)
ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0)); ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu); mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga)); mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
// FIXME: determine ISA bus clock // FIXME: determine ISA bus clock
@ -822,6 +826,8 @@ void pc_state::poisk2(machine_config &config)
ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0)); ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu); mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga)); mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga_poisk2", false); // FIXME: determine ISA bus clock ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga_poisk2", false); // FIXME: determine ISA bus clock
@ -918,6 +924,8 @@ void pc_state::iskr3104(machine_config &config)
ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0)); ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu); mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(iskr3104)); mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(iskr3104));
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "ega", false).set_option_default_bios("ega", "iskr3104"); // FIXME: determine ISA bus clock ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "ega", false).set_option_default_bios("ega", "iskr3104"); // FIXME: determine ISA bus clock
@ -997,6 +1005,8 @@ void pc_state::siemens(machine_config &config)
ibm5150_mb_device &mb(IBM5150_MOTHERBOARD(config, "mb", 0)); ibm5150_mb_device &mb(IBM5150_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu); mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(siemens)); mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(siemens));
// FIXME: determine ISA bus clock // FIXME: determine ISA bus clock
@ -1045,6 +1055,8 @@ void pc_state::laser_turbo_xt(machine_config &config)
ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0)); ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu); mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga)); mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
// FIXME: determine ISA bus clock // FIXME: determine ISA bus clock
@ -1129,6 +1141,8 @@ void pc_state::zenith(machine_config &config)
ibm5150_mb_device &mb(IBM5150_MOTHERBOARD(config, "mb", 0)); ibm5150_mb_device &mb(IBM5150_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu); mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga)); mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false); // FIXME: determine ISA bus clock ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false); // FIXME: determine ISA bus clock
@ -1196,6 +1210,8 @@ void pc_state::juko16(machine_config &config)
ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0)); ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu); mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga)); mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false); // FIXME: determine ISA bus clock ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false); // FIXME: determine ISA bus clock

View File

@ -502,7 +502,11 @@ void pcxt_state::filetto(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &pcxt_state::filetto_map); m_maincpu->set_addrmap(AS_PROGRAM, &pcxt_state::filetto_map);
m_maincpu->set_addrmap(AS_IO, &pcxt_state::filetto_io); m_maincpu->set_addrmap(AS_IO, &pcxt_state::filetto_io);
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb)); m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
PCNOPPI_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu);
PCNOPPI_MOTHERBOARD(config, m_mb, 0).set_cputag(m_maincpu);
m_mb->int_callback().set_inputline(m_maincpu, 0);
m_mb->nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
ISA8_SLOT(config, "isa1", 0, "mb:isa", filetto_isa8_cards, "filetto", true); // FIXME: determine ISA bus clock ISA8_SLOT(config, "isa1", 0, "mb:isa", filetto_isa8_cards, "filetto", true); // FIXME: determine ISA bus clock
HC55516(config, "voice", 8000000/4).add_route(ALL_OUTPUTS, "mb:mono", 0.60); //8923S-UM5100 is a HC55536 with ROM hook-up HC55516(config, "voice", 8000000/4).add_route(ALL_OUTPUTS, "mb:mono", 0.60); //8923S-UM5100 is a HC55536 with ROM hook-up
@ -518,7 +522,10 @@ void pcxt_state::tetriskr(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &pcxt_state::tetriskr_map); m_maincpu->set_addrmap(AS_PROGRAM, &pcxt_state::tetriskr_map);
m_maincpu->set_addrmap(AS_IO, &pcxt_state::tetriskr_io); m_maincpu->set_addrmap(AS_IO, &pcxt_state::tetriskr_io);
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb)); m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
PCNOPPI_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu);
PCNOPPI_MOTHERBOARD(config, m_mb, 0).set_cputag(m_maincpu);
m_mb->int_callback().set_inputline(m_maincpu, 0);
m_mb->nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
ISA8_SLOT(config, "isa1", 0, "mb:isa", filetto_isa8_cards, "tetriskr", true); // FIXME: determine ISA bus clock ISA8_SLOT(config, "isa1", 0, "mb:isa", filetto_isa8_cards, "tetriskr", true); // FIXME: determine ISA bus clock

View File

@ -662,6 +662,8 @@ void tandy1000_state::tandy1000_common(machine_config &config)
{ {
T1000_MOTHERBOARD(config, m_mb, 0); T1000_MOTHERBOARD(config, m_mb, 0);
m_mb->set_cputag("maincpu"); m_mb->set_cputag("maincpu");
m_mb->int_callback().set_inputline("maincpu", 0);
m_mb->nmi_callback().set_inputline("maincpu", INPUT_LINE_NMI);
/* video hardware */ /* video hardware */
PCVIDEO_T1000(config, m_video, 0); PCVIDEO_T1000(config, m_video, 0);

View File

@ -264,7 +264,10 @@ void tosh1000_state::tosh1000(machine_config &config)
MCFG_MACHINE_RESET_OVERRIDE(tosh1000_state, tosh1000) MCFG_MACHINE_RESET_OVERRIDE(tosh1000_state, tosh1000)
IBM5160_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu); ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
mb.set_cputag(m_maincpu);
mb.int_callback().set_inputline(m_maincpu, 0);
mb.nmi_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
TC8521(config, "rtc", XTAL(32'768)); TC8521(config, "rtc", XTAL(32'768));