=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =- -= =- Tauron VGA Utilities Version 3.0 -= =- Released September 20, 1998 -= =- -= =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is FREE provided -= =- All Rights Reserved. =-= that you put my name some- -= =- =-= where in your credits. -= =- DISCLAIMER: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =- I assume no responsibility whatsoever for any effect that this package, -= =- the information contained therein or the use thereof has on you, your -= =- sanity, computer, spouse, children, pets or anything else related to -= =- you or your existance. No warranty is provided nor implied with this -= =- source code. -= =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= The code in this package will switch video modes on any standard VGA video card. This is accomplished by programming the VGA Registers directly. ############################################################################## #### Mode 07H and Mode 0FH are still being worked on. #### ############################################################################## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =- Files included in this package: -= -= =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -= =- Assembly version compiles with TASM 4.1 and TLINK 7.0 -= =- C version compiles with Borland C++ 5.01 -= =- -= =- README.TXT You are reading it. -= =- WHATSNEW.TXT Whats new in this version -= =- USAGE.TXT How to use these routines. Also -= =- contains a complete list of the -= =- videomodes supported. -= =- -= =- MAIN.EXE Assembly version executable demo -= =- MAINC.EXE C version executable demo -= =- FEDIT.EXE Font editor -= =- FEDIT.TXT Docs for the font editor -= =- -= =- ASM_SRC The assembly source directory -= =- +->MAIN.ASM The Main source file -= =- +->MODES.ASM The mode switching file -= =- +->CLEAR.ASM The clear screen routines -= =- +->TESTS.ASM The videomode tests -= =- +->DUAL.ASM The dual font setup and test -= =- +->FONT1.ASM Font 1 for dual font test -= =- +->FONT2.ASM Font 2 for dual font test -= =- +->MODES.INC The includes for each videomode -= =- -= =- C_SRC The C source directory -= =- +->MAINC.CPP The main source file -= =- +->MODES.CPP The mode switching file -= =- +->CLEAR.CPP The clear screen routines -= =- +->TESTS.CPP The videomode tests -= =- +->TAURON.H The main header file -= =- +->FONT1.H Font 1 for dual font test -= =- +->FONT2.H Font 2 for dual font test -= =- +->MODES_C.INC The includes for each videomode -= =- +->PALETTE.INC The standard palette -= =- -= =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= When running the demo: In graphics modes, there is a vertical line every 40 pixels with a longer vertical line every 80 pixels. I have not yet figured out how to program modes 04H, 05H, or 06H. Once the mode is set, I only clear the mode to a specified color. The VGA BIOS must be called once at the beginning of the routines so that we know where the fonts are stored. Once this information is known we no longer need the BIOS. The reason for starting this package is that I am writing an Operating System. (There are a lot of us out there I know.) I wanted to be able to program standard VGA cards for my OS. This is not a graphics library although there are some clear screen and pixel routines around. It only sets the video mode. This works in real mode as well as protected mode. To use it in protected mode you will have to modify it to suit your own needs. The use of the fonts stored in BIOS ROM is now included. We are using what is already built into the VGA BIOS. E-mail: kinfira@hotmail.com Homepage: http://home.onestop.net/kinfira/ Drop me a line if you find this package useful. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =-= Credits: =-= =-= =-=-=-=-=-=-=-=-= =-= =-= A great book: "Programmer's Guide to the EGA, VGA, and Super VGA =-= =-= Cards" 3rd Edition Richard F. Ferraro ISBN 0-201-62490-7 =-= =-= Addison-Wesley Publishing Company. =-= =-= =-= =-= A very excellent book: "Programmer's Guide to the EGA & VGA Cards" =-= =-= Richard F. Ferraro ISBN 0-201-12692-3 =-= =-= Addison-Wesley Publishing Company. =-= =-= =-= =-= Anthony A.J. Williams for writing MODES.ASM, which I used to help =-= =-= write the Text Mode routine. I specifically used the SetFont =-= =-= procedure which was instrumental in getting the code for Mode 03h =-= =-= working. =-= =-= =-= =-= Boone (boone@ucsd.edu) for the docs on programming the VGA Registers. =-= =-= =-= =-= I also used a really great program called TWEAK to get some of the =-= =-= values for the non-standard modes. =-= =-= =-= =-= Denthor of ASPHYXIA for his trainer on Chain-4 Mode. =-= =-= =-= =-= Robert Schmidt for the great doc in PCGPE 1.0 =-= =-= about Mode X. This helped a great deal. =-= =-= =-= =-= Michael Abrash for his super excellent VGA articles on everything, =-= =-= plus all of his books and public domain code. =-= =-= =-= =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =-=-=-=-=-=-=-=-=-=-=-= =- Revision History: -= =-=-=-=-=-=-=-=-=-=-=-= =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Version 3.0 released September 20, 1998 I added 2 new text modes, 40x43 and 40x50. Also I have added a new dual font test which uses 2 of the VGA's 8 font maps. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Version 2.1 released July 5, 1998 The only change is that in the C version, the routine to read fronts from BIOS is now working. This routine reads a font from the BIOS and places it in memory for use in a textmode. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Version 2.0 released June 22, 1998 I have added more videomodes. I have also written a version of the source in C. So the routines are available in Assembly and C. I have also written some documentation for the font editor. So now the only modes that are not implemented are the monochrome modes which will still be worked on. Tauron VGA Utilities Version 1.0 released June 14, 1998 I changed the name because that other was a little too long. B-> I have packaged in a small font editor. I have also rearranged the mode numbers and added a few more video modes that will be implemented. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Source code for switching videomodes without using BIOS Version 4.1 released May 28, 1998 New in this version: We call a BIOS function to find out where in memory the fonts are stored. Since this is different on every cards' VGA BIOS, it is absolutely necessary so that in text modes, the proper fonts are displayed. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Version 4.0 released March 5, 1998 New in this version: All VGA Modes are supported! Plus Chain-4 Mode, ModeX, ModeA, ModeB and ModeC. Modes 07H and 0FH are still being worked on. Use of Fonts stored in ROM. Custom Font data stored in system memory is no longer needed. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Version 3.0 released January 2, 1998 Includes Modes 03h, 10h, 12h, and 13h plus Chain-4 Mode, ModeX, ModeA, ModeB and ModeC. New in this version: Mode 10h (640x350x16), Mode C (640x400x16) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Version 2.5 not released Includes Modes 03h, 12h, and 13h plus Chain-4 Mode, ModeX, ModeA, and ModeB. New in this version: VGA register data takes up less space. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Version 2.1 released Nov. 21, 1997 Includes Modes 03h, 12h, and 13h plus Chain-4 Mode, ModeX, ModeA, and ModeB. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Version 2.0 released Nov. 10, 1997 Includes Modes 03h, 12h, and 13h plus Chain-4 Mode and ModeX. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Version 1.5 released late Oct. 1997 Includes Modes 03h, 12h, and 13h. Fully functional =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Version 1.1 released in Oct. 12, 1997 Includes Mode 13h, Mode 03h finally works. Realized that I needed to reset the text mode font. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Version 1.0 released in Oct. 7, 1997 Included Mode 13h, Mode 03h partially. (Did not have setfont routine) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=