summaryrefslogtreecommitdiff
path: root/console-client/vga-support.c
AgeCommit message (Collapse)Author
2014-03-26Fix setting LGE flagSamuel Thibault
* console-client/vga-support.c (vga_set_font_width): Fix setting the `VGA_ATTR_MODE_LGE' flag.
2014-03-26Align VGA buffersSamuel Thibault
Some "hardware" (such as kvm on linux 3.2) would hang when transferring between video memory and unaligned main memory. This also allows better optimized transfers anyway. Thanks Petter Reinholdtsen for the report and patient tests. * console-client/vga-support.c (vga_state): Force maximum alignment of `videomem' and `fontmem' fields.
2014-02-13Add --font-width option to force 8/9 pixel font widthSamuel Thibault
This permits to choose between 720x400 or 640x400 textmode without changing the font. * console-client/vga-hw.h (VGA_ATTR_MODE_ADDR, VGA_ATTR_MODE_LGE, VGA_ATTR_ENABLE_ADDR): New macros. * console-client/vga-support.c (vga_state): Add `attr_mode' field. (vga_init): Save attribute mode subregister content. Re-enable the screen after that. (vga_fini): Restore attribute mode subregister content. Re-enable the screen after that. (vga_set_font_width): When the font width is set to 9, enable VGA LGE to properly handle box-drawing unicode characters. Re-nable the screen after that. (vga_exchange_palette_attributes): Use VGA_ATTR_ENABLE_ADDR macro instead of harcoded 0x20. * console-client/vga-dynafont.h (dynafont_new): Add `width' parameter. * console-client/vga-dynafont.c (dynafont): Add `width' field. (dynafont_new): Add `width' parameter, stored in `width' field of `df', but using the font bbox as default value. Use it to decide whether to use VGA LGE or not. (dynafont_activate): Use `width' field of `df' instead of the font bbox to configure the VGA glyph width. * console-client/vga.c (vga_display_font_width): New variable. (vga_display): New `df_width' field. (argp_option): New `font-width' option. (parse_opt): Handle `font-width' option. (vga_display_init): Copy `vga_display_font_width' to `disp'. (vga_display_start): Pass `df_width' to `dynafont_new'.
2014-02-12Fix typosSamuel Thibault
2013-02-25Include <stdlib.h> or <mach.h> where neededPino Toscano
cthreads.h includes both <stdlib.h> and <mach.h>, while pthreads.h does not; with the switch to pthreads, their lack causes prototype compilation warnings for malloc/calloc/free/abort, and mach_task_self/mach_reply_port/etc in few places. * console-client/vga-support.c: Include <stdlib.h>. * libiohelp/iouser-dup.c: Likewise. * libiohelp/iouser-free.c: Likewise. * libiohelp/iouser-reauth.c: Likewise. * libiohelp/return-buffer.c: Likewise. * libiohelp/shared.c: Likewise. * pflocal/connq.c: Likewise. * nfsd/cache.c: Include <mach.h>.
2011-08-08Let GNU Mach messages appear under Hurd consoleSamuel Thibault
* console-client/vga-dynafont.c (dynafont_new): Force ASCII glyphs as being always trivially mapped. * console-client/vga-hw.h (VGA_VIDEO_MEM_BASE_ADDR): Set macro to 0x0b8000. * console-client/vga-support.c [!OSKIT_MACH]: Do not include <device/device.h> and <hurd.h>, remove VIDMMAP_BEGIN, VIDMMAP_SIZE and VIDMMAP_KDOFS macros. (vga_init): Remove code which maps video memory from the kd device. Use VGA_GFX_MISC_B8TOBF instead of VGA_GFX_MISC_A0TOAF or VGA_GFX_MISC_A0TOBF.
2011-01-02Strictly adhere to the VGA register conventionSamuel Thibault
Not writing a value to the "enable display" register works for tested cards, but Linux writes a 0, and you can never know what manufacturers think. * console-client/vga-support.c (vga_exchange_palette_attributes): Write a 0 value to the "enable display" register.
2007-05-082007-05-08 Samuel Thibault <samuel.thibault@ens-lyon.org>Samuel Thibault
* vga-support.c (vga_fini): Fix call to ioperm().
2002-11-182002-11-18 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* console.c (main): Pass ERR to error invocation. * generic-speaker.c (generic_spaker_beep): Use currently active beep's next pointer, instead index 0. * pc-kbd.c: New global variables led_state and gnumach_v1_compat. (enum scancode): Change to set 2 encoding. (enum scancode_x1): Likewise. (enum scancode_x2): New type. (sc_to_kc): Change to set 2 encoding. (sc_x1_to_kc): Likewise. (sc_set1_to_set2): New variable. (sc_set1_to_set2_x1): Likewise. (gnumach_v1_input_next): New function. (update_leds): Likewise. (input_next): Likewise. (input_loop): Use input_next or gnumach_v1_input_next to read next key code. (pc_kbd_start): Add support for current GNU Mach @>=kbd interface. Call update_leds and toggle led_state. (pc_kbd_fini): Add support for current GNU Mach. (pc_kbd_set_scroll_lock_status): Toggle led_state and call update_leds. * vga-support.c (vga_init): Add support for current GNU Mach's I/O permission bitmap handling and its mem device.
2002-09-302002-09-30 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* vga-support.c (vga_get_font_width): New function. * vga-support.h: Add prototype for vga_get_font_width. * vga-dynafont.c (create_system_font): Call vga_get_font_width to determine real font width.
2002-09-182002-09-19 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* vga-support.c (vga_read_write_font_buffer): New function. It turns out that reading and writing needs the same register settings. (vga_write_font_buffer): Implement in terms of vga_read_write_font_buffer. (vga_read_font_buffer): Likewise.
2002-09-172002-09-17 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* Makefile (prog-subdirs): Add console-client. sutils/ 2002-09-17 Marcus Brinkmann <marcus@gnu.org> * MAKEDEV.sh (mkdev: vcs): New console device. (mkdev: tty[0-9a-f]|tty[0-9][0-9a-f]): Replaced with new rules for tty[1-9][0-9]. utils/ 2002-09-17 Marcus Brinkmann <marcus@gnu.org> * console-ncurses.c: File removed (the ncursesw console client is now a driver in the console-client). * Makefile: Revert 2002-08-22 change: Do not include`../config.make'. (targets) [LIBNCURSES]: Removed. (SRCS) [LIBNCURSES]: Likewise. (HURDLIBS) [LIBNCURSES]: Likewise. (console-ncurses): Target removed. (console-ncurses-CPPFLAGS): Removed. (console-ncurses-LDLIBS): Likewise. console-client/ 2002-09-17 Marcus Brinkmann <marcus@gnu.org> * Makefile, bdf.c, bdf.h, bell.h, console.c, display.h, driver.c, driver.h, generic-speaker.c, input.h, pc-kbd.c, timer.c, timer.h, unicode.h, vga.c, vga-dynacolor.c, vga-dynacolor.h, vga-dynafont.c, vga-dynafont.h, vga-hw.h, vga-support.c, vga-support.h: New file.