CREATIVE COMPUTING VOL. 11, NO. 1 / JANUARY 1985 / PAGE 189
Recently, in this column we have been discussing a few of the secrets of the Atari computer. The first big secret is that everything that happens to the Atari, be it video, sound, joysticks, or keyboard, happens because a memory location is PEEKed or POKEd. You will recall that we spent some time going through many interesting memory locations, noting the effects of accessing these locations.
Why all this emphasis on memory in a series on assembly language? Simply put, assembly language is the art of manipulating computer memory and unless you understand memory, you can’t very well learn to manipulate it. Last month we also mentioned hexadecimal, a method of counting which supposedly helps us to understand memory. Most people find hex awkward at first and wonder if all the trouble is worth it.
So, let me state that unless you become comfortable with hex, you will never accomplish much in assembly language—on any machine. It is that important. Furthermore, if you learn hex for the Atari, you have learned it for all other computers as well, and once you learn hex, you have most of assembly language conquered.
There are quite a few good books around that teach hexadecimal theory and assembly language. To motivate you to buy one, we plan to show you just how easy things are to look at inside the computer once you are familiar with hex. Let’s look at a “memory map.” This is a listing of all the really interesting locations of the 65,536 available to a computer. The memory map values in both decimal and hexadecimal appear in Figure 1.
|"F" Operating System ROM (4K or $1000 hex)|
|"E" Operating System ROM (4K or $1000 hex)|
|"D" Operating System ROM (4K or $1000 hex)|
|Unused except in special custom hardware|
|ANTIC custom chip: Video and memory control|
|PIA chip: Joystick input or possible output|
|POKEY chip: Synthesizer and paddle input|
|unused except in custom hardware|
|GTIA chip: Video graphics|
|Unused except by custom hardware|
|RAM Read / write Memory|
First, and most important, look at how ragged the decimal numbers are. None even ends with zero. Can you remember these numbers easily? I have never been able to. But look at the hexadecimal values. All are nice and even to work with.
As an example of this, note anything that accesses the Antic chip begins with the address D4xx. To access the GTIA chip, begin at D0xx. RAM is from 0000 to BFxx. The floating point ROM is at D7xx to DFxx. The OS ROMs are at E000 to FFFF.
Everything works out evenly. Just by looking at the top two digits of the hexadecimal value of an address, you can tell a great deal about what that address does. For instance, the GTIA and Antic chip addresses control memory and video. The PIA chip controls the joysticks. Pokey controls the music synthesizer and paddle controls.
If you are looking at some assembly
language, and see
you know without even seeing the comments that the programmer is doing something with the GTIA chip, which probably means video. Or if you see
you know that RAM is being accessed.
There are some other memory areas about which you have probably heard and the uses of which will now become clear. First, let me introduce the concept of a memory page. A “page” of memory is 256 decimal bytes. Why 256? It is 100 hexadecimal, an even value. There are 100 hex, or 256 decimal, pages of 256 bytes in the computer; in a four-digit hexadecimal address, the page number is the top two digits, and the address within that page is the last two digits. For instance, in the hex address $1234, the page number is $12, and the location within that page is $34.
As you can see from the memory map, each of the powerful I/O chips has a memory page allocated to it.
Down at the bottom of memory is the popular “page zero.” Because of some of the features of the 6502 microprocessor, page zero is a popular place to put “pointers” to other memory locations. These pointers are much like array indexes, like B in A(B) or Z in B$(Z). Page zero is always heavily in demand by applications programs.
Page one is the “stack.” This area is used for saving temporary values and “return addresses” during subroutine calls. The stack is the mechanism that helps make a GOSUB jump to the proper place following a RETURN, for instance. If you run the September program to view the lowest memory area, you will see the stack jumping around.
Page six, starting at 0600 hex, is a popular place for machine language programs. Synapse Software even sold a set of utilities called Page Six for some time.
The disk operating system starts at roughly 0700 hex and continues up to roughly 1FCF hex. The reason the values are inexact is that they vary according to which version of Atari DOS you are using. The size of DOS varies according to how many disk drives you have and how many file buffers you have allocated.
Above DOS we next find an open storage area. Basic uses this to store your program, as does the assembler. Above that are stored all your variables, such as numbers and strings. Above that is empty space into which your program can expand. If you run out of memory, you no longer have space there. Next, you have screen memory, where the Atari keeps a copy of the current TV image, and above that, the special chips and the operating system. See the map in Figure 2.
|Top of RAM ($BFFF)|
|$FFFF||Display memory (What’s on the screen)|
|Display List (The format of the screen)|
|?||Free Memory Area|
|?||End of Variable Storage|
|?||Beginning of Variable Storage|
|?||End of Program Storage|
|Beginning of Program Storage|
|DDS Program & DOS (Disk Operating System) File Buffers|
|Various Operating System Data|
|$0000||"Page Zero" Pointers|
What is the easiest way to learn hexadecimal? A good book will help, but the only way to become happy with hex is to try working in it. The Atari assembler/editor cartridge is a good bet and a relatively inexpensive one. It includes a program for looking over memory (called Debug) and an assembler that makes machine language programs to poke into memory. Another good package is the OSS MAC/65 and BUG/65 cartridge or disk assembler from Optimized Systems Software, Cupertino, CA. MAC/65 is much, much faster than the assembler/editor cartridge and a real professional tool.
In terms of hexadecimal and assembler, Basic, especially Atari Basic, is a terrible language to work with. Atari Basic will not let you speak hexadecimal without all sorts of problems; I would not recommend trying assembler programs with it. Instead, use Atari Microsoft Basic or OSS’s Basic A+ (a.k.a. Basic XL). Of the two, I recommend the OSS product, as Microsoft Basic lacks support from Atari. OSS Basic is fast and easy to work with and includes several really useful features that you have probably missed in Atari Basic: block delete, cross reference, and renumber.
I hope I have given you some feel for how easy it is to talk to the machine in hexadecimal. Learning hex is very worthwhile, even for a Basic user. It expands your horizons within the machine. It is essential for the assembly language programmer or anyone serious about programming as a career.
The current hot topic of discussion among Atari users is Jack Tramiel’s takeover of Atari and the changes he has implemented there. No one knows if Tramiel can turn Atari around. January 1985 is said to be the date scheduled for the introduction of a new Atari computer. Whether or not it will be the 1450 XLD is open to debate; Atari may not have had the time to develop anything else, and a great deal of work has already gone into the design of the 1450. (Sherwin Gooch, mentioned here in July, is no longer with Atari; Vince Wu, designer of the superb Plato cartridge, is now the 1450 manager.)
1984 saw the end of the old Atari as we knew it. There have been many changes, and many familiar faces are gone: Chris Crawford, Joe Steele, Howard Chan, Fred Thorlin, Bill Galcher, Joe Miller, and Scott Schieman, to name a few of the best. Only time will tell if Atari will survive. As for me, I’ll wait until the last computer is sold, the last door is locked, and the last employee turns out the lights before pronouncing Atari finished. I think that somehow they are going to make it.
Finally, we have a favor to ask. Creative Computing is changing with the times and the needs and desires of its readers. This includes the evolution of regular departments and columns.
To satisfy your needs and desires, we need to know which columns you read and which ones you want to see continued. So write to us. Let us and the editors know what you want, and we’ll all do our best to make this the kind of magazine you want to read.
See you next year! Have a happy holiday season!
CREATIVE COMPUTING VOL. 11, NO. 3 / MARCH 1985 / PAGE 152
Well, hello again, Atarians. It may not look like it at first glance, but this is a very special column, and it is a special pleasure to man the Outpost once again this month. For this is the column that might never have been.
At the mere whisper on the Creative Computing SIG on Compuserve that the column might be dropped, we received more than 200 pleas to save the Outpost—an impressive response, indeed. It assured the continuing existence of the column—for at least the time being.
Here is a smidge of hard evidence that we listen to our readers—and that our online forum truly works both ways. Thanks to our SIG members not only for their continuing support, but for their solidarity on the issue.
Resulting from aggressive price cuts and a new multimillion dollar media campaign, the Atari 800XL was sold out through the Christmas season. At $119, the 800XL, which was the only micro Atari had left, proved that the home consumer is still interested in low-end computing. The Atari 1050 disk drive was discounted to under $200, with the goal of pricing an entire system, including 1027 letter quality printer and word processing cartridge, at under $600.
Realistically, however, how long can that boost last? Atari has needed to take a giant step into the next generation of hardware—and at a news conference in late November, finally announced its plans. At CES they will debut three new 8-bit machines, compatible with the current 800XL, and including a new equivalent to the 800XL. This new entry will look almost exactly like the older machine, will incorporate a number of design improvements. Another 8-bit machine will be a transportable, and at least one will ship with 128K standard.
Atari will also introduce a 300/1200 baud modem, which connects without need for 850 interface, and a low-cost full-size color printer.
According to Tramiel brother Sam, at least one of a new line of 16-bit Atari machines will also surface at Winter CES, and the first of a line of 32-bit “super-machines” will be previewed at the Hannover Fair in Germany this April. Sam tramiel told Antic that the new 32-bit machine would be built around a National Semiconductor 32032 processor, and would be in fact a “VAX in a box.”
All the 16- and 32-bit machines will utilize VLSI custom chips alongside their main processors and run a proprietary DOS. Most significantly, they will run GEM, Graphics Environment Manager, from Digital Research. This OS shell features pull-down menus, sizable windows, icons, and pointer input device support for mice, et al. Sound familiar? Jack Tramiel has publicly stated that it is his intention to produce a machine capable of outdoing the Macintosh in graphics power and ease of use, and to do it in color for less than the price of a standard Mac.
He has had to attempt this without the benefit of the state-of-the-art Amiga chipset, which had been promised to Atari, and subsequently “unpromised,” right about the time he came on board. Atari continues to fight for rights to the chipset in litigation. Loss of the Amiga chipset was a serious blow to Atari, but apparently has not stopped Jack from pursuit of his goal.
Can Atari battle its way back into the consumer fray? Absolutely yes, if what they have to offer is better than what the competition has to offer, costs less, and can be manufactured reliably in quantity. Jack must count on each of these points to succeed.
Atari will never gain a reputation as a serious maker of business machines, and in the past the business market has had a make or break effect on more than one microcomputer. If, in fact, a proprietary operating system implies that MS-DOS compatibility is out, Atari is taking a big gamble indeed.
In the meantime, it is good merely to hear from the small group of powerful men that now command Atari Corporation—to hear them talk about 1985 in terms of billion dollar sales, and so forth. It shows that the confidence of a single man can still influence the industry. And from that perspective, we can only hope for the best.
It has been ages since we have run an Atari hardware application—and here’s one that is so offbeat it just had to get its moment of glory. Thanks to Robert Swirsky for sending this one in.
When Lee DeForest perfected the first electronic oscillator in 1915, he had no idea that he would provoke a revolution in musical production. It was his oscillator—a device that could produce audio tones—that was incorporated in the early electronic musical instruments. Of course, in modern electronic instruments, the tones are produced by a microprocessor that essentially serves as a clock to pulse a speaker at varying intervals and amplitudes.
At the beginning of the twentieth century, however, digital computers were certainly not available. Analog methods were used to produce electronic music. One common device was a “slider” control arranged to vary the pitch of the oscillator; another was an analog keyboard.
Not satisfied with these methods of controlling an audio oscillator, the Russian scientist Leon Theremin devised his own instrument which he called, without any modesty whatsoever, the Theremin.
The original Theremin consisted of an oscillator connected to a radio antenna. By varying the distance of your hands from the antenna, you could control the pitch of the oscillator. Moving your hands above the antenna would raise the pitch and bringing them closer would lower it.
The Theremin is all but dead today. There was a time, however, when the devices were frequently used: during the era of the early science fiction movies. The Theremin was the device used to create the “tuning the radio” noises that the mad scientist inevitably used to communicate with other worlds. If you have ever seen an old SF movie, you have probably heard one.
It is a shame to see a musical instrument die. Therefore, I had decided to resurrect the instrument in a modern form more appropriate for todays’ era: the computerized Theremin. This turned out to be much simpler than I had imagined, allowing for one major change in the original design. In place of the antenna I substituted a cadmium sulfide (CdS) photoelectric cell. The CdS cell is a device that changes its electrical resistance according to the amount of light falling on it. By using your hands to create shadows on the photocell, the pitch of the Theremin can be changed.
The interface circuit is very simple. I used two CdS cells (available from electronic parts suppliers) connected in series. Using dual cells provides a greater range of resistances and more control of the instrument. The cells are mounted on a board an inch apart and connected to the Atari Player 1 controller jack with a nine pin D connector. (See Figure 1).
Figure 1. (Omitted for now)
Software for the Theremin couldn’t be simpler. It consists of two program statements:
10 SOUND 0,PADDLE(0),10,10 20 GOTO 10
Of course, the software could be changed to provide a number of special effects, but these would make the instrument perform differently, so it could not be classified as a Theremin. I’m sure Leon Theremin wouldn’t want to see his concept distorated and his name besmirched.
Incidentally, there are other uses for a photocell controller. With the controller, your Atari has the ability to detect light, and can be used, for instance, in security applications. Perhaps it would make an interesting game controller: there are no moving parts to wear out. While this controller acts as PADDLE(0) from Basic, other CdS cells (up to seven more) can be hooked up and accessed with Atari Basic commands PADDLE(1) through PADDLE(8).
The computerized Theremin is probably one of the easiest musical devices to simulate on a computer. It is also simple to play—just move your hands to allow varying amounts of light to reach the photocell. I used mine as one of the voices in a composition “Fugue for Three Ataris” which was performed before an enthusiastic audience at Hofstra University.■
CREATIVE COMPUTING VOL. 11, NO. 4 / APRIL 1985 / PAGE 120
While sales of the Macintosh have not approached those of the IBM PC, there is another factor to be considered in assessing the popularity of the two machines: more people use—really use—Macintoshes than use IBMs. The PC to me represents the Bad Old Days of Computing, complete with disk operating systems, file allocation tables, and other bits of tripe that made computers difficult to use and all but impossible to learn to use. So you tend to find IBM machines dedicated to one application (most commonly, Lotus 1-2-3). Macintosh users, in contrast, tend to use their computers in widely varied ways; the Mac is a natural for many applications.
Wait a minute… this is the Atari column, right? Why am I raving about the Mac? Ah, the Mac is a great idea with one sticking point: the price. Right now, the best price you can get for a Mac is around $1600, and that is for the 128K, Skinny Mac. To get the most out of the Mac, you need the 512K machine, which will run you $2500 (if you shop around). This is just too much for a computer “for the rest of us.”
Now enter Jack Tramiel, who darn well knows a good idea when he sees it (like the Mac’s user innovations) and also knows how to build an inexpensive machine (like the Vic 20 and Commodore 64).
And witness, a very few months later, the Atari 130ST and the 520ST computers with Macintosh-like capabilities. The (projected) price? For the 128K machine, called the 130ST, $400, not $1600, as for the Mac. And for the 512K machine, the 520ST, and incredible $600, not $2500.
When these prices became known, many computer experts said, “great, if he can do it.” This is a disguised compliment to Tramiel; had anyone else in the industry announced machines with these capabilities at such prices, we would have heard a flat “it can’t be done.”
The machines feature an operating system (the part of the computer that deals with you) called GEM. If you have ever seen a Macintosh, you have seen GEM. If you haven’t seen a Mac, check out our July 1984 review.
The Atari machines feature a mouse and the desktop concept implemented in color. What does this mean to you? The new Atari machines will be very easy to learn how to use. They will have the ease of use of the Macintosh at a price long associated with the Atari name.
Atari’s 130ST and 520ST use the Motorola 68000 microprocessor, a fast and efficient chip, and clock it at 8.0 MHz, which is really fast. The 68000 is a joy to program; if you already know 6502 or 6800 assembler, you will find the transition easy. The 6800 has the genius of a simple instruction set with many options for each instruction. This keeps the number of available instructions manageable.
The 68000 is faster than the IBM chip for two reasons. First, it is clocked much faster (8MHz vs. 4.77 MHz). Second, the 68000 talks to the world 16 bits at a time; whenever the IBM has to communicate, it does it in two 8-bit pieces, which slows it down considerably. The 68000, by the way, is the same chip Apple picked for the Macintosh.
By the way, the current Atari chip runs at 1.79 MHz and is 8-bits only. That is a speedup of four times in clock rate alone. Now add the doubling of 16-bit operations and the overall efficiency of the 68000… and you thought your Atari was fast!
Both of the new ST machines have color video with several modes: 320 × 200 in 16 colors (roughly the same as the current Atari machines), 640 × 200 in four colors (like graphics 7 with much higher resolution), and 600 × 400 in one color (like graphics 8 with much higher resolution). Atari will sell you an RGB color monitor (XC 141) to use with these machines for around $320 (640 × 200) or a monochrome monitor (XM-128) for the 640 × 400 one-color mode for around $170.
The machines are said to have both Centronics parallel and RS-232 serial ports built in; that means that no extra interface is necessary for these machines. (A sigh of relief is heard).
The disk drive for the ST line (SF 354) will be the 3.5″ type so familiar to Mac users. It has 500K of storage; the 810 and 1050 have 88K and 128K, respectively. The price, however, may knock your socks off—$100 for a drive. Thus, we are talking about a powerful Macintosh-like product for under $500, complete with disk drive. There is also mention of an SH-317 10Mb hard disk, but no price is mentioned.
Right now we can dispense with two common questions. Will the new Atari machines run IBM software? No. Will they run the old Atari software? No, but…
The reason I qualified the second no is that Atari announced two other new machines which are “100% compatible with the XL line of computers.” They are the 65XE and the 130XE. The 65XE has 64K of memory, and the 130XE has 131K.
These are Atari machines that you will know and be comfortable with immediately; the primary changes are internal to cut production costs. One difference you will note immediately is that the “parallel expansion bus” that used to be on the 800XL machine is gone on the 65XE; it will be present on the 130XE, however.
The 6502 processor used in these machines is the same fast, reliable chip used in the previous Atari lines. However, it is given 131K of memory to access in the 130XE model, which offers potential for higher speed and more memory-intensive applications. (Remember, though, that the 6502 cannot access more than 64K directly at any one time; the other 64K is accessed by temporarily turning off a piece of the “regular” 64K memory and turning on the “alternate” 64K memory instead.) Also bear in mind the “numbers game”; normally, a machine with two sets of 64K dynamic memory chips is called a 128K machine, as in the 128K Macintosh or 128K Commodore. In reality, the memory (in decimal) comes out to 131,072 bytes—so Atari one-upped the competition and named the new machine the 130XE, to get a number slightly higher than theirs—typical Tramiel competitiveness, and who knows how much difference it might make to a computer neophyte purchasing a machine? And, of course, the 512K machine is advertised as the 520ST.
The 65XE machine will cost around $100, which is the current price of the 800XL, and the 130XE machine will sell for $200. These prices seem likely to undercut the competition (Commodore) by some 50%.
Also announced was a portable computer with 128K and the same 6502-XL compatibility, called the 65 XEP. Complete with a built in 3-1/2″ disk drive and color monitor it sells for around $400.
What about peripherals? There are many. I have mentioned the 3.5″ disk drive for the ST series. But the most exciting is a promise of a $400 15Mb hard disk for the ST line by June. That’s right, $400. Apparently the ST machines already have a hard disk controller (the expensive part of a hard disk) already built in.
New printers include the XTM 201, XTC 201, and XMM 801, inexpensive dot matrix printers with both color and non-impact versions, running at 20, 20, and 80 cps respectively. The XDM 121 is a 12 cps letter quality daisywheel printer.
Projected shipping dates? April 1 for the XE line; May or June for the ST line.
Digital Research has apparently been working with its GEM (Graphics Environment Manager) operating system for a while; GEM works with CP/M-68K, DR’s operating system for the 68000 chip. Tramiel had been carrying on discussions with DR for quite some time about this and decided to implement his ideas with his new Atari Corporation.
There was some mention of the Mindset computer being added to the Atari line. Apprently the story was that the new machines were not “brought up” at Atari until three days before the Consumer Electronics Show. So the Mindset was “held in reserve” as a 16-bit color computer in case the 130ST and 520ST didn’t pan out. Sounds like the Atari engineers put in a lot of overtime. Bringing up a 68000 prototype computer in six months is astonishing speed.
Very hot rumor: the ST series will be able to run Mac software. (For those of you who are knowledgeable and point to the copyright Apple ROMs (prestored programs) that are part of the Mac, remember the MacWorks package for the Lisa has this same information on disk.)
Another hot rumor: The ST may be able to read Mac disks directly.
A final hot rumor: You’ll probably find CP/M-68K available for the ST line very soon, which means there will be fast, efficient Pascal, C, Fortran, CBasic, and such available.
Also worthy of mention is that the Plato cartridge for the XL series of machines is being released finally. If you have been looking for an easy-to-use communications net and for a place with some high quality educational software (100,000 contact hours), it would be a good idea to check out Plato. Plato is a mainframe computer in Minneapolis that has been around for ten years with an astonishingly good selection of courseware—everything from math drills and sentence structure for kids to how to fly a 747 (a simulator that United Airlines uses). The Plato Learning Phone, designed by two software engineers at Atari, Vince Wu and Lane Winner, lets you access Plato for $7.75/hr. (local phone call)—a rate competitive with CompuServe and The Source, certainly. You need either a Microbits 300/1200 baud modem (the 1200 baud modem ought to be announced by the time you read this) or an 850 interface and anyone’s 300 or 1200 baud modem.
I’ve been on Plato since 1978 and highly recommend you look into it. It takes the term “user-friendly” to new heights and is the first computerized society.
Atari has also announced a $49.95 software package which is said to compete favorably with Lotus 1-2-3. The price is an indication of another Atari promise: “We won’t sell software for over $50.” There will be more on Infinity in a later column, rest assured.
What does this mean for new computer users? I believe that Atari finally has created what Apple always advertised: “The Computer for the Rest of Us.” It has the innovative, easy-to-use Macintosh user interface but none of the high Macintosh pricing.
Now is a better time than ever to get into computers; finally, a computer that comes to you instead of forcing you to come to it.
CREATIVE COMPUTING VOL. 11, NO. 5 / MAY 1985 / PAGE 94
It is almost summer. As you know, during the summer you can be outdoors doing all sorts of healthy, active things, or you can be inside using the computer. This month I have made it my mission to persuade you to stay inside and avoid the aging effects of the sun rays.
To this end, let’s look at a few products that might keep you chained to your Atari.
So you think you’ve seen everything there is to see in Adventure games? You’ve saved the Princess, cleansed the realm of ultimate evil, prevented a meteor from colliding with the Earth, and just generally saved the universe from the alien challenge?
Congratulations, you are an adventure burnout. Welcome to the club.
When Wombats I arrived, I yawned. I wondered what task (which I had undoubtedly already completed in another game) would await me. Slay a troll? Big Buzz. Find gold? No sweat. So I booted the game up:
“Episode I: Gazumba the Great and the Wombats of Borazoa. You are standing on a large compass. The compass has been made out of hundreds of tiles; the placement of the tiles is extremely exact, and must have caused the being who did the work to go prematurely blind.” Without really seeing what was on the screen, I wandered on.
“This is the computer system room, where there are visible remains of several mainframe computers. A host of smaller computers are huddled around them for warmth.”
In another room, a mysterious inscription on the wall:
“I sit on my legs, and quietly think about what it all means about why there is no mayonnaise jam or how Brooke gets into her jeans.”
Double take. I was confused. What on earth? Several scenes later it all became clear: Wombats I is a parody of adventure games.
I picked up the cover and read: “Venture with me into a mind-boggling world of strange creatures, killer vegetables, dim-witted robots, and weird happenings. Equipped with an extensive vocabulary and written entirely in Demento-O-Matic machine language for fast, fast, FAST execution, Wombats I sports many sophisticated commands heretofore only available elsewhere. The fruit of our labors can now be yours, if you promise not to pirate it all over creation. Boola, boola.”
Well, I haven’t completed the game yet; it has some pretty hard puzzles. Besides, I’m still enjoying the prose that has been so carefully crafted. No hurry.
I recommend this one to experienced Atari adventures who think they have seen it all. If you are not an experienced adventurer, start with Zork I or the Scott Adams series; a lot of the humor in this game is directed at the competition, and if you haven’t played the other games, it will fall flat.
A few caveats: The actual game is quite difficult to solve. To me, that is unfortunate. I think the object of a parody adventure should be to expose the player to the maximum number of parodied rooms and such, and if he can’t get far into the game, he will not derive maximum enjoyment from the game. The game play is quite uneven in spots; more play-testing might help a lot.
Finally, it is truly copy protected. I mention this because it won’t boot on an ATR-8000, and that means other non-Atari drives could have trouble; it seems to depend on the data separation scheme being used. Atari 810s and 1050s work fine; if you use anything else, test it out first and reserve the right to return the game if it fizzles.
All in all, my rating is Good Enough.
Russ Wetmore has done it again. Longtime Atarians remember Russ as the fellow who wrote Preppie, one of the classic Atari arcade games. With Homepak, Russ has proven that his skill as a programmer extends beyond games.
Homepak, from Batteries Included, is three programs in one: a word processor, a database, and a telecommunications program. What is amazing is that all three programs are pretty good, and the price for all three is $49.95.
Homepak is written in Action, a language that is emerging as the preferred language in which to develop Atari software; it is fairly high level, but compiles into extremely efficient code. Action is what I had hope Forth would turn out to be—easy to use and powerful enough to drive the Atari to its limits.
The idea of Homepak is to combine the functions that a home user might need at a reasonable price.
Hometext, the word processor, is good enough for most home use; it isn’t exactly industrial strength, nor can it handle 100K manuscripts (more like 8K). On the other hand, most home users don’t write long documents; they write letters and other documents for which Hometext is adequate. It has the usual word processing capabilities; margins, block move/delete, and search/replace. There is also a page setup menu which has many capabilities from justification to footers and line spacing.
Homefind, the database, tries to fulfill the needs of the home user, and to my mind, does this difficult task effectively. With the database, you enter facts you want to be able to recall later, in the following format: “Robert’s birthday March 23, 1953”; “Mike’s phone’s 929-9099”; “Susan’s favorite color’s yellow”; and save them. Then, you can recall them with “natural language” commands like “What is Mike’s phone?”
This is an interesting idea. It lets you store information that is normally difficult to get into a database, because of the wildly differing fieldnames and lengths. It is not a powerful database in the mold of Filemanager; rather, it is a convenient fact file for information. It is also considerably easier to use than Filemanager for the sort of information an average home user wants to save.
Finally, there is Hometerm, a terminal program. This program lets you use the Atari as a terminal with most modems available today, including those that direct connect (1030), those that work with the 850 Interface, and the MPP series which plugs into the joystick ports. Hometerm lets you select baud rate, autodial, upload and download Atari DOS files with XMODEM protocol, and even edit and compose text lines in the program before sending them through the modem.
I like Hometerm and think it is easier to use than either Telelink or Amodem/Tscope.
Homepak gives you basic functions at a reasonable price. It is a real rarity on the market today, an excellent program at a bargain price.
(If you need a really powerful word processing/database/telecommunications program and can bear the tariffs let me suggest the following: pick up an ATR-8000 with as much disk storage as you need and get the CP/M-80 versions of WordStar, dBase II, and Modem 7. You’ll find that CP/M has the necessary disk I/O speed and power to handle most problems. On the other hand, you’re going to put a real drain on your checking account balanced by the time you’re done, so consider carefully “how fast you want to go”.)
Many Atari users now dial into CompuServe and visit the Atari SIG (Special Interest Group) there. If you have never tried out a bulletin board system, think of a shopping center “bulletin board” that thousands of users can post bulletins on and respond to daily, and you’ll get the idea. It is the place to pick up rumors, ask questions, and get some good answers. The operators of the Atari SIG are among the most knowledgeable of Atari programmers (Russ Wetmore, mentioned above; Steve Ahlstrom and Dan Moore, who did SynCalc from Synapse; Ron Luks; and others).
Also on CompuServe, in Creative Computing Online, you will find Creative’s own John Anderson and Owen Linzmayer. If you want immediate response to comments about articles, suggestions, and the like, this is the place. I check into CompuServe once every few days, so if you leave a message for me in the Creative Computing Outpost: Atari area, I’ll be able to respond immediately.
Finally, this month we have a place where some of the “movers and shakers” in the Atari world can be recognized for their contributions. Each month I’ll try to mention a few people who deserve kudos from Atarians.
Joe Miller (formerly of Atari, Inc.): Wrote the operating system, far ahead of its time, for the 400/800 computers. Try to do some of the things Atari programmers can do so easily (such as reading a file a byte at a time) on other machines. You’ll really appreciate Joe’s work the first time you use another machine’s Basic.
Bill Wilkinson (OSS, Inc.): Wrote Atari DOS; then marketed Steven Lawrow’s MAC/65, the finest 6502 assembler available for the Atari, and Action. Truly a person whose tools and company played a critical role in software development for this machine.
Ihor Wolosenko (Synapse, Inc.): The person who started and built up Synapse Software, starting with FileManager 800 and moving to some of the really classic games, including Shamus, Blue Max, Dimension X, and Protector. A person who gave many programmers their first chance to write and market an Atari game.
Earl Rice and Mark Cator (formerly of Atari Inc. User Support Group): Two people who put a lot of work into helping user groups, distributing educational tapes, disseminating information, straightening out problems, and helping users. Special thanks for the many trips they made to user group meetings around the country; Earl and Mark were the only employees of Atari many people ever met.
Delaine Goode, Jill Palmquist, Joe Wagner (Corvus Inc.): Still the only manufacturer of a hard disk for the Atari. Possibly a tool ahead of its time, yet an increasingly popular tool for software developers; much faster than Atari drives (4-8X speedup) and lots of storage (5-20Mb). Delaine, Jill, and Joe have bent over backwards to support Atari users when many perceived the Atari computer as “just a game machine.”
Chris Crawford (formerly of Atari, Inc.): One of the people most responsible for the success of the home computer. Helped write an excellent text (De Re Atari) on how to use the machine which got many programmers started. He made many personal appearances at user’s groups and seminars explaining how the machine works. Chris is also responsible for popularizing the “smooth scrolling” and terrain map techniques which appear in hundreds of Atari programs; they were first seen in his brilliant Eastern Front.
He is also one of the most pleasant people I have dealt with at Atari. Chris is now writing programs for the Macintosh.
And finally, George Blank, former Creative Computing editor, who originated the Outpost: Atari column and gave two novice writers (David and Sandy Small) a place for their Atari tutorial series nearly four years back. Many thanks.
See you next month, when I anticipate having some hard information on the ST line (68000 machines) as well as the more secret NSC 32032 32-bit line, as well as our Fourth Anniversary Special. ■
CREATIVE COMPUTING VOL. 11, NO. 6 / JUNE 1985 / PAGE 100
The Atari has a program called the Disk Operating System which you load from disk any time you start up from disk. The Disk Operating System handles everything that has to do with the disk drive. If you switch on the machine without a disk drive attached, you won’t load the DOS, which means that until you turn the power off, you can’t do anything with a disk drive. You can’t, for instance, SAVE a Basic program to disk.
Nearly everyone I know has been caught by this once or twice—you turn the Atari on, then the disk drive. The Atari upon awakening concludes that there is no disk drive attached, so no DOS is loaded. You type in a long program, type SAVE, and the Atari doesn’t know what to do.
If you get into this fix, you might try saving the program to cassette, if you have a cassette drive. Otherwise, you’re out of luck; print a copy of the program, restart the machine, and type it back in.
DOS is a computer program like any other, made out of bytes, and stored on disk in the file DOS.SYS.
(How can the Atari load DOS.SYS when it doesn’t know how to deal with disk drive until DOS.SYS is loaded? Good question; are you considering computer science for a career? Anyway, the Atari has the ability to do one thing with a disk drive when it turns on. That one thing is loading DOS.SYS.)
If a disk does not have the DOS.SYS file on it, you will see repeated BOOT ERROR messages on the screen; the Atari is trying to tell you that it wants to bring DOS in so it can deal with disk drives, but it can’t, since DOS is not on your disk. The solution is to insert a disk with DOS.SYS on it. (Also, the DOS.SYS file might be scrozzled.)
DOS loads into “low” computer memory and stays there as long as the Atari is on. Your Basic program, and everything else, stays above DOS (see Figure 1). If you don’t load DOS, you have more room for Basic (see Figure 2).
Figure 1 and 2 (omitted for now)
Next, let’s assume you type DOS from Basic. What happens? DOS loads the Disk Utility Package, a collection of programs to deal with disks. You have seen the Utility Package many times; it enables you to format disks, look at disk directories, and the like. Its title is the DOS Menu.
This menu package is stored on disk in a file called DUP.SYS (short for Disk Utility Package). When you type DOS, the DOS program loads DUP into memory right above DOS, and you get the menu (see Figure 3).
Figure 3 (omitted for now)
The reason I have stressed the difference between DOS, the program that is in memory all the time, that handles all disk requests, and DUP, the program that is there only when you are working with the DOS menu, is that you type DOS to get to the DUP menu. Confusing, right?
Now, what if you had a Basic program stored where the DUP package loaded in? It will disappear; the DUP package writes over it in memory. This means that you can never get to the DOS menu without clobbering whatever you are working on.
The designers of the Atari have a solution: something called MEM.SAV. You create MEM.SAV with option N from the DOS menu. If you have MEM.SAV, when you type DOS, the area that the DUP package will load into is first saved to disk, saving the Basic program (or whatever) that is in that section of memory. Next, DUP is brought in, and you do whatever you want with the menu. When you exit DUP, the old memory region is read back in from disk and restored to its original state. The upshot is that you haven’t lost your Basic program by going to the DOS menu.
Of course, there is a tradeoff: all this disk access really slows down access to the DOS menu. If you should get tired of this, just delete the MEM.SAV file and things will return to normal.
At this point I have a confession to make: I really dislike typing DOS. Why? It takes so long to get to the darn DOS menu, and I have done it thousands of times. Furthermore, I don’t like losing whatever I was doing to get to a DOS menu, either. MEM.SAV takes so long that I can shave while it is beating on the disk (I tried it).
Speed, speed, speed. We computer types are obsessed with it. Otherwise why bother with a computer? However, it is not a vain obsession; time is money for people, and saving ten seconds for thousands of times really adds up. Hence, SwapDOS.
SwapDOS is a modification to the standard Atari DOS 2.0S and the Atari 800XL.
SwapDOS does two things for you: it allows you to get in and out of the DOS menu instantly, and it preserves anything you are working on when you go to the DOS menu.
By the way, other DOSes can be modified with the principles within, but don’t expect SwapDOS to work with them as printed. I have commented the assembly source code listing (Listing 1) as much as possible to make it easier for you.
The key to SwapDOS is the design of the newer XL. There is 16K of RAM in these XLs that is generally not available to the user, although Atari never had any qualms about advertising it. It lies “under” the operating system area; you can select either the operating system or RAM to be in that memory region, by writing a 1 or 0 (respectively) to the lowest bit of PORTB, the old joystick port.
To use SwapDOS on the XL, type in the Basic program (Listing 2). This will generate an assembly language program called SWAPDOS.OBJ. Go to the DOS menu. Use option L (Binary Load), and load “SWAPDOS.OBJ”; then return to Basic.
Now, the system is ready. Type DOS. You’ll be in the DOS menu in half a second. And when you exit DOS, you’ll not have lost anything you were working on.
Needless to say, this is a bit of a change from the old DOS. You know, waiting forever for the DOS menu to load up. The combination of saving time and preserving my work makes this program very useful for me.
SwapDOS is meant for the XL machines; if you have an older Atari, you can see what all the fuss is about by using the alternate SwapDOS listing (Listing 3). There are limitations on the older machines, however; I use memory from $8000-$9400 for the swap, so if you have a Basic (or other program much longer than 24K, or use graphics modes other than 0, it won’t fly.
On to the details of how this works.
The problem, you recall, was when you typed DOS, a large program had to be brought into memory (DUP.SYS) where it overlaid whatever was in memory locations hex $17D7-$3305.
Instead, let’s do things a different way. When we load SwapDOS, it makes a copy of DUP.SYS in memory and places it up under the operating system in alternate RAM memory. This does not occupy any memory you are used to using (e.g., FRE(0)). This RAM memory is difficult to use because the operating system is used so much; the operating system program must stay available in memory except under special circumstances. For instance, no interrupts can be processed when the operating system is switched out, and the character set goes away (see Figure 4).
Next, we make some selective patches to the DOS.SYS program in memory. First, we tell it that there is a MEM.SAV file active. Next, whenever it handles a DOS request, it interchanges the memory up under the operating system ($E000-F500) with Utility Menu memory ($17D7-$3305). This does two things. First, whatever you were working on is saved up under the operating system. Second, the DOS utility menu is loaded nearly instantly, because the 6502 processor in the Atari is so fast.
When you exit DOS, the two are again interchanged, which brings your program back and saves the DOS menu where it can be re-used.
If you haven’t done much with the Atari, this may not seem too useful. However, if you are an old hand at waiting for DOS, this program might just make your day.
Some modifications that might be a good idea:
Right now, if you write the DOS files and try to use them, after you have patched them, you won’t be able to get to DOS (because nothing will have put the DOS menu up under the operating system). Perhaps a check if the files are already loaded would be in order.
Listing 1. 10 ; 20 ; SWAPDOS PROGRAM. 30 ; FOURTH ANNIVERSARY SPECIAL FOR 40 ; CREATIVE COMPUTING'S OUTPOST: ATARI 50 ; 60 ; WORKS WITH ATARI DOS 2.0S -ONLY-. 70 ; 80 ; NOT PARTICULARLY COPYRIGHT 90 ; BY DAVE SMALL, OR ANYONE ELSE. 0100 ; 0000 0110 *= $4000 ; HARMLESS AREA. MIDDLE OF NOWHERE 0120 ; =0000 0130 NONXL = 0 =0001 0140 XL = 1 0150 ; 0160 ; YOU MUST SET "VERSION" TO SELECT ROLL RAR AT 0170 ; 0000 OR 1000. 0180 ; =0001 0190 VERSION = XL 0200 ; -------------------------------- 0210 ; SEGMENT #1. MOVE DUP PACKAGE TO 0220 ; O.S. RAM. 0230 ; 0240 .IF VERSION=XL =D301 0250 PORTB = $D301 ; OS CONTROL =E000 0260 OSRAM = $E000 0270 .ELSE 0280 OSRAM = $8000 ; DEBUG ONLY 0290 .ENDIF =D40E 0300 NMIEN = $D40E ; VBLANK NMI ON/OFF =D400 0310 DMACTL = $D400 ; HARDWARE DMA CTL 0320 ; ENTRY POINT FROM DOS -L-OAD COMMAND 4000 0330 COPYDOS 0340 ; SWITCH OFF INTERRUPTS. TURN ON O.S. RAM. 4000 A900 0350 LDA #$00 4002 4D0BD4 0360 STA NMIEM ; CUT OFF VBLANK NMI'S 4005 70 0370 SEI ; CUT OFF IRQ'S 4006 A900 0380 LDA #0 4000 0D00D4 0390 STA DMACTL =0001 0400 .IF VERSION=XL 4000 AD0101 0410 LDA PORTB 4001 29FE 0420 AND #$FE ; LOWEST BIT "OFF" RAM ON 4010 0D01D3 0430 STA PORTB 0440 .ENDIF 0450 ; NOW BLOCKMOVE DUP AREA TO OS RAM 0460 ; DO COPY: (ENTRY POINT FOR ANOTHER PAGE) =1D7C 0470 DUPSTART = $1D7C ; START OF DUP 0480 ; (ENTRY POINT TO COPY ANOTHER 256) 4013 0490 NUTHR256 4013 A200 0500 LDX #0 ; PAGE POINTER 0510 ; (ENTRY POINT IN 256-BYTB COPY) 4015 0520 COPYLOOP 4015 0D7C1D 0530 FROM LDA DUPSTART,X ; FETCHEE 4018 9D00B0 0540 TO STA OSRAM,X ; PLACEEE 401B E8 0550 INX 401C D0F7 0560 BNE COPYLOOP ; WHIRR.. UNTIL 256 DONE 0570 ; OKAY. INC LDA/STA. AND ARE WE DONE? 401E EE1740 0580 INC FROM+2 ; CHANGE "LDA" INSTRUCTION ADDRESS 4021 EE1A40 0590 INC TO+2 ; CHANGE "STA" INSTRUCTION ADDRESS 4024 AD1740 0600 LDA FROM+2 4027 C934 0610 CMP #$34 ; DUP ENDS AT $3305 SO THIS IS OVERKILL 4029 D0E8 0620 BNE NUTHR256 0630 ; WE IS DONE. SWITCH OS RAM OFF, TURN ON INTERRUPTS. WAVE 0640 ; SYESTE AT THE PRETTY CAMERA. =0001 0650 .IF VERSION=XL 402B AD01D3 0660 LDA PORTB 402E 0001 0670 ORA #$01 ; LOWEST BIT "ON": RAM OFF 4030 0D01D3 0680 STA PORTB 0690 .ENDIF 4033 A940 0700 LDA #$40 4035 AD0ED4 0710 STA NMIEN ; ENABLE NMI'S 4038 58 0720 CLI ; ENABLE IRQ'S 4039 60 0730 RTS ; RETURN TO DOS AT END OP LOAD SEGMENT 0740 ; CODE TO FORCE DOS LOADER TO DO THIS BLOCK COPY RIGHT NOW 403A 0750 *= $02E2 ; DOS INIT ADDRESS 02E2 0040 0760 .WORD COPY DOS 0770 ;-------------------------------------- 0780 ; SEGMENT 2. PATCH TO DOS 2.0S TO TELL IT MEM.SAV FILE 0790 ; IS OUT THERE. 02E4 0800 *= $1873 ; DOS 2.0S "MEMSVQ" LABEL 1873 A001 0810 LDY #1 ; SETS "POSITIVE" FLAG (HOT MINUS) 1875 60 0820 RTS ; THAT'S ALL. POLKS 0830 ;------------------------ 0840 ; PATCH TO DOS 2.0S TO TELL IT TO JUST RUN 0850 ; DUP IN MEMORY AT DUP ENTRY POINT VS. TRYING TO LOAD 0860 ; DUP.SYS OFF OF DISK. 0870 ; IN THE "FINAL" LABEL 1076 0880 *= $17F7 17F7 4C7520 0890 JMP $2075 ; DUP USUAL ENTRY POINT 0900 ;------------------------ 0910 ; SEGMENT 4. PATCH TO DOS 2.0S "WRITE MEMORY TO MEM.SAV" 0920 ; CODE. THIS JUST SWAPS THE DUP AREA AND THE O.S. RAM. 17FA 0930 *= $1746 ; DOS 2.0S "MWRITE" LABEL 0940 ; (ENTRY POINT FROM "LOAD IT BACK FROM MEM.SAV FILE..") 1746 0950 SWAPIT 0960 ; TURN OPP NNI'S AND IRQ'S. 1746 A900 0970 LDA #0 174A AD0ED4 0980 STA NMIEN 174B 70 0990 SEI 1000 ; LDA #0 ;AHLSTROM MEMORIAL FIX 174C 0D0004 1010 STA DHACTL =0001 1020 .IF VERSION=XL 174F AD01D2 1030 LDA PORTB 1752 29FE 1040 AND #$FB ; LOWEST BIT "OFF":RAM ON 1754 AD01D3 1050 STA PORTB 1060 .ENDIF 1070 ; RESET POINTERS 1757 A91D 1080 LDA #DUPSTART/256 1759 406017 1090 STA SFROM1-2 175C 4D7217 1100 STA STO1-2 175F A9B0 1110 LDA #OSRAM/256 1761 8D6F17 1120 STA SFROM2-2 1764 8D7617 1130 STA STO2-2 1140 ; SWAP THE TWO UNTIL 03400.. 1150 ; (ENTRY POINT TO SWAP ANOTHBR 256) 1767 1160 SWAPLOOP 1767 A200 1170 LDX #0 ; INDEXER 1180 ; (ENTRY POINT WHILE SWAPPING 256) 1769 1190 SWAP256 1769 0D7C1D 1200 SFROM1 LDA DUPSTART,X ; FETCH A RAM BYTE INTO "Y" 176C A0 1210 TAY 176D 0000B0 1220 SFROM2 LDA OSRAM,X ; FETCH AH OS BYTE 1770 9D7C10 1230 STO1 STA DUPSTART,X ; STORE OS BYTE INTO RAM 1773 90 1240 TYA ; RECOVER OLD RAM BYTE FROM "Y" 1774 9D00B0 1250 STO2 STA OSRAM,X ; STORE RAM BYTE INTO OS 1777 E4 1260 INX 1778 D0EF 1270 BNE SWAP294 1280 ; DONE WITH 256. INC POINTERS. 177A EE6B17 1290 INC SFROM1+2 177D EE6F17 1300 INC SFROM2+2 1780 EE7217 1310 INC STO1+2 1783 EE7617 1320 INC STO2+2 1330 ; TEST IF DONE .. AT #3400? 1786 AD6B17 1340 LDA SFROM1+2 1789 C934 1350 CMP #34 178B D0DA 1360 BNE SWAPLOOP 178D 4C4219 1370 JMP BYEBYE ; ALL DONE; EXIT. 1380 ;---------------------------------------- 1390 ; SEGMENT 5. PATCH TO DOS 2.0S LDMSM1 LABEL. WHICH 1400 ; LOADS FROM MEM.SAV INTO RAM. ALL WE DO IS SWAP 1410 ; THE TWO RAM'S. SO JUST JMP TO OTHER LABEL. 1790 1420 *= $193F ; LOMEM1 193F 4C4417 1430 JMP SWAPIT 1440 ; 1450 ; THIS CODE MOVED TO HERE BECAUSE 1460 ; WE'RE OUT OF ROOM IN "MWRITE" AREA. 1470 ; 1942 1480 BYEBYE 1490 ; OS AND RAM AREAS ARE SWAPPED. EXIT, STAGE LEFT. =0001 1500 .IF VERSION=XL 1942 AD01D3 1510 LDA PORTB 1949 0901 1520 ORA #$01 ; LOWEST BIT "ON"; RAM OFF 1947 4D01D3 1530 STA PORTB 1540 .ENDIF 1550 ; 1944 A940 1560 LDA #$40 194C 4D0BD4 1570 STA NMIEN ; NMI'S BACK ON 194P 9D 1580 CLI ; IRQ'S BACK ON 1950 A001 1590 LDY #1 ; STATUS - "ALL IS SWELL" 1952 40 1600 RTS 1610 ;------------------- 1620 ; END OF CODE. 1953 1630 END
Listing 2. 50 REM -- XL VERSION -- 100 OPEN #1,0,0,"D1:SWAPDOS.OBJ" 110 TRAP 200 120 READ X 130 PUT #1,X 140 GOTO 120 200 CLOSE #l 210 STOP 1000 DATA 255,255,0,64,57,64,169,0,141,14 1010 DATA 212,120,169,0,141,0,212,173,1,211 1020 DATA 41,254,141,1,211,162,0,109,124,29 1030 DATA 157,0,224,232,208,247,238,23,64,230 1040 DATA 26,64,173,23,64,201,52,208,232,173 1050 DATA 1,211,9,1,141,1,211,169,64,141 1060 DATA 14,212,88,96,226,2,227,2,0,64 1070 DATA 115,24,117,24,160,1,96,247,23,249 1060 DATA 23,76,117,32,70,23,143,23,169,0 1090 DATA 141,14,212,120,141,0,212,173,1,211 1100 DATA 41,254,141,1,211,169,29,141,107,23 1110 DATA 141,114,23,169,224,141,lll,23,141,118 1120 DATA 23,162,0,189,124,29,169,189,0,224 1130 DATA 157,124,29,152,157,0,224,232,208,239 1140 DATA 230,107,23,238,111,23,230,114,23,238 1150 DATA 110,23,173,107,23,201,52,200,210,76 1160 DATA 66,25,63,25,02,25,76,70,23,173 1170 DATA 1,211,9,1,141,1,211,169,64,141 1180 DATA 14,212,88,160,1,96,0
Listing 3. SO REN -- NON XL VERSION -- 100 OPEN #1,0,0,"D1:SWAP000.OBJ" 110 TRAP 200 120 READ X 130 PUT #1,X 140 GOTO 120 200 CLOSE #1 210 STOP 1000 DATA 255,255,0,64,41,64,169,0,141,14 1010 DATA 212,120,169,0,141,0,212,162,0,109 1020 DATA 124,29,157,0,128,232,208,247,238,15 1030 DATA 64,238,18,64,173,15,64,201,52,208 1040 DATA 232,169,64,141,14,212,88,96,226,2 1050 DATA 227,2,0,64,115,24,117,24,160,1 1060 DATA 96,247,23,249,23,76,117,32,70,23 1070 DATA 135,23,169,0,141,14,212,120,141,0 1080 DATA 212,169,29,141,99,23,141,106,23,169 1090 DATA 128,141,103,23,141,110,23,162,0,189 1100 DATA 124,29,168,109,0,120,157,124,29,152 1110 DATA 157,0,128,232,208,239,238,99,23,236 1120 DATA 103,23,238,106,23,230,110,23,173,99 1130 DATA 23,201,52,200,218,76,66,25,63,25 1140 DATA 74,25,76,70,23,169,64,141,14,212 1150 DATA 88,160,1,96,0
Photo: Figure 1.
Photo: Figure 2.
Photo: Figure 3.
Photo: Figure 4 (ommitted)
CREATIVE COMPUTING VOL. 11, NO. 7 / JULY 1985 / PAGE 90
Well, XEs are shipping in earnest now and STs are about to; it might soon be safe to posit that Atari is back on the track. One of the things I am happiest to see from the born-again folks this second time around is strong and serious user group support. After all these years. Atari has finally realized the importance of their user groups nation- and worldwide, and seems to be making an effort to connect with them.
I was most impressed to see that the ST series made its hands-on debut within selected user groups, and that Jack Tramiel took one to a meeting of the notoriously hard-nosed Boston Computer Society for a good natured roast. My old friend Neil Harris of Atari Explorer has made a superb effort to extend telecommunicative user support online and has made Atari’s presence consistently felt both on the CompuServe Atari SIG and Creative Computing Online. After screaming myself hoarse years ago at the “old” Atari in this column and elsewhere, it is extremely gratifying to discover just how different the “new” Atari has attempted to be. Could someone have been listening?
It may seem as if we’re losing ground, what with DOS 3.0 now yielding to DOS 2.5, but in this case, a little backward movement has resulted in a great leap forward. Say hello to DOS 2.5, which offers the increased capacity of DOS 3.0 along with DOS 2.0 compatibility.
If you have a 1050 drive, DOS 2.5 will open up 1010 sectors per disk, as opposed to 707 under DOS 2.0, and you can read disks of either format from both versions of the DOS. Under DOS 2.0, tracks are blocked into 18 sectors each. Under DOS 2.5, fully 26 sectors are squeezed out of each track. Your 1050 drive can distinguish between format densities automatically at boot time.
Although DOS 2.0 ignores all sectors beyond its standard 707, if will read those sectors compatibly. More important, old format disks will read compatibility under DOS 2.5. This is where DOS 3.0, among other failings, was at its worst. Because of its incompatibility, DOS 3.0 never really caught on with 1050 owners.
Atari will ship DOS 2.5 with all new 5.25″ drives. But in tangible evidence of its attitude shift toward user group support. Atari has given David Duberman (late of Antic, now with Atari), the go-ahead to post DOS 2.5 and related files on the CompuServe Atari SIG. Obtaining 2.5 will cost only your connect time. To that I can only say “Bravo, fellas”!
When DOS 2.5 meets an Atari 130XE, however, the fireworks truly begin. One of the files present along with DOS 2.5 is a RAMdisk, which checks to see whether your drive is hooked up to a 130XE. If you are, DOS 2.5 defines the top half of RAM as “drive 8,” and allows it to function as a super-fast disk drive. The RAMdisk has a directory and 499 “sectors,” and you can use it along with regular disk drives without problems. The RAMdisk file copies DUP.SYS and MEM.SAV into RAM, and moves the DOS pointer so that DOS can be invoked at any time without disk access. Very handy indeed.
I first wrote under this subhead back in 1982, and the first rumor I ever reported was that Atari planned a Model 600. So the rule is to take this section with a grain of salt. Honest, dear readers, they really did plan a Model 600 at the time…
The first juicy one was reported by Dave Peyton on CompuServe, who had it that Jack Tramiel might be contemplating the purchase of Delphi, the online service belonging to General Videotex Corp. Seems number-one-son Leonard Tramiel spent fully three days meeting with Delphi brass up in Cambridge, MA, an “exceptionally lengthy” stay, according to Dave, merely to set up an Atari service on the network. If such a sale were to transpire, it could mean a much-needed boost for Delphi, which has struggled to make its service competitive with the likes of the Source and CompuServe.
At this juncture I’ll make a prediction: some day a truly flexible, inexpensive, and easy-to-use network for home users will appear—one that actually understands the needs and wants of its subscribers. That system will prevail in a dramatically short time. For the resource does not reside in the service, but in the users themselves. All they seek is the cheapest and best forum through which to get in touch with each other. If Jack wanted to turn his mind to that topic, he could make Delphi the pre-eminent home user’s network in a matter of months.
The next juicy rumor also appeared on CompuServe and was reported by John Edwards, the gist being that Atari may already have decided to scuttle its low-end models in both the 8-bit and 16-bit categories. His sources told him that plans to market the Atari 65XE and 130ST have been “permanently shelved.” Sounds pretty feasible.
We have noticed the almost negligible announced price differential between the 65 and 130 XEs ($40) and had doubted such a structure would make sound marketing sense. In the case of the 130ST, it is quite likely that the Macintosh, ST computers will require a minimum of 500K to be truly useful. Unlike Apple, Atari may not choose to release a low-power version of its new machine. In as far as it may be a decision to trim the product line to conserve precious monetary resources, we applaud the move. Damn the torpedos and full funding ahead for only the truly deserving models.
Edwards also reported, and I have subsequently confirmed, that Atari had without much explanation pulled out of Summer CES (the Consumer Electronics Show). Again one might at first thought assume this to be a cost-cutting move, as Atari’s presence at such events has in the past cost upward of six figures. But it could also presage a repositioning of Atari. In the past they have sat out of Comdex in favor of CES, thereby forsaking the business show for the home show. Now they have executed an about-face, and have decided to stake Comdex and let CES pass. Could it be that the Atari is really more than just a games machine?
But the heart-stopping Atari rumor of the month unexpectedly came over Kobe beef and Suntory with Kay Nishi (Mr. Microsoft Japan) in Tokyo. He had heard that a good many ST contracts with the Far East were on indefinite hold and guessed that meant severe monetary troubles for Atari—troubles that could end up scuttling all their best laid plans. After I had finished involuntarily blowing a bit of my drink out my nostrils, I ventured the hope that his sources overstated the case.
This weekend at my local dealer I logged my first flight time with a 130XE and overall was favorably impressed. The keyboard is unfortunately still far from perfect—it feels slightly rubbery, and travel is actually somewhat excessive—you can press a key, think you’ve pressed the key, and not have registered a character. The RESET key is disturbingly near the break key and is as easy to press as any other key. I surely hope the ST sports a keyboard superior to this one.
But the RAMdisk system honestly works, and it is truly refreshing to have access to DOS at all times without lengthy disk accesses. Other programs also load neatly into the RAMdisk. Compatibility seems complete, and it is unlikely the need will arise for another software patch like the translator disk we saw when the 400/800 series gave way to the XL series (although you may find yourself using the original translator disk now and then). The machine worked flawlessly, with fine display quality, and the dealer reported only one unit D.O.A. out of a total of eight he had received over the past two weeks. His retail price: $149.95.
Let’s face it, Atarians. The default character set provided on the Atari is not the most beautiful thing in the world. Sometimes I get tired of it, and then I load a custom set. Listing 1 provides you with one of my favorites. It is fancy enough to seem special, while maintaining high legibility. Give it a try!
In addition to their participation in CompuServe and possible participation in Delphi, Atari now maintains its own bulletin board on one of the few Model 1450 XLDs ever built. There are now four lines available, so it is much easier to get through than it had been initially. The number is (408) 745-5308, and the BBS is up 24 hours a day.
Listing 1. 10 REM CUSTOM CHARACTER SET--FIRST 15 REM ATARI PROGRAM IN QUITE A WHILE 20 REM BY JOHN J. ANDERSON 25 REM (c) 1985 CREATIVE COMPUTING 30 REM ------------------------------ 35 REM THIS PROGRAM PUTS A NEW 40 REM CHARACTER SET INTO RAM 45 REM ------------------------------ 50 REM UPPER CASE IS LARGER AND MORE 55 REM HANDSOME--LOWER CASE HAS TRUE 60 REM DESCENDERS AND LOOKS A WHOLE 65 REM LOT BETTER THAN ROM SET. 70 REM ------------------------------ 75 REM THIS PROGRAM IS AVAILABLE FOR 80 REM DOWNLOAD ON CREATIVE COMPUTING 85 REM ONLINE--COMPUSERVE PCS-22. 90 REM ------------------------------ 100 MT=PEEK(106):GT=MT-8:POKE 106,GT:GRAPHICS 0 110 CROM=PEEK(756)*256:CRAM=BT*256:POKE 736,GT:? "MOVING DEFAULT SET FROM ROM TO RAM" 120 FOR N=0 TO 1023:POKE CRAM+N,PEEK(CROM+N):NEXT N:? :? "UPPER CASE NOW LOADING -":? "ABCDEFQHIJKLMNOPQRSTUVWXYZ" 130 FOR N=264 TO 471:READ A:POKE CRAM+N,A:NEXT N:? :? "lower case now loading -":? "abcdefghijklmnopqrstuvwxyz" 140 FOR N=776 TO 983:READ A:POKE CRAM+N,A:NEXT N 150 ? :? " HAPPY CREATIVE ATARI COMPUTING " 1000 DATA 60,102,102,126,102,102,102,0,124,102,102,124,102,102,124,0,60,102,96,96,96,102,60,0 1010 DATA 124,102,102,102,102,102,124,0,126,96,96,124,96,96,126,0,126,96,96,124,96,96,96,0 1020 DATA 60,102,96,100,102,102,60,0,102,102,102,126,102,102,102,0,60,24,24,24,24,24,60,0 1030 DATA 6,6,6,6,6,102,60,0,102,108,120,120,108,102,102,0,96,96,96,96,96,96,146,0 1040 DATA 99,119,127,107,99,99,99,0,102,118,126,126,110,102,102,0,60,102,102,102,102,102,60,0 1050 DATA 124,102,102,124,96,96,96,0,60,102,102,102,102,102,60,6,124,102,102,124,108,102,102,0 1060 DATA 60,102,96,60,6,102,60,0,126,24,24,24,24,24,24,0,102,102,102,102,102,102,60,0 1070 DATA 102,102,102,102,102,60,24,0,99,99,99,107,127,119,99,0,102,102,60,24,60,102,102,0 1080 DATA 102,102,60,24,24,24,24,0,126,6,12,24,48,96,126,0 2000 DATA 0,62,102,102,102,62,0,0,96,124,102,102,102,124,0,0,0,60,96,96,96,60,0,0 2010 DATA 6,62,102,102,102,62,0,0,0,60,102,126,96,60,0,0,28,48,124,48,46,48,0,0 2020 DATA 0,62,102,102,102,62,6,60,96,96,124,102,102,102,0,0,24,0,56,24,24,60,0,0 2030 DATA 12,0,12,12,12,12,12,120,96,96,108,120,108,102,0,0,56,24,24,24,24,60,0,0 2040 DATA 0,102,127,127,107,99,0,0,0,124,102,102,102,102,0,0,0,60,102,102,102,60,0,0 2050 DATA 0,124,102,102,102,124,96,96,0,62,102,102,102,62,6,6,0,124,102,96,96,96,0,0 2060 DATA 0,62,96,60,6,124,0,0,24,126,24,24,24,14,0,0,0,102,102,102,102,62,0,0 2070 DATA 0,102,102,102,60,24,0,0,0,99,107,127,62,34,0,0,0,102,60,24,60,102,0,0 2080 DATA 0,102,102,102,62,12,120,0,0,126,12,24,48,126,0,0
CREATIVE COMPUTING VOL. 11, NO. 8 / AUGUST 1985 / PAGE 100
One of the most perplexing problems for Atari novices (and some experts, too) is the proliferation of disk drives and disk operating systems currently in use. Compatibility is the basic question, and although I know that many of you have your disk systems up and running, I also know that there are probably just as many who would like to upgrade, but don’t know where to begin. So let’s find out.
There are three types of disk drive for Atari computers. The 810, Atari’s original release, is a single density drive that offers 18 sectors per track and 128 bytes per sector. With 720 sectors per disk, it has a capacity of 92,160 bytes.
The 815 is a double density drive that offers 18 sectors per track and 256 bytes per sector. It has the same 720 sectors per disk and a capacity of 184,320 bytes. The 815 was announced but never released; nevertheless, many third party manufacturers adopted the 815 format, so it is quite popular, despite never having been released by Atari.
The 1050, Atari’s current model, is a “dual” (not to be confused with “double”) density drive with a capacity of 133,120 bytes in 1040 sectors. It has 26 sectors per track and 128 bytes per sector. Atari tells us that in this case, “dual density” really means “enhanced density.”
When it comes to actually using one or more of these drives, many people become confused because the 815 and the 1050 have dual personalities. Each has its native mode, but both can also be made to emulate the older 810. So, in general, the 815 and the 1050 can both read and write disks that work on the 810. Apart from the 810 mode, compatibility among the three drives is all but nonexistent (see Table 1).
On top of all this we have the confusion surrounding the various incarnations of DOS for the Atari. When Atari designed the 815, they created a new DOS called DOS 2.0, which could read both 810 and 815 disks. DOS 2.0 was set up to handle either the 128-byte, single density format of the 810 or the 256-byte format, double density format of the 815. In either format, it is restricted to 720 sectors.
Indus, Percom, and other third party manufacturers incorporated this true double density mode in their drives. Some supply their own DOSes, like SpartaDOS and MyDOS, to handle different sector sizes, but all are derivatives of DOS 2.0.
Then Atari released the 1050 with its completely nonstandard dual density mode and DOS 3.0—a slow, buggy operating system that cannot handle 815 formats.
Now, as we discussed last month, we have the new, improved, if somewhat retroactive sounding, DOS 2.5. Table 2 describes current DOS/drive compatibility. Two things are important to note. First, DOS 2.5 has no provision for handling 256-byte sectors. This means that there is no way to read true double density disks with third party drives using DOS 2.5. Likewise, if you have installed the US Doubler in your 1050 to make it truly double density, you will not be able to read double density disks with 2.5. I hope someone comes up with a patch soon.
Second, the 1050 has 1040 sectors. DOS 2.0 is limited to 720 sectors. Hence, you will be able to use only 720 of the 1050 disk sectors if you use DOS 2.0 with the 1050.
In addition to redressing the shortcomings of DOS 3.0, DOS 2.5 compensates for some of the design flaws in the 1050 drive. It is cleverly designed to allow you to transfer information between an 810 format disk and a 1050 disk. How? DOS 2.5 ensures that all files in the “extra” sectors (sectors 721-1040) are set apart by themselves. Thus, when you copy a 1050 disk onto a 810 disk, only the files that fit are transferred.
DOS 2.5 also supplies a new DOS menu option: P to format disks in single density (or 810) format. If you format a disk using the normal I option, you will get 1050 format; if you use the P option, you get 810 format. So, you see, the operating system automatically compensates for the split personality of the 1050.
(Note for beginners using double density: If you get an Error 139 or Error 143 message, your drive is probably in a different density than the operating system thinks it is in. For example, the drive might be sending 256-byte sectors to a computer expecting 128-byte sectors. There are various methods, depending on the DOS and drive involved, for making sure they match. DOS XL, for example, with Percom, Indus, and ATR-8000 drives includes a utility called CONFIG, which forces the drive into the correct density.)
DOS 2.5 also comes with a utility, called COPY32.COM, designed to copy files from DOS 3 format to 2.5 format. To use it, get to the DOS menu (type DOS from Basic) and then type L to load a binary file. Next, type the binary file name COPY32.COM and follow the directions that appear.
Another utility, SETUP.COM, loaded as above, tells the operating system how many drives you have connected, how many file buffers you want open, and so on, in a friendly, menu-driven format. With DOS 2.0, you had to do some bizarre peeks and pokes to accomplish the same thing.
The FIXDISK utility that comes with 2.5 is not the old Atari Disk Fixer, which was a powerful super zap utility that beginners found perplexing. Rather, it is a friendly way to do things that beginners often need to do to disks, such as unerase them.
The last supplied utility is called RAMDISK, which sets up Drive 8 as a RAMdisk in the extra memory of the 130XE—if you have a 130XE. If you have RAMDISK.COM on your disk when you boot up with DOS 2.5, the disk will load automatically. At that point, D8: is a high speed disk drive, simulated in the extra 64K of memory in the 130XE. It has 499 free sectors available. When initialized, the RAMDISK gives you a “fast load” into the DOS menu and a free MEM.SAV, which prevents you from losing what you were doing when you typed “DOS.”
Note: One “design feature” (bug?) of the RAMdisk is that you cannot “duplicate disk” into it. I gives no warning; it just doesn’t work. You must use C(opy) *.* instead.
Remember that the RAMdisk has only 64K of memory available and that a standard Atari disk has much more than that. If your disk is more than two-thirds full, it will not fit entirely into RAMdisk. Keep this in mind when you see the Disk Full message.
Now that you have a good working knowledge of the idiosyncrasies of Atari disk drives, let’s take a look at another minor problem that sometimes plagues new users. If you have one of the new XL/XE machines, your computer has Basic built in (the older Ataris did not). Basic is what comes up when you turn the machine on unless you specifically tell it you want something else by holding down the Option key when you switch the machine on.
Why would you not want Basic? Well, because many programs will not work when Basic is present; both Basic and the program try to use the same section of memory. So, if you buy a program and can’t get it to load properly, try disabling Basic.
If it still doesn’t work, you might need a Translator disk—a copy of the old operating system that came with the 400/800 machines, the machines for which a great deal of the software currently available was written. The Translator disk allows your software to believe that it is being loaded into an Atari 400 or 800.
How can you get a Translator disk? Probably the best way is from a user’s group. Call David Duberman at Atari (408-745-5405), and ask him for the name of a user’s group in your area. Most active user’s groups have copies of Translator and will be happy to share with you.
If even Translator doesn’t get your program up and running, check to see whether the software uses joystick ports 3 and 4, which were built into older machines but have been omitted from the XL/XE series. Atari Asteroids is an example of this.
I hope these tips will give beginners and old hands alike a better understanding of Atari disks and DOSes and keep you all computing creatively until next month.
|810||Yes||In 810 mode||In 810 mode|
|815 in 815 mode||No||Yes||No|
|815 in 810 mode||Yes||No||No|
|1050 in 1050 mode||No||No||Yes|
|1050 in 810 mode||Yes||No||No|
|Disk Format||DOS 2.0||DOS 3.0||DOS 2.5|
|815 in 815 mode||Yes||No||No|
|815 in 810 mode||Yes||Yes||Yes|
|1050 in 1050 mode||Yes||Yes||Yes|
|1050 in 810 mode||Yes||Yes||Yes|
CREATIVE COMPUTING VOL. 11, NO. 9 / SEPTEMBER 1985 / PAGE 115
The annual summer Consumer Electronics Show has traditionally been the site of a flurry of new product announcements, but careful observers know the difficulty in sorting the products that will really turn up on dealer’s shelves in time for Christmas from those that will be just a faded memory come next Groundhog’s day. Even a relative newcomer to Atari can take heed from the example of the 65XE, the 65XEP, the 130ST, the 7800 game machine, and the 1450XL. But real veterans remember that the history of Atari vaporware stretches clear back to the 815 dual disk drive, which we were told in 1981 was “due in the third quarter” (though in all fairness, the year wasn’t specified).
Since our Fuji friends have been replaced by J. Tramiel and Sons, the pace of now-you-see-it, now-you-don’t has picked up considerably, beginning with the controversy over whether Atari was even going to attend this year’s CES. First came the word that they had withdrawn, leading to a wide range of speculation. Did Atari want to change its image as a consumer (read: “games”) company? Was the new ST line in trouble? Or did the cost-conscious Mr. Tramiel just want to save himself half-a-million bucks and book his orders from the comfort of a Chicago hotel suite? At the last minute Atari announced that it was back in the show, leading to more speculation. Was J. T. just trying to get a bargain rate for exhibit space by threatening a no-show? Did he do it to throw his competitors off guard by playing possum?
Whatever the reason, Atari did show up at CES, though its exhibit was a mere shadow of its former self. Instead of a huge display area with row after row of 2600 game machines, each showing a different new video game, the new Atari was stuck in a 20 by 20 meeting room, containing one 2600 machine, one 5200, a couple of 130XEs, a 520ST, and a 260STD. A 260STD? Of course! What would a CES be without another Atari mutant to show off? The 260 was said to be the prototype of the mass market version of the ST line. Those of you following Atari’s marketing plans will remember that the 520ST is to be sold by computer specialty retailers only, in a bundled system including monitor and disk drive, for $800.
But while specialty stores can offer service and support, they can’t order 50,000 pieces at a time as K-Mart can. The 260ST was created to pique the interest of the mass merchants, who so far have been less than eager to get involved with the ST line. The model shown, the 260STD, has 256K RAM, the GEM operating system in ROM, and a built-in 3.5″ disk drive, and fits in a keyboard unit small enough to stock on dealers shelves. The projected price of this unit is $500 ($400 without the disk drive).
This, of course, stirs up the old GEM-on-ROM controversy. At first, Atari announced that the GEM OS would appear in ROM, freeing up nearly the whole 512K of RAM for applications. As the release date of the computer approached, however, Atari announced that the first units would have GEM on disk (because it had not been completely debugged, and because the current version could not fit in 192K of ROM). This reduced the usable RAM in the 520 by over 200K. Then, Atari officials stated that GEM might never be in ROM on the 520—that might be left to yet another mode. If that was the case, though, the 260ST with GEM on ROM would have almost as much free RAM as the 520ST with a disk-based GEM (so much for product differentiation). This controversy appears to have been laid to rest, at least for the moment, by Sam Tramiel’s announcement that Atari will try to have GEM on ROM by the fall, that every 520 ST will include sockets for those ROMs, and that 520 owners will be able to purchase the GEM ROMs when available for a “nominal fee.”
Atari also gave a demonstration at CES of one of the most intriguing peripherals shown in many a year. Elsewhere in this issue, you will find a discussion of the compact audio disk that looks like a teeny silver 45 record and plays an hour of music per side with incredible fidelity. These discs can be used to store incredible amounts of computer data. Atari, in conjunction with a company called Activenture, is developing a device known as a CD ROM. Activenture’s vice president of engineering, Tom Hollander, was at the Atari booth demonstrating a prototype model of a disc-player that was hooked up to a 520ST. Using the computer, he was able to access all of the information contained in a 20-volume encyclopedia that was stored on part of a single disc.
In fact, the text of the encyclopedia and a special index took up only a quarter of the disk space, leaving room for 3500 full-screen, high-resolution illustrations to be added later. As Mr. Rollander explained, the easiest way to increase the storage density of a magnetic disk is to make the head that reads the information smaller. The “read head” on a CD is a beam of laser light, and you can’t get much smaller than that. As a result, a single disc can hold 500Mb of data. To bring that staggering figure down to something that an 810 owner can comprehend, that is the equivalent of about 5932 single-density disks. Moreover, since a laserdisc is not a magnetic medium, you don’t have to record every single byte of data sequentially with a magnetic head. Instead, the whole disc is stamped out at one pass, like an old vinyl record. In volume, the cost of reproducing a single disc that contained every piece of Atari software ever written would be about 75 cents.
With a base of information this vast, the crucial question is how quickly a particular bit of data can be located. With the system demonstrated by Atari, the answer is very fast indeed, due to a special indexing technique. Using large mainframes, Activenture located every unique word in the encyclopedia and formed a pointer to the location of that word within the text. The mainframe then sorted each word and its pointers alphabetically. The result is 60Mb of index, pointing into 58Mb of encyclopedia text. Because the index is in alphabetical order, finding any given reference is a matter of a simple binary search.
Using this technique, Rollander was able to find every reference to the word toothache in the entire encyclopedia in less than three seconds.
Searches of phrases involving more than a single word took only a few seconds longer. The software demonstrated allows the user to browse through the whole encyclopedia, easily moving forward or back by line, paragraph, page, article, subheading, or volume. In addition, it allows the user to search for a word or phrase by article title, text, or bibliography, and to look for words or parts of words that are next to each other, within a certain number of words of each other, or in the same paragraph or article.
Although the system shown looked fairly experimental, Atari officials stated that it might be available as early as this fall. And though similar CD ROM players have been selling in the range of $2000, Atari appears to believe that they may be able to market one for about $500. Even if this is just a case of misplaced optimism, CD ROM technology is something to keep your eye on.
Support for Atari computers from third parties has been soft recently, but there were some encouraging signs at the show. Batteries Included, traditionally a Commodore-oriented outfit, has come up with a beautiful version of their Paperclip word processor, geared specifically to the Atari. And while others were waiting for Atari to come out with its promised 80-column card/monitor, BI has forged ahead with an 80-column adapter in the form of a cartridge that plugs into the XL or XE, making use of the parallel bus. The prototype they displayed was about the size of a normal game cart, and worked like a champ. This product should be available later in the year, at a cost of $79.95 (“80 columns for 80 bucks” is their motto), and efforts are under way to support the hardware with revisions of Hometerm and Paperclip, as well as with cooperative ventures with other software houses.
Even at the Commodore booth, I saw signs of hope. A company called Digital Vision was showing a video digitizer system on the Commodore 64. This compact unit will sell for $130. It takes composite video from any source (such as a camera or VCR) and converts it to a digitized computer display. “Is it available for any other computers,” I asked? “Yes, it should be ready for the Atari in about two weeks” came the reply.
Firm Mentioned In This Column
17875 Sky Park N., Suite P
Irvine, CA 92714
CREATIVE COMPUTING VOL. 11, NO. 10 / OCTOBER 1985 / PAGE 112
In the July Outpost, John Anderson created a program that changed the Atari default character set into a more pleasant, more readable character set. From that beginning, I developed some improved code that installs the font, making it the default character set at boot time, in AUTORUN.SYS file format. Complete instructions are to be found in the program itself, which appears as Listing 1.
Of course, to make a successful installation you must also have a copy of John’s original program. For an introduction to character sets, take a look at the January 1982 Outpost column.
Listing 2 is a subroutine utility that will set up a GR.7+ screen and allow you to create a 160 × 192 GR.7+ screen and to plot or draw lines in the entire available screen area.
To plot or draw a line, you must have your X and Y coordinates stored in the variables XP and YP. To plot a point, you then must GOSUB to line 30000. To draw a line, you should GOSUB 31000.
To set up the GR.7+ screen, all 54 values in the data statements can be put in a string, or page 6, or wherever else you might like, and called up with a USR statement. The routine will change only a GR.8 screen to GR.7+, so make sure that you issue a GR.8 or GR.8+16 command before invoking the USR call.
Listing 3 is a sample program that creates an interesting full-screen display on the GR.7+ screen. Simply enter this program along with Listing 2, and you are up and running.
I hope you enjoy exploring these programs as much as I enjoyed putting them together for you. For those who want to avoid typing drudgery, the three of them are available for download through Creative Computing Online, via CompuServe (type GO CRE). I first “met” John Anderson there, and find that the Online arm of Creative is at least as exciting as the print version. You can easily get in touch with either of us on CompuServe. My ID is 75056, 1 527, and John’s is 76703,654. Please feel free to send us your comments, improvements, and new ideas. So long now, and catch you online.
Listing 1. 4000 REM * 4010 REM * INSTALL.UPG 4020 REM * by Rich Whitsell 4030 REM * 4040 REM * This program will create 4050 REM * a program which will load 4060 REM * John Anderson's new 4070 REM * character font upon 4080 REM * loading. 4090 REM * All you do is ENTER this 4100 REM * program after FONT.UPG 4110 REM * is loaded. After the 4120 REM * first program runs, this 4130 REM * program will create a 4140 REM * file on your disk called 4150 REM * FONT.SYS, which you can 4160 REM * rename to AUTORUN.SYS. 4170 REM * When you call up the DOS 4160 REM * menu, the routines that 4190 REM * handle RESET and other 4200 REM * functions are erased, so 4210 REM * RESET and the character 4220 REM * set are set to default. 4230 REM * To get the new font back, 4240 REM * you have to re-boot. On 4250 REM * programs such as Atari- 4260 REM * Writer you won't need to, 4270 REM * of course. 4260 REM * If you hold down the 4290 REM * START button while press- 4300 REM * ing RESET, the default 4310 REM * character set is put back. 4320 REM * If you have any problems 4330 REM * or questions, drop me a 4340 REM * line on CompuServe. My 4350 REM * ID is 75056,1527 4360 REM * 5000 ? "PRESS START TO MAKE FONT.SYS" 5010 IF PEEK(53279)<>6 THEN 5010 5020 OPEN #1,8,0,"D:FONT.SYS" 5030 RESTORE 10000 5040 FOR X=0 TO 5:READ V:PUT #1,V:NEXT X 5050 FOR X=0 TO 95:READ V:PUT #1,V:NEXT X 5060 FOR X=96 TO 255:PUT #1,0:NEXT X 5070 CBASE=PEEK(756)*256 5080 FOR X=CBASE TO CBASE+1023 5090 V=PEEK(X):PUT #1,V:NEXT X 5100 PUT #1,224:PUT #1,2 5110 PUT #1,225:PUT #1,2 5120 PUT #1,0:PUT #1,31 5130 CLOSE #1 5140 ? "FONT.SYS IS NOW ON THE DISK" 10000 DATA 255,255,0,31,255,35 10010 DATA 165,10,141,93,31,165,11,141 10020 DATA 94,31,165,12,141,57,31,165 10030 DATA 13,141,58,31,169,77,133,10 10040 DATA 169,31,133,11,169,56,133,12 10050 DATA 169,31,133,13,169,0,133,128 10060 DATA 141,231,2,169,36,133,129,141 10070 DATA 232,2,169,32,141,244,2,96 10080 DATA 32,64,21,32,20,31,162,32 10090 DATA 173,31,208,201,6,208,2,162 10100 DATA 224,142,244,2,96,169,224,141 10110 DATA 244,2,173,57,31,133,12,173 10120 DATA 58,31,133,13,76,0,0,0
Listing 2. 30000 REM ** PLOT (XP, YP) ROUTINE 30010 IF YP>95 THEN 30030 30020 PLOT XP,YP:AP=XP:BP=YP:RETURN 30030 DMH=PEEK(89):POKE 89,DMH+15 30040 PLOT XP,YP-96:PP=XP:BP=YP 30050 POKE 89,DMH:RETURN 30999 REM 31000 REM ** DRAWTO (XP, YP) ROUTINE 31010 IF BP>95 THEN 31500 31020 IF YP>95 THEN 32000 31030 SWITCH=0 31040 IF SWITCH THEN DMH=PEEK(89):POKE 89,DMH+15 31050 IF SWITCH THEN BP=BP-96:YP=YP-96 31060 PLOT AP,BP:DRAWTO XP,YP 31070 IF SWITCH THEN BP=BP+96:YP=YP+96 31080 POKE 89,DMH 31090 AP=XP:BP=YP:RETURN 31500 IF YP>95 THEN SWITCH=1:GOTO 31040 31510 DMH=PEEK(89):POKE 89,DMH+15 31515 IF XP=AP THEN CHNGA=0:GOTO 31540 31520 SLOPE=(YP-BP)/(XP-AP) 31530 CHNGB=BP-96:CHNGA=CHNGB/SLOPE 31540 PLOT PP,BP-96:DRAWTO AP-CHNGA,0 31350 POKE 89,DMH 31555 IF XP=AP THEN CHNGX=0:GOTO 31570 31560 CHNGY=95-YP:CHN6X=CHNGY/SLOPE 31570 PLOT XP+CHNGX,95:DRAWTO XP,YP 31580 AP=XP:BP=YP:RETURN 32000 IF XP=AP THEN CHNGA=0:GOTO 32020 32005 SLOPE=(YP-BP)/(XP-AP) 32010 CHNGB=95-BP:CHNGA=CHNGB/SLOPE 32020 PLOT AP,BP:DRAWTO OP+CHNGO,95 32030 DMH=PEEK(89):POKE 89,DMH+15 32035 IF XP=AP THEN CHNGX=0:GOTO 32050 32040 CHNGY=YP-96:CHNGX=CHNGY/SLOPE 32050 PLOT XP-CHNGX,0:DRAWTO XP,YP-96 32060 POKE 89, DMH 32070 AP=XP:BP=YP:RETURN 32500 DATA 104,165,87,201,8,240,1,98 32510 DATA 169,7,133,87,173,48,2,133 32520 DATA 203,173,49,2,133,204,160, 32530 DATA 177,203,201,79,208,10,169,78 32540 DATA 145,203,200,200,200,24,144,240 32550 DATA 201,15,208,4,169,14,145,203 32560 DATA 200,192,199,208,227,96
Listing 3. 10 RESTORE 20 FOR X=0 TO 53:READ A 30 POKE 1536+X, A:NEXT X 40 GRAPHICS 8+16:X=USR(1536) 50 COLOR 2 60 FOR X=0 TO 159 STEP 3 70 XP=80:YP=96:GOSUB 30000 80 XP=X:YP=0:GOSUB 31000 90 XP=80:YP=96:GOSUB 30000 100 XP=179-X:YP=191:GOSUB 31000 110 NEXT X 120 COLOR 3 130 FOR Y=191 TO 0 STEP -3 140 XP=80:YP=96:GOSUB 30000 150 XP=0:YP=Y:GOSUB 31000 160 XP=80:YP=96:GOSUB 30000 170 XP=159:YP=191-Y:GOSUB 31000 180 NEXT Y:COLOR 1 190 FOR X=0 TO 159 STEP 3 195 XP=X:YP=0:GOSUB 30000 200 XP=159:YP=X*(191/159):GOSUB 31000 210 XP=159-X:YP=191:GOSUB 30000 220 XP=0:YP=(159-X)*(191/159):GOSUB 31000 230 NEXT X 240 GOTO 240
CREATIVE COMPUTING VOL. 11, NO. 11 / NOVEMBER 1985 / PAGE 90
After months of waiting for my new Atari 520 ST system, its arrival was almost anticlimactic. Although I reacted to the announcement of the machine in January with enthusiasm, during the long waiting period that followed, some of the initial optimism faded as the ever-present doomsayers spun their scenarios for disaster. It was true that Jack Tramiel, Atari’s new proprietor, had built Commodore into the premier survivor of the home computer wars, but along the way he had also acquired a reputation for announcing more products than he intended to deliver, for sacrificing quality for price, and for alienating computer retailers and third party software developers alike.
So while on paper the ST looked like a breakthrough new-generation product, there were still plenty of reasons to be cautious. As with any new computer product, the first units would undoubtedly have more problems and less software than more established machines. The price would no doubt be higher at first. So, as the waiting dragged on, it became easier and easier to wait.
Blasé as I was, I could not ignore that big stack of cartons for long. It contained my 520 ST, two single sided 3.5″ disk drives, and two monitors—a high-resolution black-and-white screen and an RGB color display. As I hooked up the system and turned it on, my disinterested facade quickly began to crumble. Since the operating system is not yet available in ROM, I had ample opportunity to check the transfer speed of the disk drive as it loaded TOS from disk. The ST loaded the entire 200K+ file in about 25 seconds. When it finished loading, I found the GEM desktop staring me in the face. For those of you unfamiliar with GEM, it is a user interface program which attempts to put a Macintosh face on antiquated computers like the IBM PC. It uses icons, “dropdown” menus, a mouse—the whole nine yards. I have used GEM on the PC, and I found the implementation on the ST to be identical, except for a couple of important differences.
First, the Atari monochrome monitor displays 640 × 400 pixels in living black and white, as opposed to the 640 × 200 resolution of the PC. Therefore, the display looks much better than that provided by the standard PC graphics adapter and, indeed, makes the ST a close rival to the Macintosh. The letters looked so big and blocky compared to the skinny little characters found on most displays that I had to count them to make sure that there were really 80 columns (there were).
Some of the screen clarity may stem from the large overscan area that leaves a thick border around the display, so that the actual display area is only about 9″ (diagonal) on a 12″ screen. While the color display has no worse resolution than that provided by the PC color card and much better color, the monochrome mode gives the ST real credibility in performing serious business applications which primarily display text.
The second difference was that on the ST, GEM looked like it was running about twice as fast as it does on the PC. Windows that would crawl open on the IBM burst open on the ST. I could feel the commencement of a slight elevation of the old blood pressure. Speed. Power. Lots of RAM. Fast disk drives. Maybe this ST was the breakthrough it was cracked up to be.
Unfortunately, the feeling of euphoria did not last long, as I realized that I had no way to put the ST through its paces. The only software I had was Logo—a version so slow that I wondered if the interpreter was written in Logo. The fact that I had sprung the $1700 to buy the developer’s package hardly made me any better off than the average buyer. Although the package came with development software like a C compiler and assembler, it was essentially useless out of the box, because the text editor needed for writing programs was to be sent out later separately by the manufacturer (apparently much later, since six weeks after getting the machine, I’m still waiting).
Moreover, the celebrated 6″ stack of documentation that comes with the development package turned out to contain more hints than answers. The bulk of the material consisted mainly of photocopies of Digital Research documentation that, though somewhat related to the machine, was by no means ST specific. These included a CP/M 68K manual and the full manual for development under GEM on the IBM PC. Only a few pages of the documentation actually came from Atari, including some sketchy material on the BIOS routines, the keyboard, printer codes, and a source code listing for the boot ROMs. Of the 1500 or so pages included, more material was devoted to the Kermit protocol file transfer program (250 pages) than to the ST.
With such modest development tools available, it is small wonder that application programs were not ready for early buyers of the machine. This is a real shame, because seeing the speed at which GEM desktop ran gave me an idea. If GEM ran at PC AT speed on the ST, how would programs such as GEM Write and GEM Draw stack up on the ST when compared to versions of the same software running on the AT? And if the ST ran applications at AT-speed, then what real difference in potential computing power would there be between the $1500 ST system with a hard disk and the $5000 AT system?
Although it may be that lack of software has caused me to wax philosophical, I can’t help feeling that if Atari had arranged to bundle these applications with the machines (or even provided them to dealers), many buyers would be able to make head-to-head comparisons that would cause them to ask some serious philosophical questions (like why is the sky Big Blue?).
In the end, I was reduced to discovering odd facts about the ST. For example, did you know that although the ST character set conforms fairly closely to the extended ASCII used on the IBM PC, it also includes the characters for the Atari Logo, the entire Hebrew alphabet, and a picture of a man smoking a pipe? Some people say that the picture of the man looks like Jack Tramiel himself, smoking a cigar, but I think it looks more like Hugh Hefner. By typing in the Logo programs in Listing 1, you can decide for yourself.
Even this idle exploration was not to last. After a few short hours of poking around, my ST started to act like it had eaten too much cotton candy and was looking for the men’s room. I started to get duplicate images of the Busy Bee icon all over the screen. Then, random dots started speckling the screen as if bees really were the cause of yellow rain. I knew the end was near when mushroom clouds began to appear. The more I rebooted, the faster the machine would crash, until finally I turned it on and nothing happened. Sure, I had had fun for a couple of hours, but I really didn’t feel as though I had gotten my money’s worth.
Fortunately, help was but a phone call away. Dialing into the SIG*Atari section of CompuServe (a hotbed of information about the new ST series), I discovered from a number of messages that I was not alone. A large percentage of the first batch of STs, it seems, had shown the symptoms I have described. In most cases, however, the problem was a minor one, caused by the chips coming loose in shipping. Some people had cured the difficulty by taking the cover off and pushing down on the chips, or by extracting and reinserting them. Others had straightened out the shielding, making sure that it did not short out the circuit board and soldering it into place when they were done. Even proceeding with extreme caution, I was able to complete the “repair” in somewhat less than an hour. Since then, my 520 has operated flawlessly.
Still, the problem that was a mere annoyance to me would have been far more serious if it had happened to someone who was afraid to touch the keyboard, let alone take the computer apart. Somehow, I can’t picture going into a store and hearing “Attention K-Mart shoppers. Over in aisle 10, there will be a short demonstration of Atari computer home repair.”
While the malfunctions encountered by ST owners do not rank with the terrible quality control problems that plagued Commodore products when that company was under Mr. Tramiel’s direction, they still must be dealt with. My suggestion to potential ST owners is that they buy their computers from a reliable dealer with a liberal replacement policy, and go so far as to have the dealer operate it at the store for a trial “burn-in” period to make sure that it works properly.
By the time you read this, the software shortage may be alleviated somewhat and the high ST failure rate may be just an ugly memory. When there are plenty of working STs in the field, running software that demonstrates their speed and power, we may have to run a column entitled “The Atari 520 ST: Good, Better, and Best.”
Listing 1. TO HEBREW MAKE "N 220 REPEAT 27 [TYPE CHAR :N TYPE CHAR 32 MAKE "N :N -1] END TO MAN TYPE CHAR 28 PRINT CHAR 29 TYPE CHAR 30 TYPE CHAR 31 END TO ATARI TYPE CHAR 14 TYPE CHAR 15 END
CREATIVE COMPUTING VOL. 11, NO. 12 / DECEMBER 1985 / PAGE 90
We are happy to report that although the Atari ST remains in short supply in some areas, the machines are now shipping in earnest. Sales will probably not meet the projections Atari made last summer, simply because most target dates were so badly missed, but the ST is selling. Our informal survey has also shown the machines to be highly reliable on the whole, with a very low return rate. The hardware is cast, and well cast. Now the story of the Atari ST series has become one of software.
One of the more interesting stories circulating at press time is that none other than AT&T, the widowed Ma Bell, is taking a close look at the ST, with an interest in the possibility of marketing the machine under its own label. This would indeed make for strange bedfellows, as they say, but the potential in such an arrangement would be quite strong. Atari would gain the infusion of cash it needs to capture a substantial market share, while AT&T would gain an extremely aggressively priced workhorse with eventual Unix capability. We’ll keep you posted.
Quality software for the machine remains a rare commodity, but professional software development seems to have reached a reasonable pitch, and it is fair to project that at least a dozen good titles will be available before the end of the year. These range from word processors, spreadsheets, and terminal packages to arcade and adventure games.
If you saw last month’s issue, you may have noticed that our computer image of Halley’s Comet was produced on an Atari ST. It was created with a beta test version of Degas, a superb menu-based ST graphics package from Batteries Included. The program allows for sophisticated graphic design in all three screen resolutions. In hi-res monochrome, it is quite reminiscent of MacPaint, while offering a full-screen window—something MacPaint cannot do. In lo-res and hi-res color, the package allows for crisp, clean displays without color bleed or “jaggies.”
We were impressed as it was, then called to find out where the retail price had been set. When Marty Herzog of Batteries told us it would cost only $39.95, we were floored. Degas sets an early standard for ST software price/performance: we can only hope its challenge of quality is met by the other packages soon to emerge for the ST from other developers.
We are disappointed to report that as of press time, ST Basic was still unreleased. We have it on unimpeachable authority, however, that the final wrinkles in the package are very nearly ironed out, and it will hit the streets “real soon now.” Fortunately, ST Logo is proving to be a very capable language, and grass root efforts in Logo are beginning to roll in.
One of them is from our friend Michael Squire and is reproduced here as Listing 1. It is a modified version of the animated dragon program by Jim Muller that originally appeared in our September 1984 Logo column.
This program and other ST programs are available on Creative Computing Online (PCS-22), as well as ATARISIG (PCS-132), via CompuServe. A couple of capable terminal programs are also available on the ATARISIG, but there is a Catch-22 involved—you need a download-capable terminal package to download a download-capable terminal package. The VT-52 emulator ST owners already have in TOS works just fine, but does not offer upload/download capability. Michael recommends PC/Inter Comm, from Mark of the Unicorn, which he used to put up his programs. It offers both capabilities under the popular error-checking protocol known as XMODEM.
If, by the way, you would like to communicate with Michael via CompuServe, his PPN is 75236,2640.
Where, you may justifiably query, is TOS in ROM, those six little chips that will free up all 512K RAM of the ST for better things than cacheing GEM from floppy disk? Well we are told by Atari that they have finally frozen the program modules, and that the ROMs themselves will be available in about six to eight weeks. Cost of the upgrade will be in the neighborhood of $20—very reasonable indeed. Once TOS is in ROM, the ST will boot up much faster, and have twice as much RAM available for the user. Atari has tried hard to make sure that the version of TOS it will burn into ROM is as capable and bug-free as possible. Hence the delay—understand?
I have already received several letters concerning my review of the Atari ST, most of it taking me to task for one or another of the negative comments at the tail end of my discussion. As a general reply, let me say that I did not mean to imply that GEM is in any way an inferior environment—simply that I found it to be inferior to that of the Macintosh. I am aware that because something works differently from the Mac, docs not automatically make it worse. I tried to sublimate my Mac habits when evaluating GEM and think that even those who are not familiar with the Mac would probably agree with the bulk of my evaluations, positive and negative. GEM represents a worthy effort, and if I did not state that clearly enough in my original review, I will state it here.
As for the fact that menus dropdown without the need to click, I assure you that the Macintosh approach, necessitating a click, is preferable. This is not just a matter of Mac habit—it is the smoother way to work things. I state in the original review that this is an error that could be easily corrected. I am not saying that GEM is full of bugs, or that it reflects shoddy programming. I just wish the designers would consider that “point-and-click” means you must click after you have pointed. Too many times have I dropped a menu I didn’t need. Call me a klutz, but I won’t back down on that one.
Then there was the matter of the power switch on the drives. I’ll admit it. It probably bothered me because I am out of practice with externally-powered disk drives. But wouldn’t it have been nice if there was even a tiny little power light on the front?
To those of you totally satified with the feel of the ST keyboard, yes, it is indeed a matter of taste. I like a keyboard with a harder feel. If you don’t, the ST keyboard is perfect for you.
Finally, on the matter of external power supplies: I realize that they allow the machine to run cooler and enable the ST to sport its rakish design. I have nothing against them in principle, other than the fact that they can be inconvenient. At least they don’t have their plugs grafted directly to the transformer box, like so many power adaptors we’ve seen. Those either hog two sockets or dangle precipitously over the power toggle when plugged into a power strip.
But the Atari ST power supplies are not of the sturdiest variety, and that concerns me. One of mine suffered a fall from the back of the desk to the floor and I heard something come loose as it hit. It still works, but now the power supply buzzes annoyingly when in use.
But hey, Atari fans, lighten up. okay? The ST is a terrific machine, and I said so—and will continue to say so. The eventual arrival of low priced, high quality software will prove the point.
Listing 1. TO PUFF.THE.DRAGON CS HT PU HOME SETBG 0 SETPC 3 START BODY NECK TAIL LEGS POINTS WINGS REPEAT 3 [CHEW CHEW CHEW BREATHE] END TO BODY HALFCIRCLE 8 FORWARD 8 RIGHT 90 FORWARD 90 BACK 90 END TO NECK RIGHT 180 REPEAT 15 [FORWARD S LEFT 10] REPEAT 12 [RIGHT 10 FORWARD 3] LEFT 60 HEAD SETH 0 FORWARD 5 LEFT 90 REPEAT 15 [TRI 4 FORWARD 4 LEFT 10] REPEAT 12 [TRI 4 FORWARD 4 RIGHT 14] END