diff options
author | 2020-08-11 16:02:07 +0200 | |
---|---|---|
committer | 2020-08-11 16:02:23 +0200 | |
commit | 03ea613fd8d3b6902db80466b751c038f42b4dd9 (patch) | |
tree | be22d86c4c647c8d1064c48570ac375b1d9d8ccc /src/devices/video/ef9340_1.cpp | |
parent | 96403e68f09d2c20f2f4c0cc2b0f6716a0d952c9 (diff) |
mcs48: fix possible missed timer overflow if burn_cycles is larger than 2
Diffstat (limited to 'src/devices/video/ef9340_1.cpp')
-rw-r--r-- | src/devices/video/ef9340_1.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/devices/video/ef9340_1.cpp b/src/devices/video/ef9340_1.cpp index a60224d3975..956d6d11668 100644 --- a/src/devices/video/ef9340_1.cpp +++ b/src/devices/video/ef9340_1.cpp @@ -17,12 +17,6 @@ DEFINE_DEVICE_TYPE(EF9340_1, ef9340_1_device, "ef9340_1", "Thomson EF9340+EF9341") -static constexpr uint8_t bgr2rgb[8] = -{ - 0x00, 0x04, 0x02, 0x06, 0x01, 0x05, 0x03, 0x07 -}; - - ef9340_1_device::ef9340_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, EF9340_1, tag, owner, clock) , device_video_interface(mconfig, *this) @@ -64,9 +58,10 @@ void ef9340_1_device::device_start() save_item(NAME(m_ef9340.Y0)); save_item(NAME(m_ef9340.R)); save_item(NAME(m_ef9340.M)); - save_pointer(NAME(m_ef934x_ram_a), 1024); - save_pointer(NAME(m_ef934x_ram_b), 1024); - save_pointer(NAME(m_ef934x_ext_char_ram), 1024); + + save_item(NAME(m_ef934x_ram_a)); + save_item(NAME(m_ef934x_ram_b)); + save_item(NAME(m_ef934x_ext_char_ram)); } @@ -279,6 +274,11 @@ uint8_t ef9340_1_device::ef9341_read( uint8_t command, uint8_t b ) void ef9340_1_device::ef9340_scanline(int vpos) { + static const uint8_t bgr2rgb[8] = + { + 0x00, 0x04, 0x02, 0x06, 0x01, 0x05, 0x03, 0x07 + }; + if ( vpos < m_ef9340.max_vpos ) { int y = vpos - 0; @@ -287,18 +287,15 @@ void ef9340_1_device::ef9340_scanline(int vpos) if ( y < 10 ) { // Service row - if ( m_ef9340.R & 0x08 ) { // Service row is enabled - y_row = 31; slice = y; } else { // Service row is disabled - for ( int i = 0; i < 40 * 8; i++ ) { m_tmp_bitmap.pix16(vpos, 0 + i ) = 24; |