


                      January 1990


 Length  Method   Size  Ratio   Date    Time   CRC-32  Attr  Name
 ------  ------   ----- -----   ----    ----   ------  ----  ----
   3324  Implode   1453  57%  12-08-89  14:30  bd82ef62 --w  DOUGLAS.LST
   3635  Implode   1163  69%  12-08-89  15:06  cb126ba4 --w  DUNTEMAN.LST
  35337  Implode  11229  69%  12-08-89  13:53  b2564b29 --w  JAMES.LST
  16267  Implode   4009  76%  12-08-89  15:08  147891be --w  LADD.LST
  14192  Implode   8717  39%  02-26-89  12:28  8fbb63d0 --w  LOCATE.EXE
  16785  Implode   4602  73%  12-08-89  14:48  6cd6e5c2 --w  NELSON.LST
  15490  Implode   5615  64%  12-08-89  14:19  3c5a07e8 --w  NOLAN.LST
  33792  Stored   33792   0%  10-02-89  13:43  e1c8a618 --w  RAHNER.EXE
    575  Implode    427  26%  12-11-89  08:12  c10c0a75 --w  README.TXT
  10462  Implode   3915  63%  12-08-89  14:44  712def7d --w  SCHULMAN.LST
  11373  Implode   7053  38%  09-21-89  01:07  4ff7a948 --w  SPRITE.EXE
   6266  Implode   2009  68%  12-08-89  14:57  0c361dfe --w  STEVENS.LST
  10422  Implode   3001  72%  12-08-89  14:28  898078f5 --w  STOUT.LST
  42051  Implode  15134  65%  12-08-89  14:21  120837c6 --w  TRACY.LST
 102400  Implode  17043  84%  02-13-89  21:14  68f4ffbf --w  ZEN.SCR
   1621  Implode    352  79%  10-28-89  20:24  a83b3b3d --w  ZGTEST.C
  21517  Implode   4152  81%  11-01-89  15:55  b22cb0e0 --w  ZG_LWLVL.C
  15137  Implode   6312  59%  11-01-89  16:52  e9a1561e --w  ZG_LWLVL.DOC
   2420  Implode   1098  55%  11-01-89  15:59  726a5d6f --w  ZG_LWLVL.H
 ------          ------  ---                                 -------
 363066          131076  64%                                      19

_ERROR MESSAGE MANAGEMENT_ by Rohan Douglas

_STRUCTURED PROGRAMMING COLUMN_ by Jeff Duntemann
Polymorphism demo

_REAL-TIME ANIMATION_ by Rahner James
a full functioning sprite driver for EGA graphics adaptors.

_EXAMINING ZORTECH C++ 2.0_ by Scott Robert Ladd
Provides the class "Complex" for C++ programs. 

_LOCATION IS EVERYTHING!_ by Mark Nelson
LOCATE reads in MS-DOS formate EXE files and writes out relocated code
in Intel Hex format.

_REAL-TIME DATA ACQUISITION USING DMA_ by Tom Nolan

_STALKING GENERAL PROTECTION FAULTS: PART I_ by Andrew Schulman

_C PROGRAMMING COLUMN_ by Al Stevens
TEXTSRCH: An expression interpreter 

_S-CODER FOR DATA ENCRYPTION_ by Robert Stout

ZEN by Martin J. Tracy
version 1.60-- a simple classical Forth with Double-Number, File
Access, and BLOCK Standard Extensions.

ZG_LWLVL by Scott Robert Ladd 
C-language module for the low-level portion of the ZipGraph graphics
library for PCs using MS-DOS


This set of listings for Dr. Dobb's Journal, January 1990,
includes several files not published in the magazine but that
accompany articles.

Accompanying ``Examining Zortech C++ 2.0'' by Scott Robert Ladd
are graphics libraries:

ZGTEST.C
ZG_LWLVL.C
ZG_LWLVL.H
ZG_LWLVL.DOC

Accompanying ``ZEN For Embedded Systems'' by Martin Tracy is the
file ZEN.SCR.

Accompanying ``Location Is Everything'' by Mark Nelson is the
executable file: LOCATE.EXE

Accompanying ``Real-Time Animation'' by Rahner James are the
executable files:

RAHNER.EXE
SPRITE.EXE

                             February 1990

Filename        Length   Method     Size   Ratio    Date      Time    CRC
--------        ------   ------    ------  -----    ----      ----    ---
BERGMAN.LST       7006  Crunched     3314   53%   12-26-89  08:38:26  519E
CANUP.LST        12190  Crunched     5798   53%   12-26-89  08:18:40  8B6E
DUNTEMAN.LST      3619  Crunched     2141   41%   12-26-89  08:51:00  BCED
LIAO.LST         13759  Crunched     4970   64%   12-26-89  08:23:00  6480
MARGULIS.LST      1504  Crunched      836   45%   12-26-89  08:29:52  C36C
MCMAHON.LST       9152  Crunched     3302   64%   12-26-89  08:26:44  B552
PATERSON.LST      6665  Crunched     3672   45%   12-26-89  08:11:30  1129
SCHULMAN.LST     21489  Crunched    11282   48%   12-26-89  08:44:36  5C8F
STEVENS.LST      17944  Crunched     7191   60%   12-26-89  08:49:42  4158
STROYAN.LST      18408  Crunched     8708   53%   12-26-89  08:14:50  DF2A
----            ------             ------  -----
0010            111736              51214   55%

_C_TALK/VIEWS_ by Noel Bergman

_PICK-A-NUMBER INTERFACES_ by Bob Canup

