HDTenEightyP/NetNews huggingface dataset:
From: hbo@netcom.com (Howard Owen)
Subject: Imagen Software on Amiga
Summary: Got Any?
Keywords: Imagen Amiga Printer Driver
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
Date: Fri, 2 Oct 1992 20:04:14 GMT

   I'm purchasing an old Imagestation/S Imagen laser printer which I'd like to 
hook up to my Amiga 2000. I'm looking for support software, most preferably a 
complete Amiga printer driver for the Imagen. I won't be suprised if such a 
beast does not exist, but I'd also appreciate pointers to other Imagen
software, particularly Postscript->Impress filters which might exist out there 
on the net. 

Thanks,


-- 
-- 
Howard Owen, Sys Admin		           internet:              hbo@octel.com
Octel Communications Corporation           BITNET:            HBO@VOODOO.BITNET
890 Tasman Dr MS 05-04 Milpitas CA 95035   DECNET Internet:          45180::HBO
"I am not a pay TV service!"               Telephone:       408-321-6576 (work)
From: cpage@esk.compserv.utas.edu.au (Christopher John Page)
Subject: Octamed Player
Organization: /etc/organisation
Date: Mon, 5 Oct 92 05:29:55 GMT

Has anyone been able to assemble ProPlayer.s from Octamed Pro 3 or ModPlayer.s
from Med 3.21 to run under vblank interrupts, using A68k or Devpac 2?
It appears that the author has written the source to run from CIAB interrupts
only, even though there is a flag near the start of the code to control it.
From: fgd3@nifty.UUCP (Fabbian G. Dufoe, III)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: SAS/6.0 Bugs...
Distribution: world
Date: 4 Oct 92 15:26:49 EDT
Organization: Fabbian G. Dufoe, III

In article <1992Oct3.022958.15200@cbnewsc.cb.att.com> gregg@cbnewsc.cb.att.com (gregg.g.wonderly) writes:
>functionality that it provides...  In particular, why in the
>world can't I do the following???
>
>prog: ${OBJS}
>   list lformat="%s:%s" foobar:#?.o >obj.list
>   sc $(LDFLAGS) with obj.list pname=$@

   Maybe because you used braces--"{" and "}"--instead of parentheses--"("
and ")".

--Fabbian G. Dufoe, III
   350 Ling-A-Mor Terrace South   | GEnie:    F.DUFOE3
   St. Petersburg, Florida  33705 | internet: fgd3%nifty@tct.com
   813-823-2350                   | uucp:     ...tct!deep6!nifty!fgd3
From: jac@moonshine.llnl.gov (James A. Crotinger)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: Obj-C vs. C++ [was Re: Comeau C++]
Date: 4 Oct 92 08:05:33 GMT
Organization: Magnetic Fusion Energy - LLNL

wille@june.cs.washington.edu (Robert Wille) writes:
> bptr = &b;  b->foo();   // this calls B::foo
> bptr = &d;  b->foo();   // this calls D::foo

should be:    bptr->foo();

> Just overload operator new and operator delete.
[.....]
> Note that if you want to use AllocMem, when operator delete is called, you
> will have no idea how big the piece of memory is that you want to free.  You
> cannot assume it will be sizeof(D). 

If you only program for 2.0, use AllocVec/FreeVec. 

  Jim
--
-------------------------------------------------/\--------------------------
James A. Crotinger     Lawrence Livermore N'Lab // \ The above views are mine
jac@moonshine.llnl.gov P.O. Box 808;  L-630 \\ //---\  and are not neces-
(510) 422-0259         Livermore CA  94550   \\/Amiga\  sarily those of LLNL.
Newsgroups: comp.sys.amiga.programmer
From: jamie@cdevil.unx.sas.com (James Cooper)
Subject: Re: CATS address
Originator: jamie@cdevil.unx.sas.com
Date: Mon, 5 Oct 1992 15:25:34 GMT
Organization: SAS Institute Inc.
Keywords: address, price??


In article <1992Oct5.020110.9906@newshub.ccs.yorku.ca>, wlanders@nexus.yorku.ca (W L Anderson) writes:
>I'm looking for the address of CATS to order the 2.04 autodocs & includes (or
>the 2.1 if they are available).  Can somebody send (or post), the address
>and/or cost?  Thanks.

