From G.H. Wells: geoBASIC bugs and workarounds: 1) The most important bug concerns the use of the UPDATE command. NEVER USE IT! If you ever UPDATE a geoBASIC program, it gets corrupted in such a way that later on, the end of your program will disappear. "The Smee" has discovered that RUNning a program should be done. His advice is to always RUN a program before QUITing or CLOSEing and never use UPDATE. 2) The BITMAP command does not work after a disk command but you can overcome this problem by re-opening your geoBASIC program before using BITMAP. The following geoBASIC sample illustrates how: 10 CREATE "junk" 20 SYSINFO 14, name$ 30 OPEN name$ 40 BITMAP "pic",10,10 Assuming that "pic" is a disk-loadable bitmap, take out lines 20 and 30 to see the problem. 3) Don't close and re-open a VLIR file you are working on. This problem was just recently discovered and a fix had not been found. It may be similar to the BITMAP problem. 4) GeoBASIC is incompatible with some auto-exec files such as Blackout which will make the screen go black in edit mode whenever you move the mouse. This can be fixed, however, by removing Blackout from memory before running geoBASIC. Email bo@prismnet.com for a program called "AntiBLACKOUT" to accomplish this purpose. 5) If you are running geoBASIC on the 40 column screen of GEOS 128, do not have any desk accessories on your disk when you make your program into an application or when you are running it after making it an application. Desk accessories work fine under GEOS 64 but they screw up the loading of stand-alone applications under GEOS 128. 6) Always RUN your program just before you make it into an application. 7) Never POKE or LOAD anything into the background screen memory. The only safe place to store machine code is in the foreground screen memory which extends from 40960 to 48959. It is usually easy to design your screens with a little blank area in them in which you can set both colors to white so the machine code will not show up. If you are not a machine code programmer then you will not have to worry about this. 8) WRITE puts a CHR$(0) at the end of every item which it puts into a file, plus another CHR$(0) at the end of each record. This listing shows how to "bury" those zeroes in a geoWrite file, so that they won't interfere with the text. They're made a part of four-character font, style "escape sequences'" that say, "plain text." Note: Line 60 "works around" a bug in the HEADER statement. And, line 70 adds a field which isn't even touched by HEADER! Those lines show you where to go when you want to customize CREATE/SAVE's fileHeader. 10 rem subject: hiding write's chr$(0) 20 rem this shows how to bury write's chr$(0) terminator in an escape sequence 30 rem demo code makes a geowrite 1.1 file. 40 z$=chr$(0):nc$=chr$(23)+chr$(9):ns$=nc$+z$:rem sets plain bsw9 font 50 rl$=chr$(223)+chr$(1):rl$=z$+z$+rl$+rl$+rl$+rl$+rl$+rl$+rl$+rl$+rl$+ns$ 60 header 7, "Write Image v1.1",1: poke 28452,49:poke 28453,46:poke28454,49 70 for p = 1 to 9:poke 28478+p, asc(mid$("geoWrite ",p)): next 80 create "list": for p = 0 to 125: append p: next 90 for p=0 to 2: ptrec p: restore: write rl$ 100 for w = 1 to 16: read d$: write " " +d$+ns$," "+d$+ns$: next: write nc$: next 110 write "": ptrec 0: close 120 data "name-1", "name-2", "name-3", "name-4", "name-5", "name-6", "name-7" 130 data "name-8", "name-9", "name-10", "name-11", "name-12", "name-13", "name-14" 140 data "name-15", "name-16" It's important that there aren't any typographical errors in your program file! Be sure to correct the two string literal constants (in lines 60 & 70)! They must be in lower case, with only certain letters in capitals. 9) DELETE _may_ cause the same effects as UPDATE does. Do not use DELETE from Direct mode unless you need to delete a lot of multiple lines. To delete a line it is best to type the line number the line is on and hit return. 10) When using the FONT command, you may have noticed that by Typing in FONT "BSW",9 doesn't automatically select the BSW font which is resident. This is not only annoying but wastes time. Use CALL 49483 which will call up the BSW resident font instantly. 11) When you call up a DBSTRN dialog box, and it has TEXT which you have programmed into it, you may have noticed that the Text prints in bold. To Defeat that, type in as follows: DBSTRN CHR$(27)+"Enter Input",IN$ 12) If you have used the variable functions within DIALOG (using the Editor to design the DB) You should have noticed that the last character gets chopped off into limbo. To avoid this create a permanent variable such as SP$=" ". There should be a space between the quotes. When creating your dialog box, and you want the variable, such as B$ to print out in the dialog box, enter it as follows: B$+SP$ The space that gets to go to limbo now is SP$.