_STRUCTURED PROGRAMMING COLUMN_ by Jeff Duntemann
JTerm - serial communications

_SELF-ADJUSTING DATA STRUCTURES_ by Andrew M. Liao
Singly linked move-to-the front list
Move To The Front Splay Tree
Self-adjusting heap

_PROGRAMMING RISC ENGINES_ by Neal Margulis

_MULTIPLEXING ERROR CODES_ by William J. McMahon

_MANAGING MULTIPLE DATA SEGMENTS UNDER MICROSOFT WINDOWS: PART I_
by Tim Paterson and Steve Flenniken

_STALKING GENERAL PROTECTION FAULTS: PART II_ by Andrew Schulman

_C PROGRAMMING COLUMN_ by Al Stevens
textsrch data retrieval program: addtree srchtree build_noisewords
init_database addindex search_index indexing index_file extract_word

_THREE-DIMENSIONAL GRAPHICS USING THE X-WINDOW SYSTEM_ by Michael Stroyan



                                March 1990

Filename        Length   Method     Size   Ratio    Date      Time    CRC
--------        ------   ------    ------  -----    ----      ----    ---
ABRASH.LST        9089  Crunched     3539   62%   02-13-90  15:10:06  5962
DUNTEMAN.LST      3869  Crunched     1530   61%   02-13-90  15:10:20  8786
HYDE.LST         11767  Crunched     4542   62%   02-13-90  15:11:42  22D1
PAT&FLEN.LST      8611  Crunched     4697   46%   02-13-90  15:11:58  55D4
PATERSON.LST      3880  Crunched     2340   40%   02-13-90  15:11:00  97DE
SCHULMAN.LST      1282  Crunched      829   36%   02-13-90  15:12:24  8E5A
STEVENS.LST      15034  Crunched     5451   64%   02-13-90  15:09:50  0308
WILLIAMS.LST     39839  Crunched    14822   63%   02-13-90  15:11:28  87C2
WRIGHT.LST       18884  Crunched    10550   45%   02-13-90  15:12:42  5394
----            ------             ------  -----
0009            112255              48300   57%

ASSEMBLY LANGUAGE LIVES! by Michael Abrash
Copy one string to another string, converting all lower case
letters to upper case before storing them.

STRUCTURED PROGRAMMING COLUMN by Jeff Duntemann
Bit-manipulation routines for Modula-2

OBJECT-ORIENTED PROGRAMMING IN ASSEMBLY LANGUAGE by Randall L. Hyde

MANAGING MULTIPLE DATA SEGMENT UNDER MICROSOFT WINDOWS: PART II
by Tim Paterson and Steve Flenniken

ASSEMBLY LANGUAGE TRICKS OF THE TRADE by Tim Paterson
Binary-to-ASCII Conversion
Absolute Value
Smaller of Two Values (MIN)
Convert to Uppercase
Fast String Move
Binary/Decimal Conversion
Multiple Bit Testing
Function Dispatcher
Skipping Instructions

INSIDE WATCOM C 7.0/386 by Andrew Schulman
ISETL program to find number of primes <= n, using set notation
ISETL program to find number of primes <= n, using ordered tuples
ISETL program to find Fibonacci numbers, using dynamic programming

C PROGRAMMING COLUMN by Al Stevens
more of database search: process_result search select_text display_page
display_text do_display findkeys display_textpage error_handler

HOMEGROWN DEBUGGING -- 386 STYLE! by Al Williams
BREAK386
CBRK386

MIXED-LANGUAGE PROGRAMMING WITH ASM by Karl Wright and Rick Schell
SPECTRUM finds word frequencies
reads source files and converts them into words, then files the words
away in a symbol table with the help of a hash function
error trapping
stack-based heap
sort routine 


                      April 1990


 Length  Method   Size  Ratio   Date    Time   CRC-32  Attr  Name
 ------  ------   ----- -----   ----    ----   ------  ----  ----
  18024  Implode   5733  69%  03-09-90  11:51  19c249ea --w  BLUM.LST
  11230  Implode   3497  69%  03-09-90  11:50  365c6d87 --w  DUNTEMAN.LST
  61777  Implode  13951  78%  01-06-90  12:00  b839bb71 --w  EES.WK3
  24436  Implode   5832  77%  03-09-90  11:51  dc619fca --w  KAR.LST
  18224  Implode   3374  82%  03-09-90  11:50  07c78482 --w  KLIMASAU.LST
  25413  Implode   6441  75%  03-09-90  11:49  03e8eb5d --w  LANE.LST
   4133  Implode   1401  67%  03-09-90  11:50  ab2cf3ce --w  SEARFOSS.LST
  15393  Implode   4542  71%  03-09-90  11:51  c8a0e337 --w  STEVENS.LST
 ------          ------  ---                                 -------
 178630           44771  75%                                       8

BIDIRECTIONAL ASSOCIATIVE MEMORY SYSTEMS IN C++ by Adam Blum

STRUCTURED PROGRAMMING COLUMN by Jeff Duntemann
A Time-and-date stamp object for Turbo Pascal 5.5

IMPLEMENTING THE RHEALSTONE REAL-TIME BENCHMARK by Rabindra Kar

NEURAL NETWORKS AND IMAGE PROCESSING by Casimir C.  Klimasauskas

CRUISING WITH TOPSPEED by Alex Lane   Kaboooom.c

BOUNDING BOX DATA COMPRESSION by Glenn Searfoss

