summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/eurocom2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/eurocom2.cpp')
-rw-r--r--src/mame/drivers/eurocom2.cpp71
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)