OSS Newsletter Fall 1986 -------------- --------- Where the New Software Will Come From An Editorial by David Plotkin ------------------------------------- It has become increasingly obvious that the production of new, useful software for the 8-bit Atari computers has slowed to a trickle, if not ceased altogether. By useful, I mean utility and productivity programs such as spreadsheets, databases, and other such programs which enable you to do substantive work on your Atari. This category does NOT include games, production of which has also slowed, although some new ones continue to be announced. This editorial will attempt to analyze why the software flow for the Atari home computers has reached the current state, and where any new software is going to have to come from. The question of availability of new software is an important one. Sales of software tend to drive sales of hardware (computers), and so an important measure of the viability of a home or business computer is the flow of software. The classic example of this is the case of the Apple II and Visicalc. As the story goes, people actually went out and bought Apples (which, remember, sold for over $2500 in those days) to have the machine that the spreadsheet Visicalc ran on. This maxim is still true today. The Amiga computer from Commodore is probably the most technologicially advanced home computer available. Yet it languishes, and sales lag far behind the Atari ST and Apple MacIntosh. Reasons for this have been proposed in the literature which supports Commodore machines: the machine is too expensive, or it is marketed poorly. These are contributing factors, no doubt. But I think there are a lot of people who would willingly pay the high price of the Amiga if there was something they could do with it. The real problem is that there is no software, and this situation doesn't appear ready to change in the near future. So software is the driving force behind computer sales--as you have heard, without software, computers are just doorstops. Now, there is a lot of software available for the Atari. However, very little of it fits our definition of "useful". Also, human beings like new things--witness the popularity of Christmas. It is very depressing to search the catalogs and shelves of the software stores for a new piece of software to take home and play with. As the months (and years) go by with little new software, owners have the tendency to give up and maybe even move to another machine which has a more active software producing community. At the very least, they may stop using their Atari regularly. So--there is not very much "useful" software available for your Atari, and little likelihood for the production of more. In contrast, the Apple II has a multitude of productivity programs, and new programs are constantly being announced. Yet, to hear tell, the Atari is a more advanced computer, possessing more sophisticated sound and graphics. Why the difference? Part of the answer has to do with history. The Apple computer was available about one and a half years Volume 1, Issue 1 Page 1 OSS Newsletter Fall 1986 -------------- --------- before the Atari, and had a sizeable installed base when the Atari first appeared on the market. Despite the fact that it was VERY expensive, it was virtually the "only game in town". Software developers, encouraged actively by Apple, began writing programs quite early on. The historical reputation of Atari as the manufacturer of the 2600 game machine also hurt. I would guess that every Atari owner at some time has had to explain that his or her cherished computer is "not a toy!". Atari was the first of the computer makers to try mass-marketing techniques, making their computers available from places such as K-Mart and Toys-R-Us. This alienated the computer stores, and also helped convince people that these computers were not to be taken seriously. Game software prevailed, and the soft voices of the people who realized that their Ataris could also do "serious" work were lost in the roar of explosions and sound effects. Another part of the answer has to do with the technology. The Atari does support more advanced sound and graphics--which unfortunately helps promote the image of it as a game machine. But the Apple is an "open" system--that is, there is easy access to the system buss. Even today, Atari computers have no way to add hardware "cards". These cards can add a multitude of features that the basic system didn't have. Need more sound? Use a sound card, capable of 6 voices in stereo. Need more memory or 80 columns? Buy a card and add it in. You get the idea. The Apple computers had 128K of memory and 80 columns early on, and current cards can expand the Apple to 4 megabytes. Atari is just now beginning to catch up, with the announcement of additional memory and Atari's 80 column box. Thus, in the features which are important to productive uses of a computer, Apple has an almost insurmountable lead. Finally, there is the question of the programming languages. Pascal, Fortran, a compiled Basic and C were available very early for Apple owners. Atari owners had Basic A+ (now Basic XL and XE), but until the advent of ACTION, there was no fast, easy-to-use language for Atari programmers. This explains in large part why the programs in the Atari public domain are almost all written in Basic, and a lot of them are pretty mediocre. Where, then, does this leave us? We have the productivity series from Synapse (Syncalc, Synfile+, etc.) as the primary productivity tools for the Atari, as well as some packages from other companies, some good, some not so good. Synapse is no more. Broderbund, Synapse's parent company, does not appear to be actively supporting the series, even to correcting some of the nasty bugs which crept into the 130XE versions of the programs. And don't hold your breath for Broderbund to upgrade the programs to 80 columns. Most of the other major software houses, including some that have historically supported the Atari, seem to be also ignoring us. So far, I seem to be painting a pretty grim picture. Let me put this in perspective. What I am saying is that there ARE programs for doing useful work on your Atari available. Many are quite powerful, Volume 1, Issue 1 Page 2 OSS Newsletter Fall 1986 -------------- --------- and some are very cheap--even to the cover price of a magazine and a few hours of typing. But I doubt that many of the older commercial programs will be updated for the new features of the Atari computers, and I also doubt that much effort will be put into publishing new programs. There ARE exceptions. XLENT Software has their line of printer utilities, and just produced a new word processor. Its claim to fame is the ability to include "Typesetter" graphics in the text and use multiple fonts. Batteries Included has consistently been updating "Paper Clip", which is the word processor I happen to be using for this article. And, of course, OSS has BASIC XE. The most promising source of the new software necessary to keep the 8-bit Atari line alive is the users themselves. Very early on, Atari made an effort (APX: Atari Program Exchange) to market user-written software at good prices. Chris Crawford's classic, "Eastern Front", was first published this way, along with a multitude of other games and utilities, including the C programming language and a two-drive version of Pascal. I still use Sheldon Leemon's Instedit, a character set editor, and play "Caverns of Mars" on occasion. APX did encourage programmers to get working and made these programs available for very little money. But APX was a victim of the Atari upheaval, and is no more. ANTIC Magazine now publishes a catalog of some of the old APX line, and includes some new material as well. Unfortunately, the prices have gone up, and the standards for acceptance of programs are very stiff. Provided a suitable way to distribute programs can be found, however, the users are still the best source of new software. This is especially true of the people reading this editorial--the customers of OSS. You are the people who take programming seriously. You must: you laid out quite a lot of your hard-earned dollars to purchase OSS products. In general, these products are programming languages. MAC65 is quite likely the best assembler ever published for an eight-bit computer. It is quite possible to produce very good software using BASIC XL, BASIC XE, and ACTION. Many of you have seen my ACTION games in ANTIC and ANALOG, and my commercial "MINIATURE GOLF PLUS", available from XLENT Software, was written in BASIC XL! With runtime packages available for both BASIC XL and ACTION, they are prime candidates for programming new software. The question then remains: if you have written a good utility or productivity program, how do you get it out there and maybe even make a little money from it? OSS will be announcing the details of a new software line, entitled "BareWare" (racy, huh?). Its primary purpose will be to make new software, primarily written by OSS customers, available to others at a reasonable price. Look for the announcement in this newsletter. We have analyzed how the state of Atari software has gotten to where it is now, and looked at some hopes for the future. I firmly believe that the majority of useful software will come from all of you out there. You have the tools--the excellent programming languages and utilities from OSS (and others). And OSS will provide the Volume 1, Issue 1 Page 3 OSS Newsletter Fall 1986 -------------- --------- distribution. It is time for all of you (and me) to get busy and begin turning the software ideas that have been bouncing around our brains for a while into reality. The Atari community is depending on us, and OSS can't do it all alone. Volume 1, Issue 1 Page 4 OSS Newsletter Fall 1986 -------------- --------- OSS has a BBS! -------------- We were very surprised to discover that almost half of you have modems. This fact pushed us into getting around to one of those items on the back burner: a Bulletin Board System (BBS). Thanks to Clinton Parker and Mark Rose we now have a functional BBS. First of all, our BBS is private. This means that you send messages and programs to us here at OSS, and not to other users. We screen all incoming messages and programs, and will make anything of interest available to everyone else via either a system message or a download-able library file. This restriction helps to keep gossips from hogging the BBS. Here's what the BBS lets you do: 1. Read system messages. These messages give information on bugs, updates, and new releases, and answer commonly asked technical questions. 2. Download library files. Our library contains both program and documentation files, organized by product. 3. Upload files. You can upload files that you think are worthwhile enough to put in our library. These programs must be public domain. You might also want to upload programs with which you are having some problem so that we can inspect them. These must be programs that relate to one of our products. 4. Leave messages for us. If you think you've found a bug, or are having a problem with one of our products, or just want to give us a piece of your mind, leave us a message. It's your dime (or dollar). The BBS phone number is (408) 446-3451, and is active 24 hours a day. There is no password system, so getting on should not be a problem. This BBS runs in ASCII (not ATASCII) mode, and supports XON/OFF and XMODEM protocols at both 300 and 1200 baud. If you don't have access to a modem, or don't want to spend a fortune downloading, you can still get the BBS files from us. Simply send us a check (outside US send postal money order) for $7.50 per disk (minimum of 2 disks), and specify which disks you want on the order form. Choices are: A1 (ACTION! #1) A2 (ACTION! #2) BXL (BASIC XL) CDM (C/65, DOS XL, and MAC/65) WT (Writer's Tool). Volume 1, Issue 1 Page 5 OSS Newsletter Fall 1986 -------------- --------- Technical Support from OSS -------------------------- For those of you who are new to OSS, you might be interested to know that we do offer full support. If you have a problem using one of our products, simply give us a call or write us a letter. Our technical support staff is on duty from 8:30 to 12:00 and 1:30 to 5:00 (Pacific time), Monday through Thursday. When calling, please be prepared to provide us with the following: The model of your Atari, Any enhancements you've added to it, The version of the product with which you're having problems, The exact steps that produce the problem, and Patience. If you write us, include all of the above, plus a disk containing an example of the problem and (if possible) a listing. If you want info about a product of ours that you might purchase, ask the receptionist for a product brochure. If you have questions regarding our sales or update policies, ask to speak with the sales department. OSS Bug Sheets -------------- So just what is a "bug sheet"? It's simply a list of all the known bugs in a given product. If you would like to get the bug sheet from us, please send us five domestic 22-cent stamps or $1 (per bug sheet), and we'll send you the list of known bugs and their fixes for the product you specify. Simply print which bug sheet you want on the front of the envelope that contains the stamps or money. We currently have the following bug sheets: ACTION!, PAD, ATK, RunTime Bug Sheet DOS XL and OS/A+ Bug Sheet BASIC XL and BTK Bug Sheet C/65 Bug Sheet MAC/65, MTK, BUG/65, DDT Bug Sheet P.S. - These bug sheets are also in the BBS files library, and on our BBS (see BBS info). Volume 1, Issue 1 Page 6 OSS Newsletter Fall 1986 -------------- --------- Programming Contest Winners --------------------------- [Editors Note: In our last printed newsletter, we announced a programming contest. Unfortunately, we never published a follow-up newsletter to announce the winners! We hope that you will forgive us for the delay!] You surprised us again! We expected that most of the 1K program contest entries would be games, but you proved us wrong. Over 80% of them were utility programs. Due to this we decided to have four categories: ACTION!, BASIC XL, MAC/65, and games. The winner in each of these categories received a $100 credit toward the purchase of any OSS products. The winners are: ACTION!: Claude Galinsky of Watertown, MA won with his program that prints program listings on a serial printer. Joseph Santorelli receives an Honorable Mention. BASIC XL: Gary Baker of Dearborn, MI won with his program that sorts the variable list produced by the LVAR command. Honorable Mentions go to Tim Roulo and Eric Alchowiak. MAC/65: Donald Seay of Palmyra, VA won with his program that allows users to initialize their FX-100's to special print-out configurations. Honorable Mentions go to James Granger, Evan Arnerich, and Rich Andrews. Games: Greg Anderson of Los Gatos, CA won with his BASIC XL game "Squish". Honorable Mentions go to Steven Grimm and Cheney Bath. Volume 1, Issue 1 Page 7 OSS Newsletter Fall 1986 -------------- --------- BASIC XL Bugs and Fixes ----------------------- BUG: Version 1.03 doesn't seem to work with the extensions on the ToolKit. FIX: This is true only for early versions of the ToolKit. If you have Vers. 1.03 and the ToolKit extensions work, then don't apply this fix. 100 F$="D:EXTEND.COM":N=$02d6:Gosub 130 110 F$="D:AUTORUN.SYS":N=$039f:Gosub 130 120 End 130 Unprotect F$:Open #1,12,0,F$ 140 For I=1 To N:Get #1,C:Next I 150 Put #1,9:Close #1:Protect F$ 160 Return BUG: Any program reference to line number 0 (e.g. Goto 0, If X=1 Then 0) will not be RENUMbered. This applies even if a previous RENUM created the reference (i.e. you did a RENUM 0,xx). FIX: There is no practicable solution. Simply don't use a starting line number of 0 when you NUM or RENUM. BUG: You want to make sure that you're not in FAST mode. FIX: Make the following the first line in your program: 10 IF PEEK($B9)&$80 THEN DEL 0 $B9 is BASIC XL's FAST flag, and the DEL statement turns off FAST mode. You can't have a line 0 in your program if you want to use this fix. BUG/65 Bugs and Fixes --------------------- BUG: The "P" option doesn't work with the newer Atari OS ROMs. FIX: On BBS and Bug Sheet, or refer to p. 7 of the Spring 1984 newsletter. This fix works with one exception: the last line doesn't get printed, so make sure your last line is just a RETURN. BUG: If you try to go into BUG immediately after you boot using DOSXL.XL, you get back to DOS instead of going into BUG. FIX: Press SYSTEM RESET and then run BUG. DOS XL Bugs and Fixes --------------------- BUG: The patch to convert version 2.30 to version 2.30p in our Spring 1984 newsletter didn't work. FIX: Run the following program and then use INIT with the "Write DOS.SYS Only" option to write out the patched DOS. Make sure Volume 1, Issue 1 Page 8 OSS Newsletter Fall 1986 -------------- --------- that you don't have DOSXL.SYS (either .SUP or .XL version) active when you do this. 100 READ CNT:IF CNT=0 THEN END 110 READ START 120 FOR ADDR=START TO START+CNT-1 130 READ BYTE:POKE ADDR,BYTE:NEXT ADDR 140 GOTO 100 150 DATA 3,5481,32,1,21 160 DATA 29,5377,141,217,22,169,16 170 DATA 141,23,22,169,23,141,24,22 180 DATA 169,49,141,30,22,169,64,141 190 DATA 12,0,169,21,141,13,0,96 200 DATA 1,7425,112,0 BUG: INIT does not work if you use drive numbers 4 through 8. FIX: Run the following program: 10 OPEN #1,12,0,"D:INIT.COM" 20 FOR I=1 TO 116 : GET #1,C : NEXT I 30 PUT #1,ASC("9") : CLOSE #1 BUG: Bill's DOS 2.0S patch for 1050's in his 8/84 - 9/84 Insight: Atari articles doesn't work with DOSXL.SYS. FIX: There isn't one, but don't despair: Bill's patch isn't compatible with DOS 2.5 anyway, so the problem becomes moot. The Writer's Tool Bugs and Fixes -------------------------------- BUG: Version 2.2 LinkPrint crashes the system if you try to link an invalid or non- existent file. FIX: Run the following BASIC program this program, first making sure that your WT file is called AUTORUN.SYS. This will convert version 2.2 to 2.21. 100 ? :? "Put a Backup of WT disk in Drive 1,":? "and hit START" 110 IF PEEK(53279)<>6 THEN 110 120 XIO 36,#1,0,0,"D:AUTORUN.SYS" 130 OPEN #1,12,0,"D:AUTORUN.SYS" 140 FOR I=1 TO 346:GET #1,X:NEXT I 150 PRINT #1;"VERSION 2.21":CLOSE #1 160 OPEN #1,12,0,"D:AUTORUN.SYS" 170 FOR I=1 TO 14278:GET #1,X:NEXT I 180 PUT #1,90:GET #1,X:PUT #1,91 190 CLOSE #1:XIO 35,#1,0,0,"D:AUTORUN.SYS":END Volume 1, Issue 1 Page 9 OSS Newsletter Fall 1986 -------------- --------- ACTION! Questions and Answers ----------------------------- Q: What is the best way to declare an ARRAY? A: Always give the array a size or an address (unless you really want a floating pointer). If you give it neither a size nor an address, your array will point to some arbitrary location, and could easily cause your system to lock-up or crash. Q: What is the ACTION! RunTime disk, and what will it do for me? A: The RunTime disk contains files that you INCLUDE in your ACTION! programs so that they will work without an ACTION! cartridge. This is useful if you want to distribute copies of utility or game programs to people who don't have the cartridge. If you plan on giving away these programs, the RunTime license is $30.00. If you're going to sell these programs, the publisher's license is $200.00. You pay these fees once, and then may use the RunTime package with as many programs as you wish. BASIC XE Questions and Answers ------------------------------ Q: Why won't BASIC XE work properly with my 1030 or XM301 modem? A: Without going into too much detail, it has to do with the way the 1030 and XM301 handle the carrier detect signal. When the modem answers the phone and connects with the calling modem, the 1030 or XM301 uses a previously unused signal to tell the Atari computer that another modem has connected. This line causes an interrupt and sometimes results in the handler failing to recognize the incoming call. A fix for this problem is in the works, and will be included in the next version of BASIC XE to go into production. Watch these pages for the news! Q: What is Error #33? A: Error #33 was left out of the manual, but if you look for error 100, you will see that the manual says "Extensions not installed". This usually happens when you have booted up a disk that does not have the BASICXE.OSS file on it, and try to use EXTEND or FAST or some other Extended Command. The solution: Copy the file BASICXE.OSS onto the disks that you boot your system from. DO NOT rename it to AUTORUN.SYS!! It must be named BASICXE.OSS for BASIC XE to properly load the extensions. Volume 1, Issue 1 Page 10 OSS Newsletter Fall 1986 -------------- --------- BASIC XL Questions and Answers ------------------------------ Q: Do the extensions on the ToolKit work with the RunTime package? A: Not as shipped, because it would make the RunTime package unacceptably large for those who do not use the extensions. There is, however, a simple program available on the BBS that will allow you to use the extensions in conjunction with the RunTime package. Q: How can I toggle my Bit3 board between 40 and 80 columns from BASIC XL? A: It's possible if you have the Bit3 patch to DOS XL. Simply run the patch from DOS, go into BASIC XL, and run the following program: 10 For I=$100 TO $12F 20 If Peek(I)=$68 Then Pop :Goto 50 30 Next I 40 Print "Can't Find Bit3 Toggle":End 50 Toggle=I:Rem "Use USR(Toggle) to toggle 40/80 columns" BUG/65 Questions and Answers ---------------------------- Q: Why do I lose my program when I load BUG? A: BUG doesn't know where your program resides so, if you don't specify where you want BUG to load, it can wipe out your program. There are two solutions to this: assemble to disk instead of memory, and then load your object file once you're in BUG, or specify a load address for BUG (your program can't reside above about $9800 since BUG loads there before relocating itself). Q: Why does the system lock up when I trace ROM with BUG? A: BUG cannot trace ROM, but (since ROM can't be changed) you might just use a "TS" command at the point where your code JSR's or JMP's to ROM. DOS XL Questions and Answers ---------------------------- Q: Can I get TYP to work with binary files as well as text files? I could then use it instead of COPY to copy files from one drive to another. A: There is a patch program on the BBS and in the DOS XL Bug Sheet that makes TYP work with binary files. Q: Is there a RamDisk for the 130XE that works with DOS XL? A: Yes, one similar to Atari DOS 2.5's RamDisk. The file and documentation are on the BBS. Volume 1, Issue 1 Page 11 OSS Newsletter Fall 1986 -------------- --------- MAC/65 Questions and Answers ---------------------------- Q: How do I turn off the listing as a program assembles? A: Either put a .OPT NOLIST at the beginning of your source file, or use #- as the list device in the ASM command, as in ASM ,#-,#D:FILE.OBJ Q: How many labels are permitted in MAC? A: The number of labels is limited only by memory size, but watch out - it is possible to have a symbol table so big that it can't be cross-referenced. Also, there is a maximum of 63 .LOCAL sections. Q: How can I change MAC's default screen colors? A: With Disk MAC this is easy. Version 4.20's screen colors are at $8B3F (background/playfield) and $8B44 (character luminance). Change these using the "C" command, and then BSAVE $8800 to $BC1F to MAC65.COM. With cartridge MAC the process is a little more difficult. Assemble the following program (making sure you write the object to disk), and then simply BLOAD it when you first enter MAC. Change the two .BYTE values to get different default colors. 100 .ORG $483 110 BAK .BYTE $00 ;Background Color 120 LUM .BYTE $06 ;Character Luminance Q: Where can I get subroutines that turn the supercartridges on and off? A: On our BBS. Q: What memory is available for machine language programs and variables? A: Parts of page 0 above $80, page 6 (most of the time), and between MEMLO ($2E7) and MEMHI ($2E5). The size of the last area varies with DOS and graphics mode. However, all of this depends upon what application program (if any) you are trying to interface with. (See Bill's 12/84 Insight: Atari article.) Q: How can I use the disk version of MAC/65 with Atari DOS? A: Use the "L" option to load MAC65.COM, and then use the "M" option with 8800 (hex) as the address to run it. (This applies only to vers. 4.2 of MAC.) Q: Why does MAC "hang" for a while at the end of a large assembly? A: MAC is sorting the symbol table so that the symbol listing is in alphabetical order. Q: Why doesn't a JMP or JSR to zero page produce proper code in the MAC cart? Volume 1, Issue 1 Page 12 OSS Newsletter Fall 1986 -------------- --------- A: Version 1.01 and 1.02 are fixed to produce the proper code (PS - 1.02 is the latest version). For update information see the update info sheet. Q: Why do I get an Out-Of-Phase error (#13) during assembly? A: For a complete discussion of phase errors and what they mean see Bill's 12/84 Insight: Atari article, or send us a SASE asking for it. Q: How can I specify a RUN or INIT vector address within my object file? A: Put the following at the end of your source file: *= .WORD