*+*+*+*› UNBUGGING BASIC!›› UNDOING THE BASIC GARBAGE QUIRK› A mini-tutorial by Les Wagar› Reprinted from NORTH SCOTLAND ATARI› USER GROUP "FUTURA" newsletter, by OL'› HACKERS, N.Y.›› (Ed. This article, I believe, refers› to the famous ATARI BASIC BUG "B", not› the later "C" version, but it's still› good advice for all!)›› BASIC GROWS ON YOU›› Have you ever noticed that your› Basic programs seem to get bigger all› by themselves, taking up one or› several sectors more disk space than› they used to? Take VIEWDOCS.BAS on› Futura issue 11, for instance. It› takes up 24 sectors--but without› changing one byte of the program as› written, it should take up 22› sectors.›› ITS NOT THE PROGRAM›› The quirk is not in the program. › The quirk is a bug in the SAVE› procedure. If you have been working› on a program--adding, deleting,› whatever--or been working in Immediate› Mode with the program installed, and› then proceed to SAVE the program, you› have likely added garbage data to your› program. The variable list, for› instance, will still include any› variables which you have deleted from› the program or have otherwise played› around with. The simple solution to› the problem is: don't SAVE, LIST.›› THE REMEDY!› › To SAVE a clean version of› VIEWDOCS.BAS, enter commands in› Immediate Mode as follows:›› 1. LIST "D?:VIEWDOCS.LST› 2. NEW› 3. ENTER "D?:VIEWDOCS.LST› 4. SAVE "D?:VIEWDOCS.BAS›› Your BAS version now takes up 22› sectors. You have removed the› garbage.›› BUT›› Note in passing that your LST› version takes up only 18 sectors, and› you may well ask why your BAS version› is still taking up 4 more sectors than› it possibly could.›› WHY?›› There's an answer to that› question, too, but now you've got to› look hard at the program itself. How› many times do you repeat numbers that› could be replaced by a variable? If a› number is repeated more than twice,› replace it with a letter. Let A=1,› B=2, C=0, D=3, etcetera, replace the› numbers accordingly, and (lo and› behold!) your SAVE after a LIST is now› getting close to 18 sectors--if not› bang on!›› CAVEAT›› But be careful, of course. When› you start revising a program, ALWAYS› be sure a working version is tucked› away somewhere out of reach.›› Have fun!› *+*+*+*››