 
INFO-ATARI16 Digest         Thu, 15 Feb 90       Volume 90 : Issue  212
 
Today's Topics:
                        16 meg partition limit
            ABC: New language sources and binaries posted
                         Bug in TURBO-C V1.0
                        European ST magazines
                  Manipulation of Courtroom Evidence
                         Mega 2 Fan Question
                OK, so they sell the STe in Europe...
                  PageStream 1.8 virus (not a rumor)
                      Reading from a data stream
                             Starstrk.acc
                         ST mice & longevity
                          st xpress magazine
                         The 'PHANTOM TYPIST'
----------------------------------------------------------------------
 
Date: 15 Feb 90 12:19:04 GMT
From: mcsun!unido!fauern!fauern!csbrod@uunet.uu.net  (Claus Brod )
Subject: 16 meg partition limit
Message-ID: <2425@medusa.informatik.uni-erlangen.de>
 
greg@sj.ate.slb.com (Greg Wageman) writes:
 
>What Atari has changed, I believe, is to treat the "recno" parameter
>as an UNSIGNED int, with a range of 0 to 65535, and consequently a
>32Mb limit.  However, any software which calls Rwabs() to directly
>access the hard disk (such as disk checkers might do) must understand
>this convention, or else they will get confused by the (apparently)
>negative sector numbers (i.e. any in the second 16 Meg with the
>high-order bit set).
 
Actually, ATARI did extend the range of sector numbers, but not only
to 2~16 but to 2~32. This is, however, not the reason why partitions
larger than 16 MB became possible. The new ATARI driver supports
larger logical sector sizes. Before, the logical sector size has
been 512 bytes througout all kind of media. Now, the new hard disk#
driver blocks 512 byte sectors to larger logical sectors. A partition
with 24 MB, for instance, has a logical sector size of 1024 bytes.
This trick works with ALL TOS versions, so you don't have to install
TOS 1.4 to use them. (Nevertheless, TOS 1.4 is a must for every
hard disk user because it speeds up everything quite a lot.)
 
Claus Brod
 
------------------------------
 
Date: 15 Feb 90 17:30:16 GMT
From: mcsun!hp4nl!charon!valk.cwi.nl!steven@uunet.uu.net  (Steven Pemberton)
Subject: ABC: New language sources and binaries posted
Message-ID: <8809@boring.cwi.nl>
 
The source and binaries of a new programming language, ABC, are being
posted this week to comp.sources.unix and comp.binaries.?ibm.pc,
atari.st; mac?. This posting gives an overview of the language and
some examples.
 
THE LANGUAGE
ABC is an imperative language originally designed as a replacement for
BASIC: interactive, very easy to learn, but structured, high-level,
and easy to use. ABC has been designed iteratively, and the present
version is the 4th iteration. The previous versions were called B (not
to be confused with the predecessor of C).
 
It is suitable for general everyday programming, the sort of
programming that you would use BASIC, Pascal, or AWK for. It is not a
systems-programming language. It is an excellent teaching language,
and because it is interactive, excellent for prototyping. It is much
faster than 'bc' for doing quick calculations.
 
ABC programs are typically very compact, around a quarter to a fifth
the size of the equivalent Pascal or C program. However, this is not
at the cost of readability, on the contrary in fact (see the examples
below).
 
ABC is simple to learn due to the small number of types in the
language (five). If you already know Pascal or something similar you
can learn the whole language in an hour or so.  It is easy to use
because the data-types are very high-level.
 
The five types are:
   numbers: unbounded length, with exact arithmetic the rule
   texts (strings): also unbounded length
   compounds: records without field names
   lists: sorted collections of any one type of items (bags or multi-sets)
   tables: generalised arrays with any one type of keys, any one type
           of items (finite mappings).
 
THE ENVIRONMENT
The implementation includes a programming environment that makes
producing programs very much easier, since it knows a lot about the
language, and can therefore do much of the work for you. For instance,
if you type a W, the system suggests a command completion for you:
    W?RITE ?
 
If that is what you want, you press [tab], and carry on typing the
expression; if you wanted WHILE, you type an H, and the system changes
the suggestion to match:
    WH?ILE ?:
 
This mechanism works for commands you define yourself too. Similarly,
if you type an open bracket or quote, you get the closing bracket or
quote for free. You can ignore the suggestions if you want, and just
type the commands full out.
 
There is support for workspaces for developing different programs.
Within each workspace variables are persistent, so that if you stop
using ABC and come back later, your variables are still there as you
left them. This obviates the need for file-handling facilities: there
is no conceptual difference between a variable and a file in ABC.
 
