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 implemented5. 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 implemented8. VT102 Features
- Not Implemented9. 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/SerialConsoleHowtoI 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.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.