summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/z80scc.cpp
diff options
context:
space:
mode:
author Joakim Larsson Edstrom <joakimlarsson42@gmail.com>2017-01-12 11:21:38 +0100
committer Joakim Larsson Edstrom <joakimlarsson42@gmail.com>2017-01-12 11:21:38 +0100
commitf9b016a8e3cb5493d05004ea1bb12c835bef2b1c (patch)
tree5ad3ffa0b0481f3592189d62d4eb6b1b2a8c2464 /src/devices/machine/z80scc.cpp
parent651631b86d820cd40308ac408407833aed3e6762 (diff)
improved LOG printouts
Diffstat (limited to 'src/devices/machine/z80scc.cpp')
-rw-r--r--src/devices/machine/z80scc.cpp46
1 files changed, 30 insertions, 16 deletions
diff --git a/src/devices/machine/z80scc.cpp b/src/devices/machine/z80scc.cpp
index b6616f425c7..c08026c95c3 100644
--- a/src/devices/machine/z80scc.cpp
+++ b/src/devices/machine/z80scc.cpp
@@ -75,22 +75,36 @@ DONE (x) (p=partly) NMOS CMOS ESCC EMSCC
//**************************************************************************
// MACROS / CONSTANTS
//**************************************************************************
-/* Useful temporary debug printout format */
-// printf("TAG %lld %s%s Data:%d\n", machine().firstcpu->total_cycles(), __PRETTY_FUNCTION__, m_owner->tag(), data);
-
-#define VERBOSE 0
-#define LOGPRINT(...) do { if (VERBOSE) logerror(__VA_ARGS__); } while (0)
-#define LOG(...) {} LOGPRINT(__VA_ARGS__)
-#define LOGR(...) {}
-#define LOGSETUP(...) {} LOGPRINT(__VA_ARGS__)
-#define LOGINT(...) {}
-#define LOGCMD(...) {}
-#define LOGTX(...) {}
-#define LOGRCV(...) {}
-#define LOGCTS(...) {}
-#define LOGDCD(...) {}
-#define LOGSYNC(...) {}
-#if VERBOSE == 2
+
+#define LOG_GENERAL 0x001
+#define LOG_SETUP 0x002
+#define LOG_PRINTF 0x004
+#define LOG_READ 0x008
+#define LOG_INT 0x010
+#define LOG_CMD 0x020
+#define LOG_TX 0x040
+#define LOG_RCV 0x080
+#define LOG_CTS 0x100
+#define LOG_DCD 0x200
+#define LOG_SYNC 0x400
+
+#define VERBOSE 0 // (LOG_PRINTF | LOG_SETUP | LOG_GENERAL)
+
+#define LOGMASK(mask, ...) do { if (VERBOSE & mask) logerror(__VA_ARGS__); } while (0)
+#define LOGLEVEL(mask, level, ...) do { if ((VERBOSE & mask) >= level) logerror(__VA_ARGS__); } while (0)
+
+#define LOG(...) LOGMASK(LOG_GENERAL, __VA_ARGS__)
+#define LOGSETUP(...) LOGMASK(LOG_SETUP, __VA_ARGS__)
+#define LOGR(...) LOGMASK(LOG_READ, __VA_ARGS__)
+#define LOGINT(...) LOGMASK(LOG_INT, __VA_ARGS__)
+#define LOGCMD(...) LOGMASK(LOG_CMD, __VA_ARGS__)
+#define LOGTX(...) LOGMASK(LOG_TX, __VA_ARGS__)
+#define LOGRCV(...) LOGMASK(LOG_RCV, __VA_ARGS__)
+#define LOGCTS(...) LOGMASK(LOG_CTS, __VA_ARGS__)
+#define LOGDCD(...) LOGMASK(LOG_DCD, __VA_ARGS__)
+#define LOGSYNC(...) LOGMASK(LOG_SYNC, __VA_ARGS__)
+
+#if VERBOSE & LOG_PRINTF
#define logerror printf
#endif