CATS doesn't sell direct, Department C does:

        Commodore Business Machines, Inc.
        Department C
        1200 Wilson Drive
        West Chester, PA  19380

"2.0 Native Developer Update Kit", part # NATDEV20, $20 + $3 S&H

I don't think the 2.1 (or later) files are available yet...

-- 
---------------
Jim Cooper
(jamie@unx.sas.com)                             bix: jcooper

Any opinions expressed herein are mine (Mine, all mine!  Ha, ha, ha!),
and not necessarily those of my employer.
Newsgroups: comp.sys.amiga.programmer
From: boberg@lysator.liu.se (Stefan Boberg)
Subject: Re: HDMem vs GigaMem for virtual memory on Amigas?
Organization: Lysator Academic Computer Society, Linkoping University, Sweden
Date: Sat, 3 Oct 1992 16:30:34 GMT

chanson@nyx.cs.du.edu (Chris Hanson) writes:

>   [GigaMem]

>  Also, even if it were 68040 compatible, it would not work on the A4000,
>as the A4000 uses the 68EC040 chip, the big brother of the 68EC030. The
>68EC040 chip has neither PMMU nor FPU math coprocessor.

  The A4000 uses the full 68040 and not a 68EC040.

>   Chris - Xenon
--
Stefan Boberg - AP & EE student at Linkoping Institute of Technology, Sweden
 Author of LhA, ArjA and LhArcA. Co-author of Alien Breed, Project X ...
  EMail: boberg@lysator.liu.se, lha@augs.se           FIDO: 2:204/404.7
    UUCP:  {uunet|pyramid|rutgers}!cbmvax!cbmehq!cbmswe!team17!boberg
Newsgroups: comp.sys.amiga.programmer
From: svanegmo@descartes.uwaterloo.ca (Stephen Van Egmond)
Subject: FTP site for PASCAL?
Organization: University of Waterloo
Date: Sat, 26 Sep 1992 17:51:52 GMT

Gentlemen, (and ladies, if any):
	I've been looking for a PD or shareware
PASCAL compiler for the Amiga, without success.  If someone
knows of an FTP site that I could pick one up at, I would
greatly appreciate it.  Please respond in E-Mail, as time
constraints don't allow me to read everything that comes flying
by here in c.s.amiga.programmer.

+----------------------------------------------------------------------------
| Stephen Van Egmond (Power Station)        svanegmond@descartes.uwaterloo.ca
| "Important to remember when dealing with people: it's `I think, therefore
|  I am,' and not `I am, therefore I think.'"
Newsgroups: comp.sys.amiga.programmer
From: comeau@csanta.attmail.com (Greg Comeau)
Subject: Re: Diff btw C/C++
Originator: comeau@well.sf.ca.us
Reply-To: comeau@csanta.attmail.com (Greg Comeau)
Organization: Comeau Computing
Date: Sat, 26 Sep 1992 04:41:55 GMT

In article <1992Sep22.005643.23214@ultb.isc.rit.edu> jms1086@ritvax.isc.rit.edu writes:
>Sorry fer this, but I have a question... What exactly is the difference 
>between C and C++? I am looking for a good compiler, and I am wondering
>if I should get C++...

The most glaring difference is with C++'s support for OOP.
Other differences include a number of type checking issues,
a number of things called "better C" features, a number of other
C "holes' patched up, support for data abstraction and other code
reuse mechanisms.

That's it in a nutshell.  If something doesn't make sense or your have
further questions on this or other related issues, please ask.

- Greg
-- 
         Comeau Computing, 91-34 120th Street, Richmond Hill, NY, 11418
                   Producers of Comeau C++ 3.0 With Templates
          Here:attmail.com!csanta!comeau / BIX:comeau / CIS:72331,3421
	    Voice:718-945-0009 / Fax:718-441-2310 / Prodigy: tshp50a
Newsgroups: comp.sys.amiga.programmer
From: mlelstv@specklec.mpifr-bonn.mpg.de (Michael van Elst)
Subject: Re: Arexx trouble reading AUX:
Organization: Max-Planck-Institut f"ur Radioastronomie
Date: Tue, 6 Oct 1992 14:21:06 GMT

