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.
This commit is contained in:
James Wallace 2022-12-11 17:23:14 +00:00 committed by GitHub
parent c56579df5e
commit 4924eafb4a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
90 changed files with 610 additions and 724 deletions

View File

@ -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 )
{

View File

@ -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;

View File

@ -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
break;
case 0x90: // 0x90 - 0x9F Set cursor pos
m_cursor_pos = data & 0x0F;
m_scroll_active = 0;
if ( m_display_mode == 2 )
if (data == 0x84)
{
if ( m_cursor_pos >= m_window_end) m_scroll_active = 1;
popmessage("Duty control active, contact MAMEDEV");
}
break;
case 0xA0: // 0xA0 - 0xAF Set display mode
case 0x90: // 0x90 - 0x9F Set cursor pos
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;
}
break;
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
case 0x3a:
m_user_def = 2;
break;
case 0x3b: // dummy char
move++;
break;
case 0x3A:
m_user_def = 2;
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;

View File

@ -45,24 +45,26 @@ private:
std::unique_ptr<output_finder<16> > 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
};

View File

@ -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<output_finder<16> >(*this, "vfd%u", unsigned(m_port_val) << 4);
m_outputs->resolve();
m_brightness = std::make_unique<output_finder<1> >(*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;
break;
case 0xB0: // 0xB0 - 0xBF Clear display area
switch ( data & 0x03 )
case 0xa0: // 0xA0 - 0xAF Set display mode
if (data == 0xa8)// userdef
{
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 )
{
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);
}
}
if (m_window_end < 15 )
{
for (int i = m_window_end; i < 15- m_window_end ; i++)
{
memset(m_chars+i,0,i);
memset(m_attrs+i,0,i);
}
}
}
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);
m_user_def = 2;
}
else if (data == 0xac)
{
popmessage("TEST MODE");
}
else
{
m_display_mode = data & 0x03;
}
break;
case 0xC0: // 0xC0 - 0xCF Set flash rate
m_flash_rate = data & 0x0F;
case 0xb0: // 0xB0 - 0xBF Clear display area
if (data == 0xbc)
{
popmessage("CLEAR USERDEF");
}
else
{
switch (data & 0x03)
{
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;
}
}
break;
case 0xD0: // 0xD0 - 0xDF Set Flash control
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
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)

View File

@ -40,6 +40,7 @@ private:
static const uint8_t AT_FLASHED = 0x80; // set when character should be blinked off
std::unique_ptr<output_finder<16> > m_outputs;
std::unique_ptr<output_finder<1> > 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]{};

View File

@ -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()

View File

@ -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<timer_device, 6> m_cointimer;

View File

@ -800,7 +800,14 @@ license:CC0
<repeat count="16">
<param name="i" start="15" increment="-1"/>
<param name="x" start="0" increment="9"/>
<element name="vfdblank~i~" ref="vfd0">
<color red="0.14" green="0.14" blue="0.14"/>
<bounds x="~x~" y="120" width="9" height="14"/>
</element>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0" />
<color state="0" red="0.00" green="0.6" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="0.6" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="120" width="9" height="14"/>
</element>
</repeat>

View File

@ -836,48 +836,13 @@ license:CC0
<bounds x="120" y="120" width="7" height="7"/>
</element>
<element name="vfd0" ref="vfd0" state="0">
<bounds x="17" y="280" width="7" height="10"/>
</element>
<element name="vfd1" ref="vfd0" state="0">
<bounds x="24" y="280" width="7" height="10"/>
</element>
<element name="vfd2" ref="vfd0" state="0">
<bounds x="31" y="280" width="7" height="10"/>
</element>
<element name="vfd3" ref="vfd0" state="0">
<bounds x="38" y="280" width="7" height="10"/>
</element>
<element name="vfd4" ref="vfd0" state="0">
<bounds x="45" y="280" width="7" height="10"/>
</element>
<element name="vfd5" ref="vfd0" state="0">
<bounds x="52" y="280" width="7" height="10"/>
</element>
<element name="vfd6" ref="vfd0" state="0">
<bounds x="59" y="280" width="7" height="10"/>
</element>
<element name="vfd7" ref="vfd0" state="0">
<bounds x="66" y="280" width="7" height="10"/>
</element>
<element name="vfd8" ref="vfd0" state="0">
<bounds x="73" y="280" width="7" height="10"/>
</element>
<element name="vfd9" ref="vfd0" state="0">
<bounds x="80" y="280" width="7" height="10"/>
</element>
<element name="vfd10" ref="vfd0" state="0">
<bounds x="87" y="280" width="7" height="10"/>
</element>
<element name="vfd11" ref="vfd0" state="0">
<bounds x="94" y="280" width="7" height="10"/>
</element>
<element name="vfd12" ref="vfd0" state="0">
<bounds x="101" y="280" width="7" height="10"/>
</element>
<element name="vfd13" ref="vfd0" state="0">
<bounds x="108" y="280" width="7" height="10"/>
</element>
<repeat count="14">
<param name="i" start="0" increment="1"/>
<param name="x" start="17" increment="7"/>
<element name="vfd~i~" ref="vfd0">
<bounds x="~x~" y="280" width="7" height="10"/>
</element>
</repeat>
<element name="sreel1" ref="SteppersReel1" state="0">
<bounds x="17" y="300" width="32" height="32"/>

