diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2019-11-17 21:29:39 -0500 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2019-11-17 21:29:47 -0500 |
commit | 10f69d788bf2a89681c62cf2e726e101002003c2 (patch) | |
tree | 80442c8c44a645de5957aa7fc9d8462099967419 | |
parent | 9c656007dfa8a4d9358e68d1cce2086d9d11ebc1 (diff) |
seattlecmp.cpp: 8-bit access for monitor ROM; rename region (nw)
-rw-r--r-- | src/mame/drivers/seattlecmp.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/mame/drivers/seattlecmp.cpp b/src/mame/drivers/seattlecmp.cpp index d894127ce77..bb71dcf0b1d 100644 --- a/src/mame/drivers/seattlecmp.cpp +++ b/src/mame/drivers/seattlecmp.cpp @@ -45,22 +45,24 @@ public: : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") , m_pic(*this, "pic%u", 1) + , m_monitor(*this, "monitor") { } void seattle(machine_config &config); private: - DECLARE_READ8_MEMBER(pic_slave_ack); + u8 pic_slave_ack(offs_t offset); void io_map(address_map &map); void mem_map(address_map &map); required_device<cpu_device> m_maincpu; required_device_array<pic8259_device, 2> m_pic; + required_region_ptr<u8> m_monitor; }; -READ8_MEMBER(seattle_comp_state::pic_slave_ack) +u8 seattle_comp_state::pic_slave_ack(offs_t offset) { if (offset == 1) return m_pic[1]->acknowledge(); @@ -73,7 +75,7 @@ void seattle_comp_state::mem_map(address_map &map) { map.unmap_value_high(); map(0x00000, 0xff7ff).ram(); - map(0xff800, 0xfffff).rom().region("user1", 0); + map(0xff800, 0xfffff).lr8([this](offs_t offset) { return m_monitor[offset]; }, "monitor_r"); } void seattle_comp_state::io_map(address_map &map) @@ -106,16 +108,16 @@ DEVICE_INPUT_DEFAULTS_END void seattle_comp_state::seattle(machine_config &config) { /* basic machine hardware */ - I8086(config, m_maincpu, XTAL(24'000'000) / 3); // 8 MHz or 4 MHz selectable + I8086(config, m_maincpu, 24_MHz_XTAL / 3); // 8 MHz or 4 MHz selectable m_maincpu->set_addrmap(AS_PROGRAM, &seattle_comp_state::mem_map); m_maincpu->set_addrmap(AS_IO, &seattle_comp_state::io_map); m_maincpu->set_irq_acknowledge_callback("pic1", FUNC(pic8259_device::inta_cb)); - PIC8259(config, m_pic[0], 0); + PIC8259(config, m_pic[0]); m_pic[0]->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_INT0); m_pic[0]->read_slave_ack_callback().set(FUNC(seattle_comp_state::pic_slave_ack)); - PIC8259(config, m_pic[1], 0); + PIC8259(config, m_pic[1]); m_pic[1]->out_int_callback().set(m_pic[0], FUNC(pic8259_device::ir1_w)); am9513_device &stc(AM9513(config, "stc", 4_MHz_XTAL)); // dedicated XTAL @@ -127,7 +129,7 @@ void seattle_comp_state::seattle(machine_config &config) stc.fout_cb().set("stc", FUNC(am9513_device::source1_w)); // FOUT not shown on schematics, which inexplicably have Source 1 tied to Gate 5 - i8251_device &uart(I8251(config, "uart", XTAL(24'000'000) / 12)); // CLOCK on line 49 + i8251_device &uart(I8251(config, "uart", 24_MHz_XTAL / 12)); // CLOCK on line 49 uart.txd_handler().set("rs232", FUNC(rs232_port_device::write_txd)); uart.dtr_handler().set("rs232", FUNC(rs232_port_device::write_dtr)); uart.rts_handler().set("rs232", FUNC(rs232_port_device::write_rts)); @@ -143,7 +145,7 @@ void seattle_comp_state::seattle(machine_config &config) /* ROM definition */ ROM_START( scp300f ) - ROM_REGION( 0x800, "user1", 0 ) + ROM_REGION( 0x800, "monitor", 0 ) ROM_LOAD( "mon86 v1.5tdd", 0x0000, 0x0800, CRC(7db23169) SHA1(c791b02ca33a4e1f8e95eb541624a59738f378c4)) ROM_END |