Here are some as they come to mind tips for using Bas9k:
Bas9k source files are not case sensitive.
Labels must be Numeric. They are like Line Numbers, but you only need them if you are going to use them ie they are the subject of a GOTO or GOSUB. There is a 100 label limit currently. Alphabetic labels (followed by a colon : ) will follow shortly.
Variables must be DIMed before use. However, the DEFLONG command will predim A to Z as long, like Basics of the past.
Bas9k tries to do datatype conversions for you, ie moving a DOUBLE variable to a STRING variable will not give an error. The reverse is not true however. This applies to IF comparisons.
Everywhere and expression is called for (<expr>) anything that can evaluate to an expression of the correct type is allowed.
Source files cannot be larger than 30k. This restriction will be removed soon.
For debugging, put the BREAK command in the source where you have a problem, and use DEBUG DUMPVAR ALL or DEBUG DUMPVAR varName to inspect variables.
NEXT does not take a variable parameter. It simply applies to the preceding FOR.
You can use single quotes to specify character values like in VB, eg IF INKEY() = a THEN &ldots;..
You cannot edit source files in the immediate window, but you can execute any commands. This is useful for testing out syntax eg PRINT USER(name)
The output of graphics commands are not persistent ie if they get overwritten by another app they are lost you will have to redraw them.
Arrays can have only one dimension ie if you need a 2 dimensional array (space invaders??) you will have to do the maths in code. Not difficult.
Only one command per line is allowed, ie you cannot separate statements with a colon.
The current Text and Graphics positions are maintained separately. All screenmodes have graphics only the text font/size changes.
LOOK AT THE SAMPLES. I can't stress this enough because I do not have time to do in-depth docs. The Samples show how to use the various commands and good ways to do things.