From 4924eafb4af0fccf4f7d7e43511d20fe666d9490 Mon Sep 17 00:00:00 2001 From: James Wallace Date: Sun, 11 Dec 2022 17:23:14 +0000 Subject: Updated FME alphanumeric emulation (#10663) * Added duty effects to layouts for fruit machines using ROC10937 and clones. * bfm/bfm_bd1.cpp: Added flash mode, corrected character table. * bfm/bfm_bda.cpp: Added brightness and flash controls. * jpm/jpmimpct.cpp: Registered variables for state saving. * machine/roc10937.cpp: Preserve internal data buffers on POR - fixes blanked display in JPM IMPACT. * Made VFD fading effect mroe realistic for JPM IMPACT games. * Corrected VFD type to 16-segment for JPM System 5 games. --- src/devices/machine/roc10937.cpp | 29 +++--- src/devices/machine/roc10937.h | 1 - src/mame/bfm/bfm_bd1.cpp | 215 ++++++++++++++++++++++++++------------- src/mame/bfm/bfm_bd1.h | 30 +++--- src/mame/bfm/bfm_bda.cpp | 161 ++++++++++++++--------------- src/mame/bfm/bfm_bda.h | 2 + src/mame/jpm/jpmimpct.cpp | 11 ++ src/mame/jpm/jpmimpct.h | 16 +-- src/mame/layout/connect4.lay | 7 ++ src/mame/layout/ecoinf2.lay | 49 ++------- src/mame/layout/ecoinf3.lay | 49 ++------- src/mame/layout/globalfr.lay | 64 +++--------- src/mame/layout/j5ar80cla.lay | 8 +- src/mame/layout/j5cira.lay | 8 +- src/mame/layout/j5fairp.lay | 4 +- src/mame/layout/j5firebl.lay | 4 +- src/mame/layout/j5hollyc.lay | 4 +- src/mame/layout/j5hotdoga.lay | 8 +- src/mame/layout/j5indsum.lay | 4 +- src/mame/layout/j5intr.lay | 4 +- src/mame/layout/j5movie.lay | 8 +- src/mame/layout/j5nite.lay | 8 +- src/mame/layout/j5palma.lay | 4 +- src/mame/layout/j5popeye.lay | 8 +- src/mame/layout/j5sizl.lay | 4 +- src/mame/layout/j5supbara.lay | 4 +- src/mame/layout/j5suphi.lay | 4 +- src/mame/layout/j5swop.lay | 4 +- src/mame/layout/j5term.lay | 4 +- src/mame/layout/j5topshp.lay | 4 +- src/mame/layout/j5trail.lay | 4 +- src/mame/layout/j5ujb.lay | 8 +- src/mame/layout/j5wsc.lay | 4 +- src/mame/layout/j6aceclb.lay | 3 + src/mame/layout/j6bnza.lay | 5 +- src/mame/layout/j6btbwd.lay | 3 + src/mame/layout/j6camelt.lay | 3 + src/mame/layout/j6casclaf.lay | 3 + src/mame/layout/j6cascze.lay | 3 + src/mame/layout/j6colcsh.lay | 3 + src/mame/layout/j6cpal.lay | 3 + src/mame/layout/j6crack.lay | 3 + src/mame/layout/j6euphor.lay | 3 + src/mame/layout/j6ewn.lay | 3 + src/mame/layout/j6fastfr.lay | 3 + src/mame/layout/j6ffce.lay | 3 + src/mame/layout/j6frtpot.lay | 3 + src/mame/layout/j6gidogh.lay | 3 + src/mame/layout/j6gldclb.lay | 3 + src/mame/layout/j6gogold.lay | 3 + src/mame/layout/j6goldgla.lay | 3 + src/mame/layout/j6guabc.lay | 3 + src/mame/layout/j6guabcl.lay | 3 + src/mame/layout/j6impuls.lay | 3 + src/mame/layout/j6impuls15.lay | 3 + src/mame/layout/j6kfc.lay | 3 + src/mame/layout/j6kungfu.lay | 3 + src/mame/layout/j6megbck.lay | 3 + src/mame/layout/j6mono60.lay | 3 + src/mame/layout/j6mono6010.lay | 3 + src/mame/layout/j6mono608.lay | 3 + src/mame/layout/j6monst.lay | 3 + src/mame/layout/j6montlk.lay | 3 + src/mame/layout/j6montlk6.lay | 3 + src/mame/layout/j6quick.lay | 3 + src/mame/layout/j6ra.lay | 3 + src/mame/layout/j6redarwf.lay | 3 + src/mame/layout/j6rh6cld.lay | 3 + src/mame/layout/j6rhchil.lay | 3 + src/mame/layout/j6roller10.lay | 3 + src/mame/layout/j6roller15.lay | 3 + src/mame/layout/j6roller8.lay | 3 + src/mame/layout/j6slagng.lay | 3 + src/mame/layout/j6snakes.lay | 3 + src/mame/layout/j6sonic10.lay | 2 +- src/mame/layout/j6swpdrp.lay | 3 + src/mame/layout/j6tombc.lay | 3 + src/mame/layout/j6topflg.lay | 3 + src/mame/layout/j6twst.lay | 3 + src/mame/layout/j6untch.lay | 3 + src/mame/layout/j6vindal.lay | 3 + src/mame/layout/j6vivark.lay | 3 + src/mame/layout/j6wizardd.lay | 3 + src/mame/layout/m4actbnk.lay | 60 +++-------- src/mame/layout/m4addr.lay | 60 +++-------- src/mame/layout/m4alpha.lay | 60 +++-------- src/mame/layout/m4andybt.lay | 59 ++--------- src/mame/layout/m4andycp.lay | 60 +++-------- src/mame/layout/m4andyge.lay | 60 +++-------- src/mame/layout/m4apachg.lay | 60 +++-------- 90 files changed, 601 insertions(+), 715 deletions(-) diff --git a/src/devices/machine/roc10937.cpp b/src/devices/machine/roc10937.cpp index 763d64d7f1c..f7d50007d53 100644 --- a/src/devices/machine/roc10937.cpp +++ b/src/devices/machine/roc10937.cpp @@ -148,7 +148,7 @@ void rocvfd_device::device_start() m_sclk = 0; m_data = 0; - m_por = 1; + m_por = 0; save_item(NAME(m_cursor_pos)); save_item(NAME(m_window_size)); @@ -161,11 +161,16 @@ void rocvfd_device::device_start() save_item(NAME(m_data)); save_item(NAME(m_por)); save_item(NAME(m_duty)); - save_item(NAME(m_disp)); + + std::fill(std::begin(m_chars), std::end(m_chars), 0); + std::fill(std::begin(*m_outputs), std::end(*m_outputs), 0); + } void rocvfd_device::device_reset() { + //We don't clear the buffers on reset as JPM games rely on the buffers being intact after POR + //On real hardware, garbage patterns can appear unless specifically cleared, so this makes sense. m_cursor_pos = 0; m_window_size = 16; m_shift_count = 0; @@ -173,13 +178,8 @@ void rocvfd_device::device_reset() m_pcursor_pos = 0; m_count = 0; m_duty = 0; - m_disp = 0; - - std::fill(std::begin(m_chars), std::end(m_chars), 0); - std::fill(std::begin(*m_outputs), std::end(*m_outputs), 0); (*m_brightness)[0] = 0; - } /////////////////////////////////////////////////////////////////////////// @@ -207,7 +207,14 @@ WRITE_LINE_MEMBER( rocvfd_device::sclk ) WRITE_LINE_MEMBER( rocvfd_device::data ) { - m_data = state; + if (state) + { + m_data = 1; + } + else + { + m_data = 0; + } } WRITE_LINE_MEMBER( rocvfd_device::por ) @@ -239,10 +246,9 @@ void rocvfd_device::shift_clock(int state) m_shift_data = 0; } update_display(); - } + m_sclk = state; } - m_sclk = state; } /////////////////////////////////////////////////////////////////////////// @@ -294,12 +300,11 @@ void rocvfd_device::write_char(int data) else if ( (data & 0xE0) == 0x80 ) // 100x --- { // 100x xxxx Test mode popmessage("TEST MODE ENABLED!"); - m_duty = 4; } } else { // Display data -// data &= 0x3F; + data &= 0x3F; switch ( data ) { diff --git a/src/devices/machine/roc10937.h b/src/devices/machine/roc10937.h index da0f21eb808..75ac8130112 100644 --- a/src/devices/machine/roc10937.h +++ b/src/devices/machine/roc10937.h @@ -40,7 +40,6 @@ protected: int m_count; int m_data; int m_duty; - int m_disp; int m_sclk; int m_por; uint8_t m_cursor; diff --git a/src/mame/bfm/bfm_bd1.cpp b/src/mame/bfm/bfm_bd1.cpp index 3d593c4b871..8c04f4014c8 100644 --- a/src/mame/bfm/bfm_bd1.cpp +++ b/src/mame/bfm/bfm_bd1.cpp @@ -2,9 +2,9 @@ // copyright-holders:James Wallace /********************************************************************** - Bellfruit BD1 VFD module interface and emulation by J.Wallace + Bellfruit BD1 VFD module interface and emulation - TODO: Implement flashing (our only datasheet has that section + TODO: Verify flashing (our only datasheet has that section completely illegible) This is a simulation of code running on an NEC D78042GF-090 @@ -76,7 +76,7 @@ static const uint16_t BD1charset[]= 0xC62D, // 1100 0110 0010 1101 $. 0x0100, // 0000 0001 0000 0000 flash character 0x0000, // 0000 0000 0000 0000 not defined - 0x0040, // 0000 0000 1000 0000 '. + 0x0080, // 0000 0000 1000 0000 '. 0x0880, // 0000 1000 1000 0000 (. 0x0050, // 0000 0000 0101 0000 ). 0xCCD8, // 1100 1100 1101 1000 *. @@ -88,7 +88,7 @@ static const uint16_t BD1charset[]= 0x22B7, // 0010 0010 1011 0111 0. 0x0408, // 0000 0100 0000 1000 1. 0xE206, // 1110 0010 0000 0110 2. - 0x4226, // 0100 0010 0010 0110 3. + 0xC226, // 0100 0010 0010 0110 3. 0xC023, // 1100 0000 0010 0011 4. 0xC225, // 1100 0010 0010 0101 5. 0xE225, // 1110 0010 0010 0101 6. @@ -146,10 +146,12 @@ void bfm_bd1_device::device_reset() m_shift_count = 0; m_shift_data = 0; m_pcursor_pos = 0; - m_scroll_active = 0; + m_scroll_active = false; m_display_mode = 0; m_flash_rate = 0; m_flash_control = 0; + m_flash = false; + m_flash_timer = 0; m_user_data = 0; m_user_def = 0; m_sclk = 0; @@ -171,8 +173,64 @@ void bfm_bd1_device::device_post_load() void bfm_bd1_device::update_display() { + if (m_flash_timer) + { + m_flash_timer--; + if (!m_flash_timer) + { + m_flash_timer = 20; + if (!m_flash) + { + switch (m_flash_control) + { + case 1: // Flash Inside Window + for (int i = 0; i < 16; i++) + { + if ((i >= m_window_start) && (i <= m_window_end)) + m_attrs[i] = AT_FLASH; + else + m_attrs[i] = AT_NORMAL; + } + m_flash = true; + break; + case 2: // Flash Outside Window + for (int i = 0; i < 16; i++) + { + if ((i < m_window_start) || (i > m_window_end)) + m_attrs[i] = AT_FLASH; + else + m_attrs[i] = AT_NORMAL; + } + m_flash = true; + break; + case 3: // Flash All + for ( int i = 0; i < 16; i++ ) + m_attrs[i] = AT_FLASH; + m_flash = true; + break; + } + } + else + { + m_flash_rate--; + if (!m_flash_rate) + { + m_flash_timer = 0; + for (int i = 0; i < 16; i++) + { + m_attrs[i] = AT_NORMAL; + } + } + if (m_flash_control) + { + m_flash = false; + } + } + } + } + for (int i = 0; i < 16; i++) - (*m_outputs)[i] = (m_attrs[i] != AT_BLANK) ? set_display(m_chars[i]) : 0; + (*m_outputs)[i] = (m_attrs[i] == AT_NORMAL) ? set_display(m_chars[i]) : 0; } /////////////////////////////////////////////////////////////////////////// void bfm_bd1_device::blank(int data) @@ -187,7 +245,7 @@ void bfm_bd1_device::blank(int data) break; case 0x01: // blank inside window - if ( m_window_size > 0 ) + if (m_window_size > 0) { for (int i = m_window_start; i < m_window_end ; i++) { @@ -197,9 +255,9 @@ void bfm_bd1_device::blank(int data) break; case 0x02: // blank outside window - if ( m_window_size > 0 ) + if (m_window_size > 0) { - if ( m_window_start > 0 ) + if (m_window_start > 0) { for (int i = 0; i < m_window_start; i++) { @@ -228,61 +286,66 @@ void bfm_bd1_device::blank(int data) int bfm_bd1_device::write_char(int data) { - if ( m_user_def ) + if (m_user_def) { m_user_def--; m_user_data <<= 8; m_user_data |= data; - if ( m_user_def ) + if (m_user_def) { return 0; } - setdata( m_user_data, data); + setdata(m_user_data, data); } else { if(data < 0x80)//characters { - if (data > 0x3F) + if (data > 0x3f) { - // logerror("Undefined character %x \n", data); + logerror("Undefined character %x \n", data); } - setdata(BD1charset[(data & 0x3F)], data); + setdata(BD1charset[(data & 0x3f)], data); } else { - switch ( data & 0xF0 ) + switch (data & 0xf0) { case 0x80: // 0x80 - 0x8F Set display blanking blank(data&0x03);//use the blanking data + + if (data == 0x84) + { + popmessage("Duty control active, contact MAMEDEV"); + } break; case 0x90: // 0x90 - 0x9F Set cursor pos - m_cursor_pos = data & 0x0F; - m_scroll_active = 0; - if ( m_display_mode == 2 ) + m_cursor_pos = data & 0x0f; + m_scroll_active = false; + if (m_display_mode == 2) { - if ( m_cursor_pos >= m_window_end) m_scroll_active = 1; + if (m_cursor_pos >= m_window_end) m_scroll_active = 1; } break; - case 0xA0: // 0xA0 - 0xAF Set display mode + case 0xa0: // 0xA0 - 0xAF Set display mode m_display_mode = data &0x03; break; - case 0xB0: // 0xB0 - 0xBF Clear display area + case 0xb0: // 0xB0 - 0xBF Clear display area - switch ( data & 0x03 ) + switch (data & 0x03) { case 0x00: // clr nothing break; case 0x01: // clr inside window - if ( m_window_size > 0 ) + if (m_window_size > 0) { std::fill_n(m_chars + m_window_start, m_window_size, 0); std::fill_n(m_attrs + m_window_start, m_window_size, 0); @@ -291,9 +354,9 @@ int bfm_bd1_device::write_char(int data) break; case 0x02: // clr outside window - if ( m_window_size > 0 ) + if (m_window_size > 0) { - if ( m_window_start > 0 ) + if (m_window_start > 0) { for (int i = 0; i < m_window_start; i++) { @@ -302,7 +365,7 @@ int bfm_bd1_device::write_char(int data) } } - if (m_window_end < 15 ) + if (m_window_end < 15) { for (int i = m_window_end; i < 15- m_window_end ; i++) { @@ -319,32 +382,44 @@ int bfm_bd1_device::write_char(int data) } break; - case 0xC0: // 0xC0 - 0xCF Set flash rate - m_flash_rate = data & 0x0F; + case 0xc0: // 0xC0 - 0xCF Set flash rate + m_flash_rate = data & 0x0f; + if (!m_flash_rate && m_flash) + { + m_flash = false; + } + m_flash_timer = 20; break; - case 0xD0: // 0xD0 - 0xDF Set Flash control + case 0xd0: // 0xD0 - 0xDF Set Flash control m_flash_control = data & 0x03; + if (m_flash_control == 0 && m_flash) + { + m_flash = false; + } break; - case 0xE0: // 0xE0 - 0xEF Set window start pos - m_window_start = data &0x0F; + case 0xe0: // 0xE0 - 0xEF Set window start pos + m_window_start = data &0x0f; m_window_size = (m_window_end - m_window_start)+1; break; - case 0xF0: // 0xF0 - 0xFF Set window end pos - m_window_end = data &0x0F; + case 0xf0: // 0xF0 - 0xFF Set window end pos + m_window_end = data &0x0f; m_window_size = (m_window_end - m_window_start)+1; m_scroll_active = 0; - if ( m_display_mode == 2 ) + if (m_display_mode == 2) { - if ( m_cursor_pos >= m_window_end) + if (m_cursor_pos >= m_window_end) { m_scroll_active = 1; m_cursor_pos = m_window_end; } } break; + + default: + popmessage("%x",data); } } } @@ -358,7 +433,7 @@ void bfm_bd1_device::setdata(int segdata, int data) { int move = 0; int change =0; - switch ( data ) + switch (data) { case 0x25: // flash if(m_chars[m_pcursor_pos] & (1<<8)) @@ -367,6 +442,7 @@ void bfm_bd1_device::setdata(int segdata, int data) } else { + m_attrs[m_pcursor_pos] = AT_FLASH; m_chars[m_pcursor_pos] |= (1<<8); } break; @@ -374,9 +450,9 @@ void bfm_bd1_device::setdata(int segdata, int data) case 0x26: // undefined break; - case 0x2C: // semicolon - case 0x2E: // decimal point - if( m_chars[m_pcursor_pos] & (1<<12)) + case 0x2c: // semicolon + case 0x2e: // decimal point + if (m_chars[m_pcursor_pos] & (1<<12)) { move++; } @@ -386,20 +462,21 @@ void bfm_bd1_device::setdata(int segdata, int data) } break; - case 0x3B: // dummy char - move++; + case 0x3a: + m_user_def = 2; break; - case 0x3A: - m_user_def = 2; + case 0x3b: // dummy char + move++; break; + default: move++; change++; } - if ( move ) + if (move) { int mode = m_display_mode; @@ -407,40 +484,40 @@ void bfm_bd1_device::setdata(int segdata, int data) if ( m_window_size <= 0 || (m_window_size > 16)) { // if no window selected default to equivalent rotate mode - if ( mode == 2 ) mode = 0; - else if ( mode == 3 ) mode = 1; + if (mode == 2) mode = 0; + else if (mode == 3) mode = 1; } - switch ( mode ) + switch (mode) { case 0: // rotate left - m_cursor_pos &= 0x0F; + m_cursor_pos &= 0x0f; - if ( change ) + if (change) { m_chars[m_cursor_pos] = segdata; } m_cursor_pos++; - if ( m_cursor_pos >= 16 ) m_cursor_pos = 0; + if (m_cursor_pos >= 16) m_cursor_pos = 0; break; case 1: // Rotate right - m_cursor_pos &= 0x0F; + m_cursor_pos &= 0x0f; - if ( change ) + if (change) { m_chars[m_cursor_pos] = segdata; } m_cursor_pos--; - if ( m_cursor_pos < 0 ) m_cursor_pos = 15; + if (m_cursor_pos < 0) m_cursor_pos = 15; break; case 2: // Scroll left if ( m_cursor_pos < m_window_end ) { m_scroll_active = 0; - if ( change ) + if (change) { m_chars[m_cursor_pos] = segdata; } @@ -448,12 +525,12 @@ void bfm_bd1_device::setdata(int segdata, int data) } else { - if ( move ) + if (move) { - if ( m_scroll_active ) + if (m_scroll_active) { int i = m_window_start; - while ( i < m_window_end ) + while (i < m_window_end) { m_chars[i] = m_chars[i+1]; i++; @@ -462,7 +539,7 @@ void bfm_bd1_device::setdata(int segdata, int data) else m_scroll_active = 1; } - if ( change ) + if (change) { m_chars[m_window_end] = segdata; } @@ -474,24 +551,24 @@ void bfm_bd1_device::setdata(int segdata, int data) break; case 3: // Scroll right - if ( m_cursor_pos > m_window_start ) + if (m_cursor_pos > m_window_start) { - if ( change ) + if (change) { m_chars[m_cursor_pos] = segdata; } m_cursor_pos--; - if ( m_cursor_pos > 15 ) m_cursor_pos = 0; + if (m_cursor_pos > 15) m_cursor_pos = 0; } else { - if ( move ) + if (move) { - if ( m_scroll_active ) + if (m_scroll_active) { int i = m_window_end; - while ( i > m_window_start ) + while (i > m_window_start) { m_chars[i] = m_chars[i-1]; i--; @@ -499,13 +576,13 @@ void bfm_bd1_device::setdata(int segdata, int data) } else m_scroll_active = 1; } - if ( change ) + if (change) { - m_chars[m_window_start] = segdata; - } + m_chars[m_window_start] = segdata; + } else { - m_chars[m_window_start] = 0; + m_chars[m_window_start] = 0; } } break; diff --git a/src/mame/bfm/bfm_bd1.h b/src/mame/bfm/bfm_bd1.h index 9c3b520d915..911ede2cd31 100644 --- a/src/mame/bfm/bfm_bd1.h +++ b/src/mame/bfm/bfm_bd1.h @@ -45,24 +45,26 @@ private: std::unique_ptr > m_outputs; uint8_t m_port_val; - int m_cursor_pos = 0; - int m_window_start = 0; // display window start pos 0-15 - int m_window_end = 0; // display window end pos 0-15 - int m_window_size = 0; // window size - int m_shift_count = 0; - int m_shift_data = 0; - int m_pcursor_pos = 0; - int m_scroll_active = 0; - int m_display_mode = 0; - int m_flash_rate = 0; - int m_flash_control = 0; - int m_sclk = 0; - int m_data = 0; + uint8_t m_cursor_pos = 0; + uint8_t m_window_start = 0; // display window start pos 0-15 + uint8_t m_window_end = 0; // display window end pos 0-15 + uint8_t m_window_size = 0; // window size + uint8_t m_shift_count = 0; + uint8_t m_shift_data = 0; + uint8_t m_pcursor_pos = 0; + bool m_scroll_active = false; + uint8_t m_display_mode = 0; + bool m_flash = false; + uint8_t m_flash_rate = 0; + uint8_t m_flash_control = 0; + uint8_t m_flash_timer = 0; + uint8_t m_sclk = 0; + uint8_t m_data = 0; uint8_t m_cursor = 0; uint16_t m_chars[16]{}; uint8_t m_attrs[16]{}; - uint16_t m_user_data = 0; // user defined character data (16 bit) + uint16_t m_user_data = 0; // user defined character data (16 bit) uint16_t m_user_def = 0; // user defined character state }; diff --git a/src/mame/bfm/bfm_bda.cpp b/src/mame/bfm/bfm_bda.cpp index 1ff2d67b967..8aa98b0305c 100644 --- a/src/mame/bfm/bfm_bda.cpp +++ b/src/mame/bfm/bfm_bda.cpp @@ -13,8 +13,6 @@ DEFINE_DEVICE_TYPE(BFM_BDA, bfm_bda_device, "bfm_bda", "BFM BDA VFD controller") -//I currently use the BDA character set, until a suitable image can be programmed - static const uint16_t BDAcharset[]= { // FEDC BA98 7654 3210 0xA626, // 1010 0110 0010 0110 @. @@ -95,10 +93,13 @@ void bfm_bda_device::device_start() m_outputs = std::make_unique >(*this, "vfd%u", unsigned(m_port_val) << 4); m_outputs->resolve(); + m_brightness = std::make_unique >(*this, "vfdduty%u", unsigned(m_port_val)); + m_brightness->resolve(); + save_item(NAME(m_cursor_pos)); save_item(NAME(m_window_start)); // display window start pos 0-15 - save_item(NAME(m_window_end)); // display window end pos 0-15 - save_item(NAME(m_window_size)); // window size + save_item(NAME(m_window_end)); // display window end pos 0-15 + save_item(NAME(m_window_size)); // window size save_item(NAME(m_shift_count)); save_item(NAME(m_shift_data)); save_item(NAME(m_pcursor_pos)); @@ -114,6 +115,7 @@ void bfm_bda_device::device_start() save_item(NAME(m_attrs)); save_item(NAME(m_user_data)); // user defined character data (16 bit) save_item(NAME(m_user_def)); // user defined character state + save_item(NAME(m_duty)); } void bfm_bda_device::device_reset() @@ -134,6 +136,9 @@ void bfm_bda_device::device_reset() m_flash_control = 0; m_user_data = 0; m_user_def = 0; + m_duty = 0; + + (*m_brightness)[0] = 0; std::fill(std::begin(m_chars), std::end(m_chars), 0); std::fill(std::begin(m_attrs), std::end(m_attrs), 0); @@ -152,24 +157,24 @@ void bfm_bda_device::device_post_load() void bfm_bda_device::update_display() { for (int i = 0; i < 16; i++) - (*m_outputs)[i] = (m_attrs[i] != AT_BLANK) ? set_display(m_chars[i]) : 0; + (*m_outputs)[i] = (m_attrs[i] == AT_NORMAL) ? set_display(m_chars[i]) : 0; + (*m_brightness)[0] = m_duty; } /////////////////////////////////////////////////////////////////////////// void bfm_bda_device::blank(int data) { switch ( data & 0x03 ) // TODO: wrong case values??? { - case 0x00: // clear blanking + case 0x00: //blank all + for (int i = 0; i < 15; i++) { - for (int i = 0; i < 15; i++) - { - m_attrs[i] = 0; - } + m_attrs[i] = AT_BLANK; } break; + case 0x01: // blank inside window - if ( m_window_size > 0 ) + if (m_window_size > 0) { for (int i = m_window_start; i < m_window_end ; i++) { @@ -179,7 +184,7 @@ void bfm_bda_device::blank(int data) break; case 0x02: // blank outside window - if ( m_window_size > 0 ) + if (m_window_size > 0) { if ( m_window_start > 0 ) { @@ -199,12 +204,10 @@ void bfm_bda_device::blank(int data) } break; - case 0x03: //blank all + case 0x03: // clear blanking + for (int i = 0; i < 15; i++) { - for (int i = 0; i < 15; i++) - { - m_attrs[i] = AT_BLANK; - } + m_attrs[i] = 0; } break; } @@ -212,7 +215,7 @@ void bfm_bda_device::blank(int data) int bfm_bda_device::write_char(int data) { - if ( m_user_def ) + if (m_user_def) { m_user_def--; @@ -228,26 +231,18 @@ int bfm_bda_device::write_char(int data) } else { - if(data < 0x80)//characters + if (!(data & 0x80))//characters { - if (m_blank_flag || m_flash_flag) + if (m_blank_flag) { - if (m_blank_flag) - { - logerror("Brightness data %x \n", data) ; - m_blank_flag = 0; - } - if (m_flash_flag) - { - //not setting yet - m_flash_flag = 0; - } + m_duty = 7 - data; + m_blank_flag = 0; } else { if (data > 0x3F) { - logerror("Undefined character %x \n", data); + logerror("BDA Undefined character, needs populating 0x%1$02X\n", data); } setdata(BDAcharset[(data & 0x3F)], data); @@ -255,96 +250,93 @@ int bfm_bda_device::write_char(int data) } else { - switch ( data & 0xF0 ) + switch (data & 0xf0) { case 0x80: // 0x80 - 0x8F Set display blanking - if (data==0x84)// futaba setup + if (data == 0x84)// duty setup { m_blank_flag = 1; + m_flash_flag = 0; } else { - logerror("80s %x \n",data); - //blank(data&0x03);//use the blanking data + blank(data & 0x03);//use the blanking data } break; case 0x90: // 0x90 - 0x9F Set cursor pos - m_cursor_pos = data & 0x0F; + m_cursor_pos = data & 0x0f; m_scroll_active = 0; - if ( m_display_mode == 2 ) + if (m_display_mode == 2) { if ( m_cursor_pos >= m_window_end) m_scroll_active = 1; } break; - case 0xA0: // 0xA0 - 0xAF Set display mode - m_display_mode = data &0x03; + case 0xa0: // 0xA0 - 0xAF Set display mode + if (data == 0xa8)// userdef + { + m_user_def = 2; + } + else if (data == 0xac) + { + popmessage("TEST MODE"); + } + else + { + m_display_mode = data & 0x03; + } break; - case 0xB0: // 0xB0 - 0xBF Clear display area - - switch ( data & 0x03 ) + case 0xb0: // 0xB0 - 0xBF Clear display area + if (data == 0xbc) { - case 0x00: // clr nothing - break; - - case 0x01: // clr inside window - if ( m_window_size > 0 ) - { - std::fill_n(m_chars + m_window_start, m_window_size, 0); - std::fill_n(m_attrs + m_window_start, m_window_size, 0); - } - - break; - - case 0x02: // clr outside window - if ( m_window_size > 0 ) + popmessage("CLEAR USERDEF"); + } + else + { + switch (data & 0x03) { - if ( m_window_start > 0 ) - { - for (int i = 0; i < m_window_start; i++) - { - memset(m_chars+i,0,i); - memset(m_attrs+i,0,i); - } - } + case 0x00: // clr nothing + break; - if (m_window_end < 15 ) + case 0x01: // clr inside window + if (m_window_size > 0) { - for (int i = m_window_end; i < 15- m_window_end ; i++) - { - memset(m_chars+i,0,i); - memset(m_attrs+i,0,i); - } + std::fill_n(m_chars + m_window_start, m_window_size, 0); + std::fill_n(m_attrs + m_window_start, m_window_size, 0); } + break; } - break; - - case 0x03: // clr entire display - std::fill(std::begin(m_chars), std::end(m_chars), 0); - std::fill(std::begin(m_attrs), std::end(m_attrs), 0); } break; - case 0xC0: // 0xC0 - 0xCF Set flash rate - m_flash_rate = data & 0x0F; + case 0xc0: + if (data == 0xc8) + { + m_flash_flag = 1; + } + else + { + m_flash_rate = data & 0x0f; + logerror("BDA flash %x", m_flash_rate); + } break; - case 0xD0: // 0xD0 - 0xDF Set Flash control + case 0xd0: // 0xD0 - 0xDF Set Flash control m_flash_control = data & 0x03; break; - case 0xE0: // 0xE0 - 0xEF Set window start pos - m_window_start = data &0x0F; + case 0xe0: // 0xE0 - 0xEF Set window start pos + m_window_start = data & 0x0f; m_window_size = (m_window_end - m_window_start)+1; break; - case 0xF0: // 0xF0 - 0xFF Set window end pos - m_window_end = data &0x0F; - m_window_size = (m_window_end - m_window_start)+1; + case 0xf0: // 0xF0 - 0xFF Set window end pos + m_window_end = data & 0x0f; + m_window_size = (m_window_end - m_window_start) + 1; m_scroll_active = 0; - if ( m_display_mode == 2 ) + if (m_display_mode == 2) { if ( m_cursor_pos >= m_window_end) { @@ -360,6 +352,7 @@ int bfm_bda_device::write_char(int data) return 0; } + /////////////////////////////////////////////////////////////////////////// void bfm_bda_device::setdata(int segdata, int data) diff --git a/src/mame/bfm/bfm_bda.h b/src/mame/bfm/bfm_bda.h index f937c5a8709..9d0c486b1cc 100644 --- a/src/mame/bfm/bfm_bda.h +++ b/src/mame/bfm/bfm_bda.h @@ -40,6 +40,7 @@ private: static const uint8_t AT_FLASHED = 0x80; // set when character should be blinked off std::unique_ptr > m_outputs; + std::unique_ptr > m_brightness; uint8_t m_port_val; int m_cursor_pos = 0; @@ -55,6 +56,7 @@ private: int m_display_mode = 0; int m_flash_rate = 0; int m_flash_control = 0; + int m_duty; uint8_t m_cursor = 0; uint16_t m_chars[16]{}; diff --git a/src/mame/jpm/jpmimpct.cpp b/src/mame/jpm/jpmimpct.cpp index a804989df9c..8578b72014c 100644 --- a/src/mame/jpm/jpmimpct.cpp +++ b/src/mame/jpm/jpmimpct.cpp @@ -248,6 +248,17 @@ void jpmimpct_state::machine_start() { m_digits.resolve(); m_lamp_output.resolve(); + + save_item(NAME(m_optic_pattern)); + save_item(NAME(m_payen)); + save_item(NAME(m_hopinhibit)); + save_item(NAME(m_slidesout)); + save_item(NAME(m_hopper)); + save_item(NAME(m_motor)); + save_item(NAME(m_volume_latch)); + save_item(NAME(m_global_volume)); + save_item(NAME(m_coinstate)); + } void jpmimpct_state::machine_reset() diff --git a/src/mame/jpm/jpmimpct.h b/src/mame/jpm/jpmimpct.h index 1d59b2f6c67..fbc88c2606a 100644 --- a/src/mame/jpm/jpmimpct.h +++ b/src/mame/jpm/jpmimpct.h @@ -154,14 +154,14 @@ private: void impact_non_video_map(address_map &map); uint8_t m_Lamps[256]{}; - int m_optic_pattern = 0; - int m_payen = 0; - int m_hopinhibit = 0; - int m_slidesout = 0; - int m_hopper[3]{}; - int m_motor[3]{}; - int m_volume_latch = 0; - int m_global_volume = 0; + uint8_t m_optic_pattern = 0; + bool m_payen = false; + uint8_t m_hopinhibit = 0; + uint8_t m_slidesout = 0; + uint8_t m_hopper[3]{}; + uint8_t m_motor[3]{}; + uint8_t m_volume_latch = 0; + uint8_t m_global_volume = 0; uint16_t m_coinstate = 0; required_device_array m_cointimer; diff --git a/src/mame/layout/connect4.lay b/src/mame/layout/connect4.lay index 1a04ceb4529..c32d80d8752 100644 --- a/src/mame/layout/connect4.lay +++ b/src/mame/layout/connect4.lay @@ -800,7 +800,14 @@ license:CC0 + + + + + + + diff --git a/src/mame/layout/ecoinf2.lay b/src/mame/layout/ecoinf2.lay index 0696e4a999c..f2484fe9020 100644 --- a/src/mame/layout/ecoinf2.lay +++ b/src/mame/layout/ecoinf2.lay @@ -836,48 +836,13 @@ license:CC0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + diff --git a/src/mame/layout/ecoinf3.lay b/src/mame/layout/ecoinf3.lay index 0696e4a999c..f2484fe9020 100644 --- a/src/mame/layout/ecoinf3.lay +++ b/src/mame/layout/ecoinf3.lay @@ -836,48 +836,13 @@ license:CC0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + diff --git a/src/mame/layout/globalfr.lay b/src/mame/layout/globalfr.lay index ba890f3d201..4d3b4b316f8 100644 --- a/src/mame/layout/globalfr.lay +++ b/src/mame/layout/globalfr.lay @@ -10,54 +10,20 @@ license:CC0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/src/mame/layout/j5ar80cla.lay b/src/mame/layout/j5ar80cla.lay index 51ea628206a..abc211410f3 100644 --- a/src/mame/layout/j5ar80cla.lay +++ b/src/mame/layout/j5ar80cla.lay @@ -2706,9 +2706,9 @@ - + - + @@ -2844,9 +2844,9 @@ - + - + diff --git a/src/mame/layout/j5cira.lay b/src/mame/layout/j5cira.lay index 16d9317ca29..4f5070f9f1f 100644 --- a/src/mame/layout/j5cira.lay +++ b/src/mame/layout/j5cira.lay @@ -2173,9 +2173,9 @@ - + - + @@ -2355,9 +2355,9 @@ - + - + diff --git a/src/mame/layout/j5fairp.lay b/src/mame/layout/j5fairp.lay index f37ae3a6eb1..fe48fd1e8ab 100644 --- a/src/mame/layout/j5fairp.lay +++ b/src/mame/layout/j5fairp.lay @@ -2842,9 +2842,9 @@ - + --> diff --git a/src/mame/layout/j5firebl.lay b/src/mame/layout/j5firebl.lay index f1a5469d99c..020e4bf5dba 100644 --- a/src/mame/layout/j5firebl.lay +++ b/src/mame/layout/j5firebl.lay @@ -726,9 +726,9 @@ - + - + diff --git a/src/mame/layout/j5hollyc.lay b/src/mame/layout/j5hollyc.lay index cf80e00f050..3e4dbd27c30 100644 --- a/src/mame/layout/j5hollyc.lay +++ b/src/mame/layout/j5hollyc.lay @@ -2567,9 +2567,9 @@ - + - + diff --git a/src/mame/layout/j5hotdoga.lay b/src/mame/layout/j5hotdoga.lay index 6c1bae79108..4c032140d39 100644 --- a/src/mame/layout/j5hotdoga.lay +++ b/src/mame/layout/j5hotdoga.lay @@ -2961,9 +2961,9 @@ - + - + @@ -3101,9 +3101,9 @@ - + - + diff --git a/src/mame/layout/j5indsum.lay b/src/mame/layout/j5indsum.lay index b5314f591ee..4e9a0eeaf74 100644 --- a/src/mame/layout/j5indsum.lay +++ b/src/mame/layout/j5indsum.lay @@ -958,9 +958,9 @@ - + - + diff --git a/src/mame/layout/j5intr.lay b/src/mame/layout/j5intr.lay index 56509e7731e..db14efba303 100644 --- a/src/mame/layout/j5intr.lay +++ b/src/mame/layout/j5intr.lay @@ -2317,9 +2317,9 @@ - + - + diff --git a/src/mame/layout/j5movie.lay b/src/mame/layout/j5movie.lay index 016689737d6..03c4a021e0a 100644 --- a/src/mame/layout/j5movie.lay +++ b/src/mame/layout/j5movie.lay @@ -2370,9 +2370,9 @@ - + - + @@ -2600,9 +2600,9 @@ - + - + diff --git a/src/mame/layout/j5nite.lay b/src/mame/layout/j5nite.lay index 1482ca59e7d..fa6bcea1c70 100644 --- a/src/mame/layout/j5nite.lay +++ b/src/mame/layout/j5nite.lay @@ -2246,9 +2246,9 @@ - + - + @@ -2390,9 +2390,9 @@ - + - + diff --git a/src/mame/layout/j5palma.lay b/src/mame/layout/j5palma.lay index e73e38b2a04..65377f177e5 100644 --- a/src/mame/layout/j5palma.lay +++ b/src/mame/layout/j5palma.lay @@ -977,9 +977,9 @@ - + - + diff --git a/src/mame/layout/j5popeye.lay b/src/mame/layout/j5popeye.lay index 2217affe3ac..74f7808bc01 100644 --- a/src/mame/layout/j5popeye.lay +++ b/src/mame/layout/j5popeye.lay @@ -3538,9 +3538,9 @@ - + --> @@ -3705,9 +3705,9 @@ - + - + diff --git a/src/mame/layout/j5sizl.lay b/src/mame/layout/j5sizl.lay index c26e7cb9a6e..7b7f05c4c1e 100644 --- a/src/mame/layout/j5sizl.lay +++ b/src/mame/layout/j5sizl.lay @@ -834,9 +834,9 @@ - + - + diff --git a/src/mame/layout/j5supbara.lay b/src/mame/layout/j5supbara.lay index a4934c96503..b3bc3cf05b8 100644 --- a/src/mame/layout/j5supbara.lay +++ b/src/mame/layout/j5supbara.lay @@ -1315,9 +1315,9 @@ - + - + diff --git a/src/mame/layout/j5suphi.lay b/src/mame/layout/j5suphi.lay index c1b9397c410..460ccbd5777 100644 --- a/src/mame/layout/j5suphi.lay +++ b/src/mame/layout/j5suphi.lay @@ -2511,9 +2511,9 @@ - + - + diff --git a/src/mame/layout/j5swop.lay b/src/mame/layout/j5swop.lay index 5fd9465b98a..fb7a1a14411 100644 --- a/src/mame/layout/j5swop.lay +++ b/src/mame/layout/j5swop.lay @@ -1601,9 +1601,9 @@ - + - + diff --git a/src/mame/layout/j5term.lay b/src/mame/layout/j5term.lay index 46bc9af17fc..7369a28f5f0 100644 --- a/src/mame/layout/j5term.lay +++ b/src/mame/layout/j5term.lay @@ -1355,9 +1355,9 @@ - + - + diff --git a/src/mame/layout/j5topshp.lay b/src/mame/layout/j5topshp.lay index c1a887e57e7..534e00d1f33 100644 --- a/src/mame/layout/j5topshp.lay +++ b/src/mame/layout/j5topshp.lay @@ -1875,9 +1875,9 @@ - + - + diff --git a/src/mame/layout/j5trail.lay b/src/mame/layout/j5trail.lay index 9b86b9a726a..1e4a321a052 100644 --- a/src/mame/layout/j5trail.lay +++ b/src/mame/layout/j5trail.lay @@ -1984,9 +1984,9 @@ - + - + diff --git a/src/mame/layout/j5ujb.lay b/src/mame/layout/j5ujb.lay index 0317cff2653..93a281fc18d 100644 --- a/src/mame/layout/j5ujb.lay +++ b/src/mame/layout/j5ujb.lay @@ -704,9 +704,9 @@ - + - + @@ -888,9 +888,9 @@ - + - + diff --git a/src/mame/layout/j5wsc.lay b/src/mame/layout/j5wsc.lay index 57dd5c36d62..aef210ba9e5 100644 --- a/src/mame/layout/j5wsc.lay +++ b/src/mame/layout/j5wsc.lay @@ -2210,9 +2210,9 @@ - + - + diff --git a/src/mame/layout/j6aceclb.lay b/src/mame/layout/j6aceclb.lay index bcbaf87144a..e445f8ce5d5 100644 --- a/src/mame/layout/j6aceclb.lay +++ b/src/mame/layout/j6aceclb.lay @@ -4320,6 +4320,9 @@ + + + diff --git a/src/mame/layout/j6bnza.lay b/src/mame/layout/j6bnza.lay index 1830d4a4d83..63de83eb396 100644 --- a/src/mame/layout/j6bnza.lay +++ b/src/mame/layout/j6bnza.lay @@ -4394,7 +4394,10 @@ - + + + + diff --git a/src/mame/layout/j6btbwd.lay b/src/mame/layout/j6btbwd.lay index f052cc45321..e8bb708bc7c 100644 --- a/src/mame/layout/j6btbwd.lay +++ b/src/mame/layout/j6btbwd.lay @@ -2285,6 +2285,9 @@ + + + diff --git a/src/mame/layout/j6camelt.lay b/src/mame/layout/j6camelt.lay index 5fabd57815d..1bc1308c603 100644 --- a/src/mame/layout/j6camelt.lay +++ b/src/mame/layout/j6camelt.lay @@ -3803,6 +3803,9 @@ + + + diff --git a/src/mame/layout/j6casclaf.lay b/src/mame/layout/j6casclaf.lay index 2382fc93f4e..db0c2d19e4c 100644 --- a/src/mame/layout/j6casclaf.lay +++ b/src/mame/layout/j6casclaf.lay @@ -4783,6 +4783,9 @@ + + + diff --git a/src/mame/layout/j6cascze.lay b/src/mame/layout/j6cascze.lay index 5f71ac038f5..43a9eeea150 100644 --- a/src/mame/layout/j6cascze.lay +++ b/src/mame/layout/j6cascze.lay @@ -3621,6 +3621,9 @@ + + + diff --git a/src/mame/layout/j6colcsh.lay b/src/mame/layout/j6colcsh.lay index e6f541413d3..c13b27ad0e6 100644 --- a/src/mame/layout/j6colcsh.lay +++ b/src/mame/layout/j6colcsh.lay @@ -5944,6 +5944,9 @@ + + + diff --git a/src/mame/layout/j6cpal.lay b/src/mame/layout/j6cpal.lay index 72e6ce710b5..b54764a2199 100644 --- a/src/mame/layout/j6cpal.lay +++ b/src/mame/layout/j6cpal.lay @@ -2548,6 +2548,9 @@ + + + diff --git a/src/mame/layout/j6crack.lay b/src/mame/layout/j6crack.lay index df7e9dd843a..1ed5ad0d2c1 100644 --- a/src/mame/layout/j6crack.lay +++ b/src/mame/layout/j6crack.lay @@ -4038,6 +4038,9 @@ + + + diff --git a/src/mame/layout/j6euphor.lay b/src/mame/layout/j6euphor.lay index 483e44814ba..6fae4149a94 100644 --- a/src/mame/layout/j6euphor.lay +++ b/src/mame/layout/j6euphor.lay @@ -5329,6 +5329,9 @@ + + + diff --git a/src/mame/layout/j6ewn.lay b/src/mame/layout/j6ewn.lay index 9f1d3317793..9a4a75bb81d 100644 --- a/src/mame/layout/j6ewn.lay +++ b/src/mame/layout/j6ewn.lay @@ -2405,6 +2405,9 @@ + + + diff --git a/src/mame/layout/j6fastfr.lay b/src/mame/layout/j6fastfr.lay index 7977802dd85..fcde9553c8e 100644 --- a/src/mame/layout/j6fastfr.lay +++ b/src/mame/layout/j6fastfr.lay @@ -5537,6 +5537,9 @@ + + + diff --git a/src/mame/layout/j6ffce.lay b/src/mame/layout/j6ffce.lay index e162cd0b5a2..4c8f454238a 100644 --- a/src/mame/layout/j6ffce.lay +++ b/src/mame/layout/j6ffce.lay @@ -4185,6 +4185,9 @@ + + + diff --git a/src/mame/layout/j6frtpot.lay b/src/mame/layout/j6frtpot.lay index 74fcfec51a9..8e9aaf89e08 100644 --- a/src/mame/layout/j6frtpot.lay +++ b/src/mame/layout/j6frtpot.lay @@ -4684,6 +4684,9 @@ + + + diff --git a/src/mame/layout/j6gidogh.lay b/src/mame/layout/j6gidogh.lay index 7a69123d29d..bc83cb5e457 100644 --- a/src/mame/layout/j6gidogh.lay +++ b/src/mame/layout/j6gidogh.lay @@ -4331,6 +4331,9 @@ + + + diff --git a/src/mame/layout/j6gldclb.lay b/src/mame/layout/j6gldclb.lay index b76552a2d1e..38949860e94 100644 --- a/src/mame/layout/j6gldclb.lay +++ b/src/mame/layout/j6gldclb.lay @@ -4872,6 +4872,9 @@ + + + diff --git a/src/mame/layout/j6gogold.lay b/src/mame/layout/j6gogold.lay index f3ec0588926..6c00b03dd0c 100644 --- a/src/mame/layout/j6gogold.lay +++ b/src/mame/layout/j6gogold.lay @@ -3467,6 +3467,9 @@ + + + diff --git a/src/mame/layout/j6goldgla.lay b/src/mame/layout/j6goldgla.lay index fed99a8bb19..c20c7d8abe5 100644 --- a/src/mame/layout/j6goldgla.lay +++ b/src/mame/layout/j6goldgla.lay @@ -5958,6 +5958,9 @@ + + + diff --git a/src/mame/layout/j6guabc.lay b/src/mame/layout/j6guabc.lay index 81dacdacd2e..ecd9c7e8ed5 100644 --- a/src/mame/layout/j6guabc.lay +++ b/src/mame/layout/j6guabc.lay @@ -3460,6 +3460,9 @@ + + + diff --git a/src/mame/layout/j6guabcl.lay b/src/mame/layout/j6guabcl.lay index 0e7865b92c4..58e1b470932 100644 --- a/src/mame/layout/j6guabcl.lay +++ b/src/mame/layout/j6guabcl.lay @@ -4266,6 +4266,9 @@ + + + diff --git a/src/mame/layout/j6impuls.lay b/src/mame/layout/j6impuls.lay index 5d573ecd937..b55c3a200cc 100644 --- a/src/mame/layout/j6impuls.lay +++ b/src/mame/layout/j6impuls.lay @@ -3270,6 +3270,9 @@ + + + diff --git a/src/mame/layout/j6impuls15.lay b/src/mame/layout/j6impuls15.lay index 134927609a0..e315d7a2d58 100644 --- a/src/mame/layout/j6impuls15.lay +++ b/src/mame/layout/j6impuls15.lay @@ -3282,6 +3282,9 @@ + + + diff --git a/src/mame/layout/j6kfc.lay b/src/mame/layout/j6kfc.lay index e196a93bb7a..a2a118dc074 100644 --- a/src/mame/layout/j6kfc.lay +++ b/src/mame/layout/j6kfc.lay @@ -3295,6 +3295,9 @@ + + + diff --git a/src/mame/layout/j6kungfu.lay b/src/mame/layout/j6kungfu.lay index 7cf1e6731b0..238a2db1e36 100644 --- a/src/mame/layout/j6kungfu.lay +++ b/src/mame/layout/j6kungfu.lay @@ -2578,6 +2578,9 @@ + + + diff --git a/src/mame/layout/j6megbck.lay b/src/mame/layout/j6megbck.lay index 119f58ce53f..e6bf6ddad62 100644 --- a/src/mame/layout/j6megbck.lay +++ b/src/mame/layout/j6megbck.lay @@ -5354,6 +5354,9 @@ + + + diff --git a/src/mame/layout/j6mono60.lay b/src/mame/layout/j6mono60.lay index a71270ab7f8..4dcae7a1412 100644 --- a/src/mame/layout/j6mono60.lay +++ b/src/mame/layout/j6mono60.lay @@ -3648,6 +3648,9 @@ + + + diff --git a/src/mame/layout/j6mono6010.lay b/src/mame/layout/j6mono6010.lay index b28533f479a..3f09dc47e4d 100644 --- a/src/mame/layout/j6mono6010.lay +++ b/src/mame/layout/j6mono6010.lay @@ -3648,6 +3648,9 @@ + + + diff --git a/src/mame/layout/j6mono608.lay b/src/mame/layout/j6mono608.lay index aa43dfb1194..3852c8ea086 100644 --- a/src/mame/layout/j6mono608.lay +++ b/src/mame/layout/j6mono608.lay @@ -3648,6 +3648,9 @@ + + + diff --git a/src/mame/layout/j6monst.lay b/src/mame/layout/j6monst.lay index 5331e99afcd..138accc1ce8 100644 --- a/src/mame/layout/j6monst.lay +++ b/src/mame/layout/j6monst.lay @@ -3697,6 +3697,9 @@ + + + diff --git a/src/mame/layout/j6montlk.lay b/src/mame/layout/j6montlk.lay index 06b85047aaa..9565cf1b4f6 100644 --- a/src/mame/layout/j6montlk.lay +++ b/src/mame/layout/j6montlk.lay @@ -3329,6 +3329,9 @@ + + + diff --git a/src/mame/layout/j6montlk6.lay b/src/mame/layout/j6montlk6.lay index 7a5f2a58064..3e81748218d 100644 --- a/src/mame/layout/j6montlk6.lay +++ b/src/mame/layout/j6montlk6.lay @@ -3329,6 +3329,9 @@ + + + diff --git a/src/mame/layout/j6quick.lay b/src/mame/layout/j6quick.lay index 4446b45d31f..d81c22de7ad 100644 --- a/src/mame/layout/j6quick.lay +++ b/src/mame/layout/j6quick.lay @@ -3229,6 +3229,9 @@ + + + diff --git a/src/mame/layout/j6ra.lay b/src/mame/layout/j6ra.lay index d21945e709b..fe2794e04f8 100644 --- a/src/mame/layout/j6ra.lay +++ b/src/mame/layout/j6ra.lay @@ -3499,6 +3499,9 @@ + + + diff --git a/src/mame/layout/j6redarwf.lay b/src/mame/layout/j6redarwf.lay index 10986f62d1c..045fb32c47a 100644 --- a/src/mame/layout/j6redarwf.lay +++ b/src/mame/layout/j6redarwf.lay @@ -4034,6 +4034,9 @@ + + + diff --git a/src/mame/layout/j6rh6cld.lay b/src/mame/layout/j6rh6cld.lay index 10652af0b66..0e2af46a420 100644 --- a/src/mame/layout/j6rh6cld.lay +++ b/src/mame/layout/j6rh6cld.lay @@ -2281,6 +2281,9 @@ + + + diff --git a/src/mame/layout/j6rhchil.lay b/src/mame/layout/j6rhchil.lay index 61a833d6543..858ef436aaf 100644 --- a/src/mame/layout/j6rhchil.lay +++ b/src/mame/layout/j6rhchil.lay @@ -3224,6 +3224,9 @@ + + + diff --git a/src/mame/layout/j6roller10.lay b/src/mame/layout/j6roller10.lay index 4cd668c8993..ec069dce8c4 100644 --- a/src/mame/layout/j6roller10.lay +++ b/src/mame/layout/j6roller10.lay @@ -3475,6 +3475,9 @@ + + + diff --git a/src/mame/layout/j6roller15.lay b/src/mame/layout/j6roller15.lay index e0f569e0211..820b18352db 100644 --- a/src/mame/layout/j6roller15.lay +++ b/src/mame/layout/j6roller15.lay @@ -3584,6 +3584,9 @@ + + + diff --git a/src/mame/layout/j6roller8.lay b/src/mame/layout/j6roller8.lay index fabd169b169..af0393f7b2d 100644 --- a/src/mame/layout/j6roller8.lay +++ b/src/mame/layout/j6roller8.lay @@ -3475,6 +3475,9 @@ + + + diff --git a/src/mame/layout/j6slagng.lay b/src/mame/layout/j6slagng.lay index ea1cad3bf1e..b82d9b627b1 100644 --- a/src/mame/layout/j6slagng.lay +++ b/src/mame/layout/j6slagng.lay @@ -4514,6 +4514,9 @@ + + + diff --git a/src/mame/layout/j6snakes.lay b/src/mame/layout/j6snakes.lay index edc32a0f027..9f9ec86d209 100644 --- a/src/mame/layout/j6snakes.lay +++ b/src/mame/layout/j6snakes.lay @@ -5004,6 +5004,9 @@ + + + diff --git a/src/mame/layout/j6sonic10.lay b/src/mame/layout/j6sonic10.lay index 59c864b8531..7569c30caba 100644 --- a/src/mame/layout/j6sonic10.lay +++ b/src/mame/layout/j6sonic10.lay @@ -3973,7 +3973,7 @@ - + diff --git a/src/mame/layout/j6swpdrp.lay b/src/mame/layout/j6swpdrp.lay index 299763d432c..bd82c22cdaa 100644 --- a/src/mame/layout/j6swpdrp.lay +++ b/src/mame/layout/j6swpdrp.lay @@ -2991,6 +2991,9 @@ + + + diff --git a/src/mame/layout/j6tombc.lay b/src/mame/layout/j6tombc.lay index 98c8cd43a40..549a28fd714 100644 --- a/src/mame/layout/j6tombc.lay +++ b/src/mame/layout/j6tombc.lay @@ -3265,6 +3265,9 @@ + + + diff --git a/src/mame/layout/j6topflg.lay b/src/mame/layout/j6topflg.lay index 89cc7f91943..90fbcda7884 100644 --- a/src/mame/layout/j6topflg.lay +++ b/src/mame/layout/j6topflg.lay @@ -6030,6 +6030,9 @@ + + + diff --git a/src/mame/layout/j6twst.lay b/src/mame/layout/j6twst.lay index db9f0c75824..d49901af24f 100644 --- a/src/mame/layout/j6twst.lay +++ b/src/mame/layout/j6twst.lay @@ -2621,6 +2621,9 @@ + + + diff --git a/src/mame/layout/j6untch.lay b/src/mame/layout/j6untch.lay index ef3331af71f..a248af70a3b 100644 --- a/src/mame/layout/j6untch.lay +++ b/src/mame/layout/j6untch.lay @@ -4148,6 +4148,9 @@ + + + diff --git a/src/mame/layout/j6vindal.lay b/src/mame/layout/j6vindal.lay index 1a9bc79ff59..fc441967077 100644 --- a/src/mame/layout/j6vindal.lay +++ b/src/mame/layout/j6vindal.lay @@ -3905,6 +3905,9 @@ + + + diff --git a/src/mame/layout/j6vivark.lay b/src/mame/layout/j6vivark.lay index 0f2d30eb33d..853bae27e77 100644 --- a/src/mame/layout/j6vivark.lay +++ b/src/mame/layout/j6vivark.lay @@ -4151,6 +4151,9 @@ + + + diff --git a/src/mame/layout/j6wizardd.lay b/src/mame/layout/j6wizardd.lay index 6bef2e95d14..e4e109b876d 100644 --- a/src/mame/layout/j6wizardd.lay +++ b/src/mame/layout/j6wizardd.lay @@ -3056,6 +3056,9 @@ + + + diff --git a/src/mame/layout/m4actbnk.lay b/src/mame/layout/m4actbnk.lay index 6341317bc20..3fcfa8a2af7 100644 --- a/src/mame/layout/m4actbnk.lay +++ b/src/mame/layout/m4actbnk.lay @@ -2147,54 +2147,18 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/src/mame/layout/m4addr.lay b/src/mame/layout/m4addr.lay index 6a666c42f3b..bb4aaeefbea 100644 --- a/src/mame/layout/m4addr.lay +++ b/src/mame/layout/m4addr.lay @@ -3260,54 +3260,18 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/src/mame/layout/m4alpha.lay b/src/mame/layout/m4alpha.lay index 60f369aa809..8a5a4c82f35 100644 --- a/src/mame/layout/m4alpha.lay +++ b/src/mame/layout/m4alpha.lay @@ -3353,54 +3353,18 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/src/mame/layout/m4andybt.lay b/src/mame/layout/m4andybt.lay index 3839d55b0fc..34654b419a4 100644 --- a/src/mame/layout/m4andybt.lay +++ b/src/mame/layout/m4andybt.lay @@ -4682,54 +4682,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + diff --git a/src/mame/layout/m4andycp.lay b/src/mame/layout/m4andycp.lay index 09bdac7297f..30944f2859a 100644 --- a/src/mame/layout/m4andycp.lay +++ b/src/mame/layout/m4andycp.lay @@ -2379,54 +2379,18 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/src/mame/layout/m4andyge.lay b/src/mame/layout/m4andyge.lay index 9955d10fc04..c3684e25c63 100644 --- a/src/mame/layout/m4andyge.lay +++ b/src/mame/layout/m4andyge.lay @@ -1839,54 +1839,18 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/src/mame/layout/m4apachg.lay b/src/mame/layout/m4apachg.lay index 9a5789cb239..858e282277b 100644 --- a/src/mame/layout/m4apachg.lay +++ b/src/mame/layout/m4apachg.lay @@ -2884,54 +2884,18 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + -- cgit v1.2.3