Saved from the Shoutbox:

Code
Lord Nightmare: bavarese: vtvideo.cpp is incorrectly showing vt100 video as interlaced regardless of the setting of the config bit on setup page B

Lord Nightmare: i assume changing the setup bit should instantly take effect

Lord Nightmare: to get to vt100 setup page b: boot vt100, press f5 repeatedly until setup page A comes up, then press '5' repeatedly until setup page B comes up

Lord Nightmare: the meaning of the block of config bits at the bottom can be found on page 6-4 (PDF page 249) of 

http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/terminal/vt100/EK-VT100-TM-003_VT100_Technical_Manual_Jul82.pdf

Lord Nightmare: NEVERMIND, I screwed up, the interlace bit works PERFECTLY. I miscounted which field to change the bit in
Lord Nightmare: what doesn't seem to work is the 'inverse video' or white on black vs black on white bit, nor the AVO functions which should have "SETUP A"
 blinking and "to exit press setup" underlined, but that is most likely a vt100 driver issue, not a vtvideo.cpp prob

Lord Nightmare: so AVO support in vt100 driver is currently at least partially broken, if not completely.

Bavarese: VTVIDEO contains 2 sections. The VT100 section

vt100_video_device::device_start(),
vt100_video_device::display_char)

is essentially unchanged since 2009 and many features (48 line mode; soft scroll; intensity / 4 color palette, interlaced mode) are unimplemented there...

When i began, i lacked ROMs and experience, plus i have never seen a VT style terminal to this day. So i am unable to compare my interpretation of attributes with live hardware.

The Rainbow is my reference machine. It doesnt have an AVO as such, while it treats the basic attribute as inverse (*)

Once you * have * the larger picture, this approach appears inadequate and must be expanded (...somehow) smile

You could try to adapt the VT driver to use

'rainbow_video_device::display_char' and
'rainbow_video_device::device_reset()'

instead of the vt100_ (old, 2009 style) routines.

Evaluation of DC011 and DC012 (write) registers is mostly the same. Just take care of the extra 'break' statements in cases 0x0d and 0x0f (of routine dc012_w)...!

(*) P.S.: i think that a VT100 _with_ AVO interprets the 'basic attribute' as inverse, while one without treats it as _underline_.

Last edited by Bavarese; 07/11/16 07:41 AM.