Bochs

LGPL VGA Bios

ChangeLog

vgabios-0.9a : Mar 03 2024
  - Volker
    - Implemented AH=12h / BL=36h (video refresh control)
    - Banshee: Added support for VBE function get/set palette format
    - Fixed video mode detection for TTY functions
    - Fixed Cirrus vertical timing parameters for 800x600 modes
    - Added protected mode interface for the Banshee and Cirrus version
  - Vort
    - Cirrus: Added support for 1152x864x8 video mode

vgabios-0.8c : Jan 07 2024
  - Volker
    - added VBE set palette data support to protected mode interface
    - some more VBE code rewritten in assembler

vgabios-0.8b : Dec 28 2023
  - Volker
    - added VBE get/set palette data support for Banshee and Cirrus versions
    - fixed order of colors in VBE function get/set palette data
    - VESA BIOS function 0x4f00 now stores strings in OemData (for VBE 2.0)
    - some VBE functions rewritten in assembler including bugfixes

vgabios-0.8a : Jun 03 2021
  - Volker
    - added initial version of the VGABIOS for Voodoo Banshee PCI
    - added 'write character' support for non-VGA 8-bpp modes (Bochs VBE /
      Cirrus / Banshee) - Cirrus code uses bitblt engine
    - fixes in Bochs VBE functions set/get VBE mode and save/restore VBE state
    - fixed text output in VGA graphics modes (using INT 0x43 vector as expected)
    - fixed general 'scroll down' bug in graphics modes
    - some functions rewritten in assembler and some other code optimizations

vgabios-0.7b : Jan 03 2020
  - Volker
    - added VESA BIOS function 0x4f09 (set/get palette data) to the Bochs VBE
      version
    - added VESA BIOS function 0x4f15 (get EDID) to both the Bochs VBE and
      the Cirrus version
    - fixed building VBE modes list (check maximum y resolution)
    - ensure PCIR is aligned to 4 bytes (patch by David Woodhouse)

vgabios-0.7a : Oct 30 2011
  - Volker
    . added HDTV resolutions (patch by Tristan Schmelcher)
    . added PCI ROM support to the VBE-specific images
    . implemented vgabios functions with AX=0x112x (patch by Hugo Mercier)
    . fixed DAC palette in 8 bpp VBE and Cirrus modes (using the same palette
      as VGA mode 0x13)
    . Makefile cleanup (patch by Gerd Hoffmann)

vgabios-0.6c : Apr 08 2009
  - Volker
    . added DPMS support to cirrus vgabios (patch from Gleb Natapov)
    . use VBE LFB address from PCI base address if present
    . added support for a lot more non-standard VBE modes (e.g. widescreen modes)
    . minor bugfixes

vgabios-0.6b : May 30 2008
  - Volker
    . added PCI data structure for the Cirrus VGABIOS images
    . minor bugfixes in biossums utility, VBE support and makefile

vgabios-0.6a : Aug 19 2006
  - Volker
    . added minimal support for the video parameter table (VPT)
    . Cirrus SVGA now supports the "no clear" bit in Cirrus and VESA mode
    . Bochs VBE protected mode interface improved
    . save/restore video state support for Bochs VBE and standard VGA added
    . generate vbetables.h dynamicly
    . VBE video memory increased to 8 MB (VBE dispi ID changed to B0C4)
    . lots of 4bpp VBE fixes (all 4bpp VBE modes now enabled)
    . VGA compatible setup for VBE modes added

vgabios-0.5d : Dec 29 2005
  - Volker
    . Bochs VBE protected mode interface added (based on a patch by malc@pulsesoft.com)
    . biossums utility now supports VGABIOS sizes up to 64 kBytes
    . VGA mode 0x11: all color planes must be enabled in this 2-color VGA mode

vgabios-0.5c : Jul 07 2005
  - Volker
    . BIOS configuration word usually reports initial mode 80x25 color text
    . vgabios function 0x0e (write teletype): linefeed (0x0a) only increments the
      cursor row value

vgabios-0.5b : May 24 2005
  - Volker
    . fixed return value for the default case in the VBE section (non-debug mode)
    . removed unused stuff

