Here is a list of a few things to do:
- Type #lang "qb" at the beginning of the program.
- COMMAND$ does not automatically convert it to uppercase in FreeBASIC, you have to use UCASE$(COMMAND$) if you want that.
- QBASIC uses column-major order for arrays and FreeBASIC uses row-major order. You can make an array act like column-major order by doing something like #define Images(x,y) Images_(y,x)
- A fixed-length string in a TYPE structure takes up 1 extra cell in FreeBASIC.
- SCREEN 1 in FreeBASIC isn't actually a 4-colors mode, it just fakes it, so you need to calculate the color depth differently in FreeBASIC. You also need to calculate GET/PUT graphics array dimensions corresponding differently for this reason, and you also need to know this for patterns painting using PAINT command.
- In QBASIC, ? could be used as a shortcut for PRINT only in the interpreter, not in the compiler. In FreeBASIC it is accepted to use ? in the compiler.