summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/bfm_bda.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/bfm_bda.cpp')
-rw-r--r--src/mame/machine/bfm_bda.cpp132
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