View File

@ -836,48 +836,13 @@ license:CC0
<bounds x="120" y="120" width="7" height="7"/>
</element>
<element name="vfd0" ref="vfd0" state="0">
<bounds x="17" y="280" width="7" height="10"/>
</element>
<element name="vfd1" ref="vfd0" state="0">
<bounds x="24" y="280" width="7" height="10"/>
</element>
<element name="vfd2" ref="vfd0" state="0">
<bounds x="31" y="280" width="7" height="10"/>
</element>
<element name="vfd3" ref="vfd0" state="0">
<bounds x="38" y="280" width="7" height="10"/>
</element>
<element name="vfd4" ref="vfd0" state="0">
<bounds x="45" y="280" width="7" height="10"/>
</element>
<element name="vfd5" ref="vfd0" state="0">
<bounds x="52" y="280" width="7" height="10"/>
</element>
<element name="vfd6" ref="vfd0" state="0">
<bounds x="59" y="280" width="7" height="10"/>
</element>
<element name="vfd7" ref="vfd0" state="0">
<bounds x="66" y="280" width="7" height="10"/>
</element>
<element name="vfd8" ref="vfd0" state="0">
<bounds x="73" y="280" width="7" height="10"/>
</element>
<element name="vfd9" ref="vfd0" state="0">
<bounds x="80" y="280" width="7" height="10"/>
</element>
<element name="vfd10" ref="vfd0" state="0">
<bounds x="87" y="280" width="7" height="10"/>
</element>
<element name="vfd11" ref="vfd0" state="0">
<bounds x="94" y="280" width="7" height="10"/>
</element>
<element name="vfd12" ref="vfd0" state="0">
<bounds x="101" y="280" width="7" height="10"/>
</element>
<element name="vfd13" ref="vfd0" state="0">
<bounds x="108" y="280" width="7" height="10"/>
</element>
<repeat count="14">
<param name="i" start="0" increment="1"/>
<param name="x" start="17" increment="7"/>
<element name="vfd~i~" ref="vfd0">
<bounds x="~x~" y="280" width="7" height="10"/>
</element>
</repeat>
<element name="sreel1" ref="SteppersReel1" state="0">
<bounds x="17" y="300" width="32" height="32"/>

View File

@ -10,54 +10,20 @@ license:CC0
</element>
<view name="VFD">
<element name="vfd0" ref="vfd0" state="0">
<bounds x="0" y="280" width="9" height="14"/>
</element>
<element name="vfd1" ref="vfd0" state="0">
<bounds x="9" y="280" width="9" height="14"/>
</element>
<element name="vfd2" ref="vfd0" state="0">
<bounds x="18" y="280" width="9" height="14"/>
</element>
<element name="vfd3" ref="vfd0" state="0">
<bounds x="27" y="280" width="9" height="14"/>
</element>
<element name="vfd4" ref="vfd0" state="0">
<bounds x="36" y="280" width="9" height="14"/>
</element>
<element name="vfd5" ref="vfd0" state="0">
<bounds x="45" y="280" width="9" height="14"/>
</element>
<element name="vfd6" ref="vfd0" state="0">
<bounds x="54" y="280" width="9" height="14"/>
</element>
<element name="vfd7" ref="vfd0" state="0">
<bounds x="63" y="280" width="9" height="14"/>
</element>
<element name="vfd8" ref="vfd0" state="0">
<bounds x="72" y="280" width="9" height="14"/>
</element>
<element name="vfd9" ref="vfd0" state="0">
<bounds x="81" y="280" width="9" height="14"/>
</element>
<element name="vfd10" ref="vfd0" state="0">
<bounds x="90" y="280" width="9" height="14"/>
</element>
<element name="vfd11" ref="vfd0" state="0">
<bounds x="99" y="280" width="9" height="14"/>
</element>
<element name="vfd12" ref="vfd0" state="0">
<bounds x="108" y="280" width="9" height="14"/>
</element>
<element name="vfd13" ref="vfd0" state="0">
<bounds x="117" y="280" width="9" height="14"/>
</element>
<element name="vfd14" ref="vfd0" state="0">
<bounds x="126" y="280" width="9" height="14"/>
</element>
<element name="vfd15" ref="vfd0" state="0">
<bounds x="135" y="280" width="9" height="14"/>
</element>
</view>
<repeat count="16">
<param name="i" start="0" increment="1"/>
<param name="x" start="0" increment="9"/>
<element name="vfdblank~i~" ref="vfd0">
<color red="0.14" green="0.14" blue="0.14"/>
<bounds x="~x~" y="280" width="9" height="14"/>
</element>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0" />
<color state="0" red="0.00" green="0.6" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="0.6" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="280" width="9" height="14"/>
</element>
</repeat>
</view>
</mamelayout>

