Washington Apple Pi

A Community of Apple iPad, iPhone and Mac Users

Washington Apple Pi

Apple /// Disk Library

Pascal

DISK ID#: 3PCL-01

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: Pascal 1.2
DISK ID#: 3PCL-01              
BOOTABLE?: Nonbootable

DESCRIPTION: Pascal 1.2 Interp and associated files.
Requires knowledge of Pascal to operate. See manuals for more information.
The /// SIG has many copies - please feel free to ask for a set.

On Side One:
SOS.INTERP; SYSTEM.PASCAL; SYSTEM.EDITOR; SYSTEM.SYNTAX; SYSTEM.ASSMBLER
OPCODES.6502

On Side Two:
SYSTEM.COMPILER; ERRORS.6502; SYSTEM.LINKER; LIBRARY.CODE; LIBMAP.CODE
CHAINUNIT.CODE

DISK ID#: 3PCL-02

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: Pascal 2.0 Compiler/Toolkit #1
DISK ID#: 3PCL-02                
BOOTABLE?: Nonbootable

DESCRIPTION: Pascal 2.0 Compiler and first Toolkit disk. Requires 3PCL-01 and
knowledge of Pascal to operate. The /// SIG has many copies of the Pascal
Manuals. Call the office for your free set.


On Side One:
SYSTEM.COMPILER; PASCAL.OPTIONS; PASCAL.ERRORS

On Side Two:
TOOLS.LIB; XREF.CODE; XREF.LIB; XREF.OPTIONS; PASMAT.CODE; PASMAT.LIB
PASMAT.OPTIONS; PROCNAMES.CODE; PROCNAMES.LIB; PNAMES.OPTIONS;
COMPARE.CODE COMPARE.LIB; COMPARE.OPTIONS

DISK ID#: 3PCL-03

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: Pascal Toolkit #2/#3
DISK ID#: 3PCL-03              
BOOTABLE?: Nonbootable

DESCRIPTION: Pascal Toolkit disks 2 and 3.
Requires 3PCL-01 and knowledge of Pascal to operate.  The /// SIG has many 
copies of the Pascal manuals. Call for your free set.

On Side One:
TOOLS.LIB; FIND.FILES.CODE; FIND.FILES.LIB; PAGING.TEXT; PAGING.LIB

On Side Two:
LIB.KRUN.CODE; CLEARSEG.CODE; SORT.DIR.CODE

DISK ID#: 3PCL-04

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: Pascal Pronto Debugger/SANE Disk #1
DISK ID#: 3PCL-04               
BOOTABLE?: Nonbootable

