^1 BITS 'N PC's By Daniel Tobias A collection of Hints, Tips and Bug Reports for all programmers and intermediate to advanced users. ^CBUGS IN "PC CLONES" BIG BLUE DISK calls itself a magazine on disk for the IBM PC and compatibles. This means that we support not only the IBM PC itself, but also a number of other computers which are, to some degree, able to run IBM PC software. Lately there has been a great increase in the number of IBM-compatible computers out there. Many are sold as "generic clones," with the implication that all such machines are exactly equivalent. Unfortunately, this is not always the case. There are many subtle differences and bugs in the various models of computers. For instance, one generic Taiwanese clone we have (from an unknown manufacturer) goes haywire at midnight and starts advancing the date at a rapid pace; you're in the 21st century before you know it. Presumably this is a bug in its internal date-changing routine. I suppose such things are the price you pay for cheap no-name clones. However, even name-brand compatibles are not exempt from bugs. We use several THE (Thompson, Harriman, and Edwards) PC+ computers. We generally find these to be reliable, and they have some features (such as a fast "turbo" mode) not found in the IBM PC itself. However, we have discovered an error in its internal BIOS ROM which can cause serious problems. This bug pertains to the keyboard buffer. On IBM-compatible computers, if you type too fast for the program to process, your keystrokes will go into a buffer. Since this buffer is of limited size (15 characters), it will eventually fill if you keep typing rapidly. At this point, most computers will simply beep at you to warn that your new keystrokes are not being registered. However, under certain (unknown) conditions, filling the keyboard buffer on THE PC+ will cause a system-level error. When this happens, the message "INTERNAL STACK OVERFLOW" will show on the screen, and the system will freeze up. At this point, the only way to restart your system is to turn it off and then back on; even the CTRL-ALT-DEL sequence is disabled. Naturally, this will cause you to lose all data in memory, and it could cause the corruption of any disk files that are open for writing at the time of the system lockup. Thus, if you have THE PC+, you should avoid filling the keyboard buffer, particularly if you have important data in memory you don't want to lose. (It's always a good idea to save the programs and data you are working on to disk regularly, and to keep backup copies, in case of any catastrophe befalling your data. This is true for all computers, not just THE PC+.) ^CA QUICK SAVE IN BASIC If you program in BASIC, you've probably had this happen to you: You are in the middle of working on a program when you find you must leave suddenly to answer the phone, doorbell, a call of nature, etc. In this situation you may not have time or inclination to type a full "SAVE" command, and thus you might leave the program unsaved, with the expectation that you will get back to it in a minute. Of course, by the time you get back, you may find that your kid brother has tripped over the power cord, or rebooted your system to run PAC- MAN, and your program has been lost. As I pointed out above, it's always a good idea to regularly save work in progress. But, if you're too rushed (or too lazy) to type a SAVE command in full, there is a way to do this in only two keystrokes. Simply press F4 followed by F2. This will cause the line ^1SAVE"RUN^0 to be entered. Thus, your program will be saved under the filename "RUN.BAS". This probably isn't the name of your program, but it will do for a temporary save file... you can keep using this keystroke sequence at regular intervals during your work session to always keep a recent version in the "RUN.BAS" file in case of a system crash. (Each newly-saved file will overwrite the previous one.) When your work session is finished, you can either type a full SAVE command to save to the correct name, or just rename the last RUN file. To recover your most recently saved file, just press F3 followed by F2; this will LOAD the file named "RUN.BAS". Another thing... it's a good idea to include the name of your program in a comment at the beginning of the program. This is helpful if you save a program under the name "RUN.BAS" and later forget what program it is... you can just LIST it and find out. If you include the name in a format like: ^11 'SAVE "stuff"^0 it will prove helpful when you want to save it under its proper name. You can then ^1EDIT 1^0, then press the ^I DEL ^N key three times to remove the line number and apostrophe, and press ^I ENTER ^N. This will cause your program to be saved under the name you wish, with little chance of mistyping or forgetting the name. -------------------------- That's all for now; if you have any hints, tips, suggestions, or requests for help on a PC-related topic, please send them in to us; see the article, How To Disk Us, for details.