The language is strongly-typed, but without declarations. Types are
determined from context.
 
IMPLEMENTATIONS
The sources for the Unix version are being posted to
comp.sources.unix; the binaries to comp.binaries.?mac, ibm.pc,
atari.st?. They should also be available from some servers (for
instance by anonymous ftp from hp4nl.nluug.nl and mcsun.eu.net, or
send the mail message
        request: index
        topic: index
to info-server@hp4nl.nluug.nl, for information on how to get it by mail).
 
There is an irregular newsletter available from us, and a book "The
ABC Programmer's Handbook" by L. Geurts, L. Meertens and S. Pemberton,
will be published by Prentice-Hall shortly (ISBN 0-13-000027-2).
 
See also Steven Pemberton, An Alternative Simple Language and
Environment for PCs, IEEE Software, Vol. 4, No. 1, January 1987, pp.
56-64.
 
ADDRESS
        ABC Implementations
        CWI/AA
        Kruislaan 413
        1098 SJ AMSTERDAM
        The Netherlands
 
        Email: abc@cwi.nl
 
EXAMPLES
The (second) best way to appreciate the power of ABC is to see some
examples (the first is to use it). In what follows, >>> is the
prompt from ABC:
 
NUMBERS
        >>> WRITE 2**1000
        107150860718626732094842504906000181056140481170553360744375038837
        035105112493612249319837881569585812759467291755314682518714528569
        231404359845775746985748039345677748242309854210746050623711418779
        541821530464749835819412673987675591655439460770629145711964776865
        42167660429831652624386837205668069376
 
        >>> PUT 1/(2**1000) IN x
        >>> WRITE 1 + 1/x
        107150860718626732094842504906000181056140481170553360744375038837
        035105112493612249319837881569585812759467291755314682518714528569
        231404359845775746985748039345677748242309854210746050623711418779
        541821530464749835819412673987675591655439460770629145711964776865
        42167660429831652624386837205668069377
 
TEXTS
        >>> PUT ("ha " ~~ 3) ~ ("ho " ~~ 3) IN laugh
        >>> WRITE laugh
        ha ha ha ho ho ho
 
        >>> WRITE #laugh
        18
 
        >>> PUT "Hello! "~~1000 IN greeting
        >>> WRITE #greeting
        7000
 
LISTS
        >>> WRITE ?1..10?
        ?1; 2; 3; 4; 5; 6; 7; 8; 9; 10?
        >>> PUT ?1..10? IN l
        >>> REMOVE 5 FROM l
        >>> INSERT pi IN l
        >>> WRITE l
        ?1; 2; 3; 3.141592653589793; 4; 6; 7; 8; 9; 10?
 
        >>> PUT ?? IN ll
        >>> FOR i IN ?1..3?:
                INSERT ?1..i? IN ll
        >>> WRITE ll
        ??1?; ?1; 2?; ?1; 2; 3??
        >>> FOR l IN ll:
                WRITE l /
        ?1?
        ?1; 2?
        ?1; 2; 3?
        >>> WRITE #ll
        3
 
COMPOUNDS
        >>> PUT ("Square root of 2", root 2) IN c
        >>> WRITE c
        ("Square root of 2", 1.414213562373095)
        >>> PUT c IN name, value
        >>> WRITE name
        Square root of 2
        >>> WRITE value
        1.414213562373095
 
A TELEPHONE LIST
This uses the table data-type. In use, tables resemble arrays:
 
        >>> PUT ?? IN tel
        >>> PUT 4054 IN tel["Jennifer"]
        >>> PUT 4098 IN tel["Timo"]
        >>> PUT 4134 IN tel["Guido"]
 
        >>> WRITE tel["Jennifer"]
        4054
 
You can write all ABC values out. Tables are kept sorted on the keys:
        >>> WRITE tel
        ?["Guido"]: 4134; ["Jennifer"]: 4054; ["Timo"]: 4098?
 
The keys function returns a list:
        >>> WRITE keys tel
        ?"Guido"; "Jennifer"; "Timo"?
 
        >>> FOR name IN keys tel:
               WRITE name, ":", tel[name] /
        Guido: 4134
        Jennifer: 4054
        Timo: 4098
 
You can define your own commands:
 
        HOW TO DISPLAY t:
           FOR name IN keys tel:
              WRITE name<<10, tel[name] /
 
        >>> DISPLAY tel
        Guido      4134
        Jennifer   4054
        Timo       4098
 
To find the user of a given number, you can use a quantifier:
        >>> IF SOME name IN keys tel HAS tel[name] = 4054:
               WRITE name
        Jennifer
 
