Let me start my fourth year by discussing the biggest event in Atari history since the introduction of the 800 Home Computer. But first a moment's reflection on my years with COMPUTE!.
Sometime about three years ago, I was reading COMPUTE!'s "The Readers' Feedback" column when I noticed a couple of questions about Atari computers which the editorial staff hadn't answered. And I also noticed a question which a reader had answered incorrectly.
I reacted. I phoned COMPUTE! and, for reasons best known to himself alone, a nice gentleman by the name of Richard Mansfield listened to my ranting and raving. I started to write for COMPUTE!.
Since then, I have written many columns and have covered a wide range of topics. But now I feel that it's time to change the style of this column. When I started, I intended to answer two or three questions a month and perhaps add a tidbit of my own. Lately, though, I've paid less attention to what you, my readers, want and have shown you some exotic but (perhaps for many of you) uninteresting programs, etc.
I am going to try to revive the chitchat style of this column. It will be more fun for me to write like that again and, I hope, more fun for you to read.
As I write this, only a few days have passed since the bombshell exploded: Jack Tramiel bought Atari! I don't see how I could avoid commenting on this—even if I wanted to.
By the time you read this, some of the things I will speculate on here will have been reduced to the role of mere facts or—equally likely—humorous fiction. Nevertheless, I would like to try to play the crystal ball game. Bear with me, please, as I make some predictions:
Nobody pays a quarter of a billion dollars (even 1991 dollars) for a name alone. If Mr. Tramiel doesn't produce and sell some (many?) of Atari's current and/or soon-to-be-current products, he will have bought nothing at all (since the massive layoffs make it obvious that he has little use for the expertise of the people who were Atari).
What products will survive? Probably the 800XL. It's a good machine and can probably be cost-reduced to be truly competitive with the Commodore 64. It could well have an effective price/performance ratio for well into the next two years.
I'm not so sure about the peripherals. The disk drive, or a version of it, certainly. Printers, of course. The cassette recorder? It's a piece of junk, and everyone knows it. The much ballyhooed add-on box, with MSDOS, 80column screen, 128K bytes, and an ice cream freezer? Maybe. But don't be surprised to see it licensed to a third-party, low-volume manufacturer. It's too difficult for a lean and mean company to support such a complex product.
A Fabulous Game Machine
What about the game machine side of Atari? Some have suggested that Mr. Tramiel will drop it like a hot potato. Baloney, I say. Why did he buy it then? Was he fooled by Warner and the ex-Atari management? I have heard Jack Tramiel called many things, but "stupid" is not one of them.
I have seen and played with the 7800 "ProSystem." It is a truly fabulous game machine (and it's even a fair computer, with 95 percent plus compatible Atari BASIC). Making it 100 percent compatible with the 2600 was a stroke of genius. When I buy one (and I will), I can keep my collection of 20-odd 2600 cartridges. Though I suspect—having seen Xevious and BallBlazer and Rescue on Fractulus and Robotron and… —that they will be little used. Tens of millions, like the 2600? Maybe not. A few million? Definitely yes.
Now what about the supposedly all important, superadvanced, already developed computer that Tramiel and associates are bringing to the game? Well, first of all, I don't know how far along that machine is. Designed? Almost certainly. Prototypes available? A good probability. Debugged and with software ready? Possible, but I seriously doubt it.
Personally, I expect to see an early prototype shown in January 1985, with "selling" models shown in June, both probably at the Consumer Electronics Shows.
An Atari Mac?
And what will this miracle machine, the savior of Atari as a "name" in the industry, look like? Ah, now there you've got me. I am skeptical about reports that it will be a "business" machine: Why buy a game company's name for such a scheme? But an integrated "noncomputer" such as the Macintosh? Sure! Maybe even "a computer for the rest of us" (Apple's Macintosh slogan) that is affordable by the rest of us.
Well, how did I score? Or is it still too soon to tell? I am more than a little interested in knowing the outcome.
Several people, led by Lloyd Keller of Palmetto, Florida, wrote me about something I tossed in, offhand, in my June column. While discussing the Atari Translator Disk, I had said, "Of course, you don't turn the power off to boot anymore."
And why not? Because, on an 800XL or 1200XL, the Translator Disk software loads into the RAM which is shared with OS (the hidden, bank-selected RAM). It then switches out the ROM completely, leaving you with an Operating System in RAM which is much, much more compatible with the old Atari 800's OS. Many programs which will not work in XL machines suddenly work just fine.
However, since your OS is now in RAM, you certainly can't turn off the power in order to boot another disk (for example, a protected game). Similarly, some cartridges insist on the old OS before they will run. You can't turn off the power to plug them in and still retain the OS in RAM.
Thus, before running, the Translator Disk software allows you to change cartridges or diskettes and then tell it you are ready to do a pseudoboot. That's all there is to it.
Mr. Keller, however, pointed out that his manuals tell him not once but many times to never change a cartridge with the power on. Well, sometimes manuals tend toward the cautious side.
Point 1: Nobody sticks a cartridge out in plain sight and then designs the electronics so that a three-year-old's sticky fingers can zap the whole machine by removing it. Point 2: The OS in the XL machines has a complex cartridge-presence checker built in. It checks to see if a cartridge has been inserted or removed every time the OS is called or every 1/60 second.
The action of this checker varies between the 600XL/800XL and the 1200XL. On the former, it causes the machine to "hang" until you hit reset, at which point it does a power-on sequence. The 1200XL simply keeps trying to do a power-on sequence, over and over again, and could lock up as a result.
So my point remains: Someone could and should produce an inexpensive cartridge which would act like the Translator Disk, thus giving cassette-only owners access to a wider range of software.
The Loop That Shouldn't Work
Shame on all you loyal Atari readers. It took a couple of Commodore 64 owners to bring one of my mistakes to light. A. J. Bryant of Winnipeg, Canada, and David Mackenzie of Bethesda, Maryland, tried the FOR-NEXT nesting test that I presented in my March 1984 column on their 64 machines.
Lo and behold, the program works (it is supposed to fail). And Mr. MacKenzie even asked me if Microsoft knew something we didn't. Well. I couldn't take a challenge like that lying down, so I powered up our 64 (yes, we really do have one) and tried it myself. Hmm.
Then I tried it on my trusty 800XL. It worked there also! My face is red. Between the time I developed the test and the time I submitted it for publication by COMPUTE!, I tried to pretty it up. There is a variation on Murphy's law which is appropriate here: "If it ain't broke, don't fix it."
So Program 1 is the original FOR-NEXT test. It fails on all Atari computers. It fails on Commodore 64s and Applesoft. The normal mode of failure is to issue a NEXT WITHOUT FOR error at line 280.
At first, I was surprised when Apple Integer BASIC passed this test. But I soon discovered why: Integer BASIC doesn't treat nested FOR loops properly at all. Program 2 is another, simpler test I devised to smoke out BASICs which have this kind of problem, so let's take a quick look at it.
Line 10 and 20 simply set up a pair of nested loops. But then line 30 starts an outer loop over again (or at least an intelligent BASIC interpreter will think so, since we are reusing I as a loop variable). Thus, line 50 should cause an error, because starting the outer loop over should erase the information about the inner (FOR J) loop. Indeed, on all the BASICs I mentioned except Apple Integer BASIC, it does. With Integer BASIC, though, the error does not occur until line 60. Tch-tch.
If there are any BASICs which pass both these tests, I would like to hear of them. Thanks.
More Letters Next Month
I've already started wading through a pile of letters; and, although I obviously can't promise a response to every one, maybe I'll try to answer your question or comment next month. See you then.
Program 1: Original FOR-NEXT Test
100 REM IT IS NORMAL FOR THIS PROGRAM TO STOP 101 REM WITH AN ERROR ON LINE 280 110 PRINT "I", "J", " I *J" 120 FOR I = 1 TO 9 130 FOR J = 1 TO 9 140 PROD = 1 * J 150 IF PROD > 14 THEN 200 160 IF PROD > 10 THEN 190 170 PRINT I, J, PROD 180 NEXT J 190 NEXT I 200 PRINT "J", "I", "J * I" 210 FOR J = 1 TO 9 220 FOR I = 1 TO 9 230 PROD = J * I 240 IF PROD > 14 THEN 300 250 IF PROD > 10 THEN 280 260 PRINT J, I, PROD 270 NEXT I 280 NEXT J 290 STOP 300 STOP
Program 2: FOR-Next Test 2
10 FOR 1 = 1 TO 3 20 FOR J = 1 TO 3 30 FOR 1 = 10 TO 12 40 PRINT I, J 50 NEXT J 60 NEXT I