diff options
Diffstat (limited to 'src/devices/bus/ti99/gromport/gkracker.cpp')
-rw-r--r-- | src/devices/bus/ti99/gromport/gkracker.cpp | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/src/devices/bus/ti99/gromport/gkracker.cpp b/src/devices/bus/ti99/gromport/gkracker.cpp index 6cacbb0e2c7..cd4a99d5000 100644 --- a/src/devices/bus/ti99/gromport/gkracker.cpp +++ b/src/devices/bus/ti99/gromport/gkracker.cpp @@ -97,6 +97,13 @@ #include "emu.h" #include "gkracker.h" +#define LOG_WARN (1U<<1) // Warnings +#define LOG_CHANGE (1U<<2) // Cartridge change +#define LOG_GKRACKER (1U<<3) // Gram Kracker operation + +#define VERBOSE ( LOG_WARN ) +#include "logmacro.h" + DEFINE_DEVICE_TYPE_NS(TI99_GROMPORT_GK, bus::ti99::gromport, ti99_gkracker_device, "ti99_gkracker", "Miller's Graphics GRAM Kracker") namespace bus { namespace ti99 { namespace gromport { @@ -122,8 +129,6 @@ enum #define GKSWITCH4_TAG "GKSWITCH4" #define GKSWITCH5_TAG "GKSWITCH5" -#define TRACE_GKRACKER 0 -#define TRACE_CHANGE 0 #define GKRACKER_NVRAM_TAG "gkracker_nvram" #define GKRACKER_ROM_TAG "gkracker_rom" @@ -150,10 +155,10 @@ WRITE_LINE_MEMBER(ti99_gkracker_device::romgq_line) /* Combined select lines */ -WRITE8_MEMBER(ti99_gkracker_device::set_gromlines) +void ti99_gkracker_device::set_gromlines(line_state mline, line_state moline, line_state gsq) { - m_grom_selected = (data != 0); - if (m_cartridge != nullptr) m_cartridge->set_gromlines(space, offset, data); + m_grom_selected = (gsq==ASSERT_LINE); + if (m_cartridge != nullptr) m_cartridge->set_gromlines(mline, moline, gsq); } WRITE_LINE_MEMBER(ti99_gkracker_device::gclock_in) @@ -196,7 +201,7 @@ READ8Z_MEMBER(ti99_gkracker_device::readz) // Reset the write address flipflop. m_waddr_LSB = false; - if (TRACE_GKRACKER) logerror("GROM read -> %02x\n", *value); + LOGMASKED(LOG_GKRACKER, "GROM read -> %02x\n", *value); } } @@ -211,7 +216,7 @@ READ8Z_MEMBER(ti99_gkracker_device::readz) { int base = ((m_gk_switch[4]==GK_BANK1) || ((m_gk_switch[4]==GK_WP) && (m_ram_page==0)))? 0x10000 : 0x12000; *value = m_ram_ptr[offset | base]; - if (TRACE_GKRACKER) logerror("Read %04x -> %02x\n", offset | 0x6000, *value); + LOGMASKED(LOG_GKRACKER, "Read %04x -> %02x\n", offset | 0x6000, *value); } } @@ -223,8 +228,8 @@ READ8Z_MEMBER(ti99_gkracker_device::readz) // Read from the guest cartridge. m_cartridge->readz(space, offset, value, mem_mask); - if (TRACE_GKRACKER) - if (val1 != *value) logerror("Read (from guest) %04x -> %02x\n", offset, *value); + if (val1 != *value) + LOGMASKED(LOG_GKRACKER, "Read (from guest) %04x -> %02x\n", offset, *value); } } @@ -247,7 +252,7 @@ WRITE8_MEMBER(ti99_gkracker_device::write) // Accept low address byte (second write) m_grom_address = (m_grom_address & 0xff00) | data; m_waddr_LSB = false; - if (TRACE_GKRACKER) logerror("Set GROM address %04x\n", m_grom_address); + LOGMASKED(LOG_GKRACKER, "Set GROM address %04x\n", m_grom_address); } else { @@ -259,7 +264,7 @@ WRITE8_MEMBER(ti99_gkracker_device::write) else { // Write data byte to GRAM area. - if (TRACE_GKRACKER) logerror("GROM write %04x(%04x) <- %02x\n", offset, m_grom_address, data); + LOGMASKED(LOG_GKRACKER, "GROM write %04x(%04x) <- %02x\n", offset, m_grom_address, data); // According to manual: // Writing to GRAM 0: switch 2 set to GRAM 0 + Write protect switch (4) in 1 or 2 position @@ -287,7 +292,7 @@ WRITE8_MEMBER(ti99_gkracker_device::write) if (m_romspace_selected) { // Write to the RAM space of the GRAM Kracker - if (TRACE_GKRACKER) logerror("Write %04x <- %02x\n", offset | 0x6000, data); + LOGMASKED(LOG_GKRACKER, "Write %04x <- %02x\n", offset | 0x6000, data); if (m_gk_switch[1] == GK_NORMAL) { @@ -312,13 +317,13 @@ WRITE8_MEMBER( ti99_gkracker_device::cruwrite ) INPUT_CHANGED_MEMBER( ti99_gkracker_device::gk_changed ) { - if (TRACE_GKRACKER) logerror("Input changed %d - %d\n", (int)((uint64_t)param & 0x07), newval); + LOGMASKED(LOG_GKRACKER, "Input changed %d - %d\n", (int)((uint64_t)param & 0x07), newval); m_gk_switch[(uint64_t)param & 0x07] = newval; } void ti99_gkracker_device::insert(int index, ti99_cartridge_device* cart) { - if (TRACE_CHANGE) logerror("Insert cartridge\n"); + LOGMASKED(LOG_CHANGE, "Insert cartridge\n"); m_cartridge = cart; // Switch 1 has a third location for resetting. We do the reset by default // here. It can be turned off in the configuration. @@ -327,7 +332,7 @@ void ti99_gkracker_device::insert(int index, ti99_cartridge_device* cart) void ti99_gkracker_device::remove(int index) { - if (TRACE_CHANGE) logerror("Remove cartridge\n"); + LOGMASKED(LOG_CHANGE, "Remove cartridge\n"); m_cartridge = nullptr; } @@ -350,7 +355,7 @@ void ti99_gkracker_device::gk_install_menu(const char* menutext, int len, int pt */ void ti99_gkracker_device::nvram_default() { - if (TRACE_GKRACKER) logerror("Creating default NVRAM\n"); + LOGMASKED(LOG_GKRACKER, "Creating default NVRAM\n"); memset(m_ram_ptr, 0, 81920); m_ram_ptr[0x6000] = 0xaa; @@ -374,7 +379,7 @@ void ti99_gkracker_device::nvram_default() void ti99_gkracker_device::nvram_read(emu_file &file) { int readsize = file.read(m_ram_ptr, 81920); - if (TRACE_GKRACKER) logerror("Reading NVRAM\n"); + LOGMASKED(LOG_GKRACKER, "Reading NVRAM\n"); // If we increased the size, fill the remaining parts with 0 if (readsize < 81920) { @@ -384,7 +389,7 @@ void ti99_gkracker_device::nvram_read(emu_file &file) void ti99_gkracker_device::nvram_write(emu_file &file) { - if (TRACE_GKRACKER) logerror("Writing NVRAM\n"); + LOGMASKED(LOG_GKRACKER, "Writing NVRAM\n"); file.write(m_ram_ptr, 81920); } |