View File

@ -2706,9 +2706,9 @@
</led7seg>
</element>
<element name="vfd0">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="vfd0_background">
<rect>
@ -2844,9 +2844,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -2173,9 +2173,9 @@
</led7seg>
</element>
<element name="vfd0">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="vfd0_background">
<rect>
@ -2355,9 +2355,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -2842,9 +2842,9 @@
</element>
<element name="vfd0">
<!-- if these are really 14 segs, and the hookups are meant to be compaible with the 16segs then the MAME bit order is incorrect -->
<!--<led14segsc>
<!--<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>-->
</led16segsc>-->
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led16segsc>

View File

@ -726,9 +726,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -2567,9 +2567,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -2961,9 +2961,9 @@
</led7seg>
</element>
<element name="vfd0">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="vfd0_background">
<rect>
@ -3101,9 +3101,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -958,9 +958,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -2317,9 +2317,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -2370,9 +2370,9 @@
</led7seg>
</element>
<element name="vfd0">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="vfd0_background">
<rect>
@ -2600,9 +2600,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -2246,9 +2246,9 @@
</led7seg>
</element>
<element name="vfd0">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="vfd0_background">
<rect>
@ -2390,9 +2390,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -977,9 +977,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -3538,9 +3538,9 @@
</element>
<element name="vfd0">
<!-- if these are really 14 segs, and the hookups are meant to be compaible with the 16segs then the MAME bit order is incorrect -->
<!--<led14segsc>
<!--<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>-->
</led16segsc>-->
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led16segsc>
@ -3705,9 +3705,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -834,9 +834,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -1315,9 +1315,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -2511,9 +2511,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -1601,9 +1601,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -1355,9 +1355,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -1875,9 +1875,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -1984,9 +1984,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -704,9 +704,9 @@
</led7seg>
</element>
<element name="vfd0">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="vfd0_background">
<rect>
@ -888,9 +888,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -2210,9 +2210,9 @@
</element>
</repeat>
<element name="debug_vfd">
<led14segsc>
<led16segsc>
<color red="0.0" green="1.0" blue="1.0"/>
</led14segsc>
</led16segsc>
</element>
<element name="debug_stepper_value" defstate="0">
<simplecounter maxstate="999" digits="3">

View File

@ -4320,6 +4320,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="300" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="391" width="17" height="30"/>
</element>
</repeat>

View File

@ -4394,7 +4394,10 @@
<repeat count="16">
<param name="i" start="0" increment="1"/>
<param name="x" start="295" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<element name="vfd~i~" ref="vfd0" blend="add">
<animate name="vfdduty0"/>
<color state="0" red="0.14" green="0.14" blue="0.14" alpha="1.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="320" width="17" height="30"/>
</element>
</repeat>

View File

@ -2285,6 +2285,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="54" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="391" width="17" height="30"/>
</element>
</repeat>

View File

@ -3803,6 +3803,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="149" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="347" width="17" height="30"/>
</element>
</repeat>

View File

@ -4783,6 +4783,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="228" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="427" width="17" height="30"/>
</element>
</repeat>

View File

@ -3621,6 +3621,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="160" increment="22"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="410" width="22" height="28"/>
</element>
</repeat>

View File

@ -5944,6 +5944,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="189" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="497" width="17" height="30"/>
</element>
</repeat>

View File

@ -2548,6 +2548,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="130" increment="15"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="327" width="15" height="30"/>
</element>
</repeat>

View File

@ -4038,6 +4038,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="102" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="440" width="17" height="30"/>
</element>
</repeat>

View File

@ -5329,6 +5329,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="136" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="482" width="17" height="30"/>
</element>
</repeat>

View File

