____ ______ ______ ______ ______ __ __ ______ __ __ ______ / __ \ / ____// ____// ____// __ // \ / / / __ // \ / // ____/ / /_/ // ____// ____// /___ / /_/ // /\ \/ / / /_/ // /\ \/ // ____/ /_____//_____//_/ /_____//_____//_/ \__/ /_____//_/ \__//_____/ U.K. **** Present the AMOS Compiler! **** Please read the important text at the end of this file! Congratulations on buying the fantastic new AMOS Compiler! This latest addition to the AMOS family will allow your programs to run at lightening speed with the minimum of effort. If your Invaders from Mars need that extra bit of zest, the AMOS Compiler can give it to them! If your spreadsheet or utility needs that extra bit of processing power, the AMOS Compiler can handle it! It will turn your AMOS BASIC programs into Machine Code, the language of the professionals. Before you begin, you'll need to update your AMOS system to Version 1.3. This new (and previously unavailable) version of AMOS includes many new commands and improvements over the previous version, and is supplied free of charge with the AMOS Compiler. All the new features are documented within this manual, together with the simple procedure to 'update to Version 1.3'. After you've done this, you'll only need to install the AMOS Compiler to be ready to go! The procedure to do this is quite simple and is detailed in the chapter 'Installing the Compiler'. A word of warning though, you must make sure that you are installing the correct version of the Compiler to suit your own system. If you don't do this, you may not be making the most of your systems capabilities. We hope that you enjoy using the AMOS Compiler! To really get the best out of it, you just need to use it.(and keep on using it!) In any case, please let us know how you've got on with the AMOS Compiler by sending in your creations. Who knows? You may soon have written the next best-selling arcade game! Another addition to the AMOS family is a spectacular graphical extravaganza - AMOS 3-D! Now you can create exciting 3-D games like Starglider II and Virus without complex programming or a degree in maths! Now create your own virtual reality with AMOS 3-D! ============================================================================ **** Extra (important!) information **** **** ONLY WITH THIS NEW / LATEST VERSION! **** ============================================================================ (1) How to change that annoying flash! Many people have found the flashing sequence when you load a squashed compiled program to be distasteful. Consequently, we have included an extra option so that you can customise your own flashing sequence. This new option can be used in the same way as any other compiler option (for details, see Chapter 7.) To use the new option, the program COMPILER.AMOS must be updated to include one of the following options: CFLASH$="-Z00" will flash colour 0 (the whole screen) CFLASH$="-Z01" will flash colour 1 CFLASH$=" ? " will flash the mouse pointer CFLASH$="-Z32" will not flash anything. CFLASH$="-Zxx" will flash colour xx. N.B. xx must be a two digit number, e.g. legal 01 03 05 15 22 This new option should replace the old CFLASH$ command at the beginning of the COMPILER.AMOS program. Alternatively, the new "-Zxx" command can be used directly in the command line. (2) The use of VAL in a compiled program. When you compile a program which contains the instruction VAL, you must make sure that the compiler knows if the function is an integer or floating point number. In order to make it as simple for the user as possible, the following procedure is used: * When compiling =VAL(Y), the compiler checks to see if a float number has been previously used in the program. If it has, =VAL will handle float numbers, otherwise it will just return integers, even if your program uses float number AFTER the VAL function. A simple way of acheiving this goal is to simply include an instruction such as a#=0.0 at the beginning of a program, on the outside of any procedures. This will show the compiler that the program uses float numbers, and indirectly sets up the function VAL to handle floating point. Note: sequential file inputting, internaly calls the VAL function. So you should ensure AMOS is in floatting point mode before attempt an input. (3) A few things about variables. The AMOS Compiler is a fast, one-pass compiler. However, because of its lightening compilation speed you MUST make sure GLOBAL variables are structured correctly: * You cannot declare a GLOBAL variable (e.g. Global FOOL) after assigning that variable a value (e.g. FOOL=56): FOOL = 56 **** The incorrect way **** Global FOOL * You must declare a GLOBAL variable before assigning that variable a value. Global FOOL **** The correct way **** FOOL = 56 You must use the same rule for DIMensioned variables by making sure that the GLOBAL command directly follows the DIM command, and not after you have assigned the string. If you follow these simple rules concerning GLOBAL variables you should have no trouble whatsoever with the AMOS Compiler. (4) Compiling VERY LARGE programs (125K+). We have tested the compiler with programs up to 125K of AMOS code. If you have written a larger program, you may encounter problems when compiling. The most common problem is that the compiler may (depending on your code structure) overwrite its own internal buffers. However, since it is very easy to alter the physical buffer set-up, any extra large programs can be compiled successfully. The procedure to do this is listed below: * In AMOS direct mode, type: Rename ":AMOS_System/compiler_configuration" TO ":AMOS_System/compiler_configuration.old" Rename ":AMOS_System/compiler_configuration.large" TO ":AMOS_System/compiler_configuration" This will double the size of the compiler's internal buffer, allowing the user to compile AMOS programs of upto 250K. *Another alternative for advanced users is to use a text editor to modify the buffer definition in the compiler_configuration file: (5) Serial Extension. A minor change in the documentation: - SERIAL BIT should read SERIAL BITS - SERIAL PARITY Channel,parity Parity can have 5 different states: -1 : no parity 0 : EVEN parity 1 : ODD parity 2 : SPACE parity 3 : MARK parity This concludes the EXTRA information section. As long as you use the AMOS Compiler with these simple rules in mind, you should have no problem! THIS FILE IS A DEFCON ONE RELEASE SUPPLIED BY THE ONE AND ONLY QUAZAR!!! PHONE THE DEFCON ONE U.K. H.Q. NOW FOR THE FAST WAREZZZZZZZZZZZZZZZZZZ THE NUMBER GAN BE GOT ON MOST GOOD BOARDS BUT ON MOST OF THE U.K. ONES... L*RZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ QUAZAR.