diff options
Diffstat (limited to 'src/mame/drivers/eurocom2.cpp')
-rw-r--r-- | src/mame/drivers/eurocom2.cpp | 71 |
1 files changed, 35 insertions, 36 deletions
diff --git a/src/mame/drivers/eurocom2.cpp b/src/mame/drivers/eurocom2.cpp index cb14c154bfa..9f916f38183 100644 --- a/src/mame/drivers/eurocom2.cpp +++ b/src/mame/drivers/eurocom2.cpp @@ -51,17 +51,16 @@ #define VC_DISP_VERT 256 -#define VERBOSE_DBG 2 /* general debug messages */ +//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already +#define LOG_KEYBOARD (1U << 1) +#define LOG_DEBUG (1U << 2) -#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) +//#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__) class eurocom2_state : public driver_device @@ -172,7 +171,7 @@ READ8_MEMBER(eurocom2_state::fdc_aux_r) data |= (m_fdc->intrq_r() << 6); data |= (m_fdc->drq_r() << 7); - DBG_LOG(3, "Floppy", ("%d == %02x\n", offset, data)); + LOGDBG("Floppy %d == %02x\n", offset, data); return data; } @@ -212,12 +211,12 @@ WRITE8_MEMBER(eurocom2_state::fdc_aux_w) m_fdc->dden_w(BIT(data, 5)); - DBG_LOG(3, "Floppy", ("%d <- %02x\n", offset, data)); + LOGDBG("Floppy %d <- %02x\n", offset, data); } WRITE8_MEMBER(eurocom2_state::vico_w) { - DBG_LOG(2, "VICO", ("%d <- %02x\n", offset, data)); + LOG("VICO %d <- %02x\n", offset, data); m_vico[offset & 1] = data; } @@ -225,21 +224,21 @@ WRITE8_MEMBER(eurocom2_state::vico_w) READ_LINE_MEMBER(eurocom2_state::pia1_ca2_r) { - DBG_LOG(3, "PIA1", ("CA2 == %d (SST Q14)\n", m_sst_state)); + LOGDBG("PIA1 CA2 == %d (SST Q14)\n", m_sst_state); return m_sst_state; } READ_LINE_MEMBER(eurocom2_state::pia1_cb1_r) { - DBG_LOG(3, "PIA1", ("CB1 == %d (SST Q6)\n", m_sst_state)); + LOGDBG("PIA1 CB1 == %d (SST Q6)\n", m_sst_state); return m_sst_state; } WRITE_LINE_MEMBER(eurocom2_state::pia1_cb2_w) { - DBG_LOG(2, "PIA1", ("CB2 <- %d (SST reset)\n", state)); + LOG("PIA1 CB2 <- %d (SST reset)\n", state); // reset single-step timer } @@ -438,14 +437,15 @@ static void eurocom_floppies(device_slot_interface &device) device.option_add("8dsdd", FLOPPY_8_DSDD); } -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) +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); - 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") + 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"); PALETTE(config, "palette", palette_device::MONOCHROME); @@ -475,16 +475,14 @@ MACHINE_CONFIG_START(eurocom2_state::eurocom2) FD1793(config, m_fdc, 2_MHz_XTAL / 2); // m_fdc->intrq_wr_callback().set_inputline(m_maincpu, M6809_IRQ_LINE); - 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 + 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); +} -MACHINE_CONFIG_START(waveterm_state::waveterm) +void waveterm_state::waveterm(machine_config &config) +{ eurocom2(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(waveterm_map) + m_maincpu->set_addrmap(AS_PROGRAM, &waveterm_state::waveterm_map); m_pia2->cb2_handler().set(FUNC(waveterm_state::waveterm_kbh_w)); m_pia2->writepb_handler().set(FUNC(waveterm_state::waveterm_kb_w)); @@ -501,16 +499,17 @@ MACHINE_CONFIG_START(waveterm_state::waveterm) m_pia3->readcb1_handler().set_ioport("FP"); // m_pia3->cb2_handler().set(FUNC(waveterm_state::pia3_cb2_w)); - MCFG_DEVICE_ADD("ptm", PTM6840, 0) + PTM6840(config, m_ptm, 0); - MCFG_SOFTWARE_LIST_ADD("disk_list", "waveterm") -MACHINE_CONFIG_END + SOFTWARE_LIST(config, "disk_list").set_original("waveterm"); +} -MACHINE_CONFIG_START(eurocom2_state::microtrol) +void eurocom2_state::microtrol(machine_config &config) +{ eurocom2(config); // TODO: Second board has WD2793A FDC and what looks like a RAM disk -MACHINE_CONFIG_END +} ROM_START(eurocom2) |