ATARiWRiTER-80 AUXiliARy MENU
JEff McWilliAMS, AC CONTRibUTiNG AUThOR
Kudos For 80 Columns!
Having an 80 column display is really amazing. If you're doing all your 8-bit computing in 40 columns, it's hard to imagine what you'll gain by upgrading to 80 columns. Once you've made the switch to a really good 80 column setup you'll never turn back.
I've used simulated 80 column displays on the Classic Atari before. You know, where the computer goes into GRAPHICS 8 mode and uses teeny weeny letters to cram 80 of them horizontally onto the screen. Programs like Omnicom, Kermit-65, VT-10SQ, and Omniwriter use this. This type of software-generated 80 column dislpay turned me off.
Whereas simulated 80 columns is stuck with the 8-bit graphics resolution of 320x200, the XEP80 actually uses a 640x200 display. This results in well-defined, crisp text that's immediately recognizeable and and easy on the eyes. The XEP80 video signal is rock solid as well. There's no noise, blurs, smears, or fuzzies in the display, things you will experience on an unmodified XL. All this makes the XEP80 box from Atari orders of magnitude better than simulated 80 columns from your standard 40 column video output.
As you can see, I'm definitely hooked. In the December'92 issue of AC I presented a little program that allowed you to view and print GRAPHICS 7+ or 8 pictures with your XEP80. It's time once again to present a program that will further improve XEP80 computing.
AtariWriter 80 (ATW80) is one of only two wordprocessors designed to work with the XEP80 80-column display box. The other is Turboword+ from Micromiser Software. Of the two, only ATW80 supports expanded RAM, utilizing two of the 130XE banks- thereby allowing up to 45K of space for your document.
Unfortunately ATW80 is pretty DOS-unfriendly. Once you've loaded the program, there's no convenient way to exit back to DOS without rebooting your computer. The menu only lets you view directories on drives 1 and 2, and you can't view the contents of subdirectories when using SpartaDOS or MyDOS.
I found that I really loathed these inconveniences, and kept using Turboword+ for most of my wordprocessing needs. It was more DOS friendly, despite being more disk intensive than ATW80 and having only 20K of space to write my regular "Moonlight Workshop" column articles in. Well, life is never simple; something was bound to cross my path and make me think about ATW80 again. That "thing" was the 8-Bit Alchemist.
The good ole Alchemist is hooked on the XEP80 like me, but his word processing needs are different than mine. When he mutates into the Atari Classics Editor, having as big a text buffer as possible is a must. Every little thing that makes his job of editing this magazine faster and less painful is a necessity. For him, it was AtariWriter 80 or bust. He made it clear to me, in many ways, subtle and otherwise, that there just had to be a way to patch ATW80 to fix the problems mentioned above. After all, Craig Gaumer of LVAUG created a brilliant patch to AtariWriter Plus that did all of the above and more. If it was possible to patch AW+, who not ATW80?
Hardware Or Software?
I'm studying to be an Electrical Engineer, remember? It's easy for me as a "hardware person" to tilt my nose slightly in the upward direction, mumble "It's a SOFTWARE problem", and move on to more interesting things. Then came along Joe Sabatino, an Internet user who posted an interesting ATW80 modification done by George King.
George modified ATW80 to load something other than the Mail Merge module when you press "M" from the main menu. This could be DUP.SYS from AtariDOS or MyDOS, X32D.DOS from SpartaDOS, or XON2.COM from SpartaDOS-X. Well, for AtariDOS, this works fine. DUP.SYS loads and you can get disk directories and stuff, and then reload ATW80. For SpartaDOS, loading X32D.DOS or XON2.COM has the same effect as doing a coldstart. Doing a coldstart to exit ATW80 can be real annoying, especially if you're using a floppy based system. You have to wait for everything to reload, reinstall your RAMDISK handlers, and reinstall TSR programs like SUPERKEY, PROKEY or VPATH. What a pain!
George King's hack was okay, but it left room for improvement. The key element for me, however, was that George proved ATW80 could be modified to run something other than the Mail Merge module. It was a logical next step to suggest a new menu program be loaded instead of Mail Merge. Once you have a separate program loaded, you could do whatever you wanted: exit to DOS, view any disk drive, and any subdirectory, or anything else your heart desires. That's how the AtariWriter 80 Auxiliary Menu was born. This is a little program that does exactly what I described above.
Keep an eye peeled for a program called "AM. COM" on the October '93 AC Software Disk: this is the Auxiliary Menu. (Eager beaver-types can download it from commercial net works or your local BBS: look for AMCOM.ARC.) It actually has a dual purpose. It not only offers Directory and Exit To DOS features, it patches ATW80 without need for Disk Editors, Sector Editors, or a separate module to keep track of. Before you make any modifications to AtariWriter 80, make sure you are using a backup copy. Do NOT use your original AtariWriter 80 disk! There is no menu option for reversing the effects of the Auxiliary Menu modificaton.
Once you've made a backup copy of the Atariwriter 80 disk, use the DOS of your choice to copy AM.COM onto that disk. While still in DOS, activate the 80 column handler for the XEP80. For SpartaDOS-X users, type "CAR:XEP80.SYS". SpartaDOS 3.2d and MyDOS users can load the XEP80 screen handler from the XEP80 utility disk. Once you've got an 80 column display, insert your backup ATW80 disk into Drive l. (Hard drive and RAMDISK users can use whatever means available through DOS or hardware to make the ATW80 files and AM.COM available in the root directory of D1:.)
Next, load AM.COM. You should see the main screen of the Auxiliary Menu, presenting several options. One of those should be "C" for "Change AP.OBJ". Press "C" to make that selection. The Auxiliary Menu will print some explanatory information and then prompt you to continue. You can abort the procedure by pressing "N". If you give the okay, Auxiliary Menu will attempt to read, modify, and then rewrite the file "D1:AP.OBJ". Auxiliary Menu will print progress messages as it goes along. If any errors occur, the error will be printed to the screen, and the procedure will be aborted.
A New AtariWriter-80
If all went well, you should now have a working modified copy of ATW80. You can now reboot with your ATW80 disk in Drive 1. SpartaDOS 3.2d users do not load the standard XEP80 handler before loading ATW80. Rename the AUTORUN.SYS file on the ATW80 disk to AT.COM and load that from the D1: prompt. SpartaDOS-X users can load ATW80 with or without the XEP80.SYS handler loaded with "X AT [RETURN] ". Regardless of what DOS you use, the ATW80 main menu should appear. In place of the familiar "Mail Merge" selection you'll see "Move to Aux. Menu". That's how you'll enter the Auxiliary Menu.
Entering Auxiliary Menu from ATW80 will look exactly the same as loading AM.COM from DOS. Options "A" and "M" will only work successfully for MyDOS or SpartaDOS.
These options use the XIO 40 command, to load and run other binary files. This command doesn't seem to be supported by DOS 2.5 or other similar DOS's. ATW80 loads other modules regardless of which DOS is in use, so there must be a way. I'm looking into disassembling the AUTORUN.SYS file to see if it'll yield clues suggesting how to do this. As Auxiliary Menu gets further modified, you'll see revision updates appear on the AC Software Disk FIRST.
Option A doesn't seem to work properly with SpartaDOSX. Instead, choose Exit to DOS, and reload ATW80 from the command prompt using the "X AT.COM" command as before. SpartaDOS and MyDOS users can use the "A" command to return to AW80 and still have your edit buffer intact. Neat!
Using the M command to run the Mail Merge module results in various levels of success. In most cases, Mail Merge runs, but the Return to ATW80 option results in a system lock-up or reboot. As previously noted, ATW80 appears to have a strange way of moving from one module to another.
Drives 1 through 9 can be opened for a directory listing by simply typing number of the drive. This will result in a prompt requesting a "PATH>MASK". Simply hitting return will result in all files on that drive being displayed. Auxiliary Menu will recognize any directory path using the ">", "\", or ":" characters. If nothing follows these characters, "*.*" is assumed as the search mask. Auxiliary Menu will properly display the MyDOS directory listings that have 4-digit sector counts instead of only 3. If any errors occur while Auxiliary Menu is reading a directory, the error message will be printed, and you'll be returned to the main menu.
Note that if your subdirectory name has an extender, the extender won't be displayed in a listing of directory names under the main directory (ATW80 uses the extender area to tack on the identifier DIR in inverse characters). If you haven't recorded the subdirectory's extender somewhere, you'll get ERROR 150 if you try to open the subdirectory without typing its full name including the extender- which is "hidden" in both the Auxiliary Menu and ATW80. That's one of several oddities I'll be looking into for possible future improvements.
Exiting to DOS
Exiting to DOS basically does a RESET. Since ATW80 isn't running, the RESET vector is no longer trapped, so the computer properly returns you to DOS. Remember, if you loaded ATW80 from a 40 column screen, exiting to DOS will return to 40 columns. It's easy to get confused and continue to stare at the 80 column screen after selecting Exit to DOS, thinking nothing really happened. The SRAM buffer in the XEP80 will continue to hold and display the last screen of data even after the system has silently returned you to your 40 column DOS. If you're using the same monitor for both 40and 80-column displays and employing a switch (such as The Alchemist's "80-Column Switcher"), you'll see your 40 column DOS already waiting for you when you switch back to 40 columns.
Auxiliary Menu is still a bit rough around the edges, basically due to weirdness in the way ATW80 goes from one module to the other. Like the Alchemist's Super Video upgrade, further probing and prying needs to be done before Auxiliary Menu is truly complete.
In hardware alchemy you use oscilloscopes and voltmeters. In software alchemy you use disassemblers and machine language monitors/debuggers. Either way, there's magic to be done, and it always seems to happen by the light of a full moon.
[Editor's Note: wild rumors notwithstanding, it is patently untrue that The 8-Bit Alchemist threatened Mr. McWilliams with destruction by remote-controlled thermonuclear devices if this ATW80 patch wasn't written. I have it on good authority The Alchemist is rather a peaceable fellow and would never employ weapons more violent than, say, conventional chemical explosives. Rumors to the effect The Alchemist has been tinkering once again with video upgrades appear to be true, and the Editors are lookingforward to an "all-video"issue of AC later this year. BP]