

AMOSpro Compiler Disc layout
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3 Discs:

* Disc 1: "AMOSPro_Compiler:"

This disc will bootable. It will contain at least:

S/AMOSPro_Interpreter_Config		To use the compiler
S/AMOSPro_Compiler_Config	        "
S/startup-sequence

L/...
Devs/...	
C/...

Libs/powerpacker.library		Needed by the compiler
Libs/amos.library			The latest one
Libs/...other system libraries

APSystem/APCmp				The compiler
APSystem/AMOSPro.Lib			The main AMOSPro Library
APSystem/Compiler.Lib			The compiler library
APSystem/AMOSPro_Compact.Lib		The main extensions
APSystem/AMOSPro_Compiler.Lib
APSystem/AMOSPro_Music.Lib
APSystem/AMOSPro_Request.Lib
APSystem/AMOSPro_IOPorts.Lib
APSystem/AMOSPro_Editor_Config		For the error messages
APSystem/AMOSPro_Mouse.Abk
APSystem/Def_Compiled.info
APSystem/CompilerA_Resource.Abk		The shell animated buttons
APSystem/Compiler_Resource.Abk		The resource

AMOSPro_Help/Compiler_Help.Txt		The help files
AMOSPro_Help/Compiler_Help.Map                "
AMOSPro_Help/AMOSPro_Help		The help program, compiled

Compiler_Shell				The compiled shell
Compiler_Shell.info
Install					The compiler installer
Install.info


* Disc 2 : "AMOSPro_Extras:"

This disc will not be bootable. It will contain

Compiler_Examples/... 			All of Jean-Baptiste examples
Compiler_Examples/Galax/...		The galaxian game

Anim/Turtle.anim			The IFF animation

Interpreter_Config.AMOS			Interpreter configuration program
Editor_Config.AMOS			Editor configuration program
Install.AMOS				AMOSPro installer
Install_Data/...			AMOSPro installer data

Compiler_Shell.AMOS			The compiler shell
Compile_Current.AMOS			Small accessory to compile the
					... current program


*Disc 3 : "AMOSPro_Update:"

This disc will be bootable, and contain the AMOSPro 2.0 update.



How to use the compiler?
~~~~~~~~~~~~~~~~~~~~~~~~
Here is a list of all the possible users, and how it will work:


1. You dont have AMOSPro

1.1 You have only one drive
	-a- Boot disc 1, enter registration. Disc 1 will now boot
	    into the compiler shell.
	-b- Select "I don't have AMOSPro", and then "I don't have
	    a hard-disc": the installer will simply quit.
	-c- To compile, either boot from DISC 1 or click on the 
	    "Compiler_Shell" icon from the Wb
	    The compiler will copy all the necessary files onto
	    ram-disc.
	    You can now compile on another disc.

1.2. You have two drives.
	-a- same 
	-b- Select "I don't have AMOSPro", and then "I don't have
	    a hard-disc": the installer will simply quit.
	-c- You can compile as for 1.1., but also select not to 
	    copy the files onto ram-disc, and compile with Disc 1
	    in drive DF0: and your program disc in drive DF1:

1.3. You have a hard drive.
	-a- same
	-b- Select "I don't have AMOSPro", and then "I have
	    a hard-disc"
	-c- The installer will ask where
	    to install your AMOSPro_Compiler, and copy the files
	    in it, save the configuration files at the appropriate
	    locations.
	-d- To compile, two solutions: 1) click on the "Compiler_Shell" 
	    icon from the Workbench. 2) Use APCMP command from the CLI.
	-e- Of course, Disc 1 will be also useable as a stand alone
            compiler...


2. You have AMOSPro.

Before all, you should update your current version of AMOSPro, being
on a floppy disc or on a hard-disc. The updater will be _exactly_ the
same as V1.12 updater. The only modification will be a neat AGA logo
as a title if you run the updater on a AGA machine.

The Compiler Installer will refuse to work if your version of
AMOSPro is not updated.

2.1. You have only one drive.
	-a- same
	-b- select "I own AMOSPro", then "I don't have a hard-disc"
	-c- The installer will copy the appropriate files onto your
	    AMOSPro_System disc.
	-d- Simply reboot your AMOSPro_System disc.
	    You will now have new options in your user menu. You will
	    also find the Compiler_Shell.AMOS in your directory. To 
	    compile, just run the Compiler_Shell. It will copy
	    all the necessary files onto ram-disc so that you can
            compile on an alternate disc.

2.2. You have two drives.
	-a- same
	-b- same
	-c- same
	-d- same as before but you'll wont be obliged to copy the
	    files onto ram-disc, although compiling would be much
	    faster by doing so.


