1201 lines
56 KiB
Plaintext
1201 lines
56 KiB
Plaintext
|
|
| (((((((( | Z*Magazine International Atari 8-Bit Magazine
|
|
| (( | ---------------------------------------------
|
|
| (( | March 8, 1992 Issue #205
|
|
| (( | ---------------------------------------------
|
|
| (((((((( | Copyright (c)1992, Rovac Industries, Inc.
|
|
| | Post Office Box 59, Middlesex, NJ 08846
|
|
| (( |
|
|
| (((((( | CONTENTS
|
|
| (( |
|
|
| | * The Editors Desk..........................Ron Kovacs
|
|
| ((( ((( | * Z*Net Newswire......................................
|
|
| (((( (((( | * Atari Forums Celebrate 10th Anniversary...Mike Naver
|
|
| (( (( (( (( | * 8-Bit Write-in Campaign..............Jeff McWilliams
|
|
| (( (( (( | * 1050 Into An Indus.........................Rick Mier
|
|
| (( (( | * Light Sensor For The 8-Bit...............Kevin Jones
|
|
| | * Line Noise..........................................
|
|
| (( | * Z*Mag Archives - 1987...............................
|
|
| (( (( | * The History Of Atari................................
|
|
| (((((((( | * Adventures In Structured Programming......Mike Stomp
|
|
| (( (( |
|
|
| (( (( | Publisher/Editor..........................Ron Kovacs
|
|
| | Contributing Editor........................John Nagy
|
|
| (((((((((( | Contributing Editor......................Stan Lowell
|
|
| (( | Contributing Editor........................Bob Smith
|
|
| (( ((((( | Newswire Staff......................................
|
|
| (( (( | Z*Net New Zealand.........................Jon Clarke
|
|
| (((((((((( | Z*Net Canada.........................Terry Schreiber
|
|
| |
|
|
|-------------| $ GEnie Address..................................Z-NET
|
|
| ONLINE | $ CompuServe Address........................75300,1642
|
|
| AREAS | $ Delphi Address..................................ZNET
|
|
| | $ Internet/Usenet Address................status.gen.nz
|
|
|-------------| $ America Online Address......................ZNET1991
|
|
| |
|
|
| Z*NET | * Z*Net:USA New Jersey...(FNET 593).....(908) 968-8148
|
|
| SUPPORT | * Z*Net:Golden Gate......(FNET 706).....(510) 373-6792
|
|
| SYSTEMS | * Blank Page.........(8-Bit FNET 9002)..(908) 805-3967
|
|
=======================================================================
|
|
|
|
* THE EDITORS DESK by Ron Kovacs
|
|
|
|
|
|
A special word this week to Stan Lowell who is currently being
|
|
hospitalized. The entire staff wished Stan a speedy recovery. If you
|
|
would like to pass along some words of encouragement, send a card to
|
|
the following address:
|
|
|
|
Z*Magazine
|
|
Post Office Box 59
|
|
Middlesex, New Jersey 08846-0059
|
|
Attention: Stan Lowell
|
|
|
|
|
|
|
|
======================================================================
|
|
* Z*NET NEWSWIRE
|
|
======================================================================
|
|
|
|
|
|
HAUG AT IEEE COMPUTER FAIR
|
|
The Huntsville Atari Users Group participated with Ralph Rodriquez of
|
|
Atari Corporation in the IEEE Computer Fair. Rodriquez showed off
|
|
Atari UNIX at the event. Dealers in Huntsville, Robbins and AB Stevens
|
|
showed Atari solutions to music with HAUG. The booth was showing one
|
|
of the largest presentations of Atari applications. 20,000 people are
|
|
reported to have attended.
|
|
|
|
|
|
ATARI TO ATTEND HAWAIIAN SHOW
|
|
Atari Corps Mike Groh will be in attendance at the Hawaiian User Group
|
|
Show. Also in attendance will be Impact Marketing.
|
|
|
|
|
|
CENTER FOLD AD BY ATARI APPEARS
|
|
LA Computing Magazine, with 1,500,000 subscribers contains a center
|
|
dual page full color advertisement by Atari Corporation. The ad offers
|
|
a Desktop Publishing bundle for $2999.00 which contains the following:
|
|
MegaST2 with 50 Meg hard disk, SM147 Monitor, SLM605 Laser Printer,
|
|
Migraph Hand Scanner, and choice of PageStream or Calamus. Along with
|
|
the full screen shots of Atari software, there is a full listing of
|
|
dealers from across the country participating in this special offer,
|
|
they are:
|
|
|
|
B&C Computer Vision California 408-986-9960
|
|
Butler Computer Washington 206-941-9096
|
|
Caves Creek Computer Washington 206-783-0933
|
|
CompuSeller West Illinois 708-513-5220
|
|
Computer Center of Davie Florida 305-583-6028
|
|
Computers Etc. Connecticut 203-336-3100
|
|
Computer Rock California 415-751-8573
|
|
Computer Studio North Carolina 704-251-0201
|
|
Digital Imagining Systems Florida 305-756-0446
|
|
Computer Warehouse California 916-971-9812
|
|
IB Computers Oklahoma 503-485-1424
|
|
IB Computers Oklahoma 503-297-8425
|
|
Jenkins Computer Texas 800-880-6938
|
|
Manny's Computer New York City 212-819-0576
|
|
Mid-Cities Comp/Soft South Carolina 803-788-5165
|
|
Music Arts Florida 305-581-2203
|
|
Run PC Colorado 303-493-5565
|
|
San Jose Computer California 408-995-5080
|
|
Team Computers Michigan 313-445-2983
|
|
Toad Computers Maryland 410-544-6943
|
|
Winner Circle Systems California 510-845-4814
|
|
|
|
|
|
NEW FAX MODEM PROGRAM
|
|
Joppa Software Development's -STraight FAX!-, will work with Class 2
|
|
compliant send/receive FAX modems and SendFAX modems (in send only
|
|
mode). The first showing will take place at the upcoming Toronto TAF
|
|
show April 4-5. Also, a GEnie online conference is scheduled on
|
|
Wednesday, March 25, 1992.
|
|
|
|
|
|
ICD LAUNCHES ROUNDTABLE ON GENIE
|
|
ICD is now taking another step forward in providing technical support
|
|
to its many customers by opening a product support RoundTable on GEnie.
|
|
The ICD RoundTable will be hosted by Douglas N. Wheeler. Several other
|
|
ICD employees will also frequent the RoundTable sharing their own
|
|
expertise. The ICD RoundTable can be found at page 1220 or accessed
|
|
with the keyword ICD from any GEnie page prompt.
|
|
|
|
|
|
MICHELANGELO MAKES UNWELCOME DEBUT
|
|
The long-awaited Michelangelo virus struck around the world Friday,
|
|
though it did not appear to be the data disaster that some had
|
|
predicted. State Department official reported Friday that the virus
|
|
had struck IBM-compatible computers at three U.S. missions: Toronto,
|
|
Canada, Addis Ababa, Ethiopia, and La Paz, Bolivia. The problem was
|
|
fixed before any damage could be done. The State Department's
|
|
computers in Washington were not affected by the virus. New York state
|
|
authorities reported at least three machines infected with the virus,
|
|
but all were caught before they could go off. Egghead Software said
|
|
that sales of anti-virus software were running 3,000 percent ahead of
|
|
last week. The virus caused damage in at least eight computers in
|
|
Japan in the early hours of March 6, and China's Ministry of Public
|
|
Security said it had found -fewer than 10- infections during a survey
|
|
of computer centers nationwide. In Poland, considered a haven for
|
|
computer software pirates, computer owners lined up at software stores
|
|
to buy anti-virus software Thursday. NASA had 200 infected computers,
|
|
and the destructive virus had also been found in computers installed in
|
|
Senate offices. See related story elsewhere in this week's edition.
|
|
|
|
|
|
SPA REACHES SETTLEMENT
|
|
The Software Publishers Association announced that a settlement has
|
|
been reached in a software copyright infringement suit filed against
|
|
Cato Corp., by Lotus, Microsoft, Symantec, and WordPerfect. The
|
|
lawsuit was filed on Wednesday Sept. 25, 1991, and Cato Corp.
|
|
cooperated fully with the plaintiffs in providing an inventory of all
|
|
of the commercial software then in use on all of its personal
|
|
computers. Cato Corp. has agreed to a monetary settlement in the
|
|
amount of $50,000. Cato has also agreed to the entry of a permanent
|
|
injunction that will prohibit further copying and require them to
|
|
obtain software only from authorized suppliers. The Software
|
|
Publishers Association also has distributed free of charge self-audit
|
|
materials designed to help businesses, government entities, and
|
|
educational institutions manage their internal software practices. To
|
|
obtain a copy of the SPA Self-Audit Kit and SPAudit, a software
|
|
inventory management program, companies should write to: SPAudit,
|
|
Software Publishers Association, 1730 M Street, NW, Suite 700,
|
|
Washington, D.C. 20036.
|
|
|
|
|
|
|
|
|
|
======================================================================
|
|
* ATARI FORUMS CELEBRATE A TENTH ANNIVERSARY by Michael Naver
|
|
======================================================================
|
|
|
|
Reprinted with permission from CompuServe Magazine. This article may
|
|
not be reprinted without the written permission of the author and
|
|
CompuServe Incorporated. Copyright (c)1992.
|
|
|
|
|
|
As veteran Atari forum members tell the story, it was a classic example
|
|
of the generosity and closeness of the Atari forum community on
|
|
CompuServe: one member, immobilized in a body cast for three months,
|
|
keeping in touch with the outside world through messages from his
|
|
colleagues on the Atari ST forum.
|
|
|
|
It was perhaps the most dramatic but otherwise characteristic example
|
|
of the loyalty that Atari forum members express as they mark the tenth
|
|
anniversary of Atari forums on CompuServe (GO ATARINET).
|
|
|
|
Looking back on it now, the auto accident victim, Dave Groves, then an
|
|
assistant -sysop,- said that his online companions -meant more to me
|
|
than I can express. The time and closeness spent with the staff and
|
|
our members made the forums a wealth of information and a home away
|
|
from home for me.-
|
|
|
|
During his recuperation, Groves' forum colleagues -stood by me through
|
|
thick and thin. They were my sole contact with reality and provided me
|
|
a very warm and positive family to replace the one I never had outside
|
|
of CompuServe.-
|
|
|
|
This sense of family has characterized the Atari forums from the
|
|
beginning, in the fall of 1981, when the original (and current)
|
|
administrator, Ron Luks, along with two other pioneers, started the
|
|
Atari 8-bit forum.
|
|
|
|
-Atari computer users have been the underdogs of the computing world
|
|
from day one,- Luks explained. -The popularity of the online forums
|
|
was a result. We were the only place people could go to get support
|
|
for our machines. You tend to develop an intense loyalty to the
|
|
machines and to each other.-
|
|
|
|
The family spirit is matched by a strong independent streak. -We
|
|
support the products, and at times have not been very popular with the
|
|
company,- says Luks. -Our current relations with the company, however,
|
|
are the best in years.-
|
|
|
|
Luks remembers his own introduction to Atari. -I was a stock and
|
|
options trader in a Wall Street brokerage firm back in 1981,- he said.
|
|
-I was walking past a computer store in Manhattan planning to buy an
|
|
IBM PC. I saw the Atari 800 running a game called Star Raiders.-
|
|
|
|
-I was so mesmerized by the game that I walked in off the street and
|
|
took the computer home, figuring I would play with it until I got a
|
|
serious machine. But that old 8-bit did everything I needed, so I
|
|
never bought the IBM.- With his modem and CompuServe introductory
|
|
pack, Luks soon was telecommunicating in an Atari section of the
|
|
Popular Electronics Forum. A few months later the first Atari forum
|
|
opened on CompuServe, called informally -Sig*Atari.-
|
|
|
|
A second pioneer, Michael Reichmann, of Toronto, remembers that
|
|
CompuServe was sponsoring a promotion in Toronto. -I said, 'Hey,
|
|
online information, that sounds neat.' I bought a 300-baud modem and
|
|
got hooked,- Reichmann said. -There was something very clubby about
|
|
the Atari community in the early '80s, something unique,- he recalled.
|
|
-If you had an Atari, you knew you had a great machine, but the rest of
|
|
the world didn't. It was a small, tightly knit group of a few hundred
|
|
people, and 80 per cent us hung around Sig*Atari to exchange ideas and
|
|
information.-
|
|
|
|
At the time Reichmann was a vice president of the Canadian Press news
|
|
agency. -My background was in photography, so graphics were important.
|
|
Back in '81 the Atari 800 was the whiz-bang graphics computer. What
|
|
was terrific about CompuServe was being able to get in touch with Atari
|
|
software developers all around the United States and Canada.
|
|
|
|
The third founder, Steve Ahlstrom, of Littleton, Colo., recalls that
|
|
-all of us were discovering not only the computer but also the power of
|
|
telecommunications. We came from vastly different walks of life, but
|
|
we became close because of our common interest.-
|
|
|
|
Ahlstrom served as an assistant Atari sysop for five years, where he,
|
|
too, found business opportunities writing Atari software. Later he
|
|
became administrator of the Amiga forums, where he can be found today.
|
|
|
|
Ahlstrom was not the only Atari forum pioneer to branch out to other
|
|
CompuServe forums. Groves' dramatic story is another example.
|
|
|
|
A resident of Miami, Fla., Groves was driving home from his job as a
|
|
bank vice president when he fell unconscious at the wheel, the result
|
|
of faulty diabetes medication. He hit another car on the expressway at
|
|
65 miles an hour. After his 3 months in a body cast, he spent 9 months
|
|
in therapy.
|
|
|
|
So profound was the experience that Groves three years ago established
|
|
the Diabetes and Hypoglycemia Forum on CompuServe (GO DIABETES) to
|
|
share the kind of information that could prevent accidents like his.
|
|
For Groves the Atari ST is still his computer of choice. -I use it for
|
|
heavy duty business applications, which surprises some people. It is a
|
|
serious business machine.-
|
|
|
|
Newer forum members, people who were not present at the creation of the
|
|
8-bit or ST forums but who have become loyal Atari ST users, cite the
|
|
same community spirit as a plus. Bill and Pattie Rayl, of Ann Arbor,
|
|
Mich., met in college and got an Atari ST as a wedding gift three years
|
|
later. The following year, 1987, they joined CompuServe.
|
|
|
|
-Our CompuServe experience has meant making a lot friends and business
|
|
contacts,- Pattie said. The couple produces a nationally distributed
|
|
magazine for Atari users called Atari Interface. Also, they're the
|
|
unofficial sponsors of twice-weekly online conferences -- Thursday
|
|
evenings for Atari 8-bit users and Sunday evening for ST users. -The
|
|
sysops have been great to us,- Pattie said. -They take a hands-off
|
|
approach, and let the users do their thing. I really like that.-
|
|
|
|
Another enthusiast is Jim Ness, a West Chicago, Ill., motor equipment
|
|
salesman. In 1986 he bought an Atari 520 ST, which he described as a
|
|
-basic but very competent machine with a color monitor and disk drive
|
|
that sold at K-Mart for about $500.- Ness began spending time in the
|
|
Atari ST forum. -I knew that if you could find a group of people who
|
|
used the machine, you could find software, plus advice on how to use
|
|
your computer.- That's how things turned out. Ness became a -hobbyist
|
|
programmer- and wrote an automated access program for the Atari, called
|
|
QuickCIS. -Most people who regularly visit Atari forums use it,- he
|
|
said. Ness finds the forum managers -very good, very friendly, very
|
|
helpful. If that weren't true, I wouldn't have been a member for five
|
|
years.-
|
|
|
|
Assisting Luks as forum sysops are Mike Schoenbach, assistant manager;
|
|
Dan Rhea, Bill Aycock, Keith Joins, Bob Retelle, David Ramsden and John
|
|
Davis, ST sysops; Don LeBow and Bob Puff, 8-bit sysops; and Marty
|
|
Mankins, Judy Hamner and B.J. Gleason, Portfolio sysops.
|
|
|
|
What's ahead for Atari? No one knows for sure, but Luks noted that
|
|
since the days when Atari was on the cutting edge as a low-cost, high-
|
|
powered graphics computer, there was a dearth of new products for
|
|
several years. Now, significant products are being released. As they
|
|
are available, Atari's loyal band on CompuServe will be ready.
|
|
|
|
Michael Naver is a contributing editor of CompuServe Magazine.
|
|
|
|
|
|
|
|
=======================================================================
|
|
* 8-BIT WRITE-IN CAMPAIGN by Jeff McWilliams
|
|
=======================================================================
|
|
|
|
|
|
Heads Up, Atari 8-Bitters!! This Is For YOU!
|
|
|
|
Beginning 1992, the Atari 8-bit computers- and the community of USERS
|
|
who still cherish these machines- have been officially discarded by
|
|
Atari Corporation.
|
|
|
|
BUT WE REFUSE TO ROLL OVER AND DIE AT ATARI'S COMMAND!!
|
|
|
|
We believe there are enough of us left to pursue our 8-bit interests
|
|
independently of Atari Corporation.
|
|
|
|
Would you like to see a common forum in which users, developers, and
|
|
vendors can communicate? A print medium wherein advertisers can be
|
|
assured of reaching their intended audience, and where users can look
|
|
with confidence for information about new products? A user-oriented
|
|
publication to fill the void left by the collapse of ANTIC and ANALOG?
|
|
|
|
My name is Jeff McWilliams, and I'm a dedicated 8-bit user. I want to
|
|
present the Atari 8-bit community the chance to gather under one
|
|
publication dedicated exclusively to the Atari 8-bit computers. A
|
|
magazine that will unite our community and give it the strength it needs
|
|
to survive. A forum where users can ask tough questions and read
|
|
unvarnished product reviews. A magazine whose ads will be almost
|
|
exclusively from 8-bit vendors.
|
|
|
|
I propose a write-in campaign to Atari Interface Magazine, asking for a
|
|
separate, exclusively 8-bit magazine called -Atari Classics-. Atari
|
|
Interface Magazine already has a strong presence in the Atari community.
|
|
For several years AIM has been a combined ST/8-bit magazine whose
|
|
publishers have indicated a willingness to support the Atari 8-bit
|
|
community as long as interest warrants it. NOW is the time to ask them
|
|
for our own magazine!
|
|
|
|
As Campaign Manager, I will act as the focus for this effort. Now, you
|
|
might be wondering, -WHAT CAN I DO TO HELP?-. That part is EASY!
|
|
|
|
Just SEND me your NAME and POSTAL MAILING ADDRESS. I will mail you a
|
|
FREE Information Kit describing our goals in greater detail. Included
|
|
with the Kit is a stamped postcard on which you can express your
|
|
interests and willingness to subscribe to an exclusively 8-bit magazine.
|
|
(Or, if you disagree with our approach, you can just toss it away and
|
|
that will be the end of it- BUT WE DON'T THINK YOU WILL!) You'll also
|
|
be invited to indicate your willingness to PARTICIPATE in the magazine
|
|
DIRECTLY by being a regular columnist, editor, or just writing about a
|
|
special project you did or review a product you used.
|
|
|
|
Ben Poehland, the former 8-bit Editor of Current Notes Magazine, is
|
|
fully supporting this campaign and has offered to donate his services to
|
|
-Atari Classics- when repairs to his fire-damaged home are completed
|
|
later this year.
|
|
|
|
The cutoff date for receiving the postcard responses is: MARCH 31, 1992.
|
|
|
|
If by that time I have received 500 positive commitments via postcard,
|
|
they will all be sent to AIM along with a petition requesting the
|
|
formation of our proposed exclusive 8-bit publication -Atari Classics-.
|
|
If I receive less than 500 replies, then we will know that the 8-bit
|
|
community has indeed become a lost and hopeless society.
|
|
|
|
TIME IS RUNNING OUT. THIS MAY BE THE LAST OPPORTUNITY YOU WILL HAVE TO
|
|
KEEP YOUR MACHINE ALIVE AND SHARE EXPERIENCES WITH FELLOW USERS.
|
|
|
|
IMPORTANT!! Only the OFFICIAL Campaign postcards will be accepted!
|
|
Those responding by other means will be mailed an Information Kit with
|
|
which they can register their official response. Regrettably, due to
|
|
limitations of time and cost, the Campaign will be restricted to
|
|
addresses in the USA only. However, unofficial responses from outside
|
|
the USA are welcome and will be included in the final count.
|
|
|
|
PLEASE DO NOT SEND MONEY! If anyone wishes to assist the Campaign, they
|
|
can do so by posting this release in its unmodified entirety to other
|
|
on-line services, BBS's, user groups, friends, and vendors. Additional
|
|
assistance can be rendered by gathering names and addresses of Atari 8-
|
|
bit owners and furnishing them to me so I can mail them an Information
|
|
Kit.
|
|
|
|
If you're REALLY SERIOUS about keeping your Atari 8-bit classic computer
|
|
alive, be sure to obtain the Information Kit and return the included
|
|
postcard appropriately filled in. Every day more 8-bits get stashed in
|
|
attics or closets, or simply thrown away. Atari's Classic 8-bit
|
|
computers- the 800/XL/XE machines- are every bit as useful and
|
|
productive today as they were in the heyday of 8-bit technology. They
|
|
deserve a better fate than the local landfill!
|
|
|
|
CONTACT ME:
|
|
|
|
Jeff McWilliams
|
|
2001 G Woodmar Drive
|
|
Houghton, MI 49931-1017
|
|
GEnie: J.MCWILLIAM3
|
|
INTERNET: <a href="mailto:jjmcwill@mtus5.mtu.edu?subject=Re:%20Z*Magazine:%20%208-Mar-92%20#205">jjmcwill@mtus5.mtu.edu</a>
|
|
|
|
|
|
|
|
=======================================================================
|
|
* 1050 DRIVE TRANSPORT INTO AN INDUS GT by Rich Mier
|
|
=======================================================================
|
|
|
|
|
|
My Indus Disk Drive has a lot of miles on it and, alas, was coming up
|
|
with some Strange Errors. After swapping all the socketed chips on the
|
|
main board, I determined that it must have a bad Read/Write head.
|
|
|
|
By now I had been using it with the case removed, the Deck resting on
|
|
the top of the front panel and a wooden pencil across the rear beneath
|
|
the deck. The TANDON Part No. is 211014-001 and checking around town, I
|
|
could find no replacement deck, anywhere. Everyone I talked to said I'd
|
|
have to send it back to Future Systems, or at least go to them for a new
|
|
deck.
|
|
|
|
I can't afford to lose my disk. I only have one as I have a 320K XE and
|
|
a 256K MIO. All I need is one when I have 2-192K RAMDISKS available.
|
|
|
|
American Techna-Vision advertises a direct replacement Mechanism for a
|
|
1050 Drive so I called them to see if it would work in the Indus. They
|
|
didn't know and couldn't even give me a Tandon Part Number. They did
|
|
say that they have gotten orders from small companies that repair Indus
|
|
drives. Taking a chance, I ordered one on the condition that I could
|
|
return it if it wouldn't work. $47.50 plus shipping and UPS 2nd day
|
|
Air. Total, $56.00. Cheaper than what it was going to cost me if I had
|
|
to take it to a Dealer or send it out to be fixed.
|
|
|
|
Monday evening I ordered it and Thursday afternoon it showed up. I
|
|
checked the Part Number first. Different! Part No. 216024-019.
|
|
Digging out the wires, I found a couple markings that were the same.
|
|
Mechanically, it was the same, but on closer examination there were
|
|
several differences.
|
|
|
|
1) There was no Timing hole sensors.
|
|
|
|
2) The plug coming from the Stepper motor had 6 wires versus 5 on the
|
|
old deck (both have a 6 wire connector). Also, the colors were
|
|
completely different.
|
|
|
|
3) The wires coming from the drive motor where the same color, but
|
|
about 3 inches shorter. (The Drive motors where identical.)
|
|
|
|
4) The micro switch against the rod used to twist and engage the floppy
|
|
had 3 wires on it and the old one, 2.
|
|
|
|
5) There was 1 less connector plugs.
|
|
|
|
Cutting some plastic tie-wraps on both decks, I traced out the wires.
|
|
Here's what I found:
|
|
|
|
The missing connector is J12 (4 pins) on the old deck. It is the timing
|
|
hole sensor. Well, Atari doesn't use the timing hole. Ignoring it, I
|
|
went on.
|
|
|
|
The three wire connector marked '14' on the new drive is the Micro
|
|
switch marked '5' on the old one and isn't used.
|
|
|
|
The two wire connector marked 'J12' on the new drive is also 'J12' on
|
|
the new one. It is the front LED and isn't used on the Indus.
|
|
|
|
'J11' on both decks is the Write Protect Sensor.
|
|
|
|
'J10' on the new deck is the same as 'J09' on the old one. The head
|
|
'Track 00' sensor.
|
|
|
|
The wire from the R/W head is a 5 pin connector, same as the old drive,
|
|
and is long enough to work. There is a difference in colors of the
|
|
wires to which pins, but the Ground is right. I assumed the difference
|
|
in wire colors is because of a different manufacture of the head itself
|
|
and that the plug was wired correctly to work.
|
|
|
|
The last one was the Stepper Motor plug, J3 on the old one and '15' on
|
|
the new deck. A six wire connector. The stepper motors were made by
|
|
two different companies so maybe it would work as is. Also, on the Indus
|
|
motor control board, pin 6 was not used. No foil connected to it.
|
|
|
|
Here is what must be done to make it work:
|
|
|
|
1. Remove the Motor Control board from the top of the old drive. Note
|
|
that all the plugs are marked on their top side.
|
|
|
|
2. The two screws on the top right of the new drive must have the lock
|
|
washers removed so the motor control board will fit.
|
|
|
|
3. Arrange and tape the wires coming from the R/W head the same as the
|
|
old drive.
|
|
|
|
4. Now the only tricky part of this. The wires coming from the motor
|
|
are too short. On the Motor Control Board, remove the 4 wire
|
|
connector (marked J4 on the board) for the motor plug, J1. Use a
|
|
small soldering iron and a solder 'Sucker'. Turn it around so the
|
|
pins are pointing to the left and re-solder it in place.
|
|
|
|
5. Install the Motor Control Board and cardboard insulators on the new
|
|
deck, taking care to position the R/W connector and that the board
|
|
and insulators clear the top floppy idler hub.
|
|
|
|
6. Connect the R/W, 5 pin connector with the '0' up, the same as it was
|
|
on the original.
|
|
|
|
7. You will have to cut some plastic tie-wraps to free the drive motor
|
|
wires. Turn the connector UPSIDE-DOWN, so the 'J1' marking is down
|
|
and the 4 pin retaining slots are up and plug it into the connector
|
|
pins that you turned around. Be sure they won't interfere with the
|
|
head movement.
|
|
|
|
8. Run the Stepper Motor connector up through the frame as was done on
|
|
the old deck and plug into the 6 pin connector, the marking '15' up.
|
|
On mine, the 2 red wires were towards the front of the drive, pin 5
|
|
and 6.
|
|
|
|
9. Locate and clean the two mount holes on the left side of the drive
|
|
where the label is.
|
|
|
|
10. On the left side of the old drive, mark on the frame above the 3
|
|
plugs, the 'J' number found on each of the 3, 4 pin connectors as
|
|
you remove them.
|
|
|
|
11. Loose the two screws holding the front panel to the Indus frame.
|
|
On older drives, you might have to remove it as the panel
|
|
connectors on the bottom board where too high for the deck to clear
|
|
them.
|
|
|
|
12. Remove the old drive, 2 screws on each side of the frame, and lift
|
|
it out. Now is the time to fix that front door if you've had
|
|
problems with it.
|
|
|
|
13. With a screwdriver, pry off the front lever on Both drives and swap
|
|
them. The lever on the new one is too long to fit through the
|
|
front panel and work.
|
|
|
|
14. Keeping the wires clear, install the new deck, adjust it's position
|
|
and snug the two screws holding the front panel to the frame. Plug
|
|
the rear Flat Cable into the Control board.
|
|
|
|
15. There should be four connectors at the left, rear. The two wire
|
|
(J12) and the three wire (14) won't be used. Tuck these away at
|
|
the rear so the are out of the way and won't short to anything.
|
|
|
|
16. Find the connector marked J10 and plug this into the front most
|
|
pins where J09 was on the old deck.
|
|
|
|
17. Find the connector marked J11 and plug this into the rear most pins
|
|
where the old J11 was.
|
|
|
|
There, that's it. The now unused pins, J12, won't be used and isn't
|
|
needed. They were for the Timing Hole sensor. If you REALLY want to,
|
|
you Could maybe pry out the LED and sensor from your old drive and
|
|
reinstall them, but WHY? They aren't needed.
|
|
|
|
One thing I did learn from trouble shooting my problem. The Floppy
|
|
Controller Chip used is capable of controlling a Double Sided drive.
|
|
It's a Western Digital, 2797 type. Anyone need a challenge? How about
|
|
a kit for a 5 1/4 inch Double Sided, Double Density drive or how about a
|
|
3 1/2 inch drive? 80 tracks, double sided is 720K.
|
|
|
|
Richard Mier
|
|
C-Serve 73537,3573
|
|
GEnie RBMIER
|
|
|
|
|
|
|
|
=======================================================================
|
|
* LIGHT SENSOR FOR THE 8-BIT by Kevin Jones
|
|
=======================================================================
|
|
|
|
|
|
This is the first of a series of articles that will teach the average
|
|
user a little more about his computer and the lesser known talents of
|
|
the Atari computers. If this article meets with any interest then there
|
|
will be more -How to- articles following this one. Each file will
|
|
describe how to make a new hardware project for the Atari computers. If
|
|
you like this article, have any questions, or just want to complain, you
|
|
can reach me at The Atari Scene! (502-456-4292).
|
|
|
|
In this file I will describe how to make a Light Sensor. Before I get
|
|
down to the details, I will tell you how it works. The joystick port
|
|
for the Atari computer consists of 4 joystick input pins, 2 paddle input
|
|
pins, 1 negative ground pin, and 1 +5 volt pin. Right now we are only
|
|
concerned with the paddle input and the +5 volt pin. The paddle works
|
|
by a potentiometer that changes its resistance when the knob is turned.
|
|
The ATARI measures this resistance and converts it to a number between 0
|
|
and 255. The light sensor will consist of a plug for the computer port,
|
|
a potentiometer and a photocell.
|
|
|
|
The Current will flow through the potentiometer, which is used to tune
|
|
the potentiometer to a desired number,and into the photocell which will
|
|
further change the resistance. From the eye, the current will go back
|
|
into the paddle input pin on the computer. The photocell eye will
|
|
change its resistance when light shines on its surface. It works
|
|
somewhat like the pot but does not have a knob to turn.
|
|
|
|
Now that you have a minimal understanding of what you are making, we can
|
|
begin to construct the sensor.
|
|
|
|
Here is a description of the port configuration on the computer.
|
|
|
|
*1 2 3 4 5*
|
|
*6 7 8 9*
|
|
|
|
1 to 4 Joystick input pins
|
|
5 Paddle B input
|
|
6 Fire button
|
|
7 +5 volts
|
|
8 Ground -
|
|
9 Paddle A input
|
|
|
|
Parts: (1) 9 pin Female connector 276-1538 2.49
|
|
(1) CdS photocell 276-116 1.79
|
|
(1) 100k potentiometer 271-1721 1.09
|
|
Wire-about Six feet
|
|
|
|
Step One: Cut the wire into two (2) strands of two feet each. Solder
|
|
one end of the first wire to pin 9 and the end of the other wire to pin
|
|
7.
|
|
|
|
Step Two: Take the free end of the wire attached to pin 9 and solder it
|
|
to one lead of the photocell. Next, solder a wire (new wire) to the
|
|
other lead of the photocell and solder the end of that wire to an
|
|
outside pin of the potentiometer (there will be three pins on the
|
|
potentiometer).
|
|
|
|
Step Three: Take the wire from pin 7 and solder it to the inside pin of
|
|
the potentiometer.
|
|
|
|
Step Four: Basically the sensor is finished. You can either mount it in
|
|
a box or pc board, or you can tape the connections with electrical tape
|
|
and let if flop around. I would tape it and mount it in a box to be
|
|
neat and safe.
|
|
|
|
All you have to do is plug the female plug into port one and run the
|
|
below program. This program will print out the value (0-255) of the
|
|
port. All that has to be done to measure the light is to obstruct the
|
|
photocell and watch the readings. That is it!!
|
|
|
|
10 Rem Light Sensor Program
|
|
20 x=paddle(0)
|
|
30 print x
|
|
40 goto 20
|
|
|
|
That's about as simple as it gets.
|
|
|
|
|
|
|
|
=======================================================================
|
|
* LINE NOISE
|
|
=======================================================================
|
|
|
|
|
|
Many people have left messages on my bulletin board asking me why there
|
|
are so many 'garbage' characters on their screens and why file transfers
|
|
are riddled with errors. These garbage characters are really line noise
|
|
and can be introduced in many different places. Pure noise is a decimal
|
|
255 (FF inhex), but most line noise is not 'pure'. It usually comes in
|
|
as something less than 255, like maybe a 251 (a character that looks
|
|
like this ''). Ever see that one before? Yup, so have I!
|
|
|
|
One of the more common and familiar introduction points of line noise is
|
|
in the telephone company's system and even here there are several ways
|
|
noise is introduced. A signal is routed through multiple stations
|
|
before it eventually makes it to the other end and some of these
|
|
stations aren't exactly new. Older areas may have older, less
|
|
sophisticated equipment that is more apt to be affected by ambient
|
|
noise. This is one reason some people continue to have noise problems
|
|
even after hanging up and calling back multiple times. Also, a given
|
|
physical connection at one of these junctions may not be up to snuff.
|
|
If your particular bout of line noise is solved by hanging up and
|
|
calling back, then it's probable that you were previously connected
|
|
through an intermittent or 'dirty' connection. Some of these trunk
|
|
lines (large, multi-area that has a lot of ambient RFI (Radio frequency
|
|
Interference) present although this is not usually the case.
|
|
|
|
It is possible that the problem is being caused at this end, but not if
|
|
the problem goes away when you call back and the line is clean -or- if
|
|
you are one of a very few users experiencing noise problems. You may
|
|
say that you are not having problems with other boards.....in which case
|
|
the problem is more than likely the route that your call takes to get
|
|
here. You may be going over micro-wave or through buried cable which
|
|
for some reason are sub-standard. No matter how many times you call,
|
|
you will probably be routed over the same path. Microwave problems are
|
|
sometimes the hardest to track down because they can cause intermittent
|
|
problems. Some interference only occurs during certain times of the day
|
|
or week.
|
|
|
|
Another common noise introduction point is in your home. Most
|
|
residential homes have televisions, radios, microwave ovens, VCR's, and
|
|
if you are reading this, a micro-computer. All these devices radiate
|
|
radio waves that can (and often do) get into the phone lines and cause
|
|
noise. Electric motors and technical dimmer controls can introduce
|
|
noise into the electrical wiring in your house and cause problems. If
|
|
your line noise problem does not go away after repeated hanging up and
|
|
calling back, then you may be suffering from one of these household
|
|
problems. If you are suffering from this problem, you can take steps to
|
|
eliminate it. First of all, turn off EVERYTHING except the fridge (If it
|
|
IS the fridge, then you're SOL. Can't live life with your ice box
|
|
unplugged) and see if the noise persists. If it goes away, then start
|
|
turning things back on, checking the computer each time until you see
|
|
the noise start up again. It may be that a single device is not bugging
|
|
you but several devices plotting together to annoy you. This
|
|
elimination tournament may take awhile.
|
|
|
|
Another area to check is your wiring at the computer. Use noise
|
|
supressers on your power connections to both the PC and the modem (if
|
|
external). Use a shielded RS-232 cable to connect your modem to the PC.
|
|
Ribbon cables (especially long runs of it) are great antennas and will
|
|
cause problems. Re-route the RS-232 cable so it does not run next to
|
|
the PC power supply or any other transformer.
|
|
|
|
And now a little discussion about the modem itself. First of all, I'd
|
|
like to clarify a commonly misused term - BAUD. The term -Baud- is
|
|
actually a man's name - J.M.E. Baudot (Pronounced: Baw-doe) a French
|
|
Telegraphy expert. 1,200 and 2,400 Baud is NOT the same as 1,200 and
|
|
2,400 BPS (Bits Per Second). The usage of -Baud- to describe line speed
|
|
in terms of data through-put is incorrect. 1,200 and 2,400 BPS modems
|
|
both operate at 600 Baud. Basically, without getting to technical, a
|
|
Baud is a -blip- of information. 1,200 BPS modems use four states per
|
|
blip (or Baud) and 2,400 BPS modems use sixteen states per blip. If you
|
|
want more information on what Baud and BPS mean and a full explanation
|
|
of how data is actually represented and transferred by the modem, please
|
|
refer to PC Magazine Volume 6, Number 9 (May 12, 1987).
|
|
|
|
Modems operating at 2,400 BPS are much more intolerant of line noise
|
|
than are modems operating at 1,200 BPS. Conversely, modems capable of
|
|
2,400BPS operate better at 1,200 BPS than do 1,200 BPS only modems. If
|
|
you are being hopelessly attacked by noise at 2,400 BPS, trying calling
|
|
back at 1,200 BPS. It's very possible that the noise will be greatly
|
|
reduced or disappear altogether. I know, you didn't buy a 2,400 BPS
|
|
modem just to retard it to 1,200 BPS. The brand of the modem plays a
|
|
part in the immunity to line noise. Some modems can digest more noise
|
|
(lower signal-to-noise radio) than others. PC Magazine (same issue
|
|
mentioned above) ran a test on 87 different modems. You might check the
|
|
results to see how your modem ranks. Most 2,400 BPS modems operating at
|
|
1,200 BPS have approximately -8 to -10 db error threshold while the same
|
|
modem has about -16 to -20 db threshold operating at 2,400 BPS. For
|
|
this reason, line quality is much more critical at 2,400 BPS operation.
|
|
|
|
Additionally, a friend of mine who runs a bulletin board from their
|
|
office has been plagued with line noise problems at 2,400 BPS but very
|
|
little noise at 1,200 BPS. The culprit is the office's centralized
|
|
telephone system. Many office buildings have a given number of trunks
|
|
that actually enter the building while there may be many, many more
|
|
extension within the building. These types of telephone systems have
|
|
their own controllers and line assignment devices and are frequently not
|
|
as high in quality as a hard-wired MaBell (or GTE) line. The acceptable
|
|
signal-to-noise ratio in some of these inter-office phone controllers
|
|
are lower than necessary for reliable 2,400 BPS operation but not too
|
|
low for 1,200 BPS.
|
|
|
|
If you get transmission errors while downloading or uploading a file,
|
|
don't fret it. The Xmodem (or whatever protocol) incorporates an error
|
|
checking/correction mechanism that automatically detects and corrects
|
|
any errors that may occur during transmission. The very fact that
|
|
Xmodem reported the error in the first place means that he caught it and
|
|
corrected it. The only errors you have to worry about are the ones that
|
|
Xmodem does NOT report. Any reported error has already be corrected.
|
|
Xmodem, especially the CRC flavored one, is a very reliable file
|
|
transfer protocol. Even if you got 100 errors during transmission,
|
|
chances are still pretty slim that the file got corrupted.
|
|
Occasionally, a file will be corrupted after transfer, but many times
|
|
this may be due to a bad ARCing of the file or perhaps a disk error that
|
|
may have occurred sometime during the files' past.
|
|
|
|
|
|
|
|
=======================================================================
|
|
* Z*MAGAZINE ARCHIVES - 1987
|
|
=======================================================================
|
|
|
|
|
|
#: 201366 S3/Utilities 15-Dec-87 03:04:41
|
|
Sb: #201344-#mess.fix
|
|
Fm: Bill Wilkinson [OSS] 73177,2714
|
|
To: MR GOW 73167,3607
|
|
|
|
There is NO program that can GUARANTEE to fix a disk when you get an
|
|
error 164.
|
|
|
|
An error 164 usually results when you have two files trying to use the
|
|
same spot on the disk. This usually happens because you have saved one
|
|
file to disk, done something illegal, and then saved a second file to
|
|
the same disk. The second file is probably okay and is probably
|
|
completely accessible. But the first file is simply GONE because the
|
|
second file has written over the top of it. Period.
|
|
|
|
Can you recover part of the damaged file? Possibly. But I would
|
|
suggest that unless it is a text file (e.g., a word processing data file
|
|
or possibly a LISTed -- NOT SAVEd -- program) the effort is bound to
|
|
fail. Most SAVEd files, whether binary files or BASIC programs, simply
|
|
CAN NOT be restored if they are missing pieces. Sorry.
|
|
|
|
Having said all that, what CAN you do with a damaged disk? Well, the
|
|
DISKFIX utility that is part of DOS 2.5 will at least TRY to recover as
|
|
much of a disk as it can. But if it decides a file is damaged beyond
|
|
repair, it simply removes the file from the directory! So I would
|
|
recommend making a sector copy of any damaged disk before attempting to
|
|
use DOS 2.5's DISKFIX.COM program.
|
|
|
|
You can get DISKFIX here on CIS, in the DL's (DL 3, file DISKFI.*). But
|
|
I personally recommend that you send off to Atari for a copy of not only
|
|
a disk with DOS 2.5 but also a really good manual. The manual alone is
|
|
worth the $10 or so that Atari charges.
|
|
|
|
Finally: The Atari DOS manual suggests this program to recover as much
|
|
as possible of a damaged file, so long as the file is not bigger than
|
|
available RAM in your machine:
|
|
|
|
10 PRINT -INSERT DAMAGED DISK THEN GIVE NAME OF FILE TO RECOVER -;
|
|
20 F=FRE(0)-300 : DIM BUF$(F),FILE$(20)
|
|
30 INPUT FILE$
|
|
40 OPEN #1,4,0,FILE$
|
|
50 TRAP 100
|
|
60 FOR I=1 TO F : GET #1,B : BUF$(I)=CHR$(B)
|
|
70 NEXT I
|
|
80 PRINT -FILE TOO BIG-
|
|
90 END
|
|
100 REM GET HERE ON ERROR...
|
|
110 TRAP 120 : CLOSE #1
|
|
120 PRINT -INSERT FORMATTED DISK THEN GIVE NAME TO SAVE FILE TO -;
|
|
130 INPUT FILE$
|
|
140 OPEN #2,8,0,FILE$
|
|
150 PRINT #2; BUF$ ;
|
|
|
|
You could be neat and add line 160:
|
|
|
|
160 END
|
|
|
|
Finally, line 150 might be safer done as:
|
|
|
|
150 FOR J=1 TO I-1 : PUT #2,ASC(BUF$(J)) : NEXT J
|
|
|
|
OOPS...One more finally.
|
|
|
|
In one of my articles in COMPUTE in that last year, I discussed probable
|
|
causes of messed up disks. I noted that I personally have virtually
|
|
NEVER had a disk messed up by DOS. Reason: I never never never change
|
|
disks unless the program tells me to do so. If I am changing disks
|
|
while using BASIC, I always type -END- before doing so. In desperation,
|
|
I will hit RESET before changing.
|
|
|
|
The single most common cause of disk crashes is inserting a new disk
|
|
while a file (or files) is still OPEN for output on the first one. This
|
|
can happen with word processing programs, data bases, etc., etc. ALWAYS
|
|
WAIT for the program to tell you it is time to swap disks. ALWAYS use
|
|
the menus to get to the -disk change- point. NEVER just yank a disk and
|
|
plunk in a new one.
|
|
|
|
|
|
|
|
=======================================================================
|
|
* THE HISTORY OF ATARI ..a continuing saga...
|
|
=======================================================================
|
|
|
|
|
|
Date: 27 Dec 91 21:59:20 GMT
|
|
From: psinntp!ultb!ultb!<a href="mailto:clf3678@uunet.uu.net?subject=Re:%20Z*Magazine:%20%208-Mar-92%20#205">clf3678@uunet.uu.net</a> (C.L. Freemesser)
|
|
Subject: History of Atari
|
|
To: <a href="mailto:Info-Atari8@naucse.cse.nau.edu?subject=Re:%20Z*Magazine:%20%208-Mar-92%20#205">Info-Atari8@naucse.cse.nau.edu</a>
|
|
|
|
In article <<a href="mailto:1991Dec27.041613.9166@crash.cts.com?subject=Re:%20Z*Magazine:%20%208-Mar-92%20#205">1991Dec27.041613.9166@crash.cts.com</a>>, <a href="mailto:trag@pnet01.cts.com?subject=Re:%20Z*Magazine:%20%208-Mar-92%20#205">trag@pnet01.cts.com</a>
|
|
(Jim Trageser) writes:
|
|
|
|
>I'm writing a story on the history of Atari for San Diego's
|
|
Computer Edge magazine; deadline is 12-29. I'm strong on the 400/800,
|
|
but fuzzy on other areas. Was the 2600 video game machine Atari's
|
|
first home market product? And I know you can get a 2600 adapter for
|
|
the 5200, but am lost completely about the 7200.
|
|
|
|
>Also, what differentiated the XE/XLs from the 400/800? How much
|
|
compatibility was there? Are any still manufactured?
|
|
|
|
|
|
The Atari 2600 was not Atari's first home video game system. They had
|
|
at least 3 machines before the 2600, but all of them were variations on
|
|
PONG. Also, they did not have cartridges, but had their game programs
|
|
built in. The 2600, which came out in 1977 or so, was the first video
|
|
game system with interchangeable game programs. As I'm sure you
|
|
remember, it was a VERY popular game machine, and still remains in
|
|
production today. The Atari 5200 came about in late 1981 or early 1982.
|
|
It was basically an Atari 400 computer with only cosmetic differences.
|
|
However, it suffered from poor joysticks. It did have an optional
|
|
accessory to let you plug in 2600 cartridges, as well as an optional
|
|
track ball controller unit. The machine did feature a numeric keypad on
|
|
the controller, as well as a pause button. The Atari 7800 came out
|
|
around 1984, when the market was collapsing. Designed by General
|
|
Consumer Electronics for Atari, it was like a -turbo 2600-. Not only
|
|
could it play all 2600 games, but also had extended graphics and sound
|
|
for 7800-specific games. It used joysticks identical to the 2600, but
|
|
which had 2 different buttons on it. It was shelved during the
|
|
transition from Warner to the Tramiel family, and was reintroduced
|
|
around 1986. It is still manufactured today, with new games still
|
|
coming out for it. Technologically,it is superior to the Nintendo and
|
|
the Sega Master System, but suffered from poor timing and the lack of
|
|
advertising that all Tramiel-introduced Atari products.
|
|
|
|
As for the difference between the 400/800 and the XL/XE systems, The
|
|
XL/XE have a built-in BASIC (the 400/800 had a cart), slightly different
|
|
keyboard, and added features in BASIC. The XL/XE also have a parallel
|
|
bus interface and a HELP key, which the 400/800 did not have. The 800
|
|
was the only computer with TWO cartridge ports.
|
|
|
|
Hope this helps!
|
|
|
|
__\ Chris Freemesser, RIT Comp.Eng.Tech. Dimension's End BBS /__
|
|
___\ BITNET: clf3678@ritvax (716)436-3078 /___
|
|
____\ Usenet: <a href="mailto:clf3678@ultb.rit.edu?subject=Re:%20Z*Magazine:%20%208-Mar-92%20#205">clf3678@ultb.rit.edu</a> 1200/2400 baud, 130MB /____
|
|
_____\ GEnie: C.FREEMESSER STark BBS software /_____
|
|
|
|
|
|
|
|
======================================================================
|
|
* ADVENTURES IN STRUCTURED PROGRAMMING by Michael Stomp
|
|
======================================================================
|
|
|
|
|
|
All of the columns on Structured Programming techniques, originally
|
|
appeared in The ACCESS Key, the newsletter of the Atari Computer Club
|
|
Encompassing Suburban Sacramento. These articles may be freely
|
|
reprinted, provided source credit is given. The files are unformatted
|
|
text files.
|
|
|
|
If you wish to contact me, write to:
|
|
|
|
The ACCESS Key
|
|
P.O. Box 1354
|
|
Sacramento, CA 95812-1354
|
|
Michael Stomp
|
|
Oct. 14, 1981
|
|
|
|
|
|
VI. GOODBYE GOTO
|
|
|
|
Let's say you have studied the previous three articles and have broken
|
|
your program into modules according to one or more of the design
|
|
methods described. Now you are ready to start writing the individual
|
|
modules as procedures and want clear, untangled code that takes full
|
|
advantage of the extended commands of a structured language such as
|
|
TURBO BASIC XL. How should you go about it?
|
|
|
|
I would say that the secret lies in GOTO statements; don't use them.
|
|
You don't need them. After all, many languages, such as ACTION! don't
|
|
even have a GOTO statement or anything like one. While there are
|
|
occasions when one could make an argument for using a GOTO, in general
|
|
their overuse is the prime cause of tangled coding. Let's examine some
|
|
cases and see how GOTOs can be eliminated.
|
|
|
|
IF - ELSE - ENDIF
|
|
|
|
GOTOs commonly occur two ways; by themselves or in IF statements,
|
|
either explicitly or implicitly. One common sight in Basic programs is
|
|
something like this:
|
|
|
|
1020 IF X=0 THEN Y=3:GOTO 1100
|
|
<stuff done if X<>0>
|
|
.
|
|
1100 <continue on>
|
|
|
|
The new form of the IF statement in TBXL allow us to eliminate the GOTO
|
|
with:
|
|
|
|
1020 IF X=0
|
|
1030 Y=3
|
|
1040 ELSE
|
|
1050 <stuff done if X<>0>
|
|
.
|
|
1090 ENDIF
|
|
11OO <continue on>
|
|
|
|
This makes it very clear that we are doing an alternation, and just
|
|
what the two alternatives are. To make things clear in the original
|
|
version, draw a box around the statements following the IF up to the
|
|
target of the GOTO, however far that might take you. That's what goes
|
|
after the ELSE statement and before the END IF. If nothing is done
|
|
when X=0 except the GOTO, one can negate the test like this:
|
|
|
|
1020 IF X<>O
|
|
<stuff done if X<>0>
|
|
.
|
|
1090 ENDIF
|
|
1100 <continue on>
|
|
|
|
WHILE - WEND
|
|
|
|
If the pattern of GOTOs looks like this:
|
|
|
|
1020 IF X=0 THEN 1100
|
|
<done if X<>0>
|
|
.
|
|
1090 GOTO 1020
|
|
1100 <continue on>
|
|
|
|
Here there is a second GOTO which jumps back up to the IF statement.
|
|
Obviously, what we have here is a loop, so why not write it explicitly
|
|
as a loop? Of course, something in the lines between 1020 and 1090 had
|
|
better change X so that eventually it becomes zero or we will never get
|
|
out of this loop! We will execute those statements as long as X<>0, or
|
|
'while' X<>0. Obviously, what we need to use is the WHILE statement:
|
|
|
|
1020 WHILE X<>0
|
|
<done if X<>0>
|
|
.
|
|
1090 WEND
|
|
1100 <continue on>
|
|
|
|
We negated the test in the IF statement, from 'IF X=0...' to 'WHILE
|
|
X<>0', and marked the end of the statements in the loop with 'WEND'.
|
|
There are three things to notice about the WHILE loop:
|
|
|
|
1) X must be given a value BEFORE we start the loop.
|
|
2) If the loop is ever to terminate, something in its body must change
|
|
X so that it eventually becomes zero.
|
|
3) The loop may not be executed even once, depending upon X.
|
|
|
|
Of course, the same things are true when the loop was done with GOTO
|
|
statements.
|
|
|
|
REPEAT - UNTIL
|
|
|
|
You ought to be able to see the next example coming:
|
|
|
|
1020 .
|
|
.
|
|
1090 IF X=0 THEN 1020
|
|
1100 <continue on>
|
|
|
|
Again we have a jump backwards, so we must have a loop, one that
|
|
continues 'until' X becomes nonzero. The translation is:
|
|
|
|
1010 REPEAT
|
|
1020 .
|
|
.
|
|
1090 UNTIL X<>0
|
|
1100 <continue on>
|
|
|
|
As in the case of the WHILE statement we negated the test in the IF
|
|
statement. Again, there are three things to notice:
|
|
|
|
1) X need NOT be given a value before starting the loop.
|
|
2) If the loop is ever to terminate, something in its body must change
|
|
X so that it eventually becomes nonzero.
|
|
3) The loop will ALWAYS be executed at least once, no matter what X is.
|
|
|
|
DO - LOOP
|
|
|
|
The next form is a bit more complicated in the pattern of GOTOs:
|
|
|
|
1020 .
|
|
.
|
|
1050 IF X=0 THEN 1100
|
|
.
|
|
.
|
|
1090 GOTO 1020
|
|
1100 <continue on>
|
|
|
|
Again there is a jump backwards, so we have a loop, but this time we
|
|
exit the loop in the middle. The translation is:
|
|
|
|
1010 DO
|
|
1020 .
|
|
.
|
|
1050 IF X=0 THEN EXIT
|
|
.
|
|
.
|
|
1090 LOOP
|
|
1100 <continue on>
|
|
|
|
The DO...LOOP by itself will never terminate; it is the EXIT command
|
|
that breaks us out of it. (Note that this time we did NOT negate the
|
|
test in the IF statement.) The WHILE loop makes the loop test at the
|
|
beginning; the UNTIL loop makes the test at the end; and the DO loop
|
|
makes the test in the middle, breaking the loop into two parts. Again,
|
|
there are three things to note:
|
|
|
|
1) X need NOT be given a value before entering the loop, but must be
|
|
given a value in the first part.
|
|
2) If the loop is ever to terminate, something in either part one or
|
|
part two must change X so that it eventually becomes zero.
|
|
3) The first part of the loop is always executed; the second part may
|
|
not be executed even once.
|
|
|
|
EXIT TO THE RESCUE
|
|
|
|
The EXIT command can be used to get out of any of the other kinds of
|
|
loops, including FOR...NEXT loops. This can be handy for solving some
|
|
types of programming problems that can arise. For example, consider
|
|
the following loop:
|
|
|
|
1000 J=1
|
|
1010 WHILE J<=LEN(A$) AND A$(J,J)<>- -
|
|
1020 J=J+1
|
|
1030 WEND
|
|
1040 IF J>LEN(A$)
|
|
1050 ? -No blank space-
|
|
1060 ELSE
|
|
1070 ? -Space at position -;J
|
|
1080 ENDIF
|
|
|
|
This loop searches A$ looking for the first blank space, so we remain
|
|
in the loop as long as there are characters yet to check and we haven't
|
|
found a blank. It should work, but it doesn't; the problem lies in the
|
|
test in the WHILE statement in the case A$ contains NO blank. When J
|
|
becomes greater than the string length, the first clause is false, so
|
|
the second clause doesn't matter; the whole condition is false.
|
|
Unfortunately, the Basic interpreter (as well as the ACTION! compiler)
|
|
isn't smart enough to recognize that, and tries to evaluate the second
|
|
clause: [A$(J,J)<>- -]. But now J exceeds the string length, causing
|
|
an error. (For some strange reason you get Error #12, Line Not Found,
|
|
instead of the more logical Error #5, String Length Exceeded. Just to
|
|
keep us confused, I guess. A similar thing happens with numeric
|
|
arrays.) Obviously, we must break the loop test into two parts. But
|
|
how? Use nested WHILE loops? (I'll let you figure out why that won't
|
|
work.)
|
|
|
|
As you might guess from the title of this section, our salvation comes
|
|
from the EXIT command:
|
|
|
|
1000 J=1
|
|
1010 WHILE J<=LEN(A$)
|
|
1015 IF A$(J,J)=- - THEN EXIT
|
|
1020 J=J+1
|
|
1030 WEND
|
|
1040 IF J>LEN(A$)
|
|
1050 ? -No blank space-
|
|
1060 ELSE
|
|
1070 ? -Space at position -;J
|
|
1080 ENDIF
|
|
|
|
We add an IF statement with the second clause of the loop test negated,
|
|
and EXIT if true. When we reach line 1015, J can never be greater than
|
|
the string length, for the test in the WHILE statement would have
|
|
already terminated the loop if that were the case. A similar problem
|
|
with a test in an UNTIL statement is hand led in a similar way; an IF
|
|
statement, exiting the loop if the string length is exceeded, is
|
|
placed right before the UNTIL statement, and the test in the UNTIL
|
|
statement will only contain the second clause of the entire test.
|
|
|
|
Using these techniques for transforming various patterns of GOTO
|
|
statements you find in a program should result in clearer structured
|
|
code. I am sure, however, that you could find some examples of
|
|
programs so tangled that it might be very difficult to see the
|
|
underlying structure. Those are probably programs with some nasty
|
|
logic bugs lying in wait. Even more reason to try to untangle the
|
|
snarl.
|
|
|
|
A final word of advice: When you print a listing of a Turbo Basic
|
|
program the various loops, IF...ENDIFs, and procedures will be indented
|
|
two spaces each. This makes it easy to see, in a graphical manner,
|
|
just where structures begin and end, and whether you have properly
|
|
closed out everything. That is, if you haven't put too many things on
|
|
the same line! Each WHILE, REPEAT, DO, WEND, UNTIL, LOOP, as well as
|
|
each IF, ELSE, and ENDIF should be put on a line by itself. In that
|
|
way, you get full advantage of the indenting. You can lay a ruler
|
|
vertically on a print-out and connect the beginning and end of each
|
|
structure, and see if you have them properly nested and terminated.
|
|
Some people like to crowd as many statements as they can on each line,
|
|
hoping to save a little RAM. It is better to get the program right
|
|
than to worry about a trivial economy of memory, and a clear listing is
|
|
a great help in getting it right. If memory is tight, reduce the size
|
|
of some arrays until you get the bugs out and the program running
|
|
correctly. Then go back and pack multiple statements on each line, if
|
|
you must. But there are more effective way to squeeze out more memory.
|
|
|
|
|
|
|
|
To sign up for DELPHI service, call (with modem) (800) 695-4002. Upon
|
|
connection, hit <return> once or twice. At Password: type ZNET and
|
|
hit <return>.
|
|
|
|
To sign up for GEnie service call (with modem) (800) 638-8369. Upon
|
|
connection type HHH and hit <return>. Wait for the U#= prompt and type
|
|
XTX99436,GEnie and hit <return>.
|
|
|
|
To sign up for CompuServe service call (with phone) (800) 848-8199. Ask
|
|
for operator #198. You will be promptly sent a $15.00 free membership
|
|
kit.
|
|
|
|
Z*Net International Atari Online Magazine is a weekly publication
|
|
covering the Atari and related computer community. Material published
|
|
in this edition may be reprinted under the following terms only. All
|
|
articles must remain unedited and include the issue number and author at
|
|
the top of each article reprinted. Reprint permission granted, unless
|
|
otherwise noted, to registered Atari user groups and not for profit
|
|
publications. Opinions present herein are those of the individual
|
|
authors and does not necessarily reflect those of the staff. This
|
|
publication is not affiliated with the Atari Corporation. Z*Net, Z*Net
|
|
News Service, Z*Net International, Rovac, Z*Net Atari Online and Z*Net
|
|
Publishing are copyright (c)1985-1992, Syndicate Publishing, Rovac
|
|
Industries Incorporated, Post Office Box 59, Middlesex, New Jersey,
|
|
08846-0059, Voice: (908) 968-2024, BBS: (908) 968-8148, (510) 373-6792.
|
|
|
|
Z*NET: Atari ST Online Magazine
|
|
Copyright (c)1992, Rovac Industries, Inc...
|