HDTenEightyP/NetNews huggingface dataset:
From: jdickson@jato.jpl.nasa.gov (Jeff Dickson)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: **HELP** Whats wrong with this program?
Keywords: GURU 81000009
Date: 23 Jul 92 17:17:54 GMT
Organization: Jet Propulsion Laboratory

In article <sims.711806545@sauron.msfc.nasa.gov> sims@sauron.msfc.nasa.gov (Herb Sims) writes:
>The following is a short serial open/read a little/close program and I 
>cannot figure out why the program crashes.  Can someone **PLEASE** help
>me on this...I am about ready to rip the wings of my pet bird!!!!!
>
>The GURU error is 81000009. Which is Free Twice error - What the #$&^(*&@^#
>does that mean?

I see a few things that are wrong. For one, you do not explicitly check
the result of calls. Instead, you assume that the condition codes as set by
the routine itself accurately reflect the success/failure. Another, is
that you're stuffing some rather important values into scratch registers (name-
ly A1) and then expecting those values to survive accross system calls. 

>PreCloseSerial:
>    lea     PacketIO,a1             ;Serial IOrequest structure address
>    move.l  ExecBase,a6             ;The usual
>    jsr     _LVOCheckIO(a6)         ;See if any outstanding IO requests

I would put a tst.l d0 right here

>    bne     SerialClose             ;Nope, so just close it
>    jsr     _LVOAbortIO(a6)         ;Yeap, so stop any IO requests before
>                                    ;closing
>SerialClose:

CloseDevice expects the IO Request block to be in A1. However you called 
CheckIO first. Unless CheckIO preserves A1, you're handing a trashed pointer
to CloseDevice.

>    jsr     _LVOCloseDevice(a6)     ;Go close serial.device

Finally, all the assemblers I'm familiar with assume a default size of word
when the size specification is not appended onto the end of an mneumonic.

>;Allocate memory for and intialize IO request block
>    move.l  #82,-(sp)               ;How big the Message Port is
>    pea     SerialMPortAddr         ;Where is the serial port
>    jsr     _CreateExtIO            ;Allocate/intialze IO request block
>    addq.l  #8,sp
>    tst     d0                      ;Allocate/intialize ok?
     ^^^^^^^^
	\_______Does this test all 32 bits or just 16?


jeff
From: denson@sdd.hp.com (Craig Denson)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: GNU Emacs vs. the world . . . (was Re: C Programmer's Editor of Choice?)
Date: 24 Jul 1992 14:06:22 -0700
Organization: Hewlett Packard, San Diego Division
NNTP-Posting-Host: hpsdln.sdd.hp.com

In article <1992Jul24.141245.18706@syma.sussex.ac.uk> mpue2@syma.sussex.ac.uk (James E. Talbut) writes:

>1) How do I dump it?
 geez, 'Meta-x apropos\n dump' is helpful.

dump-emacs		      
  Function: dump-emacs(intoname symname)
dump-emacs-data		      
----Emacs: *Help*

so, it looks like the answer is
'Meta-x eval\n (dump-emacs "yourfilename" "filename-of-executable emacs?")

craig "if it'd a been a snake.... "
Organization: Penn State University
Date: Wed, 22 Jul 1992 15:23:18 EDT
From: Jonathan Swaby <JFS10@psuvm.psu.edu>
Newsgroups: comp.sys.amiga.programmer
Subject: uptime for the Amiga

Is there a program that will work with 1.3 that is similar to uptime?
I am interested in the load  averages. Can anyone help? Also is there a version
of gcc that does not require the manx linker and will operate on 1.3 ?

Thanks Jonathan Swaby
From: bj@cbmvax.commodore.com (Brian Jackson - Amiga Networking)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: WB2.04 distribution solution
Date: 22 Jul 92 15:58:17 GMT
Reply-To: bj@cbmvax.commodore.com (Brian Jackson - Amiga Networking)
Organization: Commodore, West Chester, PA