C PROGRAMMING COLUMN by Al Stevens   CSORT




                      May 1990


 Length  Method   Size  Ratio   Date    Time   CRC-32  Attr  Name
 ------  ------   ----- -----   ----    ----   ------  ----  ----
  11643  Implode  11077   5%  02-26-90  18:19  3602de17 --w  AYERS.ZIP
  18560  Implode   4942  74%  03-23-90  09:43  f38ef6da --w  AYERS.LST
   1280  Implode    633  51%  03-23-90  10:11  34c89cd9 --w  BOTTORFF.LST
   3200  Implode   1241  62%  03-23-90  09:27  cb222ce4 --w  BRIGHT.LST
  13312  Implode   4389  68%  03-23-90  09:23  2a53bdd2 --w  MOESER.LST
   9856  Implode   2379  76%  03-23-90  10:04  e06ec50a --w  STEVENS.LST
  17024  Implode   5323  69%  03-23-90  09:37  77be2aec --w  SYCK.LST
   1380  Implode    743  47%  04-14-90  12:03  7615e39a --w  VIRUSCHK.DOC
 ------          ------  ---                                 -------
  76255           30727  60%                                       8

_MULTIPROCESSING WITH SMALLTALK/V_ by Kenneth Ayers

AYERS.ZIP   Market Simulation application

_OBJECT SWAPPING_ by Jan Bottorff and Jim Bolland

_GETTING A HANDLE ON VIRTUAL MEMORY_ by Walter Bright

_A MEMORY CONTROLLER_ by Robert A. Moeser

_C PROGRAMMING COLUMN_ by Al Stevens   Automobile class

_DLLs FOR DOS_ by Gary Syck




                      June 1990


 Length  Method   Size  Ratio   Date    Time   CRC-32  Attr  Name
 ------  ------   ----- -----   ----    ----   ------  ----  ----
  54176  Implode  13765  75%  05-02-90  13:50  a5066a19 --w  WEEKS.LST
  11153  Implode   3485  69%  05-02-90  13:50  7ec87816 --w  REGAN.LST
  10987  Implode   3208  71%  05-02-90  13:50  e3488dc9 --w  SCHULMAN.LST
  18815  Implode   4286  78%  05-02-90  13:51  d01a8b3e --w  STEVENS.LST
  11766  Implode   3437  71%  05-02-90  13:51  79e3d5da --w  KING.LST
  13856  Implode   4726  66%  05-02-90  13:51  f73e0454 --w  FRIED.LST
   9894  Implode   3672  63%  05-02-90  13:52  a66844bd --w  ALLEN.LST
  29892  Implode   7762  75%  05-02-90  13:52  1ac57678 --w  GESSNER.LST
  34508  Implode  20785  40%  09-25-89  21:12  fbb47b3f --w  ALLEN.EXE
  13216  Implode   7687  42%  10-28-89  13:35  b02c0b27 --w  GESSNER.EXE
  25149  Implode  12463  51%  06-06-89  05:10  66efef43 --w  KING.EXE
   5108  Implode   3375  34%  06-06-89  05:10  637533e6 --w  KING.OBJ
   3126  Implode   1472  53%  05-02-90  13:53  2f563718 --w  SWAINE.LST
 ------          ------  ---                                 -------
 241646           90123  63%                                      13

_C++ FILE OBJECTS_ by Kevin Weeks

_LZW REVISITED_ by Shawn M. Regan

_EXAMINING INSTANT-C_ by Andrew Schulman

_C PROGRAMMING COLUMN_ by Al Stevens    hypertree

_A SELF-REFERENTIAL HYPERTEXT ENGINE_ by Todd King

_ACCESSING HARDWARE FROM 80386 PROTECTED MODE: PART II_ by Stephen Fried

_A PIXEL ORDERING ALGORITHM_ by Norton T. Allen

_BUILDING A HYPERTEXT SYSTEM_ by Rick Gessner

_PROGRAMMING PARADIGMS_ by Michael Swaine
  --hypertext technique by Steve Drazga, AnalytX
  -- Harvey Chang's hypertext trick.  
  -- an index field




                      July 1990


 Length  Method   Size  Ratio   Date    Time   CRC-32  Attr  Name
 ------  ------   ----- -----   ----    ----   ------  ----  ----
   6050  Implode   2045  67%  05-30-90  09:27  f8c26b21 --w  DUNTEMAN.LST
  14806  Implode   3418  77%  05-30-90  09:27  9cc8f1e4 --w  DUVANENK.LST
   9279  Implode   2308  76%  05-30-90  09:27  c9cdb17a --w  GOLDBERG.LST
  40106  Implode   8346  80%  05-30-90  09:26  3f78447d --w  HOWARD.LST
   8641  Implode   2782  68%  05-30-90  09:26  52ba7a01 --w  KING.LST
   1929  Implode    714  63%  05-30-90  09:26  db239da6 --w  PATERSON.LST
   7752  Implode   2380  70%  05-30-90  09:28  1429a8bf --w  STEVENS.LST
  15049  Implode   3503  77%  05-30-90  09:27  dc47018f --w  TONKIN.LST
  25699  Implode   6267  76%  05-30-90  09:28  13d10cf8 --w  WILLIAMS.LST
 ------          ------  ---                                 -------
 129311           31763  76%                                       9


_STRUCTURED PROGRAMMING COLUMN_ by Jeff Duntemann
 A simple string array object with display and menu methods

_IMPROVING LINE SEGMENT CLIPPING_
by Victor J. Duvanenko, W.E. Robbins, and Ronald S. Gyurcsik

