summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pcw16.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pcw16.cpp')
-rw-r--r--src/mame/drivers/pcw16.cpp48
1 files changed, 23 insertions, 25 deletions
diff --git a/src/mame/drivers/pcw16.cpp b/src/mame/drivers/pcw16.cpp
index 58d7340d28e..c527eb293d7 100644
--- a/src/mame/drivers/pcw16.cpp
+++ b/src/mame/drivers/pcw16.cpp
@@ -167,11 +167,11 @@ uint8_t pcw16_state::read_bank_data(uint8_t type, uint16_t offset)
}
if(type < 0x40) // first flash
{
- return m_flash0->read(((type & 0x3f)*0x4000)+offset);
+ return m_flash0->read(machine().dummy_space(), ((type & 0x3f)*0x4000)+offset);
}
else // second flash
{
- return m_flash1->read(((type & 0x3f)*0x4000)+offset);
+ return m_flash1->read(machine().dummy_space(), ((type & 0x3f)*0x4000)+offset);
}
}
}
@@ -188,11 +188,11 @@ void pcw16_state::write_bank_data(uint8_t type, uint16_t offset, uint8_t data)
return; // first four sectors are write protected
if(type < 0x40) // first flash
{
- m_flash0->write(((type & 0x3f)*0x4000)+offset, data);
+ m_flash0->write(machine().dummy_space(), ((type & 0x3f)*0x4000)+offset, data);
}
else // second flash
{
- m_flash1->write(((type & 0x3f)*0x4000)+offset, data);
+ m_flash1->write(machine().dummy_space(), ((type & 0x3f)*0x4000)+offset, data);
}
}
}
@@ -1010,13 +1010,12 @@ static void pcw16_com(device_slot_interface &device)
device.option_add("msystems_mouse", MSYSTEMS_HLE_SERIAL_MOUSE);
}
-void pcw16_state::pcw16(machine_config &config)
-{
+MACHINE_CONFIG_START(pcw16_state::pcw16)
/* basic machine hardware */
- Z80(config, m_maincpu, 16000000);
- m_maincpu->set_addrmap(AS_PROGRAM, &pcw16_state::pcw16_map);
- m_maincpu->set_addrmap(AS_IO, &pcw16_state::pcw16_io);
- config.m_minimum_quantum = attotime::from_hz(60);
+ MCFG_DEVICE_ADD("maincpu", Z80, 16000000)
+ MCFG_DEVICE_PROGRAM_MAP(pcw16_map)
+ MCFG_DEVICE_IO_MAP(pcw16_io)
+ MCFG_QUANTUM_TIME(attotime::from_hz(60))
ns16550_device &uart1(NS16550(config, "ns16550_1", XTAL(1'843'200))); /* TODO: Verify uart model */
uart1.out_tx_callback().set("serport1", FUNC(rs232_port_device::write_txd));
@@ -1044,13 +1043,13 @@ void pcw16_state::pcw16(machine_config &config)
serport2.cts_handler().set(m_uart2, FUNC(ins8250_uart_device::cts_w));
/* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(50);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- screen.set_size(PCW16_SCREEN_WIDTH, PCW16_SCREEN_HEIGHT);
- screen.set_visarea(0, PCW16_SCREEN_WIDTH-1, 0, PCW16_SCREEN_HEIGHT-1);
- screen.set_screen_update(FUNC(pcw16_state::screen_update_pcw16));
- screen.set_palette("palette");
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(50)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
+ MCFG_SCREEN_SIZE(PCW16_SCREEN_WIDTH, PCW16_SCREEN_HEIGHT)
+ MCFG_SCREEN_VISIBLE_AREA(0, PCW16_SCREEN_WIDTH-1, 0, PCW16_SCREEN_HEIGHT-1)
+ MCFG_SCREEN_UPDATE_DRIVER(pcw16_state, screen_update_pcw16)
+ MCFG_SCREEN_PALETTE("palette")
PALETTE(config, "palette", FUNC(pcw16_state::pcw16_colours), PCW16_NUM_COLOURS);
@@ -1064,10 +1063,10 @@ void pcw16_state::pcw16(machine_config &config)
PC_FDC_SUPERIO(config, m_fdc, 48_MHz_XTAL / 2);
m_fdc->intrq_wr_callback().set(FUNC(pcw16_state::fdc_interrupt));
- FLOPPY_CONNECTOR(config, "fdc:0", pcw16_floppies, "35hd", pcw16_state::floppy_formats);
- FLOPPY_CONNECTOR(config, "fdc:1", pcw16_floppies, "35hd", pcw16_state::floppy_formats);
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", pcw16_floppies, "35hd", pcw16_state::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", pcw16_floppies, "35hd", pcw16_state::floppy_formats)
- SOFTWARE_LIST(config, "disk_list").set_original("pcw16");
+ MCFG_SOFTWARE_LIST_ADD("disk_list","pcw16")
/* internal ram */
RAM(config, RAM_TAG).set_default_size("2M");
@@ -1075,14 +1074,13 @@ void pcw16_state::pcw16(machine_config &config)
INTEL_E28F008SA(config, "flash0");
INTEL_E28F008SA(config, "flash1");
- AT_KEYB(config, m_keyboard, pc_keyboard_device::KEYBOARD_TYPE::AT, 3);
- m_keyboard->keypress().set(FUNC(pcw16_state::pcw16_keyboard_callback));
+ MCFG_AT_KEYB_ADD("at_keyboard", 3, WRITELINE(*this, pcw16_state, pcw16_keyboard_callback))
/* video ints */
- TIMER(config, "video_timer").configure_periodic(FUNC(pcw16_state::pcw16_timer_callback), attotime::from_usec(5830));
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("video_timer", pcw16_state, pcw16_timer_callback, attotime::from_usec(5830))
/* rtc timer */
- TIMER(config, "rtc_timer").configure_periodic(FUNC(pcw16_state::rtc_timer_callback), attotime::from_hz(256));
-}
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("rtc_timer", pcw16_state, rtc_timer_callback, attotime::from_hz(256))
+MACHINE_CONFIG_END
/***************************************************************************