Menu

January 2026 - GCSTUDIO and toolchain release ( draft - this does not yet cover GCSTUDIO and Debugger changes )

Anobium
2026-01-26
15 hours ago
  • Anobium

    Anobium - 2026-01-26

    🚀 Exciting updates in the latest GCStudio release!

    From late October 2025 through January 2026, GCStudio continues to evolve with powerful compiler improvements, expanded device support, debugger enhancements, and a wide range of fixes across PIC, AVR, and LGT targets.

    This release cycle focuses heavily on performance, chip‑family expansion, DFP handling, DAT updates, and robustness improvements across the toolchain. Whether you're working with PIC-AS, tuning I²C on AVR, or pushing new PIC16F1xxx devices, these updates make development smoother and more reliable than ever.

    All changes below are completed unless noted.


    🌟 Summary: What’s New for Users vs Developers

    👩‍💻 What’s New for Users

    These updates directly improve day‑to‑day development, compilation, and debugging:

    • Faster compilation and Preference INI loading (20 seconds → <10 ms).
    • Colour‑coded compiler output for easier reading.
    • More reliable GLCD, LCD, USART, ADC, and I²C behaviour.
    • Expanded support for new PIC families (16F175xx, 16F7xx, 18F4xxx, 16F1804x).
    • Debugger supprt added with new .S chip‑specific headers.
    • Robust PIC-AS integration, including %UserProfile% DFP discovery.
    • Added support for PIC-AS 3v10
    • Better error messages, especially for macros and type mismatches.
    • Updated converters using GAWK for improved reliability.

    🛠️ What’s New for Developers

    These updates enhance tooling, metadata, diagnostics, and internal behaviour:

    • Extended metadata model and new ErrorLog methods.
    • Improved DFP caching and search logic.
    • New DAT entries, corrected pin counts, and expanded chip families.
    • More predictable GCASM page allocation behaviour.
    • Better handling of missing JSON/DAT files in PICInfo.
    • New /DO and /AO switches for build folder workflows.
    • Improved comport handling inside subs/functions.
    • Updated scripts for LCD_IO 10 and SAMEVAR support for multi‑USART devices.

    ### GCBASIC Release Notes: Changes 1524–1553 (Oct 2025–Jan 2026)

    Below is a summary of the latest enhancements, fixes, and updates in the GCStudio toolchain. These changes focus on compiler improvements, library expansions, bug resolutions, and tooling refinements.


    🆕 New Features

    1525 – New PIC16F175xx DAT File

    Added full chipdat support for the PIC16F175xx family.

    1526 – PWM Enhancements

    Resolved compilation issues on legacy PICs lacking 9–10 bit PWM support.

    1530 – Macro Error Reporting Improvements

    Errors inside macros now report the macro source line, not the calling method.
    Includes metadata model extensions and new ErrorLog methods.

    1532 – 18F4xxx 31k Support

    Added 31k memory support for the PIC18F4xxx chip family.

    1533 – DAT ChipSubFamily Enhancements

    Added ChipSubFamily = 15006 with TX1REG redirection in script sections.

    1534 – Privacy Policy Added

    Introduced a new Privacy Policy entry into the toolchain.

    1535 – Debugger: New .S Header

    Added chip‑specific .S header generation for debugger integration.

    1536–1537 – Debugger Performance Improvements

    Major speedups in DFP handling through array caching and improved caching logic.
    Donation messages now appear before compilation.

    1538 – Debugger Build Folder Support

    Introduced /DO and /AO switches for /build folder workflows.

    1541 – Compiler Output Colour Coding

    Added colour-coded compiler output for improved readability.

    1542 – Variable Initialisation on Dimensioning

    New syntax:

    Dim myVar as [type] = [value]
    

    1543 – DAT: PIC16F7xx Frequency Support

    Added frequency definitions for PIC16F7xx devices.

    1544 – PIC-AS DFP Search Enhancements

    Now supports %UserProfile% installations of PIC-AS 3.10+ with DFP packs, even without MPLAB-X.

    Converters Update (02/01/2026)

    Migrated converters to GAWK (replacing AWK) and improved file locking.

    1546 – DAT: Corrected Pin Count

    Updated pin counts for PIC16F1804x devices.


    🛠️ Fixes

    1524 – Compiler: Byte/String Error Message

    Improved error message when passing a Byte to a String parameter via a Sub call.

    1527 – PIC-AS Reverse Lookup Fix

    Resolved reverse lookup errors in PIC-AS.

    1528 – PICInfo Robustness

    Improved handling of missing JSON and DAT files.

    1529 – ADC: 16F175xx Clock Isolation

    Added isolation of legacy clock sources for 16F175xx devices (two related updates).

    1531 – GLCD.DAT Corrections

    Fixed GLCD.DAT and added missing dependent libraries for ST7735R.

    1539 – Debugger Regression Fix

    Resolved missing messages and functionality introduced in #1538.

    1545 – Compiler: BANK Handling

    Added BANK support for PIC16F15001 chip families.

    1547 – AVR I²C Fixes

    • Corrected AVR I²C mode initialisation
    • Updated AVRDXTWI0MODE to pull the I²C bus low
    • Added caching of TWI ControlB register
      (Reference: SourceForge discussion)

    1548 – LCD_IO 10 Support

    Revised script to properly support LCD_IO 10 with constant‑existence checks.

    1549 – USART SAMEVAR Support

    Added SAMEVAR handling for USART2/3/4/5 (SPnBRG and SPnBRGH).

    1550–1551 – GCASM Page Allocation Fixes

    Multiple iterations to resolve PIC16F Page 0 overrun / ORG 0x800 issues.
    Change 1550 was removed after proving ineffective; 1551 provides the corrected solution.

    1552 – Float Calculator

    Latest build with improved error handling.

    1553 – AVR USART Comport Handling

    Improved comport handling when used inside subs and functions.

    PREFS Performance Fix (04/01/2026)

    Massive optimisation:
    20 seconds → <10 ms for 366 settings by relocating SetEnvironmentVariable.


    🎯 Targets and Compatibility

    • Platforms: PIC, AVR, LGT
    • Functional Changes: Yes — many updates affect runtime behaviour
    • Status: All items completed and integrated
     
    👍
    1
    ❤️
    2
  • Anobium

    Anobium - 15 hours ago

    We are still completing the next release.


    🚀 Additional Updates in the Latest GCStudio Release (Changes 1553–1559)

    The momentum continues with several important fixes, compiler enhancements, metadata updates, and new device‑support improvements. These changes build directly on the October–January release cycle and further strengthen reliability across AVR, PIC, and LGT targets.

    All items below are completed and fully integrated.


    🆕 New Features

    1554 – Calculator: 2026 License Data Update

    Updated internal license‑year data for the calculator subsystem.

    1555 – AVR: Added SMVREGS for ATmega328PB

    Introduced new smvregs definitions for the ATmega328PB, enabling full HWI²C support.

    1556 – Compiler: Added 328PBdef.inc to Installation

    The ATmega328PB definition file is now bundled directly with GCStudio for easier setup.

    Updated copyright metadata across multiple components
    (References: 1836, 1838, 1839).

    1558 – Compiler: Major Error‑Handling & Tooling Improvements

    A broad set of enhancements including:

    • Improved error handling for .err and errors.txt files
    • Automatic toolchain switching from AVRasm2 when compiling PIC targets
    • Added error‑log support for MPASM
    • Exposed new tool variable: %GCBASIC_INSTALL_DIRECTORY%
    • Improved build‑directory dialogue with proper indentation and colour
    • Migrated hard‑coded strings into message.dat for consistency

    1559 – Compiler: New RAM Usage Section in HTML Output

    HTML build reports now include a detailed RAM‑usage breakdown for easier optimisation
    (Reference: 1841). See attached example. You now get to see the RAM-usage and ypiu can sort on any of the columns!


    🎯 Targets and Compatibility

    • Platforms: PIC, AVR, LGT
    • Functional Changes: Yes — compiler, metadata, and device‑support updates
    • Status: All items completed and integrated
     

Log in to post a comment.