diff options
Diffstat (limited to 'src/mame/drivers/pasopia7.cpp')
-rw-r--r-- | src/mame/drivers/pasopia7.cpp | 69 |
1 files changed, 33 insertions, 36 deletions
diff --git a/src/mame/drivers/pasopia7.cpp b/src/mame/drivers/pasopia7.cpp index 96ba59b0c1c..ce1d0834d02 100644 --- a/src/mame/drivers/pasopia7.cpp +++ b/src/mame/drivers/pasopia7.cpp @@ -535,7 +535,7 @@ WRITE8_MEMBER( pasopia7_state::pasopia7_6845_w ) if(offset == 0) { m_addr_latch = data; - m_crtc->address_w(data); + m_crtc->address_w(space, offset, data); } else { @@ -547,7 +547,7 @@ WRITE8_MEMBER( pasopia7_state::pasopia7_6845_w ) else if(m_addr_latch == 0x0f) m_cursor_addr = (m_cursor_addr & 0x3f00) | (data & 0xff); - m_crtc->register_w(data); + m_crtc->register_w(space, offset, data); /* double pump the pixel clock if we are in 640 x 200 mode */ if(m_screen_type == 1) // raster @@ -572,8 +572,8 @@ READ8_MEMBER( pasopia7_state::pasopia7_fdc_r ) { switch(offset) { - case 4: return m_fdc->msr_r(); - case 5: return m_fdc->fifo_r(); + case 4: return m_fdc->msr_r(space, 0, 0xff); + case 5: return m_fdc->fifo_r(space, 0, 0xff); //case 6: bit 7 interrupt bit } @@ -586,7 +586,7 @@ WRITE8_MEMBER( pasopia7_state::pasopia7_fdc_w ) { case 0: m_fdc->tc_w(false); break; case 2: m_fdc->tc_w(true); break; - case 5: m_fdc->fifo_w(data); break; + case 5: m_fdc->fifo_w(space, 0, data, 0xff); break; case 6: if(data & 0x80) m_fdc->reset(); @@ -919,8 +919,7 @@ static void pasopia7_floppies(device_slot_interface &device) device.option_add("525hd", FLOPPY_525_HD); } -void pasopia7_state::p7_base(machine_config &config) -{ +MACHINE_CONFIG_START(pasopia7_state::p7_base) /* basic machine hardware */ Z80(config, m_maincpu, XTAL(4'000'000)); m_maincpu->set_addrmap(AS_PROGRAM, &pasopia7_state::pasopia7_mem); @@ -930,9 +929,11 @@ void pasopia7_state::p7_base(machine_config &config) /* Audio */ SPEAKER(config, "mono").front_center(); - SN76489A(config, m_sn1, 1996800).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown clock / divider + MCFG_DEVICE_ADD("sn1", SN76489A, 1996800) // unknown clock / divider + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - SN76489A(config, m_sn2, 1996800).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown clock / divider + MCFG_DEVICE_ADD("sn2", SN76489A, 1996800) // unknown clock / divider + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) /* Devices */ Z80CTC(config, m_ctc, XTAL(4'000'000)); @@ -964,54 +965,50 @@ void pasopia7_state::p7_base(machine_config &config) m_ppi2->out_pc_callback().set(FUNC(pasopia7_state::nmi_reg_w)); UPD765A(config, m_fdc, 8'000'000, true, true); - FLOPPY_CONNECTOR(config, "fdc:0", pasopia7_floppies, "525hd", floppy_image_device::default_floppy_formats); - FLOPPY_CONNECTOR(config, "fdc:1", pasopia7_floppies, "525hd", floppy_image_device::default_floppy_formats); -} + MCFG_FLOPPY_DRIVE_ADD("fdc:0", pasopia7_floppies, "525hd", floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD("fdc:1", pasopia7_floppies, "525hd", floppy_image_device::default_floppy_formats) +MACHINE_CONFIG_END -void pasopia7_state::p7_raster(machine_config &config) -{ +MACHINE_CONFIG_START(pasopia7_state::p7_raster) p7_base(config); - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_refresh_hz(60); - m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ - m_screen->set_size(640, 480); - m_screen->set_visarea(0, 640-1, 0, 32-1); - m_screen->set_palette(m_palette); - m_screen->set_screen_update(FUNC(pasopia7_state::screen_update_pasopia7)); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ + MCFG_SCREEN_SIZE(640, 480) + MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 32-1) + MCFG_SCREEN_PALETTE(m_palette) MCFG_VIDEO_START_OVERRIDE(pasopia7_state,pasopia7) - + MCFG_SCREEN_UPDATE_DRIVER(pasopia7_state, screen_update_pasopia7) PALETTE(config, m_palette, palette_device::BRG_3BIT); GFXDECODE(config, "gfxdecode", m_palette, gfx_pasopia7); H46505(config, m_crtc, VDP_CLOCK); /* unknown clock, hand tuned to get ~60 fps */ - m_crtc->set_screen(m_screen); + m_crtc->set_screen("screen"); m_crtc->set_show_border_area(false); m_crtc->set_char_width(8); -} +MACHINE_CONFIG_END -void pasopia7_state::p7_lcd(machine_config &config) -{ +MACHINE_CONFIG_START(pasopia7_state::p7_lcd) p7_base(config); - SCREEN(config, m_screen, SCREEN_TYPE_LCD); - m_screen->set_refresh_hz(60); - m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ - m_screen->set_size(640, 480); - m_screen->set_visarea(0, 640-1, 0, 200-1); - m_screen->set_screen_update(FUNC(pasopia7_state::screen_update_pasopia7)); - m_screen->set_palette(m_palette); - + MCFG_SCREEN_ADD("screen", LCD) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ + MCFG_SCREEN_SIZE(640, 480) + MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1) MCFG_VIDEO_START_OVERRIDE(pasopia7_state,pasopia7) + MCFG_SCREEN_UPDATE_DRIVER(pasopia7_state, screen_update_pasopia7) + MCFG_SCREEN_PALETTE(m_palette) PALETTE(config, m_palette, FUNC(pasopia7_state::p7_lcd_palette), 8); GFXDECODE(config, "gfxdecode", m_palette, gfx_pasopia7); H46505(config, m_crtc, LCD_CLOCK); /* unknown clock, hand tuned to get ~60 fps */ - m_crtc->set_screen(m_screen); + m_crtc->set_screen("screen"); m_crtc->set_show_border_area(false); m_crtc->set_char_width(8); -} +MACHINE_CONFIG_END /* ROM definition */ ROM_START( pasopia7 ) |