diff options
Diffstat (limited to 'src/mame/drivers/eurocom2.cpp')
-rw-r--r-- | src/mame/drivers/eurocom2.cpp | 71 |
1 files changed, 36 insertions, 35 deletions
diff --git a/src/mame/drivers/eurocom2.cpp b/src/mame/drivers/eurocom2.cpp index 9f916f38183..cb14c154bfa 100644 --- a/src/mame/drivers/eurocom2.cpp +++ b/src/mame/drivers/eurocom2.cpp @@ -51,16 +51,17 @@ #define VC_DISP_VERT 256 -//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already -#define LOG_KEYBOARD (1U << 1) -#define LOG_DEBUG (1U << 2) +#define VERBOSE_DBG 2 /* general debug messages */ -//#define VERBOSE (LOG_DEBUG) -//#define LOG_OUTPUT_FUNC printf -#include "logmacro.h" - -#define LOGKBD(...) LOGMASKED(LOG_KEYBOARD, __VA_ARGS__) -#define LOGDBG(...) LOGMASKED(LOG_DEBUG, __VA_ARGS__) +#define DBG_LOG(N,M,A) \ + do { \ + if(VERBOSE_DBG>=N) \ + { \ + if( M ) \ + logerror("%11.6f at %s: %-10s",machine().time().as_double(),machine().describe_context(),(char*)M ); \ + logerror A; \ + } \ + } while (0) class eurocom2_state : public driver_device @@ -171,7 +172,7 @@ READ8_MEMBER(eurocom2_state::fdc_aux_r) data |= (m_fdc->intrq_r() << 6); data |= (m_fdc->drq_r() << 7); - LOGDBG("Floppy %d == %02x\n", offset, data); + DBG_LOG(3, "Floppy", ("%d == %02x\n", offset, data)); return data; } @@ -211,12 +212,12 @@ WRITE8_MEMBER(eurocom2_state::fdc_aux_w) m_fdc->dden_w(BIT(data, 5)); - LOGDBG("Floppy %d <- %02x\n", offset, data); + DBG_LOG(3, "Floppy", ("%d <- %02x\n", offset, data)); } WRITE8_MEMBER(eurocom2_state::vico_w) { - LOG("VICO %d <- %02x\n", offset, data); + DBG_LOG(2, "VICO", ("%d <- %02x\n", offset, data)); m_vico[offset & 1] = data; } @@ -224,21 +225,21 @@ WRITE8_MEMBER(eurocom2_state::vico_w) READ_LINE_MEMBER(eurocom2_state::pia1_ca2_r) { - LOGDBG("PIA1 CA2 == %d (SST Q14)\n", m_sst_state); + DBG_LOG(3, "PIA1", ("CA2 == %d (SST Q14)\n", m_sst_state)); return m_sst_state; } READ_LINE_MEMBER(eurocom2_state::pia1_cb1_r) { - LOGDBG("PIA1 CB1 == %d (SST Q6)\n", m_sst_state); + DBG_LOG(3, "PIA1", ("CB1 == %d (SST Q6)\n", m_sst_state)); return m_sst_state; } WRITE_LINE_MEMBER(eurocom2_state::pia1_cb2_w) { - LOG("PIA1 CB2 <- %d (SST reset)\n", state); + DBG_LOG(2, "PIA1", ("CB2 <- %d (SST reset)\n", state)); // reset single-step timer } @@ -437,15 +438,14 @@ static void eurocom_floppies(device_slot_interface &device) device.option_add("8dsdd", FLOPPY_8_DSDD); } -void eurocom2_state::eurocom2(machine_config &config) -{ - MC6809(config, m_maincpu, 10.7172_MHz_XTAL / 2); // EXTAL = CLK/2 = 5.3586 MHz; Q = E = 1.33965 MHz - m_maincpu->set_addrmap(AS_PROGRAM, &eurocom2_state::eurocom2_map); +MACHINE_CONFIG_START(eurocom2_state::eurocom2) + MCFG_DEVICE_ADD("maincpu", MC6809, 10.7172_MHz_XTAL / 2) // EXTAL = CLK/2 = 5.3586 MHz; Q = E = 1.33965 MHz + MCFG_DEVICE_PROGRAM_MAP(eurocom2_map) - SCREEN(config, m_screen, SCREEN_TYPE_RASTER, rgb_t::green()); - m_screen->set_raw(10.7172_MHz_XTAL, VC_TOTAL_HORZ, 0, VC_DISP_HORZ, VC_TOTAL_VERT, 0, VC_DISP_VERT); - m_screen->set_screen_update(FUNC(eurocom2_state::screen_update)); - m_screen->set_palette("palette"); + MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green()) + MCFG_SCREEN_RAW_PARAMS(10.7172_MHz_XTAL, VC_TOTAL_HORZ, 0, VC_DISP_HORZ, VC_TOTAL_VERT, 0, VC_DISP_VERT) + MCFG_SCREEN_UPDATE_DRIVER(eurocom2_state, screen_update) + MCFG_SCREEN_PALETTE("palette") PALETTE(config, "palette", palette_device::MONOCHROME); @@ -475,14 +475,16 @@ void eurocom2_state::eurocom2(machine_config &config) FD1793(config, m_fdc, 2_MHz_XTAL / 2); // m_fdc->intrq_wr_callback().set_inputline(m_maincpu, M6809_IRQ_LINE); - FLOPPY_CONNECTOR(config, "fdc:0", eurocom_floppies, "525qd", eurocom2_state::floppy_formats);// enable_sound(true); - FLOPPY_CONNECTOR(config, "fdc:1", eurocom_floppies, "525qd", eurocom2_state::floppy_formats);// enable_sound(true); -} + MCFG_FLOPPY_DRIVE_ADD("fdc:0", eurocom_floppies, "525qd", eurocom2_state::floppy_formats) +// MCFG_FLOPPY_DRIVE_SOUND(true) + MCFG_FLOPPY_DRIVE_ADD("fdc:1", eurocom_floppies, "525qd", eurocom2_state::floppy_formats) +// MCFG_FLOPPY_DRIVE_SOUND(true) +MACHINE_CONFIG_END -void waveterm_state::waveterm(machine_config &config) -{ +MACHINE_CONFIG_START(waveterm_state::waveterm) eurocom2(config); - m_maincpu->set_addrmap(AS_PROGRAM, &waveterm_state::waveterm_map); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(waveterm_map) m_pia2->cb2_handler().set(FUNC(waveterm_state::waveterm_kbh_w)); m_pia2->writepb_handler().set(FUNC(waveterm_state::waveterm_kb_w)); @@ -499,17 +501,16 @@ void waveterm_state::waveterm(machine_config &config) m_pia3->readcb1_handler().set_ioport("FP"); // m_pia3->cb2_handler().set(FUNC(waveterm_state::pia3_cb2_w)); - PTM6840(config, m_ptm, 0); + MCFG_DEVICE_ADD("ptm", PTM6840, 0) - SOFTWARE_LIST(config, "disk_list").set_original("waveterm"); -} + MCFG_SOFTWARE_LIST_ADD("disk_list", "waveterm") +MACHINE_CONFIG_END -void eurocom2_state::microtrol(machine_config &config) -{ +MACHINE_CONFIG_START(eurocom2_state::microtrol) eurocom2(config); // TODO: Second board has WD2793A FDC and what looks like a RAM disk -} +MACHINE_CONFIG_END ROM_START(eurocom2) |