@ -2405,6 +2405,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="144" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="472" width="17" height="30"/>
</element>
</repeat>

View File

@ -5537,6 +5537,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="289" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="352" width="17" height="30"/>
</element>
</repeat>

View File

@ -4185,6 +4185,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="227" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="438" width="17" height="30"/>
</element>
</repeat>

View File

@ -4684,6 +4684,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="253" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="247" width="17" height="26"/>
</element>
</repeat>

View File

@ -4331,6 +4331,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="188" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="479" width="17" height="31"/>
</element>
</repeat>

View File

@ -4872,6 +4872,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="277" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="381" width="17" height="30"/>
</element>
</repeat>

View File

@ -3467,6 +3467,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="183" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="458" width="17" height="30"/>
</element>
</repeat>

View File

@ -5958,6 +5958,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="103" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="441" width="17" height="31"/>
</element>
</repeat>

View File

@ -3460,6 +3460,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="434" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="423" width="17" height="30"/>
</element>
</repeat>

View File

@ -4266,6 +4266,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="344" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="274" width="17" height="26"/>
</element>
</repeat>

View File

@ -3270,6 +3270,9 @@
<param name="x" start="143" increment="17" />
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="435" width="17" height="30"/>
</element>
</repeat>

View File

@ -3282,6 +3282,9 @@
<param name="x" start="143" increment="17" />
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="435" width="17" height="30"/>
</element>
</repeat>

View File

@ -3295,6 +3295,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="268" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="381" width="17" height="30"/>
</element>
</repeat>

View File

@ -2578,6 +2578,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="281" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="382" width="17" height="30"/>
</element>
</repeat>

View File

@ -5354,6 +5354,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="371" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="415" width="17" height="30"/>
</element>
</repeat>

View File

@ -3648,6 +3648,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="260" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="383" width="17" height="30"/>
</element>
</repeat>

View File

@ -3648,6 +3648,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="260" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="383" width="17" height="30"/>
</element>
</repeat>

View File

@ -3648,6 +3648,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="260" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="383" width="17" height="30"/>
</element>
</repeat>

View File

@ -3697,6 +3697,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="197" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="409" width="17" height="30"/>
</element>
</repeat>

View File

@ -3329,6 +3329,9 @@
<param name="x" start="117" increment="17" />
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="319" width="17" height="30"/>
</element>
</repeat>

View File

@ -3329,6 +3329,9 @@
<param name="x" start="117" increment="17" />
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="319" width="17" height="30"/>
</element>
</repeat>

View File

@ -3229,6 +3229,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="94" increment="15"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="281" width="15" height="30"/>
</element>
</repeat>

View File

@ -3499,6 +3499,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="267" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="382" width="17" height="30"/>
</element>
</repeat>

View File

@ -4034,6 +4034,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="202" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="479" width="17" height="30"/>
</element>
</repeat>

View File

@ -2281,6 +2281,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="54" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="391" width="17" height="30"/>
</element>
</repeat>

View File

@ -3224,6 +3224,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="230" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="433" width="17" height="31"/>
</element>
</repeat>

View File

@ -3475,6 +3475,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="270" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="379" width="17" height="30"/>
</element>
</repeat>

View File

@ -3584,6 +3584,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="270" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="379" width="17" height="30"/>
</element>
</repeat>

View File

@ -3475,6 +3475,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="270" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="379" width="17" height="30"/>
</element>
</repeat>

View File

@ -4514,6 +4514,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="183" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="444" width="17" height="31"/>
</element>
</repeat>

View File

@ -5004,6 +5004,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="252" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="382" width="17" height="30"/>
</element>
</repeat>

View File

@ -3973,7 +3973,7 @@
</element>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="0" red="0.14" green="0.14" blue="0.14" alpha="1.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="364" width="17" height="29"/>
</element>

View File

@ -2991,6 +2991,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="99" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="485" width="17" height="31"/>
</element>
</repeat>

View File

@ -3265,6 +3265,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="272" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="382" width="17" height="30"/>
</element>
</repeat>

View File

@ -6030,6 +6030,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="237" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="421" width="17" height="30"/>
</element>
</repeat>

View File

@ -2621,6 +2621,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="194" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="434" width="17" height="31"/>
</element>
</repeat>

View File

@ -4148,6 +4148,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="299" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="297" width="17" height="30"/>
</element>
</repeat>

View File

@ -3905,6 +3905,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="200" increment="12"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="457" width="12" height="24"/>
</element>
</repeat>

View File

@ -4151,6 +4151,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="164" increment="20"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="478" width="20" height="28"/>
</element>
</repeat>

View File