In article <mykes.09ns@amiga0.SF-Bay.ORG> mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes:
>In article <54577@mentor.cc.purdue.edu> tna@mentor.cc.purdue.edu (Trevor Andrews) writes:
>> In article <33138@cbmvax.commodore.com< peter@cbmvax.commodore.com (Peter Cherna) writes:
>> <In article <50.2a6a4876@ivgate< phil.dietz@oaminet.omahug.org writes:
>> <<Everyone on the net, mail to suggestions@commodore.COM for them to make a
>> <<public FTP node.
>> <
>> <suggestions@cbmvax.commodore.COM is not an opinion survey.  Flooding it
>> <with requests does nothing to increase the likelihood of any solution,
>> <nor does it endear you to the person who has to sort and classify incoming
>> <bugs and suggestions.  One report is quite adequate, thank you.
>> <
>> <If we were interested in setting up some contact point where "everyone
>> <on the net" could be encouraged to contact with the same request,
>> <we'd have set up a 900-number.
>>
>>   So, I get the impression cbm doesn't care what their customers
>>   want...
>>
>>   :-)
>
>I volunteer to give up my award (2 years running) as Amiga Cynic of the Year
>to this guy :)  

Yep, he is obviously capable of giving the field a ruun for it's money. 

>Or am I more of a typical Amiga person than CBM people
>would like to believe?

You trying to convice us or yourself?  (another -joke- :) :) :) <<-- note)

>> <:-)
>> <
>> <<phil.dietz@oaminet.omahug.org
>> <
>> <     Peter
>> <--
>> <Peter Cherna, Operating Systems Development Group, Commodore-Amiga, Inc.
>Mike Schwartz  (ames!zorch!amiga0!mykes or mykes@amiga0.sf-bay.org)

Brian
       +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +
       Brian Jackson    Amiga Networking Group, Commodore-Amiga Inc.
                        bj@cbmvax.commodore.com
     {uunet|rutgers}!cbmvax!bj    or   networking@cbmvax.commodore.com
 "Oh, so you have a Borg named Hugh."           Uva uvam vivendo varia fit
From: tna@mentor.cc.purdue.edu (Trevor Andrews)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: Turning Intuition's lA-M & lA-N off?
Date: 27 Jul 92 15:49:45 GMT
Organization: Purdue University Computing Center

In article <mwm.1bcr@contessa.palo-alto.ca.us> mwm@contessa.palo-alto.ca.us (Mike Meyer) writes:
|In <55152@mentor.cc.purdue.edu>, tna@mentor.cc.purdue.edu (Trevor Andrews) wrote:
|> Is there an easy way to turn Intuition's (leftAmiga-M) and (leftAmiga-N)
|> off...  It doesn't have to be system friendly!  But LockIBase() won't
|> hack it, I need some of Intuition!!
|
|Just put something in front of Intuition on the input food chain, and
|have it eat those keys. Better yet, do something useful with them.

  That sounds easy enough...  Thanks.  But how about the
  (leftAmiga-leftMouseButton)??  I would also like to turn off screen
  positioning...  Let me guess-- eat the leftButton?  Hmm?... not?

|
|> By the way what happened to being able to set lA-M & lA-N in the "new"
                                                                     ^^^
|> IControl Prefs?  Sigh...
|
|Nothing. Last time I looked, they were there on all released versions
|of AmigaDOS.
|
|	<mike

Thanks,
  Take care,
    Trevor Andrews
Xref: sparky comp.sys.amiga.programmer:11655 comp.sys.amiga.datacomm:5344
From: mbs@adastra.cvl.va.us (Michael B. Smith)
Newsgroups: comp.sys.amiga.programmer,comp.sys.amiga.datacomm
Subject: Re: UseNET on networked Amiga?
Distribution: world
X-NewsSoftware: GRn 1.16e (7/4/92) by Mike Schwartz & Michael B. Smith
Date: 26 Jul 92 09:43:30 EDT
Organization: Private UUCP Node

In article <1992Jul25.134555.14011@vax5.cit.cornell.edu> mx8@vax5.cit.cornell.edu writes:
>       Has anybody out there managed to develop a Usenet reader for
> ethernetted Amigas?  Any help on this would be most appreciated..

I've got some code in an unreleased version of GRn to use NNTP. As I do not
have access to an NNTP port (other than a long-distance call) it isn't
currently released since it hasn't been tested.

I'm negotiating for access to a NNTP port with a local organization.

Maybe soon...
--
  //   Michael B. Smith