_INFORMATION MODELS, VIEWS, AND CONTROLLERS_ by Adele Goldberg

_SUPER VGA PROGRAMMING_ by Christopher A.  Howard

_DRAWING CHARACTER SHAPES WITH BEZIER CURVES_ by Todd King

_CIRCLES AND THE DIGITAL DIFFERENTIAL ANALYZER_ by Tim Paterson

_C PROGRAMMING COLUMN_ by Al Stevens
hotkey programmer

_THE POWER IN POWER BASIC_ by Bruce Tonkin

_DOS + 386 = 4 GIGABYTES! by Al Williams




                      August 1990


 Length  Method   Size  Ratio   Date    Time   CRC-32  Attr  Name
 ------  ------   ----- -----   ----    ----   ------  ----  ----
    206  Shrunk     173  17%  07-10-90  14:29  b8c8fe45 --w  ALLOCE.TXT
   3675  Implode   1402  62%  06-20-90  13:20  b8a66d24 --w  BALDWIN.LST
    191  Shrunk     166  14%  07-10-90  11:35  e3280cbb --w  BALDWIN.TXT
  14881  Implode   5636  63%  06-20-90  13:20  39b1ad7c --w  DUDLEY.LST
    390  Implode    294  25%  07-10-90  11:45  88091f40 --w  DUDLEY.TXT
  16236  Implode   5724  65%  06-20-90  13:20  4a25c9f6 --w  DUNTEMAN.LST
    424  Implode    361  15%  07-10-90  11:31  17aa05e9 --w  DUNTEMAN.TXT
   7118  Implode   3005  58%  06-20-90  13:19  f405eaed --w  ECKEL.LST
    210  Shrunk     179  15%  07-10-90  11:17  8c6e89e7 --w  ECKEL.TXT
  14064  Implode   4516  68%  06-20-90  13:21  e353abd4 --w  ELLIS.LST
    399  Implode    330  18%  07-10-90  14:06  a56ec1dc --w  ELLIS.TXT
   8003  Implode   1791  78%  07-10-90  15:37  6a8bfd2a --w  LADD.LST
    214  Shrunk     191  11%  07-10-90  15:16  81183ea7 --w  LADD.TXT
   9121  Implode   3417  63%  06-20-90  13:21  f8cfbfed --w  LAUZZANA.LST
    139  Shrunk     130   7%  07-10-90  11:49  608d2647 --w  LAUZZANA.TXT
   8531  Implode   2903  66%  06-20-90  13:19  9a0ff259 --w  MAK.LST
    380  Implode    308  19%  07-10-90  11:10  8fc4a4b1 --w  MAK.TXT
  13166  Implode   4143  69%  06-20-90  13:21  f5d4b5f5 --w  MISCHEL.LST
    138  Shrunk     133   4%  07-10-90  11:51  19b3ef34 --w  MISCHEL.TXT
  17517  Implode   4337  76%  06-20-90  13:32  d7f294c6 --w  SCHIMAND.LST
    112  Stored     112   0%  07-10-90  14:44  ffc2a299 --w  SCHIMAND.TXT
  10847  Implode   3079  72%  06-20-90  13:21  6dee5c6c --w  SPENCER.LST
    191  Shrunk     161  16%  07-10-90  14:20  e28cfc2a --w  SPENCER.TXT
   3262  Implode   1214  63%  06-20-90  13:19  cd368bda --w  STEVENS.LST
     98  Shrunk      94   5%  07-10-90  11:25  cb1abfd6 --w  STEVENS.TXT
 ------          ------  ---                                 -------
 129513           43799  67%                                      25


alloce.txt
Lawrence D. Spencer's replacement functions for debugging memory
allocation errors in C. This file also includes functions to
deal with the file handle problem described at the end of the
article.

baldwin.txt
Listings and examples from Whhab Baldwin's article on generating C
code using AWK. The included program reads a C structure and
produces C code to write a record to a C-ISAM work area.

dudley.txt
Porting a large application to 386 protected mode. Includes a
protected  mode function that stuffs draw commands in the draw
list.  If the list  fills up, it automatically calls pdinterp() to
empty it. Also includes a real mode module callable from protected
mode that passes string in buffer in code segment, and a module to
connect real mode assembly code to prot mode C

dunteman.txt
Jeff Duntemann's SetObject that brings up a 16 X 16 matrix of bit
numbers, each of which corrresponds to one bit in the set.  The
method allows the user to zero in on a single bit through the
keyboard or through the mouse if the driver is loaded. Click on
the number (or press Enter) and the bit changes state, as
indicated by screen highlighting.  This is useful for debugging or
even data entry to a set object.

eckel.txt
Bruce Eckel's Collection class and example program to count
keywords and identifiers in a C++ source file. The collections
are a good example of multiple inheritance and show the use of
pointers to members.

ellis.txt
Figures, examples, and source code listings from Graham K. Ellis'
article on Parallel Extensions to C. Includes single and two
transputer versions of a multi-process ASCII sorting routine.
Shows how to allocate and deallocate parallel (multi-tasking)
processes on a transputer. The algorithm is modelled after the
sorting example  in the INMOS occam Transputer Development System
(TDS).

ladd.txt
Listings from Scott Ladd's review of Microsoft C 6.0. Includes
some of the benchmarks mentioned in the article, which compare
MSC 6.0 to Watcom 7.0. Also includes Bruce Schatzman's example
using based pointers.

lauzzana.txt
Mixed-language programming article using Lisp and C to generate a
spline function that uses the Macintosh Toolbox to draw smooth
curves.

