summaryrefslogtreecommitdiff
path: root/payloads/libpayload/curses/tinycurses.c
AgeCommit message (Collapse)Author
2010-04-27Since some people disapprove of white space cleanups mixed in regular commitsStefan Reinauer
while others dislike them being extra commits, let's clean them up once and for all for the existing code. If it's ugly, let it only be ugly once :-) Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5507 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-04-29Mostly cosmetical changes. Stefan Reinauer
- #if 0 some incomplete, non-working code instead of failing half way through the function - Don't read a NULL pointer in wclrtoeol Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4230 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-10-08move variable declaration to where it is used, to prevent gcc failure.Patrick Georgi
Reported by Roman Yeryomin (and also seen reported earlier). (trivial) Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3641 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-09-26accidently backed out r3598. Sorry Ulf, will pay more attention next time.Stefan Reinauer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3611 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-09-26* factor out serial hardware initStefan Reinauer
* add reverse color support for serial * add cursor enable/disable support for serial * fix tinycurses compilation if serial is disabled * add functions to query whether serial or vga console is enabled in tinycurses * initialize uninitialized COLOR_PAIRS variable * implement has_colors(), wredrawln() functions in curses Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3604 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-09-24Adjust width of stdscr to exactly SCREEN_X. This fixes alignment issues dueUlf Jordan
to an extra space sent at end of each line, as well as a data corruption issue, which could result in undefined color pairs being referenced. Signed-off-by: Ulf Jordan <jordan@chalmers.se> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3598 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-09-17This patch adds damage detection to libpayload's tinycurses. ThisStefan Reinauer
significantly speeds up serial output with large windows. It also adds the function curs_set to enable/disable the cursor (video console only for now) Also, use werase in one place to reduce code duplication. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3579 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-09-12* Implement scrolling in tinycursesStefan Reinauer
* Fix an off by one bug Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3578 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-09-03Add support for curses color output over serial.Ulf Jordan
Note that the sequence \e[m for turning off bold resets all attributes, including color. Signed-off-by: Ulf Jordan <jordan@chalmers.se> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3561 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-18Add a kconfig option to choose between outputing ACS characters orUlf Jordan
their plain ASCII fallbacks over serial console. Signed-off-by: Ulf Jordan <jordan@chalmers.se> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3517 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-18Fix tinycurses color output on the VGA console.Ulf Jordan
The CGA compatible 16 color VGA text mode expects Intensity RGB color specifications, in the order IRGB from most to least significant bit. Curses COLOR_ macros follows ANSI X3.64/ISO 6429/ECMA-48, specifying RGB color in the order BGR from most to least significant bit. Consequently, it is necessary to swap the red and blue bits. Signed-off-by: Ulf Jordan <jordan@chalmers.se> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3516 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-12Fix incorrect mapping of ACS_PI for VGA console. A pi should look like pi andUlf Jordan
not like Gamma. Signed-off-by: Ulf Jordan <jordan@chalmers.se> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3505 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-08-11Add support for line drawing characters and the alternate character set.Ulf Jordan
This enables using the ACS_ curses macros with libpayload. The translation from ACS_ macros (or characters with attribute A_ALTCHARSET) is done using one acs map for the video console, one for serial console (xterm/vt100/vt220), and one fallback, from which an ASCII substitute is taken if the device specific map doesn't contain an entry (ie NUL). Signed-off-by: Ulf Jordan <jordan@chalmers.se> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3499 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-06-20libpayload: Support curses for serialJordan Crouse
Support the curses interface over serial by supporting a minimal vt100 terminal. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3370 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-20libpayload: Fix curses subwindowsJordan Crouse
This fixes subwindows in curses so that they draw and refresh correctly. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3336 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-05-14libpayload: implement wborder functionJordan Crouse
Implement the wborder function for curses to draw a box around a window. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3317 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-10libpayload: Add video console frameworkJordan Crouse
Add a framework for multiple video console drivers. This is to prepare for the Geode driver. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3230 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-08Small curses fixes/additions for libpayload (trivial).Uwe Hermann
- Properly set LINES and COLS, needed for a real curses application. - Implement notimeout() and wtimeout(), which are trivial. - Implement a dummy flushinp() for now as it's needed by a curses application I'm porting, will be replaced by something useful later. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3224 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-04-08libpayload: Add a timeout function for getchar and getchJordan Crouse
Implement a timeout option for getchar() to return after so many milliseconds. Also implement the same thing for curses using the halfdelay() function. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3223 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-29[libpayload] Work around sign-extending issueJordan Crouse
Somewhere characters are getting sign-extended, meaning that the attributes of the drawing chars (>= 128) are wrong. Cast the value before sending it to VGA. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3195 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-21Cosmetics, fix typos (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3185 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-20Fix code to allow usage of -Wall in libpayload and the sample (trivial).Uwe Hermann
This even fixes two bugs: - get_cpu_speed() didn't return a value. - The line win->_color - PAIR_NUMBER(0); should actually be win->_color = PAIR_NUMBER(0); Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3182 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-20Cosmetics, coding style fixes (trivial).Uwe Hermann
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3180 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2008-03-19libpayload: The initial chunk of code writen by AMDJordan Crouse
This is the initial chunk of code written by me and copyrighted by AMD. Includes everything but a few files that we pulled from outside sources. Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3170 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1