| (((((((( | 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: jjmcwill@mtus5.mtu.edu ======================================================================= * 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!clf3678@uunet.uu.net (C.L. Freemesser) Subject: History of Atari To: Info-Atari8@naucse.cse.nau.edu In article <1991Dec27.041613.9166@crash.cts.com>, trag@pnet01.cts.com (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: clf3678@ultb.rit.edu 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 0> . 1100 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 0> . 1090 ENDIF 11OO 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 0> . 1090 ENDIF 1100 WHILE - WEND If the pattern of GOTOs looks like this: 1020 IF X=0 THEN 1100 0> . 1090 GOTO 1020 1100 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 0> . 1090 WEND 1100 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 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 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 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 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 once or twice. At Password: type ZNET and hit . To sign up for GEnie service call (with modem) (800) 638-8369. Upon connection type HHH and hit . Wait for the U#= prompt and type XTX99436,GEnie and hit . 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...