diff options
Diffstat (limited to 'src/mame/drivers/tiki100.cpp')
-rw-r--r-- | src/mame/drivers/tiki100.cpp | 65 |
1 files changed, 34 insertions, 31 deletions
diff --git a/src/mame/drivers/tiki100.cpp b/src/mame/drivers/tiki100.cpp index ff6955d30b2..28c4802139f 100644 --- a/src/mame/drivers/tiki100.cpp +++ b/src/mame/drivers/tiki100.cpp @@ -36,7 +36,7 @@ READ8_MEMBER( tiki100_state::mrq_r ) { bool mdis = 1; - uint8_t data = m_exp->mrq_r(space, offset, 0xff, mdis); + uint8_t data = m_exp->mrq_r(offset, 0xff, mdis); offs_t prom_addr = mdis << 5 | m_vire << 4 | m_rome << 3 | (offset >> 13); uint8_t prom = m_prom->base()[prom_addr] ^ 0xff; @@ -84,12 +84,12 @@ WRITE8_MEMBER( tiki100_state::mrq_w ) m_ram->pointer()[offset] = data; } - m_exp->mrq_w(space, offset, data); + m_exp->mrq_w(offset, data); } READ8_MEMBER( tiki100_state::iorq_r ) { - uint8_t data = m_exp->iorq_r(space, offset, 0xff); + uint8_t data = m_exp->iorq_r(offset, 0xff); switch ((offset & 0xff) >> 2) { @@ -113,7 +113,7 @@ READ8_MEMBER( tiki100_state::iorq_r ) switch (offset & 0x03) { case 3: - data = m_psg->data_r(space, 0); + data = m_psg->data_r(); break; } break; @@ -128,7 +128,7 @@ READ8_MEMBER( tiki100_state::iorq_r ) WRITE8_MEMBER( tiki100_state::iorq_w ) { - m_exp->iorq_w(space, offset, data); + m_exp->iorq_w(offset, data); switch ((offset & 0xff) >> 2) { @@ -160,11 +160,11 @@ WRITE8_MEMBER( tiki100_state::iorq_w ) break; case 2: - m_psg->address_w(space, 0, data); + m_psg->address_w(data); break; case 3: - m_psg->data_w(space, 0, data); + m_psg->data_w(data); break; } break; @@ -700,7 +700,8 @@ void tiki100_state::machine_reset() /* Machine Driver */ -MACHINE_CONFIG_START(tiki100_state::tiki100) +void tiki100_state::tiki100(machine_config &config) +{ /* basic machine hardware */ Z80(config, m_maincpu, 8_MHz_XTAL / 2); m_maincpu->set_addrmap(AS_PROGRAM, &tiki100_state::tiki100_mem); @@ -708,20 +709,20 @@ MACHINE_CONFIG_START(tiki100_state::tiki100) m_maincpu->set_daisy_config(tiki100_daisy_chain); /* video hardware */ - MCFG_SCREEN_ADD(SCREEN_TAG, RASTER) - MCFG_SCREEN_RAW_PARAMS(20_MHz_XTAL, 1280, 0, 1024, 312, 0, 256) - MCFG_SCREEN_UPDATE_DRIVER(tiki100_state, screen_update) - MCFG_PALETTE_ADD("palette", 16) - - MCFG_TIKI100_BUS_ADD() - MCFG_TIKI100_BUS_IRQ_CALLBACK(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) - MCFG_TIKI100_BUS_NMI_CALLBACK(INPUTLINE(Z80_TAG, INPUT_LINE_NMI)) - MCFG_TIKI100_BUS_BUSRQ_CALLBACK(WRITELINE(*this, tiki100_state, busrq_w)) - MCFG_TIKI100_BUS_IN_MREQ_CALLBACK(READ8(*this, tiki100_state, mrq_r)) - MCFG_TIKI100_BUS_OUT_MREQ_CALLBACK(WRITE8(*this, tiki100_state, mrq_w)) - MCFG_TIKI100_BUS_SLOT_ADD("slot1", "8088") - MCFG_TIKI100_BUS_SLOT_ADD("slot2", "hdc") - MCFG_TIKI100_BUS_SLOT_ADD("slot3", nullptr) + screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER)); + screen.set_raw(20_MHz_XTAL, 1280, 0, 1024, 312, 0, 256); + screen.set_screen_update(FUNC(tiki100_state::screen_update)); + PALETTE(config, m_palette).set_entries(16); + + TIKI100_BUS(config, m_exp, 0); + m_exp->irq_wr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + m_exp->nmi_wr_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); + m_exp->busrq_wr_callback().set(FUNC(tiki100_state::busrq_w)); + m_exp->mrq_rd_callback().set(FUNC(tiki100_state::mrq_r)); + m_exp->mrq_wr_callback().set(FUNC(tiki100_state::mrq_w)); + TIKI100_BUS_SLOT(config, "slot1", tiki100_cards, "8088"); + TIKI100_BUS_SLOT(config, "slot2", tiki100_cards, "hdc"); + TIKI100_BUS_SLOT(config, "slot3", tiki100_cards, nullptr); /* devices */ Z80DART(config, m_dart, 8_MHz_XTAL / 4); @@ -746,11 +747,11 @@ MACHINE_CONFIG_START(tiki100_state::tiki100) m_ctc->zc_callback<1>().set(m_dart, FUNC(z80dart_device::rxtxcb_w)); m_ctc->zc_callback<2>().set(FUNC(tiki100_state::bar2_w)); - MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", tiki100_state, ctc_tick, attotime::from_hz(8_MHz_XTAL / 4)) + TIMER(config, "ctc").configure_periodic(FUNC(tiki100_state::ctc_tick), attotime::from_hz(8_MHz_XTAL / 4)); FD1797(config, m_fdc, 8_MHz_XTAL / 8); // FD1767PL-02 or FD1797-PL - MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":0", tiki100_floppies, "525qd", tiki100_state::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":1", tiki100_floppies, "525qd", tiki100_state::floppy_formats) + FLOPPY_CONNECTOR(config, FD1797_TAG":0", tiki100_floppies, "525qd", tiki100_state::floppy_formats); + FLOPPY_CONNECTOR(config, FD1797_TAG":1", tiki100_floppies, "525qd", tiki100_state::floppy_formats); rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, nullptr)); rs232a.rxd_handler().set(m_dart, FUNC(z80dart_device::rxa_w)); @@ -765,12 +766,14 @@ MACHINE_CONFIG_START(tiki100_state::tiki100) m_centronics->perror_handler().set(FUNC(tiki100_state::write_centronics_perror)); INPUT_BUFFER(config, "cent_data_in"); - MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) - MCFG_CASSETTE_ADD(CASSETTE_TAG) - MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED) + output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out")); + m_centronics->set_output_latch(cent_data_out); + + CASSETTE(config, m_cassette); + m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED); - MCFG_TIMER_DRIVER_ADD_PERIODIC("tape", tiki100_state, tape_tick, attotime::from_hz(44100)) + TIMER(config, "tape").configure_periodic(FUNC(tiki100_state::tape_tick), attotime::from_hz(44100)); /* sound hardware */ SPEAKER(config, "mono").front_center(); @@ -783,8 +786,8 @@ MACHINE_CONFIG_START(tiki100_state::tiki100) RAM(config, RAM_TAG).set_default_size("64K"); // software list - MCFG_SOFTWARE_LIST_ADD("flop_list", "tiki100") -MACHINE_CONFIG_END + SOFTWARE_LIST(config, "flop_list").set_original("tiki100"); +} /* ROMs */ |