diff options
Diffstat (limited to 'src/mame/drivers/scopus.cpp')
-rw-r--r-- | src/mame/drivers/scopus.cpp | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/src/mame/drivers/scopus.cpp b/src/mame/drivers/scopus.cpp index 4a3fc845596..95b35269492 100644 --- a/src/mame/drivers/scopus.cpp +++ b/src/mame/drivers/scopus.cpp @@ -173,13 +173,13 @@ READ8_MEMBER(sagitta180_state::memory_read_byte) return prog_space.read_byte(offset); } -MACHINE_CONFIG_START(sagitta180_state::sagitta180) - +void sagitta180_state::sagitta180(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", I8080, XTAL(10'000'000)) /* guessed ! */ - MCFG_DEVICE_PROGRAM_MAP(maincpu_map) - MCFG_DEVICE_IO_MAP(maincpu_io_map) -// MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("intlatch", i8212_device, inta_cb) + I8080(config, m_maincpu, XTAL(10'000'000)); /* guessed ! */ + m_maincpu->set_addrmap(AS_PROGRAM, &sagitta180_state::maincpu_map); + m_maincpu->set_addrmap(AS_IO, &sagitta180_state::maincpu_io_map); +// m_maincpu->set_irq_acknowledge_callback("intlatch", FUNC(i8212_device::inta_cb)); I8257(config, m_dma8257, XTAL(14'745'600)); /* guessed xtal */ m_dma8257->out_iow_cb<2>().set("crtc", FUNC(i8275_device::dack_w)); @@ -200,29 +200,29 @@ MACHINE_CONFIG_START(sagitta180_state::sagitta180) uart_clock.signal_handler().set("uart", FUNC(i8251_device::write_txc)); uart_clock.signal_handler().append("uart", FUNC(i8251_device::write_rxc)); -// MCFG_DEVICE_ADD("intlatch", I8212, 0) -// MCFG_I8212_MD_CALLBACK(GND) // guessed ! -// MCFG_I8212_DI_CALLBACK(READ8("picu", i8214_device, vector_r)) -// MCFG_I8212_INT_CALLBACK(INPUTLINE("maincpu", I8085_INTR_LINE)) // guessed ! +// i8212_device &intlatch(I8212(config, "intlatch", 0)); +// intlatch.md_rd_callback().set_constant(GND); // guessed ! +// intlatch.di_rd_callback().set("picu", FUNC(i8214_device::vector_r)); +// intlatch.int_wr_callback().set_inputline("maincpu", I8085_INTR_LINE); // guessed ! /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_UPDATE_DEVICE("crtc", i8275_device, screen_update) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_SIZE(80*5, 25*8) - MCFG_SCREEN_VISIBLE_AREA(0, 80*5-1, 0, 25*8-1) - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_sagitta180 ) - - MCFG_DEVICE_ADD("crtc", I8275, 12480000 / 8) /* guessed xtal */ - MCFG_I8275_CHARACTER_WIDTH(8) - MCFG_I8275_DRAW_CHARACTER_CALLBACK_OWNER(sagitta180_state, crtc_display_pixels) - MCFG_I8275_DRQ_CALLBACK(WRITELINE("dma" , i8257_device , dreq2_w)) - MCFG_I8275_IRQ_CALLBACK(INPUTLINE("maincpu" , I8085_INTR_LINE)) - MCFG_VIDEO_SET_SCREEN("screen") - MCFG_PALETTE_ADD("palette", 3) - -MACHINE_CONFIG_END + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_screen_update("crtc", FUNC(i8275_device::screen_update)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_size(80*5, 25*8); + screen.set_visarea(0, 80*5-1, 0, 25*8-1); + GFXDECODE(config, "gfxdecode", m_palette, gfx_sagitta180); + + I8275(config, m_crtc, 12480000 / 8); /* guessed xtal */ + m_crtc->set_character_width(8); + m_crtc->set_display_callback(FUNC(sagitta180_state::crtc_display_pixels), this); + m_crtc->drq_wr_callback().set(m_dma8257, FUNC(i8257_device::dreq2_w)); + m_crtc->irq_wr_callback().set_inputline(m_maincpu, I8085_INTR_LINE); + m_crtc->set_screen("screen"); + + PALETTE(config, m_palette).set_entries(3); +} ROM_START( sagitta180 ) |