summaryrefslogtreecommitdiff
path: root/console-client/vga-support.c
AgeCommit message (Collapse)Author
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.