Change logs of ugBASIC language

Main branch (pc128op)

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

  • v1.17.1 [rev. 20250329] COLDFIX


    commit: 8fc054e3d (on github)
    • Fixed 16 bit constant comparison greater than on 6809
    • Fixed assembly generation for 6809
    • Fixed starting address on coco when given


  • v1.17.1 [rev. 20250326] COLDFIX


    commit: 2b3a760d5 (on github)
    • Fixed const definition
    • Fixed array access with byte index (big endian)


  • v1.17.1 [rev. 20250320] COLDFIX


    commit: b790e9b11 (on github)
    • Fixed PUT IMAGE with IMAGEREF of compressed images under pc128op


  • v1.17.1 [rev. 20250317] COLDFIX


    commit: 5fd9862db (on github)
    • Corrected negative floating number decoding
    • Fixed mantissa lenght on 6809 floating point conversion


  • v1.17.1 [rev. 20250301] COLDFIX


    commit: dba4ca9ac (on github)
    • Fixed copy of multiple bits under 6809 and sm83 cpu


  • v1.17 [rev. 20250301] COLDFIX


    commit: 8be55e2cd (on github)
    • Fixed signed byte division under 6809.


  • v1.17 [rev. 20250227] COLDFIX


    commit: 581cfa299 (on github)
    • Fixed signed best type calculation


  • v1.17 [rev. 20250225] COLDFIX


    commit: 558e7e39d (on github)
    • Fixed vertical scrolling under graphical mode on 6847


  • v1.17 [rev. 20250222] COLDFIX


    commit: a875f8890 (on github)
    • Fixed wrong CPX instruction under 6809' code generation


  • v1.17 [rev. 20250218] COLDFIX


    commit: 29a4a9636 (on github)
    • Fix string descriptor leak


  • v1.17 [rev. 20250201] COLDFIX


    commit: d1d94fb14 (on github)
    • Fixed reset vars under msx1 when 10 liner is enabled
    • Fixed constant generation
    • Fixed buffer parsing
    • Fixed 32 bit division under 6809 (16 bit workaround)
    • Fixed rle inclusion if not used


  • v1.17 [rev. 20250130] COLDFIX


    commit: 9c5271206 (on github)
    • Add bound check on statically accessed arrays


  • v1.17 [rev. 20250129] COLDFIX


    commit: 7e7f23cf8 (on github)
    • change graphics mode on CPC doesn't always work #1183
    • Sources code embedded must be readonly


  • v1.17 [rev. 20250128] COLDFIX


    commit: 3ad3d2a29 (on github)
    • Fixed startup console initialization (for 10 liners)


  • v1.16.5 [rev. 20250121] COLDFIX


    commit: e3cf824f5 (on github)
    • Fixed 32 bit division under 6809


  • v1.16.5 [rev. 20250118] COLDFIX


    commit: c5484e4f1 (on github)
    • Fixed disruptive optimization rule under 6809


  • v1.16.5 [rev. 20250116] COLDFIX


    commit: a1c007492 (on github)
    • Fixed string to number conversion under 6809
    • Fixed disruptive optimization rule under 6809


  • v1.16.5 [rev. 20250111] COLDFIX


    commit: 36492a504 (on github)
    • Fixed error message if compiler cannot open a file
    • Updated VERSION of z88dk


  • v1.16.5 [rev. 20250102] COLDFIX


    commit: 01ede36b3 (on github)
    • Moved to 2025: new year, new possibilities!


  • v1.16.5 [rev. 20241212] COLDFIX


    commit: bf9a3b250 (on github)
    • Fixed directory not existent error in rebuilding if src-generated is missing


  • v1.16.5 [rev. 20241209] COLDFIX


    commit: 883ea3153 (on github)
    • Fixed KEYBOARD ASYNC support under pc128op
    • Fixed KEYBOARD ASYNC support under pc128op


  • v1.16.5 [rev. 20241207] COLDFIX


    commit: 3272460a7 (on github)
    • Fixed disruptive optimization rule under 6809
    • Added support for explicit versioning of compilers


  • v1.16.5 [rev. 20241206] COLDFIX


    commit: 1e47b1060 (on github)
    • Atari XL Graphics 8 (320x192x2) - Y wraps around at 96px #1068


  • v1.16.5 [rev. 20241203] COLDFIX


    commit: e78272d68 (on github)
    • Optimized descriptor retrieve for dynamic strings


  • v1.16.4 [rev. 20241124] COLDFIX


    commit: 7ca2c8ff4 (on github)
    • Fixed character variable emission
    • Fixed MIDI program replacement if instrument is missing on score


  • v1.16.4 [rev. 20241119] COLDFIX


    commit: a3a7c03f5 (on github)
    • Fixed ppq and tick timing on MIDI>IMF decoding
    • Fixed conflict on zero page for keyboard detection under cia
    • Artefacts on low res scrolling under coco #1037


  • v1.16.4 [rev. 20241117] COLDFIX


    commit: d43cbd51c (on github)
    • Wrong color value for purple on cpc #1029
    • Fixed MIDI instrument decoding on multiple tracks


  • v1.16.4 [rev. 20241113] COLDFIX


    commit: e98d1cfa7 (on github)
    • Refactorized audio duration
    • Added support for division using constants
    • Added cpu division with const.


  • v1.16.4 [rev. 20241111] COLDFIX


    commit: 1d1994fb6 (on github)
    • Conflict between F4 key and F4 note #1004


  • v1.16.4 [rev. 20241101] COLDFIX


    commit: 81f3d5aa2 (on github)
    • Fixed graphical position calculation under 6847


  • v1.16.4 [rev. 20241027] COLDFIX


    commit: 35805c7dc (on github)
    • Fixed CR+LF in strings when printing
    • Fixed array assignment of dynamic strings
    • Fixed floating point conversion under 6809


  • v1.16.4 [rev. 20241026] COLDFIX


    commit: 7ae04ad40 (on github)
    • Fixed filling color and irq management for ef936x scrolling
    • Fixed reset YCURSYS on scrolling on 6809 (DP register)
    • Fixed output for debugging on coco and coco3


  • v1.16.4 [rev. 20241024] COLDFIX


    commit: 40f5ea399 (on github)
    • Fixed IRQ management under plus4 (still testing)
    • Fixed PRINT at the end of the screen (mo5,pc128op,to8)
    • Fixed safe move when filenames matches
    • Fixed optimization on pc128op


  • v1.16.4 [rev. 20241019] COLDFIX


    commit: db0794028 (on github)
    • Extend precision of trigonometric functions #756
    • Fixed check constraints of loading images under ef936x (pc128op, to8, mo5)


  • v1.16.4 [rev. 20241016] COLDFIX


    commit: 065df43a5 (on github)
    • Contextual optimization on integer division with power of 2 divisor.


  • v1.16.4 [rev. 20241011] COLDFIX


    commit: 5be780371 (on github)
    • Fixed n-dimensional array access.


  • v1.16.4 [rev. 20241009] COLDFIX


    commit: af50c96a1 (on github)
    • Fixed BANKREAD / BANKUNCOMPRESS dependency on presence of precalculated banks (pc128op, to8, mo5)
    • Fixed support for (S)DWORD on PUT IMAGE on ef946x (pc128op, to8, mo5)
    • Fixed PUT IMAGE under pc128op
    • Fixed error messages if wrongly called multithreaded instructions
    • Optimized array access on writing (offset calculation)
    • Added CPU instruction cpu_store_8bit_with_offset2
    • GET IMAGE optimizations (SEQUENCE/IMAGES offset precalculation) (pc128op, to8, mo5)
    • PUT IMAGE optimization under ef936 using bank and compression (pc128op)
    • PUT IMAGE optimization under ef936 prefetch frame / sequence (pc128op)
    • PUT IMAGE optimization under ef936 using banks (pc128op, mo5, to8)
    • Optimization in PUT IMAGE call (smaller data types) under ef936x (pc128op, to8, mo5)
    • Fix D register on BANK READ / UNCOMPRESS on ef936x (pc128op, to8, mo5)
    • Added support fot cpu_xor_const CPU instruction
    • Optimization: direct constant values passing on procedure calls
    • Fixed unread optimization rules for relative constants
    • Optimized access to limited monodimensional 1-byte arrays
    • Fixed unread optimization rules for relative constants
    • Added cpu_less_than_and_branch_8bit_const CPU instruction
    • Fixed optimization on 6809 code generation (A->B)
    • Fixed optimization on 6809 code generation (B->A)


  • v1.16.4 [rev. 20241008] HOTFIX


    for pc128op to8 mo6 commit: c54046679 (on github)
    • Optimized array access on writing (offset calculation)
    • Added CPU instruction cpu_store_8bit_with_offset2
    • GET IMAGE optimizations (SEQUENCE/IMAGES offset precalculation) (pc128op, to8, mo5)
    • GET IMAGE optimizations (direct coordinates and banking)
    • Added support for DEFINE RESIDENT DETECTION ON / OFF (pc128op)
    • PUT IMAGE optimization under ef936 using bank and compression (pc128op)
    • PUT IMAGE optimization under ef936 prefetch frame / sequence (pc128op)
    • PUT IMAGE optimization under ef936 using banks (pc128op, mo5, to8)
    • PUT IMAGE optimization under ef936 using banks (pc128op, mo5, to8)
    • Optimization in PUT IMAGE call (smaller data types) under ef936x (pc128op, to8, mo5)
    • PUT IMAGE optimizations (direct coordinates and banking)
    • Fix D register on BANK READ / UNCOMPRESS on ef936x (pc128op, to8, mo5)


  • v1.16.4 [rev. 20241007] HOTFIX


    for pc128op to8 commit: b960147b1 (on github)
    • Added support for inplace XOR
    • Added support fot cpu_xor_const CPU instruction
    • Optimization: direct constant values passing on procedure calls
    • Fixed unread optimization rules for relative constants
    • Optimized access to limited monodimensional 1-byte arrays
    • Fixed unread optimization rules for relative constants
    • Optimized ABS() by using direct jump on compar
    • Added cpu_less_than_and_branch_8bit_const CPU instruction
    • Optimized ABS() by using high byte direct comparison


  • v1.16.4 [rev. 20241006] HOTFIX


    for pc128op commit: 34804fc40 (on github)
    • Fixed optimization on 6809 code generation (A->B)
    • Fixed optimization on 6809 code generation (B->A)


  • v1.16.4 [rev. 20241002] HOTFIX


    commit: 05326f1a1 (on github)
    • Fix CLS under DEFINE DOUBLE BUFFER ON (pc128op).
    • Fixed KEY PRESSED / KEY STATE on multiple key press (pc128op)
    • Fixed screen vertical offset (c64, c64reu, c128)
    • Fixed SPRITE ENABLE / DISABLE with multiplexed sprites (vic2)
    • Fixed PRINT under multicolor bitmap vic2
    • Fixed disruptive optimization rules under 6502


  • v1.16.3 [rev. 20240921] HOTFIX


    commit: 39765312b (on github)
    • Fixed PUT IMAGE routines for multicolor mode under vic2
    • Fixed color detection for multicolor images under vic2
    • Fixed d64 image generation (c64, c64reu, c128)
    • Fixed PUT IMAGE under c64reu
    • Fixed loading banks from d64 on c64reu


  • v1.16.3 [rev. 20240906] COLDFIX


    commit: 23a0a080d (on github)
    • Fixed unsigned power of two division under 6809


  • v1.16.3 [rev. 20240904] COLDFIX


    commit: db2c7b648 (on github)
    • Retro compatible hack: cocon_1163
    • Fixed string tranpilation (memory allocation).


  • v1.16.3 [rev. 20240827] COLDFIX


    commit: 1171bdfc9 (on github)
    • Increased available memory for parsing on compilers (10x factor)
    • Fixed star star (mul2) operator with variables


  • v1.16.3 [rev. 20240825] COLDFIX


    commit: ef4741a8e (on github)
    • Fixed memory exhausting re-using static strings (6809)
    • Fixed add with 32 bit constants under 6809
    • Fixed disruptive optimization rule under 6809


  • v1.16.3 [rev. 20240805] COLDFIX


    commit: 846e26072 (on github)
    • Fixed XOR opcode on 6809 code generation
    • Fixed 6809 instruction for sn-76489


  • v1.16.3 [rev. 20240728] COLDFIX


    commit: 846693ccf (on github)
    • INPUT on Spectrum leaves cursor #914
    • Possible screen misalignment on C64? #915
    • Compiler crash for CoCo target #912
    • Scrolling broken for CPC target #913
    • Scroll causes weird chars to appear on Spectrum target #907


  • v1.16.3 [rev. 20240725] COLDFIX


    commit: 2fbb61e61 (on github)
    • Check correctness of temporary path #902
    • Fixed switch to text mode under vic2


  • v1.16.2 [rev. 20240715] COLDFIX


    commit: 8a8924d45 (on github)
    • Fixed constant emission in empty procedures


  • v1.16.2 [rev. 20240714] COLDFIX


    commit: f147a7a81 (on github)
    • Fixed bit check extended on little endian targets (d32, d64, coco, coco3, pc128op)


  • v1.16.2 [rev. 20240711] COLDFIX


    commit: f7645b137 (on github)
    • Fixed starting number of threads


  • v1.16.2 [rev. 20240702] COLDFIX


    commit: 58d1b91f7 (on github)
    • Fixed 6847 source code for 32 bit compilation


  • v1.16.2 [rev. 20240628] COLDFIX


    commit: 85537fd03 (on github)
    • BITMAP ENABLE without parameters is SCREEN #3 under pc128op/to8
    • On Commodore targets missing label crashes IDE #798


  • v1.16.2 [rev. 20240627] COLDFIX


    commit: 5e857f0be (on github)
    • Added value on negative constant error (E071)
    • Fixed CLINE on pc128op
    • Fixed garbage collection under mo5, pc128op and to8


  • v1.16.2 [rev. 20240623b] COLDFIX


    commit: d96cd402a (on github)
    • Fixed image color decoding on cpc chipset


  • v1.16.2 [rev. 20240623] COLDFIX


    commit: 85197a056 (on github)
    • Fixed BANK READ on pc128op, mo5 and to8
    • Fixed FLIP command - disabled IRQ on flip execution (ef936x, pc128op, to8, mo5)


  • v1.16.2 [rev. 20240619] HOTFIX


    commit: c1b65668d (on github)
    • Initialized to zero variables should be not reinitialized #788


  • v1.16.2 [rev. 20240617] COLDFIX


    commit: 84c844fe8 (on github)
    • Initialized to zero variables should be not reinitialized #788
    • BANKED arrays do not work under pc128op #789
    • Fixed image size asserts referred to frame width / height


  • v1.16.2 [rev. 20240601] COLDFIX


    commit: 7cdc4b714 (on github)
    • Fixed CENTER instruction for CONSOLE support.
    • Fixed LOCATE instruction for CONSOLE support.


  • v1.16.1 [rev. 20240520] COLDFIX


    commit: cd09d1bc1 (on github)
    • Fixed disruptive optimization rule on 6809


  • v1.16.1 [rev. 20240505.0915] COLDFIX


    commit: ff5706865 (on github)
    • fixed DWORD to FLOAT conversion (signed)
    • fixed RND() on 32 bit values


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!