Search This Blog

Sunday, July 29, 2018

ChibiTerm - VT100 - VTTest

Projects / ChibiTerm  Original post date: 06/02/2016

My priority for this project is to get the core VT100 control code to work. Correctness is a very important part of the project. VTTEST is an open source compatibility test for VT100. I am using it as a verification suite for the next mile stone.

Blank Score card available from Kermit Project: here See here for VTTEST score of some of the programs from 1996.

The lost points are from missing features and not because of incorrect implementation: 132 column, double width, extra character attributes, VT52 mode (for backward compatibility).

There are still some bugs in the scrolling code. Right now I am a bit distracted by other projects that are still in running for the contest.

---- Work in progress -----

VTTEST VT100/VT102 Compatibility Test Score Sheet (reformatted)

Program and version: VGA Terminal Date: _________

Score: 34 (so far) + Extra credit: 2 = Final score: ___________

Check box if test passed. Score 1 point per check mark.
Perfect score = 100 points. Extra credit at end.

☑: pass, ☒ Not implemented, ☐: Work in progress

1. Test of cursor movements

- Soft scroll and 132 columns not implemented.

☑ 1. Text inside frame of E's inside frame of *'s and +'s, 80 columns
☑ 3. Cursor-control chars inside ESC sequences
☑ 4. Leading 0's in ESC sequences

2. Test of screen features

- Soft scroll and 132 columns not implemented.

☑ 5. Three identical lines of *'s (test of wrap mode)
☑ 6. Test of tab setting/resetting
☑ 8. 80-column mode, light background
☑ 10. 80-column mode, dark background
☑ 13. Jump scroll down
☑ 14. Jump scroll up / down
☑ 15. Origin mode test (2 parts)

Graphic Rendition test pattern, dark background

- Plain VT100, Other attributes not implemented.

☑ 16. Normal ("vanilla")
☑ 20. Normal reverse ("negative") distinct from all above

Graphic Rendition test pattern, light background

- Plain VT100, Other attributes not implemented.
☑ 32. Normal ("vanilla")
☑ 36. Normal reverse ("negative") distinct from all above

Save/Restore Cursor

☑ 48. AAAA's correctly placed
☑ 49. Lines correctly rendered (middle of character cell)
☑ 50. Diamonds correctly rendered

3. Test of character sets

☑ 51. UK/National shows Pound Sterling sign in 3rd position
☑ 52. US ASCII shows number sign in 3rd position
☑ 53. SO/SI works (right columns identical with left columns)
☑ 54. True special graphics & line drawing chars, not simulated by ASCII

4. Test of double-sized chars

- Not implemented

5. Test of keyboard

- LED, Auto-repeat keys, VT52 Support not implemented

☑ 67. "Press each key" (ability to send each ASCII graphic char)
☑ 68. Arrow keys (ANSI/Cursor key mode reset)
☑ 69. Arrow keys (ANSI/Cursor key mode set)
☑ 71. PF keys numeric mode
☑ 72. PF keys application mode
☑ 75. Send answerback message from keyboard
☑ 76. Ability to send every control character

6. Test of Terminal Reports

☑ 77. Respond to ENQ with answerback
☑ 78. Newline mode set
☑ 79. Newline mode reset
☑ 80. Device status report 5
☑ 81. Device status report 6
☑ 82. Device attributes report
☐ 83. Request terminal parameters 0
☐ 84. Request terminal parameters 1

7. Test of VT52 submode

- Not implemented

8. VT102 Features

- Not Implemented

9. Extra credit

☑107. Send BREAK (250 msec) (*)
☑108. Send Long BREAK (1.5 sec) (*)

Test Set up

I have set up bodhi x64 linux on a vm. I set up a serial console in Linux using instruction from https://help.ubuntu.com/community/SerialConsoleHowto

I use Synaptic to install vttest at /usr/bin . I can run it from the serial console on the terminal.

I connect the terminal with a level shifter to connect to COM1 on my PC. COM2 is set up to snoop the RxD line of the serial port, so that I have a side by side screen of what the display should look like.

References:

Screenshots of VTTEST: http://nanno.dip.jp/softlib/man/rlogin/vttest/index.html

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.