@ -3056,6 +3056,9 @@
<param name="i" start="0" increment="1"/>
<param name="x" start="88" increment="17"/>
<element name="vfd~i~" ref="vfd0">
<animate name="vfdduty0"/>
<color state="0" red="0.00" green="1.00" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="1.00" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="256" width="15" height="30"/>
</element>
</repeat>

View File

@ -2147,54 +2147,18 @@
<element ref="vfd0_background">
<bounds x="683" y="559" width="272" height="30"/>
</element>
<element name="vfd15" ref="vfd0" state="0">
<bounds x="683" y="559" width="17" height="30"/>
</element>
<element name="vfd14" ref="vfd0" state="0">
<bounds x="700" y="559" width="17" height="30"/>
</element>
<element name="vfd13" ref="vfd0" state="0">
<bounds x="717" y="559" width="17" height="30"/>
</element>
<element name="vfd12" ref="vfd0" state="0">
<bounds x="734" y="559" width="17" height="30"/>
</element>
<element name="vfd11" ref="vfd0" state="0">
<bounds x="751" y="559" width="17" height="30"/>
</element>
<element name="vfd10" ref="vfd0" state="0">
<bounds x="768" y="559" width="17" height="30"/>
</element>
<element name="vfd9" ref="vfd0" state="0">
<bounds x="785" y="559" width="17" height="30"/>
</element>
<element name="vfd8" ref="vfd0" state="0">
<bounds x="802" y="559" width="17" height="30"/>
</element>
<element name="vfd7" ref="vfd0" state="0">
<bounds x="819" y="559" width="17" height="30"/>
</element>
<element name="vfd6" ref="vfd0" state="0">
<bounds x="836" y="559" width="17" height="30"/>
</element>
<element name="vfd5" ref="vfd0" state="0">
<bounds x="853" y="559" width="17" height="30"/>
</element>
<element name="vfd4" ref="vfd0" state="0">
<bounds x="870" y="559" width="17" height="30"/>
</element>
<element name="vfd3" ref="vfd0" state="0">
<bounds x="887" y="559" width="17" height="30"/>
</element>
<element name="vfd2" ref="vfd0" state="0">
<bounds x="904" y="559" width="17" height="30"/>
</element>
<element name="vfd1" ref="vfd0" state="0">
<bounds x="921" y="559" width="17" height="30"/>
</element>
<element name="vfd0" ref="vfd0" state="0">
<bounds x="938" y="559" width="17" height="30"/>
</element>
<repeat count="16">
<param name="n" start="15" increment="-1"/>
<param name="x" start="683" increment="17"/>
<element name="vfd~n~" ref="vfd0" state="0">
<animate name="vfdduty0" />
<color state="0" red="0.00" green="0.6" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="0.6" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="559" width="17" height="30"/>
</element>
</repeat>
<element name="label38" ref="label_38">
<bounds x="130" y="569" width="51" height="24"/>
</element>

View File

@ -3260,54 +3260,18 @@
<element ref="vfd0_background">
<bounds x="105" y="305" width="272" height="30"/>
</element>
<element name="vfd15" ref="vfd0" state="0">
<bounds x="105" y="305" width="17" height="30"/>
</element>
<element name="vfd14" ref="vfd0" state="0">
<bounds x="122" y="305" width="17" height="30"/>
</element>
<element name="vfd13" ref="vfd0" state="0">
<bounds x="139" y="305" width="17" height="30"/>
</element>
<element name="vfd12" ref="vfd0" state="0">
<bounds x="156" y="305" width="17" height="30"/>
</element>
<element name="vfd11" ref="vfd0" state="0">
<bounds x="173" y="305" width="17" height="30"/>
</element>
<element name="vfd10" ref="vfd0" state="0">
<bounds x="190" y="305" width="17" height="30"/>
</element>
<element name="vfd9" ref="vfd0" state="0">
<bounds x="207" y="305" width="17" height="30"/>
</element>
<element name="vfd8" ref="vfd0" state="0">
<bounds x="224" y="305" width="17" height="30"/>
</element>
<element name="vfd7" ref="vfd0" state="0">
<bounds x="241" y="305" width="17" height="30"/>
</element>
<element name="vfd6" ref="vfd0" state="0">
<bounds x="258" y="305" width="17" height="30"/>
</element>
<element name="vfd5" ref="vfd0" state="0">
<bounds x="275" y="305" width="17" height="30"/>
</element>
<element name="vfd4" ref="vfd0" state="0">
<bounds x="292" y="305" width="17" height="30"/>
</element>
<element name="vfd3" ref="vfd0" state="0">
<bounds x="309" y="305" width="17" height="30"/>
</element>
<element name="vfd2" ref="vfd0" state="0">
<bounds x="326" y="305" width="17" height="30"/>
</element>
<element name="vfd1" ref="vfd0" state="0">
<bounds x="343" y="305" width="17" height="30"/>
</element>
<element name="vfd0" ref="vfd0" state="0">
<bounds x="360" y="305" width="17" height="30"/>
</element>
<repeat count="16">
<param name="n" start="15" increment="-1"/>
<param name="x" start="105" increment="17"/>
<element name="vfd~n~" ref="vfd0" state="0">
<animate name="vfdduty0" />
<color state="0" red="0.00" green="0.6" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="0.6" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="305" width="17" height="30"/>
</element>
</repeat>
<element name="label11" ref="label_11">
<bounds x="507" y="199" width="184" height="28"/>
</element>

