summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/alto2/a2disp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/alto2/a2disp.cpp')
-rw-r--r--src/devices/cpu/alto2/a2disp.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/devices/cpu/alto2/a2disp.cpp b/src/devices/cpu/alto2/a2disp.cpp
index ea850e6a82d..5cc9e5cc300 100644
--- a/src/devices/cpu/alto2/a2disp.cpp
+++ b/src/devices/cpu/alto2/a2disp.cpp
@@ -258,7 +258,7 @@ void alto2_cpu_device::update_framebuf_word(uint16_t* framebuf, int x, int y, ui
if (word == framebuf[x])
return;
framebuf[x] = word;
- draw_scanline8(*m_dsp.bitmap, x * 16, y, 16, m_dsp.patterns + 16 * word, nullptr);
+ draw_scanline8(*m_dsp.bitmap, x * 16, y, 16, &m_dsp.patterns[16 * word], nullptr);
}
/**
@@ -499,7 +499,7 @@ void alto2_cpu_device::f2_late_evenfield()
*/
void alto2_cpu_device::init_disp()
{
- memset(&m_dsp, 0, sizeof(m_dsp));
+ m_dsp = decltype(m_dsp)();
save_item(NAME(m_dsp.state));
save_item(NAME(m_dsp.hlc));
save_item(NAME(m_dsp.setmode));
@@ -517,16 +517,16 @@ void alto2_cpu_device::init_disp()
save_item(NAME(m_dsp.xpreg));
save_item(NAME(m_dsp.csr));
- m_disp_a38 = prom_load(machine(), &pl_displ_a38, memregion("displ_a38")->base());
- m_disp_a63 = prom_load(machine(), &pl_displ_a63, memregion("displ_a63")->base());
- m_disp_a66 = prom_load(machine(), &pl_displ_a66, memregion("displ_a66")->base());
+ m_disp_a38 = prom_load<uint8_t>(machine(), &pl_displ_a38, memregion("displ_a38")->base());
+ m_disp_a63 = prom_load<uint8_t>(machine(), &pl_displ_a63, memregion("displ_a63")->base());
+ m_disp_a66 = prom_load<uint8_t>(machine(), &pl_displ_a66, memregion("displ_a66")->base());
m_dsp.hlc = A2_DISP_HLC_START;
m_dsp.framebuf = std::make_unique<uint16_t[]>(A2_DISP_TOTAL_HEIGHT * A2_DISP_SCANLINE_WORDS);
- m_dsp.patterns = auto_alloc_array(machine(), uint8_t, 65536 * 16);
+ m_dsp.patterns = std::make_unique<uint8_t[]>(65536 * 16);
for (int y = 0; y < 65536; y++) {
- uint8_t* dst = m_dsp.patterns + y * 16;
+ uint8_t* dst = &m_dsp.patterns[y * 16];
for (int x = 0; x < 16; x++)
*dst++ = (~y >> (15 - x)) & 1;
}