mak.txt
Source code for OS2ERR, an error tracking utility for OS/2's (somtimes) 
cryptic error messages. When a function returns an error the utility 
displays a pop-up screen with info on the program name, process
ID, thread ID, error code and error ID. The utility also
recommends an action to be taken and gives you the choice of
continuing or aborting the offending program.

mischel.txt
Source code from Jim Mischel's article on extending printf() to
output formatted numbers. Includes support for variable argument
lists.

schimand.txt
Source to the dynamic memory handler described in Jim Schimandle's
article "Encapsulating C Memory Allocation"

spencer.txt
Lawrence D. Spencer's replacement functions for debugging memory
allocation errors in C. See ALLOCE.ALL for this same file plus the
"freebie" functions mentioned at the end of the article.

stevens.txt
Listings from Al Stevens' C Programming colomn which covers the
NetWare programming environment.




                      September 1990


 Length  Method   Size  Ratio   Date    Time   CRC-32  Attr  Name
 ------  ------   ----- -----   ----    ----   ------  ----  ----
 130304  Implode  29114  78%  08-08-90  14:27  6eda517b --w  ANDERSON.ASC
 135168  Implode  29301  79%  08-08-90  14:28  0aa90e81 --w  ANDRSON2.ASC
  15046  Implode   4813  69%  07-25-90  08:06  82c3af36 --w  AUPING.ASC
  12901  Implode   3136  76%  07-25-90  08:04  b0385902 --w  BRADBERY.ASC
   7584  Implode   2570  67%  07-25-90  08:06  150fed58 --w  CAMPISE.ASC
   2781  Implode   1525  46%  08-25-90  08:38  01bc6eb9 --w  CONTENTS.ASC
   4570  Implode   1910  59%  07-25-90  08:06  ae2ec100 --w  ENTSMING.ASC
  95118  Implode  24844  74%  07-25-90  08:05  9dd74fe2 --w  IVES.ASC
  22403  Stored   22403   0%  02-02-89  13:45  bee6ec5b --w  IVES.ZIP
   1311  Implode    524  61%  03-24-90  21:14  1e22c8e7 --w  KH.ASC
   8561  Implode   1719  80%  08-02-90  14:10  a0088b0a --w  LADD.ASC
  10043  Implode   2873  72%  07-25-90  08:03  43a667b4 --w  LYKE.ASC
   1093  Implode    591  46%  07-19-90  07:53  d31805d9 --w  PAD.ASC
  35840  Implode  16524  54%  07-19-90  15:10  60a62dff --w  PCKERMIT.EXE
  13785  Implode   3720  74%  07-25-90  08:04  8d5d9797 --w  STEVENS.ASC
    756  Implode    444  42%  04-01-90  11:19  76b5857b --w  TERM.ASC
 ------          ------  ---                                 -------
 497264          146011  71%                                      16

AUPING.ASC
Title: MAKING THE MOVE TO MODULA-2
Keywords: SEP90  MODULA-2 GRAPHICS
Source for a high-level Modula-2 library interface, low-level CRT 
and Plotter Draw module, data definitions, and an example using 
the ModPlot graphics library. All in Modula-2.

BRADBERY.ASC
Title: PORTING FORTRAN PROGRAMS FROM MINIS TO PCS
Keywords: SEP90 FORTRAN GRAPHICS PORTING 
Source to draw a globe on a graphics surface. Includes drivers 
for PC and VAX. All in Fortran.

LADD.ASC
Title: PERSISTENT OBJECTS IN TURBO PASCAL
Keywords: SEP90  TURBO PASCAL  OBJECT-ORIENTED PROGRAMMING
Source includes routines for a TP 5.5 class hierarchy, a program 
that implements a generic procedure, and routines for storing and 
retrieving objects. All in Turbo Pascal 5.5.

CAMPISE.ASC
Title: FAST SEARCH
Keywords: SEP90  BASIC  ASM  DATABASE  SEARCH 
Searching technique for fast data file access. Leon claims to 
have cut search time in some instances from 80 seconds to 6 
seconds. Code is in MS BASIC 7.1 and ASM.

IVES.ASC
Title: A GENERIC ONE-PASS ASSEMBLER
Keywords: SEP90  ASM   

Source for rolling your own one-pass assembler for a generic 
assembly language. Code includes main driver, error handler, 
instruction set handler, listing module, math module, parsar, 
symbol table, etc. See IVES.ZIP for EXE version and test files.

IVES.ZIP
Title: A GENERIC ONE-PASS ASSMEBLER
Keywords: SEP90   ASM   
ZIP file that includes IVES.EXE and test cases for Ives' article. 

LYKE.ASC
Title: RAY TRACING
Keywords: SEP90  GRAPHICS  RAY TRACING  C C++
Source code to illustrate ray tracing techniques. Code in both 
C++ (Zortech 2.x) and C.

ENTSMING.ASC
Title: INSIDE OBJECT PROFESSIONAL
Keyword: SEP90  TURBO PASCAL  OBJECT-ORIENTED  TURBO POWER
Code that uses Turbo Power's Object Professional library of 
object-oriented classes for Turbo Pascal 5.5. Listings show how 
to use Object Professional to create an editor window, create 
TSRs, and command windows.