2.3. You have a hard-disc.
	-a- same
	-b- select "I own AMOSPro", then "I have a hard-disc"
	-c- The installer will ask for your current AMOSPro program,
	    check if it is V2.0
	-d- The installer will create a new folder just near the 
	    usual Accessories/Tutorials etc... ones, called "Compiler"
	-e- It will copy the examples, the animation, everything in it.
            It will also copy all the files necessary to have the
	    AMOSPro compiler working.
	-f- Next time you start AMOSPro, you'll have a new automatic
	    assign "AMOSPro_Compiler", pointing to your new "Compiler"
	    folder. You'll have as well new user menu options etc...
	-g- To compile, 3 solutions: 1) from AMOSPro with the menu,
            2) using the compiled compiler shell, 3) from the CLI using
 	    APCMP.
	-h- Of course, Disc 1 will be also useable as a stand alone
            compiler...


The new command line
~~~~~~~~~~~~~~~~~~~~
APCmp will match the new 2.0 standarts of command line syntax.
All the previous parameters used by ACMP are obsolete. You must use the
new ones.

*** please forget what I have written in my previous doc about the "-f"
option!!!


APCMP [FROM] "Source_Name.AMOS" [TO "Object_Name"] 
[TYPE=0/1/2/3] [TOKEN] 
[ERR=ERRORS] or [NOERR=NOERRORS], [LONG] or [NOLONG]
[DEF=DEFAULT] or [NODEF=NODEFAULT] 
[WB] or [NOWB] 
[QUIET]
[TEMP="Temp_Directory"]
[LIBS="Libs_Directory"]
[CONFIG="Config_Name"]


- [FROM]"Source_Name.AMOS" specify the name of the source file. This file
  can be and AMOS program or an ASCII file. FROM is optional. The name
  can include spaces, in this case it must be included in quotes.

- TO "Object_Name" is optional, and specify the name of the program to
  create. If not specifed, the name will be computed from the source
  name. TO must be present.
  Same as "-o" from ACMP

- TYPE=0/1/2/3 is optional, and specify the type of the program to create,
  The number has the same meaning as for ACMP.
  Same as "-t" from ACMP

- TOKEN is optional, and forces the compiler to tokenise the source 
  program, and stop after tokenisation. This way, APCMP behave like a
  simple tokeniser.

- ERR or ERRORS is optional, both syntax will be recognised. Force
  the compiler to include the error messages in the object code. Otherwise
  no messages is included.
  Same as "-e1" from ACMP
- NOERR or NOERRORS is the reverse of the previous one, optional too.
  Same as "-e0" from ACMP

- LONG is optional, and force long branches within the compiled program.
  Same as "-l" from ACMP
- NOLONG is the reverse of the previous one, optional too.
  This is the default.

- DEF or DEFAULT is optional. Force the compiler to create a default screen
  in the compiled program. Default option.
  Same as "-s1" from ACMP
- NODEF or NODEFAULT is optional. Force the compiler not to create a
  default screen. 
  Same as "-s0" from ACMP

- WB is optional. Make the compiled program start in AMOS TO BACK mode,
  allowing a clean startup.
  Same as "-W1" from ACMP
- NOWB is optional. Reverse of the previous one. 
  Same as -"W0" from ACMP
 
- QUIET is optional. Prevent any message but error message from the
  compiler.
  Same as "-q" from ACMP

- TEMP="Temp_Directory" is optional. Specify the directory where to 
  store the temporary files created by the compiler.

- LIBS="Libs_Directory" is optional, and specify a pathname where to
  find all the libraries to compile, instead of using the ones
  normally pointed to within s:AMOSPro_Interpreter_Config
  Same as "-f" from ACMP

- CONFIG="Config_name" is optional, and specify a pathname of the
  Compiler configuration to use to compile.
  Same as "-C" from ACMP


Examples:

APCMP FROM MyProg.AMOS
APCMP FROM MyProg.Asc TOKEN 
APCMP FROM MyProg.Asc TO Compiled WB ERRORS NODEFAULT
APCMP FROM MyProg.Asc NOWB NOERR NODEF TEMP="Ram:" LIBS="Ram:APSystem"

As you can see, although it seems a bit longer to type in, this 
system of command line is much easier to remember than the previous one.


The exact system template is, in a proper AmigaDos syntax:

APCMP FROM/A,TO/K,TYPE/K/N,ERR/K,NOERR/K,LONG/K,NOLONG/K,DEF=DEFAULT/K...
...NODEF=NODEFAULT/K,WB/K,NOWB/K,QUIET/K,TEMP/K/A,LIBS/K/A,CONFIG/K/A

Just copy this in the manual!!!


Cheers! Francois.
