Menu

Next Release - Overview of changes

Anobium
2020-01-14
2020-08-02
  • Anobium

    Anobium - 2020-01-14

    This the change log. As raw as it is, it is what it is.

    There a host of changes, new capabilities and fixes. This is a big release.

    Evan


    Read each row as follows:
    1. The first number is a simple index number.
    2. Fix or New
    3. Scope/Impact area
    4. Description, if with [] where [nnn] is the SVN commit number, No [] means not commited yet. We have to do this as many parts of the solution need to go out as a complete release,

    Changes to Great Cow Basic and Great Cow Graphical Basic since v0.98.06 Release
    646     Fix      PS2        Revised defines in this header only. No functional change.[946]
    647     New      Converter  Added new parameter to deletetarget=y to all ini files.
    648     New      Compiler   Added new verbose parameter to show the oscillator automatically selected by the compiler.[947]
    649     Fix      DAT        Updated chip .DAT file with corrected internal clock frequencies for 12(l)f501, 16(l)f503, 16(l)f507, 16(l)f508 and 16(l)f509. [948]
    649     Fix      DAT        Updated chip .DAT file with corrected internal clock frequencies for 16(l)f1512/1513/1516/1517/1518/1519/1527/1529. [949]
                                Removal of unsupported chips.
                                Revised as follows: [959]
                                1. Additional comments to dat files.
                                2. Fix for K42 and K83 FreeRam section
    
    650     New      Compiler   Minor compiler change: Show source location of each subroutine in the assembly output[950]
    651     New      Compiler   Minor compiler change: Show source location of each macro in the assembly output[951, 958]
    652     Fix      USART      Optimisation of HSerSend to support optimisation.
    653     Fix      Compiler   Adapted Table EEPROM write address to 0x310000 for K42 and K83 devices (was incorrectly at 0xF00000). Using ChipFamily=1 to test for these parts.[952,953]
    654     New      Compiler   Updated config to explicitly set to RSTOSC=HFINTOSC_1MHZ as the default. [954, 955]
    655     New      Compiler   Add /CP switch to out .config file. File contains the default config for the part. [956,957]
    656     New      GLCD       Added UC1601 GLCD, updated all GLCD to support GLCDFntDefaultHeight []
    657     Fix      initsys    Updated ANSELx to ensure parts without ADCCON[0] have ANSEL set correctly.[960]
    656     Fix      Core16     Correct BTG syntax [961]
    657     Fix      EEPROM     Revised to handle K40 Per Chip Errata Sheets to correctly support table reads on specific chips.[692]
    658     New      System     Revised defines in this header only. No functional change.[693,964]
                                A huge clear out of comments and placement of comments within the #ifdef statements.
    659     Fix      GLCD       Corrected Dim GLCDPixelCount As Long in FilledBox method, was a Word.  A word can overflow.
    660     New      Program    Added AVR programmer using PICKit2 as option in programmer.
    661     New      PPSTool    PPSTool update to 1.78 Microchip MCC database.  v0.0.5.27
    662     Fix      Compiler   Save and restore EEPROM/NVM related registers if changed during interrupt for the K40 chip families[965]
    663     New      HTML       Added OSC and Frequency. to HTML report for extraction to IDE[966,967,968,969] as following examples
                                OSC: HS, 48
                                OSC: INT, 64
    664     New      IDE        IDE information revised to provided OSC and Freq assumed by compiler.  Supports change 663. Example follows.
                                Compiler Version (YYYY-MM-DD): 0.98.<<>> 2019-11-02 (Windows 32 bit)   Program Memory: 2762/65536 words (4.21%)   RAM: 124/8192 bytes (1.51%)   OSC: INT, 64   Chip: 18F47K42
    665     Fix      PPSTool    v 0.0.5.28
                                Checks XML version against Microchip website
                                Attempts at reducing memory usage
    666     New      Website    New BSD download option added.  Thanks to SourceForge Team for resolving.
    667     New      GLCD       New ST7735 driver for the ADAFRUIT ST7735Rx160x80 GLCD.
    668     New      Converter  BMP2GCB supports a wider range of BMP files.
    669     Fix      Converter  BMP2GCB fixed to support long filenames v1.06
    670     New      DAT        Latest update to MPLAB 5.85 [970]
    671     New      GLCD       New e-Paper GLCD drivers for 3_12B and 7_5 inch display.
    672     Fix      LCD        LCD_IO 10,12. Saleae Logic Analyzer shows and up top 35% speed improvement. Removal of redundent I2C transmission.
    673     Nex      SRAM       New SRAM library.  SRAMRead and SRAMWrite added.  See Help and demos for usage.
    674     Fix      IDE        Change datasheets to correct Microchip web page... they changed things
    675     Fix      USART      Revised K42 Receive support to ensure data has been transmissed before the send operation, not (as was) afterwards.
    676     Fix      Compiler   Compiler fix: Fix interrupt context save and restore on 18FxxK42 chip[972]
    677     Fix      LCD        Revised LCDHOME to timing to ensure valid operation
    678     New      IDE/Help   Revised IDE to NOT maximise the Help  when opened within the IDE
    688     New      USB        Inclusion of Signed Win10 USB driver for LIBK/USB
    689     Fix      I2C/2      Corrected SSPxADD calculation for out of bound values for I2C and I2C2
                                1. Added  compiler orrection for out of bounds conditions where the SSPxADD could be set incorrectly
                                2. Added  compiler orrection for out of bounds conditions where the SSPxADD could be set incorrectly where value 0, 1 and 3 are not supported
                                3. Corrected masking error where SSPxADD was masked with 127
                                4. Added  compiler error message to I2C2 and not I2C when using I2C2
                                5. Added  compiler error message to I2C and not I2C2 when using I2C
                                6. Added  compiler test to  issue an error message SSPxADD is calculated greater
    
     

    Last edit: Anobium 2020-01-28
  • Anobium

    Anobium - 2020-01-27

    Updated outstanding fixes/new capabilities in the pipe.

    1   New value/register.variable bit set 
    2   A fix for using a variable as parameter for Macro   
    3   New OSC handler when not INT    You have an email on this
    4   New OSC selected type information for users
    5   Fix String concat errors
    6   New #mandated   New.  
    7   New Timed time ... End Timed`
    8   A fix for binary entries in tables.
    
     

    Last edit: Anobium 2020-01-28
    • Anobium

      Anobium - 2020-01-28

      Adding changes 690-704


      Read each row as follows:
      1. The first number is a simple index number.
      2. Fix or New
      3. Scope/Impact area
      4. Description, if with [] where [nnn] is the SVN commit number, No [] means not commited yet. We have to do this as many parts of the solution need to go out as a complete release,


      690     Fix      DAT        Updated PIC10f320/PIC10f322 and PIC10f220/PIC10f222 for the CPU internal osc line [973,974]
      691     New      RWORDS     Formal release of Reserved Methods as reservedwords.txt [975,976]
      692     Fix      GSTools    Revised makeHEX.bat to improve compilation performance by removal ATTRIB and changed to DIR search to determine files of interest.[]
      693     Fix      PULSEOUT   Corrected PULSEOUT pulse width to correct extra clock cycle.  Existing programs will now have the correct pulse however program that have specific timing using pulseout may need correcting.
      694     New      PPSTOOL    Updated to recognise latest xml files from Microchip v0.0.5.29 and Memory usage and performance improvements [29]
      695     QA       ALL        Quality improvements to libraries [987,981]
      696     New      SPIRAM     New SPIRAM library[986,982]
      697     New      GLCD       New UC1601 library[987]
      698     New      GLCD       New ADAFRUIT ST7735Rx160x80 GLC library[983]
      699     New      GLCD       New ePaper library [983]
      700     Fix      GLCD       Updated all GLCD to support GLCDFntDefaultHeight [] [983]
                                  -Corrected Dim GLCDPixelCount As Long in FilledBox method, was a Word. A word can overflow.
      701     Fix      USART      Added new overloaded method for HSerSend [980]
                                  - Added new handler in HSerSend for USART modules with the TXREG register to improve performance
                                  - Added USARTHasDataSet to work around the evaluation issue in If USARTHasData Then issue
                                  - Revised #ifdef Var(TXREG) section of HSerReceive methods to ensure that previous data has been transmitted
                                  - Revised init to improve documentation
      702      Fix      LCD       Improved Method for toggling "E" in sub LCDNormalWriteByte [979]
                                  - Applies only to IC2/HI2C (LCD_I0, 12)
                                  - Improves LCD I2C performance by ~ 25%
                                  - Removed inaccurate speed comments for LCD_I0 10,12
                                  - Improved delay in LCDHome
      703      New      HWSPI     New MasterSSPADDMode for PIC to support fast mode SPI[978]  
      704      Fix      HWI2C(2)  Functional change: Improved to handle out of band frequency selection based upon chip frequency, corrected SSPADD mask[977]
      
       
  • Jim giordano

    Jim giordano - 2020-01-27

    Is this changelog available somewhere as a file? It's hard to read using the scrollbar to go left and right.

     
    • Anobium

      Anobium - 2020-01-28

      No. I can give you access to the private SVN for all the changes, but, if you have an RC release you have this file in your GreatCowBASIC folder.

      It is maintained as we progress through the backlog,

       
  • David Stephenson

    Are you going to fix the binary table problem I brought up some time ago?
    https://sourceforge.net/p/gcbasic/discussion/596084/thread/adc1781daf/

    I've taken to using the "old" method b'00000000' instead of 0b00000000 to get round this bug.

     

    Last edit: David Stephenson 2020-01-27
    • Anobium

      Anobium - 2020-02-01

      Resolved. See the release notes.

       
  • Anobium

    Anobium - 2020-01-28

    It was in the change backlog. But, it is added, #8, and is now resolved.

     
  • George Towler

    George Towler - 2020-01-28

    Jim, you can copy and paste from this thread to any editor to get full width.

     
  • Anobium

    Anobium - 2020-01-28

    I just figured out... this a huge release!!!

    Lots of great new capabilities, changes and fixes plus quality improvements.

    :-)

     
  • Anobium

    Anobium - 2020-01-28

    Status of outstanding items for this release as at 1700 28 Jan

    Index Item Status
    1 New value/register.variable bit set In Progress. With Hugh in development.
    2 Fix Use variable as parameter for Macro Not started
    3 New OSC handler when not INT Ready for integration config with initsys, then, testing.
    4 New OSC type info users Needs update in SyWrite hanlder. Request with Frank., Then, testing.
    5 Fix String concat errors Not started
    6 New #mandated Not started
    7 New Timed time ... End Timed Not started
    8 A fix for binary entries in tables Ready for testing.
    9 New reserved words parser Not started
     

    Last edit: Anobium 2020-01-28
  • Anobium

    Anobium - 2020-01-30

    The next release has a major change with respect to the setting up of the oscillator when NOT using the internal oscillator.

    Some background

    We need enable the user to use other internal oscillators like LFINT, and, to expose the oscillator type (with frequency) and class to the user. So, the users know what is going on.

    So we needed to
    1. A method to enable setting of alternative internal oscillators.
    1. NOT set the Oscillator when using a non-internal Oscillator

    Changes

    1. A constant so we can change the setup (within initsys() ) to handle non-internal and other clock sources specifically LFINT (which is an internal Oscillator).
    2. A constant that specifies the oscillator type. We need to be able to determine what is INT (as is today), what is external – so, we can set the internal clock sources, and, if external let the use the user do it as we would be guessing.
    3. A consistent method of exposing the selected oscillator and frequency for reporting to the user, with the frequency.
    4. A method of automatically selecting internal SOSC when the selected 0.03268 is the operating frequency. Therefore the compiler needs to set the config appropriately.

    Using the latest compiler.

    What does the user now see?

    In the IDE the following are examples. Note the clock source, the frequency and more key information.

    Compiler Version (YYYY-MM-DD): 0.98.<<>> 2020-01-28 (Windows 32 bit)   Program Memory: 81/65536 words (0.12%)   RAM: 0/2048 bytes (0.0%)   OSC: HFINTOSC_1MHZ, 64 (Internal oscillator)   Chip: 18LF67K40
    
    Compiler Version (YYYY-MM-DD): 0.98.<<>> 2020-01-28 (Windows 32 bit)   Program Memory: 59/65536 words (0.09%)   RAM: 0/2048 bytes (0.0%)   OSC: Default Oscillator Source, 0.031 (External oscillator, clock source must be connected to PIC oscillator pins)   Chip: 18LF67K40
    
    Compiler Version (YYYY-MM-DD): 0.98.<<>> 2020-01-28 (Windows 32 bit)   Program Memory: 59/65536 words (0.09%)   RAM: 0/2048 bytes (0.0%)   OSC: LFINT, 0.031 (Internal oscillator)   Chip: 18LF67K40
    

    New constants ChipUsingIntOsc and ChipOsc

    Two new chip specific constants now exist.

      ChipUsingIntOsc
      ChipOsc
    

    ChipUsingIntOsc will exist if the internal oscillator is selected by the compiler.
    ChipOsc constant gives the actual oscillator chosen, which matches what is displayed during compilation.
    ChipOsc is the user specified or compiler select oscillator, Use ChipOsc the same as the constant ChipName.
    ChipOsc matches whatever is shown for the Osc in verbose mode, so for example when the 16F88 is configured for internal, it uses INTRC_IO in the assembly, and this tests true:

        #ifdef ChipOsc INTRC_IO
          ….
          …..
        #endif
    

    Usage

    Users we be able to use #if ChipUsingIntOsc in the source code to handle internal oscillator in initsys, and the ChipOSC constant as a fallback.

    Note: If there is some new type of internal oscillator that the ConfigValueMatch() routine in gcbasic.bas does not correctly recognise as an internal oscillator we will have to update the compiler

    Example compilation

        Automatically setting chip speed to 48 Mhz
        Calculating CONFIG ...
    
        Chip Settings:
        Chip Model: 18F25K50
        Chip Family: PIC (16)
        Clock MHz: 48
        RAM: 2048
        Oscillator: INTOSCIO
        Running compiler scripts ...
    

    Example user code

        #chip 16F88, 20
    
        PulseOut PORTB.0, 500 ms
    
        #ifdef ChipUsingIntOsc
    
        PulseOut PORTB.1, 1 s
    
        #endif
    

    Changes to core setup

    The following changes have been made uses these new constants.

    1. When a user specifies a frequency of 0.031, at the moment, ONLY this frequency, and the chip has an internal LFINTOSC the compiler will automatically setup the clock.
    2. When a user specifies a frequency that is NOT an internal chip frequency the compiler will NO LONGER setup the oscillator registers. The user will no longer be confused by the compiler trying to setup the internal oscillator.
    3. When a user specifies a clock source the constants will match the selected clock source

    Prerequisites

    To make this all work.... you will need a compiler version 0.98.07 or greater AND new dat dated 30 Jan 2020 or later.

    Question

    Should we add a new user constant to stop ANY setup of the oscillator registers? Leaving the oscillator register setup totally to the user.

     

    Last edit: Anobium 2020-01-30
  • Anobium

    Anobium - 2020-01-30

    Chip listed in the attachment will have the LFINTOSC clock source set correctly when the frequency is 31k for LFINT or LFINTOSC

    The 96 chips are essentially the following chip classes

    PIC(L)16F15xxx
    PIC16(L)F18xxx
    PIC16(L)F19xxx
    PIC18(L)FxxK40
    PIC18(L)FxxK42
    PIC18(L)FxxQ10
    PIC18(L)FxxK83
    

    Enjoy when you get your hands on the release.

    Thanks to all involved in supporting this functional change - Hugh, Jim, Pierre and me!

     

    Last edit: Anobium 2020-01-30
    • Anobium

      Anobium - 2020-01-30

      Edited... I made a bit of error.. not SOSC but LFINTOSC. Correct below.


      During testing I found specifying the LFINTOSC clock frequency as non-intutive... getting 0.031 correct is hard. I had even incorrectly typed in these posts.

      So, we may (not this is passive) add another feature where you can specify 31k as the frequency to aid usage. So, the following could be implemented.

      #chip 16f18326, 31k

       

      Last edit: Anobium 2020-01-31
  • Chris Roper

    Chris Roper - 2020-01-30

    Should we add a new user constant to stop ANY setup of the oscillator registers? Leaving the oscillator register setup totally to the user.

    Not a bad Idea, Something like..

    #Option UserOSC
    

    As it is not feasible for the compiler to be able to preempt or handle all of the possible clock options having an override will let the user manually configure the Internal or External OSC to allow fringe cases, accurate timing or synchronised clock situations.

    GCBASIC’s ability to use Direct register access will allow the user to setup the Internal and External options to suit their own application or hardware specification.

    Cheers
    Chris

     
  • Anobium

    Anobium - 2020-01-31

    Added new frequency option for crystal clock sources.

    #chip 16f18326, 32.768k For crystal clock sources.

    So, I have have added two options, the one above and this one.

    #chip 16f18326, 31k For LFINTOSC clock sources.

     
    • Anobium

      Anobium - 2020-02-01

      Frank has updated the IDE to support the two new frequency as constants. Which means these specific chip frequences will be shown in black and not as numerical values.

      This changes help you get these constants correct.
      #chip 16f18326, 32.768k
      #chip 16f18326, 31k

       
  • Anobium

    Anobium - 2020-01-31

    Status of outstanding items for this release as at 1700 30 Jan

    Index Type Item Status
    1 New value/register.variable bit set In Progress. With Hugh in development.
    2 Fix Use variable as parameter for Macro Not started
    3 New OSC handler when not INT Completed. See here for test/demo
    4 New OSC type info users Completed. See here for test/demo
    5 Fix String concat errors Not started
    6 New #mandated Not started
    7 New Timed time ... End Timed Not started
    8 Fix For binary entries in tables Completed. See here
    9 New Reserved words parser within Compiler Not started

    So, making progress.

     

    Last edit: Anobium 2020-01-31
  • Anobium

    Anobium - 2020-02-02

    Status of outstanding items for this release as at 1700 1 Feb
    Added item #10

    Index Type Item Status
    1 New value/register.variable bit set In Progress. With Hugh in development.
    2 Fix Use variable as parameter for Macro Not started
    3 New OSC handler when not INT Completed. See here for test/demo
    4 New OSC type info users Completed. See here for testdemo
    5 Fix String concat errors Not started
    6 New #mandated Not started
    7 New Timed time ... End Timed Not started
    8 Fix For binary entries in tables Completed. See here
    9 New Reserved words parser within Compiler Not started
    10 Fix LCD library quality improvements In Progress. With Bill, he is testing.

    So, making progress.

     

    Last edit: Anobium 2020-02-03
  • Anobium

    Anobium - 2020-02-09

    WANTED

    Looking for people to review the next release.

    We are close to the release. And, I need folks to test, compile code and try to use the new release.

    So, if you are a Windows user - please ping me. You need to be willing to compile existing projects and test again what you know works. We need to be assured that we have no broken anything. We have 1000s of static and closed loop feedback tests (we know what the output should be with the static tests) but there is nothing like users testing the code.

    In the past I emailed many of you. Not this time.

    Please offer your help - your level of skill is not critical - we need you compile your code and to tell us that all is good.

    Cheers

     
  • Anobium

    Anobium - 2020-02-19

    Status of outstanding items for this release as19 Feb
    Added item #11

    Index Type Item Status
    1 New value/register.variable bit set In Progress. With Hugh in development. Write operations completed.
    2 Fix Use variable as parameter for Macro Not started
    3 New OSC handler when not INT Completed. See here for test/demo
    4 New OSC type info users Completed. See here for test/demo
    5 Fix String concat errors Not started
    6 New #mandated Not started
    7 New Timed time ... End Timed Not started
    8 Fix For binary entries in tables Completed
    9 New Reserved words parser within Compiler WIP. Goto check now implemented
    10 Fix LCD library quality improvements Final Testing
    11 Fix USB Library updated. Demonstration code will need to fixed. Not started
     

    Last edit: Anobium 2020-04-02
  • Anobium

    Anobium - 2020-03-31

    Status of outstanding items for this release as 31 March

    Index Type Item Status
    1 New value/register.variable bit set In Progress. With Hugh in development. Write operations completed.
    2 Fix Use variable as parameter for Macro Not started
    3 New OSC handler when not INT Completed. See here for test/demo
    4 New OSC type info users Completed. See here for test/demo
    5 Fix String concat errors Not started
    6 New #option required Complete
    7 New Timed time ... End Timed Not started
    8 Fix For binary entries in tables Completed
    9 New Reserved words parser within Compiler Complete
    10 Fix LCD library quality improvements Complete
    11 Fix USB Library updated. Demonstration code will need to fixed. WIP
     

    Last edit: Anobium 2020-04-02
  • Anobium

    Anobium - 2020-08-02

    Status of outstanding items for this release as 6th August 2020

    Index Type Item Status
    1 New value/register.variable bit set In Progress. With Hugh in development. Write operations completed.
    2 Fix Use variable as parameter for Macro Not started
    3 New OSC handler when not INT Completed. See here for test/demo
    4 New OSC type info users Completed. See here for test/demo
    5 Fix String concat errors Not started
    6 New #option required Complete
    7 New Timed time ... End Timed Not started
    8 Fix For binary entries in tables Completed
    9 New Reserved words parser within Compiler Complete
    10 Fix LCD library quality improvements Complete
    11 Fix USB Library updated. Demonstration code will need to fixed. WIP
    12 New Support for AVRrc chips. With Hugh to complete development to handle systempN variables. AVRrc chips are: ATtiny10,ATtiny20,ATtiny4,ATtiny40.ATtiny5,ATtiny9 WIP
    13 Fix AVR simple numeric maths fails when constant is first part of the calcuation Complete
     

    Last edit: Anobium 2020-08-07
  • Anobium

    Anobium - 2020-08-02

    Changes add since #704.

    704      Fix      HWI2C(2)  Functional change: Improved to handle out of band frequency selection based upon chip frequency, corrected SSPADD mask[977, 1012]
    705      New      Compiler  Added setting of ChipOsc and ChipUsingIntOsc constants based on oscillator in use (PIC only) [988]
    706      Fix      Compiler  Fixed bug in parsing of binary literals starting with 0b when at the very start of a line [988]
    707      New      Language  Updated message.dat [989]
    708      New      SYSTEM    Updated to change the setup (within initsys() ) to handle non-internal and other clock sources specifically LFINT (which is an internal Oscillator).
                                Automatically sets internal LFINT when the selected 0.031 is the operating frequency. Therefore the compiler needs to set the config appropriately [990,993,1004, 1003, 1002, 1001,1000,999, 998, 997, 995, 1077 ]
    709      New      Compiler  Updated to support LFINTOSC via "32.768K" and "31K" and 125,250k and 500k replacing for frequency [991, 992, 1007, 996, 1010]
                                Compiler isses a warning when an unknown xxK is specified.
    710      New      PPSTool   Updated to cater for K42 warning messages.[30,31]
                                Also, updated to include a method to automatically download and update the XML files from Microchip - but you need at least .net framework 4.5 for it to work.
                                If 4.0 is as high as you can go (i.e. windows XP) it still works as before so don't worry XP users.
    711      New      DAT       Added LFINT value called LFINTOSCClockSourceRegisterValue (sourced from CSV file) for internal OSC and correct Help entries[994,1005]
                                Resolved 16f15313 family chips with incongruous data entries.
    712      New      IDE       Helper lxl file now supports the following as constants in the IDE.  31k and 32.768k []
    713      Fix      USE.INI   Updated USE.INI Corrected typo in AVR_Chips_Using_PK2. Replaced  "Filename"  with %Filename%
                                Also, changed PK+ to PICKIT+ in description field.
    714      New      PPSTool   Updated tp handle XML files available (v1.79.0). [31]
    715      New      Compiler  Implementation reservedwords list for GOTO. Removed END. [1006,1018]
    716      Fix      Compiler  Resolved bug with variables that start with Return like ReturnValue [1008]
    717      Fix      SW I2C    Added LEFT to rotate I2CByte left on line 421 to explicitly state rotation[1011].
    718      New      Compiler  Added "XINST" to the default ASM. Using an alternative like MPLAB IDE explicitly 'set' the XINST as it was not specified. Adding XINST=OFF resolves for the future.[1014]
    719      Fix      GLCD      ILI9341 and ILI9340. Corrected the INIT to handle DI port [1015]
    720      Fix      DAT       Large memory Q10 and K42 now have a valid DAT file.[1016]
                                All Q10 have debug bit removed
                                All updated information language
    721      Fix      System    Removal of personal comments[1017]
    722      Fix      Compiler  Added CPD=OFF as a default for 18F [1019]
    723      Fix      Compiler  Fixed to for TABLE creation error where the table data was corrupted when hex data was defined like 0x4B'comment or -0x3B'comment. The trailing B was being picked up as Binary data.[1020,1025]
    724      New      Compiler  Support for // and /* BLOCK COMMENTS */ [1021,1022]
    725      New      IDE       Support for // and /* BLOCK COMMENTS */ in IDE
                                (?s)/\*.*?(\*/|\Z)
    
                                #all chars after ' or ; to end of line
                                #all chars after rem plus whitespace to end of line
                                '.*|
                                ;.*|
                                rem\s.*|
                                //.*|
    726     New       Compiler  New capability #option REQUIRED [1023]
                                Syntax
                                #option REQUIRED PIC|AVR Constant|Register Message.Dat Entry|String
                                #option REQUIRED PIC CHipEEPROM %NoEEProm%
                                #option REQUIRED AVR CHipEEPROM "String Value"
    727     New       Libraries Updated libaries for #option required [1024,1030]
                                New specific HEF and SAF libraries replacing the existing hefsaf.h
    728     New       DAT       All DAT file reissued with USART in chip section [1027,1028,1054]
    729     New       USART.H   Added #option required []
    730     New       Compiler  Compiler now supports #pragma config. This is to support using MPLAB-IDE source code within compiler. [1021]
    731     New       GLCD      Twin SS1306 GLCD library[1029]
    732     Fix       GLCD      Updated ILI9341x libaries to fix bit test issue [1031]
    733     New       USART     New capability USART.h #option REQUIRED [1032, 1037, 1038]
    734     New       Compiler  Improved Compilation Report with clock information [1033,1034,1035]
    735     New       Compiler  Compiler changes - support for setting variable bits by index. See bits only. [1026]
    736     Fix       Compiler  Compiler fix: Show error for bad On Interrupt mode. [1039]
    737     Fix       Compiler  Resolved case sensitive 'USEIF' statements in Programmer Editor[1040]
    738     Fix       Compiler  Fixed incorrect error message when option explicit used, and variables seen before definition, resolved undeclared OPTION_REG error[1041]
                                Fixed RAM assignment to prevent accesses to higher bytes of variables using _H and similar from leading to additional RAM locations being allocated, part of change 735
                                Error added if bits of an alias are addressed using a variable index, and the alias bytes are not consecutively located, part of change 735
    739     New       Reserved  Added Reserved.csv and Reserved.csv to manage Reserved word[1042,1048,1072]
    740     Fix       EEProm    Corrected support for 16f88xx chips [1043]
    741     New       LCD       Added K107 Serial LCD support [1044]
    742     Fix       Timer     Improved support for setting Timer0 TMRH byte for 16f183xx chips (8/16bit timer)[1045, 1078]
    743     Fix       Millis    Removed query text in library.[1046]
    744     Fix       USART     Revised HSerSend to correct TRMT blocking error[1047,1073]
    745     New       DS18B20   DS18B20.h new sub to set the resolution. D18B20SetResolution ( DS18B20_TEMP_9_BIT | DS18B20_TEMP_10_BIT, DS18B20_TEMP_11_BIT, DS18B20_TEMP_12_BIT )[1048]
    746     New       GLCD      New ADAFruit_mini_colorTFT_joystick_featherwing.h library.  [1050]
    747     Fix       Compiler  Minor compiler change: Changed to ensure ASM SHOWDEBUG is not processed by compiler but as comments.[1051]
    748     Fix       SSD1306   Fix for GLCDINIT to ensure the code does not impact other GLCDs. [1053]
    749     Fix       HWI2C     Revised hwi2c.h to correct SIC2Receive receive count impacted K42  HWIC2Receive operations. [1054]
    750     Fix       HWI2C     Updated to SI32CDisovery. Now using I2C1PIR.7 to detect part and renamed HIC2Init to HI2CInit [1055]
    751     New       HWI2C2    New HWI2C2 for K42 and Q43 parts.
                                HWI2C2.h removal of constants that are not used.
                                Revised LCD.H to support HWIC2C
                                Revised lowlevel.dat to include hwi2c2.h automatically.
    752     New       SYSTEM    Adapted ProgramErase, ProgramRead and ProgramWrite to support PMADRH, PMADRL for newer chips.[1061]
                                Tested ProgramErase, ProgramRead and ProgramWrite with EEWrite or HEFWrite on the following chips 12f1840, 12f1822, 12f1571, 12f1572, 12f1522 and 12f1501
    753     Fix       ADC       Isolation of ANSELx to reduce variables creation[1062]
    754     Fix       HWPWM     Revised to isolate Timer4 and Timer6 in HPWM()[1063,1064]
    755     Fix       USART     Software Serial updated to decrease memory usage. [1066]
    756     Fix       LCD       Revised LCD.h to support VFD initialisation.  New Constant LCD_VFD_DELAY implemented to set a delay between transmission of nibbles when using LCD_IO 4
    757     New       LCD       New LCD sub type supported 1601a. A 16 character / one row LCD with odd memory. See .h for memory details [1068]
    757     New       LCD       New LCD sub type supported 1601a. A 16 character / one row LCD with odd memory. See .h for memory details [1068]
                                Use #define LCD_VARIANT 1601a to use this sub variant. Requires a LCD_IO then this sub type modifier.
    758     New       USART     Minor update to reduce RAM consumption using Serprint() with string constants.[1067]
    759     Fix       DAT       Revised memory and added 16F19197 parts, and, corrected Q10 UserID size/FreeRAM[1068,1070,1071]
    760     New       DAT       New ChipSectorRAMAddress constant is used in user programs to provide the value to Sector RAM Address[1076]
                                New ChipSectorRAMAddressSize constant is used in user programs to provide the size of the Sector RAM
    761     New       Compiler  Improved WinTel processor determination to support 64bit WinTel compiler.  Installer updated to support 32bit and 64bit.[1075]
                                Installation now included  32bit and 64bit compiler where the installer determines operating system support for 64bit.
                                Using FreeBASIC compiler versions are follows:
                                FreeBASIC Compiler - Version 1.07.1 (2019-09-27), built for win32 (32bit)
                                FreeBASIC Compiler - Version 1.07.1 (2019-09-27), built for win64 (64bit)
    762     Fix       Compiler  Updated message.dat to correct OSC language[1074]
    763     New       Timer     Improve Settimer to better support new class of timers for timer 0. Added overloaded Settimer to resolve the the parts with selectable 8 or 16 bit timer.[1079]
    764     New       Compiler  Support for ATMEL chips with 16 GPRs.[1080,1081,1082,1085,1102]
                                Compiler now generates correct instructions for AVR8L reduced core chips (ATtiny10 and ATtiny5, ATtiny20 chips)
                                - Generated for the AVR8L reduced core chips
                                - Change system variables to r16 to r31
                                - Change to LDS and STS 7-bit handling
                                Requires updated .DAT file with correct GPR value.
    765     Fix       Dat       Support for ATMEL chips with 16 GPRs. Updated .DAT file with correct GPR value.[1083,1084]
                                All were re'gened with the following GPR=16 and ChipFamily=121
                                ATtiny10
                                ATtiny20
                                ATtiny4
                                ATtiny40
                                ATtiny5
                                ATtiny9
    766     New       System    String Support and OSC support for ChipFamily121[1087,1095]
    767     New       Core121   Introduce c for ATTinyRC devices.  This is a subset of the ChipFamily120[1086, 1091, 1090,1100]
                                Revised table support for ChipFamily121.
    767     New       Include   Implemented max848xdigitalpot library [1092]
    768     New       PWM       Revised to support ChipFamily 121 - removal of explicit ASM[1094]
    769     New       ADC       Support for ChipFamily 121 and tidy up in LLREADAD and changed to ADLAR = ADLeftAdjust support 121 and reduce code size[1093]
    770     New       AVRDUDE   Added support for ChipFamily 121 parts
    771     New       Compiler  Updated to display programmer selected during programming operation[1098]
    772     New       Compiler  Update for Chipfamily 121 changes to support that "All of USART registers are NOT accessible using SBI and CBI instructions". See the datasheet.
                                usart.h updated to reduce memory usage for Chipfamily 121 [1099]
    773     New       EEPROM    Major update to support 18FxxQ43 family[1103]
    774     New       SAF       Added SAF support for Q43. SAF library updated to handle the Q43 memory management[1104]
    775     New       PROGMEM   Added Q43 support in ProgramWrite and ProgramRead[1105]
    776     Fix       SELECT    Fix for SELECT CASE where no variable is specified[1101]
    777     Fix       Compiler  TBLPTRU word now set by string and data table operations on PIC 18FxxQ10 with over 16 kw (32 kB) of program memory, also see change804[1106]
    778     New       Converter Latest converters [1096]
                                - BMP2GCB handles large BMPs by using converer with extension of .bmp640 as in #include "resources\640384_2.bmp640"
                                - ePaper BMP converters. There create highly optimized/compressed tables. See e-Paper GLCD for example usage.
                                - The creates a GCB Table as follows:
                                -     Table <Name> as WORD
                                -     ' start data
                                -     640' dibHeader.Width = 640
                                -     384' dibHeader.Height = 384
                                -     0           Set color state
                                -     <value of bytes at initial color state>
                                -     <value of bytes at NOT previous color state>
                                -     <value of bytes at NOT previous color state>
                                -     <value of bytes at NOT previous color state>
                                -     ....
                                -     0xFFFF   'end of table marker
                                -     0x001E   'end of table marker
                                -     End Table
    779     New       GLCD      GLCD SH1106 SPI Support and ROTATE added. SetContrast corrected [1107,1108]
    

    This is huge release. :-)

     

Log in to post a comment.