home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mega CD-ROM 1
/
megacd_rom_1.zip
/
megacd_rom_1
/
MAGAZINE
/
PROGJOUR
/
PJ_9_4.ZIP
/
PJREADME.94
< prev
next >
Wrap
Text File
|
1991-06-10
|
10KB
|
225 lines
******************************************************************
* * * * * PROGRAMMER'S JOURNAL--Volume 9.4 CODE DISK * * * * *
******************************************************************
The source code files on this disk are from Programmer's Journal,
Volume 9.4, July/August 1991. These files are identical to those
published in the magazine, except where noted; OBJ and EXE files
have been added.
The copyrights are held by the programs'authors, as indicated in the
files. All other rights are reserved by Oakley Publishing Company,
1991. 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, or to the fitness of the programs for
any purpose whatsoever.
Files from Volume 9.4 are as follows:
Code from "A Coat of Many Colors" by Michael Abrash
Pick a pack of purple pixels ... or make them red, white, and blue.
Graphics guru Michael Abrash shows how to boost your screen's
color quotient and program some animation using Edsun's plug-in DAC
replacement, the CEG/DAC.
CEGDAC.ASM Assembly language routines for Edsun CEG/DAC
animation program designed for C-style calling
conventions.
CEGDAC.OBJ An object file.
CEGDRAW.C Code that performs 256-color animation on the Edsun
DAC, taking advantage of both pixel weighting (selecting
pixel colors as weighted averages of the colors of nearby
pixels) and EDP (the ability to embed information in the
bitmap that reprograms the DAC's palette during the
course of each frame).
CEGDRAW.EXE An executable version.
CEGDRAW.OBJ An object file created with Turbo C++ 1.0.
****************************
Code from "Communicating Over NetBIOS" by Brett Glass
There's probably a modem pool in your future. Brett gets
you into the swim of things by mixing communications with NetBIOS
sessions and Turbo Pascal objects. He also looks briefly at not-so-standard
network modem interfaces. So step into the LAN of plenty!
COMMCLNT.PAS A CommServer Client program written in Turbo Pascal.
COMMCLNT.EXE An executable version.
COMMSERV.PAS The CommServer program written in Turbo Pascal.
COMMSERV.EXE An executable version.
NETBIOS.PAS An Object-Oriented Turbo Pascal unit to interface
NetBIOS. NCBS are objects.
NETTOOLS.PAS Some NetBIOS tools routines in Turbo Pascal.
TESTTERM.PAS A Turbo Pascal program to test the CommServer and
client programs.
TESTTERM.EXE An executable version.
*****************************
Code from "Spying on NetBIOS" by John Otken
Need to network your DOS machine with other computers? John
develops assembly language routines to interface with NetBIOS and
a utility for spying on datagrams. You'll also find his simple but
elegant client and server applications for transferring files.
ASM.INC A revised include file with macros.
CLIENT.ASM A simple file transfer Client over NetBIOS using
datagrams.
CLIENT.EXE An executable version of file transfer Client.
CLIENT.MAK A makefile to create CLIENT.EXE.
CLIENT.OBJ An object file.
DATAGRAM.ASM A test program to send a text string as a
NetBIOS datagram to a specific target NetBIOS name
or as a broadcast datagram.
DATAGRAM.EXE An executable version.
DATAGRAM.MAK A makefile to create DATAGRAM.EXE.
DATAGRAM.OBJ An object file.
DOS_ERRS.ASM An MS-DOS interface that sets error string.
DOS_ERRS.OBJ An object file.
MALLOC.ASM Memory allocation and free routines.
MALLOC.OBJ An object file.
MISC.ASM Miscellaneous support routines.
MISC.OBJ An object file.
NET_MISC.ASM Miscellaneous NetBIOS support routines.
NET_MISC.OBJ An object module.
NETBIOS.INC An include file for the NetBIOS routines.
PUTBYTES.ASM A routine to output a single character.
PUTBYTES.OBJ An object file.
PUTCHAR.ASM A routine to output a single character to stdout.
PUTCHAR.OJB An object file.
PUTS.ASM A routine to output a string routine to stdout.
PUTS.OBJ An object file.
SERVER.ASM A simple file transfer Server over NetBIOS using
datagrams.
SERVER.EXE An executable version.
SERVER.MAK A makefile to create SERVER.EXE.
SERVER.OBJ An object file.
SETARG.ASM Part of the startup support routines for assembly
language.
SETARG.OBJ An object file.
SPY.ASM A program to display network datagrams.
SPY.EXE An executable version.
SPY.MAK A makefile to create SPY.EXE.
SPY.OBJ An object file.
STARTUP2.ASM Start up code for assembly language.
STARTUP2.OBJ An object file.
STRERROR.ASM Error message interface routines.
STRERROR.OBJ An object file.
STRNCPY.ASM String copy routine.
STRNCPY.OBJ An object file.
******************************
Code from "Window Viewports" by Allen Holub
Allen continues to perfect the art of window management in
this second part of his text-windowing system. He tacks a display
layer (or "viewport") on to the previous text buffer routines,
creating a stand-alone windowing system that won't tie you or your
computer's memory up in knots.
MAKEFILE.BCC A makefile for Borland C++ 2.0.
MAKEFILE.TCC A makefile for Turbo C++ 1.0.
VIEWPORT.C A program to test Viewport routines.
VIEWPORT.EXE An executable version.
VIEWPORT.H Viewport definitions and macros.
VIEWPORT.LIB A Viewport library file created with Turbo C++ 1.0.
V_CLEAR.C Clear Viewport routines.
V_CLOSE.C Close Viewport (remove from screen permanently).
V_CONSTR.C Initialize a Viewport.
V_DEACTI.C Deactivate a Viewport.
V_DESTRO.C Destroy a Viewport.
V_FILL_S.C Workhorse function to fill a screen region.
V_GETC.C Get a character from Viewport.
V_GETS.C Get a string from Viewport.
V_GOTORC.C Move cursor within Viewport.
V_MOVE.C Move Viewport.
V_OPEN.C Display a Viewport.
V_PUTC.C Write a character to Viewport.
V_PUTS.C Write a string to Viewport.
V_RESTOR.C Workhorse function to restore a screen region.
V_SAVE_S.C Workhorse function to save a screen region.
V_SIZE.C Change the Viewport size.
V_STARTU.C Routines to startup and shutdown the video system.
V_SCROLL.C Workhorse function to scroll a screen region.
********************************
Table from "Loop Unrolling: A RISCy Business" By Mark J. Barrenechea
Compiler optimizations tend to remain in the realm of the
mysterious. Mark unravels loop unrolling to reveal its uses and discuss
its limits. He also compares scalar and vector optimizations on the
i860 with loop unrolling on the 80486.
LIVERMOR.LST A brief one-line description of each of the Livermore
Loops used for testing.
********************************
Code from "Data Structure Imperatives" by Richard Riehle
It's embarrassing when you don't know an algorithm from a
biorhythm, or which data structure you need to get into the swing
of things while traversing a binary tree. Richard poses challenging
questions and provides some sample solutions.
BSTREE.C A simple C program implementing a binary search
data structure.
BSTREE.EXE An executable version using Borland Turbo C++ 1.0.
DLRING.ADB Ada package body for a simple doubly-linked ring
data structure.
DLRING.ADS Ada package specification for a simple doubly-linked
ring data structure.
***********************************
Code from "Text Filters in BASIC" by Murray L. Lesser
Who says simple can't be beautiful? Once you get to know
Murray's text filter program, you'll want to write others--and
you'll know how to go about it.
STRIPIT.BAS A simple text filter program written in BASIC
that deletes extraneous <LF> characters in MASM
5.10 listing files.
STRIPIT.EXE An executable version.
*************************************
Code from a letter to PJ by Joan Flugel.
Joan ran a simple program on five different
disassemblers and the results, as you can see,
vary widely--particularly in the treatment of
immediate values.
PJLTRS.LST The program and the results from disassembling it with
Sourcer, DisDoc, MasterKey, MD86, and Snoop
****************************
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
P.O. Box 70167
Eugene, OR 97401-0110
or call (800) 234-0386.
Subscriptions are $21.95 annually (six issues). We welcome
your comments about the magazine and our code disks. Please use
the above address to let us know what you think.