=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =- -= =- Source Code for switching Video Modes without using BIOS -= =- January 2, 1998 Version 3.0 -= =- -= =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =- Copyright (c) 1997, 1998 by Jeff Morgan =-= This code is free provided -= =- All Rights Reserved. =-= that you give credit where -= =- =-= credit is due. -= =- 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. -= =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Now that that is out of the way... =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =- Files included in this package: -= -= =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -= =- Compiles with TASM 4.1 and TLINK 7.0 -= =- -= =- README.TXT You are reading it. -= =- USAGE.TXT How to use these routines. -= =- -= =- MAIN.ASM Main assembly file -= =- MAIN.EXE Main executable demo of all the -= =- video modes -= =- -= =- MODE03.FON Custom Font made by A.J.Williams -= =- MODES.INC Include file for the various -= =- video modes. -= =- -= =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= The code in this package will switch video modes on any standard VGA video card. This is accomplished by programming the VGA Registers directly. The reason for 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. So this package is just the start of that. This is not a graphics library. 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. If to have any suggestions/comments. Drop me a line at: kinfira@hotmail.com Also check out my homepage: http://home.onestop.net/kinfira/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =-= Credits: =-= =-= =-=-=-=-=-=-=-=-= =-= =-= =-= =-= 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. =-= =-= =-= =-= A very excellent book: "Programmer's Guide to the EGA & VGA Cards" =-= =-= Richard F. Ferraro ISBN 0-201-12692-3 =-= =-= Addison-Wesley Publishing Company. =-= =-= =-= =-= 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 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) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=