vgabios-0.5a : Mar 07 2005
  - Volker
    . Cirrus SVGA extension (initial patches from Makoto Suzuki, improvements
      from Fabrice Bellard)
    . vgabios image size is now exactly 32k with a checksum
    . a lot of vgabios and vbe functions rewritten in assembler
    . dynamicly generated VBE mode info list
    . write character function for CGA and LINEAR8 modes
    . read/write graphics pixel for some graphics modes
    . text scroll feature for some graphics modes
    . VBE 8-bit DAC support

vgabios-0.4c : Nov 06 2003
  - Christophe
    . fix font problem on initial screen of NT4 Loader
    
vgabios-0.4b : Nov 04 2003
  - Volker 
    . fix offset of character tables
    . optimizations of CRT controller accesses
    . VBE i/o registers changed to 0x01CE/CF 
      (suggestion from Daniel Gimpelevich)
    . "noclear" flag stored in BIOS area
    . fix character height returned by get_font_info function

vgabios-0.4a : Aug 17 2003
  - Volker
    . LFB flagged VBE modes removed
    . many bugfixes and optimizations
    . write character function implemeted for graphic modes
    . support for 15bpp, 16bpp, 24bpp and 32bpp VBE modes added
    . SVGA modes 0x6A added
    . VBE mode 0x102, 0x117, 0x118, 0x142 (Bochs specific)

vgabios-0.3b : Nov 23 2002
  - Christophe
    . added lfb-mode numbers (patch from mathis)
    . updated the Makefile
    . removed display of copyrights. 
    . changed the Copyright string to "LGPL VGABios developers"
  - Volker 
    . set the cursor shape depending on the current font height
    . clear BL before calling int 0x10 function 0x1103 in vgabios_init_func
    . added some text font functions
  - Jeroen
    . Forced to new DISPI (0xb0c1) interface (requires latest bochs vbe code)
    . Added multibuffering support
    . Added new DISPI interface for: virt width, height, x offset, y offset
    . Added LFB modes (to be used with the vbe-lfb patch in bochs)
      see VBE_HAVE_LFB in vbe.c (currently default enabled)
    . updated TODO & docs for changes after bochs 1.4

vgabios-0.3a : Mar 10 2002
  - Christophe
    . Fixed bug in function ah=13
  - Jeroen
    . updated vbebios implementation to new api
    . added vbe_display_api documentation
    . added 640x400x8, 640x480x8, 800x600x8, 1024x768 
      (>640x480 needs a special bochs patch atm)
    . added 320x200x8 vbe support (uses the standard 320x200x8 vga mode to
      display, this allows for testing & having something on screen as well,
      at least until bochs host side display is up & running)
    . adding lfbprof (vbe) testprogram (+some small fixes to it)
    . merging with vbebios 0.2

vgabios-0.2b : Nov 19 2001
  - Christophe
    . Fixed bug in function ah=13

vgabios-0.2a : Nov 09 2001
  - Christophe
    . Included bugfix from techt@pikeonline.net about grayscale summing
    . Added the "IBM" string at org 0x1e as Bart Oldeman suggested
    . Fixed DS and ES that where inverted in the int10 parameters list!
    . The following have been implemented :
	- function ax=1a00, ax=1a01, ah=1b
	- function ax=1130                
    . Added debug messages for unimplemented/unknown functions
      Must be compiled with DEBUG defined. The output is trapped
      by the unknown-ioport driver of plex/bochs (port 0xfff0 is used)

vgabios-0.1a : May 8 2001
  - Christophe
    . First release. The work has been focused only on text mode.
    . The following have been implemented :
	- inits
	- int 10 handler
	- functions ah=00, ah=01, ah=02, ah=03, ah=05, ah=06, ah=07, ah=08
	  ah=09, ah=0a, ah=0e, ah=0f, ax=1000, ax=1001, ax=1002, ax=1003
	  ax=1007, ax=1008, ax=1009, ax=1010, ax=1012, ax=1013, ax=1015
	  ax=1017, ax=1018, ax=1019, ax=101a, ax=101b, ah=12 bl=10,
	  ah=12 bl=30, ah=12 bl=31, ah=12 bl=32, ah=12 bl=33, ah=12 bl=34
	  ah=13

Back to Plex86/Bochs VGABios page