summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-04-20 14:27:27 -0400
committer AJR <ajrhacker@users.noreply.github.com>2019-04-20 14:27:27 -0400
commit2b0e0b2f0c9abfb6f52e03b5a0c4251ddb7d8c90 (patch)
tree501091ba4a4cedbdaeb1b506f27bee866319468f
parent4e5394a76b1e508ed9d86dd5ad42c30557d07851 (diff)
mc6845: Fix MT #7282; improve logging (nw)
-rw-r--r--src/devices/video/mc6845.cpp21
-rw-r--r--src/devices/video/mc6845.h1
2 files changed, 16 insertions, 6 deletions
diff --git a/src/devices/video/mc6845.cpp b/src/devices/video/mc6845.cpp
index 82ec8408130..a233b76bff5 100644
--- a/src/devices/video/mc6845.cpp
+++ b/src/devices/video/mc6845.cpp
@@ -43,7 +43,10 @@
#include "screen.h"
-//#define VERBOSE 1
+#define LOG_REGS (1 << 0U)
+#define LOG_CONFIG (1 << 1U)
+#define VERBOSE (0)
+
#include "logmacro.h"
@@ -120,6 +123,12 @@ void mc6845_device::device_post_load()
}
+void mc6845_device::device_clock_changed()
+{
+ recompute_parameters(true);
+}
+
+
void mc6845_device::call_on_update_address(int strobe)
{
if (!m_on_update_addr_changed_cb.isnull())
@@ -202,7 +211,7 @@ uint8_t mc6845_device::register_r()
void mc6845_device::register_w(uint8_t data)
{
- LOG("%s:M6845 reg 0x%02x = 0x%02x\n", machine().describe_context(), m_register_address_latch, data);
+ LOGMASKED(LOG_REGS, "%s:M6845 reg 0x%02x = 0x%02x\n", machine().describe_context(), m_register_address_latch, data);
switch (m_register_address_latch)
{
@@ -331,7 +340,7 @@ uint8_t mos8563_device::register_r()
void mos8563_device::register_w(uint8_t data)
{
- LOG("%s:MOS8563 reg 0x%02x = 0x%02x\n", machine().describe_context(), m_register_address_latch, data);
+ LOGMASKED(LOG_REGS, "%s:MOS8563 reg 0x%02x = 0x%02x\n", machine().describe_context(), m_register_address_latch, data);
switch (m_register_address_latch)
{
@@ -418,7 +427,7 @@ uint8_t hd6345_device::register_r()
void hd6345_device::register_w(uint8_t data)
{
- LOG("%s:HD6345 reg 0x%02x = 0x%02x\n", machine().describe_context(), m_register_address_latch, data);
+ LOGMASKED(LOG_REGS, "%s:HD6345 reg 0x%02x = 0x%02x\n", machine().describe_context(), m_register_address_latch, data);
switch (m_register_address_latch)
{
@@ -560,7 +569,7 @@ void mc6845_device::recompute_parameters(bool postload)
else
visarea.set(0 + m_visarea_adjust_min_x, max_visible_x + m_visarea_adjust_max_x, 0 + m_visarea_adjust_min_y, max_visible_y + m_visarea_adjust_max_y);
- LOG("M6845 config screen: HTOTAL: %d VTOTAL: %d MAX_X: %d MAX_Y: %d HSYNC: %d-%d VSYNC: %d-%d Freq: %ffps\n",
+ LOGMASKED(LOG_CONFIG, "M6845 config screen: HTOTAL: %d VTOTAL: %d MAX_X: %d MAX_Y: %d HSYNC: %d-%d VSYNC: %d-%d Freq: %ffps\n",
horiz_pix_total, vert_pix_total, max_visible_x, max_visible_y, hsync_on_pos, hsync_off_pos - 1, vsync_on_pos, vsync_off_pos - 1, 1 / ATTOSECONDS_TO_DOUBLE(refresh));
if (has_screen())
@@ -1038,7 +1047,7 @@ uint32_t mc6845_device::screen_update(screen_device &screen, bitmap_rgb32 &bitma
}
else
{
- LOG("M6845: Invalid screen parameters - display disabled!!!\n");
+ LOGMASKED(LOG_CONFIG, "M6845: Invalid screen parameters - display disabled!!!\n");
}
return 0;
diff --git a/src/devices/video/mc6845.h b/src/devices/video/mc6845.h
index 1bb0683ee85..efdcb672e07 100644
--- a/src/devices/video/mc6845.h
+++ b/src/devices/video/mc6845.h
@@ -112,6 +112,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_post_load() override;
+ virtual void device_clock_changed() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
bool m_supports_disp_start_addr_r;