Oh, Those ?$*& Error Messages
LAST OF A SERIES
BY STEVE HARDING
Welcome, computer pals, to part 3 of our series on the Atari BASIC Error Messages.
If there is terminology used in this month's installment, I refer you to the first two parts of the series. I have also used De Re Atari, the Atari BASIC Reference Manual, the Atari Disk Operating Reference Manual and the Atari 850 Technical Manual as reference. Having copies of these books in your library will be helpful in understanding the material I'm covering.
Error Code 142: Serial Bus Frame Data Overrun
If this error continually happens, Atari suggests you have your computer checked. Something is wrong.
Error Code 143: Serial Bus Frame Checksum Error
Data communications between your computer and a peripheral device have become garbled. The error could be generated by your software or by your computer or a peripheral device. If it is a recurring error, carefully check your program. If the software seems correct, then perhaps there is something wrong (heaven forbid) with your computer or the peripheral device.
Error Code 144: Device Done Error
I probably have had more problems with this error than any other. In my case, it means the disk I am trying to extract data has decided to take a hike. Or, it can mean the disk drive has taken a hike and cannot extract the data.
If it is the latter, the usual cause is a change in the disk motor RPM. There is one more thing that can generate this error. Fortunately, it is not serious. You have tried to write data to a disk that has a write-protect tab in place. Remove the tab and all should be well.
Error Code 145: Read After Write Compare Error
This error is generated by the Screen Editor. You've tried an illegal Graphics Mode. Specifically, 12, 13, 14, or 15. And . . . you are using a 400 or 800 home computer. No, I'm not psychic. The XL computers have additional graphics capabilities.
Error Code 146: Function Not Implemented
You are trying to implement a function your computer knows nothing about. Usually, it means attempting to do something like trying to PUT data to the keyboard.
Technically speaking, the device handler does not know how to follow your instructions. Check your program for the correct command and the correct device.
Error Code 147: Insufficient RAM
Your computer does not have enough memory to implement the Graphics Mode you have called. Try to squeeze your program into less memory. See De Re Atari for some helpful hints, or use a Graphics Mode that doesn't need as much memory.
Currently, there are no Error Codes 148 and 149. Error Codes 150 to 154 are Error Codes you can get when using the Atari 850 Interface Module. At present, no other Atari peripheral device will generate these errors.
Error Code 150: Port Already Open
You attempted to OPEN one of the RS232 Serial Interface ports when it was already open through a different IOCB. You can access a single serial port through a single IOCB only.
Error Code 151: Concurrent Mode I/O Not Enabled
You have tried to do Concurrent Mode I/O (XIO 40) without telling your 850 exactly what was planned. Check your program listing. Chances are you used an incorrect value when you opened the IOCB. Read up on Concurrent Mode I/O in the Atari 850 Interface Module Technical Manual.
Error Code 152: Illegal Buffer
Atari, in its infinite wisdom, allows you to create your own buffer, rather than use the 40-character buffer in the Atari 850 Interface Module. If you don't supply the correct address of the buffer to your computer or the buffer length was not what the computer expected, you'll get this Error. See Section 9 -- Starting Concurrent I/O in the Atari 850 Interface Module Technical Manual.
Error Code 153: Active Concurrent Mode I/O Error
This can be a "fatal" error, causing your computer to "freeze" up. What has happened is you have opened Concurrent Mode I/O to one port of the 850 Interface Module and then attempted I/O to a different port. The 850 doesn't like that. Your computer isn't too happy, either. That's why it goes away. Sometimes pressing the SYSTEM RESET will correct it; most times it won't. Make sure that if you open IOCB #1 for Concurrent I/O you are sending your data to IOCB #1.
Error Code 154: Concurrent Mode I/0 Not Active
This is similar to Error Code 151. You must activate Concurrent Mode I/O using the XIO 40 command BEFORE you start performing input with either the BASIC GET or INPUT commands.
Error Code 160: Incorrect Drive Number
Each disk drive on your system must have a buffer allocated to it in your computer memory. This is handled by your DOS. If you have more than one drive on your system and you continually get this error, then you have to modify the DOS.
This is not as difficult as it sounds. Boot your system with the BASIC cartridge in place. Type PRINT PEEK (1802). For a two-drive system you should receive a value of two. For a three-drive system you should receive a value of seven. For a four-drive system you should receive a value of 15.
If you don't get the corresponding value, don't worry. Here's how to fix it. Type POKE 1802,X. For X input the proper value. Now type DOS. When DOS Menu comes on screen, type H and rewrite DOS to your disk. The proper values will be in the proper place the next time you use this disk to boot your system.
Error Code 161: Too Many Open Files
Each opened file (or peripheral device, such as the 850 Interface Module serial ports) must have a buffer area allocated to it in memory. If you try to open more files than you have allocated memory . . . you get a 161.
Assuming you have allocated buffer space, you can have up to eight files open at the same time. But, you have to modify your DOS to do it. Type PRINT PEEK(1801). The value you receive will tell you how many files or devices you can have open at the same time.
Follow the instructions given under Error 160 to modify your DOS to allow more open files. Remember that your printer and the screen editor both use one of these same buffer areas, so if your program has Graphics Mode changes or prints out to the printer, you will not be able to have eight files open. Oh . . . by the way, your computer has reserved one of the buffer areas (#0) for output to your television or monitor.
Error Code 162: Disk Full
This one's easy. You've used all the available space on your disk. Save your data to another formatted disk.
This error will pop up at the most inconvenient times. Even when you KNOW there are some sectors left. This means the File Management System (FMS) on your disk is fouled up. All is not lost. Format a new disk, then write a new copy of DOS to it. Use the C or 0 command from the DOS Menu to copy all the files to the new disk. Your data is safe and sound.
Error Code 163: Unrecoverable I/O Error
Sounds frightening, doesn't it? What it means is your DOS has a glitch or your disk is bad. Copy your files to a new disk.
Error Code 164: File Number Mismatch
Each sector containing data on your disk has an area that tells your computer where to find the next sector containing data for that particular file. If, for some reason, these pointers get an incorrect value, then your system gets confused and quits.
There is no way to save the file without using a Disk Utility package. Copy the remaining files to a new disk and take your lumps.
Error Code 165: File Name Error
You can't use a filename that contains anything other than capital letters. DOS doesn't like it.
Error Code 166: POINT Error
I see you finally started experimenting with NOTE and POINT. Check your program listing at the line where the error occurred. What you have is a case of the system being unable to find the sector byte because it got the wrong value someplace. Somehow the POINT value exceeded 125 for single density drives and 253 for double density drives.
Error Code 167: File Locked
You've locked the file (either from DOS or using a XIO command) and now you're trying to do something to the file. You can't. Unlock the file and try again.
Error Code 168: Device Command Invalid
There are three things that will cause this error. To explain this, let's create a file. Type this: OPEN # 1,8,0,"D:TEST". Now type: END. Why? I told you the lOCB was open. You just closed it. TEST is now a valid file on your disk. It just contains no data and for our experiments, it doesn't need to.
Type: OPEN # 1,4,0, "D:TEST". You have opened TEST for input into your computer. Next type: PUT # 1,X. You have created a situation where you are trying to place data into a file that is opened for input only. Type: END.
Now type: OPEN #1,0,0,"D:TEST". You have opened the file, but the system doesn't know what you want to do with it. There must be a 4, 6, 8, 9, or 12 after the first comma of the command. Anything else confuses the issue.
The third thing that will create this error is an illegal XIO call. The Disk Operating System will not recognize any XIO call less than 32 or more than 38. Remember, I said DOS. See the Disk Operating System Reference Manual for more details.
Error Code 169: Directory Full
There is limited space in the DOS Directory. You are allowed a maximum of 64 files per disk. You tried to save the 65th.
Error Code 170: File Not Found
The file you are trying to access does not exist on that disk. Which means you have the wrong disk or you entered the filename incorrectly.
Error Code 171: POINT Invalid
You have tried to use NOTE and POINT to get data from a file you have opened for output (from the computer to the disk). That's a no-no and consider yourself properly punished.
Error Code 172: Illegal Append
There are now two versions of Atari DOS, DOS 1 and DOS 2.0. Using DOS 2.0, you cannot append a file to a DOS 1 file.
Using DOS 1 you cannot append a file, period.
Error Code 173: Bad Sectors at Format
Your disk cannot be formatted because of bad sectors. Sometimes you can retry the format and get it to work. However, if the disk is flawed you run the risk of losing data later.
If you continually get this error, it could mean there is something wrong with your disk drive.
Thus ends our series on Error Messages. Hopefully, I have given a better insight on what those numbers mean. There will be a test on Friday.