ANDERSON.ASC
Title: KERMIT FOR OS/2
Keywords: SEP90   OCT90   OS/2   DOS   MODULA-2   COMMUNICATIONS
Source files for a complete OS/2 PM implemenation of the Kermit 
protocol. Written in Modula-2. This file has all listings for the 
two-part article presented in September and October 1990. Also 
includes source files not published in the magazine: PAD.MOD, 
PCKERMIT.RC, PCKERMIT.LNK, PCKERMIT, and PCKERMIT.EDF. Uses Stony 
Brook Modula-2.

STEVENS.ASC
Title: C Programming Column
Keywords: SEP90   C  ENCRYPTION  DES
Source for Al Steven's C Programming Column. This month an 
implementation of a small encryption algorithm. Al also presents 
DES encyption and decryption filters 



                      October 1990


 Length  Method   Size  Ratio   Date    Time   CRC-32  Attr  Name
 ------  ------   ----- -----   ----    ----   ------  ----  ----
   2031  Implode   1259  39%  09-11-90  06:21  49dcd16c --w  DESCRIP.TXT
  17923  Implode   4938  73%  09-06-90  14:11  c17a6fe1 --w  DUNTEMAN.ASC
   2304  Implode    728  69%  08-16-90  08:29  b066f40f --w  DUVANEKO.ASC
  12416  Implode   3939  69%  08-16-90  09:09  07eced58 --w  JARVIS.ASC
   7936  Implode   2915  64%  08-16-90  07:45  866b84d6 --w  REAGEN.ASC
   4352  Implode    981  78%  08-16-90  08:37  b0a75f15 --w  SCHATZ.ASC
  16640  Implode   5228  69%  08-16-90  08:25  baac8c3b --w  SCHULMAN.ASC
   8064  Implode   2522  69%  08-16-90  08:40  e88a6d9e --w  STEVENS.ASC
  14336  Implode   3563  76%  08-16-90  08:27  1f4089cc --w  SWITZER.ASC
  86912  Implode  21162  76%  08-16-90  08:50  c01007fe --w  WILLIAMS.ASC
 ------          ------  ---                                 -------
 172914           47235  73%                                      10


WILLIAMS.ASC
Title: ROLL YOUR OWN DOS EXTENDER
Keywords: OCT90  NOV90  DOS  DOS EXTENDER  80386  PROTECTED MODE
Complete source code for PROT, Al Williams' DOS extender, which 
is published in two-parts in October 1990 (Listing One through 
Three) and November 1990 (Listing Four through Seven) issue of 
DDJ. 

SCHULMAN.ASC
Title: OPENING OS/2'S BACKDOOR
Keywords: OCT90    OS/2   DEVICE DRIVER   C   ASM
Source code for Andrew Schulman's DEVHLP.SYS, a generic OS/2 
device driver. Assembler code. Also includes C code for Arthur 
Rothstein's sidebar ``Walking the OS/2 Device Chain.''

SWITZER.ASC
Title: CLOSING DOS'S BACKDOOR
Keywords: OCT90  DOS  INT21  ASM
How to access DOS without going through the INT21 function 
handler. ASM. 

REAGEN.ASC
Title: RAM DISK DRIVER FOR UNIX
Keywords: OCT90   UNIX   DRIVER
Source for Jeff Reagen's RAM disk driver for Unix that lets you 
more efficiently manage /tmp files, reduce overhead associated 
with file loading, and increase performance by using RAM as a 
primary swap device. Developed on a 386 system with 4 Mbytes of 
RAM running Unix System V/386 Release 3.2. 

DUVANEKO.ASC
Title: OPTIMAL DETERMINATION OF OBJECT EXTENTS
Keywords: OCT90  GRAPHICS  3-D  MIN/MAX
Source to more efficiently determine boundaries (extents) of 3-D 
objects.

JARVIS.ASC
Title: IMPLEMENTING CORDIC ALGORITHMS
Keywords: OCT90  

SCHATZ.ASC
Title: UNRAVELING OPTIMIZATION IN MICROSOFT C 6.0
Keywords: OCT90  C   OPTIMIZATION 

STEVENS.ASC
Title: C PROGRAMMING COLUMN
Keywords: OCT90   C   
Source for Al Steven's C Programming Column. This month an 
Al shares source code sent in by readers that implements a form 
of class inheritance.

