diff options
Diffstat (limited to 'src/mame/machine/bfm_bda.cpp')
-rw-r--r-- | src/mame/machine/bfm_bda.cpp | 132 |
1 files changed, 67 insertions, 65 deletions
diff --git a/src/mame/machine/bfm_bda.cpp b/src/mame/machine/bfm_bda.cpp index fc345c94215..263db3a7a0c 100644 --- a/src/mame/machine/bfm_bda.cpp +++ b/src/mame/machine/bfm_bda.cpp @@ -177,7 +177,7 @@ void bfm_bda_device::blank(int data) { switch ( data & 0x03 ) // TODO: wrong case values??? { - case 0x00: // clear blanking + case 0x00: // clear blanking { for (int i = 0; i < 15; i++) { @@ -185,7 +185,7 @@ void bfm_bda_device::blank(int data) } } break; - case 0x01: // blank inside window + case 0x01: // blank inside window if ( m_window_size > 0 ) { for (int i = m_window_start; i < m_window_end ; i++) @@ -194,7 +194,7 @@ void bfm_bda_device::blank(int data) } } break; - case 0x02: // blank outside window + case 0x02: // blank outside window if ( m_window_size > 0 ) { if ( m_window_start > 0 ) @@ -215,7 +215,7 @@ void bfm_bda_device::blank(int data) } break; - case 0x03: //blank all + case 0x03: //blank all { for (int i = 0; i < 15; i++) { @@ -276,7 +276,7 @@ int bfm_bda_device::write_char(int data) { switch ( data & 0xF0 ) { - case 0x80: // 0x80 - 0x8F Set display blanking + case 0x80: // 0x80 - 0x8F Set display blanking if (data==0x84)// futaba setup { m_blank_flag = 1; @@ -288,7 +288,7 @@ int bfm_bda_device::write_char(int data) } break; - case 0x90: // 0x90 - 0x9F Set cursor pos + case 0x90: // 0x90 - 0x9F Set cursor pos m_cursor_pos = data & 0x0F; m_scroll_active = 0; if ( m_display_mode == 2 ) @@ -297,18 +297,18 @@ int bfm_bda_device::write_char(int data) } 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 ) { - case 0x00: // clr nothing + case 0x00: // clr nothing break; - case 0x01: // clr inside window + case 0x01: // clr inside window if ( m_window_size > 0 ) { memset(m_chars+m_window_start,0,m_window_size); @@ -317,7 +317,7 @@ int bfm_bda_device::write_char(int data) break; - case 0x02: // clr outside window + case 0x02: // clr outside window if ( m_window_size > 0 ) { if ( m_window_start > 0 ) @@ -338,7 +338,9 @@ int bfm_bda_device::write_char(int data) } } } - case 0x03: // clr entire display + break; + + case 0x03: // clr entire display { memset(m_chars, 0, sizeof(m_chars)); memset(m_attrs, 0, sizeof(m_attrs)); @@ -346,20 +348,20 @@ int bfm_bda_device::write_char(int data) } break; - case 0xC0: // 0xC0 - 0xCF Set flash rate + case 0xC0: // 0xC0 - 0xCF Set flash rate m_flash_rate = data & 0x0F; 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 + 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 + 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; @@ -387,7 +389,7 @@ void bfm_bda_device::setdata(int segdata, int data) int change =0; switch ( data ) { - case 0x25: // flash + case 0x25: // flash if(m_chars[m_pcursor_pos] & (1<<8)) { move++; @@ -398,11 +400,11 @@ void bfm_bda_device::setdata(int segdata, int data) } break; - case 0x26: // undefined + case 0x26: // undefined break; - case 0x2C: // semicolon - case 0x2E: // decimal point + case 0x2C: // semicolon + case 0x2E: // decimal point if( m_chars[m_pcursor_pos] & (1<<12)) { @@ -414,15 +416,15 @@ void bfm_bda_device::setdata(int segdata, int data) } break; - case 0x3B: // dummy char + case 0x3B: // dummy char move++; break; - case 0x3A: + case 0x3A: m_user_def = 2; break; - default: + default: move++; change++; } @@ -443,66 +445,66 @@ void bfm_bda_device::setdata(int segdata, int data) { case 0: // rotate left - m_cursor_pos &= 0x0F; + m_cursor_pos &= 0x0F; - if ( change ) - { - m_chars[m_cursor_pos] = segdata; - } - m_cursor_pos++; - if ( m_cursor_pos >= 16 ) m_cursor_pos = 0; - break; + if ( change ) + { + m_chars[m_cursor_pos] = segdata; + } + m_cursor_pos++; + if ( m_cursor_pos >= 16 ) m_cursor_pos = 0; + break; case 1: // Rotate right - m_cursor_pos &= 0x0F; + m_cursor_pos &= 0x0F; - if ( change ) - { - m_chars[m_cursor_pos] = segdata; - } - m_cursor_pos--; - if ( m_cursor_pos < 0 ) m_cursor_pos = 15; - break; + if ( change ) + { + m_chars[m_cursor_pos] = segdata; + } + m_cursor_pos--; + 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 ( m_cursor_pos < m_window_end ) { - m_chars[m_cursor_pos] = segdata; + m_scroll_active = 0; + if ( change ) + { + m_chars[m_cursor_pos] = segdata; + } + m_cursor_pos++; } - m_cursor_pos++; - } - else - { - if ( move ) + else { - if ( m_scroll_active ) + if ( move ) { - int i = m_window_start; - while ( i < m_window_end ) + if ( m_scroll_active ) { - m_chars[i] = m_chars[i+1]; - i++; + int i = m_window_start; + while ( i < m_window_end ) + { + m_chars[i] = m_chars[i+1]; + i++; + } } + else m_scroll_active = 1; } - else m_scroll_active = 1; - } - if ( change ) - { - m_chars[m_window_end] = segdata; - } - else - { - m_chars[m_window_end] = 0; + if ( change ) + { + m_chars[m_window_end] = segdata; + } + else + { + m_chars[m_window_end] = 0; + } } - } - break; + break; case 3: // Scroll right |