hackerb9 / vt340test

Tests of VT340 compatibility
Creative Commons Zero v1.0 Universal
40 stars 5 forks source link

Some sixel test cases #1

Closed j4james closed 3 years ago

j4james commented 3 years ago

Having seen the image you uploaded of my initial DECSDM test, I realise now that the VT340 doesn't support DECALN, and I was rather depending on that sequence in a lot of my tests. I knew it wasn't listed in the VT340 manual, but I just assumed that was another documentation error, since it's implemented in every other DEC terminal (AFAIK).

For now I've updated my tests so they at least clear the screen at the start, but without something like DECALN you won't be able to see the results of tests that are meant to be blacking out an area of the screen. I'm not sure if there's some alternative we can use other than literally writing out a bunch of E's, otherwise I'll need to rethink how I'm testing those cases.

Anyway, I'm giving you a dump of what I have so far, and we can figure out how to fix the problems later.

  1. color_selection.txt - This tests the order of color palette assignment, the way colors are inherited, and the way the palette changes affect existing images and text. You'll want to reset after this test to get the palette back to normal (I was hoping a soft reset would work for that, but it sounds like that's not the case from what you've said in the readme).
  2. cursor_position.txt - This tests where the text cursor position ends up after an image has been output.
  3. image_movement.txt - This tests how images are affected by text editing sequences (insert and deleting lines, or inserting and deleting characters).
  4. image_overlap.txt - This tests what happens when images overlap. It also tests some color palette edge cases (like missing or out of range parameters), so again you'll want to do a reset after this to get the palette back to normal.
  5. line_attributes.txt - This tests how images interact with the double width and double height line attributes. I really had no idea what to expect with this, so this test may not be particularly useful as is.
  6. macro_aspect_ratio.txt - This tests how the macro parameter affects the pixel aspect ratio.
  7. margin_clipping.txt - This tests how images are clipped (if at all) inside and outside the DECSTBM margins.
  8. raster_aspect_ratio.txt - This tests how the raster aspect ratio handles rounding and other edge cases, and also whether it has a size limit.
  9. raster_dimensions.txt - This tests how the raster dimensions affect the background fill, looking at the edge cases where the image extends outside the boundaries.
  10. repeat_introducer.txt - This tests various edge cases when using the repeat introducer command.
  11. sixel_display_mode.txt - This is just an update of my initial DECSDM test, fixing the off-by-one error on the blue square and clearing the screen at the start.
  12. xor_and_home.txt - These tests probably won't work. The xor feature is something that Reflection Desktop supports so I thought there was a chance the VT340 might support it too. And the home command is an undocumented feature of the VT240, so it's possible it was inherited by the VT340.

Of these, 3, 4, 5, and 11 are somewhat affected by having no DECALN, 7 is seriously affected but probably still of some value as it is, and 9 is essentially useless without some kind of background.

j4james commented 3 years ago

As you can see, I've just dumped all of my tests in a j4james subdirectory for now. Just let me know if you want me to put them somewhere else and/or rename them.

j4james commented 3 years ago

Just looking at the DECSDM screenshot again, where did all those y characters come from at the top of the screen? I initially assumed that was something already on the screen that didn't get cleared, but now I'm wondering if that might have been generated by the DECALN sequence somehow? If that's the case, then maybe there is still a way it could be used it in the tests.

hackerb9 commented 3 years ago

Just looking at the DECSDM screenshot again, where did all those y characters come from at the top of the screen? I initially assumed that was something already on the screen that didn't get cleared, but now I'm wondering if that might have been generated by the DECALN sequence somehow? If that's the case, then maybe there is still a way it could be used it in the tests.

I filled the screen with yes so that you could see that your test was overwriting what was already there.

hackerb9 commented 3 years ago

Photos of results now available. Some of the colors are slightly wrong due to my camera (lavender looks blue) and at least one of the tests I forgot to reset the palette and it showed up as yellow instead of blue.

j4james commented 3 years ago

I can't thank you enough for doing this. This information is invaluable. Some things worked exactly as I expected, but there's a lot I got wrong. Now that I have a better idea of how things actually work, I'd like to try and adjust some of the tests so they look "right" when a terminal is working correctly (e.g. make sure the --- output lines up in the cursor position test, and all the squares are the same size in the aspect ratio tests).

I'm still not quite sure what I'm doing wrong in the display mode test though - I thought I'd fixed it so all the squares would line up - but hopefully I should be able to figure that out based on the results from the cursor position test.