\X/    mbs@adastra.cvl.va.us  -or-  uunet.uu.net!virginia.edu!adastra!mbs
From: paulk@terapin.com (Paul Kienitz)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: Advice on partions for hard drive
Date: 22 Jul 92 02:15:41 GMT
Organization: BBS

re advantages of few vs. many partitions --
 
There's no advantage of backupability of separate partitions vs. just
backing up drawers, which I do.  The only thing I back up more than
once a week or so is the drawer with my source code in it.  Nothing
else changes that much or is all that important.
Newsgroups: comp.sys.amiga.programmer
From: ewong@ucs.ubc.ca (Eldon Wong)
Subject: Re: UseNET on networked Amiga?
Organization: University of B.C. Computing Services
Date: Tue, 28 Jul 1992 22:32:51 GMT

In article <9434@cbmger.de.so.commodore.com> peterk@cbmger.de.so.commodore.com (Dr Peter Kittel Germany) writes:
>In article <1992Jul25.134555.14011@vax5.cit.cornell.edu> mx8@vax5.cit.cornell.edu writes:
>>       Has anybody out there managed to develop a Usenet reader for
>> ethernetted Amigas?  Any help on this would be most appreciated..
>
>Well, it appears I'm in this moment newsreading from a networked Amiga.
>The server is a UNIX Amiga and on my Amiga there runs the Amiga AS225
>networks software. I rlogin into that UNIX Amiga and run rn from there.
>I also can rlogin into an SCO UNIX computer on our network which is a
>Commodore PC (Intel-based) and run nn there. No problems, great per-
>formance (at least on the Amiga server).
>
>-- 
>Best regards, Dr. Peter Kittel  // E-Mail to \\  Only my personal opinions...
>Commodore Frankfurt, Germany  \X/ {uunet|pyramid|rutgers}!cbmvax!cbmger!peterk
>				   or  peterk@public.sub.org

I don't think that is what he is looking for.  I asked the same question about
6 months back and ended up with very little that I could use.  He is probably
(correct me if I am wrong) looking for a reader that runs from the Amiga and
gets its feed from a news server.  For example, NeXT has the NewsGrazer, Mac
has TheNews.  The amiga has readers like Grn, Arn, etc. but they all seem to
work only with UUCP.  Isn't there anything that will read the news directly
from a news server?

-- 
|~"~"~"~"~"~"~"~"~"~"~"~"~"~"~"~"~"~"~"~"|"~"~"~"~"~"~"~"~"~"~"~"~"~"~"~"~"|
| Eldon Wong: ewong@ucs.ubc.ca           |  University Computing Services  |
|                                        |  University of British Columbia |
|________________________________________|_________________________________|
From: monster@mbear.pub.uu.oz.au (Martin Ozolins)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: StackSwap in all v37 releases?
Date: 26 Jul 92 18:01:00 GMT
Organization: Bears Incorporated
X-NewsSoftware: GRn 1.16e (7/4/92) by Mike Schwartz & Michael B. Smith

In article <33659@cbmvax.commodore.com> mks@cbmvax.commodore.com (Michael Sinz) writes:
> paulk@terapin.com (Paul Kienitz) writes:
> >Since StackSwap -- or is it SwapStack -- is documented in some v37 autodocs and
> >not others, does this mean that, in order to use the function, I have to check
> >the exec revision number?  Or is it really in all v37s?  What revision number
> >is the dividing line at, if there is one?
> 
> It is in V37 EXEC.  (Any V37 that was released to the public)
> 
> The autodoc should show:
> 
> | exec.library/StackSwap                                 exec.library/StackSwap
> |
> |   NAME
> | 	StackSwap - EXEC supported method of replacing task's stack      (V37)
> |
> |   SYNOPSIS
> | 	StackSwap(newStack)
> | 	          A0
> |
> | 	VOID StackSwap(struct StackSwapStruct *);
> 
> Note the (V37) in the corner.  This means that as of V37 of the library in
> question (in this case, EXEC) this function is available.
> 

Wel, I just rechecked my copies of LIBRARIES and INCLUDES/AUTODOCS, guess what.
It is not mentioned at all.
But it is in the exec_pragmas.h file.

Can you give me some info ( ie a copy of the AutoDoc ) on what it actually 
does ???


