From 738264ad7ea4f28c796b25398192af0b5d4142e9 Mon Sep 17 00:00:00 2001 From: Volker Ruppert Date: Sat, 26 Jan 2008 10:46:34 +0000 Subject: - whitespace cleanup --- BUGS | 2 +- Makefile | 2 +- README | 24 +++++++++---------- TODO | 2 +- vbe_display_api.txt | 68 ++++++++++++++++++++++++++--------------------------- 5 files changed, 49 insertions(+), 49 deletions(-) diff --git a/BUGS b/BUGS index 2bf3b06..785f4dc 100644 --- a/BUGS +++ b/BUGS @@ -1,3 +1,3 @@ -Not all the functions have been implemented yet. +Not all the functions have been implemented yet. Please report any bugs to diff --git a/Makefile b/Makefile index 576c310..394d592 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\"" all: bios cirrus-bios -bios: biossums vgabios.bin vgabios.debug.bin +bios: biossums vgabios.bin vgabios.debug.bin cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin diff --git a/README b/README index 3b585e6..d216fb6 100644 --- a/README +++ b/README @@ -37,14 +37,14 @@ You can get a very basic debugging system: messages printed by the vgabios. You have to register the "unmapped" device driver in plex86 or bochs, and make sure it grabs port 0xfff0. -Comment the #undef DEBUG at the beginning of vgabios.c. -You can then use the "printf" function in the bios. +Comment the #undef DEBUG at the beginning of vgabios.c. +You can then use the "printf" function in the bios. Testing ------- -Look at the "testvga.c" file in the archive. This is a minimal Turbo C 2.0 -source file that calls a few int10 functions. Feel free to modify it to suit +Look at the "testvga.c" file in the archive. This is a minimal Turbo C 2.0 +source file that calls a few int10 functions. Feel free to modify it to suit your needs. @@ -52,7 +52,7 @@ Copyright and License --------------------- This program has been written by Christophe Bothamy It is protected by the GNU Lesser Public License, which you should -have received a copy of along with this package. +have received a copy of along with this package. Reverse Engineering @@ -71,11 +71,11 @@ These fonts are public domain The source code is based on information taken from : - Kevin Lawton's vga card emulation for bochs/plex86 -- Ralf Brown's interrupts list avalaible at +- Ralf Brown's interrupts list avalaible at http://www.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html - Finn Thogersons' VGADOC4b available at http://home.worldonline.dk/~finth/ - Michael Abrash's Graphics Programming Black Book -- Francois Gervais' book "programmation des cartes graphiques cga-ega-vga" +- Francois Gervais' book "programmation des cartes graphiques cga-ega-vga" edited by sybex - DOSEMU 1.0.1 source code for several tables values and formulas @@ -135,7 +135,7 @@ vgabios-0.4c : Nov 06 2003 . fix font problem on initial screen of NT4 Loader vgabios-0.4b : Nov 04 2003 - - Volker + - Volker . fix offset of character tables . optimizations of CRT controller accesses . VBE i/o registers changed to 0x01CE/CF @@ -156,9 +156,9 @@ vgabios-0.3b : Nov 23 2002 - Christophe . added lfb-mode numbers (patch from mathis) . updated the Makefile - . removed display of copyrights. + . removed display of copyrights. . changed the Copyright string to "LGPL VGABios developers" - - Volker + - 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 @@ -176,7 +176,7 @@ vgabios-0.3a : Mar 10 2002 - Jeroen . updated vbebios implementation to new api . added vbe_display_api documentation - . added 640x400x8, 640x480x8, 800x600x8, 1024x768 + . 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, @@ -195,7 +195,7 @@ vgabios-0.2a : Nov 09 2001 . 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 + - 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) diff --git a/TODO b/TODO index 6fa1df8..b08ee4b 100644 --- a/TODO +++ b/TODO @@ -3,7 +3,7 @@ Short term : General - Fix init mode (ah=00). Should use more BIOS variables - - Add new functionalities and modify static functionality table + - Add new functionalities and modify static functionality table - Performance : 16 bits IO v0.7 diff --git a/vbe_display_api.txt b/vbe_display_api.txt index ddec277..fddb78b 100644 --- a/vbe_display_api.txt +++ b/vbe_display_api.txt @@ -4,7 +4,7 @@ VBE Display API it specifies the bochs host <-> vbebios client communication. That means, the display code implementation and the vbebios code depend - very heavily on each other. As such, this documents needs be synchronised + very heavily on each other. As such, this documents needs be synchronised between bochs CVS and the vgabios CVS. This document does not describe how the VBEBios implements the VBE2/3 spec. @@ -12,7 +12,7 @@ VBE Display API API History ------------ +----------- 0xb0c0 supports the following VBE_DISPI_ interfaces (present in Bochs 1.4): VBE_DISPI_INDEX_ID VBE_DISPI_INDEX_XRES @@ -20,7 +20,7 @@ API History VBE_DISPI_INDEX_BPP VBE_DISPI_INDEX_ENABLE VBE_DISPI_INDEX_BANK - + Bpp format supported is: VBE_DISPI_BPP_8 @@ -48,7 +48,7 @@ History Version 0.6 2002 Nov 23 Jeroen Janssen - Added LFB support - Added Virt width, height and x,y offset - + Version 0.5 2002 March 08 Jeroen Janssen - Added documentation about panic behaviour / current limits of the data values. - Changed BPP API (in order to include future (A)RGB formats) @@ -62,16 +62,16 @@ Todo References ---------- - [VBE3] VBE 3 Specification at + [VBE3] VBE 3 Specification at http://www.vesa.org/vbe3.pdf - - [BOCHS] Bochs Open Source IA-32 Emulator at + + [BOCHS] Bochs Open Source IA-32 Emulator at http://bochs.sourceforge.net - - [VBEBIOS] VBE Bios for Bochs at + + [VBEBIOS] VBE Bios for Bochs at http://savannah.gnu.org/projects/vgabios/ - - [Screenshots] Screenshots of programs using the VBE Bios at + + [Screenshots] Screenshots of programs using the VBE Bios at http://japj.org/projects/bochs_plex86/screenshots.html Abbreviations @@ -90,13 +90,13 @@ vbetables-gen.c vbe.h #define VBE_DISPI_BANK_ADDRESS 0xA0000 #define VBE_DISPI_BANK_SIZE_KB 64 - + #define VBE_DISPI_MAX_XRES 1024 #define VBE_DISPI_MAX_YRES 768 - + #define VBE_DISPI_IOPORT_INDEX 0x01CE #define VBE_DISPI_IOPORT_DATA 0x01CF - + #define VBE_DISPI_INDEX_ID 0x0 #define VBE_DISPI_INDEX_XRES 0x1 #define VBE_DISPI_INDEX_YRES 0x2 @@ -107,23 +107,23 @@ vbe.h #define VBE_DISPI_INDEX_VIRT_HEIGHT 0x7 #define VBE_DISPI_INDEX_X_OFFSET 0x8 #define VBE_DISPI_INDEX_Y_OFFSET 0x9 - + #define VBE_DISPI_ID0 0xB0C0 #define VBE_DISPI_ID1 0xB0C1 #define VBE_DISPI_ID2 0xB0C2 #define VBE_DISPI_ID3 0xB0C3 #define VBE_DISPI_ID4 0xB0C4 - + #define VBE_DISPI_DISABLED 0x00 #define VBE_DISPI_ENABLED 0x01 #define VBE_DISPI_VBE_ENABLED 0x40 #define VBE_DISPI_NOCLEARMEM 0x80 - + #define VBE_DISPI_LFB_PHYSICAL_ADDRESS 0xE0000000 API --- - The display api works by using a index (VBE_DISPI_IOPORT_INDEX) and + The display api works by using a index (VBE_DISPI_IOPORT_INDEX) and data (VBE_DISPI_IOPORT_DATA) ioport. One writes the index of the parameter to the index port. Next, the parameter value can be read or written. @@ -135,41 +135,41 @@ API display code is present. As a result, a PANIC can be generated if an incompatible vbebios/display code combination is detected. This panic can be generated from the bochs display code (NOT the bios, see Notes). - + Example values: VBE_DISPI_ID0 - + * VBE_DISPI_INDEX_XRES : WORD {R,W} This parameter can be used to read/write the vbe display X resolution (in pixels). It's illegal to set the XRES when the VBE is enabled (display code should generate PANIC). - + If the value written exceeds VBE_DISPI_MAX_XRES, the display code needs to generate a PANIC. - + Example values: 320,640,800,1024 * VBE_DISPI_INDEX_YRES : WORD {R,W} This parameter can be used to read/write the vbe display Y resolution (in pixels). It's illegal to set the YRES when the VBE is enabled (display code should generate PANIC). - + If the value written exceeds VBE_DISPI_MAX_YRES, the display code needs to generate a PANIC. - + Example values: 200,400,480,600,768 - + * VBE_DISPI_INDEX_BPP : WORD {R,W} This parameter can be used to read/write the vbe display BPP. It's illegal to set the BPP when the VBE is enabled (display code should generate PANIC). - + If the value written is an incompatible BPP, the display code needs to generate a PANIC. - + Example values: VBE_DISPI_BPP_8 - + * VBE_DISPI_INDEX_ENABLE : WORD {R,W} This parameter can be used to read/write the vbe ENABLED state. - If the bios writes VBE_DISPI_ENABLED then the display code will setup a hostside display mode + If the bios writes VBE_DISPI_ENABLED then the display code will setup a hostside display mode with the current XRES, YRES and BPP settings. If the bios write VBE_DISPI_DISABLED then the display code will switch back to normal vga mode behaviour. - + Example values: VBE_DISPI_ENABLED, VBE_DISPI_DISABLED - + * VBE_DISPI_INDEX_BANK : WORD {R,W} This parameter can be used to read/write the current selected BANK (at 0xA0000). This can be used for switching banks in banked mode. @@ -180,11 +180,11 @@ API Upon enabling a mode, this will be set to the current xres Setting this field during enabled mode will result in the virtual width to be changed. Value will be adjusted if current setting is not possible. - + * VBE_DISPI_INDEX_VIRT_HEIGHT : WORD {R} This parameter can be read in order to obtain the current virtual height. This setting will be adjusted after setting a virtual width in order to stay within limit of video memory. - + * VBE_DISPI_INDEX_X_OFFSET : WORD {R,W} The current X offset (in pixels!) of the visible screen part. Writing a new offset will also result in a complete screen refresh. @@ -229,7 +229,7 @@ Displaying GFX (linear frame buffer mode) NOT WRITTEN YET Notes ------ +----- * Since the XRES/YRES/BPP may not be written when VBE is enabled, if you want to switch from one VBE mode to another, you will need to disable VBE first. -- cgit v1.2.3