In <67234@cup.portal.com> FelineGrace@cup.portal.com (Dana B Bourgeois) writes:
>Just off-hand I would guess the interpreter is too slow to keep up
>with the data stream at at 2400 baud.  The serial device only has
>a 1 character buffer and I dont think the device driver does any 
>buffering for you.  Anybody have the exact explanation?

The serial.device _does_ buffer. The size of that buffer is selectable
with the Serial preferences editor. But I don't think that this buffering
helps since the minimum buffer is 512 bytes and he is still loosing
characters which means that the buffer overflows. A larger buffer would
just take longer until it overflows.

Regards,
-- 
Michael van Elst
UUCP:     universe!local-cluster!milky-way!sol!earth!uunet!unido!mpirbn!p554mve
Internet: p554mve@mpirbn.mpifr-bonn.mpg.de
                                "A potential Snark may lurk in every tree."
From: ef23+@andrew.cmu.edu (Eugene M. Feinberg)
Newsgroups: comp.sys.amiga.programmer
Subject: Window Scrolling
Date: 1 Oct 92 10:26:33 GMT
Article-I.D.: andrew.Memo=Nq00iUx43MKgB
Organization: Freshman, CIT general, Carnegie Mellon, Pittsburgh, PA

Could someone point me to a good example of doing window scrolling 
under 2.04?

Thanks in advance

Gene Feinberg
From: Charlie_Gibbs@mindlink.bc.ca (Charlie Gibbs)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: Small (Big - I dunno) assembly problem
Date: 30 Sep 92 21:02:16 GMT
Organization: MIND LINK! - British Columbia, Canada
Distribution: world

In article <heinz.03q0@edohwg.adsp.sub.org> heinz@edohwg.adsp.sub.org
(Heinz Wrobel) writes:

>In article <275@mindlink.bc.ca> Charlie_Gibbs@mindlink.bc.ca (Charlie Gibbs)
>writes:
>>In article <doug.048d@dsij.uucp> doug@dsij.uucp (Doug Johnson) writes:
>>Then you don't have to remember to manually include all those XREFs.
>
>But those XREFs are sort of "included documentation". If you don't have
>them you need to figre out manually what _is_ used by some module.

     Ah, my aversion to documentation becomes apparent (as if it isn't
standard behaviour for any programmer :-).  You could always run a
disassembler or hunk analyzer on the object module and get the list
automatically.  Alternatively, you could scan the source code for
system calls; in Unix you could do this with standard utilities.

     If you stop using a particular library call, but forget to
remove the XREF, your "documentation" becomes outdated; yet another
maintenance headache.

     Finally, how often do you really need to know exactly which
calls are used?  Exec and dos.library calls are always available
so you needn't worry about them.  If you're dealing with less
commonly used libraries (e.g. mathieeedoubbas.library, arp.library,
or some other special-purpose library) the important point is which
libraries, not which calls within the libraries, your program needs.
They're easy enough to document (and you could always search your
source module for instances of OpenLibrary to find them).

     There.  Is that enough excuses to get me off the hook?  :-)

Charlie_Gibbs@mindlink.bc.ca
"I'm cursed with hair from HELL!"  -- Night Court
From: 832root@gw.wmich.edu
Newsgroups: comp.sys.amiga.programmer
Subject: ZC Problems, or Where to get Amiga libs?
Date: 2 Oct 92 14:06:14 GMT
Organization: Western Michigan University

I'm having troubles with my ZC C-Compiler (from Fish 317).  I don't remember
previously having this problem, but perhaps I haven't really used it before.
 
It's a pretty serious problem - the scanf function doesn't seem to want to
wait for input.  I've implemented it exactly as I should (meaning
   scanf("%d %d %d",&x,&y,&z);
But it just doesn't want to wait.

Scanning thru the demo pprograms included with Zc, I notice that not a
single one of them uses Scanf.

Is there a known problem with this?

