summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
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
commit10f69d788bf2a89681c62cf2e726e101002003c2 (patch)
tree80442c8c44a645de5957aa7fc9d8462099967419 /src/mame
parent9c656007dfa8a4d9358e68d1cce2086d9d11ebc1 (diff)
seattlecmp.cpp: 8-bit access for monitor ROM; rename region (nw)
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/seattlecmp.cpp18
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