diff options
Diffstat (limited to 'src/mame/drivers/tosh1000.cpp')
-rw-r--r-- | src/mame/drivers/tosh1000.cpp | 61 |
1 files changed, 31 insertions, 30 deletions
diff --git a/src/mame/drivers/tosh1000.cpp b/src/mame/drivers/tosh1000.cpp index 741f31563b8..6b6c5d83eeb 100644 --- a/src/mame/drivers/tosh1000.cpp +++ b/src/mame/drivers/tosh1000.cpp @@ -49,16 +49,17 @@ #include "softlist.h" -//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already -#define LOG_KEYBOARD (1U << 1) -#define LOG_DEBUG (1U << 2) +#define VERBOSE_DBG 1 /* 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 tosh1000_state : public driver_device @@ -118,7 +119,7 @@ MACHINE_RESET_MEMBER(tosh1000_state, tosh1000) WRITE8_MEMBER(tosh1000_state::romdos_bank_w) { - LOGDBG("ROM-DOS <- %02x (%s, accessing bank %d)\n", data, BIT(data, 7)?"enable":"disable", data&7); + DBG_LOG(2,"ROM-DOS", ("<- %02x (%s, accessing bank %d)\n", data, BIT(data, 7)?"enable":"disable", data&7)); if (BIT(data, 7)) { @@ -132,14 +133,14 @@ WRITE8_MEMBER(tosh1000_state::romdos_bank_w) WRITE8_MEMBER(tosh1000_state::bram_w) { - LOGDBG("BRAM %02x <- %02x\n", 0xc0 + offset, data); + DBG_LOG(2, "BRAM", ("%02x <- %02x\n", 0xc0 + offset, data)); switch (offset) { case 1: if (m_bram_latch) { - LOG("Backup RAM %02x <- %02x\n", m_bram_offset % 160, data); + DBG_LOG(1, "Backup RAM", ("%02x <- %02x\n", m_bram_offset % 160, data)); m_bram->write(m_bram_offset % 160, data); m_bram_offset++; } @@ -187,7 +188,7 @@ READ8_MEMBER(tosh1000_state::bram_r) if (m_bram_state == READ_DATA) { data = m_bram->read(m_bram_offset % 160); - LOG("BRAM @ %02x == %02x\n", m_bram_offset % 160, data); + DBG_LOG(1, "BRAM", ("@ %02x == %02x\n", m_bram_offset % 160, data)); m_bram_offset++; } break; @@ -211,7 +212,7 @@ READ8_MEMBER(tosh1000_state::bram_r) break; } - LOGDBG("BRAM %02x == %02x\n", 0xc0 + offset, data); + DBG_LOG(2, "BRAM", ("%02x == %02x\n", 0xc0 + offset, data)); return data; } @@ -253,38 +254,38 @@ void tosh1000_state::cfg_fdc_35(device_t *device) dynamic_cast<device_slot_interface &>(*device->subdevice("fdc:1")).set_default_option(""); } -void tosh1000_state::tosh1000(machine_config &config) -{ - I8088(config, m_maincpu, XTAL(5'000'000)); - m_maincpu->set_addrmap(AS_PROGRAM, &tosh1000_state::tosh1000_map); - m_maincpu->set_addrmap(AS_IO, &tosh1000_state::tosh1000_io); - m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb)); +MACHINE_CONFIG_START(tosh1000_state::tosh1000) + MCFG_DEVICE_ADD("maincpu", I8088, XTAL(5'000'000)) + MCFG_DEVICE_PROGRAM_MAP(tosh1000_map) + MCFG_DEVICE_IO_MAP(tosh1000_io) + MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) ADDRESS_MAP_BANK(config, "bankdev").set_map(&tosh1000_state::tosh1000_romdos).set_options(ENDIANNESS_LITTLE, 8, 20, 0x10000); MCFG_MACHINE_RESET_OVERRIDE(tosh1000_state, tosh1000) - IBM5160_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu); + MCFG_IBM5160_MOTHERBOARD_ADD("mb", "maincpu") TC8521(config, "rtc", XTAL(32'768)); // FIXME: determine ISA bus clock - ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false); - ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false).set_option_machine_config("fdc_xt", cfg_fdc_35); - ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false); - ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false); - ISA8_SLOT(config, "isa5", 0, "mb:isa", pc_isa8_cards, nullptr, false); - ISA8_SLOT(config, "isa6", 0, "mb:isa", pc_isa8_cards, nullptr, false); + MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "cga", false) + MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false) + MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_fdc_35) + MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false) + MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false) + MCFG_DEVICE_ADD("isa5", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false) + MCFG_DEVICE_ADD("isa6", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false) -// SOFTWARE_LIST(config, "flop_list").set_original("tosh1000"); +// MCFG_SOFTWARE_LIST_ADD("flop_list","tosh1000") // uses a 80C50 instead of 8042 for KBDC - PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_KEYTRONIC_PC3270).set_pc_kbdc_slot(subdevice("mb:pc_kbdc")); + MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_KEYTRONIC_PC3270) RAM(config, RAM_TAG).set_default_size("512K"); TOSH1000_BRAM(config, m_bram, 0); -} +MACHINE_CONFIG_END ROM_START( tosh1000 ) |