summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/733_asr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/733_asr.cpp')
-rw-r--r--src/mame/video/733_asr.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mame/video/733_asr.cpp b/src/mame/video/733_asr.cpp
index 80995c2f415..bd88c43416f 100644
--- a/src/mame/video/733_asr.cpp
+++ b/src/mame/video/733_asr.cpp
@@ -28,6 +28,8 @@
#include "emu.h"
#include "733_asr.h"
+#include <algorithm>
+
enum
{
/*ASROutQueueSize = 32,*/
@@ -201,9 +203,11 @@ void asr733_device::linefeed()
{
uint8_t buf[asr_window_width];
+ assert(asr_window_offset_x + asr_window_width <= m_bitmap->width());
+ assert(asr_window_offset_y + asr_window_height <= m_bitmap->height());
for (int y=asr_window_offset_y; y<asr_window_offset_y+asr_window_height-asr_scroll_step; y++)
{
- extract_scanline8(*m_bitmap, asr_window_offset_x, y+asr_scroll_step, asr_window_width, buf);
+ std::copy_n(&m_bitmap->pix16(y+asr_scroll_step, asr_window_offset_x), asr_window_width, buf);
draw_scanline8(*m_bitmap, asr_window_offset_x, y, asr_window_width, buf, palette().pens());
}