summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine
diff options
context:
space:
mode:
author tedgreen99 <tedgreen99@users.noreply.github.com>2022-05-10 06:32:36 -0600
committer GitHub <noreply@github.com>2022-05-10 22:32:36 +1000
commit721a1a6417de555efcaec0f65f870f663e25e8f9 (patch)
tree35b6d55cc7b98b0ce52167f6e491f022e8d53356 /src/mame/machine
parent7c67c12282c9d4f2c674a68997b827de084711b6 (diff)
machine/midwayic.cpp: Use logmacro.h helpers for debug logging. (#9725)
Diffstat (limited to 'src/mame/machine')
-rw-r--r--src/mame/machine/midwayic.cpp103
1 files changed, 51 insertions, 52 deletions
diff --git a/src/mame/machine/midwayic.cpp b/src/mame/machine/midwayic.cpp
index 5f85d4002dd..5ea2fe4d74d 100644
--- a/src/mame/machine/midwayic.cpp
+++ b/src/mame/machine/midwayic.cpp
@@ -9,13 +9,25 @@
#include "emu.h"
#include "midwayic.h"
-
-#define LOG_NVRAM (0)
-
+#define LOG_IRQ (1U << 1)
+#define LOG_NVRAM (1U << 2)
+#define LOG_FIFO (1U << 3)
+#define LOG_IOASIC (1U << 4)
+#define LOG_PIC (1U << 5)
+#define LOG_UART (1U << 6)
+
+//#define VERBOSE (LOG_IRQ | LOG_FIFO | LOG_IOASIC | LOG_PIC | LOG_UART)
+#include "logmacro.h"
+
+#define LOGIRQ(...) LOGMASKED(LOG_IRQ, __VA_ARGS__)
+#define LOGNVRAM(...) LOGMASKED(LOG_NVRAM, __VA_ARGS__)
+#define LOGFIFO(...) LOGMASKED(LOG_FIFO, __VA_ARGS__)
+#define LOGIOASIC(...) LOGMASKED(LOG_IOASIC, __VA_ARGS__)
+#define LOGPIC(...) LOGMASKED(LOG_PIC, __VA_ARGS__)
+#define LOGUART(...) LOGMASKED(LOG_UART, __VA_ARGS__)
+
+// Prints serial uart transmit to mame console
#define PRINTF_DEBUG (0)
-#define LOG_IOASIC (0)
-#define LOG_FIFO (0)
-
/*************************************
*
@@ -185,7 +197,7 @@ u8 midway_serial_pic_device::read()
{
if (!machine().side_effects_disabled())
{
- logerror("%s:security R = %04X\n", machine().describe_context(), m_buff);
+ LOGPIC("%s:security R = %04X\n", machine().describe_context(), m_buff);
m_status = 1;
}
return m_buff;
@@ -194,7 +206,7 @@ u8 midway_serial_pic_device::read()
void midway_serial_pic_device::write(u8 data)
{
- logerror("%s:security W = %04X\n", machine().describe_context(), data);
+ LOGPIC("%s:security W = %04X\n", machine().describe_context(), data);
/* status seems to reflect the clock bit */
m_status = (data >> 4) & 1;
@@ -415,7 +427,7 @@ u8 midway_serial_pic2_device::status_r()
result = 1;
}
- logerror("%s:PIC status %d\n", machine().describe_context(), result);
+ LOGPIC("%s:PIC status %d\n", machine().describe_context(), result);
}
return result;
}
@@ -427,7 +439,7 @@ u8 midway_serial_pic2_device::read()
/* PIC data register */
if (!machine().side_effects_disabled())
- logerror("%s:PIC data read (index=%d total=%d latch=%03X) =", machine().describe_context(), m_index, m_total, m_latch);
+ LOGPIC("%s:PIC data read (index=%d total=%d latch=%03X) =", machine().describe_context(), m_index, m_total, m_latch);
/* return the current result */
if (m_latch & 0xf00)
@@ -438,22 +450,18 @@ u8 midway_serial_pic2_device::read()
result = 0xff;
if (!machine().side_effects_disabled())
- logerror("%02X\n", result);
+ LOGPIC("%02X\n", result);
return result;
}
void midway_serial_pic2_device::write(u8 data)
{
- static FILE *nvramlog;
- if (LOG_NVRAM && !nvramlog)
- nvramlog = fopen("nvram.log", "w");
-
/* PIC command register */
if (m_state == 0)
- logerror("%s:PIC command %02X\n", machine().describe_context(), data);
+ LOGPIC("%s:PIC command %02X\n", machine().describe_context(), data);
else
- logerror("%s:PIC data %02X\n", machine().describe_context(), data);
+ LOGPIC("%s:PIC data %02X\n", machine().describe_context(), data);
/* store in the latch, along with a bit to indicate we have data */
m_latch = (data & 0x00f) | 0x480;
@@ -586,8 +594,7 @@ void midway_serial_pic2_device::write(u8 data)
{
m_state = 0;
m_nvram[m_nvram_addr] |= m_latch << 4;
- if (nvramlog)
- fprintf(nvramlog, "Write byte %02X = %02X\n", m_nvram_addr, m_nvram[m_nvram_addr]);
+ LOGNVRAM("Write byte %02X = %02X\n", m_nvram_addr, m_nvram[m_nvram_addr]);
}
break;
@@ -614,8 +621,7 @@ void midway_serial_pic2_device::write(u8 data)
m_total = 0;
m_index = 0;
m_buffer[m_total++] = m_nvram[m_nvram_addr];
- if (nvramlog)
- fprintf(nvramlog, "Read byte %02X = %02X\n", m_nvram_addr, m_nvram[m_nvram_addr]);
+ LOGNVRAM("Read byte %02X = %02X\n", m_nvram_addr, m_nvram[m_nvram_addr]);
}
break;
@@ -828,14 +834,14 @@ void midway_ioasic_device::update_ioasic_irq()
if (!m_irq_callback.isnull())
m_irq_callback(m_irq_state ? ASSERT_LINE : CLEAR_LINE);
if (m_irq_state && (m_reg[IOASIC_UARTIN] & 0x1000))
- logerror("IOASIC: Asserting IRQ INTCTRL=%04x INTSTAT=%04X\n", m_reg[IOASIC_INTCTL], m_reg[IOASIC_INTSTAT]);
+ LOGIRQ("IOASIC: Asserting IRQ INTCTRL=%04x INTSTAT=%04X\n", m_reg[IOASIC_INTCTL], m_reg[IOASIC_INTSTAT]);
}
}
void midway_ioasic_device::cage_irq_handler(uint8_t data)
{
- logerror("CAGE irq handler: %d\n", data);
+ LOGIRQ("CAGE irq handler: %d\n", data);
m_sound_irq_state = 0;
if (data & atari_cage_device::CAGE_IRQ_REASON_DATA_READY)
m_sound_irq_state |= 0x0040;
@@ -847,7 +853,7 @@ void midway_ioasic_device::cage_irq_handler(uint8_t data)
WRITE_LINE_MEMBER(midway_ioasic_device::ioasic_input_empty)
{
-// logerror("ioasic_input_empty(%d)\n", state);
+ LOGFIFO("ioasic_input_empty(%d)\n", state);
if (state)
m_sound_irq_state |= 0x0080;
else
@@ -858,7 +864,7 @@ WRITE_LINE_MEMBER(midway_ioasic_device::ioasic_input_empty)
WRITE_LINE_MEMBER(midway_ioasic_device::ioasic_output_full)
{
-// logerror("ioasic_output_full(%d)\n", state);
+ LOGFIFO("ioasic_output_full(%d)\n", state);
if (state)
m_sound_irq_state |= 0x0040;
else
@@ -886,8 +892,8 @@ uint16_t midway_ioasic_device::fifo_r()
m_fifo_bytes--;
update_ioasic_irq();
- if (LOG_FIFO && (m_fifo_bytes < 4 || m_fifo_bytes >= FIFO_SIZE - 4))
- logerror("fifo_r(%04X): FIFO bytes = %d!\n", result, m_fifo_bytes);
+ if (m_fifo_bytes < 4 || m_fifo_bytes >= FIFO_SIZE - 4)
+ LOGFIFO("fifo_r(%04X): FIFO bytes = %d!\n", result, m_fifo_bytes);
/* if we just cleared the buffer, this may generate an IRQ on the master CPU */
/* because of the way the streaming code works, we need to make sure that the */
@@ -896,14 +902,12 @@ uint16_t midway_ioasic_device::fifo_r()
if (m_fifo_bytes == 0 && m_has_dcs)
{
m_fifo_force_buffer_empty_pc = m_dcs_cpu->pc();
- if (LOG_FIFO)
- logerror("fifo_r(%04X): FIFO empty, PC = %04X\n", result, m_fifo_force_buffer_empty_pc);
+ LOGFIFO("fifo_r(%04X): FIFO empty, PC = %04X\n", result, m_fifo_force_buffer_empty_pc);
}
}
else
{
- if (LOG_FIFO)
- logerror("fifo_r(): nothing to read!\n");
+ LOGFIFO("fifo_r(): nothing to read!\n");
}
return result;
}
@@ -938,8 +942,7 @@ uint16_t midway_ioasic_device::fifo_status_r(address_space &space)
{
m_fifo_force_buffer_empty_pc = 0;
result |= 0x08;
- if (LOG_FIFO)
- logerror("ioasic_fifo_status_r(%04X): force empty, PC = %04X\n", result, currpc);
+ LOGFIFO("ioasic_fifo_status_r(%04X): force empty, PC = %04X\n", result, currpc);
}
}
@@ -958,8 +961,7 @@ WRITE_LINE_MEMBER(midway_ioasic_device::fifo_reset_w)
m_force_fifo_full = 0;
update_ioasic_irq();
}
- if (LOG_FIFO)
- logerror("%s:fifo_reset(%d)\n", machine().describe_context(), state);
+ LOGFIFO("%s:fifo_reset(%d)\n", machine().describe_context(), state);
}
@@ -971,13 +973,12 @@ void midway_ioasic_device::fifo_w(uint16_t data)
m_fifo[m_fifo_in++ % FIFO_SIZE] = data;
m_fifo_bytes++;
update_ioasic_irq();
- if (LOG_FIFO && (m_fifo_bytes < 4 || m_fifo_bytes >= FIFO_SIZE - 4))
- logerror("fifo_w(%04X): FIFO bytes = %d!\n", data, m_fifo_bytes);
+ if (m_fifo_bytes < 4 || m_fifo_bytes >= FIFO_SIZE - 4)
+ LOGFIFO("fifo_w(%04X): FIFO bytes = %d!\n", data, m_fifo_bytes);
}
else
{
- if (LOG_FIFO)
- logerror("fifo_w(%04X): out of space!\n", data);
+ LOGFIFO("fifo_w(%04X): out of space!\n", data);
}
m_dcs->fifo_notify(m_fifo_bytes, FIFO_SIZE);
}
@@ -985,8 +986,7 @@ void midway_ioasic_device::fifo_w(uint16_t data)
void midway_ioasic_device::fifo_full_w(uint16_t data)
{
- if (LOG_FIFO)
- logerror("fifo_full_w(%04X)\n", data);
+ LOGFIFO("fifo_full_w(%04X)\n", data);
m_force_fifo_full = 1;
update_ioasic_irq();
m_dcs->fifo_notify(m_fifo_bytes, FIFO_SIZE);
@@ -1048,7 +1048,7 @@ uint32_t midway_ioasic_device::read(address_space &space, offs_t offset)
case IOASIC_UARTIN:
m_reg[offset] &= ~0x1000;
if (result & 0x1000)
- logerror("%s: ioasic_r(%d) = %08X\n", machine().describe_context(), offset, result);
+ LOGUART("%s: ioasic_r(%d) = %08X\n", machine().describe_context(), offset, result);
// Add lf
if ((result & 0xff)==0x0d)
m_reg[offset] = 0x300a;
@@ -1097,8 +1097,8 @@ uint32_t midway_ioasic_device::read(address_space &space, offs_t offset)
break;
}
- if (LOG_IOASIC && offset != IOASIC_SOUNDSTAT && offset != IOASIC_SOUNDIN)
- logerror("%s:ioasic_r(%d) = %08X\n", machine().describe_context(), offset, result);
+ if (offset != IOASIC_SOUNDSTAT && offset != IOASIC_SOUNDIN)
+ LOGIOASIC("%s:ioasic_r(%d) = %08X\n", machine().describe_context(), offset, result);
return result;
}
@@ -1141,8 +1141,8 @@ void midway_ioasic_device::write(offs_t offset, uint32_t data, uint32_t mem_mask
COMBINE_DATA(&m_reg[offset]);
newreg = m_reg[offset];
- if (LOG_IOASIC && offset != IOASIC_SOUNDOUT)
- logerror("%s ioasic_w(%d) = %08X\n", machine().describe_context(), offset, data);
+ if (offset != IOASIC_SOUNDOUT)
+ LOGIOASIC("%s ioasic_w(%d) = %08X\n", machine().describe_context(), offset, data);
switch (offset)
{
@@ -1165,7 +1165,7 @@ void midway_ioasic_device::write(offs_t offset, uint32_t data, uint32_t mem_mask
break;
case IOASIC_UARTCONTROL:
- logerror("%s: IOASIC uart control = %04X INTCTRL=%04x\n", machine().describe_context(), data, m_reg[IOASIC_INTCTL]);
+ LOGMASKED(LOG_IOASIC | LOG_UART, "%s: IOASIC uart control = %04X INTCTRL=%04x\n", machine().describe_context(), data, m_reg[IOASIC_INTCTL]);
break;
case IOASIC_UARTOUT:
@@ -1184,12 +1184,11 @@ void midway_ioasic_device::write(offs_t offset, uint32_t data, uint32_t mem_mask
logerror("%c", data & 0xff);
}
}
- //logerror("IOASIC uart tx data = %04X\n", data);
+ LOGUART("IOASIC uart tx data = %04X\n", data);
break;
case IOASIC_SOUNDCTL:
- if (LOG_IOASIC)
- logerror("%s: write IOASIC_SOUNDCTL=%04x\n", machine().describe_context(), data);
+ LOGIOASIC("%s: write IOASIC_SOUNDCTL=%04x\n", machine().describe_context(), data);
/* sound reset? */
if (m_has_dcs)
{
@@ -1244,8 +1243,8 @@ void midway_ioasic_device::write(offs_t offset, uint32_t data, uint32_t mem_mask
/* bit 7 = sound output buffer empty */
/* bit 14 = LED */
/* bit 15 = TI320Cx Mode Enable */
- if (LOG_IOASIC && ((oldreg ^ newreg) & 0x3ff6))
- logerror("IOASIC interrupt control = %04X\n", data);
+ if ((oldreg ^ newreg) & 0x3ff6)
+ LOGMASKED(LOG_IOASIC | LOG_IRQ, "IOASIC interrupt control = %04X\n", data);
update_ioasic_irq();
break;