• Proton Amicus18 Compiler Updates


    Updates to the Proton Amicus18 Compiler are available from here.

    The version of the update and the reason for the update is also available, as well as what has changed in the update.

    Full install of the Proton Amicus18 compiler version 1.0.2.0


    Important
    Because we are working more closely with Microchip
    , and the compiler uses the Microchip MpasmTM assembler, it is required that a version of the MPLABTM IDE is installed on the same machine as the compiler before it will run.

    The Amicus18 compiler installer can be downloaded from here:

    Amicus18 Compiler Setup - Version 1.0.2.0


    A version of the Microchip
    MPLABTM IDE can be downloaded from here:

    MPLAB_IDE_- Version 8.53.zip

    Fixes made in version 1.0.2.0 of the Amicus18 Compiler. (1st November 2011)

    Fixes

    Corrected ABS when assignment and operand are different word variables.

    Amendments
    Optimised negation and ABS.

    Additions
    Added pluginpacker as a default plugin.
    Added mcPluginMgr.dll to the Windows\System32 folder when Amicus18 is installed.


    Fixes made in version 1.0.1.9 of the Amicus18 Compiler. (7th September 2011)

    Fixes
    Corrected COF file creation.
    Corrected preprocessor crash with illegal syntax characters.


    Fixes made in version 1.0.1.8 of the Amicus18 Compiler. (14th August 2011)

    Fixes
    Corrected Hrsout2 modifiers with the 18F25K22 device.

    Additions and fixes made in version 1.0.1.7 of the Amicus18 Compiler. (1st August 2011)

    Additions
    Added string duplication identification. Quoted Character Strings containing the same texts will now occupy a single data statement in code memory.
    This can, potentially, save hundreds of bytes of code memory.
    Optimised LookUp, LookUpL, LookDown and LookDownL commands.

    Fixes
    Corrected the All_Digital directive with the 18F25K22 device.


    Additions and fixes made in version 1.0.1.6 of the Amicus18 Compiler. (1st June 2011)

    Additions
    Added a Continue directive. This moves forward within a loop.
    Added a SizeOf command. This returns the size of a variable, array, or string. For example:

    Var = SizeOf(BitVar) will return a value of 1
    Var = SizeOf(ByteVar) will return a value of 1
    Var = SizeOf(WordVar) will return a value of 2
    Var = SizeOf(DwordVar) will return a value of 4
    Var = SizeOf(FloatVar) will return a value of 4
    Var = SizeOf(MyArray) will return the amount of elements used.
    Var = SizeOf(MyString) will return the amount of bytes used.

    This is ideal for loops encompassing arrays or strings:

    Index = 0
    Repeat
    MyArray[Index] = MyVar
    Inc Index
    Until Index >= SizeOf(MyArray)


    Added support for the 18F25K22 (5 volt operating) device as well as the 18F25K20 device.
    Chosen using the Device directive:

    Device = 18F25K20

    or

    Device = 18F25K22

    If the Device directive is not used in a program, the compiler will default to the original 18F25K20 device.

    Fixes
    Corrected ClearBit and SetBit when using an array as the variable to alter.
    Corrected binary string conversion of length 25 to 32 characters.
    Corrected the Str$ command when converting from a decimal integer.
    Corrected the lack of the multiply library subroutine with the HPWM command.
    Corrected the Cstr function.
    Corrected complement and sign characters within conditions.
    Corrected the compiler sometimes crashing when a variable was not found within a condition on its second parsing pass.

    Amendments
    Updated the IDE to version 1.0.1.0. It now highlights texts following $define.
    Added more RAM bank awareness to the optimiser.
    Added an implicit Access or Banked selection on ASM mnemonics produced by the compiler.
    This was found necessary because the latest Mpasm assembler does not treat defaults correctly.
    Added recognition of Access or Banked selection on mnemonics within the BASIC code. i.e. Movwf Var,1
    Variables, labels and directives in the .LST and .ASM files now appear as they do in the BASIC listing, instead of being all uppercase.
    This makes simulation within the MPLABTM IDE a lot more intuitive. For example a variable named ThisIsMyVar will now not appear as THISISMYVAR.
    Updated the latest MpasmWin assembler to version 5.41.
    Updated PDF manual.

    Known issues
    The ADC macros may not operate correctly with higher ADC ports when using the 18F25K22 device.
    This will be corrected as soon as time permits

    Note
    Third party sites and mirror sites listed on the forum, may not carry the latest version of Amicus18.