home *** CD-ROM | disk | FTP | other *** search
- Copyright 1988, 1989 Michael Abrash
- All other rights are reserved by Oakley Publishing Company
-
- ***********************************************************
- * * * * * PROGRAMMER'S JOURNAL--VGA CODE DISK * * * * *
- ***********************************************************
-
- The source code files on this disk are from Programmer's Journal,
- Volume 6.1, January/February 1988 through Volume 7.4, July/August 1989.
- These files are identical to those published in the magazine. The copyrights
- are held by the programs'authors, as noted in the files. All other rights are
- reserved by Oakley Publishing Company, 1988 and 1989. No one may commercially
- distribute these files. Every effort has been made to assure that the program
- files are correct and complete. No guarantee, express or implied, is offered
- as to the correctness of the files, nor to the fitness of the programs for any
- purpose whatsoever.
-
- The files for Volume 6.1 are from Michael Abrash's article entitled
- "Write Mode 3 of the VGA"--strange indeed, what's it for
-
- VGA61-L1.ASM Program to illustrate operation of write mode 3 of the
- VGA. Draws 8x8 characters at arbitrary locations without
- disturbing the background, using VGA's 8x8 ROM font.
- Designed for use with modes 0Dh, 0Eh, 0Fh, 10h, and 12h.
-
- VGA61-L2.ASM Program to illustrate high-speed test drawing operation
- using write Mode 3 of the VGA. Draws a string of 8x14
- characters at arbitrary locations without disturbing the
- background, using VGA's 8x14 ROM font. Designed for use
- with modes 0Dh, 0Eh, 0Fh, 10h, and 12h.
-
- The files from Volume 6.2 are from Michael Abrash's article entitled
- "Yet Another VGA Write Mode"--the easy stuff, write mode 2
-
- VGA62-L1.ASM Program to illustrate one use of Write Mode 2 VGA and
- EGA by animating the image of the letter "A" drawn by
- copying it from a chunky bit-map in system memory to
- a planar bit-map in VGA or EGA memory
-
- VGA62-L2.ASM Program to illustrate one use of Write Mode 2 of the
- VGA and EGA by drawing lines in color patterns
-
- VGA62-L3.ASM Program to illustrate flipping from bit-mapped graphics
- mode to text mode and back without losing any of the
- graphics bit-map
-
- The files from Volume 6.4 are from Michael Abrash's article entitled
- "Reading VGA Memory"--the two VGA Read modes dissected
-
- VGA64-L1.ASM Program to illustrate one use of the Read Map register
- in read mode 0. Animates by copying a 16-bit color image
- from VGA memory to system memory, one plane at a time,
- then copying the image back to new location in
- VGA memory
-
- VGA64-L2.ASM Program to illustrate one use of the read mode 1 (color
- compare mode) to detect collisions in display memory.
- Draws a yellow line on a blue background, then draws a
- perpendicular green line until the yellow line is
- reached.
-
- VGA64-L3.ASM Program that draws a diagonal line to illustrate the use
- of a Color Don't Care register setting of 0FFh to
- support fast read-modify-write operations to VGA memory
- in write mode 3 by drawing a diagonal line
-
- The files from Volume 6.5 are from Michael Abrash's article entitled
- "VGA Text Paging"--find 32 text pages, and assembler routines that should
- take care of most of your text paging needs
-
-
- VGA65-L1.ASM Program to demonstrate the 4 text pages of the CGA
-
- VGA65-L2.ASM Program to demonstrate the 32 text pages of the VGA/EGA
-
- The files from Volume 6.6 are from Michael Abrash's article entitled
- "Saving VGA Screens, Color Selection, adn other Mysteries"--the less
- obvious details and MASM quirks
-
-
- VGA66-L1.ASM Program to put up a mode 10h EGA graphics screen, then
- save it to the file SNAPSHOT.SCR
-
- VGA66-L2.ASM Program to restore a mode 10h EGA graphics screen from
- the file SNAPSHOT.SCR
-
- VGA66-L3.ASM Program to illustrate the color mapping capabilities of
- the EGA's pallette registers
-
- VGA66-L4.ASM Program to demonstrate screen blanking via bit 5 of the
- Attribute Controller index register
-
- The files from Volume 7.1 are from Michael Abrash's article entitled
- "Higher 256-color Resolution on the VGA"--when is 320x200 really 320x400,
- and those less obvious high resolution VGA color modes
-
- VGA71-L1.ASM Program to demonstrate pixel drawing in 320x400
- 256-color mode on the VGA. Draws 8 lines to form an
- octogon, a pixel at a time. Draws 8 octogons in all,
- one on top of the other, each in a different color set.
- Although it's not used, a pixel read function is also
- provided
-
- VGA71-L2.ASM Program to demonstrate the two pages available in
- 320x400 256-color modes on a VGA. Draws diagonal color
- bars in all 256 colors in page 0, then does the same in
- page 1 (but with bars tilted the other way), and finally
- draws vertical color bars in page 0
-
- The files from Volume 7.2 are from Michael Abrash's article entitled
- "EGA and VGA Animation"--using the EGA/VGA bit-plane architecture and
- color palette for animation.
-
- ANIMATE.ASM Assembler source program to demonstrate bit-plane animation
- ANIMATE.EXE Executable file for a VGA
-
- The files from Volume 7.3 are from Michael Abrash's article entitled
- "Fast Line Drawing for the EGA and VGA". Bresenham's algorithm
- implemented for the EGA/VGA in both C and assembly language.
-
- LINEDEMO.C C source program to demonstrate line drawing
- EVGALINE.C Turbo C source module for line drawing using
- Bresenham's algorithm for the EGA and VGA
- SLOWDEMO.EXE Executable file based on Turbo C line drawing module
- EVGALINE.ASM Assembly language source module for line drawing using
- Bresenham's algorithm for the EGA and VGA
- FASTDEMO.EXE Executable file based on assembly language line drawing
- module
-
- The files from Volume 7.4 are from Michael Abrash's article entitled
- "Measuring Performance". A high-resolution timer for testing your
- graphics code.
-
- TIMER.ASM Assembly language source code for a high resolution
- timer for graphics testing
- TESTIMER.ASM Assembly language source code for an example using
- the Timer routines to time a sample piece of graphics
- code
- TESTIMER.EXE An executable version of this sample Timer test routine
-
-
- PJINDEX.66 Index to Programmer's Journal Volume 6, 1988.
- An ascii text file of articles in PJ Volume 6
- in 128-column-width format.
-
-
- If you would like to subscribe to Programmer's Journal, order back
- issues, or buy one of our nifty T-Shirts, please write to:
-
- Programmer's Journal
- PO Box 30160
- Eugene, OR 97403
-
- or call (503) 747-0800.
-
- Subscriptions are only $19.95 annually (six issues). We welcome
- your comments about the magazine and the code. Please let us
- know what you think, at the address given above.
-