|
| NOTE: Changes to this file made by the librarian are marked with a
| "|" character in the first column.
|                     ----------------
|
This disk provides a number of sample Pascal programs.  Some are very
simple; others are more complex.  Most are quite short, while a few are
are fairly long.  All will compile on a 128K machine with two regular
(160K) disk drives.

These programs were put together to help the programmer get started
with IBM Pascal.  Many aspects of the language are hard to figure out
from the reference manual; having some sample programs that do work
is frequently very helpful.  These programs were assembled, therefore,
mainly as illustrations of how various things can be done in IBM Pascal.
Most are intended more as "helpful hints" than as products.

In rough order of increasing complexity the programs provided are:

COPYFILE  -  A fairly basic Pascal program that shows how
             text files are defined, read, and copied.

DUMPFILE -  A more complex Pascal program, which will produce a combined
            hexadecimal and ASCII dump of a disk file.

TABSET1 - A very basic Pascal program which shows how the printer can
          is accessed, and which sets tabs on an Epson MX-100.

TABSET2 - Another version of the same, which treats the printer as a
          binary file rather than a text file.

TIMM, -  A group of files, which illustrate the concept of a Pascal unit.
TIMU,    File TIMU is the unit itself; file TIMI is the interface; and
| TIMI   file TIMM is a main program which uses the unit.  The unit
         itself illustrates use of the DOSXQQ function to call on DOS
         services.

|        Note: TIMI is an include file and should not be compiled.
|              Linking string:    LINK  TIMM+TIMU;

SCREEN - A short program to illustrate how the ADS type can be used
         to get at specific addresses, in this case the memory block
         associated with the monochrome display screen.

| SCREENC - A modified version of SCREEN that works on Color/Graphic
|           board equipped computers.
|

PRINTER - A useful utility which can be used to print a whole series
          of files. (This program also uses (INCLUDEs) PARSE.P,
          INDEX.P, and DSNAME.P).  A good example of a fairly long
          Pascal program.

|         Note: This program does not work!

XREF -  Another useful utility - a cross-reference generator. Also
        a longish Pascal program.

|         Note: This program does not work!

UNSQ - A program for unsqueezing files, compressed by techniques such as
       Huffman encoding.  Illustrates some fairly complex data structures.

PRETTY - A Pascal pretty-printer.  Useful utility for listing Pascal
         programs. Fairly long (Includes PARTA, PARTB, and PARTC) and
         fairly complex.

|        Note: This program provides automatic indention of PASCAL
|              programs. However, it also automatically converts all
|              lower case characters to upper case (Except those in
|              literals). It also converts all comment constructs to
|              the construct (* , *) .
|

GETDIR - A brief Pascal program that uses an assembly language routine
         (GETSEC), provided in both source and object, to show how one
         can access a disk directory through Pascal and Assembler.

VIDEO - A short assembler subroutine which can be called by Pascal
        (as in the foregoing example) if you need to perform BIOS
        video interrupts from Pascal.

|       Note: The Object for this file is provided (V1.00) for those
|             who do not have access to an IBM Assembler.


PASCLG, - A set of command files that help the whole process of compiling,
PASCL     linking, and executing Pascal programs.  For use, these procedures
PASC      should be copied on each of the three Pascal disks (PAS1, PAS2,
          and PASCAL library); your work disk should be in drive B, which
          also should be the default volume.  A Pascal compilation,
          linking, and test of program TESTX.PAS can then be requested
          with the command "a:pasclg testx".

|         Note: Four different extensions of these programs are
|               provided for your use. (C, CL, C-LST, CL-LST)

FLUSH -  A short command file useful for cleaning up the residue of
         a Pascal compilation and test (.OBJ, .LST, .MAP, .EXE etc. files)
         A call to "flush xyz" will scratch all XYZ.--- files except for
         XYZ.PAS

|        Note: A different version of this batch file called CLEAN.BAT
|              will delete "Only" .OBJ's, .LST's, .SYM's, & .BIN's.
|              This allows you to clean up the disk after compiling or
|              crashing a compile without deleting the EXE as FLUSH
|              would.

That's it for now.   If you find these programs and examples useful,
the Pascal SIG will try to put together another batch. We hope that next
time we'll include some of your contributions and suggestions!!!

                                    Good Luck !

                                    Pascal Special Interest Group
                                    Capital PC Users' Group


========================================================================
                   L I B R A R I A N   N O T E
========================================================================

 If you encounter problems with any PASCAL LANGUAGE Disk please
 let me know!

                        Chuck Thornton
                  Pascal Language Librarian
                     467 - 1651 (evenings)

                       P.O. Box 55085
                      Houston, Tx 77255
