HDTenEightyP/NetNews huggingface dataset:
From: johnmc@mks.com (John McMullen)
Subject: How to query RS-232 configuration?
Summary: How do I do it?
Keywords: Rsconf(), how, current values
Organization: Mortice Kern Systems Inc., Waterloo, Ontario, CANADA
Date: Sat, 3 Oct 1992 21:21:21 GMT

Is there an easy way to *get* the current values for baud rate, parity, etc?
I know how to set them with Rsconf(), but can't figure out how to retrieve
the current values.  One piece of code I saw (in the uupc.zoo file at
atari.archive) suggested that Rsconf() returns this information encoded
in a long, but no everything else suggests that Rsconf() is a void function.

I'd like to be able to save current values before changing them, and I'd
like to be able to do it easily.  Is there something blatantly obvious
I'm missing?  (Probably...)

Thanks for the help.

John McMullen
-- 
John McMullen 
johnmc@mks.com                 f y cn rd ths, y cn wrk s a tchncl wrtr!
Newsgroups: comp.sys.atari.st.tech
From: hohmuth@freia.inf.tu-dresden.de (Michael Hohmuth)
Subject: Re: How to setup MiNTlibrary with TurboC (or must I insatall gcc to use MiN
Organization: TU-Dresden, Dept. of Computer Science, Germany
Date: Tue, 29 Sep 1992 20:17:12 GMT

In article <1992Sep29.173624.3127@ibr.cs.tu-bs.de> kinzel@ibr.cs.tu-bs.de (Jens Kinzel) writes:

   I want to use the MiNTlib functions under Turbo C. ('cause I like the
   Turbo C debugger). How to compile the files (... must I compile
   everything, what about the assembler files, when  I tried to compile
   ??????.c which includes stdio.h, I got some errormassages ). All in
   all it seems, that installing the libs with Turbo C is not possible
   (,isn't it?).

The next MiNT library (pl22) will contain full support for Pure/Turbo C.
It should be out Real Soon Now.

Michael
--
Internet: hohmuth@freia.inf.tu-dresden.de
From: erlingh@idt.unit.no (Erling Henanger)
Newsgroups: comp.sys.atari.st.tech
Subject: Harddisk-controller
Keywords: Want adaptec 4000A
Date: 5 Oct 92 22:39:05 GMT
Organization: Div. of CS & Telematics, Norwegian Institute of Technology

I have a friend who is looking for an ADAPTEC 4000A HD - controller.
If anyone has one for sale, or knows where he can get one, please
mail me a message, and I'll forward it to him.

-- 
       _______    _____  	 o	     ____       Erling Henanger
      /___       /____/ /       /   /|  /   /           Norwegian Institute
     /          /\     /       /   / | /   |   ___      of Technology. (NTH)
    ------     /  \   /____   /   /  |/     \____| o    Si nei til Intel.
From: f92joah@fy.chalmers.se (Johan Ahlen)
Newsgroups: comp.sys.atari.st.tech
Subject: FALCON inf wanted
Keywords: Falcon
Date: 4 Oct 92 11:11:51 GMT
Organization: Chalmers Univ. of Technology, G|teborg, Sweden


Hello!


I am looking for information about the Falcon, memory maps, hardware adresses etc. I will be using this for the construction of EPROM-cartridge software for the Falcon. I am very thankful for all help you can give me. I intend to release some of the software as PD. I will have access to a Falcon from the end of October.


Please write mail to f92joah@fy.chalmers.se
From: ddv@unix.brighton.ac.uk (Domenico De Vitto)
Newsgroups: comp.sys.atari.st.tech
Subject: Re: XBIOS function to set floopy seek rate
Date: 6 Oct 92 10:02:09 GMT
Organization: University of Brighton, UK

Yep, you are right but the call never sped-up my drive (on TOS1.2),
whatever the parms. I can't remember the call number, sorry.
From: an938@cleveland.Freenet.Edu (George II Lenzer)
Newsgroups: comp.sys.atari.st.tech
Subject: Amiga 500 (gasp!) and ST monitor?
Date: 29 Sep 1992 19:19:07 GMT
Organization: Case Western Reserve University, Cleveland, Ohio (USA)
NNTP-Posting-Host: slc4.ins.cwru.edu


	I have an Amiga 500 that a friend of mine gave to me.  
I've been using the mono video out on the back, but this is 
BORING!  Does anyone know if I can connect my ST's monitor to the
Amiga's analogue RGB out?  The Amiga, I am told, has a Horiz.
sync signal at 15.7 Khz.  Will this work with the ST's monitor.
I am also aware that the ST's monitor is an analogue RGB type.
Sounds good.  Right?  Let me know if I am mistaken or misinformed.

						Than-Q
						George II Lenzer

-- 
"I'll let you in on a little secret.
	The whole universe is totally INSANE!!!!"
						Mr. Natural
From: sheppard_r@kosmos.wcc.govt.nz
Newsgroups: comp.sys.atari.st.tech
Subject: Re: Floppy Disk Fats ..... In the beginning......
Date: 4 Oct 1992 09:11:05 GMT
Organization: Wellington City Council (Public Access), Wgtn, Nz
Reply-To: sheppard_r@kosmos.wcc.govt.nz
NNTP-Posting-Host: kosmos.wcc.govt.nz

In article <1731@eagle.ukc.ac.uk>, wabe@ukc.ac.uk (W.A.B.Evans) writes:
>
>	Why was it decreed in the beginning that TOS should use FIVE
>(512-byte) sectors to store its (12-bit) FAT Info.??
>
>	Or am I missing something?
>						W. Alan B. Evans
>						[ wabe@ukc.ac.uk ]


Well you did, you should have know that Atari is a dumb company..!!.

They have also left it in the newer Tos's as they now think that its a feature,
yes a feature to show the world how dumb Atari is... 
 

Roger.............           sheppard_r@kosmos.wcc.govt.nz

Newsgroups: comp.sys.atari.st.tech
From: jad2433@ritvax.isc.rit.edu (Neonman)
Subject: Re: 520 ST inside an IBM clone case?
Reply-To: jad2433@ritvax.isc.rit.edu
Organization: Rochester Institute of Technology
Date: Fri, 2 Oct 1992 05:03:30 GMT

I put my 1040 into a half Height Tower, kind of a fat one and it works fine,
With Deka's keyboard adaptor, and a MultiSync monitor it works great!,
I'd remove your motherboard from your ST case, and go check out some PC cases
and see what fits.  It can get pretty tight If you start stacking things
on top of the Processor like I did.

Try it and see.
From: hutch@bellman.lanl.gov (John Hutchinson)
Newsgroups: comp.sys.atari.st.tech
Subject: Spectre GCR for sale
Date: 5 Oct 92 16:22:02 GMT
Article-I.D.: newshost.1992Oct5.162202.13115
Reply-To: hutch@bellman.lanl.gov
Organization: Los Alamos National Laboratory

Repost...

I have a Spectre GCR (Macintosh emulator for the Atari ST/STe/TT) with 128K
ROMs, Version 3.0 software (the latest) and extra disk drive cable for sale
at $250.  I have a "real" Mac now and no longer use this.

Send email if interested.

---

___________________________ John "HUTCH" Hutchinson _________________________
_________________ Fair Dinkum Technologies     Member - IAAD  _______________
________________ "No worries, mate... it's from Fair Dinkum!" _______________
____________ email: hutch@bellman.lanl.gov   GEnie: FAIR-DINKUM _____________
Newsgroups: comp.sys.atari.st.tech
From: marc@hemlock.cray.com (Marc Bouron)
Subject: Re: GEM font format
Originator: marc@hemlock
Organization: Cray Research, Inc.
Date: 28 Sep 92 03:55:53 CDT


In article <1992Sep25.132037.19187@cs.mcgill.ca>, bpat@cs.mcgill.ca (Patrick BETREMIEUX) writes:
> It's the same as for Line-A. now this may not help much, so I'll post the
> GEM font format on monday (Can't do it during the weekend).
> 
> 					Patrick.

Does this mean that the format of the font file is the same as in memory?

[M][a][r][c]
Newsgroups: comp.sys.atari.st.tech
From: max@kernighan.cba.csuohio.edu (Max Polk)
Subject: Boot sector
Organization: CSU, Cleveland, Ohio
Date: Wed, 30 Sep 1992 15:50:21 GMT

In reference to bytes 8 to 10 on the boot sector (using numbering
scheme from 0 to 511), which is the 24-bit serial number of the disk:

1.   Is it necessary for this number to be unique or non-zero?

2.   Will anything change if this number is zero from disk to disk?

3.   What was the intended purpose of this number?

I have been attempting to write as many binary zeros to the boot sector
as possible without changing operation of the disk, and seem to have
success in making the boot sector ALL binary zeros except for this
minimal required information (using numbering scheme from 0 to 511):

A.   For a non-executable boot sector:

     1.   Bytes 0-10 can be zero (see questions above about serial
          number).

     2.   Bytes 11-29 need meaningful values describing the disk.

     3.   Bytes 30-509 can be zero.

     4.   Bytes 510-511 need to be any 16-bit value OTHER THAN the
          checksum of bytes 0-509.  In all cases except for one case
          out of 65536, this number can be zero also.

     When you are making a non-executable boot sector, use xbios 0x18,
     which calculates the checksum of the boot sector and adds one to
     it (I believe) to mess up the checksum so that it is not
     signaled as being executable.

B.   For an executable boot sector:

     1.   Bytes 11-29 need meaningful values describing the disk.

     2.   Bytes 510-511 need to be the 16-bit checksum of bytes 0-509,
          signaling that the boot sector is executable.  Xbios 0x18
          can calculate this for you.

     3.   Everything else is your boot program.  TOS branches to the
          first byte of the boot sector wherever in memory it has been
          loaded.

     When you are making an executable boot sector, use xbios 0x18,
     which calculates the checksum of the boot sector and places it
     in bytes 510-511 to signal it as being executable.

     Typically, bytes 0-1 are a PC-relative branch forward to byte 30
     of the boot sector, where the 16-bit value in memory location 0x482
     is set to one and a return from subroutine ends the boot program
     (actually subroutine), at which point TOS runs "COMMAND.PRG".

     However, I don't believe that bytes 0-1 absolutely must be a branch
     instruction.  I believe bytes 0-10 and 30-509 can be any value you
     want (even though 8-10 is the serial number), and can therefore be
     used for your program (why not make the serial number part of a
     program?!).  You just have to remember to skip over the disk
     description section of bytes 11-29 before you start executing it,
     so you would typically use the branch right at bytes 0-1.

Anyone with information about the serial number questions as asked above
or corrections to the rest of this information, please post a follow-up.

----- max@kernighan.cba.csuohio.edu -----
Newsgroups: comp.sys.atari.st.tech
From: sakaria@vipunen.hut.fi (Sakari Aaltonen)
Subject: Re: Re types of diskdrives (was Re: IDE Drives on ST)
Keywords: Hard Disk
Reply-To: sakaria@vipunen.hut.fi (Sakari Aaltonen)
Organization: Helsinki University of Technology
Date: Mon, 28 Sep 1992 19:14:37 GMT

SCSI Small Computer Systems Interface - a standard way of interfacing
     devices, say, hard disks, with computers
ACSI Atari Computer Systems Interface - Atari's interpretation of the
     SCSI standard; applies to their Megafile units (and the DMA port)
IDE  Integrated Drive Electronics - a nonstandard way of interfacing
     devices, say, hard disks, to the PC/AT bus; many, if not most,
     PC's now have IDE drives inside, with SCSI drives more rare
ICD  a maker of add-on products, e.g., SCSI/ACSI adapters, for the
     Atari ST

Hope this helps (and is correct :-),





-- 
-----------------------------------------------------------------------------
Sakari Aaltonen                             Helsinki University of Technology
Email: sakaria@vipunen.hut.fi
---  You can't keep a Finn down without him getting all red in the face  ----
From: svrobins@bra.isnet.inmos.co.uk
Newsgroups: comp.sys.atari.st.tech
Subject: floppy media change problem
Date: 1 Oct 92 14:43:51 GMT
Organization: Inmos Limited

I have a TEAC 3.5" 720K floppy drive hooked up to my Mega 2 as drive B, 
and have a problem with the ST not detecting when I've changed the disk 
in the drive. I don't have the model number here, but I can get it if
its important.

The drive is connected with a Cumana cable/box which worked fine with
the original Cumana drive (the Cumana drive has since become my internal
drive). 

The drive reads, writes, and formats disks ok, but when I change the
disk my ST usually shows the contents of the previous disk. On the desktop
this is'nt too much of a problem 'cos I can press ESCAPE to force the
disk info to be updated. If this happens within an application, when I
have the fileselector up its a real problem. On one memorable occasion
I trashed a disk this way, and lost a lot of work.

I vaguely remember some discussion on this thread a couple of years back.
Does anyone have any ideas on how to fix it ?

Thanks,

Paul Robins

email: svrobins@isnet.inmos.co.uk

==================== gave up the .sigs years ago ======================
From: eker@loria.fr (Steven Eker)
Newsgroups: comp.sys.atari.st.tech
Subject: Re: Line A: C lib?/ bitmap manipulation on the ST..?
Date: 6 Oct 92 11:57:45 GMT
Organization: CRIN (CNRS) Nancy - INRIA Lorraine

In article <1992Sep26.233315.21089@elroy.jpl.nasa.gov>, hyc@hanauma.jpl.nasa.gov (Howard Chu) writes:

[various stuff deleted]

|>   24		movepl	a0@,d1	/* get pixel data */
|>  8-22	lsll	d2,d1	/* shift left to desired bit */
|>  8-10	jpl	0f	/* first bit is now in sign bit - check it */
|>    4		moveq	#1,d0
|>    4	0:	tstw	d1	/* 3rd bit is word sign-bit - check it */
|>  8-10	jpl	1f
|>    4		addqw	#4,d0
|>   24	1:	lsll	#8,d1	/* shift 2nd and 4th bits into place */
|>  8-10	jpl	2f	/* 2nd bit is sign bit - check it */
|>    4		addqw	#2,d0
|>    4	2:	tstw	d1	/* 4th bit is word sign-bit - check it */
|>  8-10	jpl	3f
|>    4		addqw	#8,d0

|> There ya have it, no longword masks, and only two shift instructions.
[...]
|> Total execution time for the marked code is 104 to 126 cycles, best to worst
|> case. (Might actually be 112 best case, I think the 10 cycle branches will
|> get padded to 12 by the bus timing.) That amounts to 13 to 15 microseconds
|> per pixel, running at 8MHz. To convert an entire screen would spend just
|> about 880 milliseconds in this code, best case, to just over 1 second,
|> worst case. Doesn't seem too bad.

I just can't resist optimising this code:
	24	movep.l	(a0),d1		; get pixel data
	8-24	lsl.l	d2,d1		; shift left to desire bit
	4	moveq	#0,d0		; zero result
	4	add.b	d1,d1		; get 4th bit
	4	addx.b	d0,d0
	4	add.w	d1,d1		; get 3rd bit
	4	addx.b	d0,d0
	4	swap	d1		; get high bytes
	4	add.b	d1,d1		; get 2nd bit
	4	addx.b	d0,d0
	4	add.w	d1,d1		; get 1st bit
	4	addx.b	d0,d0

Look Ma, no longword masks, no branches & only _one_ shift instruction.
Best case 72cy/9uS, worst case 88cy/11uS. Of course if you want to do consecutive
pixels you should use the method I previously posted and get an average of
~48cy/5uS per pixel or 320mS/screen.

Steven
From: neil@cs.hw.ac.uk (Neil Forsyth)
Newsgroups: comp.sys.atari.st.tech
Subject: Re: Revised Picture Formats List (was Re: Cyber Seq.  Info and Question)
Date: 30 Sep 92 08:44:41 GMT
Organization: Dept of Computing & Electrical Engineering, Heriot-Watt University, Scotland


Thanks for the latest edition Dave.

Now listen people. If you look at Dave's list you will see that it bears a
copyright message. The reason for this is that about 2 years ago ST Format
quoted Dave's list and gave no-one (neither Dave or any of the contributors)
the credit for any of it. This years September issue of Atari ST User did the
same despite the copyright and note on distribution. I wrote to them and
recieved no reply. These magazines are slime!

Dave and many of us have put lots of work into reverse engineering and
documenting these file formats and these magazines are quite happy to pillage
the work without due credit. Dave doesn't ask for money or try to restrict the
distribution of the knowledge of these formats. All he asks is that the many
contributors be respected and given credit where credit is due.

Since the picture formats list was taken from this group by these magazines
I'm sure they will read this too:-

	Dirty Slimy Magazine List
	-------------------------

	ST Format	(a.k.a ST Doormat)
	Atari ST User	(a.k.a ST Luser)

+----------------------------------------------------------------------------+
! DISCLAIMER:Unless otherwise stated, the above comments are entirely my own !
! Neil Forsyth                                                               !
! Department of Computing and Electrical Engineering                         !
! Heriot-Watt University                                                     !
! Edinburgh, Scotland                                                        !
! United Kingdom            Email: neil@uk.ac.hw.cs, ..!ukc!cs.hw.ac.uk!neil !
! "'Have you got any?' he asked, expecting the answer no" - Monty Python     !
+----------------------------------------------------------------------------+
From: grellier@ufrima.imag.fr (GRELLIER thierry)
Newsgroups: comp.sys.atari.st.tech
Subject: Re: help needed on GEM programming
Date: 1 Oct 92 14:30:32 GMT
Organization: Univeristy of Grenoble


From benjamin@mermaid.micro.umn.edu Thu Oct  1 00:43:33 1992
Received: from mermaid.micro.umn.edu by turing.imag.fr (4.1/5.17)
	id AA24160; Thu, 1 Oct 92 00:43:30 +0100
Received: from sponge.micro.umn.edu by mermaid.micro.umn.edu (5.65c/Tony Tiger 1.34)
	id AA17800; Wed, 30 Sep 1992 18:43:05 -0500
Date: Wed, 30 Sep 1992 18:43:05 -0500
From: benjamin@mermaid.micro.umn.edu (Benjamin L. White)
Message-Id: <199209302343.AA17800@mermaid.micro.umn.edu>
To: grellier@babbage
Subject: GEM events
Status: ORr

When you're testing GEM events, you may get more than one at a time.

{
   event = evnt_multi(........);
   if (event & MU_M1)
      do_m1_stuff();
   if (event & MU_KEYBD)
      do_keybd_stuff();
   .
   .
   .
}

 NOT

{
   event = evnt_multi(...........);
   if (event & MU_M1)
      do_m1_stuff();
   else if (event & MU_KEYBD)
      do_keybd_stuff();
   .
   .
   .
}

Get rid of the else, and recieve multiple simultaneously returned events.


Ben White
5th Crusade Software

(PS. If no one else does, and this IS, in fact, your problem, please post
      the answer to c.s.a.st.tech)
Newsgroups: comp.sys.atari.st.tech
From: cummins@a.cs.okstate.edu (CUMMINS JOHN WILLI)
Subject: Re: TOS Chip & Socket Numbers
Organization: Oklahoma State University, Computer Science, Stillwater
Date: Mon, 28 Sep 92 19:30:36 GMT

In article <1992Sep28.152621.29769@newshost.lanl.gov> hutch@bellman.lanl.gov writes:
>I've got a 6-chip set of TOS 1.4 and need to know which chips go into which
>sockets.  I had this information before but it's long gone now.  Appreciate
>
>___________________________ John "HUTCH" Hutchinson _________________________

Using the C-xxxxn numbers for tos 1.0, and the L0, L1,... H2
numbers for tos 1.4

1.0       1.4
C-0       H2
C-1       H1
C-2       H0
C-3       L2
C-4       L1
C-5       L0

If this isn't enough...  maybe someone else has the Unn numbers from the
motherboard they can add to the table....

Seeya!
jc
From: jared@midiline.la.ca.us ('286 Highlander)
Newsgroups: comp.sys.atari.st.tech
Subject: Does anyone...
Date: Tue, 06 Oct 92 19:56:31 PDT
Organization: MIDILine BBS - Altadena, CA - (818) 797-3285

know where Jason Borkowsky is?  I kept in contact with him quite a while 
ago and now his net address isn't valid any longer.  Help?!?
 
Yo, Jason!  You out there...there...there...there... (endless echo)

Reply in Email to: jared@midiline.la.ca.us

-----
jared@midiline.la.ca.us ('286 Highlander) 
MIDILine BBS (midiline.la.ca.us) - Altadena CA - (818)797-3285
Newsgroups: comp.sys.atari.st.tech
From: kendall@great-gray.owlnet.rice.edu (Kendall Helmstetter Gelner)
Subject: Need *more* help with gcc!!
Organization: Rice University, Houston, Texas
Distribution: usa
Date: Sun, 4 Oct 1992 07:56:13 GMT

I was wondering if someone out there could be merciful to me and give a
pointer or two on setting up gcc v2.2.2 on my ST:

* I have all of the files (binaries and libraries) and am running under MiNT.
* I have 2.5 megs of memory, so that shouldn't be (much) of a problem.
* I need to know where to put the files, and also if there are any
environment variables I need to set.

I've used gcc for a long time on a Unix system, but just cannot figure out
how to set this thing up on an ST!!

Any help would be appriciated... and thanks to those who pointed me to the
latest version!

Waiting Anxiously,
---> Kendall Gelner (kendal@rice.edu)
--
---> Kendall Gelner (kendall@rice.edu)
C Code.  C Code Run.  Run, Code, RUN!
   PLEASE!!!

Newsgroups: comp.sys.atari.st.tech
From: wmagro@uiuc.edu (William Magro)
Subject: Re: Help: PC Harddisk on ST
Organization: University of Illinois at Urbana
Date: Thu, 1 Oct 1992 02:28:32 GMT

In article <1992Sep30.161949.1@research.ptt.nl> dirksen@research.ptt.nl  
writes:
> Hello out there,
> 
> I've got a 20 Mbyte Harddisk + AT Western Digital Controller.
> I would like to connect it to my Atari 1040.
> 
> Is there somebody who knows how to do it? Are there drivers for PC-AT  
Harddisks
> available for the Atari ST? Any help is welcome.
> 
> Please mail to   M.J.G.Dirksen@research.ptt.nl
> 
> Thanks,
> MaD

You need to chuck the AT WD controller and swap it for an Adaptec 4000
MFM controller.  I assume the drive is MFM, because I don't know of
any 20M RLL drives.  If, indeed it is RLL, you'll need to use an 
Adaptec 4070 instead.  Once connected to the 4000, you just hook the
SCSI connector onto your Host Adaptor (from ICD, Supra, BMD, etc.).

I currently use two IBM-style drives on my machine through an Adaptec
4070.  By the way, these IBM drives are usually referred to as
ST506/412 drives, I believe, based on the original Seagate 5M drive
of the same name (ST506).

Good luck!

--Bill
Newsgroups: comp.sys.atari.st.tech
From: ramaer@cs.utwente.nl (Mark Ramaer)
Subject: monitor burned away.
Organization: University of Twente, Dept. of Computer Science
Date: Tue, 29 Sep 1992 09:38:27 GMT

Yesterday my monitor started smoking (while I am a non-smoker).
Does anyone know if it is possible to attach a normal monitor
that takes a compisite video signal to an atari?
I have a spare monitor from the old days when I had an apple II, and
if I remember correctly it accepts 1 V top-top at 8 ohm.

I have some docs that say that the signals on the video connector
are divided into horizontal sync, vertical sync and monochrome.
Probably I will have to merge these into one signal but my question
is: how?

I am not afraid of a soldering iron.

Any help is appreciated,
Mark Ramaer
Newsgroups: comp.sys.atari.st.tech
From: entropy@gnu.ai.mit.edu (maximum entropy)
Subject: Re: How to query RS-232 configuration?
Organization: Not Proud Programmers
Date: Wed, 7 Oct 1992 00:20:22 GMT

In article <1992Oct3.212121.18545@mks.com> johnmc@mks.com (John McMullen) writes:
>Is there an easy way to *get* the current values for baud rate, parity, etc?
>I know how to set them with Rsconf(), but can't figure out how to retrieve
>the current values.  One piece of code I saw (in the uupc.zoo file at
>atari.archive) suggested that Rsconf() returns this information encoded
>in a long, but no everything else suggests that Rsconf() is a void function.

The function indeed returns a longword with the previous values of the
rs232 registers in a longword, in the same order as they are specified
in the Rsconf call (excluding the baud rate), with the first UCR in
the high-order byte and the rest in decreasing order.  You should call
Rsconf(-1, -1, -1, -1, -1) to retrieve this longword.

On TOSses AFTER TOS 1.04, you can specify -2 for the baud rate (first
parameter to Rsconf()) to retrieve the baud rate.  I haven't tried
this myself as I have TOS 1.04 and it doesn't seem to do the right
thing (as a matter of fact, a -2 for baud rate crashes my machine.)

Cheers,
entropy
--
entropy@gnu.ai.mit.edu
entropy. . .it's not just a good idea, it's the second law.
Boycott AT&T, Lotus, Apple, Ashton-Tate and Xerox.  Join the League for
Programming Freedom!  Write to league@prep.ai.mit.edu for more information.