TTL Terminal Firmware Changes V1.1->V1.2 ======================================== New Features ------------ 1. Added a 160x120 pseudo-graphics (PG) mode using characters made from 8 blocks (2 blocks wide by 4 blocks high) each block consisting of 4x4 VGA pixels. * Private sequences for plotting a single point, drawing a line, drawing open and filled rectangles, drawing open and filled circles and rendering ASCII characters from the G0 set in PG mode which can be drawn rotated in 4 orientations. * Host specifies the (X, Y) coordinates of a block and the code works out which character to put on the screen to merge the previous pattern and new request. * Graphics can be mixed with regular text and different colours can be used as long as the characters don't overlap. 2. Now supports PS2 hot plug and can run a mouse generating X/Y reports over serial. This eases the problem of using USB keyboards with PS2 converters, which often take too long to start up - with this code, the keyboard can take as long as it likes and the code will recognise it as a hot-plug event. 3. Added a 'game mode' to the keyboard which sends scan codes on press and release with no auto-repeat instead of regular decoded ASCII characters which auto-repeat. This allows the keyboard to be used to control the play without any unpredictable behaviour. 4. Added support for some new escape codes. * A home (cursor to 0,0) command * A ping/reply code for testing the terminal is attached and timing/benchmarking purposes * A private sequence that returns the firmware version * Another experimental animation private sequence for partial screen updates 5. Added a new menu option to the setup screen which sets the initial text colour. This can be used to mimic old CRT monochrome monitors which are typically green or yellow when the terminal is connected to a computer system that doesn't use colour escape sequences. 6. The keyboard typematic rate is now set to a standard PC rate (fast repeat). 7. The splash screen time has been increased by 1 sec to allow for slower monitors to turn on and show the 'press ESC for setup' messsage. 8. Made quite a few performance improvements. Bug Fixes --------- 1. The PS2 (keyboard) interface is much better behaved. * The data line is now driven open-collector (same as the clock line) * We no longer send a command if the interface is busy * We no longer send commands if there is no device connected * We now send a resend message if we receive a parity error 2. Fixed a bug where sending an isolated newline character would sometimes leave a cursor behind and similar cursor bugs in other escape sequences. 3. Fixed some intermittent timer bugs which cause the code to lock up or give incorrect times after extended periods running.