From: cs89ssg@brunel.ac.uk (Sunil Gupta)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: srgp wanted
Date: 26 Jan 93 10:18:23 GMT
Organization: Brunel University, Uxbridge, UK
X-Newsreader: TIN [version 1.1 PL8]

From: "Thomas M. Breeden" <tmb@darwin.clas.Virginia.EDU>
Message-Id: <199301251358.AA30015@darwin.clas.Virginia.EDU>
X-Mailer: Mail User's Shell (7.2.3 5/22/91)
To: Sunil Gupta <cs89ssg@brunel.ac.uk>
Subject: Re: srgp wanted
Status: OR

On Jan 22, 11:17, Sunil Gupta wrote:
> Subject: Re: srgp wanted
> > 
> > Hi.
> > I did an Amiga port of SRGP that I can put up on an anonymous ftp site.
> > It was done under AmigaDOS v1.3, but I never really used it for much,
> > since v2.04 arrived about the time I finished SRGP. So, you are on
> > your own dealing with remaining bugs and glitches there.
> > 
Ok. I've put it up for you.

Following is some more info about it.

Let me know if you have any trouble getting it downloaded.

Tom Breeden
tmb@virginia.edu

-------------------------------------------------------------------------

Amiga SRGP has been put up (temporarily) on ftp.virginia.edu
(aka uvaarpa.acc.virginia.edu) (akd 128.143.2.7).

Under the directory "public_access/asrgp" you should find the following:

 39998 DISTRIBUTION.txt     User and Implementor Notes, archive contents
 37822 ETC.lzh              various text and data files
316565 COBJ.lzh             Libs for C version
195736 CSRC.lzh             Sources for C version
181997 M2OBJ.lzh            .sbm and .obm for Modula 2 version
119273 M2SRC.lzh            Sources for Modula-2 SRGP
247422 M2SUPPORTSRC.lzh     Sources for M2 support modules
197342 TSTPGMEXECS.lzh      Amiga executables for a few test pgms
 35452 LHARC                a copy of LHARC for decompressing the .lzh

Tom Breeden
tmb@virginia.edu

-------------------------------------------------------------------------


SRGP

Copyright 1990, Addison-Wesley Publishing Company, Inc.

Addison-Wesley Publishing Company, Inc. makes no representations
or warranties, express or implied, with respect to this software and
its documentation, including without limitations, any implied warranties of
merchantibility or fitness for a particular purpose, all of which are expressly
disclaimed. The exclusion of implied warranties is not permitted by
some states. The above exclusion may not apply to you. This warranty
provides you with specific legal rights. There may be other rights that you
have which may vary from state to state.

-----------------------------------------------------------------------------

Amiga SRGP Users Notes
Jan 26, 1992

Amiga portions copyright (c) Thomas Breeden

Simple Raster Graphics Package

   SRGP was designed and created by Andries van Dam and David F. Sklar to
   accompany the textbook, COMPUTER GRAPHICS, PRINCIPLES AND PRACTICE by
   Foley, van Dam, Feiner, and Hughes, Addison-Wesley, 1990.

   SRGP is copyright (c) Addison-Wesley, Inc, 1990.

   For documentation on SRGP and for Mac, PC, or X versions, send e-mail
   to graphtext@cs.brown.edu with the Subject: "Software-Distribution" or
   write to:

	Graphics Textbook Support
	c/o Dr. vanDam or Mr. Sklar
	Brown Univ box 1910
	Providence, RI  02912

   The Amiga version beta-012692 was developed mostly from X11 SRGP Version
   1.0 -- RELEASED 22 Nov 90.

Amiga Configuration

   You'd better have at least 1MB memory, and a hard disk may be necessary
   for any useful work with SRGP.

   This was developed on AmigaDos v1.3.

AmigaDOS Assigns

   SRGP: should be assigned to the directory with the various "lookup" files
   described below.

SRGP SCREENCANVAS Location

   Unless otherwise constrained (see below), the SCREENCANVAS window will be
   opened on the workbench screen if it will fit (in X, Y, and depth).
   Otherwise, a new Amiga screen will be opened that will accomodate it.

   If the height is small enough, non-interlace video will be used.
   Currently, no ECS video modes are supported.

AmigaDOS Environment Variables

   The environment variable "SrgpScreen" is checked for on startup. If its
   value is "WORKBENCH", then the SRGP SCREENCANVAS will be opened always
   on the workbench screen (even if it is too big). If the value is "PRIVATE",
   the SCREENCANVAS will always be opened on its own screen.

Middle Mouse Button

   Use either Amiga key and the left mouse button to register a middle button
   press. (Sorry, no button chords of left+middle button).

Colors

   File RGB.txt serves as a lookup table for finding the "common" color names.

   If you are running on the workbench screen, and the SRGP program changes
   palette colors, on ending it will restore them to what they were when
   it began (for good or ill).

Fonts

   Font Namimg conventions:

   Font names can include size and possibly style information.

   Names accepted include, 

        >  the "generic" names: "NORMAL", "PUBLISHING", "FANCY".

           If only name and size are included, then the size information follows
           the name information, either as

        >  Amiga-style font names such as "Times.font", or "Times" (".font"
           will be added if not there), or "sys:AltFonts/Times".

        >  The above, with added specification of style (optional) and size,
              such as Times-24" or Times-Bold-24", dashes used as separators.

           Styles are Bold, Italic, Underline, or also "B", "I", "U".
           Combinations are also accepted, as "BI" or "BoldItalic". "R" or
           "ROMAN" is also accepted by itself, not in combination.

           For the three generic names, the "generic sizes accepted are
           Tiny, Small, Normal, Big, Huge. eg, "publishing-tiny", or
           "Publishing-B-huge"

           If name, style, and size are all indicated, the style goes second.
           Style cannot be specified without also size.

   Name alone will give Normal size for the "generic" fontnames. An open attempt
   will be made at size 11, otherwise, but with "family match" specified, so that
   the actual opened size could be anything, and will succeed only if there is
   an already load (Amiga loaded) font of that family.

        > If the font open fails, the passed name will be looked up in file 
          SRGP:Fonts.txt and, if translated there, retried. This file is expected
          to translate X11 or MacIntosh font names. (Add more names to it
          at your leisure).

