summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author MooglyGuy <therealmogminer@gmail.com>2019-08-26 19:58:00 +0200
committer MooglyGuy <therealmogminer@gmail.com>2019-08-26 19:58:18 +0200
commit1cfe376e69b88516636061d79abe969531e59508 (patch)
treea5538c4e2e0d81eeaad0bf2f69e7c9a17fa921d6
parent373e58638095cdbe926121cfa63a11c9dce459d6 (diff)
-newport: Fixed inverted-Y pixel readback. Fixes crash in Alias PowerAnimator 7.5. [Ryan Holtz]
-rw-r--r--src/devices/bus/gio64/newport.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/devices/bus/gio64/newport.cpp b/src/devices/bus/gio64/newport.cpp
index 2a35437a4b0..9828090f018 100644
--- a/src/devices/bus/gio64/newport.cpp
+++ b/src/devices/bus/gio64/newport.cpp
@@ -47,7 +47,7 @@
#define LOG_REJECTS (1 << 9)
#define LOG_ALL (LOG_UNKNOWN | LOG_VC2 | LOG_CMAP | LOG_XMAP | LOG_REX3 | LOG_RAMDAC | LOG_COMMANDS | LOG_REJECTS)
-#define VERBOSE (LOG_REX3 | LOG_CMAP | LOG_XMAP | LOG_COMMANDS)
+#define VERBOSE (0)
#include "logmacro.h"
DEFINE_DEVICE_TYPE(XMAP9, xmap9_device, "xmap9", "SGI XMAP9")
@@ -2925,9 +2925,10 @@ uint32_t newport_base_device::do_pixel_read()
}
LOGMASKED(LOG_COMMANDS, "Read %08x from %04x, %04x\n", ret, src_x, src_y);
m_rex3.m_x_start_i++;
+ int16_t dy = (m_rex3.m_y_end_i < m_rex3.m_y_start_i) ? -1 : 1;
if (m_rex3.m_x_start_i > m_rex3.m_x_end_i)
{
- m_rex3.m_y_start_i++;
+ m_rex3.m_y_start_i += dy;
m_rex3.m_x_start_i = m_rex3.m_x_save;
}