FabGL
ESP32 VGA Controller and Graphics Library
VTTEST VT100/VT102 Compatibility Test Score Sheet

Results of remote execution on 640x350 screen using default 80 and 132 column fonts:

1. Test of cursor movements

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

2. Test of screen features

[X]   5. Three identical lines of *'s (test of wrap mode)
[X]   6. Test of tab setting/resetting
[X]   7. 132-column mode, light background
[X]   8. 80-column mode, light background
[X]   9. 132-column mode, dark background
[X]  10. 80-column mode, dark background
[X]  11. Soft scroll down
[X]  12. Soft scroll up / down
[X]  13. Jump scroll down
[X]  14. Jump scroll up / down
[X]  15. Origin mode test (2 parts)

     Graphic Rendition test pattern, dark background

[X]  16. Normal ("vanilla")
[X]  17. Normal underlined distinct from normal
[X]  18. Normal blink distinct from all above
[X]  19. Normal underline blink distinct from all above
[X]  20. Normal reverse ("negative") distinct from all above
[X]  21. Normal underline reverse distinct from all above
[X]  22. Normal blink reverse distinct from all above
[X]  23. Normal underline blink reverse distinct from all above
[X]  24. Bold distinct from all above
[X]  25. Bold underlined distinct from all above
[X]  26. Bold blink distinct from all above
[X]  27. Bold underline blink distinct from all above
[X]  28. Bold reverse ("negative") distinct from all above
[X]  29. Bold underline reverse distinct from all above
[X]  30. Bold blink reverse distinct from all above
[X]  31. Bold underline blink reverse distinct from all above

     Graphic Rendition test pattern, light background

[X]  32. Normal ("vanilla")
[X]  33. Normal underlined distinct from normal
[X]  34. Normal blink distinct from all above
[X]  35. Normal underline blink distinct from all above
[X]  36. Normal reverse ("negative") distinct from all above
[X]  37. Normal underline reverse distinct from all above
[X]  38. Normal blink reverse distinct from all above
[X]  39. Normal underline blink reverse distinct from all above
[X]  40. Bold distinct from all above
[X]  41. Bold underlined distinct from all above
[X]  42. Bold blink distinct from all above
[X]  43. Bold underline blink distinct from all above
[X]  44. Bold reverse ("negative") distinct from all above
[X]  45. Bold underline reverse distinct from all above
[X]  46. Bold blink reverse distinct from all above
[X]  47. Bold underline blink reverse distinct from all above

     Save/Restore Cursor

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

3. Test of character sets

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

4. Test of double-sized chars

     Test 1 in 80-column mode:

[X]  55. Left margin correct
[X]  56. Width correct

     Test 2 in 80-column mode:

[X]  57. Left margin correct
[X]  58. Width correct

     Test 1 in 132-column mode:

[X]  59. Left margin correct
[X]  60. Width correct

     Test 2 in 132-column mode:

[X]  61. Left margin correct
[X]  62. Width correct

[X]  63. "The man programmer strikes again" test pattern
[X]  64. "Exactly half the box should remain"

5. Test of keyboard

[X]  65. LEDs.
[X]  66. Autorepeat
[X]  67. "Press each key" (ability to send each ASCII graphic char)
[X]  68. Arrow keys (ANSI/Cursor key mode reset)
[X]  69. Arrow keys (ANSI/Cursor key mode set)
[X]  70. Arrow keys VT52 mode
[ ]  71. PF keys numeric mode
[ ]  72. PF keys application mode
[ ]  73. PF keys VT52 numeric mode
[ ]  74. PF keys VT52 application mode
[ ]  75. Send answerback message from keyboard
[X]  76. Ability to send every control character

6. Test of Terminal Reports

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

7. Test of VT52 submode

[X]  85. Centered rectangle
[X]  86. Normal character set
[X]  87. Graphics character set
[X]  88. Identify query

8. VT102 Features

[X]  89. Insert/delete line, 80 columns
[X]  90. Insert (character) mode, 80 columns
[X]  91. Delete character, 80 columns
[X]  92. Right column staggered by 1 (normal chars), 80 columns
[X]  93. Right column staggered by 1 (double-wide chars), 80 columns
[X]  94. ANSI insert character, 80 columns
[X]  95. Insert/delete line, 132 columns
[X]  96. Insert (character) mode, 132 columns
[X]  97. Delete character, 132 columns
[X]  98. Right column staggered by 1 (normal chars), 132 columns
[X]  99. Right column staggered by 1 (double-wide chars), 132 columns
[X] 100. ANSI insert character, 132 columns

9. Extra credit

[X] 101. True soft (smooth) scroll
[X] 102. True underline
[X] 103. True blink
[X] 104. True double-high/wide lines, not simulated
[ ] 105. Reset terminal (*)
[ ] 106. Interpret controls (debug mode) (*)
[ ] 107. Send BREAK (250 msec) (*)
[ ] 108. Send Long BREAK (1.5 sec) (*)
[ ] 109. Host-controlled transparent / controller print (*)
[ ] 110. Host-controlled autoprint (*)