Or create the inverse table:
        >>> PUT ?? IN subscriber
        >>> FOR name IN keys tel:
               PUT name IN subscriber[tel[name]]
 
        >>> WRITE subscriber[4054]
        Jennifer
 
        >>> WRITE subscriber
        ?[4054]: "Jennifer"; [4098]: "Timo"; [4134]: "Guido"?
 
Commands and functions are polymorphic:
        >>> DISPLAY subscriber
        4054       Jennifer
        4098       Timo
        4134       Guido
 
Functions may return any type. Note that indentation is significant -
there are no BEGIN-END's or ? ?'s:
 
        HOW TO RETURN inverse t:
           PUT ?? IN inv
           FOR k IN keys t:
              PUT k IN inv[t[k]]
           RETURN inv
 
        >>> WRITE inverse tel
        ?[4054]: "Jennifer"; [4098]: "Timo"; [4134]: "Guido"?
 
        >>> DISPLAY inverse inverse tel
        Guido      4134
        Jennifer   4054
        Timo       4098
 
A CROSS-REFERENCE INDEXER
 
'Text files' are represented as tables of numbers to strings:
 
        >>> DISPLAY poem
        1         I've never seen a purple cow
        2         I hope I never see one
        3         But I can tell you anyhow
        4         I'd rather see than be one
 
The following function takes such a document, and returns the
cross-reference index of the document: a table from words to lists of
line-numbers:
 
        HOW TO RETURN index doc:
           PUT ?? IN where
           FOR line.no IN keys doc:
              TREAT LINE
           RETURN where
        TREAT LINE:
           FOR word IN split doc[line.no]:
              IF word not.in keys where:
                 PUT ?? IN where[word]
              INSERT line.no IN where[word]
 
TREAT LINE here is a refinement, directly supporting
stepwise-refinement. 'split' is a function that splits a string into
its space-separated words:
 
        >>> WRITE split "Hello world"
        ?[1]: "Hello"; [2]: "world"?
 
        >>> DISPLAY index poem
        But        ?3?
        I          ?2; 2; 3?
        I'd        ?4?
        I've       ?1?
        a          ?1?
        anyhow     ?3?
        be         ?4?
        can        ?3?
        cow        ?1?
        hope       ?2?
        never      ?1; 2?
        one        ?2; 4?
        purple     ?1?
        rather     ?4?
        see        ?2; 4?
        seen       ?1?
        tell       ?3?
        than       ?4?
        you        ?3?
 
Steven Pemberton, CWI, Amsterdam; steven@cwi.nl
"Let us go then you and I/while the night is laid out against the sky/like a
                                        smear of mustard on an old pork pie"
Nice poem Tom. I have ideas for changes though, why not come over? - Ezra
 
------------------------------
 
Date: 15 Feb 90 14:01:53 GMT
From: att!dptg!lzsc!hcj@ucbvax.Berkeley.EDU  (HC Johnson)
Subject: Bug in TURBO-C V1.0
Message-ID: <1302@lzsc.ATT.COM>
 
In article <1990Feb14.173746.28244@agate.berkeley.edu>,
 ericco@stew.ssl.berkeley.edu (Eric C. Olson) writes:
> >Look at this C-code:
> >    #define MAX  -32768
> >    main()
> >    ?
> >    printf("1: %d\n", MAX);
> >    printf("2: %d\n", (int)MAX);
> >    ?
>
> This is not a bug, its a feature.  MAX is not a number, its an expression.
> Thus, the evaluation of MAX is a long int.  The first printf only prints
 
K&R specify that constants are int's.  Not a long int.
 
> the high word of the long int MAX.  The second printf properly casts the
> long int to an int and prints the correct result.  Try:
>
>       printf("3: %ld\n", MAX);
>
This is probably an example of the compiler maker trying to be nice.
And breaking the users code in the process.
 
 
Howard C. Johnson
ATT Bell Labs
=====NEW address====
att!lzsc!hcj
hcj@lzsc.att.com
 
stupid mailer:
 
------------------------------
 
Date: 15 Feb 90 12:23:22 GMT
From: mcsun!unido!fauern!fauern!csbrod@uunet.uu.net  (Claus Brod )
Subject: European ST magazines
Message-ID: <2426@medusa.informatik.uni-erlangen.de>
 
rjd@cs.brown.edu (Rob Demillo) writes:
 
>I get three Europian ST mags, one in  English and the
>other two in German. The one in English is from the
>UK and called ST World. It is really a decent rag, with
>alot of (envious) product announcements, some decent articles/reviews,
>and reasonable programming/hardware hacks. The 68000'er (German)
>is similiar. ST Magazin (German) I let the subscription run out on
>because it is a little to basic user oriented.
 