DUNTEMAN.ASC
Title: STRUCTURED PROGRAMMING COLUMN
Keywords: OCT90   MODULA-2   TIME/DATE   ZELLER
Source code for Jeff Duntemann's implementation of Zeller's 
Congruence and for a revised time-and-date stamp object. 
Implemented with TopSpeed Modula-2.





                      November 1990


 Length  Method   Size  Ratio   Date    Time   CRC-32  Attr  Name
 ------  ------   ----- -----   ----    ----   ------  ----  ----
  22090  Implode   5289  77%  10-12-90  12:50  85dd0710 --w  AYERS.ASC
   3623  Implode   1940  47%  10-19-90  06:32  e0243661 --w  CAPTIONS.TXT
  21638  Implode   7412  66%  10-12-90  12:46  a713c5b7 --w  CRAMER.ASC
   3051  Implode   1418  54%  10-12-90  12:46  97b86938 --w  DUNTEMAN.ASC
  17624  Implode   4438  75%  10-12-90  12:46  a2ac6e24 --w  E_FLOYD.ASC
  17401  Implode   4261  76%  02-05-90  08:19  b8315adc --w  FBROWSE.PM
  12141  Implode   3482  72%  10-12-90  12:47  61177419 --w  FRANZ.ASC
  44386  Implode  10626  77%  10-12-90  12:47  9eec184a --w  KNOWLES.ASC
  23955  Implode   6789  72%  10-12-90  12:47  0eaba7cd --w  M_FLOYD.ASC
  18213  Implode   5142  72%  10-12-90  12:46  cba33784 --w  STEVENS.ASC
   9635  Implode   2766  72%  10-12-90  12:46  f4b3b101 --w  TOOKE.ASC
  86969  Implode  21148  76%  10-12-90  12:46  d4e67759 --w  WILLIAMS.ASC
  30067  Stored   30067   0%  05-13-90  12:30  a88b4ae2 --w  E_FLOYD/AB.DCT
   7808  Implode   3244  59%  07-24-90  07:30  361d567b --w  E_FLOYD/APPLICAT.TXT
  39907  Stored   39907   0%  05-13-90  12:30  25095967 --w  E_FLOYD/CD.DCT
  39185  Stored   39185   0%  05-13-90  12:30  3311d7f8 --w  E_FLOYD/EH.DCT
  42293  Stored   42293   0%  05-13-90  12:31  4c20abaa --w  E_FLOYD/IN.DCT
  15376  Implode  10221  34%  05-13-90  20:07  2efc558c --w  E_FLOYD/MAKEDICT.EXE
   3730  Implode   1516  60%  05-13-90  19:44  c5165008 --w  E_FLOYD/MAKEDICT.PAS
   7072  Implode   5017  30%  05-14-90  12:45  2587146d --w  E_FLOYD/MARKDOC.EXE
   2425  Implode   1042  58%  05-14-90  12:45  cb115b2d --w  E_FLOYD/MARKDOC.PAS
  52406  Implode  20087  62%  05-13-90  19:51  47fb4cc4 --w  E_FLOYD/MEDTERM.LST
  44073  Stored   44073   0%  05-13-90  12:31  4a697df1 --w  E_FLOYD/OR.DCT
   1368  Implode    770  44%  10-17-90  09:13  542aac13 --w  E_FLOYD/READ.ME
   9939  Implode   4018  60%  05-14-90  14:53  f4fe9445 --w  E_FLOYD/SPELCHEK.DOC
  18848  Implode  10969  42%  05-14-90  12:21  4c736d5d --w  E_FLOYD/SPELCHEK.EXE
  16183  Implode   4839  71%  05-14-90  12:20  9e68421c --w  E_FLOYD/SPELCHEK.PAS
  41363  Stored   41363   0%  05-13-90  12:32  eea703c7 --w  E_FLOYD/ST.DCT
  20090  Stored   20090   0%  05-13-90  12:32  7ddb8ffa --w  E_FLOYD/UZ.DCT
   7203  Implode   3261  55%  03-30-90  09:44  ca8581ac --w  E_FLOYD/WORDS.DOC
  19968  Implode  11412  43%  03-30-90  10:04  0582ca9b --w  E_FLOYD/WORDS.EXE
 ------          ------  ---                                 -------
 700030          408085  42%                                      31


M_FLOYD.ASC
Title: ROLL YOUR OWN OBJECT-ORIENTED LANGUAGE
Keywords: NOV90  OOP  PROLOG  
Source code for ``Object Prolog'' including inheritance mechanism
and message passing facility. Other listings include the parser
and scanner for the "Object Definition Language" (ODL) and
example source to demonstrate the use of Object Prolog, and how
to define your own object-oriented language. Object Prolog treats 
everything as an object; no formal classes. Built using PDC Prolog 
but, with slight mods, can be run under most Prologs. 

E_FLOYD.ASC
Title: AN EXISTENTIAL DICTIONARY
Keywords: NOV90  B-TREE   DATABASE  TURBO PASCAL   OOP
Source code for Edwin Floyd's DICT.PAS dictionary object and methods to
create and use a superimposed code dictionary.  Also see E_FLOYD.ALL,
an ARC file which contains author's batch-oriented spelling checker and
documentation.

TOOKE.ASC
Title: OBJECT-ORIENTED DEBUGGING
Keywords: NOV90   C++   DEBUGGING  OOP
Source accompanying Simon Tooke's article that presents strategies and
techniques for debugging object-oriented programs in general and C++
programs in particular.

CRAMER.ASC
Title: CTRACE: A MESSAGE LOGGING CLASS
Keywords: NOV90  MACINTOSH   C   DEBUGGING   OOP
A general-purpose message logging window for Macintosh programmers that
provides basic printf() capabilities.  Built using Think C 3.0.

WILLIAMS.ASC
Title: ROLL YOUR OWN DOS EXTENDER: PART II
Keywords: OCT90  NOV90  DOS  DOS EXTENDER  80386  PROTECTED MODE
Complete source code for PROT, Al Williams' DOS extender, which is
published in two-parts in October 1990 (Listing One through Three) and
November 1990 (Listing Four through Seven) issue of DDJ.  See also
FRBOWSE.PM for example PROT application.

AYERS.ASC
Title: THE MVC PARADIGM IN SMALLTALK/V
Keywords: NOV90  SMALLTALK OOP 
Source code accompanying Ken Ayers's article which discusses the
Object-Pane-Dispatcher as implemented in Smalltalk/V.  Contains the
complete window system used as an example, including code not published
in the magazine.

FRANZ.ASC
Title: PROGRAMMER TOOLS FOR ACTOR 3.0
Keywords: NOV90  ACTOR  EXAMINING ROOM  WINDOWS
Actor source code accompanying Marty Franz's ``Examining Room'' article
on the Whitewater Group's WinTrieve and Whitewater Resource Toolkit
where Marty builds an electronic rolodex.  Also see the file ROLO.ARC

