Compiler Options

Syntax: mp <inputfile>.pas [options]

-ipath:<folder>    Add the folder <folder> to the unit include path
-define:<symbol>   Define the symbol <symbol>
-cpu:<cpu>         Specify the CPU mode: 6502 (default), 65c02, 65816
-target:<platform> Specify the target platform: a8 (default), c4p, c64, neo, raw, x16
-code:<address>    Specify the memory start address for the code
-data:<address>    Specify the memory start address for variables and arrays
-stack:<address>   Specify the memory start address for the software stack (64 bytes required)
-zpage:<address>   Specify the memory start address of variables in the zero page (26 bytes required)
-o:<outputfile>    Specify the output file path (default <inputfile>.a65)
-diag              Activate diagnostics mode

The unit include path must contain the Mad-Pascal folder lib which contains the standard Pascal libraries. Additional optional standard libraries are in the blib, dlib and wlib folders.

mp.exe example.pas -ipath:<MadPascalPath>\lib -ipath:<MadPascalPath>\blib

The -target option supports the following values for the target platform: * a8 - Atari 8-bit computers. This is the default if the option is not specified. * c4p - Commodore Plus/4 computers * c64 - Commodore C64 computers * neo - Neo6502 computers * raw - Raw binary output without header. * x16 - Commander X16 computers

The -diag option activates the generation of an additional *.txt file with information about all used variables, procedures, and functions.

The default output file name is <inputfile>.a65. It must be assembled using Mad-Assembler. The assembler include path must contain the Mad-Pascal assembler base folder using, for example:

mads example.a65 -x -i:<MadPascalPath>\base

Using the -x option to Exclude unreferenced procedures is mandatory. It ensures that only the used parts of the libraries are compiled and the resulting MOS 6502 object code has the minimum size.

Exit Codes

0 = No errors occurred, the output files were created correctly
2 = Errors occurred, and compiling was aborted
3 = Wrong parameters were specified, and compiling was not started

Warning messages issued by Mad-Pascal do not affect the exit code.