summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/pla.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/pla.cpp')
-rw-r--r--src/devices/machine/pla.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/devices/machine/pla.cpp b/src/devices/machine/pla.cpp
index f1ccde8aecc..44db6a4ed10 100644
--- a/src/devices/machine/pla.cpp
+++ b/src/devices/machine/pla.cpp
@@ -11,6 +11,10 @@
#include "jedparse.h"
#include "plaparse.h"
+#define LOG_TERMS (1 << 0U)
+//#define VERBOSE (LOG_TERMS)
+#include "logmacro.h"
+
DEFINE_DEVICE_TYPE(PLA, pla_device, "pla", "PLA")
DEFINE_DEVICE_TYPE(PLS100, pls100_device, "pls100", "82S100-series PLA")
@@ -147,6 +151,16 @@ void pla_device::parse_fusemap()
}
term->or_mask <<= 32;
+
+ LOGMASKED(LOG_TERMS, "F |= %0*X if (I & %0*X) == zeroes and (I & %0*X) == ones [term %d%s]\n",
+ (m_outputs + 3) / 4,
+ term->or_mask >> 32,
+ (m_inputs + 3) / 4,
+ (term->and_mask ^ m_input_mask) >> 32,
+ (m_inputs + 3) / 4,
+ uint32_t(term->and_mask ^ m_input_mask),
+ p,
+ (~term->and_mask & (~term->and_mask >> 32) & m_input_mask) == 0 ? "" : ", ignored");
}
// XOR mask
@@ -158,6 +172,8 @@ void pla_device::parse_fusemap()
}
m_xor <<= 32;
+
+ LOGMASKED(LOG_TERMS, "F ^= %0*X\n", (m_outputs + 3) / 4, m_xor >> 32);
}