APPLE /// Pascal
DISK ID : 3PCL-01
WAP /// SIG PD LIBRARY
PDS NAME : Pascal 1.2
DISK ID : 3PCL-01
BOOTABLE? Non bootable

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 PD LIBRARY
PDS NAME : Pascal 2.0 Compiler/Toolkit #1
DISK ID : 3PCL-02
BOOTABLE? Non bootable

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 PD LIBRARY
PDS NAME : Pascal Toolkit #2/#3
DISK ID : 3PCL-03
BOOTABLE? Non bootable

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 PD LIBRARY
PDS NAME : Pascal Pronto Debugger/SANE Disk #1
DISK ID : 3PCL-04
BOOTABLE? Non bootable

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 PD LIBRARY
PDS NAME : Pascal SANE Disk #2/#3
DISK ID : 3PCL-05
BOOTABLE? Non bootable

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 PD 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 PD LIBRARY
PDS NAME : Pascal Utilities: Putdemo & Putlib Demos
DISK ID : 3PCL-07
BOOTABLE? Non bootable

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 PD LIBRARY
PDS NAME : Wade's Pascal Patch/PCode Disassembler
DISK ID : 3PCL-08
BOOTABLE? Non bootable

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., /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 PD 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 PD 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 . 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 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 , 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 PD LIBRARY
PDS NAME : Modified Pascal Menu Maker
DISK ID : 3PCL-11
BOOTABLE? Non 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 PD LIBRARY
PDS NAME : Macstuff
DISK ID : 3PCL-12
BOOTABLE? Bootable

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 PD 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 PD LIBRARY
PDS NAME : David Craig Disk #2
DISK ID : 3PCL-14
BOOTABLE? Non 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 ///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 PD LIBRARY
PDS NAME : David Craig Disk #3
DISK ID : 3PCL-15
BOOTABLE? Non 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 ///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? Non 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 PD LIBRARY
PDS NAME : FORTRAN Manual: Disk 1
DISK ID : 3PCL-17
BOOTABLE? Non bootable

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 PD LIBRARY
PDS NAME : FORTRAN Manual: Disk 2
DISK ID : 3PCL-18
BOOTABLE? Non bootable

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 PD LIBRARY
PDS NAME : Fortran Language DISK ID#: 3PCL-19
DISK ID : 3PCL-01
BOOTABLE? Non 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 LIBRARY
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