APPENDIX SIX
BASIC
BUGS
That's right, even BASIC has problems. As of this writing, the BASIC cartridge suffers from the following ailments:
1. If you use INPUT without a variable,
BASIC won't give you an error message, but will instead lock up when it
reaches the INPUT. This is fixed in Rev. C.
2. Sometimes when you're making a lot of changes to a program (especially if you're deleting lines or pressing RETURN a lot), BASIC will suddenly stop talking to you and won't let you see your program again.
3. BASIC has problems with strings that are DIMensioned to a multiple of 256 (regardless of whether you use all 256 characters or not). If you have to have a string that's a multiple of 256 long, add one more when you DIMension it.
4. If for some reason you need to use the statement "PRINT A=NOT B", don't; it will put the computer to sleep. This is fixed in Rev. C.
5. The cassette handler doesn't always set itself up properly when you tell BASIC to CSAVE or SAVE "C:". To get around this, and thus make sure your program is saved properly, type "LPRINT" and press RETURN before you save the program (make sure you printer is off if you have one). This will give you an error message, which you can just ignore.
6. Strange things can happen if you type a program line that's longer than three screen lines.
7. A lot of the mathematics is slightly off. For example, five cubed (5^3) will equal 124.999998 instead of 125. Some other functions do this also. You may want to round up if you need the accuracy. This is fixed in Rev. C.
8. A printed CTRL-R or CTRL-U is treated like a semi-colon. This is fixed in Rev. C.
9. BASIC does not like variable names that begin with "NOT".
10. LOCATE and GET don't initialize properly, which means that they may give you different results when you RUN your program a second time. If you use these commands, trick BASIC into initializing them by using a command like A=STR$(0) before the LOCATE or GET (you can use any variable instead of the "A").
11. If you are going to be inputting more than 128 bytes at a time, then page six in memory will not be safe.
2. Sometimes when you're making a lot of changes to a program (especially if you're deleting lines or pressing RETURN a lot), BASIC will suddenly stop talking to you and won't let you see your program again.
3. BASIC has problems with strings that are DIMensioned to a multiple of 256 (regardless of whether you use all 256 characters or not). If you have to have a string that's a multiple of 256 long, add one more when you DIMension it.
4. If for some reason you need to use the statement "PRINT A=NOT B", don't; it will put the computer to sleep. This is fixed in Rev. C.
5. The cassette handler doesn't always set itself up properly when you tell BASIC to CSAVE or SAVE "C:". To get around this, and thus make sure your program is saved properly, type "LPRINT" and press RETURN before you save the program (make sure you printer is off if you have one). This will give you an error message, which you can just ignore.
6. Strange things can happen if you type a program line that's longer than three screen lines.
7. A lot of the mathematics is slightly off. For example, five cubed (5^3) will equal 124.999998 instead of 125. Some other functions do this also. You may want to round up if you need the accuracy. This is fixed in Rev. C.
8. A printed CTRL-R or CTRL-U is treated like a semi-colon. This is fixed in Rev. C.
9. BASIC does not like variable names that begin with "NOT".
10. LOCATE and GET don't initialize properly, which means that they may give you different results when you RUN your program a second time. If you use these commands, trick BASIC into initializing them by using a command like A=STR$(0) before the LOCATE or GET (you can use any variable instead of the "A").
11. If you are going to be inputting more than 128 bytes at a time, then page six in memory will not be safe.
Although rumors abound that Atari is going to release a new version of BASIC to correct these BUGS, they had not done so as of the end of 1983. If you have an XL computer with built-in BASIC, try these to see if they have been fixed.
Return to Table of Contents | Previous Chapter | Next Chapter