WARNING! Microsoft's QuickBASIC compilers versions 3.0 - 4.0 have bugs in them that affect ADVBAS users! QuickBASIC 3.0: If you compile a program using ADVBAS in the programming environment with the compile-to-BCOM30 option, the results will be unreliable at best. If you need to generate stand-alone programs, do not use the programming environment with compile-to-BCOM30. Instead, compile from the command line. Check your QuickBASIC manual for more information if you are unfamiliar with that method. A typical syntax will be: QB filename/O; with a letter "O", not the number zero. You may need additional switches besides the "/O", depending on your program. QuickBASIC 4.0: If you compile a program using ADVBAS in the programming environment to an EXE file, your program will be much larger than it should be, if it is correctly created at all. QB4 generates an unusual and arguably inappropriate syntax for linking the file. Instead of using the environment to compile to EXE files, use the stand-alone BC.EXE compiler from the command line. A typical syntax will be: BC filename; LINK filename/EX,,NUL,ADVBAS You can also use the standard switches with BC to produce different output: "/O" for stand-alone (as opposed to BRUN-dependent), "/D" for debug, "/ZI" for CodeView, and so forth. Check your QB manual for more details. Also note that Microsoft has changed the internal handling of static arrays (not a bug as such, but certainly a nuisance), which means that GETSCREEN and PUTSCREEN will not work with QuickBASIC 4.0. Other array routines will work with the stand-alone version of the compiler, BC.EXE, but not in the programming environment provided by QB.EXE (due to a bug in QB.EXE). So, you will be able to use all array routines except GETSCREEN and PUTSCREEN, but only in programs compiled using BC.EXE, not in the programming environment. It is possible to get around this problem, which I have done with the commercial version of the library, ProBas. However, the changes to the routines are fairly drastic, and I can't put them in ADVBAS without violating my contract with HCSI. So, if you really need to use the array routines in the QB4 environment, get yourself a copy of ProBas (see the PROBAS.DOC file). It's guaranteed to be a more effective solution than trying to get Microsoft to fix the problem! QuickBASIC 4.0 also zeroes the comm ports in the BIOS RAM area when you use communications. At a guess, this is for OS/2 and other multitaskers, so other programs don't try to use the comm ports when QB is using them. It causes a number of problems, though-- if your program crashes, the computer will forget that it ever had comm ports until you reboot. This also interacts badly with CHAIN, so you can't reliably use CHAIN with communications. There have been a number of bugs reported with fixed-length strings and long integers. The amount of available string space has been decreased, which can be a real problem. QB4 is also extremely machine-dependent, and will not necessarily work on your clone.