diff options
author | Michael Zapf <Michael.Zapf@mizapf.de> | 2018-08-21 20:04:41 +0200 |
---|---|---|
committer | Michael Zapf <Michael.Zapf@mizapf.de> | 2018-08-21 20:04:41 +0200 |
commit | 6bf57e9b143ee92f6a87cbf8ae8813add840feb6 (patch) | |
tree | 5afe470c84e07b4a94ecc39a0f7bfa3e343a3893 /src/mame | |
parent | 71da8e2ae2521d4c895520c85e45e3ccfdb56e30 (diff) |
ti9x: Various MCFG removals. (nw)
Diffstat (limited to 'src/mame')
-rw-r--r-- | src/mame/drivers/milton6805.cpp | 9 | ||||
-rw-r--r-- | src/mame/drivers/ti990_10.cpp | 12 | ||||
-rw-r--r-- | src/mame/drivers/ti990_4.cpp | 24 | ||||
-rw-r--r-- | src/mame/drivers/ti99_4p.cpp | 51 | ||||
-rw-r--r-- | src/mame/drivers/ti99_8.cpp | 1 | ||||
-rw-r--r-- | src/mame/drivers/tm990189.cpp | 17 | ||||
-rw-r--r-- | src/mame/drivers/tutor.cpp | 29 | ||||
-rw-r--r-- | src/mame/video/733_asr.h | 16 | ||||
-rw-r--r-- | src/mame/video/911_vdt.h | 9 |
9 files changed, 69 insertions, 99 deletions
diff --git a/src/mame/drivers/milton6805.cpp b/src/mame/drivers/milton6805.cpp index 8aede5998f3..03789aff3c8 100644 --- a/src/mame/drivers/milton6805.cpp +++ b/src/mame/drivers/milton6805.cpp @@ -121,11 +121,10 @@ MACHINE_CONFIG_START(milton_state::milton) MCFG_DEVICE_ADD("maincpu", M6805, 3120000) // MC6805P2, needs a CPU core MCFG_DEVICE_PROGRAM_MAP(prg_map) - MCFG_DEVICE_ADD("grom3", TMC0430, 3120000 / 8) - downcast<tmc0430_device &>(*device).set_region_and_ident("groms", 0x0000, 0); - - MCFG_DEVICE_ADD("grom4", TMC0430, 3120000 / 8) - downcast<tmc0430_device &>(*device).set_region_and_ident("groms", 0x2000, 1); + // GROMs. They still require a ready callback and external clock + // of 3120000/8 Hz, pulsing their glock_in line (see tmc0430.cpp and ti99_4x.cpp) + TMC0430(config, "grom3", "groms", 0x0000, 0); + TMC0430(config, "grom4", "groms", 0x2000, 1); SPEAKER(config, "speaker").front_center(); MCFG_DEVICE_ADD("sp0250", SP0250, 3120000) diff --git a/src/mame/drivers/ti990_10.cpp b/src/mame/drivers/ti990_10.cpp index 2b20aebe9ac..8ebe64d4728 100644 --- a/src/mame/drivers/ti990_10.cpp +++ b/src/mame/drivers/ti990_10.cpp @@ -325,17 +325,15 @@ MACHINE_CONFIG_START(ti990_10_state::ti990_10) m_maincpu->set_addrmap(AS_IO, &ti990_10_state::ti990_10_io); // VDT 911 terminal - MCFG_DEVICE_ADD(m_terminal, VDT911, 0) - MCFG_VDT911_KEYINT_HANDLER(WRITELINE(*this, ti990_10_state, key_interrupt)) - MCFG_VDT911_LINEINT_HANDLER(WRITELINE(*this, ti990_10_state, line_interrupt)) + VDT911(config, m_terminal, 0); + m_terminal->keyint_cb().set(FUNC(ti990_10_state::key_interrupt)); + m_terminal->lineint_cb().set(FUNC(ti990_10_state::line_interrupt)); // Hard disk - MCFG_DEVICE_ADD("hdc", TI990_HDC, 0) - MCFG_TI990_HDC_INT_CALLBACK(WRITELINE(*this, ti990_10_state, ti990_set_int13)) + TI990_HDC(config, "hdc", 0).int_cb().set(FUNC(ti990_10_state::ti990_set_int13)); // Tape controller - MCFG_DEVICE_ADD("tpc", TI990_TAPE_CTRL, 0) - MCFG_TI990_TAPE_INT_HANDLER(WRITELINE(*this, ti990_10_state, tape_interrupt)) + TI990_TAPE_CTRL(config, "tpc", 0).int_cb().set(FUNC(ti990_10_state::tape_interrupt)); MACHINE_CONFIG_END diff --git a/src/mame/drivers/ti990_4.cpp b/src/mame/drivers/ti990_4.cpp index 0f0186a8ddd..f816bd3156c 100644 --- a/src/mame/drivers/ti990_4.cpp +++ b/src/mame/drivers/ti990_4.cpp @@ -303,15 +303,14 @@ MACHINE_CONFIG_START(ti990_4_state::ti990_4) MCFG_MACHINE_RESET_OVERRIDE(ti990_4_state, ti990_4 ) // Terminal - MCFG_DEVICE_ADD("asr733", ASR733, 0) - MCFG_ASR733_KEYINT_HANDLER(WRITELINE(*this, ti990_4_state, asrkey_interrupt)) - MCFG_ASR733_LINEINT_HANDLER(WRITELINE(*this, ti990_4_state, line_interrupt)) + asr733_device& term(ASR733(config, "asr733", 0)); + term.keyint_cb().set(FUNC(ti990_4_state::asrkey_interrupt)); + term.lineint_cb().set(FUNC(ti990_4_state::line_interrupt)); // Floppy controller - MCFG_DEVICE_ADD("fd800", TI99X_FD800, 0) - MCFG_FD800_INT_HANDLER(WRITELINE(*this, ti990_4_state, fd_interrupt)) + TI99X_FD800(config, "fd800", 0).int_cb().set(FUNC(ti990_4_state::fd_interrupt)); -// MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(ti990_4_floppy_interface) + // TODO: Add floppy drives MACHINE_CONFIG_END MACHINE_CONFIG_START(ti990_4_state::ti990_4v) @@ -323,16 +322,15 @@ MACHINE_CONFIG_START(ti990_4_state::ti990_4v) m_maincpu->extop_cb().set(FUNC(ti990_4_state::external_operation)); m_maincpu->intlevel_cb().set(FUNC(ti990_4_state::interrupt_level)); - // Terminal - MCFG_DEVICE_ADD("vdt911", VDT911, 0) - MCFG_VDT911_KEYINT_HANDLER(WRITELINE(*this, ti990_4_state, vdtkey_interrupt)) - MCFG_VDT911_LINEINT_HANDLER(WRITELINE(*this, ti990_4_state, line_interrupt)) + // VDT 911 terminal + vdt911_device& term(VDT911(config, "vdt911", 0)); + term.keyint_cb().set(FUNC(ti990_4_state::vdtkey_interrupt)); + term.lineint_cb().set(FUNC(ti990_4_state::line_interrupt)); // Floppy controller - MCFG_DEVICE_ADD("fd800", TI99X_FD800, 0) - MCFG_FD800_INT_HANDLER(WRITELINE(*this, ti990_4_state, fd_interrupt)) + TI99X_FD800(config, "fd800", 0).int_cb().set(FUNC(ti990_4_state::fd_interrupt)); -// MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(ti990_4_floppy_interface) + // TODO: Add floppy drives MACHINE_CONFIG_END /* diff --git a/src/mame/drivers/ti99_4p.cpp b/src/mame/drivers/ti99_4p.cpp index 77334665dd8..19d3b1b8d98 100644 --- a/src/mame/drivers/ti99_4p.cpp +++ b/src/mame/drivers/ti99_4p.cpp @@ -123,18 +123,23 @@ #include "imagedev/cassette.h" #include "machine/ram.h" #include "machine/tms9901.h" -#include "sound/wave.h" #include "speaker.h" #define TI99_SGCPU_TAG "sgcpu" #define TI99_AMSRAM_TAG "amsram1meg" -#define TRACE_ILLWRITE 0 -#define TRACE_READY 0 -#define TRACE_INT 0 -#define TRACE_ADDRESS 0 -#define TRACE_MEM 0 -#define TRACE_MUX 0 +// Debugging +#define LOG_WARN (1U<<1) // Warnings +#define LOG_ILLWRITE (1U<<2) +#define LOG_READY (1U<<3) +#define LOG_INT (1U<<4) +#define LOG_ADDRESS (1U<<5) +#define LOG_MEM (1U<<6) +#define LOG_MUX (1U<<7) + +#define VERBOSE ( LOG_WARN ) + +#include "logmacro.h" class ti99_4p_state : public driver_device { @@ -440,7 +445,7 @@ READ8_MEMBER( ti99_4p_state::setoffset ) m_addr_buf = offset; m_waitcount = 0; - if (TRACE_ADDRESS) logerror("set address %04x\n", m_addr_buf); + LOGMASKED(LOG_ADDRESS, "set address %04x\n", m_addr_buf); m_decode = SGCPU_NONE; m_muxready = true; @@ -523,7 +528,7 @@ READ16_MEMBER( ti99_4p_state::memread ) // Reading the even address now m_peribox->readz(space, m_addr_buf, &hbyte); m_peribox->memen_in(CLEAR_LINE); - if (TRACE_MEM) logerror("Read even byte from address %04x -> %02x\n", m_addr_buf, hbyte); + LOGMASKED(LOG_MEM, "Read even byte from address %04x -> %02x\n", m_addr_buf, hbyte); value = (hbyte<<8) | m_latch; } @@ -545,7 +550,7 @@ WRITE16_MEMBER( ti99_4p_state::memwrite ) switch (m_decode) { case SGCPU_SYSROM: - if (TRACE_ILLWRITE) logerror("Ignoring ROM write access at %04x\n", m_addr_buf); + LOGMASKED(LOG_ILLWRITE, "Ignoring ROM write access at %04x\n", m_addr_buf); break; case SGCPU_RAM: @@ -560,7 +565,7 @@ WRITE16_MEMBER( ti99_4p_state::memwrite ) break; case SGCPU_INTDSR: - if (TRACE_ILLWRITE) logerror("Ignoring DSR write access at %04x\n", m_addr_buf); + LOGMASKED(LOG_ILLWRITE, "Ignoring DSR write access at %04x\n", m_addr_buf); break; case SGCPU_MAPPER: @@ -587,7 +592,7 @@ WRITE16_MEMBER( ti99_4p_state::memwrite ) m_latch = (data >> 8) & 0xff; // write odd byte - if (TRACE_MEM) logerror("datamux: write odd byte to address %04x <- %02x\n", m_addr_buf+1, data & 0xff); + LOGMASKED(LOG_MEM, "datamux: write odd byte to address %04x <- %02x\n", m_addr_buf+1, data & 0xff); m_peribox->write(space, m_addr_buf+1, data & 0xff); m_peribox->memen_in(CLEAR_LINE); } @@ -637,10 +642,10 @@ WRITE_LINE_MEMBER( ti99_4p_state::datamux_clock_in ) // return immediately if the datamux is currently inactive if (m_waitcount>0) { - if (TRACE_MUX) logerror("datamux: wait count %d\n", m_waitcount); + LOGMASKED(LOG_MUX, "datamux: wait count %d\n", m_waitcount); if (m_sysready==CLEAR_LINE) { - if (TRACE_MUX) logerror("datamux: stalled due to external READY=0\n"); + LOGMASKED(LOG_MUX, "datamux: stalled due to external READY=0\n"); return; } @@ -660,7 +665,7 @@ WRITE_LINE_MEMBER( ti99_4p_state::datamux_clock_in ) m_peribox->readz(*m_spacep, m_addr_buf+1, &m_latch); m_peribox->memen_in(CLEAR_LINE); - if (TRACE_MEM) logerror("datamux: read odd byte from address %04x -> %02x\n", m_addr_buf+1, m_latch); + LOGMASKED(LOG_MEM, "datamux: read odd byte from address %04x -> %02x\n", m_addr_buf+1, m_latch); // do the setaddress for the even address m_peribox->memen_in(ASSERT_LINE); @@ -687,7 +692,7 @@ WRITE_LINE_MEMBER( ti99_4p_state::datamux_clock_in ) m_peribox->setaddress_dbin(*m_spacep, m_addr_buf, m_dbin); // write even byte - if (TRACE_MEM) logerror("datamux: write even byte to address %04x <- %02x\n", m_addr_buf, m_latch); + LOGMASKED(LOG_MEM, "datamux: write even byte to address %04x <- %02x\n", m_addr_buf, m_latch); m_peribox->write(*m_spacep, m_addr_buf, m_latch); m_peribox->memen_in(CLEAR_LINE); } @@ -874,10 +879,7 @@ void ti99_4p_state::ready_join() { int combined = (m_sysready == ASSERT_LINE && m_muxready)? ASSERT_LINE : CLEAR_LINE; - if (TRACE_READY) - { - if (m_ready_prev != combined) logerror("READY level = %d\n", combined); - } + if (m_ready_prev != combined) LOGMASKED(LOG_READY, "READY level = %d\n", combined); m_ready_prev = combined; m_cpu->set_ready(combined); } @@ -887,10 +889,7 @@ void ti99_4p_state::ready_join() */ WRITE_LINE_MEMBER( ti99_4p_state::ready_line ) { - if (TRACE_READY) - { - if (state != m_sysready) logerror("READY line from PBox = %d\n", state); - } + if (state != m_sysready) LOGMASKED(LOG_READY, "READY line from PBox = %d\n", state); m_sysready = (line_state)state; // Also propagate to CPU via driver ready_join(); @@ -906,13 +905,13 @@ void ti99_4p_state::set_9901_int( int line, line_state state) WRITE_LINE_MEMBER( ti99_4p_state::extint ) { - if (TRACE_INT) logerror("EXTINT level = %02x\n", state); + LOGMASKED(LOG_INT, "EXTINT level = %02x\n", state); set_9901_int(1, (line_state)state); } WRITE_LINE_MEMBER( ti99_4p_state::notconnected ) { - if (TRACE_INT) logerror("Setting a not connected line ... ignored\n"); + LOGMASKED(LOG_INT, "Setting a not connected line ... ignored\n"); } /* diff --git a/src/mame/drivers/ti99_8.cpp b/src/mame/drivers/ti99_8.cpp index 3e13fab920d..7c40a137f28 100644 --- a/src/mame/drivers/ti99_8.cpp +++ b/src/mame/drivers/ti99_8.cpp @@ -176,7 +176,6 @@ Known Issues (MZ, 2010-11-07) #include "bus/ti99/ti99defs.h" #include "sound/sn76496.h" -#include "sound/wave.h" #include "machine/tms9901.h" #include "machine/tmc0430.h" #include "imagedev/cassette.h" diff --git a/src/mame/drivers/tm990189.cpp b/src/mame/drivers/tm990189.cpp index ab41a5286d8..8f5e56fa064 100644 --- a/src/mame/drivers/tm990189.cpp +++ b/src/mame/drivers/tm990189.cpp @@ -67,7 +67,6 @@ #include "machine/tms9901.h" #include "machine/tms9902.h" #include "sound/spkrdev.h" -#include "sound/wave.h" #include "video/tms9928a.h" #include "speaker.h" @@ -837,11 +836,10 @@ MACHINE_CONFIG_START(tm990189_state::tm990_189) /* sound hardware */ SPEAKER(config, "mono").front_center(); - WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25); SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.50); /* Devices */ - MCFG_CASSETTE_ADD( "cassette" ) + CASSETTE(config, "cassette", 0).add_route(ALL_OUTPUTS, "mono", 0.25); TMS9901(config, m_tms9901_usr, 2000000); m_tms9901_usr->p_out_cb(0).set(FUNC(tm990189_state::usr9901_led0_w)); @@ -870,10 +868,9 @@ MACHINE_CONFIG_START(tm990189_state::tm990_189) m_tms9901_sys->p_out_cb(15).set(FUNC(tm990189_state::sys9901_tapewdata_w)); m_tms9901_sys->intlevel_cb().set(FUNC(tm990189_state::sys9901_interrupt_callback)); - TMS9902(config, m_tms9902, 2000000); - m_tms9902->xmit_cb().set(FUNC(tm990189_state::xmit_callback)); // called when a character is transmitted + TMS9902(config, m_tms9902, 2000000).xmit_cb().set(FUNC(tm990189_state::xmit_callback)); // called when a character is transmitted + TM990_189_RS232(config, "rs232", 0, m_tms9902); - MCFG_DEVICE_ADD("rs232", TM990_189_RS232, 0, m_tms9902) MCFG_TIMER_DRIVER_ADD_PERIODIC("display_timer", tm990189_state, display_callback, attotime::from_hz(30)) // Need to delay the timer, or it will spoil the initial LOAD // TODO: Fix this, probably inside CPU @@ -900,11 +897,10 @@ MACHINE_CONFIG_START(tm990189_state::tm990_189_v) /* sound hardware */ SPEAKER(config, "mono").front_center(); - WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25); SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.50); /* one two-level buzzer */ /* Devices */ - MCFG_CASSETTE_ADD( "cassette" ) + CASSETTE(config, "cassette", 0).add_route(ALL_OUTPUTS, "mono", 0.25); TMS9901(config, m_tms9901_usr, 2000000); m_tms9901_usr->p_out_cb(0).set(FUNC(tm990189_state::usr9901_led0_w)); @@ -933,10 +929,9 @@ MACHINE_CONFIG_START(tm990189_state::tm990_189_v) m_tms9901_sys->p_out_cb(15).set(FUNC(tm990189_state::sys9901_tapewdata_w)); m_tms9901_sys->intlevel_cb().set(FUNC(tm990189_state::sys9901_interrupt_callback)); - TMS9902(config, m_tms9902, 2000000); - m_tms9902->xmit_cb().set(FUNC(tm990189_state::xmit_callback)); // called when a character is transmitted + TMS9902(config, m_tms9902, 2000000).xmit_cb().set(FUNC(tm990189_state::xmit_callback)); // called when a character is transmitted; + TM990_189_RS232(config, "rs232", 0, m_tms9902); - MCFG_DEVICE_ADD("rs232", TM990_189_RS232, 0, m_tms9902) MCFG_TIMER_DRIVER_ADD_PERIODIC("display_timer", tm990189_state, display_callback, attotime::from_hz(30)) MCFG_TIMER_START_DELAY(attotime::from_msec(150)) MACHINE_CONFIG_END diff --git a/src/mame/drivers/tutor.cpp b/src/mame/drivers/tutor.cpp index 1878f588a1e..5d02eaff528 100644 --- a/src/mame/drivers/tutor.cpp +++ b/src/mame/drivers/tutor.cpp @@ -173,7 +173,6 @@ A=AMA, P=PRO, these keys don't exist, and so the games cannot be played. #include "cpu/tms9900/tms9995.h" #include "imagedev/cassette.h" #include "sound/sn76496.h" -#include "sound/wave.h" #include "video/tms9928a.h" #include "bus/centronics/ctronics.h" @@ -752,32 +751,30 @@ MACHINE_CONFIG_START(tutor_state::tutor) m_maincpu->set_addrmap(AS_PROGRAM, &tutor_state::tutor_memmap); m_maincpu->set_addrmap(AS_IO, &tutor_state::tutor_io); - /* video hardware */ + // video hardware tms9928a_device &vdp(TMS9928A(config, "tms9928a", XTAL(10'738'635))); vdp.set_screen("screen"); vdp.set_vram_size(0x4000); SCREEN(config, "screen", SCREEN_TYPE_RASTER); - /* sound */ - SPEAKER(config, "mono").front_center(); + // Sound + SPEAKER(config, "sound_out").front_center(); + SN76489A(config, "sn76489a", 3579545).add_route(ALL_OUTPUTS, "sound_out", 0.75); - MCFG_DEVICE_ADD("sn76489a", SN76489A, 3579545) /* 3.579545 MHz */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) - - WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25); - - MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer") - MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, tutor_state, write_centronics_busy)) + CENTRONICS(config, m_centronics, centronics_devices, "printer").busy_handler().set(FUNC(tutor_state::write_centronics_busy)); MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") - MCFG_CASSETTE_ADD( "cassette" ) + // Cassette + SPEAKER(config, "cass_out").front_center(); + CASSETTE(config, "cassette", 0).add_route(ALL_OUTPUTS, "cass_out", 0.25); + + // Cartridge slot + GENERIC_CARTSLOT(config, "cartslot", generic_linear_slot, "tutor_cart", nullptr); - /* cartridge */ - MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_linear_slot, "tutor_cart") + // software lists + SOFTWARE_LIST(config, "cart_list").set_type("tutor", SOFTWARE_LIST_ORIGINAL_SYSTEM); - /* software lists */ - MCFG_SOFTWARE_LIST_ADD("cart_list","tutor") MACHINE_CONFIG_END MACHINE_CONFIG_START(tutor_state::pyuutajr) diff --git a/src/mame/video/733_asr.h b/src/mame/video/733_asr.h index 6d5527762bf..c76e533c391 100644 --- a/src/mame/video/733_asr.h +++ b/src/mame/video/733_asr.h @@ -24,14 +24,8 @@ public: DECLARE_READ8_MEMBER(cru_r); DECLARE_WRITE8_MEMBER(cru_w); - template <class Object> devcb_base &set_keyint_callback(Object &&cb) - { - return m_keyint_line.set_callback(std::forward<Object>(cb)); - } - template <class Object> devcb_base &set_lineint_callback(Object &&cb) - { - return m_lineint_line.set_callback(std::forward<Object>(cb)); - } + auto keyint_cb() { return m_keyint_line.bind(); } + auto lineint_cb() { return m_lineint_line.bind(); } protected: // device-level overrides @@ -86,10 +80,4 @@ private: DECLARE_DEVICE_TYPE(ASR733, asr733_device) -#define MCFG_ASR733_KEYINT_HANDLER( _intcallb ) \ - downcast<asr733_device &>(*device).set_keyint_callback(DEVCB_##_intcallb); - -#define MCFG_ASR733_LINEINT_HANDLER( _intcallb ) \ - downcast<asr733_device &>(*device).set_lineint_callback(DEVCB_##_intcallb); - #endif // MAME_VIDEO_733_ASR diff --git a/src/mame/video/911_vdt.h b/src/mame/video/911_vdt.h index b92c0a9d748..fdbf0c8fb4f 100644 --- a/src/mame/video/911_vdt.h +++ b/src/mame/video/911_vdt.h @@ -59,6 +59,9 @@ public: return m_lineint_line.set_callback(std::forward<Object>(cb)); } + auto keyint_cb() { return m_keyint_line.bind(); } + auto lineint_cb() { return m_lineint_line.bind(); } + protected: // device-level overrides void device_start() override; @@ -114,10 +117,4 @@ private: DECLARE_DEVICE_TYPE(VDT911, vdt911_device) -#define MCFG_VDT911_KEYINT_HANDLER( _intcallb ) \ - downcast<vdt911_device &>(*device).set_keyint_callback(DEVCB_##_intcallb); - -#define MCFG_VDT911_LINEINT_HANDLER( _intcallb ) \ - downcast<vdt911_device &>(*device).set_lineint_callback(DEVCB_##_intcallb); - #endif // MAME_VIDEO_911_VDT_H |