Change logs of ugBASIC language

Beta branch

MAIN cpc atarixl atari coleco c128z c128 c64 c64reu d32 d64 gb msx1 pc128op plus4 sc3000 sg1000 coco coco3 mo5 to8 vic20 zx

This log contains only updates since the last released version (1.17.1).


  • BETA UPDATE [rev. 20250421] BETA


    commit: 9bc3d911a (on github)
    • Double buffer under 6847 #799
    • Corrected disruptive optimization for 6809
    • SET LINE problem (cpc) #984
    • Corrected PUT TILEMAP cannot handle tilemaps on storage, yet
    • Moved CLS BOX as inplace code for pc128op and to8
    • Avoid to change E7CF register on double buffering in to8
    • Moved to8 loader on higher memory position
    • Deploy keyboard manager on demand on to8


  • BETA UPDATE [rev. 20250417] BETA


    commit: 45e26b043 (on github)
    • Fixed embedding clearing stage
    • Corrected PATH arrays to generate transient element on pc128op
    • Corrected TYPEd arrays to generate transient element on to8
    • Corrected to8 prologue and epilogue
    • Added starting address for to target


  • BETA UPDATE [rev. 20250412] BETA


    commit: 16208b152 (on github)
    • Corrected GET IMAGE under 6847 on bitmap colorized mode
    • Corrected optimization under 6809
    • Corrected PUT IMAGE under colored mode for 6847
    • Add support for accessing TYPEd arrays on PARALLEL PROCEDUREs
    • Corrected write on BANK on pc128op


  • BETA UPDATE [rev. 20250405] BETA


    commit: 222948640 (on github)
    • Corrected write on BANK on pc128op
    • Corrected CLS BOX embedded
    • Fixed embedded loading with wrong embedding detection
    • Fixed CSV loading
    • Replaced strcpy to avoid string overlapping issues
    • Add support for DEFINE FONT ALPHA
    • Disabled irq on PUT IMAGE under coco3
    • Add support for SCREEN HORIZONTAL SCROLL under coco3


  • BETA UPDATE [rev. 20250401] BETA


    commit: 67e89ae66 (on github)
    • Add support for optimized banking under mo5
    • Added support for DLOAD on to8
    • Add support for FADE IN / FADE OUT under to8
    • Corrected bank access under to8
    • Add support for STORAGE under to8
    • Address pointer inversion under native type bank access (to8)
    • Even aligned of multibyte data under to8
    • Add support for FADE IN / FADE OUT under to8
    • Optimized PUT IMAGE under ef936x
    • Added optimized PUT IMAGE for 12 pixel images under ef936x
    • Removed code for transparency if not used under ef936x (pc128op)
    • Add support for commenting lines on CSV #1213
    • Corrected IMAGE WIDTH on coco
    • Corrected FADE implementation not using register
    • Optimizations on 6809
    • Corrected code generation for 6809


  • BETA UPDATE [rev. 20250329] BETA


    commit: b06378ba3 (on github)
    • Corrected dsk image generation for coco
    • Optimization of conditional comparison under 6809 (peephole)
    • Optimized IF...THEN...ELSE...
    • Fixed 16 bit constant comparison greater than on 6809
    • Even aligned of multibyte data under pc128op
    • Optimizations under 6809
    • Optimized array access for INC/DEC operations
    • Optimized bank accessing to BYTE native on 6809
    • Address pointer inversion under native type bank access (pc128op)
    • Optimized consecutive addings on 6809
    • Optimized array type access for INC/DEC operations
    • Added peephole optimization on 6809
    • Optimized constant multiplication (16 bit) under 6809
    • Optimized constant multiplication (8 bit) under 6809
    • Corrected bank access with constants on 6809
    • Double buffer under 6847 #799
    • Moved starting video RAM under coco
    • Disabled system irq call under coco
    • Moved starting video RAM under coco
    • Fixed starting address on coco when given


  • BETA UPDATE [rev. 20250327] BETA


    commit: a20332ac6 (on github)
    • Added support for POKE with constants
    • Optimization on TRAVEL
    • Reduced PATH data type to 16 bytes
    • Corrected banked access on decompresion for pc128op
    • Fixed IMAGEREF using single IMAGE (size error)
    • Added support for transparency on 6847 (mode 14 and alike)


  • BETA UPDATE [rev. 20250326] BETA


    commit: 8d28c87c3 (on github)
    • Added support for POKE with constants
    • Corrected optimizations between fields of types using LET
    • Corrected bank access under pc128op
    • Fixed PUT IMAGE under ef936x
    • Added optimization rule for 6809
    • Optimized retrieving of monodim array of type
    • Optimized field to field assignment on array of type
    • Fixed 8 bit constant register loading
    • Optimized field to field assignment on array of type
    • Add DEFINE CLIP as an alias for OPTION CLIP
    • Bank reading optimization under pc128op, to8 and mo5
    • Precalculation of bank address under pc128op
    • Add support for TRAVEL using infix TYPE
    • Addeds support for infix ADDC/ADD on types
    • Add support for INC / DEC using types
    • Add support for INC / DEC using array of types


  • BETA UPDATE [rev. 20250323] BETA


    commit: a155eb0c8 (on github)
    • Added (stub) support for DLOAD banked
    • Corrected array bounds detections
    • Added support for DLOAD over BANK under pc128op
    • Added support for TYPEs and PATHs on banks at startup
    • Adapted CREATE PATH and TRAVEL to support banks
    • Helper functions for debugging
    • Refactorized LOAD CSV on array initialization
    • Added alternative for LOAD TEXT using LOAD CSV
    • Added support for reading single field of TYPE


  • BETA UPDATE [rev. 20250323] BETA


    commit: bd57b90a4 (on github)
    • Add support for FILE CSV stored using TYPE
    • Fixed FILE STORAGE with multibyte values for csv
    • Added support for DATA AS (type) and READ (unsafe) of TYPEs
    • Added preliminary support for LET instruction
    • Added support for FADE IN / FADE OUT on ef936x
    • Fixed array access with byte index (big endian)
    • Add support for user data type #644


  • BETA UPDATE [rev. 20250320] BETA


    commit: ad3b16f57 (on github)
    • Added support for FILE...CSV OF
    • Add support for X-PAD (drawing table) under coco #1198
    • Inverted FILE storage order
    • Added DLOAD support for pc128op
    • Added support for BEGIN STORAGE...END STORAGE on k7 format (pc128op/mo5)
    • Added support for ROTATE VECTOR


  • BETA UPDATE [rev. 20250317] BETA


    commit: 57c55b548 (on github)
    • Moved from VT_VECTOR to VT_VECTOR2 for compilation clashing under win32
    • Added support for scalar multiplication of VECTORs
    • Added support for subtractions between VECTORs in place
    • Added support for subtractions between VECTORs and other numeric types
    • Added support for inplace additions between VECTOR and other numeric types
    • Added support for additions between VECTOR and other numeric types
    • Added support for additions between VECTORs
    • Added support for X() and Y() functions for VECTOR data type
    • Added support for CREATE VECTOR
    • Added preliminary support for VECTOR data type
    • Extend powering to FLOAT type #1203


  • BETA UPDATE [rev. 20250315] BETA


    commit: df4e9c88e (on github)
    • Added support for CLS boxed
    • Optimized PUT IMAGE with TRANSPARENCY COARSE with ef936x
    • Corrected TRAVEL implementation


  • BETA UPDATE [rev. 20250312] BETA


    commit: 5bdc093e0 (on github)
    • Added support for DEFINE TRANSPARENCY COARSE / PRECISE
    • Added support for TRAVEL as function
    • Added support for limited TRAVEL (keyword: CLAMP)
    • Changed PATH to store destination x,y (even aligned)
    • Reduced PATH datatype occupation
    • Fixed inplace array for TRAVEL
    • Fixed TRAVEL syntax (inplace variables)


  • BETA UPDATE [rev. 20250311] BETA


    commit: 2a14b3e92 (on github)
    • Added support for TRAVEL TO...BY
    • Added optimized PUT IMAGE for ef936x


Any problem?

If you have found a problem, if you think there is a bug or, more simply, you would like something to be improved, write a topic on the official forum, or open an issue on GitHub.
Thank you!