----------------------------
Also, can someone tell me how to get the special Amiga libraries (those
that normally come with a commercial C package - intuition.lib, exec.lib,
etc... (er.. intuition.h.. )
 
 -  -  - -- - - - - - - - - - -  - - - - - - -- - - - - --- - --- --  - - - -
 Rick Root                    Amiga is where it's at!
 99root@lab.cc.wmich.edu
 ric@m-net.ann-arbor.mi.us
From: simons@peti.GUN.de (Peter Simons)
Date: Sat, 03 Oct 1992 13:40:57 CET
Organization: * Private Amiga Site Bonn *
Newsgroups: comp.sys.amiga.programmer
Distribution: world
Subject: CPUClear has a bug and I've no idea what it is!
X-Newsreader: Ann 0.9


                                  Hello Guys !

I have a problem with my tool CPUClear V2.xxx. Somebody has discovered a bug
and I have no idea how to fix it, or even why it happens. Just type any text
in the shell-window that uses the 3rd or 4th color and play a little bit
with the size of the window. Then you'll notice, that a line of the colored
text isn't drawn exactly. (Especially with a small window-size!)

This happens only if CPUClear is installed, but I have no idea why. Here's
the NewBltClear()-routine, that is installed by CPUClear:

;--------------------------- cut here ----------------------

NewBltClr:                      ; A1=&memBlock
                                ; D0=bytecount
                                ; D1=flags
                move.l  d2,a0                   ; save register
                btst    #1,d1                   ; bytes per row?
                beq.b   .bytesize               ; Nope -> length is alright
                move.l  d0,d2                   ; Yep  -> calc size of block
                swap    d2
                mulu.w  d2,d0
.bytesize       bclr    #0,d0                   ; only even number of bytes
                tst.l   d0                      ; bytecount > 0 ?
                beq.b   .finished               ; Nope -> Exit!
                moveq   #0,d2                   ; clear memory or fill with
                btst    #2,d1                   ; pattern??
                beq.b   .dataok
                swap    d1                      ; --> fill with pattern
                move.w  d1,d2
.dataok         btst    #1,d0                   ; --> clear
                beq.b   .LongAlign
.loop1          move.w  d2,(a1)+
                subq.l  #2,d0
                bne.b   .loop1
.finished       move.l  a0,d2
                rts

.LongAlign      move.w  d2,d1                   ; more efficient routine
                swap    d2                      ; if size of mem-block is:
                move.w  d1,d2                   ; SIZE % 4 = 0
.loop2          move.l  d2,(a1)+
                subq.l  #4,d0
                bne.b   .loop2
                bra.b   .finished

;--------------------------- cut here ----------------------

    Okay wizards, thanks in advance...Peter


--
              ____ ____      ____
             /___ /__  /\  /  /    INTERNET: simons@peti.GUN.de
            ____//___ /  \/  /      FIDONET: 2:242/7.25
           to you by Peter Simons     VOICE: 0228 / 746061
From: jdp@caleb.UUCP (Jim Pritchett)
Newsgroups: comp.sys.amiga.programmer
Subject: SAS / Lattice functions
Date: Thu, 01 Oct 1992 00:36:35 GMT
Organization: is sometimes desirable

Hello,
       I am attempting to recompile / relink tar with some bug fixes provided by
Andy Finkel.  Unfortunately, my Aztec C doesn't seem to have the following functions
(at least under these names.)


>     ln -g buffer.o create.o diffarch.o extract.o getoldopt.o getopt.o list.o  port.o tar.o utime.o wildmat.o amiga.o -lc -o tar
>
> Aztec C68K Linker 5.2a  Sep  4 1991 12:07:03

> (17)Undefined symbol: _opendir.
> (17)Undefined symbol: _readdir.
> (17)Undefined symbol: _closedir.
> (17)Undefined symbol: __TZ.     
> (17)Undefined symbol: _tzset.   
> (17)Undefined symbol: _timezone.
> (17)Undefined symbol: _getft.

Could someone please provide definitions for these functions so that I can write
replacements (or stubs to similar Aztec functions.)  I need to get tar fixed in
order to finish my upgrade to OS 2.0.

                               Thanks,

                                                Jim Pritchett


UUCP:  rwsys.lonestar.org!caleb!jdp
 or    utacfd.uta.edu!rwsys!caleb!jdp
From: jbickers@templar.actrix.gen.nz (John Bickers)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: SAS/6.0 Bugs...
Date: 4 Oct 92 03:39:37 PST
Organization: TAP

Quoted from <1992Oct3.022958.15200@cbnewsc.cb.att.com> by gregg@cbnewsc.cb.att.com (gregg.g.wonderly):

> With all of the PD makes and diffs available, why in the world are
> smake and diff part of the distribution?  diff, in particular is

    If smake is anything like lmk, then its because the PD makes just
    don't seem to do the same things. They're all a little "wierd".

--
*** John Bickers, TAP.                   jbickers@templar.actrix.gen.nz ***
***    "Radioactivity - It's in the air, for you and me" - Kraftwerk    ***
From: heinz@edohwg.adsp.sub.org (Heinz Wrobel)
Newsgroups: comp.sys.amiga.programmer
Subject: How _not_ to share library bases
Date: 2 Oct 92 23:28:36 GMT
Organization: Edotronik GmbH

There was a lengthy discussion about subtasks and processes using system
libraries. Though it is currently possible to share the library base
pointers between tasks except for the ieee math libs, it is to my knowledge
_not_ endorsed by C= and is _discouraged_.  Well, the only library that is
always accessible is exec.library, of course.

Somebody asked me how _not_ to share library bases in C for subtasks and
subprocesses. This is one valid solution that works with SAS C:

    You need to use #pragma calls with a local base pointer. You have a
    struct TaskData allocated by your subtask that contains _all_ the data
    for your subtask including your special local base pointers. These
    pointers need to be initialized by OpenLibrary() at the beginning of
    your subtasks code.

    A pointer to this struct TaskData is passed to all the functions of
    your subtask. It has _one_ name that is used everywhere. (It might be
    considered somewhat like that "this" pointer of C++ if you consider
    your subprocess as a class ;-) I use "td" in the example below. YOu
    might choose something more descriptive ;-)

    Now you use a #define to let the #pragam calls use your local base
    pointer in your struct TaskData and not the global one that is
    typically used. You don't have to change the pragmas for that!

    This won't work with Aztec C as Aztec C only allows identifiers but not
    expressions for #pragma base pointers.

    <pragmas/utility.h> contains only the SAS style #pragmas for
    utility.library with the the standard "UtilityBase" as base pointer.

    Now you can write and use functions like this;

    #include <exec/types.h>
    #include <clib/utility_protos.h>
    #include <pragmas/utility.h>

    struct TaskData
    {
	struct Library	*td_UtilityBase;
	LONG		BlaBlaTaskData;
    };

    #define UtilityBase td->td_UtilityBase

    BOOL Test(struct TaskData *td, STRPTR a, STRPTR b)
    {
	BOOL result=Stricmp(a,b);

	return(result);

    } /* Test */

    Compile it with LC and disassemble the object with OMD and you see how
    this magic exactly happens. :-)

    Advantage:

	- no global data in your program (Yeah!)
	- faster access to the library base as no 32 bit access is involved
	  with the SMALLDATA model.

    Disadvantage:

	- For new code: None
	- For people who love global variables: Many!
	  (But they shouldn't be doing subtasks anyway ;-)


I'm not with C=, so I CAN'T claim that this is the one and only way to go.
Nor do I claim that it is bug free ;-) It's not really my idea either. I've
seen it in some code and I don't even remember where it was. So I can't
give credit to the guy who started this. I just think this should become
common knowledge ;-)