View File

@ -3353,54 +3353,18 @@
<element ref="vfd0_background">
<bounds x="413" y="433" width="272" height="30"/>
</element>
<element name="vfd15" ref="vfd0" state="0">
<bounds x="413" y="433" width="17" height="30"/>
</element>
<element name="vfd14" ref="vfd0" state="0">
<bounds x="430" y="433" width="17" height="30"/>
</element>
<element name="vfd13" ref="vfd0" state="0">
<bounds x="447" y="433" width="17" height="30"/>
</element>
<element name="vfd12" ref="vfd0" state="0">
<bounds x="464" y="433" width="17" height="30"/>
</element>
<element name="vfd11" ref="vfd0" state="0">
<bounds x="481" y="433" width="17" height="30"/>
</element>
<element name="vfd10" ref="vfd0" state="0">
<bounds x="498" y="433" width="17" height="30"/>
</element>
<element name="vfd9" ref="vfd0" state="0">
<bounds x="515" y="433" width="17" height="30"/>
</element>
<element name="vfd8" ref="vfd0" state="0">
<bounds x="532" y="433" width="17" height="30"/>
</element>
<element name="vfd7" ref="vfd0" state="0">
<bounds x="549" y="433" width="17" height="30"/>
</element>
<element name="vfd6" ref="vfd0" state="0">
<bounds x="566" y="433" width="17" height="30"/>
</element>
<element name="vfd5" ref="vfd0" state="0">
<bounds x="583" y="433" width="17" height="30"/>
</element>
<element name="vfd4" ref="vfd0" state="0">
<bounds x="600" y="433" width="17" height="30"/>
</element>
<element name="vfd3" ref="vfd0" state="0">
<bounds x="617" y="433" width="17" height="30"/>
</element>
<element name="vfd2" ref="vfd0" state="0">
<bounds x="634" y="433" width="17" height="30"/>
</element>
<element name="vfd1" ref="vfd0" state="0">
<bounds x="651" y="433" width="17" height="30"/>
</element>
<element name="vfd0" ref="vfd0" state="0">
<bounds x="668" y="433" width="17" height="30"/>
</element>
<repeat count="16">
<param name="n" start="15" increment="-1"/>
<param name="x" start="413" increment="17"/>
<element name="vfd~n~" ref="vfd0" state="0">
<animate name="vfdduty0" />
<color state="0" red="0.00" green="0.6" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="0.6" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="433" width="17" height="30"/>
</element>
</repeat>
<element name="label105" ref="label_105">
<bounds x="349" y="532" width="58" height="20"/>
</element>

View File