ROLO.ARC
Title: PROGRAMMER TOOLS FOR ACTOR 3.0
Keywords: NOV90 ACTOR  EXAMINING ROOM  WINDOWS
ARC file containing ROLO.LOD, ROLO.RC, ROLO.~CO, and ROLO.ICO
accompanying Marty Franz's ``Examining Room'' article on the Whitewater
Group's WinTrieve and Whitewater Resource Toolkit where Marty builds an
electronic rolodex.  Also see file called FRANZ.ASC.

KNOWLES.ASC
Title: WINDOWS 3.0 APPLICATION DEVELOPMENT
Keywords:  NOV90  WINDOWS  C  TOOLBOOK   DB_VISTA   DATABASE  DLL
Complete source code (C, OpenScript, db_Vista) accompanying Walt
Knowles ``Programmer's Workbench'' column.  Good source of information
on building Windows 3.0 applications.  Contains code not included in
the published issue.

STEVENS.ASC
Title: C PROGRAMMING COLUMN
Keywords: NOV90   C   DES   ENCRYPTION
Source for Al Steven's C Programming Column.  This month returns to the
topic of data encryption and the DES by refining the concepts presented
in his September 1990 column.

DUNTEMAN.ASC
Title: STRUCTURED PROGRAMMING COLUMN
Keywords: NOV90   TURBO PASCAL  TIME/DATE   ZELLER
Jeff Duntemann returns to Zeller's Congruence and for a revised 
time-and-date stamp object. Implemented with Turbo Pascal.




                      December 1990


 Length  Method   Size  Ratio   Date    Time   CRC-32  Attr  Name
 ------  ------   ----- -----   ----    ----   ------  ----  ----
  36130  Implode  10773  71%  11-15-90  13:03  c488abca --w  BAUER.ASC
  39577  Implode  11729  71%  07-09-90  09:45  77b2acd2 --w  CHEAPCOM.C
   2932  Implode   1381  53%  07-05-90  10:32  acc4c292 --w  CHEAPCOM.H
    639  Implode    320  50%  07-05-90  10:42  2d2580ca --w  CHEAPCOM.MAK
   5633  Implode   1616  72%  07-26-90  12:01  1bac4275 --w  CHEAPCOM.R
  13999  Implode   4698  67%  11-15-90  13:03  c958bf52 --w  CROCKER.ASC
   3603  Implode   1332  64%  11-15-90  13:04  dff1a2d5 --w  DUNTEMAN.ASC
   8321  Implode   2732  68%  11-15-90  13:04  7f15c2cf --w  ENTSMING.ASC
  16578  Implode   5205  69%  11-15-90  13:04  84357d7a --w  GASPAR.ASC
  23497  Implode   6771  72%  11-15-90  13:03  42984694 --w  OHLSEN.ASC
   1822  Implode   1087  41%  11-16-90  08:11  d69b212b --w  README.TXT
  26492  Implode   6130  77%  11-15-90  13:03  43cf0b56 --w  STEVENS.ASC
   6255  Implode   1854  71%  11-15-90  13:04  c8ee1ef6 --w  WILLIAMS.ASC
 ------          ------  ---                                 -------
 185478           55628  71%                                      13


BAUER.ASC
Title: CONTROLLING BACKGROUND PROCESSES UNDER UNIX
Keywords: DEC90  UNIX  BOURNE 
Source code for SHEPARD, Barr Bauer's system that "user-izes" process
management.  System works without modificatios between Silicon Graphics
Iris using Unix System V, Version 3.2 and a Convex C-220 using Berkeley
Unix 4.2.

CROCKER.ASC
Title: DESIGNING AN OSI TEST BED
Keywords: DEC90  DOS  C 
Source code for Ken Crocker and Michael Thompson's synchronous
communications device drivers that are part of an OSI test bed they
helped design and implement.

GASPAR.ASC
Title: THE MACINTOSH COMMUNICATIONS TOOLBOX
Keywords: DEC90  MACINTOSH   COMM TOOLBOX
Source code for the standard Mac include files for all the managers
required by Don Gaspar's "CheapCom" program.  Requires MPW C and the
Communicatios Toolbox.  Also see CHEAPCOM.R, CHEAPCOM.MAK, CHEAPCOM.C,
and CHEAPCOM.H.

CHEAPCOM.R
CHEAPCOM.MAK
CHEAPCOM.C
CHEAPCOM.H 
Title: THE MACINTOSH COMMUNICATIONS TOOLBOX
Keywords: DEC90 MACINTOSH  COMM TOOLBOX
Unpublished code accompanying Don Gaspar's article.

WILLIAMS.ASC
Title: SUPERCHARGING SEQUENTIAL SEARCHES
Keywords: DEC90	  DATA ACCESS 
Source code for Walter William's sorted sequential suffix search
technique.

ENTSMING.ASC
Title: EXAMINING THE ZINC INTERFACE LIBRARY
Keywords: DEC90  C++  INTERFACE
Source code for a smart line editor Gary Entsminger's examination of
ZIL.  Requires ZIL and Turbo C++.

STEVENS.ASC
Title: C PROGRAMMING COLUMN
Keywords: DEC90   C   BTREE
Source for Al Steven's C Programming Column.  This month Al reexamines
and implements b-trees.


DUNTEMAN.ASC
Title: STRUCTURED PROGRAMMING COLUMN
Keywords: DEC90   TURBO PASCAL   
Source code for Jeff Duntemann's experimental desktop manager
implemented using Turbo Pascal 6.0.