-- 

Martin Ozolins :Internet   monster@mbear.pub.uu.oz.au
Victoria       :FIDO       3:633/359.6
Australia
From: hemmer@hemmer.adsp.sub.org (Franz Hemmer)
Newsgroups: comp.sys.amiga.programmer
Subject: Re:  GadToolsBox 1.3
Date: 22 Jul 92 06:28:38 GMT
Organization: InterActivsion

In article <1992Jul19.034616.4555@cbnewsc.cb.att.com> gregg@cbnewsc.cb.att.com
(gregg.g.wonderly) writes:

>From article <1992Jul6.025228.520@aplcen.apl.jhu.edu>, by
jclark@aplcen.apl.jhu.edu (S Clark james hawkin ?[A___?[A?[A?[B?[Bx?):

>> I have problem with ListView gadget.  When I run the program, the
>> listview works fine except that the arrow buttons on the listview doesn't
>> work at all.  In fact, the arrows did work good only once out of 20 or so
>> compiles.  How can I make listview's arrow button working again?
>
>The one thing that I have seen that causes this is that the IDCMP flags
>are munged and do not contain the correct MACRO values for the gadtools
>gadgets as defined in the headers.  The end result is that your program
>never sees IDCMP_GADGETUP...

Use the LISTVIEWIDCMP defined in <libraries/gadtools.h> to be sure your
program listens to the correct IDCMP_xxx values. I mentioned this before,
the common mistake is forgetting to listen to IDCMP_GADGETDOWN ! Which
is sent when you hit the arrow gadgets.

>Someone really needs to collect all these problems and fix the thing, or
>get in touch with the developer and see if they are at least working on
>them.  I would love to make about 100 changes/optimizations to the code
>like was done to the code generator previously, but I don't want to do
>something that I have to throw away if there is another version comming
>out....

The author of GadToolsBox is doing a great job implementing people's
wishes. I'll bet he continues development, though I'm not certain.
Personally, GadToolsBox has too many problems, which makes it unusable.
Hopefully it gets better along the line...

--
*-------------------------------------------------------------------------*
|         _   UseNet: (uunet|rutgers|pyramid)!cbmvax!cbmehq!cbmden!hemmer |
|         \\ _                         CBMNET: hemmer@hemmer.adsp.sub.org |
| InterActi\X/ision - The name of precision                               |
| Best regards                         >> Carpe Diem! - Seize the day! << |
| Franz Hemmer - Software Developer.                                      |
*-------------------------------------------------------------------------*
Newsgroups: comp.sys.amiga.programmer
From: squier@babbage.csus.edu (Anthony Squier)
Subject: : Parallel Port
Keywords: parallel port
Organization: California State University, Sacramento
Date: Tue, 21 Jul 92 05:10:03 GMT

Does anyone have any suggestions for good reference material 
on programming the parallel port? (Other the the Commodore-Amiga 
Hardware Manual)

Thanks is advance,

Tony Squier
squier@babbage.ecs.csus.edu
Newsgroups: comp.sys.amiga.programmer
From: monty@sagpd1 ()
Subject: Re: Hey Commodore types
Reply-To: monty@sagpd1.UUCP (Monty Saine)
Organization: Scientific Atlanta, Government Products Div, San Diego, CA
Date: Wed, 22 Jul 1992 15:13:07 GMT

In article <1992Jul15.114615.25849@mpifr-bonn.mpg.de> mlelstv@specklec.mpifr-bonn.mpg.de (Michael van Elst) writes:
>In <1992Jul15.023355.1552@agora.uucp> robart@agora.uucp (Robert Barton) writes:
>>  from the autodoc:
>
>>ULONG BltBitMap(struct BitMap *, WORD, WORD, struct BitMap *, WORD, WORD,
>>                WORD, WORD, UBYTE, UBYTE, UWORD *)
>
>>  from the prototype:
>
>>LONG BltBitMap(struct BitMap *, long, long, struct BitMap *, long, long,
>>               long, long, unsigned long, unsigned long, PLANEPTR)
>
>and both are 'correct'.
>
>The autodocs specify the values the function expects/returns, the
>prototypes specify what the C-code has to pass to the function.
>
>How many bugs are now in the prototypes ?
>

	I am confused???? You are saying that a function expects a UBYTE so the
	complier passes an unsigned long???????? and this is correct ?????

	What am I overlooking here, do all amiga compliers always pass longs
	on the stack???

	This is not a flame, I am truely confused by how both can be 'correct'
	in the above examples.

	Monty Saine
From: peter@cbmvax.commodore.com (Peter Cherna)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: WB2.04 distribution solution
Date: 22 Jul 92 16:25:21 GMT
Reply-To: peter@cbmvax.commodore.com (Peter Cherna)
Organization: Commodore-Amiga, Inc.  West Chester, PA.

In article <54577@mentor.cc.purdue.edu> tna@mentor.cc.purdue.edu (Trevor Andrews) writes:
>In article <33138@cbmvax.commodore.com< peter@cbmvax.commodore.com (Peter Cherna) writes:
><suggestions@cbmvax.commodore.COM is not an opinion survey.  Flooding it
><with requests does nothing to increase the likelihood of any solution,
><nor does it endear you to the person who has to sort and classify incoming
><bugs and suggestions.  One report is quite adequate, thank you.
><
><If we were interested in setting up some contact point where "everyone
><on the net" could be encouraged to contact with the same request,
><we'd have set up a 900-number.
>
>  So, I get the impression cbm doesn't care what their customers
>  want...

I believe I've been misunderstood.  Hopefully my smiley wasn't
misunderstood, but I did note that you did separate it from the quote.
I saw your smiley too, but I still sense that some thoughts got lost in
communication.

We try hard to be responsive to customers and developers within
the means at our disposal.  Most of the employees you see on Usenet
do not have an official support function.  We're generally the ones
who bring you the new software and hardware.  Developer support
is normally done through CATS (some of whom you may see here on the
net), but Randell, Mike, DaveH, myself, and others are engineers,
not CATSen.  CATS concentrates on support for registered developers.
The prime electronic contact point for North American developers
is BIX.  For European and Australian developers, an extensive developer
network has been built around Unix machines.

There is quite a bit of support for non-registered developers.  The
official support includes writing the RKMs, publishing AmigaMail, making
the Native Developer's Update and Software Toolkit available to anyone
who wants to order, etc.  Electronic support for non-registered developers
is ad-hoc but our presence is strong, as has been remarked frequently.

We try to be responsive.  The fact that I implore you to not flood
suggestions@cbmvax with a hundred or a thousand requests for an
FTP site or whatever other request is not an example of non-responsiveness.
Responsiveness is actually improved by not abusing the existing channels.

     Peter
--
Peter Cherna, Operating Systems Development Group, Commodore-Amiga, Inc.
{uunet|rutgers}!cbmvax!peter    peter@cbmvax.commodore.com
My opinions do not necessarily represent the opinions of my employer.
"No guts, no glory."
From: vertex@cbmvax.commodore.com (Martin Taillefer -- Software)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: C Programmer's Editor of Choice?
Date: 24 Jul 92 13:14:40 GMT
Reply-To: vertex@cbmvax.commodore.com (Martin Taillefer -- Software)
Organization: Commodore, West Chester, PA

In article <1992Jul22.182331.6507@beaver.cs.washington.edu> dylan@cs.washington.edu (Dylan McNamee) writes:
>In article <33197@cbmvax.commodore.com> bj@cbmvax.commodore.com (Brian Jackson - Amiga Networking) writes:
>>In article <14fneaINN75v@darkstar.UCSC.EDU> jonathan@cats.ucsc.edu (Jonathan Cano) writes:
>>>Another excellent option is QED, a shareware editor by Darren M. Greenwald
>>>(who is a programmer at C= ).  QED amazing!
>>
>... other users mention TurboText ...
>
>I have registered QED, and have decided against TurboText for one main
>reason--TurboText doesn't support the Amiga keymap mechanism!  I use
>a dvorak keyboard, (very happily I might add) and TurboText is hard-coded
>with qwerty.  Unacceptable in a program, and evidence that the programmer
>isn't "playing by the rules", which is generally important in an editor.
>
>      /L      dylan mcnamee		dylan@cs.washington.edu

This is incorrect.

TurboText supports any system keymap. TurboText offers very flexible keyboard
remapping which allows any function to be bound to any key. If TurboText
is started with a configuration file, it will map the keyboard according to
the configuration file.

TurboText plays by the rules, always.

------------------------
Martin Taillefer
Internet: vertex@cbmvax.commodore.com   BIX: vertex
From: hemmer@hemmer.adsp.sub.org (Franz Hemmer)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: BusyPointer ????
Date: 23 Jul 92 09:23:36 GMT
Organization: InterActivsion

In article <c8908461.711679111@jupiter.newcastle.edu.au>
c8908461@jupiter.newcastle.edu.au (Robert Lang) writes:

>Can I access the BusyPointer() when my application is busy (ie. what do
>I call with SetPointer()), or do I need my own ???

You need you own imagery to pass onto SetPointer().

>If I need my own...has someone got the image for the wb2 busy pointer ???

Sure do :

/*----------------------------------------------------------------------*/
/*                            spWaitPointer()                           */
/*----------------------------------------------------------------------*/
BOOL spWaitPointer (struct Window *Win)
{
   /*-------------*/
   /* L O C A L S */
   /*-------------*/
   struct IntuitionBase *IntuitionBase;
   static UWORD chip WaitPointer [] =        // Designed by C=
   {
      0x0000, 0x0000,
      0x0400, 0x07C0,
      0x0000, 0x07C0,
      0x0100, 0x0380,
      0x0000, 0x07E0,
      0x07C0, 0x1FF8,
      0x1FF0, 0x3FEC,
      0x3FF8, 0x7FDE,
      0x3FF8, 0x7FBE,
      0x7FFC, 0xFF7F,
      0x7EFC, 0xFFFF,
      0x7FFC, 0xFFFF,
      0x3FF8, 0x7FFE,
      0x3FF8, 0x7FFE,
      0x1FF0, 0x3FFC,
      0x07C0, 0x1FF8,
      0x0000, 0x07E0,

      0x0000, 0x0000                         // Reserved, must be NULL.
   };

   /*---------*/
   /* C O D E */
   /*---------*/
   /*----------------------------------*/
   /* Make sure we have a valid window */
   /*----------------------------------*/
   if (!Win)
   {
      return (FALSE);
   }

   /*---------------------------*/
   /* Opening intuition.library */
   /*---------------------------*/
   if (!(IntuitionBase = (struct IntuitionBase *)
                         OpenLibrary ("intuition.library", 0L)))
   {
      return (FALSE);
   }

   /*-------------------------------*/
   /* And setting the wait pointer. */
   /*-------------------------------*/
   SetPointer (Win, WaitPointer, 16, 16, -6, 0);

   /*---------------------------*/
   /* Closing intuition.library */
   /*---------------------------*/
   CloseLibrary ((struct Library *) IntuitionBase);

   return (TRUE);
}

>Thanks,

You're welcome...

>Robert.

--
*-------------------------------------------------------------------------*
|         _   UseNet: (uunet|rutgers|pyramid)!cbmvax!cbmehq!cbmden!hemmer |
|         \\ _                         CBMNET: hemmer@hemmer.adsp.sub.org |
| InterActi\X/ision - The name of precision                               |
| Best regards                         >> Carpe Diem! - Seize the day! << |
| Franz Hemmer - Software Developer.                                      |
*-------------------------------------------------------------------------*
Newsgroups: comp.sys.amiga.programmer
Subject: Re: CPU cycles
From: jbickers@templar.actrix.gen.nz (John Bickers)
Date: 23 Jul 92 06:30:31 PST
Organization: TAP, NZAmigaUG

Quoted from <jbickers.0bpc@templar.actrix.gen.nz> by jbickers@templar.actrix.gen.nz (John Bickers):

>     My routine takes around 2920 cycles, but it's only happening about
>     850 times a second. Multiplying the two tells me there's roughly

    Well. In fact this routine takes around 16 times that many cycles.
    I missed a loop that gets executed 16 times around the body of the
    routine.

>     have I lost my grip on arithmetic perhaps?

    Solved by a lucid moment in the morning.

--
*** John Bickers, TAP, NZAmigaUG.        jbickers@templar.actrix.gen.nz ***
***    "Radioactivity - It's in the air, for you and me" - Kraftwerk    ***