@ -4682,54 +4682,17 @@
<element ref="vfd0_background">
<bounds x="261" y="381" width="272" height="30"/>
</element>
<element name="vfd15" ref="vfd0" state="0">
<bounds x="261" y="381" width="17" height="30"/>
</element>
<element name="vfd14" ref="vfd0" state="0">
<bounds x="278" y="381" width="17" height="30"/>
</element>
<element name="vfd13" ref="vfd0" state="0">
<bounds x="295" y="381" width="17" height="30"/>
</element>
<element name="vfd12" ref="vfd0" state="0">
<bounds x="312" y="381" width="17" height="30"/>
</element>
<element name="vfd11" ref="vfd0" state="0">
<bounds x="329" y="381" width="17" height="30"/>
</element>
<element name="vfd10" ref="vfd0" state="0">
<bounds x="346" y="381" width="17" height="30"/>
</element>
<element name="vfd9" ref="vfd0" state="0">
<bounds x="363" y="381" width="17" height="30"/>
</element>
<element name="vfd8" ref="vfd0" state="0">
<bounds x="380" y="381" width="17" height="30"/>
</element>
<element name="vfd7" ref="vfd0" state="0">
<bounds x="397" y="381" width="17" height="30"/>
</element>
<element name="vfd6" ref="vfd0" state="0">
<bounds x="414" y="381" width="17" height="30"/>
</element>
<element name="vfd5" ref="vfd0" state="0">
<bounds x="431" y="381" width="17" height="30"/>
</element>
<element name="vfd4" ref="vfd0" state="0">
<bounds x="448" y="381" width="17" height="30"/>
</element>
<element name="vfd3" ref="vfd0" state="0">
<bounds x="465" y="381" width="17" height="30"/>
</element>
<element name="vfd2" ref="vfd0" state="0">
<bounds x="482" y="381" width="17" height="30"/>
</element>
<element name="vfd1" ref="vfd0" state="0">
<bounds x="499" y="381" width="17" height="30"/>
</element>
<element name="vfd0" ref="vfd0" state="0">
<bounds x="516" y="381" width="17" height="30"/>
</element>
<repeat count="16">
<param name="n" start="15" increment="-1"/>
<param name="x" start="261" increment="17"/>
<element name="vfd~n~" ref="vfd0" state="0">
<animate name="vfdduty0" />
<color state="0" red="0.00" green="0.6" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="0.6" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="381" width="17" height="30"/>
</element>
</repeat>
<element name="label5" ref="label_5">
<bounds x="2" y="2" width="91" height="44"/>
</element>

View File

@ -2379,54 +2379,18 @@
<element ref="vfd0_background">
<bounds x="210" y="252" width="200" height="30"/>
</element>
<element name="vfd15" ref="vfd0" state="0">
<bounds x="210" y="252" width="13" height="30"/>
</element>
<element name="vfd14" ref="vfd0" state="0">
<bounds x="223" y="252" width="13" height="30"/>
</element>
<element name="vfd13" ref="vfd0" state="0">
<bounds x="236" y="252" width="13" height="30"/>
</element>
<element name="vfd12" ref="vfd0" state="0">
<bounds x="249" y="252" width="13" height="30"/>
</element>
<element name="vfd11" ref="vfd0" state="0">
<bounds x="262" y="252" width="13" height="30"/>
</element>
<element name="vfd10" ref="vfd0" state="0">
<bounds x="275" y="252" width="13" height="30"/>
</element>
<element name="vfd9" ref="vfd0" state="0">
<bounds x="288" y="252" width="13" height="30"/>
</element>
<element name="vfd8" ref="vfd0" state="0">
<bounds x="301" y="252" width="13" height="30"/>
</element>
<element name="vfd7" ref="vfd0" state="0">
<bounds x="314" y="252" width="13" height="30"/>
</element>
<element name="vfd6" ref="vfd0" state="0">
<bounds x="327" y="252" width="13" height="30"/>
</element>
<element name="vfd5" ref="vfd0" state="0">
<bounds x="340" y="252" width="13" height="30"/>
</element>
<element name="vfd4" ref="vfd0" state="0">
<bounds x="353" y="252" width="13" height="30"/>
</element>
<element name="vfd3" ref="vfd0" state="0">
<bounds x="366" y="252" width="13" height="30"/>
</element>
<element name="vfd2" ref="vfd0" state="0">
<bounds x="379" y="252" width="13" height="30"/>
</element>
<element name="vfd1" ref="vfd0" state="0">
<bounds x="392" y="252" width="13" height="30"/>
</element>
<element name="vfd0" ref="vfd0" state="0">
<bounds x="405" y="252" width="13" height="30"/>
</element>
<repeat count="16">
<param name="n" start="15" increment="-1"/>
<param name="x" start="210" increment="13"/>
<element name="vfd~n~" ref="vfd0" state="0">
<animate name="vfdduty0" />
<color state="0" red="0.00" green="0.6" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="0.6" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="252" width="13" height="30"/>
</element>
</repeat>
<element name="label28" ref="label_28">
<bounds x="223" y="236" width="64" height="19"/>
</element>

View File

