Category : Files from Magazines
Archive   : PJ-VGA.ZIP
Filename : VGA_READ.ME

 
Output of file : VGA_READ.ME contained in archive : PJ-VGA.ZIP
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 8.1, January/February 1990.
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, 1989, and 1990. 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

The files from Volume 7.4 are from Michael Abrash's article entitled
"Still-Higher 256-Color VGA Resolutions". Michael shows how to crank
standard VGAs up to 360x480 256-color resolution.

VGA360.ASM Assembly language source code module callable from C
for high resolution 360x480 modes. Subroutines include
a routine to set the 360x480 mode, draw a dot in
360x480 256-color mode, and read the color of a dot
in this mode.
TEST360.C Sample C program to illustrate VGA line drawing in the
360x480 256-color mode.
TEST360.EXE An executable version of this sample 360x480 line
drawing program

Code from Michael Abrash's "VGA and EGA Split Screens."
Using the nifty but surprisingly tricky split-screen
features of the EGA and VGA.
SPLITSCN.ASM Assembler source program to demonstrate EGA/VGA split
screen.
PANNING.ASM Assembler source program to demonstrate the interaction
of the split screen and horizontal pel panning on EGA/VGA.

Code from Michael Abrash's "Circles for the VGA"
After meeting with Hal Hardenbergh on concepts, Michael
implements fast circle drawing on the VGA

CIRCLE1.C C source code that draws a circle of the specified
radius and color on EGA or VGA, but will draw what appears
to be an ellipse in non-square pixel modes
CIRCLE2.C C source program that draws a series of concentric circles
for the VGA only, because mode 12h is unique to the VGA
CIRCLE3.C C source program that draws a circle of the specified
radius and color on EGA or VGA, but will draw what appears
to be an ellipse in non-square pixel modes. This version
uses a fast integer-only & square-root-free approach
CIRCLE1.EXE An executable version
CIRCLE3.EXE An executable version


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.


  3 Responses to “Category : Files from Magazines
Archive   : PJ-VGA.ZIP
Filename : VGA_READ.ME

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/