DESCRIPTION: Pascal Pronto Debugger and the first disk containing Apple's
 Standard Apple Numerics Environment (SANE) (Primarily for the //).
 Requires 3PCL-01 and knowledge of Pascal to operate. Your /// SIG has many
 copies of the Pascal manuals. Call the office for your free set.


On Side One:
 SYSTEM.PASCAL; SYSTEM.INTERP

 On Side Two:
 A2X.BANKSW; A2X.LOADER; INCLUDE.EQUS; GENERIC.MACROS; PDOS.SANEMACRO

DISK ID#: 3PCL-05

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: Pascal SANE Disk #2/#3
DISK ID#: 3PCL-05                
BOOTABLE?: Nonbootable

DESCRIPTION: The second and third SANE numerics programs.
Requires 3PCL-01 and knowledge of Pascal to operate.
(Note: This disk requires 3PCL-04. IF you need the Pascal manuals, call
the WAP office for your free set.

DISK ID#: 3PCL-06

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: Pascal SOS I/O & ExerSOS
DISK ID#: 3PCL-06               
BOOTABLE?: Bootable

DESCRIPTION: Learn about SOS, the Apple ///'s operating system and ways
 to Input and Output through Pascal.  ExerSOS lets you test various
 Pascal procedures (File, Device, Utility & Memory calls). Your WAP
 /// SIG has free copies of the Pascal manuals. Call the office for
 details.
 
On Side One:
 SOSIO.CODE; ISOSIO.TEXT; IPSOSIO.TEXT; ASMSOS.TEXT; SOSEQUS.TEXT;
 SOSIOMAC.TEXT; SOSDEV.TEXT; SOSFILE.TEXT; SOSUTIL.TEXT;SOSMEM.TEXT;
 SOSDATA.TEXT; SOSPLUS.TEXT; DEVTRAN.TEXT; XMOVE.TEXT;USEXMOVE.TEXT

On Side Two:
 SOS.KERNEL; SOS.INTERP; SOS.DRIVER; HELLO; SCREEN.CODE; TOOL.CODE
 SCREENWRIT.TEXT; MAKEINTERP.TEXT

DISK ID#: 3PCL-07

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: Pascal Utilities: Putdemo & Putlib Demos
DISK ID#: 3PCL-07                
BOOTABLE?: Nonbootable

DESCRIPTION:

The Apple /// Pascal Utility Library is meant to provide the knowledgeable A3
Pascal programmer with the tools needed to write sophisticated programs for
any application. The aim is to free the programmer from tedious coding of 
details so that he can concentrate on program function.

To this end, the Pascal Utility Library id divided into three main groups of 
modules:

- The General Utility modules relieve the burden of writing the 
general-purpose routines needed for user-program interaction, error-checking,
and data conversion.

- The file Access modules are a powerful tool for consistent handling of data
files.

- The B-tree modules combine features of sequential and binary tree access to
provide a means of sorting and searching through data in memory.  The
underlying data structure is flexible enough to accomodate any key length 
from 1 to 16 bytes.

The TESTUNIT program provided with this package will permit you to observe 
the effect of calling the modules with specific parameter values. In an 
application program, it remains the programmer's responsibility to call the 
modules properly as defined in the documentation. This will encourage 
well-organized, readable code.

Requires knowledge of Pascal to use.  The WAP /// SIG has many copies of the
Pascal manuals. Call the office for details. The manual for this disk is
available for the cost of copying. Contact Dave Ottalini for details at 
301-681-6136.


On Side One (Putdemo):
 TESTUNIT.TEXT; TESTUNIT2.TEXT; TESTUNIT.CODE; CREATEFILE.TEXT;
 CREATEFILE.CODE; LISTSTATUS.TEXT; LISTSTATUS.CODE; INVENTORY.TEXT;
 INVENTORY.CODE; TESTBTREE.TEXT; TESTBTREE.CODE; VIDEOTAPE.INV

On Side Two (Putlib):
 GENUTIL.TEXT; GENUTIL2.TEXT; GENUTIL3.TEXT; FILEACCESS.TEXT; BTREE.TEXT;
 BTREE2.TEXT; SYSTEM.LIBRARY; LIBRARY.CODE

DISK ID#: 3PCL-08

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: Wade's Pascal Patch/PCode Disassembler
DISK ID#: 3PCL-08              
BOOTABLE? Nonbootable

DESCRIPTION: Side One has Dan Wade's Pascal Patch program:

*Now Version 2.0!

The purpose of super PMOVE is simple- To move the Apple /// Pascal
SYSTEM files (SYSTEM.PASCAL, SYSTEM.FILER, SYSTEM.COMPILER, etc.) from
the crowded root directory of a hard disk volume (50 files maximum) to
an uncrowded sub-directory file (2nd level only!) on that volume.
This action gives you more room in the root directory for other
programs that need root directory space.

The program assumes that you have already upgraded your system to
Pascal 1.2, and used its PMOVE program to place the Pascal
SOS.INTERPreter's SYSTEM file presumptions from .D1 to the root
directory of your hard disk volume.  SUPER PMOVE will 'patch' the
SOS.INTERPreter to look to a new sub-directory named by you (I
strongly suggest the name of SYS1.2 [i.e., <device name>/SYS1.2]),
then transfer the root directory SYSTEM files to the sub-directory.
Once done, the root directory files can be deleted.

The program is self documented, with help screens.

Side Two has a p-Code Disassembler - which creates Op-Codes from Pascal
code files. Not Self-Booting.

DISK ID#: 3PCL-09

WAP /// SIG PUBLIC DOMAIN LIBRARY


PDS NAME: CHAOS PROGRAMS IN PASCAL
DISK ID : 3PCL-09
BOOTABLE? YES


Disk by C.M.Davidson
February, 1991

INTRODUCTION


This disk contains several programs for drawing some of the familiar icons of
chaos theory: MANDELBROT graphs, FEIGENBAUM diagrams and LORENZ attractors. 
The material draws very heavily on the book:

     Dynamical Systems and Fractals - Computer Experiments in Pascal.

                  by

     Karl-Heinz Becker and Michael Doerfler
     Cambridge University Press (1989)

     ISBN 0 521 36910 X (paperback).

Needless to say, alas, Apple /// Pascal is NOT one of the dialects treated by
the authors (IBM, Macintosh and Amiga are the favoured machines), but some
information is provided on Apple ][ Pascal application - from which I have
adapted the programs here.


DISK ORGANIZATION.

Side 1 contains three Pascal codefiles and this information file:

MANDELPROG.CODE when executed prompts the user for the leftmost, rightmost
and bottom limits of the field to be scanned.  It then sets the top limit to
maintain the diagram proportions and plots the area of the Mandelbrot diagram
covered (this can take several hours!).  Finally it saves the diagram as a
Pascal DATAfile in the active directory under the name 'MANDELBROT.PIC' and
is returned to the Pascal Command level by hitting 'RETURN'.

FULLMANDEL.PIC (on side 2) illustrates the complete Mandelbrot diagram for
all areas of interest.  It was created as a Pascal DATAfile and converted to
a FOTOfile for ease of viewing with the Basic Menu program.


FEIGENPROG.CODE when executed prompts the user for the left, right, bottom
and top limits of the field of interest, as well as for two more variables
which determine respectively how many iterations will be performed before
points are plotted, and how many points will be plotted, in each
generation.  It then computes the necessary iterative calculations and plots
the FEIGENBAUM BIFURCATION diagram for the field specified, saves the diagram
and its variables as 'FEIGENBAUM.PIC' and awaits a 'RETURN' to return to the
Pascal command level.

FEIGEN.PIC (Side 2) illustrates an overview of the diagram, between the
limits shown.

LORENZPROG.CODE when executed prompts for the three parameters A, B and C of
the differential equations used by Lorenz in his discussion of the
instability of simple systems:

     x' = A*(y-x)
     y' = B*x-y-x*z
     z' = x*y-C*z

then proceeds to plot the movement of a point subject to these constraints as
it succeeds or fails in finding a stable locus; most often its track
oscillates between two separate loops in the well-known 'butterfly' figure. 
The plot is interrupted by any keystroke, upon which the program saves its
diagram under the name LORENZ.PIC in the active directory, and returns to the
command level after 'RETURN' is pressed.

LORENZ.PIC (Side 2) illustrates a typical shape for the Lorenz Attractor.


Side 2 also contains two subdirectories of Pascal source code - FULLTEXTS and
FRAGMENTS.

FULLTEXTS contains the main text files (their names are self-explanatory)
from which each of the three programs is compiled, as well as a skeleton text
file for use in generating other programs.  Each of these text files uses
{$INCLUDE} commands to incorporate a common file of utilities and a file
specific to the main text being compiled.  These are all found in the
subdirectory FRAGMENTS.

DISK ID#: 3PCL-10

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: Pascal Menu.Maker
DISK ID#: 3PCL-10
BOOTABLE?: Bootable

This disk contains a wonderful Pascal version of the venable Basic Menu.Maker
program found on most WAP /// SIG PD disks.  A former /// SIGer - 
Tom Bartkiewitz - wrote this program from scratch.  The program can be
loaded onto a hard disk and used like any other. It can run any
Pascal program, read text and 3 EZP/AW files, change fonts, etc.

Since this is a Pascal-based program, you must first boot side one
and then flip over the disk to side 2 and hit <RETURN>. From there, you
can
create a menu from any disk you might have.  It can read any Pascal text,
ASCII, or 3EZ Pieces text file (that's right....3 EZPs!). It will also run
any pascal-based program you might have.  Since this is not an
assembly-language program like Selector or Catalyst, however, it will NOT run
a Basic or other language program.  The program is unprotected and source
code is included and fully documented.

Just like the Basic version of Menu.Maker, when booted, you will get
our standard hello message (written by Jim Salerno).  From there, you are
taken immediately into Menu.Maker and your menu of the disk in .D1 (that is,
the PD Menu.Maker disk).  The Side 2 menu includes the following:


SYSTEM.LIBRARY      Code
HELLO.TEXT          Text
FONTS               Catalog
PRINT.TEXT          Text
SYSTEM.STARTUP      Code
MENU.MAKER.CODE     Code
PROGRAMS            Catlog
PRINT.CODE          Code


At the bottom of the screen you are told to press the Open Apple key
and "?" for help and the <ESCAPE> key to exit the program (and return to
the
Pascal command line).  The Help file is a window laid over the first screen
and gives the date and time, as well as a number of options available to the
user.  It describes the various actions taken by highlighting a Code, Font,
Catalog, Ascii, Text or 3 EZP word processing file.  In addition, by pressing
Open Apple and "S", Menu.Maker will display the system memory map.  Here,
you'll find out how much RAM is available in your Apple ///; how much is in
use; how much memory SOS is taking up; how much memory the Interpreter is
taking up; and finally, how much is available to the user.
         
Open Apple and "V" displays and allows the user to select the
available "block" devices (like .D1; .D2; .Profile, etc.). By moving the
cursor and highlighting the desired device and pressing <RETURN>, you can
change the prefix and Menu.Maker will give you the menu on that device
(based, of course, on what drivers you loaded at bootup)! You can then read
files or run the programs from that new prefix!
        
The Pascal Menu.Maker can load and display any font you desire
quickly and easily (it really "glides" from one to another). This disk
includes some fonts for you to test out.  The print program was added by ///
SIG member Jim Salerno, so you can print out any file on the disk.  The
Programs catalog includes a Pascal program to set the date and time.  By the
way, when these programs end, you will be returned to the Pascal command
line.  To rerun Menu.Maker, type "X" and then ".D2/Menu.Maker.Code" and
.
        
On Side 1 of this disk, along with the boot files, you will find
two Sources catalogs.  These contain a number of text, ascii and a 3EZP word
processing file with information pertaining to the disk, and other useful
material.  You will want to read the Sources.Text file, which explains
everything on the disk in much greater detail that I can do here.  Everything
is explained in full detail, and anyone who enjoys Pascal prgramming will
have no trouble following what Tom has done.
        
By the way, this program is easily installed for use under either
Catalyst or Selector.  You could also use it as a "turn-key" disk for
specific Pascal programs you might wish to run or files you wanted to read.
To make this disk more useful for that purpose, please remove all the
extraneous files included on this disk (source code files, etc.).


 Side One: Boot Disk and source code.

 Side Two: Program Disk
         : Read.Me.First Information File

DISK ID#: 3PCL-11

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: Modified Pascal Menu Maker
DISK ID#: 3PCL-11               
BOOTABLE?: Bootable

DESCRIPTION: C.M. Davidson's modified version of the Pascal Menu.Maker
 program, designed to allow the importation of Apple /// Fotofiles.
 See the Read.Me file for more information.  Knowledge of Pascal
 required.

 Side One: This side is bootable into our Basic Menu.Maker program
           to have access to the Read.Me file. Also some FOTO files.
 Side Two: Non-booting files associated with the modified Pascal
           Menu.Maker program, TYPESET.CODE and two Mandelbrot pgms.

DISK ID#: 3PCL-12

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: Macstuff
DISK ID#: 3PCL-12               
BOOTABLE?: Bootable

DESCRIPTION:

Disk 3PCL-12 contains the code file and information about Macstuff, a 
one-time commercial program that tried to give the Apple /// a graphical
interface like the Macs. Side One is self-booting and includes the files 
listed below.  Side two includes a demo Skeleton.Code file and the actual
Macstuff.Code file.  Extensive Pascal programming experience is required
to use this program - No manual on disk is, as of yet, available.


-: On Side One:
-: ARTICLES         : Bibliography of articles about Macstuff.
-: MACSTUF.N.FONTS  : More information about Fontmanager and Macstuff.
-: MACSTUFF.DEMO    : ATUNC article about Macstuff and Font Generator.
-: MACSTUFF.PSCL    : Product announcement about Macstuff.
-: READ.ME.FIRST    : What's on this disk.

-: ON SIDE TWO:
-:
-: SKELETON.TEXT  :Pascal Text file of SKELETON.CODE Macstuff demo code file.
-: SKELETON.CODE  :Pascal Code file of Macstuff skeleton demo.
-: MACSTUFF.CODE  :Actual Macstuff Pascal Code File.

DISK ID#: 3PCL-13

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: David Craig Disk #1
DISK ID#: 3PCL-13               
BOOTABLE?: Bootable

DESCRIPTION: Disks 3PCL-13, 14 and 15 are some of the nuggets we got from a
donation by Joe Dobrowolski (of Apple Users Group International). We
call them "David Craig Disks 1,2 and 3" since the material on these disks
were all placed into the PD by (yes, that's right....) ///er David Craig.
All require knowledge of Pascal to operate properly.

On Side One:
-: MUSIC:      Music playing code from the Apple ][ Programmer's Aid # 1
-:             collection
-: MUSIC.TEST: Tests the MUSIC routine by playing several scales
-: SOS.STATE : Returns SOS's internal status
-: SOS.HEART : Tests SOS.STATE
-: STR2REAL  : Simple program for converting string numbers to REAL values &
-:             is very good at testing the string for validity
-: Disk.Info : Information about these disks.

On Side Two:
-: ASMFORMAT : Formats assembler listing files so that all back-patches are
-:             correctly patched. Nice utility for the /// assembly people.
-: FILEDIV   : Divides large Pascal text files into smaller files.
-: 0NINE2ONE : Interesting number game whose purpose is to arrange a sequence
-:             of the first 9 digits (1 to 9) into a pattern.
-: WEEKDAY   : Day of the week calculator given any date.
-: TIMER     : Digital clock for the ///. Great for the /// owner whose watch
-:             has broken.

DISK ID#: 3PCL-14

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: David Craig Disk #2
DISK ID#: 3PCL-14              
BOOTABLE?: Nonbootable

DESCRIPTION: Disks 3PCL-13, 14 and 15 are some of the nuggets we got from a
donation by Joe Dobrowolski (of Apple Users Group International). We
call them "David Craig Disks 1,2 and 3" since the material on these disks
were all placed into the PD by ///er David Craig. All require knowledge of
Pascal to operate properly.


On Side One:
-: PPRINT    : Pascal source code pretty printer utility that supports
-:             hilighting of Pascal's reserved words.  Allows the user the
-:             ability to define words which are also hilighted.
-:
-: ON SIDE TWO:
-: UTS       : Pascal token search unit which is used by PPRINT. Useful for
-:             parsing any Pascal program.

DISK ID#: 3PCL-15

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: David Craig Disk #3
DISK ID#: 3PCL-15              
BOOTABLE?: Nonbootable

DESCRIPTION: Disks 3PCL-13, 14 and 15 are some of the nuggets we got from a
donation by Joe Dobrowolski (of Apple Users Group International). We
call them "David Craig Disks 1,2 and 3" since the material on these disks
were all placed into the PD by ///er David Craig. All require knowledge of
Pascal to operate properly.

On Side One:
-: EMUL.ROM   : Disassembled source code listing for the A ][ Emulation ROM
-:              for the ///.
-: SAVAGE     : Floating point benchmark program which tests the accuracy of
-:              the transcendental functions.
-: UDEBUG     : Runtime debugger which uses an external terminal.Used by most
-:              of my programs since I rarely write a program which runs
-:              correctly the first time.
-: USINCOS    : Nice Pascal unit for generating sine and cosine values.

-: On Side Two:
-: ASMFORMAT0.TEXT
-: ASMFORMAT1.TEXT
-: ASMFORMAT2.TEXT
-: ASMFORMAT3.TEXT
-: ASMFORMAT4.TEXT
-: ASMFORMAT5.TEXT
-: (ASMFORMAT : Formats assembler listing files so that all back-patches are
-:              correctly patched. Nice utility for the /// assembly people.)

DISK ID#: 3PCL-16

WAP /// SIG PD LIBRARY

PDS NAME: IEEE-488 FILES FOR THE APPLE // AND ///
DISK ID : 3PCL-16
BOOTABLE? Bootable 


By Jim Trezzo

Compiled and edited by Dave Ottalini - WAP /// SIG


This disk contains the software to support the IEEE-488 card from Pascal and
FORTRAN.  It takes the form of an application note; source listings, informal
documentation (no manual) and a diskette.

The software consists of two separate parts.  One part is written in Pascal
as a Pascal unit.  This unit (GPIB.CODE) contains higher level
functions available to the Pascal or FORTRAN application program.

The second part of the software takes the form of an attached driver to the
Pascal BIOS.  This driver (I488) is written in TLA assembler code.  The
Pascal unit GPIB, which supports the higher level functions, relies on low 
level functions provided by the attached device driver.  Low level functions
such as UNITCLEAR, UNITREAD, UNITWRITE and UNITSTATUS are provided by the 
driver.  All communication with the IEEE-488 card will be through the driver.


On Side One:


Read.Me.A2   : Information about the Apple // IEEE-488 software.
Read.Me.A3   : Information about the Apple /// IEEE-488 software.
Read.Me.First: This File

On Side Two:

You'll find the following Pascal Files:

ATTACH.DRIVERS
ATTACHUD.CODE
DOC.TEXT
GPIB.CODE
GPIB.TEXT
I488.TEXT
I488A.TEXT
I488B.TEXT
IGPIB.CODE
IGPIB.TEXT
SYSTEM.ATTACH
APPLE3 (Subdirectory)
- IEDOC.TEXT
- GPIB.CODE
- INFO

DISK ID#: 3PCL-17

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: FORTRAN Manual: Disk 1
DISK ID#: 3PCL-17                
BOOTABLE?: Nonbootable

DESCRIPTION: Disk One of Two disks containing the manual for the Fortran
 Language. Pascal required to read/print these files (which are Pascal
 Text Files). Use Pascal Menu.Maker, disk 3PCL-10 to read or System
 Utilities to print (disk 3SYS-02 - use "Copy Files" and copy to
 .Printer).

DISK ID#: 3PCL-18

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: FORTRAN Manual: Disk 2
DISK ID#: 3PCL-18              
BOOTABLE?: Nonbootable

DESCRIPTION: Disk Two of Two disks containing the manual for the Fortran
 Language. Pascal required to read/print these files (which are Pascal
 Text Files). Use Pascal Menu.Maker, disk 3PCL-10 to read or System
 Utilities to print (disk 3SYS-02 - use "Copy Files" and copy to
 .Printer).

DISK ID#: 3PCL-19

WAP /// SIG PUBLIC DOMAIN LIBRARY

PDS NAME: Fortran Language
DISK ID#: 3PCL-19
BOOTABLE?: Bootable

DESCRIPTION: Fortran Language. Requires Pascal.  See Manuals on Disks
-: 3PCL-17 and 18.
-:
-:On Side One:

Type    Blocks Name
 Pascod   156  FORTRAN.CODE
 Pastxt    31  FORTRAN.ERRORS
 Pastxt     7  SOSERRORS
 Pasdta    54  SYSTEM.LIBRARY

On Side Two:

Fortran.EZP - Data Base file of information about Fortran. Requires 3EZ 
              Pieces or AppleWorks.

DISK ID#: 3PCL-20

WAP /// SIG PD

PDS NAME: PASCAL 
MODULES FOR DEVELOPERS
DISK ID#: 3PCL-20
BOOTABLE: Not Bootable - requires Pascal

This disk includes a number of Pascal Modules you can use to help you
as a developer.  Below is a list of each file and a short description
of what each one does.  IF you use any of these to develop a program
for the Apple /// we hope you'll share it with the rest of the ///
Community!


SIDE ONE:


CRT.LIB.TEXT

  Pascal screen control library utility routines for Apple ///.
  Created to control cursor functions use interfaces in
  CURSOR_LIB.          By E.J. Fournier


CURSOR.LIB.TEXT

  Pascal cursor control library utility routines for Apple ///.
  Created to control screen/viewport functions use
  interfaces in CRT.LIB.      By E.J. Fournier


WINDOW.BOR.TEXT

  The code was created as a result of not having the "chr()"
  character definitions for the characters used in the FORM program in
  the XA7 library.  The routine could be expanded to include other character
  shapes to make a more interesting border but the border created using
  standard characters and this one special character is really sufficient.
  By E.J. Fournier


PAS.WINDOW.TEXT

  I started writing a few more programming utilities and came across
  the controls to save and restore the screen.  I decided to experiment
  and the result is the code shown below.  I realize the experiment
  itself is of no real use but it demonstrates some of the speed with
  which you can manipulate the screen and some of the possibilities that
  exist for window manipulation.  You can save screens in memory and
  instantaneously display them rather than write them to the screen.
  Consider their use in the FORM program (those of you that have down-
  loaded it).  Anyway, compile this and use the cursor keys to move the
  window around.  Use ESC to quit.  Consider as you use the arrows that
  your restoring the entire screen and the small window as you move about
  By the way, you're expected to have the CURSOR and CRT libraries in the
  SYSTEM.LIBRARY                   By E.J. Fournier


PSCL.SCRN.TEXT

  Here are a few more screen utilities for those of you that do some PASCAL
  programming.  I really started to do a window function that was going to
  save window in dynamicly allocated memory with restoration by utilization
  of a window number.  Unfortunately it just didn't work out and since I
  had no use for it other than the thought that it would really be a neat
  feature, I quit the effort.  If anyone thinks they can do it ( I was
  planning on having a varient subrecord to conserve memory), let me know
  how you make out.  All the parts are here.

  P.S. You may want to combine these library routines.  I did them seperate
  thinking they wouldn't all get loaded if only one was used.
  By E.J. Fournier


WINDOWUTIL.TEXT

  I started writing a few more programming utilities and came across
  the controls to save and restore the screen.  I decided to experiment
  and the result is the code shown below.  I realize the experiment
  itself is of no real use but it demonstrates some of the speed with
  which you can manipulate the screen and some of the possibilities that
  exist for window manipulation.  You can save screens in memory and
  instantaneously display them rather than write them to the screen.
  Consider their use in the FORM program (those of you that have down-
  loaded it).  Anyway, compile this and use the cursor keys to move the
  window around.  Use ESC to quit.  Consider as you use the arrows that
  your restoring the entire screen and the small window as you move about
  By the way, your expected to have the CURSOR and CRT libraries in the
  SYSTEM.LIBRARY.                          By E.J. Fournier



FONT.CAP.TEXT

  This program will extract FONT character data from a SOS.DRIVER
  file and then store the data in a new file for use by you.
  If you plan to use the new FONT file with Business Basic,
  use the PASCAL FILER to change the FONT storage file type from
  a PASCAL data file to a FONTFILE...

VIEWPRTPOS.TEXT

  This is a collection of Pascal procedures used as screen utilities on the
  Apple ///.  Also included are a few others such as one to clear the
  input buffer. Submitted by Harry Baya, 72135,1667, 6/8/85 

PSCL.MOUSE.TEXT

    This is a little graphics demo to show how the Mouse can be used in
  Programming on the Apple ///.  This program requires that Applestuff,
  Pgraf, and Psosio be located in the system library. Psosio is an implemen-
  tation of SOS Commands straight from Pascal. It is part of the Pascal Tech
  reference manual package. I only use it to get the SOS device number of the
  Mouse Driver. The procedure Pnum then translates this into the Pascal Unit
  number needed by the Unitstatus, Unitread, and Unitwrite commands.
    The program is setup to run the BW 280 graphics mode. It allows the user
  to do freehand drawing. The program will plot a point by pressing the mouse
  button and by holding it down it will draw lines as fast as you move it,
  but the faster you do the more jagged it becomes.


   COMMANDS:                                        EFFECT:
   Click the Mouse                                Plot a Point
   Hold the Mouse Button Down                     Draws solid lines
   Open-Apple X                                   Keeps X-Value Constant
   Open-Apple Y                                   Keeps Y-Value Constant
   Open-Apple C                                   Clears the Screen
   Open-Apple S                                   Switch Between Screens
   Open-Apple Q                                   Quits the Program

     The Open-Apple X and Y commands are nice for plotting strictly horizon-
  tal or vertical lines. One note is that these two commands stay in effect
  until another key is pressed (i.e. the spacebar). Since I had the program
  hang up every time I tried to write to the Mouse I decided to forego it at
  this point. The net effect is that the Mouse will jump to a new position
  when the Open-Apple X or Y command is terminated. Not a major problem but
  still annoying.
     Meanwhile enjoy playing Mouser for awhile. It's not quite a MAC and
  thats a pleasing thought.

  By: David Bixby    16 Mar 85

PRINT.SCRN.TEXT

  This program was taken in part from the window demo program by
  E.Fournier.  I have added a Print Screen routine that will print the
  buffer that contains the screens contents.  I have also added a
  GET_KBD_BYTE routine that will return the first byte from the keyboard.
  if you use this routine in your program you will always have the PRTSCR
  routine if you press BOTH APPLES and the ENTER key (not the return key)

  It would not be too much trouble to add a on-line notepad / calandar /
  and other routines that would use a special keys.  If someone writes
  some of these routines, Please upload them so everyone can use them.
  This program uses the CRT.LIB that is in the data base so upload that
  first to use this program.

  TODD BLACKLEY  [72426.206]


SIDE TWO


An  assortment  of PASCAL utilities and input routines. Included are text
input routines, long integer  conversion, SOS  time  and date, unitstatus
calls  and  more.  Source included.

GENUTIL3.TEXT; SOSTIME.TEXT; TGENUTIL3.TEXT; TGENUTIL3.LIB; SOSTIME.CODE;
TGENUTIL3.CODE

Return to Apple /// Library page
Washington Apple Pi Apple /// Resources

Revised December 27, 1997 lic
Washington Apple Pi
URL: http://www.wap.org/a3/