@ -1839,54 +1839,18 @@
<element ref="vfd0_background">
<bounds x="268" y="362" width="272" height="30"/>
</element>
<element name="vfd15" ref="vfd0" state="0">
<bounds x="268" y="362" width="17" height="30"/>
</element>
<element name="vfd14" ref="vfd0" state="0">
<bounds x="285" y="362" width="17" height="30"/>
</element>
<element name="vfd13" ref="vfd0" state="0">
<bounds x="302" y="362" width="17" height="30"/>
</element>
<element name="vfd12" ref="vfd0" state="0">
<bounds x="319" y="362" width="17" height="30"/>
</element>
<element name="vfd11" ref="vfd0" state="0">
<bounds x="336" y="362" width="17" height="30"/>
</element>
<element name="vfd10" ref="vfd0" state="0">
<bounds x="353" y="362" width="17" height="30"/>
</element>
<element name="vfd9" ref="vfd0" state="0">
<bounds x="370" y="362" width="17" height="30"/>
</element>
<element name="vfd8" ref="vfd0" state="0">
<bounds x="387" y="362" width="17" height="30"/>
</element>
<element name="vfd7" ref="vfd0" state="0">
<bounds x="404" y="362" width="17" height="30"/>
</element>
<element name="vfd6" ref="vfd0" state="0">
<bounds x="421" y="362" width="17" height="30"/>
</element>
<element name="vfd5" ref="vfd0" state="0">
<bounds x="438" y="362" width="17" height="30"/>
</element>
<element name="vfd4" ref="vfd0" state="0">
<bounds x="455" y="362" width="17" height="30"/>
</element>
<element name="vfd3" ref="vfd0" state="0">
<bounds x="472" y="362" width="17" height="30"/>
</element>
<element name="vfd2" ref="vfd0" state="0">
<bounds x="489" y="362" width="17" height="30"/>
</element>
<element name="vfd1" ref="vfd0" state="0">
<bounds x="506" y="362" width="17" height="30"/>
</element>
<element name="vfd0" ref="vfd0" state="0">
<bounds x="523" y="362" width="17" height="30"/>
</element>
<repeat count="16">
<param name="n" start="15" increment="-1"/>
<param name="x" start="268" increment="17"/>
<element name="vfd~n~" ref="vfd0" state="0">
<animate name="vfdduty0" />
<color state="0" red="0.00" green="0.6" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="0.6" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="362" width="17" height="30"/>
</element>
</repeat>
<element name="label109" ref="label_109">
<bounds x="876" y="75" width="83" height="13"/>
</element>

View File

@ -2884,54 +2884,18 @@
<element ref="vfd0_background">
<bounds x="259" y="381" width="272" height="30"/>
</element>
<element name="vfd15" ref="vfd0" state="0">
<bounds x="259" y="381" width="17" height="30"/>
</element>
<element name="vfd14" ref="vfd0" state="0">
<bounds x="276" y="381" width="17" height="30"/>
</element>
<element name="vfd13" ref="vfd0" state="0">
<bounds x="293" y="381" width="17" height="30"/>
</element>
<element name="vfd12" ref="vfd0" state="0">
<bounds x="310" y="381" width="17" height="30"/>
</element>
<element name="vfd11" ref="vfd0" state="0">
<bounds x="327" y="381" width="17" height="30"/>
</element>
<element name="vfd10" ref="vfd0" state="0">
<bounds x="344" y="381" width="17" height="30"/>
</element>
<element name="vfd9" ref="vfd0" state="0">
<bounds x="361" y="381" width="17" height="30"/>
</element>
<element name="vfd8" ref="vfd0" state="0">
<bounds x="378" y="381" width="17" height="30"/>
</element>
<element name="vfd7" ref="vfd0" state="0">
<bounds x="395" y="381" width="17" height="30"/>
</element>
<element name="vfd6" ref="vfd0" state="0">
<bounds x="412" y="381" width="17" height="30"/>
</element>
<element name="vfd5" ref="vfd0" state="0">
<bounds x="429" y="381" width="17" height="30"/>
</element>
<element name="vfd4" ref="vfd0" state="0">
<bounds x="446" y="381" width="17" height="30"/>
</element>
<element name="vfd3" ref="vfd0" state="0">
<bounds x="463" y="381" width="17" height="30"/>
</element>
<element name="vfd2" ref="vfd0" state="0">
<bounds x="480" y="381" width="17" height="30"/>
</element>
<element name="vfd1" ref="vfd0" state="0">
<bounds x="497" y="381" width="17" height="30"/>
</element>
<element name="vfd0" ref="vfd0" state="0">
<bounds x="514" y="381" width="17" height="30"/>
</element>
<repeat count="16">
<param name="n" start="15" increment="-1"/>
<param name="x" start="259" increment="17"/>
<element name="vfd~n~" ref="vfd0" state="0">
<animate name="vfdduty0" />
<color state="0" red="0.00" green="0.6" blue="1.00" alpha="0.0"/>
<color state="31" red="0.00" green="0.6" blue="1.00" alpha="1.0"/>
<bounds x="~x~" y="381" width="17" height="30"/>
</element>
</repeat>
<element name="label4" ref="label_4">
<bounds x="464" y="9" width="60" height="24"/>
</element>