| (((((((( | Z*Magazine International Atari 8-Bit Magazine | (( | --------------------------------------------- | (( | February 26, 1992 Issue #204 | (( | --------------------------------------------- | (((((((( | Copyright (c)1992, Rovac Industries, Inc. | | Post Office Box 59, Middlesex, NJ 08846 | (( | | (((((( | CONTENTS | (( | | | * The Editors Desk..........................Ron Kovacs | ((( ((( | * Rumbles, Rambles, Rumors.................Stan Lowell | (((( (((( | * Boot-up Menus.............................SG Wallace | (( (( (( (( | * Carolyn's Corner......................Carolyn Hoglin | (( (( (( | * Best Of Z*Mag:1987........................Ron Kovacs | (( (( | * Carina BBS Registration Form........................ | | * Structured Programming - Part 5........Michael Stomp | (( | * Electronic Gaming......................Press Release | (( (( | * CSS Super E-Burner......................Barry Gordon | (((((((( | * Digi-Studio......................................... | (( (( | | (( (( | ~ Publisher/Editor..........................Ron Kovacs | | ~ Contributing Editor........................John Nagy | (((((((((( | ~ Contributing Editor......................Stan Lowell | (( | ~ Contributing Editor........................Bob Smith | (( ((((( | ~ Newswire Staff...................................... | (( (( | ~ Z*Net New Zealand.........................Jon Clarke | (((((((((( | ~ Z*Net Canada.........................Terry Schreiber | | |-------------| $ GEnie Address..................................Z-NET | ONLINE | $ CompuServe Address........................75300,1642 | AREAS | $ Delphi Address..................................ZNET | | $ Internet/Usenet Address................status.gen.nz |-------------| $ America Online Address......................ZNET1991 | | | Z*NET | * Z*Net:USA New Jersey...(FNET 593).....(908) 968-8148 | SUPPORT | * Z*Net:Golden Gate......(FNET 706).....(510) 373-6792 | SYSTEMS | * Blank Page.........(8-Bit FNET 9002)..(908) 805-3967 ======================================================================= * EDITORS DESK by Ron Kovacs ======================================================================= Thanks for once again downloading another issue of Z*Magazine. Very soon another anniversary and a request for some special issues that you can assist us with. #1. Atari 8-Bit BBS Systems ---------------------------- I would like to solicit for 8-Bit BBS systems currently up and running. I will publish the list we receive in an issue in April, however, I cannot do it alone and need your help. So, if you run or call an Atari 8-bit system, please send me the information on a post card to in email to any of the online addresses above by March 31, 1992. #2. Atari 8-Bit PD/Shareware Authors ------------------------------------- If you are an 8-bit programmer and publish shareware, let us know who you are, also, if you know someone pass along our request and include the name of the program, where it is located for download, the shareware fee and also add any commercial development in the note. Same communication request applies with a deadline of May 31, 1992. Take care.... ======================================================================= * RUMBLES...RAMBLES...RUMORS... by Stan Lowell ======================================================================= Ooops! ====== In my review of FoReM-XE Professional in issue 203, I mentioned that the hardware and software of the Final Frontier in Philadelphia, PA had been sold and was no longer up and running. Well, sorta, I think, maybe? Um, I heard on my networked message base that such was not the case! I called this past weekend, and sure enough, it was up!? It is not at present in the network though. Am checking into it further. Shareware ========= Have a real jewel of a program to tell you about. I have been using Read.com ever since I put up my BBS. I never thought that anything would replace it as my 'quick take a look at the docs' program. Well, much as in life, I have found something that has replaced it! VTEX ---- When I first spotted VTEX, I thought it was another 'Vidtex' program. Then I saw that it was a 'text viewer'. -Hmm, can't IMAGINE anything as good as READ.COM!- sez I. WRONGO! Boy and how! It was the next day before I got around to looking over the Docs for it. Once I saw the Docs, I hurried up and tried it out! Naturally, I had to reload the docs several times to see how to try all the features! (who reads docs all the way through the first time? ) This is one *many featured* program! You can search for a string, scroll up or down one page(or 10 pages!), not show leading spaces, read either Atascii or Ascii. Here are the docs for it: VTEX - The Text Viewing Utility Version 1.0 8/4/91 Program and Documentation by: Larry Richardson, P.O. Box 472, Aurora, Co. 80010 This program is distributed as SHAREWARE. I have spent a great deal of time designing, coding, debugging, and modifying this program. Any donations I receive for my time and effort will encourage me to continue supporting this program, as well as writing new software for the Atari 8-bit computer. Thank you. I. What does it do? VTEX is a utility that allows you to view any file on the screen. If you have used DOS to view a file (copy from the file to E:), you already know how unfriendly it is. VTEX is an attempt to give the Atari 8-bit users an easier and more powerful method to view a file. II. Features VTEX can page through a file, both forward and backward. It has the ability to skip to the last page and back to the first page, or to skip in increments of ten pages. Since VTEX doesn't go through CIO to display on the screen, special characters (such as the clear screen command) will not interfere with the display. VTEX has a pseudo-word wrap (I'll explain later), and can delete the leading spaces from the left margin (good for viewing files that have been PRINTed to disk). VTEX also has string search capabilities and ASCII CR/LF handling. It has been tested under both Atari DOS 2.5 (2.0) and SpartaDOS. III. Running VTEX From any Atari type DOS, use the binary load command and load the VTEX executable file (VTEX.COM). The program will prompt for a filename. Enter the filename to view and press RETURN. After VTEX opens the file, the VTEX view screen will appear. At the bottom of the screen is the VTEX status line. It displays the version number of the program, the current page number of the file being viewed, and has an end-of-file indicator. It also indicates if word-wrap or the delete leading spaces options are active or not. From SpartaDOS, you may specify the filename to view on the command line. Simply type - VTEX filename . Under SpartaDOS, VTEX will look for the filename on the command line. If it doesn't find the filename there, it will prompt you to enter the filename (as it always does under Atari DOS). With either DOS, if VTEX encounters an error while trying to open the file, it will re-prompt you for a new filename. If you wish to exit VTEX at this prompt, press ESC. The program will then exit to DOS. IV. Commands Once VTEX is running, you have a number of commands to choose from. The commands are explained below. PAGE FORWARD Press the down arrow key (without holding down the CONTROL key). VTEX will display the next page in the file. As VTEX moves forward through a file, it notes the position of the beginning of each page so that it can move backward (or jump forward) directly to that page. PAGE BACKWARD Press the up arrow key (without holding down the CONTROL key). VTEX will display the previous page in the file. FORWARD 10 PAGES Press down arrow (without the CONTROL key). Note that because of the way Atari 8-bit DOS's handle random access files, VTEX cannot just jump to a page that it has not yet read in a sequential manner (see the explanation in PAGE FORWARD). It doesn't know at what point in the file the 10th page occurs, for example, until it has read pages 1-10. Therefore, when you press down arrow, VTEX will either: 1) Move forward 10 pages (if it has already read that far in the file) - or - 2) Move to the highest page it has read (if less than 10 pages from the current page) BACKWARD 10 PAGES Press up arrow (without the CONTROL key). VTEX will either: 1) Move backward 10 pages (if the current page being displayed is greater than 10) - or - 2) Go to the beginning of the file GO TO THE BEGINNING OF THE FILE Press B to return to the first page of the file. GO TO THE END OF THE FILE Press E to ATTEMPT to go to the end of the file. VTEX can only go directly to the end of the file if it has already read the last page. Once the last page has been read (using the down arrow to page forward), VTEX notes the position of this page so it can access it directly. If the end of the file hasn't been read yet, the message NO EOF is displayed in the status line. DISPLAY THE CURRENT FILENAME Press F to display the name of the file that is currently being viewed. Press F again to see the normal VTEX status line. WORD WRAP THE DISPLAY Press W to turn on the pseudo-word wrap. A 'W' will appear on the left side of the status line to let you know that word wrap is active. This is not a true word wrap, so long words will hang over onto the next page. VTEX will simply start looking for a space after column 31. If it finds a space, it will break the line here and wrap the text at this point. Pressing W again will turn the word wrap off. Note that because selecting word wrap (or the delete leading spaces option) will change the size of the displayed pages, VTEX resets the file to start back at page 1 when either of these options are selected. This allows the program to re-build its pointers to the beginning of the pages (which will now be in different positions). DELETE LEADING LEFT SPACES Press D to turn on the delete leading left spaces option. A 'D' will appear on the left side of the status line to let you know that this option is active. Any spaces that would have appeared on the left edge of the page are now gone. Also, the current page is reset to 1 (see the note under the word wrap option for an explanation). Press D again to turn this option off. SEARCH FOR A STRING Press S to search for a string. The program will prompt you to enter a string. Type the string you wish to search for and press RETURN. The program will start from the current page and look forward for the search string. The search will stop when the program has found your string or the end of the file has been reached. The function will not search if the current page is the end of the file. ASCII option VTEX can optionally display ASCII carriage return/line feeds or carriage returns alone as it would ATASCII carriage returns. This is useful for viewing text generated on IBM PC's, such as many text files that are on bulletin boards. Pressing A will toggle this option on or off. An 'A' will appear on the left side of the status line to let you know that the ASCII option is active. As with the word-wrap and delete leading spaces option, the file will be reset to the beginning when this option is selected. LOAD A NEW FILE Pressing L will make VTEX prompt you for a new filename to load and view. Enter the filename and press RETURN. If the program encounters an error while trying to open the file, the buzzer will sound and the prompt will re-appear to allow you to try again. Pressing ESC at this prompt will exit the option and let you continue to view the current file. When a new file is loaded, VTEX operates as if it has just been loaded (i.e. you begin at the first page in the file and all pointer information must be re-created). EXIT THE PROGRAM To exit VTEX and return to DOS, press the ESC key. Note that if you choose the search option, pressing ESC while the program is prompting for the search string simply takes you out of the search function. This is also the case with the load a new file option. Pressing ESC while the program is prompting you for a filename will simply abort the command. V. SpartaDOS X Notes If you are lucky enough to own a SpartaDOS X cartridge, then this section will give you a few common sense ideas on how to best use VTEX. First, it is very easy to make VTEX behave as though it is simply another command by placing it on one of the active drives and setting the PATH to look on that drive. I use a 256K 800XL, so I have an AUTOEXEC.BAT file that does the following: 1) Set up a ramdisk as D8: 2) Copy VTEX up to the ramdisk and call it V.COM. 3) SET PATH=CAR:;D8: With the path set up to look on the ramdisk for .COM files, I can now execute VTEX from the command line without having to tell SpartaDOS what drive it is on. Since it is on the ramdisk, it loads and begins executing in a second. Also, by calling the program V.COM, all I have to type to view a file is: V filename Second (and last), SpartaDOS X now handles the NOTE and POINT calls in the same manner for both SpartaDOS and Atari DOS disks (it uses a byte offset from the beginning of the file). What does this mean to the end user??? It means if you use VTEX under the SpartaDOS X environment to view an Atari DOS formatted disk, you will notice BIG delays when paging backwards or forward. This is because SpartaDOS X must re-read your Atari DOS file from the beginning each time a POINT command is given. The solution is to copy the file to a SpartaDOS formatted disk before using VTEX to view it. I hope this is as useful to someone else as it has been for myself. Drop me a line at the address given, or leave a message on the Atari Clubs of Denver BBS at (303) 343-2956. Suggestions and donations are both welcome! Larry Richardson ********************************************************************** A day or two after I tried the program, Larry popped up in the Networked messages from Orlando, FL! We have discussed VTEX, and found a minor bug which he will fix in the next version. The bug: if you attempt to run VTEX immediately after running BobTerm & some other programs, it will turn the screen green and drop to the SpartaDos prompt. For now, a re-boot will clear things up and all will be well! I noted that Larry had not mentioned a 'suggested minimum donation' as is usually the practice with ShareWare. His response: Msg# : 6486 - Msgs Atari8-Net Sent : 02/10/92 at 9:01 PM To : Stan Lowell (Received) From : LARRY RICHARDSON C-net: Moonbase Alpha - Orlando, FL Subj : Shareware VTEX I didn't put a 'minimum' amount in the DOC's for a donation (no 'maximum' either... HA HA). I do realize that times are tough. However, any donations received are appreciated and will encourage me to continue updating the current software that I have and to write new stuff. By the way, anyone wanting to donate can use my new home address (the one in the DOC'S will work, but it is not as direct). The new address is: 5521 Madrid Ave. Orlando, FL 32807 This utility has got to be one of the most useful utilities I have seen. If you are like me, and search thru docs(Z*Mag?!) from time to time, this will save you a bunch of time! NOTE: Larry has moved to Orlando, FL. and can be reached on Moonbase Alpha(407-578-2811), or any of the FoReM-XEP boards that network the Atari 8-bit Message Base. He will be more than happy to answer any questions, or take suggestions on the next version. Don_Back(aka-Backdir & Repdir) ------------------------------ The other discovery that I made was a program that backs up directory -entries- for SpartaDos 3.2! If you are an avid fan of SpartaDos, then you are 'well aware' of the perennial problem of scrambled directories. These happen for a variety of reasons, but happen they do! Especially to owners of hard disks. Ask me, I *know!* I have tested this on floppies, and it seems to work rather well. Haven't gotten up the nerve to erase one of my HD partitions for a -really big- test, but if it does work, it could save you a whole lot of hours of grief and work with DiskRX from ICD's SpartaDos Toolkit or the sector editor in the BB enhancement by Bob Puff, or whichever sector editor may be your favorite (read necessity). Nearly everyone who has used SPD for any amount of time has done a -Dir- and found a directory was trashed, garbled, crashed, etc. The first program, -BACKDIR.COM- will back-up your -directory- for you. The file name containing the directory data. Where you want to put the Back-up Info. ^ The Directory you want backed-up ^ ^ ^ ^ ^ The Backdir program ^ ^ ^ ^ ^ ^ ^ The syntax is: -BACKDIR D2:*.* D8:>BAKD2>MAIND2.BAK- You will have to run Backdir once for each Directory/SubDirectory that you want to backup. The above would just backup the Main Directory of drive D2. To backup Subdirectory -TEXT- on D2: you would run Backdir again: -Backdir D2:>TEXT>*.* D8:>BAKD2>D2TEXT.BAK- And so on for each Subdirectory which you want to backup. To restore after a crash, you would run the second program, REPDIR: The data file that contains the info for D2:Main Directory. Where the backup data file will be found ^ The Directory you want to restore. ^ ^ ^ ^ ^ The Repdir program ^ ^ ^ ^ ^ ^ ^ REPDIR D2:>*.* D8:>BAKD2>MAIND2.BAK Of course, this restoration will only be as good as the last time that you backed-it up! If you have modified, deleted, or added files, you will be back where you were when you last back it up! But at least you may be able to recover most of what you had at that time! I would also advise that you run Cleanup.Com by ICD from the SpartaDos Tool Kit to make sure that all is well! VTEX.ARC was downloaded from -Moonbase Alpha at 407-578-2811. Until next time! If you would like to submit a review, article, or a rebuttal (ANYTHING is welcomed!), feel free to upload to myself or Z-NET Online BBS. I can be reached on my BBS (908-805-3967), GEnie(S.LOWELL), and on Z*Net Online BBS(908-968-8148). Both of us are PCP node: NJNBR Starlink node: 3319 SUPPORT YOUR LOCAL USER GROUP! SUPPORT ShareWare Authors and others who write for the Atari 8-bit! Support Z*Magazine! Support THOSE who support YOU! ======================================================================= * BOOT-UP MENUS FOR ATARI 8-BITs by S.G. Wallace ======================================================================= It's apparent from reading through the -pages- of ZMAG that some Atari 8-bit owners have very sophisticated systems. Hard drives, large memory upgrades, special operating systems, and high speed modems can evidently bring surprising power to an 8-bit. Still, the 8-bit community is a diverse group with varying interests, expertise, and financial status. For those opting to use their computers -stock-, there is no shortage of fine features and software. One of the most useful capabilities of a floppy disk based Atari 8-bit computer is -booting- a program from a cold start. One of the most user friendly programs to boot is a MENU program. Picture this: Say you want to run an application, utility, or game from a disk that has many programs stored on it. You turn on your monitor and disk drive, and insert the disk. Next you flip the power switch of your Atari XE, XL, 800, or 400 ON. After a few seconds you're presented with a screen full of filenames contained on the disk, and an invitation to select one for loading and execution. Depending on the menu you're using, all you have to do to start the desired program is type a number or letter for the file you want to run, or highlight the name by moving a cursor. As you make your selection, the menu program in memory will have served its purpose until next time, and will sacrifice itself by running your chosen file. This scenario can be reality with any Atari 8-bit computer and disk drive. What makes it all possible is an AUTORUN.SYS file that either CALLS or IS a menu program on the disk. Saved Basic menu programs may be invoked at power-up by an appropriate AUTORUN.SYS file. Machine language (ML) menu programs are simply named AUTORUN.SYS on the disk. Either type will be started at boot-up. Menu programs have been written... 1) in Basic that will load and run only Basic programs. 2) in ML that will load and run only Ml programs. 3) in Basic with ML routines that will load and run Basic OR ML programs, AND print text files to the screen. An opportunity to disable Basic when calling ML programs is offered. 4) Other menu programs are available with additional features like deleting or adding files to the disk. Of the types described above, #3 is my favorite. This type of menu works best on XE, 800XL, or 600XL Ataris because Basic is built into the computer. Even though the menu itself is a Basic program, the user has the opportunity to turn Basic off if a ML program is called from the menu. Basic files may be invoked from a Basic menu on 1200XL and 400/ 800 models with cartridge Basic installed. ML files may be run with cartridge Basic if the file doesn't load into memory used by Basic (Basic can't be disabled except by removing the cartridge on these systems). Public domain (PD) software suppliers such as Software Infinity, Vulcan Software, or Phantom's 8-Bit PDS often produce disks with menu programs and self booting AUTORUN.SYS files on them. The menu programs themselves are usually PD, so it's ok to copy them onto other disks in your disk library or even modify them to your liking. Naturally, to make other disks bootable, they'll have to have DOS.SYS and the appropriate AUTORUN.SYS file on them. A number of AUTORUN.SYS boot file makers have been available over the years. Atari DOS 2.5 owners can create AUTORUN.SYS files that will load and run any saved Basic program at power-up. Just use your SETUP.COM utility which came with your DOS. Another AUTORUN.SYS maker was described in two articles titled AUTORUN.SYS SECRETS and AUTORUN.SYS SECRETS IN BASIC published by the now defunct ANALOG COMPUTING magazine (Nov. 1988-issue 66, Jul. 1989-issue 74). The AUTORUN.SYS SECRETS program files are still available for download on Delphi's Atari 8-bit Utilities database. Whether you write your own menu program, or obtain a PD version, it'll bring a useful convenience to your computer system. You'll wonder how you ever got along without it. ======================================================================= * CAROLYN'S CORNER by Carolyn Hoglin ======================================================================= (This article is a reprint from the Mid-Florida Atari Computer Club Newsletter of October, 1991.) A glance at the calendar confirms that soon we Floridians should be through with thunderstorms for a while. In the coming months, it will be nice not to have to unplug after each session at the computer. By the way, if any of you are not in the habit of pulling the plug on your system, thinking you are safe because you have a surge protector, let me assure you that a direct lightning hit will jump right over whatever protection it offers. Even if you have pulled the electrical plug, lightning can still enter through the phone line to your modem, so you should disconnect that also. I know, it's a drag. But it doesn't compare to replacing part or all of your system. And it could happen to you! Have you ever downloaded a text file from a BBS, examined it with AtariWriter Plus, and found that it was all one paragraph with lots of control M's and J's throughout? Well, those control characters are ASCII-13 and ASCII-10, carriage return and linefeed respectively. Most computers understand these codes. However, the 8-bit Atari computers speak ATASCII (Atari-ASCII), which is just a little different. Here, code 155 serves as both carriage return and linefeed. Here's how to convert your file from ASCII to ATASCII: Be sure you are in the -insert- mode. Then press [START-S] and type [CTRL-M][CTRL-J] [RETURN] as the string to search for. Then press [START-R] and just enter [RETURN], which means to replace with a null string. This actually causes the program to delete the searched-for string instead of replacing it with something else. Now, start with the cursor at the top of the document. Press [SELECT-S] to go to the first incidence of [CTRL-M][CTRL-J]. Press [SELECT-R] to delete it and then [RETURN] to replace it. Repeat this procedure until you reach the end of the document. If there two [CTRL-M][CTRL-J]'s in a row, the cursor will already be on the second [CTRL-M] after deleting the first set, so skip the [SELECT-S] and just press [SELECT-R] and [RETURN]. Don't use the Global Search/Replace command [OPTION-G] here, or you will find that all the [CTRL-M][CTRL-J]'s are deleted in a flash, but you have no opportunity to replace them with [RETURN]'s. Sometimes you have a file that was prepared to be viewed on the 8-bit, 40-column screen. When loaded into AtariWriter Plus, each and every line has a return at the end of it. If you were to print the file as is, you'd still have these 40-column lines on paper. Here is one way to remove the extra returns: If you aren't already using the full screen width, press [OPTION-C] and then -40-. Now press [START-S]. When prompted for the search string, hold down the SHIFT key and type [ESC][ESC], followed by [RETURN]. Then press [START-R] and enter a [SPACE] followed by [RETURN]. These little tricks discussed here are quite useful when you are dealing with relatively short files. If you have very long files, or multiple files that need these conversion processes, it might be more efficient to use one of the several available public-domain programs written for this purpose. ======================================================================= * BEST OF 1987 - Z*NET SURVEY RESULTS Compiled by Ron Kovacs ======================================================================= The following survey results were captured from a few Oasis BBS systems running the Best of 1987 Survey. The survey was created from the Best of 1987 Poll created in December 1986. All the nominees were listed by system users. Then I compiled the survey from the entries and created the survey. The highest amount of entries were listed in the survey for the users to vote on. The accumulations of the systems captured, are included here. A few of the questions have been deleted because they contained regional and local information which is not of use in other areas. Total amount of votes per question: 272 ZMAGAZINE BEST OF 1987 SURVEY Question Number 1 Choose Your Favorite Atari 8 Bit BBS. 0> Express BBS (not pro) - 47 1> Oasis (all versions) - 167 2> Carina I (not II) - 38 3> FoReM 8 Bit - 0 4> NiteLite - 0 5> AMIS - 13 6> BBCS - 7 Best BBS Program of 1987> Oasis BBS Question Number 2 Choose Your Favorite Atari 16 Bit BBS. 0> FoReM ST - 202 1> Express ST - 56 2> Michtron - 11 3> BB/ST - 3 Best 16 Bit BBS Program of 1987 >FoReM ST Question Number 3 Choose Your Favorite Printer. 0> Star Series - 66 1> Epson Series - 89 2> Atari Series - 31 3> OkiData (not Okimate) - 12 4> NEC Series - 0 5> Juki - 0 6> Okimate 20 - 0 7> Texas Instruments - 0 8> Kiss Lazer Printer - 0 9> Panasonic Series - 74 Best Printer of 1987> Epson Series Question Number 4 Choose Your Favorite Atari Corp Product. Atari only! 0> Mega ST - 35 1> XEP80 - 11 2> 130XE - 95 3> 1040ST - 13 4> 1050 Disk Drive - 30 5> 520ST - 88 6> SC1224 - 0 7> XF551 - 0 8> XMM801 - 0 9> SX212 - 0 Best Atari Corp Product of 1987> 130XE Question Number 5 Choose Your Favorite 8 Bit Game, PD or Other. 0> Alternate Reality - 59 1> Arkanoid - 23 2> HardBall - 27 3> Gauntlet - 54 4> Superman - 0 5> World Championship Karate - 31 6> Ultima 4 - 54 7> Gemstone Warrior - 0 8> Flight Simulator II - 24 9> Fooblitzsky - 0 Best 8 Bit Game of 1987> Alternate Reality Question Number 6 Choose Your Favorite 16 Bit Game, PD or Other. 0> Pro Wrestling - 40 1> Shanghai - 0 2> Gauntlet - 29 3> StarGlider - 39 4> Flight Simulator II - 28 5> Alternate Reality - 32 6> Wizardy - 26 7> The Bards Tale - 55 8> Mercenary - 23 9> Gridiron - 0 Best 16 Bit Game of 1987> Bards Tale Question Number 8 Choose Your Favorite Online Service. 0> GEnie - 64 1> CompuServe - 98 2> PC Pursuit - 54 3> Delphi - 0 4> Games Computers Play (Off Line) - 33 5> The Source - 11 6> Dow Jones - 12 Best Online Service of 1987> CompuServe Question Number 11 Choose Your Favorite Magazine, Online or Printed media. 0> Analog Magazine - 19 1> ZMagazine - 84 2> Antic - 109 3> Atari Explorer - 17 4> ST-Log - 18 5> STart - 7 6> ST-World - 0 7> Compute - 14 8> ST-Express - 0 9> TeleTalk - 4 Best Magazine of 1987> Antic Magazine Question Number 12 Choose Your Favorite Programmer. 0> Keith Ledbetter - 65 1> Tom Hudson - 23 2> Ralph Walden - 26 3> David Small - 29 4> Matt Singer - 0 5> Bill Teal - 19 6> Phillip Price - 49 7> Matthew Ratcliff - 12 8> Jerry Horanoff - 25 9> Bill Wilkinson - 24 Best Programmer of 1987> Keith Ledbetter Question Number 13 Choose ICD's Best Product. 0> Multi I/O - 94 1> P:R: Connection - 27 2> SpartaDos Construction Set - 86 3> R-Time Cartridge - 0 4> US Doubler - 49 5> Rambo XL - 16 Best ICD Product of 1987> Multi I/O Question Number 14 Choose Your Favorite Modem. 0> Avatex 1200HC - 47 1> Avatex 2400 - 67 2> XM301 - 32 3> Supra 2400 - 0 4> USR Courier 2400 - 38 5> SX212 - 29 6> Everex 2400 - 0 7> Hayes 1200 - 40 8> Capetronic 1200 - 0 9> SmartTeam 2400 - 19 Best Modem of 1987> Avatex 2400 Question Number 15 Choose Your Favorite Hard Disk System or Drive. 0> Seagate ST213 - 11 1> Supra 8 Bit 20 Meg - 109 2> Supra 16 Bit 20 Meg - 71 3> Atari SH204 - 9 4> NEC - 57 5> Control Data - 0 6> Seagate ST225 - 0 7> Seagate ST251 - 0 8> Seagate ST138 - 0 9> Seagate ST125 - 15 Best HD System of 1987> Supra 8 Bit 20 Meg HD ======================================================================= * CARINA BBS REGISTRATION FORM ======================================================================= *------------------------------------------------------------------* | Official Carina BBS System New Owner Registration Form | *------------------------------------------------------------------* *-------------------------------------* | Name >> | | Handle >> | | Voice Phone >> ( )- - | | City & State >> | | | | BBS Name >> | | BBS Phone >> ( )- - | | | | Carina Network # | | ACE Network # | | Fido-Net # | | | | Carina Registration # | | | | Notes: | *-------------------------------------* Mailing Name & Address Age: Birth date: Do you run a BBS? [Y/N] Software: Date Purchased: Purchase Price: Purchased From: Purchased New?: Serial/Regstr.# Are you in a Network? [Y/N] Network Name: Node # : Number of Nodes in Network: Are you interested in Networking?[Y/N] F-Mail this registration form to the Sysop (01-The Shadow) at: *-------------------------------------* | | | The Official Carina Support BBS | | | | ACE of America BBS (503)-285-4417 | | | *-------------------------------------* Carina BBS Systems Prices: $50.00 New Purchaser $10.00 Re-Registration Fee (Purchased from previously registered owner) Send the appropriate above amount to: David Hunt 8023 N. Berkeley Box 2 Portland, OR 97203 As soon as this registration is F-Mail'd to the above BBS, and your Check/Money Order Clears, you will be given full access to the Carina Support BBS to D/L all necessary files to begin your BBS. System price includes ability to network, on-line games, and free updates & support, and MUCH, MUCH more! If Re-Registering, please include a listing of all your Carina files below. ======================================================================= * ADVENTURES IN STRUCTURED PROGRAMMING - Part 5 by Michael Stomp ======================================================================= V. THE FINAL FOUR (Concluding a sketch of different methods of structured programming, which follows a characterization of methods by P.J. Plauger in a series of articles in Computer Language magazine.) CHAOS-TO-ORDER DESIGN As its name implies, this method is applicable in a situation in which a sequence of data must be reordered. This usually means using a sort routine. But it doesn't necessarily mean +writing+ a sort routine. There are two reasons for not writing your own sort routine: 1) sorts are hard to get right, and 2) you can probably find a canned sort that will do the job for you. TURBO BASIC XL, alas, doesn't have one built-in, but BASIC XL/XE has a nice one, and it is pretty fast. Sort routines are also available for C and ACTION!, and I have seen at least one in ML that is callable as a USR routine from Basic. Only if all else fails should you consider writing your own sort routine. But first, you should consider the question of why you want to sort the data at all. If you're never going to look at it again, there is no need to sort it; if you don't care what order you consider the data in the future, there is no need to sort it. If you think about it, the only reason for sorting data is to make it easier to search for something later. So, when considering the question of sorting, at the same time consider the question of searching, which is discussed in the next section, called, ORDER-TO-CHAOS DESIGN This method deals with the problem of looking up an arbitrary sequence of items in an ordered collection of data. Operations on a collection of data can be characterized as insertions (adding new data), deletions (discarding existing data), replacements (discarding existing data and inserting new data in its place), or reads (examining existing data). Then there is the question of how to represent the data. It must be represented so that 1) you know how to find it all, 2) you know when you've found what you're looking for, and 3) you are able to do what you want to do with the data once you've found it. Suppose you have decided to store the data as records in a file; that is, some number of bytes followed by an End-Of-Line character. You would access it by a simple INPUT statement, and read it into a string variable. You know when you have read it all because you will reach and End-Of-File indicator. To search for something, you need a program that reads the file one record at a time, knows which part of the record holds the field you are scanning, and does a comparison between that field and the search key. Scanning the file from front to back, then, is pretty easy. Adding records is easy if you just add them at the end of the file. Deleting records, however, is tiresome. You must either rewrite the file to percolate down records after the deletion, or have some way of marking certain records as deleted. If you do the latter, you must plan to squeeze out the dead records periodically or you will run out of disk space and longer access times become a problem. If you expect to be doing a lot of deletions you should worry about this in the initial design. Perhaps it might pay to allot a fixed amount of space for each record, enough to hold the largest expected one. That would make it easier to delete records: move the last record into the hole left by the deletion and shorten the file by one record. If, on the other hand, deletions never occur or are rare, you might switch to a data organization that leads to fast, simple code for reads and insertions but is miserable at deletions. It's a question of balancing options against requirements; simplicity against performance. If the number of records to search is small, access times might be fast enough with the data in random order. However, with larger collections of data, a sorted collection might be necessary to keep access times reasonable. There are various search algorithms that are quite fast when used on sorted data; binary search being one of the best. In that method, you check the middle record of the collection against the search key. Then you take the half that must contain the sought-for record (if it exists at all) and split that in half. And so forth. In this way, you can search a collection of N sorted records in Log2(N) steps. There are many other possibilities for structuring data collections, and many methods for handling searches. The literature is rich on this subject. But first, you should consider just what your needs are, what you want to do with the data, and pick the easiest method to implement them. Preferably a method that doesn't require you to write the program yourself. Think first, then code. EASY-TO-HARD DESIGN In this method one adopts the viewpoint that the structure of a program should be most strongly shaped by normal, straight-forward conditions. Errors, interrupts, limit violations, etc. are best handled as exceptions, with minimum impact on program structure. The name derives from the observation that writing a program innocent of exceptions is relatively easy, so the harder problem of handling exceptions is better deferred to last. To be sure, you cannot just ignore errors; exceptions will happen. Users will mis-type input data, printers will be left off-line, the wrong disk will be in the drive -- all with amazing regularity. And if you don't anticipate the occurrence of errors and exceptions your programming language will respond to them by bombing the program. Better to think about what could go wrong as you go along, and take some countermeasures. But it would be nice if one could do this error handling with the least violence to the structure of the program. If you check for everything, the error handling can end up dwarfing the straight-line code! There are some simple techniques that can be of help. After using left-to-right design to handle input data structure, adding code to handle exceptions is pretty straightforward. To complete an alternation, where you already have a chain of IF..ELSEIF statements that look for alternatives, just add an ELSE clause to process all input that fails the earlier tests. To complete a sequence, where normally you would have no test, surround the processing statement with an IF..ELSE to test if the item of data is okay. To complete a repetition, all you have to do is make the loop test more suspicious, and check for things like incorrect items or less items than expected. Then, of course, you must decided what you are going to do if you find an exception. If the input is being entered on-line by the user, the easiest way is to report the error and prompt the user for the correct data. The exception can then be handled locally. If the input is from a file, you don't have that choice, and it may be necessary to abort the input processing entirely -- after giving the user an understandable diagnostic, however. In Part I of this series, I presented a simple procedure for error-free numerical input which can be called any time your program needs user input. This procedure keeps all the error handling in one place, and is not much more involved than a simple INPUT X. The same technique can be used for more than just numerical input. To get a legal file name, for instance, just put the input request and OPEN statement in a loop, and don't exit the loop until you get past the OPEN statement without an error. Otherwise, keep nagging the user for the right file name. Keeping the address of the error handler the TRAP sends control to within the same loop helps preserve the program structure. Basic offers another feature that can help in some error handling; when an error is detected, the line number where it occurred is stored in memory location 186. In some cases, this can be used effectively to continue program operation without loss of continuity. For example, to handle the case when the printer is not on-line, one can do this: TRAP #PRTERR:OPEN #1,8,0,-P:-:TRAP 0 Then, at the end of the program you have this error handler for the printer: #PRTERR ? -Check printer; press RETURN when ready- GET A GOTO DPEEK(186) That will send the program back to the original TRAP statement, so the OPEN can be tried again. A more general type of error handler can also PEEK(195) to see the error number, and take appropriate action depending on what error occurred. It has been wisely observed that reliability cannot be retrofit. Easy- to-hard design supposedly tells you what things you can defer until later in the design process; error handling is not one of them. Needless to say, most spaghetti coders like easy-to-hard design. HARD-TO-EASY DESIGN In his series of articles, Plauger focusses on synchronizing sequential processes (he devotes two articles to the subject), as being a part that is hard to get right, and so should be tackled first in the design process. He says the only safe course is to minimize the places where you must synchronize with another activity, such as an interrupt or co- processor, write the code carefully, and keep it well separated from the rest of the program logic. And do this first, before you write most of the more pedestrian code. Now, many might think all this is not relevant to the Atari 8-bit programmer. What do we have to do with co-processors and interrupts? The answer is: more than you might think. We do have some co- processors, even if we haven't bought Bob Puff's new device. They are called ANTIC, GTIA, and POKEY! They are working all the time, although mostly invisible to us. The synchronization is handled automatically by the Operating System and we usually don't have to think about the subject at all. Unless we want to take advantage of the opportunities offered. These processes are synchronized with the screen display, through the Vertical Blank Interrupt (VBI) at the beginning of each screen scan (every 1/60 of a second), and the Display List Interrupt (DLI) at the beginning of each scan line (about 1/256 of 1/60 of a second). A programmer can insert his own routines, usually written in machine language, to run independently of his main program and the synchronization is taken care of by 'piggy backing' onto the Operating System processes. Some of the uses this can be put to are: Player/ missal movement, player/missal animation, character animation, playing music, multiple character sets, multiple screen colors, alarm clocks, count-down timers, printer spooling, and many more. More detail on this subject would exceed the domain of an article on program design. Back issues of magazine contain many articles on using VBIs and DLIs. The only point regarding hard-to-easy design is: get those parts right first. This concludes the series on structured programming methods. I hope it has been of some help to you. I welcome any questions you may have. They will provide subject matter for future articles. ======================================================================= * ATTENTION: ELECTRONIC GAMING ENTHUSIASTS!!! Press Release ======================================================================= Computer Publications, Unltd. (CPU) will soon be publishing GameTrader. GameTrader will cover the world of Video and Computer Games in a way that is so different and unique, you'll have to see it to really appreciate it. And for a limited time, you can have your name put on our mailing list so that you will receive the premier edition of GameTrader absolutely FREE! What is GameTrader? Actually, it is 3 publications in one. ELECTRONIC GAMING NEWS, INFORMATION & REVIEWS!!! The staff of GT (still being assembled) will bring you news and information each month on every facet of the gaming industry from new games to new systems with a variety of articles and columns. Reviews? Yes, we'll have those too. Reviews which tell it like it is without trying to please game designers and advertisers. GameTrader's articles and columns will be geared toward the sophisticated and knowledgable gamer, not the typical 9-12 year-old that so many publications aim for. FANZINE FORUM This unique section will deal with the rapidly expanding world of game newsletters and fanzines. Each issue will carry a Fanzine Directory (with listings of Fanzines and information on how to get a hold of them) and a Fanzine Focus column (which will see what's new in this exciting arena and even focus in on a fanzine or two each month). We will also have our own GT Fanzines, which will actually be miniature publications that focus on specific game systems and columns that you'll look forward to reading each month. And in addition we will be including reprints of some of the top articles and reviews from the many fanzines we'll be collecting from around the world! We believe the fanzine editor is a special breed and we know how hard it is for these individuals to publish their newsletters on a regular basis. We want to assist them in any way we can. (If you're a fanzine editor or contributor, please contact us for more information.) ELECTRONIC GAMING CLASSIFIED CONNECTION Have games lying around collecting dust? Looking for a certain game, but don't want to shell out $50 for it? How about complete systems? Equipment? Hint books? You'll be able to do it all in our classified section. We'll even have a special classified section called Power-Up! in which you'll be able to trade hints and tips with other GT readers. And the best part is that these classified listings will be absolutely free to subscribers! Sound exciting? You bet! And now you might be asking what video game and computer systems will we be including in GameTrader. You name it! VIDEO GAME SYSTEMS ================== NINTENDO * Nintendo Entertainment System * Super NES * Game Boy SEGA GENESIS * Sega Genesis * Game Gear * Sega Master System ATARI * Atari Lynx * Atari 2600 * Atari 5200 * Atari 7800 TURBOGRAFX * TurboGrafx 16 * Turbo Express NEO GEO JAPANESE GAME SYSTEMS ===================== PC ENGINE MEGA DRIVE SUPER FAMICOM SUPER GRAFX COMPUTER SYSTEMS ================ ATARI ST ATARI XL/XE AMIGA COMMODORE 64 APPLE MACINTOSH and IBM/PC If you would like to receive a free copy of the premier issue, simply send us your name and address along with a listing of which video game and/or computer systems you own. It's that simple. Don't hesitate. Do it today! COMPUTER PUBLICATIONS, UNTLD. P.O. BOX 2224 ARVADA, CO 80001 CONTACT: STAN SWANSON, 303/423-6805 or GEnie Mail: STCONNECTION We have also have a category on GEnie in which we will be discussing GameTrader. Please visit us in the Games RT (Type SCORPIA at the prompt) in Category 8, Topic 29. ======================================================================= * CSS SUPER E-BURNER by Barry Gordon ======================================================================= A First Impression February 1992 I was overwhelmed with excitement the day the UPS man delivered the box from Computer Software Services. And I had very good reason to be. After all, I had recently ordered one of their most technical devices, the -Super E-Burner-. This device reads and programs EPROMS. That stands for (E)rasable (P)rogrammable (R)ead (O)nly (M)emory. Whoa! That's jumping in a bit too fast. How about we take a few steps back and run over some basic concepts first? Ok, here goes... Inside your computer is a ROM (Read Only Memory) chip which holds the instructions that tell your computer what it is and how to operate. This Operating System chip (OS ROM) is a permanent component which does not need energy to maintain its data integrity. In other words, it doesn't go blank when the power is removed like a RAM chip. The OS ROM chip is programmed with instructions when it is manufactured, and cannot be changed at a later time. An EPROM chip also retains its programming when the power is removed, however, its programming can be changed. An EPROM has a small window in the center of the top side of the chip. Erasing an EPROM is done by simply exposing this window to a high intensity UltraViolet light (Don't ask how, or we'll be here all day talking about transistor gate depletion levels and photo electron velocities). But programming (commonly called -burning-) an EPROM chip requires a special device. Enter the Super E-Burner. I had never seen a picture, nor heard a description of the physical aspects of the Super E-Burner. All I knew was it plugged into the cartridge port of the Atari 8-bit computer and was incredibly fast. After tearing the shipping box open, I pulled out and observed a rather odd looking device. The main unit of the Super E-Burner is a 5- x 5- PC board which holds 1 power connection, 4 IC chips, 48 miscellaneous electronic parts, 1 34-pin port, and 1 ZIF socket. What's a ZIF socket? Well, it stands for (Z)ero (I)nsertion (F)orce. It's an expensive socket that puts no pressure on the pins of chip. The socket has a small lever on its side. After placing a chip in the socket, pressing the lever down causes a metal plate in each hole to clamp down on the pins thus making a solid electrical contact. Coming off the 34-pin port is a two foot ribbon cable that connects to the cartridge interface board. This board resembles the insides of a disassembled game cartridge, and is used in a similar manner. Despite the rather sparse and inadequate documentation which accompanies the Super E-Burner, operating the device is quite simple. The cartridge interface board is plugged into the cartridge port and the computer is booted with your favorite DOS. (For reasons unknown to myself nor Bob Puff, this device does not work properly with SpartaDOS X). Upon entering the cartridge, the following menu screen appears: +-------------------------------------+ | CO:01 NU:00 File: | | Prom:0 Loc:00000 Write:00 Read:00 | | Type: Retries:0000 Speed:1 | +-------------------------------------+ | | | The SUPER-E BURNER 0.7 | | By: Robert Puff (C) 1991 by CSS | | | | [A] 2732 25V | | [B] 2732A 21V | | [C] 2764 21V | | [D] 2764A 12V | | [E] 27128 21V | | [F] 27128A 12V | | [G] 27256 12V | | [H] 27512 12V | | [I] 27C101 12V | | [J] 27C301 12V (or mask ROM) | | | | Select PROM type > | | | | | +-------------------------------------+ From this menu, the EPROM size and programming voltage is entered. On this subject, the docs say nothing more than, -Select the proper EPROM type. An incorrect selection of types can damage your EPROM.- I recommend you find some other references to help determine the proper setting. Once the EPROM type is chosen, the main menu is presented: +-------------------------------------+ | Select Operation: | |[R] Read EPROM [B] Burn EPROM | |[V] Verify EPROM [E] Verify erase | |[N] # of copies [Q] quit to DOS | |[S] Change speed [ESC] New PROM size| |[1-9] Disk directories | | | |Please Select > | +-------------------------------------+ Although these menu selections are basically self explanatory, we'll run through them quickly: [R]ead copies the information from a programmed EPROM onto a disk file. [B]urn writes information from a disk file onto a blank EPROM. [V]erify compares the information on a programmed EPROM to a disk file. [E]rase checks to make sure an EPROM is blank. [N]umber sets the number of EPROMS to be burned from a single disk file. [Q]uit exits to DOS. [S]peed alters the programming speed for older and slower EPROMS. [ESC] goes back to the previous menu. Four stapled pages accompany the Super E-Burner consisting of: A title page, a warranty page, a VERY oversimplified page of instructions, and a page showing the orientation of different sized chips in the ZIF socket. I immediately called CSS and asked Bob Puff, -Is this it!?- He assured me they would be revising the documentation soon (more on that later) and talked me through the necessary concepts and instructions. Now that I've had the Super E-Burner for about a month, I find myself rather comfortable with it. I have managed to backup every single ROM chip in the house onto my Hard Drive (that's over thirty chips including nine different Operating Systems for my 8-bit!) But the real fun of owning an EPROM burner is firm ware modifications. By disassembling, modifying, and rewriting parts of ROM code, I've managed to make my 130XE run in high speed mode with my US Doubler drives regardless of what disk/DOS I boot; I've made a stock 1050, US Doubler 1050, and an XF551 all respond to drive numbers higher than D4:; and I'm working on modifying my SpartaDOS X cartridge to use the standard SIO vector so it will work with a Multiplexer. Within the documentation, a handwritten note says that CSS is working on a built-in editor which will support XE memory. This would make the Super E-Burner one of the most powerful firm ware devices I've seen. A ROM chip could be read, disassembled, modified, and rewritten without loading up any other programs. Bob said the revised documentation would be included with the enhanced editor. All things considered, I am very impressed with the Super E-Burner. It is a well built, extremely fast, and (so far) reliable unit. In my opinion, it is well worth the price. (Which as of this writing is $169.95 + $8 S/H). Kudos to Bob Puff and the gang at CSS! Computer Software Services P.O. Box 17660 Rochester, NY 14617 (716) 429-5639 ======================================================================= * DIGI-STUDIO INFORMATION ======================================================================= Digi-Studio is a new piece of software for the Atari XL/XE series. It allows you to play music using real sounds which have been digitized. Digi-Studio comes with a keyboard player and tune player. The keyboard player lets you use your computer keyboard like a piano keyboard to play tunes, but using real sounds, rather than computer-generated noises as is usually the case with this type of program. You can have 3 sounds in memory and can quickly change between them while playing tunes. The keyboard player has responsive keys so that the sound will only play for as long as you hold the key down. Just like a synthesizer!! The Digi- Studio disk contains many sounds for use with the keyboard player, ranging from church bells, to pig grunts, to a baby crying, to screams, and lots of synthesizer sounds. In fact around 25 sounds in all. Why buy a synthesizer when your Atari can do the same?! The tune player allows you to play pre-programmed tunes using any of the available sounds on the disk. Five tunes have been included on the disk for you to play. Digi-Studio comes on a DS/SD disk, and includes a printed manual. It is aimed at everyone, whether musically inclined or not! You may just want to use it for fun, or compose a tune with it! The comprehensive user manual makes it a joy to use! Digi-Studio will only work on XL/XE computers with 64K RAM. No extra hardware is required. The sound samples just play through your TV speaker! The full Digi-Studio package costs just 5 pounds in the UK, and 10 pounds for foreign orders, including printed manual, and shipping. All payments must be made in UK funds (pounds sterling) and paid by money order in sterling if you are ordering from a foreign country. Order your copy today! --------CUT-------- Please send me the Digi-Studio package. I enclose a cheque/PO for 5 pounds (10 pounds foreign payable in sterling) payable to: DEAN GARRAGHTY. NAME:______________________________ ADDRESS:__________________________________________________________ POST CODE(UK orders):________________ (STATE/ZIP CODE in US):________________________ DEAN GARRAGHTY 23 YSTWYTH CLOSE PENPARCAU ABERYSTWYTH SY23 3RU WALES,UK. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To sign up for DELPHI service, call (with modem) (800) 695-4002. Upon connection, hit once or twice. At Password: type ZNET and hit . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To sign up for GEnie service call (with modem) (800) 638-8369. Upon connection type HHH and hit . Wait for the U#= prompt and type XTX99436,GEnie and hit . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To sign up for CompuServe service call (with phone) (800) 848-8199. Ask for operator #198. You will be promptly sent a $15.00 free membership kit. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Z*Net International Atari Online Magazine is a weekly publication covering the Atari and related computer community. Material published in this edition may be reprinted under the following terms only. All articles must remain unedited and include the issue number and author at the top of each article reprinted. Reprint permission granted, unless otherwise noted, to registered Atari user groups and not for profit publications. Opinions present herein are those of the individual authors and does not necessarily reflect those of the staff. This publication is not affiliated with the Atari Corporation. Z*Net, Z*Net News Service, Z*Net International, Rovac, Z*Net Atari Online and Z*Net Publishing are copyright (c)1985-1992, Syndicate Publishing, Rovac Industries Incorporated, Post Office Box 59, Middlesex, New Jersey, 08846-0059, Voice: (908) 968-2024, BBS: (908) 968-8148, (510) 373-6792. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Z*Magazine - Atari 8-Bit Online Magazine Copyright (c)1992, Rovac Industries, Inc... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~