68000er and ST-Magazin are identical. They changed their name from
68000er to ST-Magazin quite a while ago.
 
Claus Brod
 
------------------------------
 
Date: 15 Feb 90 22:20:26 GMT
From: portal!portal!cup.portal.com!Dave_Ninjajr_Flory@apple.com
Subject: Manipulation of Courtroom Evidence
Message-ID: <26961@cup.portal.com>
 
Sure it can be done. The problem is no different from a witness who lies, tho'
Any photo, video, etc. is only as reliable as the jury thinks the presenter
is. If they believe him/her when s/he says the picture/video is an accurate
presentation of the facts, then they believe the video. If they believe the
other attorney who says it was changed, then the video is worthless even if
it is accurate.
 
D.FLORY - GEnie
dave_ninjajr_flory@portal.cup.com
 
You don't get to be a grey haired Ninja rider by riding like a fool!!
The bodies of those who did are familiar to me.......
 
------------------------------
 
Date: 16 Feb 90 01:51:00 GMT
From: zaphod.mps.ohio-state.edu!math.lsa.umich.edu!hyc@tut.cis.ohio-state.edu
 (Howard Chu)
Subject: Mega 2 Fan Question
Message-ID: <10974@stag.math.lsa.umich.edu>
 
In article <2990@water.waterloo.edu> ljdickey@water.waterloo.edu (L.J.Dickey)
 writes:
%In article <76921@tut.cis.ohio-state.edu> <bks@cis.ohio-state.edu> writes:
%>
%> I have a mega 2 with PC speed installed, and one external SF314 disk drive.
%>When either disk drive is accessed the fan in the mega slows down...
%>Is this a normal condition? Should I check my power supply? Could it have
%>anything to do with PC Speed?
%
%My Mega 2 does this too.  Did it when it was new.  Still does it now.
%I take it to mean marginal power supply and heavy current draw by the
%motor for the drive.  So far, I have no hardware additions.
 
My Mega 4 does this too, and as far as I remember, it's done it since
it was new as well. Of course, now I have a bunch of stuff attached
inside it... No external floppy drive though.
--
  -- Howard Chu @ University of Michigan
 
------------------------------
 
Date: 15 Feb 90 12:31:12 GMT
From: mcsun!unido!fauern!fauern!csbrod@uunet.uu.net  (Claus Brod )
Subject: OK, so they sell the STe in Europe...
Message-ID: <2427@medusa.informatik.uni-erlangen.de>
 
exspes@bath.ac.uk (P E Smee) writes:
 
>There is ONE good reason for selling to Europe first.  In general, FCC type
>approval is harder to get than the corresponding approvals in Europe.  So,
>Atari can begin selling the machines over here before they have been
>tightened down to FCC specs.  Or, in other words, it may be that Europe is
>being used to 'bug-chase' the machines before they are released in the
>States, rather than being favored.  Certainly, if problems DO occur with the
>early versions of a machine, it is better to have them surface in the market
>which is potentially smaller, rather than in the one which is potentially
>large.
 
We don't like these ideas very much here in Europe. First of all, why
should the US FCC restrictions be tighter than ours? Any facts about
this? Second, the US appears to us as a PC-sick country. Users don't
seem ready to change over to 68000 computers (except, of course, the
Mac). Third, after five years of software and hardware development
for the ST, the European market has proven to be more flexible and
powerful than the US market; European applications set the pace for
ST software development. Many good reasons for ATARI to favor Europe.
 
Claus Brod
 
------------------------------
 
Date: 15 Feb 90 12:32:47 GMT
From: mcsun!unido!fauern!fauern!csbrod@uunet.uu.net  (Claus Brod )
Subject: PageStream 1.8 virus (not a rumor)
Message-ID: <2428@medusa.informatik.uni-erlangen.de>
 
woodside@ttidca.TTI.COM (George Woodside) writes:
 
>The "KEY" virus is the most widespread virus in the USA. That is
>because it displays no symptoms, it only spreads. It represents
 
The KEY virus is known in Europe as the BPL or Signum virus.
 
------------------------------
 
Date: 16 Feb 90 02:04:42 GMT
From:
 pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!math.lsa.umich.edu!hyc@tut
 .cis.ohio-state.edu  (Howard Chu)
Subject: Reading from a data stream
Message-ID: <10976@stag.math.lsa.umich.edu>
 
In article <2099@rodan.acs.syr.edu> dinapoli@rodan.acs.syr.edu (Ron DiNapoli)
 writes:
>
>I am interested in reading a serial stream going at 230K bits/sec into
>my ST.  I've been thinking of using the drive port (documentation says
>it moves at 250K bits/sec) but I am not sure it will work.  I'd like to
>avoid using the internal expansion bus...  any ideas?
>
>Ron DiNapoli
 
I don't think you'll be able to coerce the disk controller to give you
the data at 230 instead of 250kbits/sec. Sounds a lot like Apple/Localtalk
to me, why don't ya wait for Dave Small to finish his board...
--
  -- Howard Chu @ University of Michigan
 
------------------------------
 
Date: 15 Feb 90 19:31:37 GMT
From: mcsun!unido!sbsvax!roeder@uunet.uu.net  (Edgar Roeder)
Subject: Starstrk.acc
Message-ID: <2827@sbsvax.cs.uni-sb.de>
 
In article <1990Feb15.002854.21047@lth.se>, qralph@dna.lth.se (Ralph Haglund)
 writes:
> Hi,
> I recently picked starstrk.acc from the net. Looks marvellous, but once I
> took it off the list I could use my TurboC again. What a pity.
 
I had similar problems with any program compiled with pascal (like ff.ttp).
They all got an address error when starstrk.acc was running. All this was
observed while working in a non-GEM shell.
This program looked so nice! :-( :-(
 
        - Edgar
--
 
Mail:  Edgar R\"oder                    E-Mail: roeder@cs.uni-sb.de
       Liesbet-Dill-Stra\ss e 3
D-6602 Dudweiler                               -o-   -o-
       W-Germany                                   ~
Phone: 06897/74643                               '---'
 
------------------------------
 
Date: 15 Feb 90 20:03:17 GMT
From: otter!hplb!ghiggins!gray@hplabs.hp.com  (Graham Higgins)
Subject: ST mice & longevity
Message-ID: <GRAY.90Feb15150317@ghiggins.hpl.hp.com>
 
I got my 1040STFM in March last year, with a type II mouse. It's lousy, I have
to degunk it every couple of months and one of the metal rollers has a rust
track right round it. Yech.
--
 
Graham
======
 
------------------------------------------------------------------
Graham Higgins                  |  Phone: (0272) 799910 x 24060
Hewlett-Packard Labs            |  gray@hpl.hp.co.uk
Bristol                         |  gray%hplb.uucp@ukc.ac.uk
U.K.                            |  gray@hplb.hpl.hp.com
------------------------------------------------------------------
Disclaimer: My opinions above are exactly that, mine and opinions.
------------------------------------------------------------------
 
------------------------------
 
Date: 13 Feb 90 14:07:12 GMT
From: xrxedds!toml@uunet.uu.net  (Tom Love)
Subject: st xpress magazine
Message-ID: <TOML.90Feb13090712@nighthawk.xrxedds.UUCP>
 
has anyone heard anything about st xpress?  i bought it on the
newsstand occassionally last year, decided i liked it and send in $$
for a subscription, only to get two issues in four months and no more
issues since november or so.  i had heard rumors of trouble...  any
official word on this (fairly good) magazine?  if they have failed,
what is the likelihood of getting some of my money back?
 
--
 
tom love
Xerox Engineering Design and Documentation Systems
607 Herndon Pkwy, Herndon, VA 22070  703-787-2027
ARPA: toml.herndon@xerox.com
XNS:  toml:herndon:xerox
UUCP: uunet!xrxedds!toml
      ?sun|rlgvax|hadron?!sundc!ra!toml
GENIE: tomlove  (infrequently used)
 
Disclaimer:  they didn't do it, i did, so leave them alone.
 
------------------------------
 
Date: 15 Feb 90 12:38:34 GMT
From: mcsun!unido!fauern!fauern!csbrod@uunet.uu.net  (Claus Brod )
Subject: The 'PHANTOM TYPIST'
Message-ID: <2429@medusa.informatik.uni-erlangen.de>
 
exspes@bath.ac.uk (P E Smee) writes:
 
>I heard rumours some time ago that this was a side-effect (maybe or maybe
>not intentional) of an early PD program called UHRLI.ACC, which when
>selected would put a small digital clock display inside a tiny window.
>I certainly have not seen the problem since I bought a cheap digital
>watch to hang beside the computer, and stopped using UHRLI.  May just
>be coincidence, though.
 
The phantom typist effect also occurs without the assistance of UHRLI.
Pure coincidence, you guessed it.
 
Claus Brod
 
------------------------------
 
End of INFO-ATARI16 Digest V90 Issue #212
*****************************************