Cursors

   File SRGP:Cursors.dat contains Amiga pointer (sprite) definitions for the
   standard SRGP cursors (many of them, anyway).

   These were hand-drawn and many are fairly rough. Also, I ran out of steam
   before doing all 100+ of them. Programs for reading/writing from the current
   Preferences pointer and the SRGP:Cursors.dat file (GetPrefPointer and
   SetPrefPointer) are included here if you want to edit these cursor shapes
   using the Preferences pointer editor.

   Better yet, you could write a program to translate the X cursor font (which
   is pd) entries into the Amiga sprite format for SRGP:Cursors.dat. (PROBLEM:
   Amiga points don't have the resolution of the X font elements).

   No provision has been made for turning the cursor off (ie NOECHO Locator).

Files

   SRGP:RGB.txt is translates from a "common" color name into an RGB triple.

   SRGP:Fonts.txt translates from any arbitrary font specification into an
   Amiga font.

   SRGP:Cursors.dat contains the Amiga pointer (sprite) definitions for the SRGP
   standard cursors.

   SRGP:srgpdefaultpatterns.txt contains the first 104 predefined patterns. It
   is automatically loaded if need be.

Non-fatal Error Handling

   This is implemented, but little effort has gone into insuring that
   SRGP will be left in a reasonable state after an arbitrary error.

   Two that should definitely work ok: a failure in loadFont() and a failure in
   loadCommonColor().

Little Bugs and Unimplemented or Partially Implmented SRGP Features

   Linestyles have no effect on ellipse draws, which are always drawn with
   a CONTINUOUS pen.

   LINEWIDTH is implemented in a very simple, incorrect fashion. For lines,
   XOR write mode creates noise in thick lines. For ellipses, it can leave
   holes in thick ellipses.

   WRITEMODE has no effect if a BITMAPPATTERNTRANSPARENT or BITMAPPATTERNOPAQUE
   fill is being done.

   SRGPallowResize() can only be called before SRGPbegin(). (Further, the C
   version still has a bug that will crash the program if SRGP_allowResize()
   is called.

   The Text input cursor is not tracked (as the rubberband line is), so that
   it may cause a bit of noise to appear if writing or erasing goes occurs
   on top of it.

   SRGPinquireExactTextExtent() is simply a call to InquireTextExtent().

   Not all cursors are implemented (see utility programs below).

   The position field of the deluxe keyboard is not done right.

   For unknown reasons (at least to me and to the SAS tech support telephone
   person), the BLINK of a program for the C version may as for a non-existing
   module named "__MemCleanup". Simply give the name of "_MemCleanup" and
   it will link ok.

Big Bugs

   The C version does not handle all program aborts well and may crash the
   machine on abnormal exit.

   Program TestLocator has been observed to crash the machine approx every
   50th run or so. (This may have been tracked down and fixed 11/29/91).

Languages

   The package is available in a Modula-2 version (Benchmark compiler) and
   an ANSI C version (SAS compiler 5.10).

Support Modules

   Modula-2 users MUST use the supplied support modules, both object and
   symbol files. Note that some of these supercede some supplied by
   Benchmark (including Storage).

   C users should note that the libraries (and make files) are created
   with compiler -b0 and -r0 flags for always 32 bit referencing. The
   test programs were linked with library lcnb.lib.

   A good many general and amiga-specific support modules are used:

      AmigaResources                 AmigaTimer
      AnsiTerminal                   DynStr0
      DynStr1                        DynStr1C
      DynStr2                        DynStr3
      ExecTasks                      FileLUT
      FontSupport                    GeneralProgramming
      IDCMPSupport                   In1
      In2                            IntuiSupport
      ListV2Processor                Queue
      RawKeyHandler                  Str0
      str1                           Str2

   For C programmers, a make file for creating this local library 
   is supplied (LOCLIB.MAKE).

Amiga Cleanup

   The "AmigaResources" support module is designed to accept "registrations"
   of termination procedures to be called on program exit or abnormal exit.
   This module is used extensively within the SRGP code.

   Modula-2 programs should ALWAYS import Trapper and AmigaResources in
   the main module and call AmigaResources.CleanUp(AmigaResources.AllResources)
   as the last thing the program does before ending.

   C programs should note that AmigaResources uses atExit() and should be
   careful about using it themselves. They can register termination procs via
   AmigaResources' UseOther() func.

Testing

   Test Programs

       TestColors      TestCursors      TestEdit        TestEllipses
       TestFills       TestLines        TestLocator     TestPaint
       TestPatterns    TestResize       TestRubber      TestTime
       TstCanvas       TstLogo          TstSRGPRaw      TstSRGPText
       XDEMOA                       

   Testfiles include

       AMIGA.XBM                 an X bitmap file of the Amiga Logo.
       Patternbrush.iff.pat      a pixpattern for testing.
       PIXPATDEF                 another pixpattern for testing.

       Test...make  -one to make each test program
       tstpgms.s    -does all the makes of all the test programs.

   Not a whole lot o' testing going on, but...

      > No memory leak appears to be occuring.
      > No other resources (fonts, signals, windows, etc) appear to be
        left un-returned.
      > Test programs (in M2) appear to run ok with a stack of 4000 (though
        I normally run with a much bigger stack - 30,000).
      > Test programs appear to run when < 1MB of memory is available.
      > Test programs appear to run ok on 68000 as well as 68030.

   Most testing has been done with the Modula-2 versions of the test programs,
   however, all test programs appear to run the same in both languages (except
   for the C version of TestResize, which currently does not work).

   Enforcer has not (yet) been used.

Utility Software

   BrushtoPixmap.mod     will turn an 8x8 DPaint IFF saved brush into
                         a SRGP Pixmap pattern file.

   GetPrefPointer.mod    will write the current Intuition pointer into the
                         specified slot in the file SRGP:cursors.dat.

   SetPrefPointer.mod    will read the specified slot in the file
                         SRGP:cursors.dat into the current Intuition pointer.

   TestUtils             is a module with some useful operations for the
                         construction of testing programs.

   SRGPutilities         is a module with some useful routines (esp for M2
                         use, since M2 does not allow a func to return a
                         structure). It also contains a routine for reading
                         an X bitmap.

Yours truly,

Tom Breeden
PO Box 3314, University Station
Charlottesville, VA 22903
tmb@virginia.EDU

-----------------------------------------------------------------------------

Amiga SRGP Implementor's Notes
Jan 26, 1992

Simple Raster Graphics Package

   SRGP was designed and created by Andries van Dam and David F. Sklar to
   accompany the textbook, COMPUTER GRAPHICS, PRINCIPLES AND PRACTICE by
   Foley, van Dam, Feiner, and Hughes, Addison-Wesley, 1990.

   SRGP is copyright (c) Addison-Wesley, Inc, 1990.

   For documentation on SRGP and for Mac, PC, or X versions, send e-mail
   to graphtext@cs.brown.edu with the Subject: "Software-Distribution" or
   write to:

	Graphics Textbook Support
	c/o Dr. vanDam or Mr. Sklar
	Brown Univ box 1910
	Providence, RI  02912

   The Amiga version beta-012692 was developed mostly from X11 SRGP Version
   1.0 -- RELEASED 22 Nov 90.

Resizing the SRGP Window

   This was implemented by creating the SCREENCANVAS window either with or
   without a resize gadget. Thus, SRGPallowResize() can only be called before
   SRGPbegin().

   It would probably be better to implement it by simply altering the values
   of the Intuition window structure's min/max window size fields, dynamically.

LineWidth

   LINEWIDTH for lines is implmented in a very simple, expensive fashion.
   Multiple draws are done. Functions arctan and sqrt are used to insure that
   the width of the line is approx right no matter the angle.
 
   LINEWIDTH for ellipse is implemented in a very simple, incorrect fashion
   that can leave holes in thick ellipses.

FillStyle, PenStyle, WriteMode, EllipseArcs

   Pen/Fillstyle,  AND/OR writemode, and EllipseArc draws are implemented by
   drawing into a temporary canvas and then blitting (either through a
   Pattern or with a blitter write mode.

   This was not implemented to support both these feature together.
   Pen/Fillstyle takes precedence, and write mode is ignored if a patterned
   fill or pen write is done with writemode of AND or OR.

   Also, drawing ellipse arcs was done by drawing the complete ellipse into
   the temporary canvas (no ellipse arc func in Graphics lib), and then
   running some crazy code to cut out the unwanted parts, and blitting over
   into the destination canvas. It would probably be a good deal better to
   simply implemented an ellipse arc drawing function outside of
   GraphicsLib.

   In addition, to save memory, the temporary canvas is always a one bit
   plane. A suspect kludgy approach was used to blit this bitplane as
   if it were as deep as the SCREENCANVAS: the BitMap plane pointers simply
   all contain the same plane address. The output code then pays attention
   to the RasterPort pen (as well as the writemode) to determine whether to
   draw (OR) or clear (AND) for each plane. All this works ok, but cannot
   draw non-CONTINUOUS line styles correctly.

Input

   A separate Exec task is spawned to monitor the SCREENCANVAS IDCMP message
   port. In general, mouse button presses and/or Vanilla or Raw key input
   is enabled as appropriate. Mouse moves only if rubber banding is active.

Rubberbanding

   The IDCMP port monitoring task is asked to install a "callback" function
   (either RubberBand() or RubberRect()) when this is active.

   In addition, a signal Semaphore is used to coordinate drawing into the
   SCREENCANVAS when rubberbanding is active.

AreaBuffers

   I had a hell of a time with the GraphicsLibrary ellipse fills. It finally
   appears that (at least for v1.3), the buffer must be totally zero padded
   if ellipse fills are to work correctly. Thus, the code here maintains
   two Area buffers, a big one for polygon fills, and a small one (so that
   zero padding is quick) for ellipse fills.


Yours truly,

Tom Breeden
PO Box 3314, University Station
Charlottesville, VA 22903
tmb@virginia.EDU

-----------------------------------------------------------------------------

Amiga SRGP C Implementor's Notes
Jan 26, 1992

Simple Raster Graphics Package

   SRGP was designed and created by Andries van Dam and David F. Sklar to
   accompany the textbook, COMPUTER GRAPHICS, PRINCIPLES AND PRACTICE by
   Foley, van Dam, Feiner, and Hughes, Addison-Wesley, 1990.

   SRGP is copyright (c) Addison-Wesley, Inc, 1990.

   For documentation on SRGP and for Mac, PC, or X versions, send e-mail
   to graphtext@cs.brown.edu with the Subject: "Software-Distribution" or
   write to:

	Graphics Textbook Support
	c/o Dr. vanDam or Mr. Sklar
	Brown Univ box 1910
	Providence, RI  02912

   The Amiga version beta-012692 was developed mostly from X11 SRGP Version
   1.0 -- RELEASED 22 Nov 90.

Compiler/Linker

   SAS C v5.10a and v5.10b were used.

   Everything has been compiled for 32-bit addressing (+-b0") and FAR
   calls ("-r0"). You might achieve significant efficiency gains by
   changing this, but you are on your own with respect to problems in the
   produced code changing this may introduce.

Library

   The SAS librarian, "oml", currently will not handle a library the size
   of SRGP.LIB. The AmigaDOS shell script "srgpmklib.s" will rebuilt this
   library from its object modules.

Enforcer

   Has not been run with any of this.

Efficiency

   Though I hate to obfuscate the code, it would certainly save space to
   cache the ActiveCanvas pointer into a special global variable, rather
   than accessing CanvasTable[ActiveCanvas] every time (as the Sklar code
   does).

   The test pgms are really big (500K), at least when compiled with no
   optimization, and all debug on. Linking with NODEBUG brings their
   size down to 100K+.

Resizing the SRGP Window

   The C version still has a bug in the resize handling: it will crash if
   SRGP_allowResize() is used.

SRGP_beep

   The C version implements this with Intuition flash screen funct. It
   would be nicer to call a sound generating func.

Tasks

   I had a good deal of trouble with the "callback" routines running from
   the IDCMP port monitor separate task (eg, the rubberbanding procs).
   Finally, it appears that these work ok if compiled with "-v", no stack
   checking. They may, however, cause further trouble.

Shell Scripts

   srgp.make    -makes all of SRGP
   srgpmklib.s  -puts the object files together into a link library
   Test...make  -one to make each test program
   tstpgms.s    -does all the makes of all the test programs.
   loclib.make  -makes the object files of the general and amiga-specific
                 non-SRGP support modules.

Test Programs

   All the Modula-2 test programs also exist in C versions, and all, except
   for TestResize, appear to work ok. Some of the screen labeling in the
   M2 versions is not in the C versions.

Support modules

   Quite a few support modules are involved here. See the M2Implementor's
   notes for an incomplete listing.

   These reside in LOCLIB.LIB. Use loclib.make for recreating/updating if
   necessary.

Yours truly,

Tom Breeden
PO Box 3314, University Station
Charlottesville, VA 22903
tmb@virginia.EDU

-----------------------------------------------------------------------------

Amiga SRGP M2 Implementor's Notes
Jan 26, 1992

Simple Raster Graphics Package

   SRGP was designed and created by Andries van Dam and David F. Sklar to
   accompany the textbook, COMPUTER GRAPHICS, PRINCIPLES AND PRACTICE by
   Foley, van Dam, Feiner, and Hughes, Addison-Wesley, 1990.

   SRGP is copyright (c) Addison-Wesley, Inc, 1990.

   For documentation on SRGP and for Mac, PC, or X versions, send e-mail
   to graphtext@cs.brown.edu with the Subject: "Software-Distribution" or
   write to:

	Graphics Textbook Support
	c/o Dr. vanDam or Mr. Sklar
	Brown Univ box 1910
	Providence, RI  02912

   The Amiga version beta-012692 was developed mostly from X11 SRGP Version
   1.0 -- RELEASED 22 Nov 90.

Compiler

   Benchmark M2

SRGPloadBitmapPatternsFromFile(), SRGPloadPixmapPatternsFromFile()

   These use a filename parameter rather than a file handle parameter as the
   C version does.

Enforcer

   Has not been run with any of this.

Shell Scripts

   Compiledefs.s
   Compilemods.s
   Copy.s

Support modules

   Quite a few non-SRGP specific support modules participate in this code,
   including Amiga specific ones:

      AmigaBeep
      AmigaTimer
      AmigaResources
      ExecTasks
      FontSupport
      IDCMPSupport
      IntuiSupport
      RawKeyHandler
      
   and general ones:

      DynStr0, DynStr1, DynStr2
      FileLUT
      ListV2Processor
      RandomFiles
      Str0, Str1, Str2

   NOTE: for resource tracking to work correctly, you MUST use the supplied
         version of Storage, and you MUST call AmigaResourcs'
         CleanUp(AllResources) at the end of your program. You also should
         IMPORT Trapper in your main program.

Yours truly,

Tom Breeden
PO Box 3314, University Station
Charlottesville, VA 22903
tmb@virginia.EDU

----------------------------------------------------------------------------


Listing of archive:  'w:srgp/etc.LZH'
-------- ------  --- -------- -------- ----- ---- ------------
     242 04-29-91 PIXPATDEF
     434 04-28-91 patternbrush.iff.pat
     352 04-28-91 PatternBrush.iff
    3911 09-13-91 AMIGA.XBM
    3092 01-26-92 CImplementor.notes
    3691 01-26-92 Implementor.notes
    1785 01-26-92 M2Implementor.notes
   10904 01-26-92 User.notes
   17030 09-28-91 RGB.TXT
    3690 07-28-91 Notes.txt
     483 02-17-91 RBGCommon.txt
    8190 04-14-91 srgpdefaultpatterns.txt
     601 04-22-92 copyright.txt
   25703 04-22-92 DistributionText.txt
   13892 02-16-92 Fonts.txt
    5698 11-03-91 Cursors.dat
     265 10-20-91 Compiledefs.s
      59 10-20-91 Copy.s
     273 10-20-91 compilemods.s
   13974 04-22-92 SRGP.3
     649 04-22-92 MakeLZH.s
-------- ------  ---
 21 file(s)


----------------------------------------------------------------------------

Listing of archive:  'w:srgp/m2src.LZH'
-------- ------  --- -------- -------- ----- ---- ------------
    2783 02-08-92 SetPrefPointer.mod
    6909 01-26-92 SRGPutilities.mod
   94167 01-26-92 SRGP.mod
    6552 02-15-92 FileLUT.mod
    4546 01-26-92 BrushToPixmap.mod
    5297 01-26-92 GEOM.MOD
    5163 10-18-91 TstUtils.mod
    9401 09-28-91 RawKeyHandler.mod
    3234 04-19-91 GetPrefPointer.mod
    5015 01-26-92 SRGPcolor.mod
   19422 01-26-92 SRGPdebug.mod
   15781 01-26-92 SRGPinput.mod
    6421 01-26-92 SRGPcanvas.mod
    2663 01-26-92 SRGPcursor.mod
   12274 01-26-92 SRGPecho.mod
   24409 01-26-92 SRGPoutput.mod
    8331 01-26-92 SRGPpatterns.mod
    2782 01-26-92 SRGPprivate.mod
    8945 02-15-92 SRGPfont.mod
   20536 02-09-92 SRGPstate.mod
    1569 01-26-92 GEOM.DEF
     678 09-14-91 TstUtils.def
    1782 06-01-91 RawKeyHandler.def
     646 01-26-92 SRGPcanvas.def
     392 01-26-92 SRGPcolor.def
     448 01-26-92 SRGPcursor.def
    2712 01-26-92 SRGPdebug.def
     981 01-26-92 SRGPecho.def
    2205 01-26-92 SRGPfont.def
     798 01-26-92 SRGPinput.def
    1177 01-26-92 SRGPoutput.def
     685 01-26-92 SRGPpatterns.def
    5572 01-26-92 SRGPprivate.def
   14588 01-26-92 SRGP.def
     897 01-26-92 SRGPstate.def
     796 01-26-92 SRGPutilities.def
    1428 02-15-92 FileLUT.def
    4528 11-28-91 TestColors.mod
   19115 10-20-91 XDEMOA.mod
    3518 10-20-91 TestFills.mod
    3214 10-17-91 TstCanvas.mod
    2819 10-19-91 TestRubber.mod
    3860 10-19-91 TestPaint.mod
   10753 10-19-91 TestEllipses.mod
    8694 10-19-91 TestLines.mod
    6094 10-19-91 TstSRGPText.mod
    2795 10-20-91 TstLogo.mod
    7114 10-13-91 TstSRGPRaw.mod
    2856 11-28-91 TestCursors.mod
    7886 10-20-91 TestLocator.mod
    2699 10-16-91 ShowPatterns.mod
    1918 10-16-91 TestTime.mod
    4082 10-19-91 TestPatterns.mod
    1896 08-25-91 TstResize.mod
    1491 04-01-91 TstFileLUT.mod
    3754 01-28-91 pausch.mod
   12421 02-05-91 TstSRGP.mod
    3378 06-02-91 TstRawHandler.mod
    2237 05-09-91 TestEdit.mod
    1136 10-05-91 TestResize.mod
    6229 01-26-92 Flynn.mod
-------- ------  ---
 61 file(s)


----------------------------------------------------------------------------

Listing of archive:  'w:srgp/csrc.LZH'
-------- ------  --- -------- -------- ----- ---- ------------
   21085 03-09-92 IDCMPSupport.c
   20400 03-02-92 SRGPstate.c
    3865 02-16-92 DynStr0.c
   14437 03-02-92 SRGPinput.c
    5269 03-02-92 SRGPcanvas.c
    4741 03-02-92 SRGPcolor.c
    2547 03-02-92 SRGPcursor.c
   15392 03-02-92 SRGPdebug.c
    9836 03-02-92 SRGPecho.c
    6058 02-16-92 AnsiTerminal.c
   24550 03-02-92 SRGPoutput.c
    7650 03-02-92 SRGPpatterns.c
    2306 03-02-92 SRGPprivate.c
    2492 03-02-92 SRGPtask.c
    1362 03-02-92 SRGPutilities.c
    4301 02-16-92 flynn.c
    1856 02-16-92 ShowPatterns.c
    1933 02-16-92 Trash1.c
   19825 02-16-92 Trash2.c
    3134 02-16-92 TestColors.c
    1515 02-16-92 testcolo.c
    9268 02-16-92 AmigaTimer.c
    1206 02-16-92 DynStr2.c
    2628 02-16-92 str2sas.c
    2647 02-16-92 str2.c
    3963 02-16-92 TstUtils.c
    3690 02-16-92 TstSRGPRaw.c
    2976 02-16-92 TestPatterns.c
     942 02-16-92 TestResize.c
    7243 02-16-92 TestLines.c
    1474 02-16-92 TstCanvas.c
    1554 02-16-92 TestRubber.c
   10017 02-16-92 TstFontSupport.c
    1690 02-16-92 TestPaint.c
    2074 02-16-92 TestPaintORG.c
    4691 02-16-92 TestLocator.c
   10378 02-16-92 ListV2Processor.c
   11283 02-16-92 X_DEMO_A.C
    2398 02-16-92 TestCursors.c
    1631 02-16-92 TestEdit.c
    8086 02-16-92 TestEllipses.c
    2173 02-16-92 TestFills.c
     513 02-16-92 GeneralProgramming.c
   10181 02-16-92 str1tc.c
    2966 02-16-92 Str1.c
    5339 02-16-92 DynStr1.c
    2206 02-16-92 Dynstr1C.c
    3971 02-16-92 DynStr3.c
    8099 02-16-92 AmigaResources.c
    1449 02-16-92 TstFileLUT.c
   18512 02-16-92 IntuiSupport.c
     826 02-16-92 Tstis.c
    3629 02-16-92 TstSRGPText.c
   68009 03-02-92 SRGP.c
    9253 03-02-92 SRGPfont.c
   10000 02-16-92 RawKeyHandler.c
    3024 02-16-92 Queue.c
    3328 02-16-92 tstrawhandler.c
    6164 02-16-92 FileLUT.c
     104 02-16-92 tstar.c
    5301 02-16-92 TstExecTasks.c
    9913 02-16-92 ExecTasks.c
    6966 02-16-92 TstAmigaTimer.c
    3202 02-16-92 trash.c
    1768 02-16-92 In2.c
    1282 02-16-92 TstIn2.c
   11458 02-16-92 In1.c
   10856 02-16-92 TstIDCMPSupport.c
    3630 02-16-92 GEOM.C
   19077 03-01-92 FontSupport.c
    1495 02-15-92 FileLUT.h
     591 01-26-92 SRGPcanvas.h
     458 01-26-92 SRGPcolor.h
     458 01-26-92 SRGPcursor.h
    1534 01-26-92 SRGPdebug.h
    1082 01-26-92 SRGPecho.h
    2106 01-26-92 SRGPfont.h
     723 01-26-92 SRGPinput.h
     834 01-26-92 srgplocal.h
    1142 01-26-92 SRGPoutput.h
     647 01-26-92 SRGPpatterns.h
    7204 01-26-92 SRGPprivate.h
     750 01-26-92 SRGPstate.h
     638 01-26-92 SRGPtask.h
     492 01-26-92 SRGPutilities.h
     620 01-26-92 srgp.h
    1648 01-26-92 srgp_errtypes.h
    1522 11-28-91 Str0.h
    1649 03-02-92 srgp_sphigs.h
     609 09-28-91 TstUtils.h
    1428 09-20-91 str0tc.h
    1965 09-20-91 Str2.h
    2571 09-20-91 str1tc.h
    3089 10-12-91 str1sas.h
    1082 09-20-91 DynStr1.h
     594 09-20-91 DynStr2.h
     886 09-20-91 DynStr1C.h
    2438 09-20-91 DynStr3.h
    1053 11-27-91 GeneralProgramming.h
    5424 09-21-91 FontSupport.h
    5486 09-17-91 ListV2Processor.h
    9749 01-26-92 SRGPpublic.h
    1832 09-24-91 RawKeyHandler.h
    1239 01-14-92 AnsiTerminal.h
     935 05-25-91 Queue.h
    3099 09-23-91 DynStr0.h
    3973 03-08-91 AmigaResources.h
    4760 03-08-91 IntuiSupport.h
    2351 03-08-91 AmigaTimer.h
    6685 05-20-91 IDCMPSupport.h
    2113 03-09-91 In1.h
     981 03-09-91 In2.h
    3120 05-31-91 ExecTasks.h
    3248 11-22-91 str1.h
    1358 01-26-92 GEOM.H
    1104 02-13-92 LocLib.make
     557 11-30-91 trash1.make
     510 11-28-91 ShowPatterns.make
     752 11-02-91 TstFontSupport.make
     566 11-28-91 TestPatterns.make
    1629 11-01-91 TstFileLUT.make
     517 11-28-91 TestColo.make
    1714 11-28-91 srgp.make
     563 11-28-91 TstSRGPtext.make
     457 11-28-91 TestPaint.make
     543 11-28-91 TestFills.make
    1040 10-12-91 TstSRGPRaw.make
    1091 10-04-91 TestResize.make
     895 10-04-91 TstIDCMPSupport.make
    1198 11-28-91 LocLibND.make
     475 11-28-91 TestLocator.make
     448 11-28-91 X_DEMO_A.make
     464 11-28-91 TestRubber.make
     552 11-28-91 TstCanvas.make
     598 11-28-91 TestEllipses.make
     571 11-28-91 TestCursors.make
     560 11-28-91 TestLines.make
     536 11-28-91 TestEdit.make
     947 10-19-91 TstRawKeyHandler.make
     489 01-26-92 Flynn.make
     550 01-26-92 TestColors.make
-------- ------  ---
 141 file(s)


----------------------------------------------------------------------------

Listing of archive:  'w:srgp/cobj.LZH'
-------- ------  --- -------- -------- ----- ---- ------------
  180580 03-09-92 loclib.lib
  484832 03-02-92 srgp.lib
-------- ------  ---
  2 file(s)



----------------------------------------------------------------------------

Listing of archive:  'w:srgp/m2obj.LZH'
-------- ------  --- -------- -------- ----- ---- ------------
     505 10-16-91 TstUtils.SBM
     246 01-26-92 SRGPfont.SBM
   13096 06-07-91 RawKeyHandler.SBM
     282 01-26-92 SRGPutilities.SBM
     233 03-31-91 FileLUT.SBM
    3373 01-26-92 SRGPdebug.SBM
   13168 01-26-92 SRGPecho.SBM
    5582 01-26-92 SRGPstate.SBM
    5404 01-26-92 SRGPcanvas.SBM
    1622 01-26-92 SRGPpatterns.SBM
   17024 01-26-92 SRGPprivate.SBM
     140 01-26-92 SRGPcolor.SBM
     125 01-26-92 SRGPcursor.SBM
   13082 01-26-92 SRGPinput.SBM
    1747 01-26-92 SRGPoutput.SBM
    7703 01-26-92 SRGP.SBM
    2943 01-26-92 SRGPfont.OBM
    2042 01-26-92 SRGPutilities.OBM
    1969 06-07-91 RawKeyHandler.OBM
    1725 10-15-91 TstUtils.OBM
    1767 03-31-91 FileLUT.OBM
     812 01-26-92 SRGPprivate.OBM
    6582 01-26-92 SRGPdebug.OBM
    3459 01-26-92 SRGPecho.OBM
    3532 01-26-92 SRGPinput.OBM
     976 01-26-92 SRGPcursor.OBM
    8863 01-26-92 SRGPoutput.OBM
    2703 01-26-92 SRGPpatterns.OBM
    5987 01-26-92 SRGPstate.OBM
    2512 01-26-92 SRGPcolor.OBM
   22805 01-26-92 SRGP.OBM
    1908 01-26-92 SRGPcanvas.OBM
     455 04-22-92 VirtualTerminal.SBM
      28 04-22-92 Trapper.SBM
     109 04-22-92 TimeProfiler.SBM
     319 04-22-92 TIMEDATE.SBM
     924 04-22-92 TextIO.SBM
     546 04-22-92 Terminal.SBM
     229 04-22-92 TaskSynchronization.SBM
     339 04-22-92 StrValue.SBM
     626 04-22-92 StringMacros.SBM
     569 04-22-92 Streams.SBM
     488 04-22-92 Str1.SBM
     700 04-22-92 Str0.SBM
     516 04-22-92 Storage.SBM
     502 04-22-92 Set0.SBM
     265 04-22-92 RegularExpressions.SBM
     160 04-22-92 RealSupport.SBM
      69 04-22-92 RealStrValue.SBM
     198 04-22-92 RealIoSupport.SBM
     163 04-22-92 RealInOut.SBM
     101 04-22-92 RealFormat.SBM
     170 04-22-92 RealConversions.SBM
      92 04-22-92 QSORT.SBM
     182 04-22-92 Processes.SBM
     505 04-22-92 PasStr1.SBM
     904 04-22-92 PasStr0.SBM
    1209 04-22-92 OpSysSupport.SBM
     177 04-22-92 MaxMin.SBM
     135 04-22-92 MacrosInteract.SBM
     235 04-22-92 LongStrValue.SBM
     285 04-22-92 LongConversions.SBM
     391 04-22-92 ListProcessor.sbm
     862 04-22-92 KeyboardProcessor.SBM
     636 04-22-92 InOut.SBM
     495 04-22-92 In2.SBM
     679 04-22-92 In1.SBM
     212 04-22-92 FileNameParser.SBM
     199 04-22-92 ExecTasks.SBM
     482 04-22-92 Exceptions.SBM
     802 04-22-92 EditKeyboard.SBM
     338 04-22-92 DynStr3.SBM
     209 04-22-92 DynStr2.SBM
     273 04-22-92 DynStr1C.SBM
     324 04-22-92 DynStr1.SBM
     401 04-22-92 DynStr0.SBM
     208 04-22-92 DosProcesses.SBM
     440 04-22-92 DirScan.SBM
     194 04-22-92 DateSupport.SBM
     144 04-22-92 Cxnversions.SBM
     617 04-22-92 CustomKeyboard.SBM
     186 04-22-92 CoRoutineStructures.SBM
     173 04-22-92 CoRoutines.SBM
     199 04-22-92 Conversions.SBM
     237 04-22-92 CmdFileParser.SBM
     288 04-22-92 CharQueue.SBM
     135 04-22-92 Break.SBM
     199 04-22-92 Assertions.SBM
    3454 04-22-92 Assembly.SBM
     489 04-22-92 AnsiTerminal.SBM
     233 04-22-92 Ansi2Terminal.SBM
     438 04-22-92 AmigaResources.SBM
      53 04-22-92 AmigaBeep.SBM
    1721 04-22-92 TextAndLines.SBM
     336 04-22-92 Str2.SBM
     503 04-22-92 Set0b.SBM
     535 04-22-92 RandomFiles.SBM
     187 04-22-92 QUEUE.SBM
     559 04-22-92 ListV2Processor.SBM
   14024 04-22-92 IntuiSupport.SBM
    1214 04-22-92 In3.SBM
   13371 04-22-92 IDCMPSupport.SBM
     115 04-22-92 HeapTracer.SBM
    3974 04-22-92 FontSupport.SBM
    2501 04-22-92 AmigaTimer.SBM
    2743 04-22-92 VirtualTerminal.OBM
    1076 04-22-92 Trapper.OBM
     525 04-22-92 TimeProfiler.OBM
    1262 04-22-92 TIMEDATE.OBM
    2621 04-22-92 TextIO.OBM
    1711 04-22-92 Terminal.OBM
     456 04-22-92 TaskSynchronization.OBM
    1289 04-22-92 StrValue.OBM
    2442 04-22-92 StringMacros.OBM
    2830 04-22-92 Streams.OBM
    1921 04-22-92 Str1.OBM
     342 04-22-92 Str0.OBM
    1983 04-22-92 Storage.OBM
    1118 04-22-92 Set0.OBM
    4475 04-22-92 RegularExpressions.OBM
    1174 04-22-92 RealSupport.OBM
    1329 04-22-92 RealStrValue.OBM
    1110 04-22-92 RealIoSupport.OBM
    1593 04-22-92 RealInOut.OBM
     862 04-22-92 RealFormat.OBM
    1112 04-22-92 RealConversions.OBM
    1217 04-22-92 QSORT.OBM
     900 04-22-92 Processes.OBM
    2323 04-22-92 PasStr1.OBM
     814 04-22-92 PasStr0.OBM
    4474 04-22-92 OpSysSupport.OBM
     470 04-22-92 MaxMin.OBM
    3910 04-22-92 MacrosInteract.OBM
     769 04-22-92 LongStrValue.OBM
     667 04-22-92 LongConversions.OBM
    1237 04-22-92 ListProcessor.obm
    1873 04-22-92 KeyboardProcessor.OBM
    2685 04-22-92 InOut.OBM
     343 04-22-92 In2.OBM
    3394 04-22-92 In1.OBM
    1598 04-22-92 FileNameParser.OBM
    1380 04-22-92 ExecTasks.OBM
     280 04-22-92 ExceptionsNULL.OBM
    1330 04-22-92 ExceptionsDEBUG.OBM
    1394 04-22-92 Exceptions.OBM
    1667 04-22-92 EditKeyboard.OBM
    1093 04-22-92 DynStr3.OBM
     385 04-22-92 DynStr2.OBM
     468 04-22-92 DynStr1C.OBM
    1575 04-22-92 DynStr1.OBM
     956 04-22-92 DynStr0.OBM
    1160 04-22-92 DosProcesses.OBM
    1602 04-22-92 DirScan.OBM
    2124 04-22-92 DateSupport.OBM
     897 04-22-92 Cxnversions.OBM
    1089 04-22-92 CustomKeyboard.OBM
     206 04-22-92 CoRoutineStructures.OBM
     403 04-22-92 CoRoutines.OBM
     693 04-22-92 Conversions.OBM
    1834 04-22-92 CmdFileParser.OBM
     515 04-22-92 CharQueue.OBM
     647 04-22-92 Break.OBM
    1064 04-22-92 Assertions.OBM
      84 04-22-92 Assembly.OBM
    1886 04-22-92 AnsiTerminal.OBM
     908 04-22-92 Ansi2Terminal.OBM
    1690 04-22-92 AmigaResources.OBM
    1476 04-22-92 AmigaBeep.OBM
    1769 04-22-92 TextAndLines.OBM
    1106 04-22-92 Str2.OBM
    1039 04-22-92 Set0b.OBM
    4733 04-22-92 RandomFiles.OBM
     875 04-22-92 QUEUE.OBM
    1743 04-22-92 ListV2Processor.OBM
    4981 04-22-92 IntuiSupport.OBM
    5718 04-22-92 In3.OBM
    3323 04-22-92 IDCMPSupport.OBM
     385 04-22-92 HeapTracer.OBM
    3636 04-22-92 FontSupport.OBM
    2176 04-22-92 AmigaTimer.OBM
-------- ------  ---
 180 file(s)


----------------------------------------------------------------------------

Listing of archive:  'w:srgp/m2supportsrc.LZH'
-------- ------  --- -------- -------- ----- ---- ------------
    1610 04-22-92 TimeProfiler.mod
   15343 04-22-92 TextIO.mod
    4857 04-22-92 StrValue.mod
   15803 04-22-92 Streams.mod
    7674 04-22-92 Str1.mod
    2254 04-22-92 Str0.mod
    3126 04-22-92 Set0.mod
    3624 04-22-92 RealSupport.mod
    3782 04-22-92 RealConversions.mod
    3489 04-22-92 QSORT.mod
    8434 04-22-92 PasStr1.mod
    3617 04-22-92 PasStr0.mod
    1197 04-22-92 MaxMin.mod
   11411 04-22-92 MacrosInteract.mod
    2895 04-22-92 LongStrValue.mod
    3271 04-22-92 LongConversions.mod
    9444 04-22-92 KeyboardProcessor.mod
   13295 04-22-92 InOut.mod
    2845 04-22-92 In2.mod
   12762 04-22-92 In1.mod
    6607 04-22-92 FileNameParser.mod
    8587 04-22-92 EditKeyboard.mod
    4228 04-22-92 DynStr3.mod
    1306 04-22-92 DynStr2.mod
    2478 04-22-92 DynStr1C.mod
    5907 04-22-92 DynStr1.mod
    3990 04-22-92 DynStr0.mod
    7328 04-22-92 DirScan.mod
    7640 04-22-92 DateSupport.mod
    3413 04-22-92 CustomKeyboard.mod
    2219 04-22-92 Conversions.mod
    6027 04-22-92 Break.mod
    6777 04-22-92 AnsiTerminal.mod
    4553 04-22-92 Ansi2Terminal.mod
    5908 04-22-92 AmigaBeep.mod
   14647 04-22-92 VirtualTerminal.mod
    2618 04-22-92 Trapper.mod
    3563 04-22-92 TIMEDATE.mod
    9070 04-22-92 Terminal.mod
    1966 04-22-92 TaskSynchronization.mod
   10692 04-22-92 StringMacros.mod
   12788 04-22-92 storage.mod
   19462 04-22-92 RegularExpressions.mod
    4357 04-22-92 RealStrValue.mod
    3327 04-22-92 realiosupport.mod
    6208 04-22-92 RealInOut.mod
    2998 04-22-92 RealFormat.mod
    4676 04-22-92 Processes.mod
   15531 04-22-92 OpSysSupport.mod
    5980 04-22-92 ListProcessor.mod
    9107 04-22-92 ExecTasks.mod
    2057 04-22-92 ExceptionsNULL.mod
   10632 04-22-92 ExceptionsDEBUG.mod
    9834 04-22-92 Exceptions.mod
    7502 04-22-92 DosProcesses.mod
    2861 04-22-92 CoRoutineStructures.mod
    3031 04-22-92 CoRoutines.mod
    6162 04-22-92 CmdFileParser.mod
    2036 04-22-92 CharQueue.mod
    2940 04-22-92 Assertions.mod
     300 04-22-92 assembly.mod
    7493 04-22-92 AmigaResources.mod
   10057 04-22-92 TIMER.MOD
    8970 04-22-92 TextAndLines.mod
    2744 04-22-92 Str2.mod
    3310 04-22-92 Set0b.mod
   30481 04-22-92 RandomFiles.mod
    3252 04-22-92 Queue.mod
   10390 04-22-92 ListV2Processor.mod
   18437 04-22-92 IntuiSupport.mod
   19624 04-22-92 In3.mod
   21377 04-22-92 IDCMPSupport.mod
    1593 04-22-92 HeapTracer.mod
   19684 04-22-92 FontSupport.mod
    7050 04-22-92 AnsiTerminalTW.mod
    8848 04-22-92 Ansi2TerminalTW.mod
    8684 04-22-92 AmigaTimer.mod
    8008 04-22-92 AmigaSounds.mod
    3988 04-22-92 VirtualTerminal.def
     676 04-22-92 Trapper.def
     314 04-22-92 TimeProfiler.def
    1083 04-22-92 TIMEDATE.def
    5481 04-22-92 TextIO.def
    4348 04-22-92 Terminal.def
     673 04-22-92 TaskSynchronization.def
    1274 04-22-92 StrValue.def
    4380 04-22-92 StringMacros.def
    4351 04-22-92 Streams.def
    1853 04-22-92 STR1.DEF
    1313 04-22-92 STR0.DEF
    2971 04-22-92 Storage.def
    1248 04-22-92 Set0.def
     771 04-22-92 RegularExpressions.def
     773 04-22-92 RealSupport.def
     804 04-22-92 RealStrValue.def
    1604 04-22-92 RealIoSupport.def
     968 04-22-92 realinout.def
     715 04-22-92 RealFormat.def
    1162 04-22-92 realconversions.def
    3112 04-22-92 QSORT.def
    1626 04-22-92 Processes.def
    3102 04-22-92 PasStr1.def
    3270 04-22-92 PasStr0.def
    3154 04-22-92 OpSysSupport.def
     363 04-22-92 MaxMin.def
     846 04-22-92 MacrosInteract.def
    1194 04-22-92 LongStrValue.def
    1112 04-22-92 LongConversions.def
    2880 04-22-92 ListProcessor.def
    2859 04-22-92 KeyboardProcessor.def
    3609 04-22-92 InOut.def
    1208 04-22-92 In2.def
    4404 04-22-92 In1.def
    2083 04-22-92 FileNameParser.def
    2857 04-22-92 ExecTasks.def
    2016 04-22-92 Exceptions.def
    3837 04-22-92 EditKeyboard.def
    2446 04-22-92 DYNSTR3.DEF
     537 04-22-92 DYNSTR2.DEF
     843 04-22-92 DYNSTR1C.DEF
    1069 04-22-92 DYNSTR1.DEF
    2972 04-22-92 DYNSTR0.DEF
    2295 04-22-92 DosProcesses.def
    1922 04-22-92 DirScan.def
    1397 04-22-92 DateSupport.def
    1030 04-22-92 CustomKeyboard.def
    1160 04-22-92 CoRoutineStructures.def
     916 04-22-92 CoRoutines.def
     634 04-22-92 Conversions.def
    2293 04-22-92 CmdFileParser.def
    1020 04-22-92 CharQueue.def
     740 04-22-92 Break.def
     616 04-22-92 Assertions.def
    6676 04-22-92 Assembly.def
    1254 04-22-92 AnsiTerminal.def
    1342 04-22-92 Ansi2Terminal.def
    3260 04-22-92 AmigaResources.def
     227 04-22-92 AmigaBeep.def
    2975 04-22-92 TextAndLines.def
    1789 04-22-92 str2.def
    1216 04-22-92 Set0b.def
    5802 04-22-92 RandomFiles.def
     720 04-22-92 Queue.def
    5448 04-22-92 ListV2Processor.def
    4728 04-22-92 IntuiSupport.def
    3229 04-22-92 In3.def
    7082 04-22-92 IDCMPSupport.def
     334 04-22-92 HeapTracer.def
    5240 04-22-92 FontSupport.def
    2291 04-22-92 AmigaTimer.def
-------- ------  ---
 150 file(s)



----------------------------------------------------------------------------

Listing of archive:  'w:srgp/tstpgmsexec.LZH'
-------- ------  --- -------- -------- ----- ---- ------------
  153252 10-16-91 showpatterns
  154680 10-19-91 testcolors
  164224 10-20-91 xdemoa
-------- ------  ---
 3 file(s)


-- 
------------------------------------------------------------------------------
           Sunil Gupta ---- a computer scientist in my spare time 
	                   cs89ssg@uk.ac.brunel         
------------------------------------------------------------------------------