diff options
Diffstat (limited to 'src/mame/drivers/pcw16.cpp')
-rw-r--r-- | src/mame/drivers/pcw16.cpp | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/src/mame/drivers/pcw16.cpp b/src/mame/drivers/pcw16.cpp index c527eb293d7..58d7340d28e 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(machine().dummy_space(), ((type & 0x3f)*0x4000)+offset); + return m_flash0->read(((type & 0x3f)*0x4000)+offset); } else // second flash { - return m_flash1->read(machine().dummy_space(), ((type & 0x3f)*0x4000)+offset); + return m_flash1->read(((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(machine().dummy_space(), ((type & 0x3f)*0x4000)+offset, data); + m_flash0->write(((type & 0x3f)*0x4000)+offset, data); } else // second flash { - m_flash1->write(machine().dummy_space(), ((type & 0x3f)*0x4000)+offset, data); + m_flash1->write(((type & 0x3f)*0x4000)+offset, data); } } } @@ -1010,12 +1010,13 @@ static void pcw16_com(device_slot_interface &device) device.option_add("msystems_mouse", MSYSTEMS_HLE_SERIAL_MOUSE); } -MACHINE_CONFIG_START(pcw16_state::pcw16) +void pcw16_state::pcw16(machine_config &config) +{ /* basic machine hardware */ - 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)) + 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); 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)); @@ -1043,13 +1044,13 @@ MACHINE_CONFIG_START(pcw16_state::pcw16) serport2.cts_handler().set(m_uart2, FUNC(ins8250_uart_device::cts_w)); /* video hardware */ - 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") + 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"); PALETTE(config, "palette", FUNC(pcw16_state::pcw16_colours), PCW16_NUM_COLOURS); @@ -1063,10 +1064,10 @@ MACHINE_CONFIG_START(pcw16_state::pcw16) PC_FDC_SUPERIO(config, m_fdc, 48_MHz_XTAL / 2); m_fdc->intrq_wr_callback().set(FUNC(pcw16_state::fdc_interrupt)); - 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) + 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_SOFTWARE_LIST_ADD("disk_list","pcw16") + SOFTWARE_LIST(config, "disk_list").set_original("pcw16"); /* internal ram */ RAM(config, RAM_TAG).set_default_size("2M"); @@ -1074,13 +1075,14 @@ MACHINE_CONFIG_START(pcw16_state::pcw16) INTEL_E28F008SA(config, "flash0"); INTEL_E28F008SA(config, "flash1"); - MCFG_AT_KEYB_ADD("at_keyboard", 3, WRITELINE(*this, pcw16_state, pcw16_keyboard_callback)) + AT_KEYB(config, m_keyboard, pc_keyboard_device::KEYBOARD_TYPE::AT, 3); + m_keyboard->keypress().set(FUNC(pcw16_state::pcw16_keyboard_callback)); /* video ints */ - MCFG_TIMER_DRIVER_ADD_PERIODIC("video_timer", pcw16_state, pcw16_timer_callback, attotime::from_usec(5830)) + TIMER(config, "video_timer").configure_periodic(FUNC(pcw16_state::pcw16_timer_callback), attotime::from_usec(5830)); /* rtc timer */ - MCFG_TIMER_DRIVER_ADD_PERIODIC("rtc_timer", pcw16_state, rtc_timer_callback, attotime::from_hz(256)) -MACHINE_CONFIG_END + TIMER(config, "rtc_timer").configure_periodic(FUNC(pcw16_state::rtc_timer_callback), attotime::from_hz(256)); +} /*************************************************************************** |