summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ti99/gromport/gkracker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ti99/gromport/gkracker.cpp')
-rw-r--r--src/devices/bus/ti99/gromport/gkracker.cpp41
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);
}