~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Bochs x86 Emulator
bochs/bios/VGABIOS-lgpl-README

Version: ~ [ 2.3.5 ] ~ [ 2.3 ] ~

  1 Plex86/Bochs VGABios
  2 --------------------
  3 
  4 The goal of this project is to have a LGPL'd Video Bios in plex86,
  5 Bochs and qemu.
  6 This VGA Bios is very specific to the emulated VGA card.
  7 It is NOT meant to drive a physical vga card.
  8 
  9 
 10 Cirrus SVGA extension
 11 ---------------------
 12 
 13 The Cirrus SVGA extension is designed for the Cirrus emulation in Bochs and
 14 qemu. The initial patch for the Cirrus extension has been written by Makoto
 15 Suzuki (suzu).
 16 
 17 
 18 Install
 19 -------
 20 To compile the VGA Bios you will need :
 21 - gcc
 22 - bcc
 23 - as86
 24 - ld86
 25 
 26 Untar the archive, and type make. You should get a "VGABIOS-lgpl-latest.bin"
 27 file. Alternatively, you can use the binary file "VGABIOS-lgpl-latest.bin",
 28 i have compiled for you.
 29 
 30 Edit your plex86/bochs conf file, and modify the load-rom command in the
 31 VGA BIOS section, to point to the new vgabios image file.
 32 
 33 
 34 Debugging
 35 ---------
 36 You can get a very basic debugging system: messages printed by the vgabios.
 37 You have to register the "unmapped" device driver in plex86 or bochs, and make
 38 sure it grabs port 0xfff0.
 39 
 40 Comment the #undef DEBUG at the beginning of vgabios.c. 
 41 You can then use the "printf" function in the bios. 
 42 
 43 
 44 Testing
 45 -------
 46 Look at the "testvga.c" file in the archive. This is a minimal Turbo C 2.0 
 47 source file that calls a few int10 functions. Feel free to modify it to suit 
 48 your needs.
 49 
 50 
 51 Copyright and License
 52 ---------------------
 53 This program has been written by Christophe Bothamy
 54 It is protected by the GNU Lesser Public License, which you should
 55 have received a copy of along with this package. 
 56 
 57 
 58 Reverse Engineering
 59 -------------------
 60 The VGA Bios has been written without reverse-engineering any existing Bios.
 61 
 62 
 63 Acknowledgment
 64 --------------
 65 The source code contains code ripped from rombios.c of plex86, written
 66 by Kevin Lawton <kevin2001@yahoo.com>
 67 
 68 The source code contains fonts from fntcol16.zip (c) by Joseph Gil avalable at :
 69 ftp://ftp.simtel.net/pub/simtelnet/msdos/screen/fntcol16.zip
 70 These fonts are public domain
 71 
 72 The source code is based on information taken from :
 73 - Kevin Lawton's vga card emulation for bochs/plex86
 74 - Ralf Brown's interrupts list avalaible at 
 75   http://www.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html
 76 - Finn Thogersons' VGADOC4b available at http://home.worldonline.dk/~finth/
 77 - Michael Abrash's Graphics Programming Black Book
 78 - Francois Gervais' book "programmation des cartes graphiques cga-ega-vga" 
 79   edited by sybex
 80 - DOSEMU 1.0.1 source code for several tables values and formulas
 81 
 82 
 83 Feedback
 84 --------
 85 Please report any bugs, comments, patches for this VGA Bios to info@vruppert.de
 86 You can find the latest release at : http://www.nongnu.org/vgabios/
 87 For any information on bochs, visit the website http://bochs.sourceforge.net/
 88 For any information on qemu, visit the website http://fabrice.bellard.free.fr/qemu/
 89 
 90 
 91 History
 92 -------
 93 vgabios-0.6a : Aug 19 2006
 94   - Volker
 95     . added minimal support for the video parameter table (VPT)
 96     . Cirrus SVGA now supports the "no clear" bit in Cirrus and VESA mode
 97     . Bochs VBE protected mode interface improved
 98     . save/restore video state support for Bochs VBE and standard VGA added
 99     . generate vbetables.h dynamicly
