summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/video/vtvideo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/video/vtvideo.c')
-rw-r--r--src/mess/video/vtvideo.c102
1 files changed, 51 insertions, 51 deletions
diff --git a/src/mess/video/vtvideo.c b/src/mess/video/vtvideo.c
index 2157e71ee4d..5a88875be9c 100644
--- a/src/mess/video/vtvideo.c
+++ b/src/mess/video/vtvideo.c
@@ -6,20 +6,20 @@
01/05/2009 Initial implementation [Miodrag Milanovic]
Sept. 2013 portions by Karl-Ludwig Deisenhofer.
- STATE OF DEC-100 VIDEO AS OF SEPTEMBER 2013
- -------------------------------------------
- - FURTHER TESTING: do line and character attributes match real hardware? Does soft scrolling work?
- - LIKELY INCORRECT : implementation of double size attribute in 132 columns mode (additional case)
+ STATE OF DEC-100 VIDEO AS OF SEPTEMBER 2013
+ -------------------------------------------
+ - FURTHER TESTING: do line and character attributes match real hardware? Does soft scrolling work?
+ - LIKELY INCORRECT : implementation of double size attribute in 132 columns mode (additional case)
- - MISSING: undocumented features of DC011 / DC012 - see public domain SQUEEZE.COM pokes:
- 0f00 => PORT 0C;
- 0b00 => PORT 0C;
- 1000 => PORT 04
- (SQUEEZE compresses the display in X and Y direction on a real DEC-100 B)
+ - MISSING: undocumented features of DC011 / DC012 - see public domain SQUEEZE.COM pokes:
+ 0f00 => PORT 0C;
+ 0b00 => PORT 0C;
+ 1000 => PORT 04
+ (SQUEEZE compresses the display in X and Y direction on a real DEC-100 B)
- - IMPROVEMENTS:
- - find a more realistic approach for intensity control (bold attribute)
- - correct phosphor colors (green, white and amber monitors were common)
+ - IMPROVEMENTS:
+ - find a more realistic approach for intensity control (bold attribute)
+ - correct phosphor colors (green, white and amber monitors were common)
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
@@ -122,7 +122,7 @@ void vt100_video_device::device_reset()
{
palette_set_color_rgb(machine(), 0, 0x00, 0x00, 0x00); // black
palette_set_color_rgb(machine(), 1, 0xff, 0xff, 0xff); // white
-
+
m_height = 25;
m_height_MAX = 25;
@@ -149,7 +149,7 @@ void rainbow_video_device::device_reset()
m_height = 24; // <---- DEC-100
m_height_MAX = 48;
-
+
m_lba7 = 0;
m_scroll_latch = 0;
@@ -181,7 +181,7 @@ void vt100_video_device::recompute_parameters()
} else {
horiz_pix_total = m_columns * 10; // normal 80 character mode.
}
-
+
visarea.set(0, horiz_pix_total - 1, 0, vert_pix_total - 1);
m_screen->configure(horiz_pix_total, vert_pix_total, visarea, m_screen->frame_period().attoseconds);
@@ -238,31 +238,31 @@ WRITE8_MEMBER( vt100_video_device::dc012_w )
// set basic attribute to reverse video / blink flip-flop off
m_basic_attribute = 1;
m_blink_flip_flop = 0;
-
- if (m_height_MAX == 25) break; // VT 100.
- if (m_height != 24)
+ if (m_height_MAX == 25) break; // VT 100.
+
+ if (m_height != 24)
{
- m_height = 24; // (DEC Rainbow 100) : 24 line display
+ m_height = 24; // (DEC Rainbow 100) : 24 line display
recompute_parameters();
- }
+ }
break;
case 0x0e:
- break; // (DC12) : 'not supported'
+ break; // (DC12) : 'not supported'
case 0x0f:
// (DEC Rainbow 100) : set basic attribute to reverse video / blink flip-flop off
m_basic_attribute = 1;
m_blink_flip_flop = 0;
- if (m_height_MAX == 25) break; // VT 100.
+ if (m_height_MAX == 25) break; // VT 100.
if (m_height != 48)
{
- m_height = 48; // (DEC Rainbow 100) : 48 line display
+ m_height = 48; // (DEC Rainbow 100) : 48 line display
recompute_parameters();
- }
+ }
break;
}
}
@@ -440,12 +440,12 @@ void rainbow_video_device::display_char(bitmap_ind16 &bitmap, UINT8 code, int x,
{
UINT8 xsize, d_xsize;
if (m_columns == 132)
- { xsize = 9;
- d_xsize = 18;
+ { xsize = 9;
+ d_xsize = 18;
} else
{
- xsize = 10;
- d_xsize = 20;
+ xsize = 10;
+ d_xsize = 20;
}
UINT8 line = 0;
@@ -475,13 +475,13 @@ void rainbow_video_device::display_char(bitmap_ind16 &bitmap, UINT8 code, int x,
line = m_gfx[code * 16 + j];
- if ( i == 8 )
- {
- if ( underline != 0 ) line = 0xff;
+ if ( i == 8 )
+ {
+ if ( underline != 0 ) line = 0xff;
}
// Code to handle basic attribute from VT-100
- if ( m_basic_attribute == 1 )
+ if ( m_basic_attribute == 1 )
{
if ((code & 0x80) == 0x80)
invert = 1;
@@ -489,15 +489,15 @@ void rainbow_video_device::display_char(bitmap_ind16 &bitmap, UINT8 code, int x,
invert = 0;
}
- if (m_blink_flip_flop > 0)
+ if (m_blink_flip_flop > 0)
{
- if ( blink != 0 )
- {
- line = line ^ 0xff;
- }
+ if ( blink != 0 )
+ {
+ line = line ^ 0xff;
+ }
}
- if (invert != 0)
- line = line ^ 0xff;
+ if (invert != 0)
+ line = line ^ 0xff;
for (int b = 0; b < 8; b++)
{
@@ -519,7 +519,7 @@ void rainbow_video_device::display_char(bitmap_ind16 &bitmap, UINT8 code, int x,
{
bitmap.pix16(y * 10 + i, x * d_xsize + 16) = bit;
bitmap.pix16(y * 10 + i, x * d_xsize + 17) = bit;
- bitmap.pix16(y * 10 + i, x * d_xsize + 18) = bit;
+ bitmap.pix16(y * 10 + i, x * d_xsize + 18) = bit;
bitmap.pix16(y * 10 + i, x * d_xsize + 19) = bit;
}
else
@@ -567,14 +567,14 @@ void rainbow_video_device::video_update(bitmap_ind16 &bitmap, const rectangle &c
addr = (temp) & 0x0fff;
attr_addr = ((temp) & 0x1fff) - 2;
- // No AVO here.
- attr_addr |= 0x1000;
+ // No AVO here.
+ attr_addr |= 0x1000;
if (attr_addr > 0x2000) // Ignore attributes beyond 8192 byte limit (SRAM).
{
scroll_region = 1; // binary 1 <- SET DEFAULTS
display_type = 3; // binary 111
- } else
- {
+ } else
+ {
temp = m_in_ram_func(attr_addr);
scroll_region = (temp) & 1;
display_type = (temp >> 1) & 3;
@@ -589,22 +589,22 @@ void rainbow_video_device::video_update(bitmap_ind16 &bitmap, const rectangle &c
}
else
{
- // display regular char
+ // display regular char
if (line >= m_skip_lines)
{
attr_addr = 0x1000 | ( (addr + xpos) & 0x0fff );
temp = m_in_ram_func(attr_addr); // get character attribute
- // TODO: check if reverse bit is treated the same way on real hardware
+ // TODO: check if reverse bit is treated the same way on real hardware
// 1 = display char. in REVERSE (encoded as 8)
// 0 = display char. in BOLD (encoded as 16)
// 0 = display char. w. BLINK (encoded as 32)
- // 0 = display char. w. UNDERLINE (encoded as 64).
+ // 0 = display char. w. UNDERLINE (encoded as 64).
display_char(bitmap, code, xpos, ypos, scroll_region, display_type | ( ( (temp & 1)) << 3 )
- | ( (2-(temp & 2)) << 3 )
- | ( (4-(temp & 4)) << 3 )
- | ( (8-(temp & 8)) << 3 )
- );
+ | ( (2-(temp & 2)) << 3 )
+ | ( (4-(temp & 4)) << 3 )
+ | ( (8-(temp & 8)) << 3 )
+ );
}
xpos++;
if (xpos > m_columns)