[comp.sys.amiga] PLT: v1.1

rachamp@mbunix.mitre.org (Richard A. Champeaux) (06/26/89)

This is a combination new release announcement, and avoidable bug report.

We've just finished version 1.1 of PLT: and will send it to everyone who has
requested it either tonight or tomorrow.  Anyone else who would like a copy
should send a message to Jim Miller (jvmiller@rdrc.rpi.edu).  You can send
it to me I guess, but Jim's the one handling the mailing.  We haven't
released it to comp.binaries.amiga yet since mailing it direct gives us
quicker response time for bug reports and fixes.  When we are satisfied that
all of the glaring bugs are gone, we will post it to comp.binaries.amiga.

For anyone who doesn't know what PLT: is ...
   PLT: is a HPGL plotter emulator.  It is a handler that takes HPGL plotter
commands and outputs them on a dot matrix printer.  It builds a sorted
linked list of the lines to be plotted, and then prints them in small strips
on the printer..  This makes it so that you don't have to have the entire
printer raster in memory, which on a HP LaserJet, would take almost a meg
of memory.

PLT: v1.1 has a few new features.
- A new switch 'M' has been added to put PLT: into its "Memory Conserve" mode.
  In this mode, each line take only 16 bytes instead of the 28 that the normal
  mode required.  This allows you to print plots that have nearly twice as many
  lines.  The catch is that the Memory Conserve mode really bogs down on plots
  that have more than 2000 lines.  The difference is that the normal mode has
  a binary tree sitting on top of the linked list to speed up insertion.  The
  Memory Conserve more, however, does not have this tree and must do a linear
  search of the list to find the place to insert a new line.  The time it
  takes to process a line in this mode is proportional to the number of lines
  already processed, while in the normal mode, it is proportional to
  log base 2 of the number of lines already processed.

- The status window is now opened when PLT: is first written to, instead of
  waiting until it starts printing.  While it's processing input, it displays
  the number of lines it has processed and the amount of free memory in the
  system.  The display is only updated every 32 lines.

- A requester is now opened when PLT: runs out of memory.  Before, when it
  rann out of memory, it didn't crash, it just ignored any new lines, and
  since the printer driver didn't have enough memory, it didn't print anything
  untill about half way down the page, when enough lines had been deleted.
  So now, if PLT: runs out of memory, it frees up everything, opens a 
  requester, and only gives you the option to cancel the plot.  (Maybe
  future releases will allow other options.)

BUG REPORT

There  is a known bug in PLT:.  Manx's getenv() function seems to be
incompatable with handlers.  If getenv() is called from within a handler
before the 'set' command has been executed, the system crashes.  It doesn't
matter what enviroment variable has been set, just so long as 'set' has been
executed.  This doesn't happen in regular programs, just in handlers.  I
tried to call setenv() before getenv() to set a dummy variable, but it would
crash on the setenv() call.  This means that unless your startup sequence
already executes 'set', you must use 'set' or 'SetPltInfo' to set the pen
defaults for PLT:.

I've tried to access AmigaDOS's enviroment variables, but that is an 
incredible hassle from inside a handler, since you can't use the amigaDOS
commands such as Open() from inside a handler.

Rich Champeaux (rachamp@mbunix.mitre.org)

11tstark@gallux.gallaudet.edu (Timothy Stark) (07/01/89)

Hello,

   I am interested in PLT: v1.1 software, Please send me a copy of PLT.
to 11tstark@gallux.gallaudet.edu. Thanks!

-- Tim Stark