100     . VBE video memory increased to 8 MB (VBE dispi ID changed to B0C4)
101     . lots of 4bpp VBE fixes (all 4bpp VBE modes now enabled)
102     . VGA compatible setup for VBE modes added
103 
104 vgabios-0.5d : Dec 29 2005
105   - Volker
106     . Bochs VBE protected mode interface added (based on a patch by malc@pulsesoft.com)
107     . biossums utility now supports VGABIOS sizes up to 64 kBytes
108     . VGA mode 0x11: all color planes must be enabled in this 2-color VGA mode
109 
110 vgabios-0.5c : Jul 07 2005
111   - Volker
112     . BIOS configuration word usually reports initial mode 80x25 color text
113     . vgabios function 0x0e (write teletype): linefeed (0x0a) only increments the
114       cursor row value
115 
116 vgabios-0.5b : May 24 2005
117   - Volker
118     . fixed return value for the default case in the VBE section (non-debug mode)
119     . removed unused stuff
120 
121 vgabios-0.5a : Mar 07 2005
122   - Volker
123     . Cirrus SVGA extension (initial patches from Makoto Suzuki, improvements
124       from Fabrice Bellard)
125     . vgabios image size is now exactly 32k with a checksum
126     . a lot of vgabios and vbe functions rewritten in assembler
127     . dynamicly generated VBE mode info list
128     . write character function for CGA and LINEAR8 modes
129     . read/write graphics pixel for some graphics modes
130     . text scroll feature for some graphics modes
131     . VBE 8-bit DAC support
132 
133 vgabios-0.4c : Nov 06 2003
134   - Christophe
135     . fix font problem on initial screen of NT4 Loader
136     
137 vgabios-0.4b : Nov 04 2003
138   - Volker 
139     . fix offset of character tables
140     . optimizations of CRT controller accesses
141     . VBE i/o registers changed to 0x01CE/CF 
142       (suggestion from Daniel Gimpelevich)
143     . "noclear" flag stored in BIOS area
144     . fix character height returned by get_font_info function
145 
146 vgabios-0.4a : Aug 17 2003
147   - Volker
148     . VBE mode search rewritten (VBE modes with LFB bit removed)
149     . many bugfixes and optimizations
150     . write character function implemented for graphics modes
151     . support for 15bpp, 16bpp, 24bpp and 32bpp VBE modes added
152     . SVGA mode 0x6A added
153     . VBE modes 0x102, 0x117, 0x118 and 0x142 (Bochs specific)
154 
155 vgabios-0.3b : Nov 23 2002
156   - Christophe
157     . added lfb-mode numbers (patch from mathis)
158     . updated the Makefile
159     . removed display of copyrights. 
160     . changed the Copyright string to "LGPL VGABios developers"
161   - Volker 
162     . set the cursor shape depending on the current font height
163     . clear BL before calling int 0x10 function 0x1103 in vgabios_init_func
164     . added some text font functions
165   - Jeroen
166     . Forced to new DISPI (0xb0c1) interface (requires latest bochs vbe code)
167     . Added multibuffering support
168     . Added new DISPI interface for: virt width, height, x offset, y offset
169     . Added LFB modes (to be used with the vbe-lfb patch in bochs)
170       see VBE_HAVE_LFB in vbe.c (currently default enabled)
171     . updated TODO & docs for changes after bochs 1.4
172 
173 vgabios-0.3a : Mar 10 2002
174   - Christophe
175     . Fixed bug in function ah=13
176   - Jeroen
177     . updated vbebios implementation to new api
178     . added vbe_display_api documentation
179     . added 640x400x8, 640x480x8, 800x600x8, 1024x768 
180       (>640x480 needs a special bochs patch atm)
181     . added 320x200x8 vbe support (uses the standard 320x200x8 vga mode to
182       display, this allows for testing & having something on screen as well,
183       at least until bochs host side display is up & running)
184     . adding lfbprof (vbe) testprogram (+some small fixes to it)
185     . merging with vbebios 0.2
186 
187 vgabios-0.2b : Nov 19 2001
188   - Christophe
189     . Fixed bug in function ah=13
190 
191 vgabios-0.2a : Nov 09 2001
192   - Christophe
193     . Included bugfix from techt@pikeonline.net about grayscale summing
194     . Added the "IBM" string at org 0x1e as Bart Oldeman suggested
195     . Fixed DS and ES that where inverted in the int10 parameters list!
196     . The following have been implemented :
197         - function ax=1a00, ax=1a01, ah=1b
198         - function ax=1130                
199     . Added debug messages for unimplemented/unknown functions
200       Must be compiled with DEBUG defined. The output is trapped
201       by the unknown-ioport driver of plex/bochs (port 0xfff0 is used)
202 
203 vgabios-0.1a : May 8 2001
204   - Christophe
205     . First release. The work has been focused only on text mode.
206     . The following have been implemented :
207         - inits
208         - int 10 handler
209         - functions ah=00, ah=01, ah=02, ah=03, ah=05, ah=06, ah=07, ah=08
210           ah=09, ah=0a, ah=0e, ah=0f, ax=1000, ax=1001, ax=1002, ax=1003
211           ax=1007, ax=1008, ax=1009, ax=1010, ax=1012, ax=1013, ax=1015
212           ax=1017, ax=1018, ax=1019, ax=101a, ax=101b, ah=12 bl=10,
213           ah=12 bl=30, ah=12 bl=31, ah=12 bl=32, ah=12 bl=33, ah=12 bl=34
214           ah=13

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.