fbergama / pigfx

PiGFX is a bare metal kernel for the Raspberry Pi that implements a basic ANSI terminal emulator with the additional support of some primitive graphics functions.
MIT License
278 stars 61 forks source link

Issues with ANSI terminal emulation #10

Open piecafe opened 6 years ago

piecafe commented 6 years ago

I've come across a few ANSI emulation issues using some CP/M software that works fine via minicom, which I brought up in the RC2014-Z80 group: https://groups.google.com/forum/#!topic/rc2014-z80/yfAVEdHOpB8

I've prepared what I think are fixes for the cursor positioning issues I was seeing, and I'm looking into an issue with an extra blank line when a line contains exactly 80 printable characters followed by a CR and LF. I am happy to propose a PR if you would like to consider my modifications.

paulwratt commented 4 years ago

the only way to avoid the "extra blank line" (in this context) is to turn off wrap-around, or "line scrolling". you get exactly the same issue on 99% of computers (by default), including MSX & Linux terminals. I dont think PiGFX supports that private ANSI code, or the DEC (vt) one either.

redesign either: a) with-out CR+LF b) 79 characters (with trailing white-space, ie not 100% centered) c) 78 characters (with lead and trailing white-space, ie still centered) d) or fork PiGFX, add missing ANSI + DEC sequence to turn off line-wrap (note CR+LF should still scroll a line)