If you like it, I like you. ;-)

The guy who asked me, complained that there was nothing about this in the
RKMs. True. Maybe next time... :-(


--
Heinz Wrobel, Edotronik GmbH (ECG018)
FAX +49 89 850 51 25 / TEL +49 89 850 25 20 (HOME!&VOICE, sometimes...)
From: kaarts@ccu.umanitoba.ca (Kenneth John Aarts)
Subject: Re: SAS/6.0 Bugs...
Organization: University of Manitoba, Winnipeg, Canada
Date: Sun, 4 Oct 1992 16:51:18 GMT

Anyone else have problems with findsym.se?  I can never get it to do anything
but insert the characters 'MC' after what it considers the current word.

Ken

Newsgroups: comp.sys.amiga.programmer
From: aurel@uni-paderborn.de (Aurel Balmosan)
Subject: Re: Multithreaded code using CreateTask()
Organization: Uni-GH Paderborn, Germany
Date: Thu, 1 Oct 1992 08:25:39 GMT

In article <35483@cbmvax.commodore.com>, dlarson@cbmvax.commodore.com (Dale Larson - Product Assurance) writes:
|> In article <1992Sep30.131753@uni-paderborn.de> aurel@uni-paderborn.de (Aurel Balmosan) writes:
|> 
|> >I think (and i know it because i use in my projects) you can use any library
|> >bases which was opened in the main process,
|> >because the library base pointer is always the same, only the open counter
|> >in the library will be changed. So if you don't close the library in a slave
|> >process it may work fine. 
|> 
|> Wrong.  Some libraries return different library bases to each opener.  To my
|> knowledge, no library other than Exec has guaranteed that it will always
|> return
|> the same library base to each opener, though this is (and probably will
|> continue to be) the usual behavior for many libraries.  Be safe and re-open
|> any libraries needed by the child task or process.

To my knowledge, the hole exec-library-structure plus the jump table must be 
defined in a library. So if a library would pass a different library pointer to
each opener, the library must copy the hole exec-library-structure plus the 
jump table and do some other work to. 
I think this is the inefficientest way to define a library (in speed an
 memory). 
A library which work like this shout be a device (not a large differents)
and for each opener this device shout handle a unit.

I hope most libraries don't work like this and i hope that libraries which 
must work like that are no libraries. 

-- 
	Alexandru-Aurel Balmosan		aurel@uni-paderborn.de
	University of Paderborn (Germany)
Newsgroups: comp.sys.amiga.programmer
From: walker@twix.unx.sas.com (Doug Walker)
Subject: Re: How do *you* use Enforcer and Mungwall?
Originator: walker@twix.unx.sas.com
Date: Mon, 5 Oct 1992 14:39:48 GMT
Organization: SAS Institute Inc.


In article <1ap3gkINNp90@fbi-news.Informatik.Uni-Dortmund.DE>, ch@jenny.informatik.uni-dortmund.de (Carsten Heyl) writes:
|> In article <Bv1n4I.CI7@unx.sas.com>, walker@twix.unx.sas.com (Doug Walker) writes:
|> 
|> >Because it has no way of detecting Mungwall hits.  Enforcer hits are
|> >detected by use of the MMU; CPR can take over the MMU exception
|> >vectors and halt your task at the point of the error.  Mungwall is
|> 
|> Does a way exist to take over the MMU exception in my own c-program ?
|> What Traps etc. need to be set/patched ?
|> What stack-format is used on an MMU exception ?
|> 

Yes, you could use the same method CPR uses.  Unfortunately, I am not
intimately familiar with what CPR does.

|> I would like a program/exception-handler that stops the illegal task from running
|> and does make something similiar to a core-dump on UN*X-boxes to
|> get the exact state of the illegal task.

CPR has this built-in, but unfortunately you have to run the program 
under CPR to get the feature.  I guess you want something that is
always running.

|>   Carsten Heyl                          ch@irb.informatik.uni-dortmund.de

-- 
  *****
=*|_o_o|\\=====Doug Walker, Software Distiller====== BBS: (919)460-7430 =
 *|. o.| ||                                          1200/2400/9600 Dual
  | o  |//     For all you do, this bug's for you!
  ====== 
usenet: walker@unx.sas.com                            bix: djwalker 
Any opinions expressed are mine, not those of SAS Institute, Inc.

Newsgroups: comp.sys.amiga.programmer
From: jwk38122@uxa.cso.uiuc.edu (James W. Klimek)
Subject: How to do the BANG(!) w/ the AmigaShell ?
Organization: University of Illinois at Urbana
Date: Tue, 29 Sep 1992 06:49:07 GMT

    Is it possible to program the BANG command for the 
    AmigaShell. If so how would one go about doing so ?

    Just curious.

   Later,
          James Klimek
From: paulk@terapin.com (Paul Kienitz)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: AMOS, Shifts (<< & >>), and size of int in bits
Date: 29 Sep 92 12:27:20 PST
Organization: BBS

> Does anyone know if the Aztec/Manx and the SAS C compilers do their
> shifts as Logical (0's are shifted in despite the sign bit) or
> Arithmetic (1's are shifted in if the sign bit is 1)?  (Oh, this is
> for Right Shifts only).
 
I think officially C compilers are supposed to use arithmetic right
shifts for signed numbers and logical right shifts for unsigned ones.
 
A quick check verifies that Aztec, at least, goes by this rule.