Releases: spotlessmind1975/ugbasic
Releases · spotlessmind1975/ugbasic
v 1.14.2
Version 1.14.2 of ugBASIC and UGBASIC-IDE has just been released. In addition to presenting a large number of bug fixes since the last published version, it is the first to introduce preliminary support for tile maps prepared with Tiled. Furthermore, the entire examples section has been restructured, and is accessible directly from the IDE.
Precompiled binaries are available here:
https://ugbasic.iwashere.eu/install
v 1.14.1
New features
- Added support for IMPORT DECLARES.
- Added support for SYSCALL.
- Added support for OUT(put) parameters on DECLARE.
- Added support for DECLARE SYSTEM FUNCTION and calling order.
- COCO specific cursor #620
- Added support for DECLARE PROC / FUNCTION.
- Allow inclusion of ASM snippets #156
- Add support for SYS command #300
v 1.14
New features
- Feature Request: C128 (z80 mode without CP/M) #596, target
c128z
- more optimized BANKED for SEQUENCE / IMAGES resources #427
- Add support for floating point data type #522
- added support for
BLIT
operations - added support for file size on additional info
- added support for
PROCEDURE
...ON ALL BUT
target expression - removed
MOB
support - avoid loading images if
PROCEDURE
is skipped byON
attribute - added support for
LIGHT WHITE
color alias - adding support for setting a transparency color #587
v 1.13.3
New features
- added support for palette preserve on atari/atarixl (gtia)
- added support for DEFINE PALETTE PRESERVE / PALETTE NOT PRESERVE;
- added support for implicit label parameter, reset line count and palette preserve on embedded;
- added preliminary support for universal macros.
v 1.13.2
New features
- added call example on the help page;
- changed algorithm for color detection;
- automatic system palette replacing on custom palette building (ef936x);
- inverted transparent and black color (tms9918);
- updated color match algorithm for cpc;
- increased cpc memory available by 4352 bytes;
- change output file name to bin (cpc) #583
- added header to binary file (cpc) #585
- define a 16 color palette for zx #329
- reduced startup string size and count on d32/d64 target
v 1.13.1
New features
- added support for dynamic frame buffer start and memory displacement on atari;
- added support for GET BITMAP / PUT BITMAP;
- added support for dollar-less text functions;
- added abbreviation for END (Ee);
- added support for strings differences;
- add support for DEFINE FONT command;
- added support for embedded / default fonts at compile time;
- VAR shall allow to declare several variables (like GLOBAL) #568;
- automatic type conversion on SQR parameter;
- changed abbreviation for POSITION to Ps;
- added abbreviations for BOX and DO;
- reduced startup string size and count on d32/d64 target;
- force check profile cycling to profile executables;
- removed wait VBL on PUT IMAGE on vic2;
- deferred embedded for precalculated offset under atari;
- implemented WAIT CYCLES PARALLEL;
- not more read only images under msx1 if READONLY is missing;
- managed utf8 in embedded source code;
Bug fixes
Starting with this release, the list of applied bug fixes will no longer be reported.
The individual commits report, possibly, the reference to the open bug.
Thank you all and happy retrocoding!
v 1.13
New features
- added support for TRS-80 Color Computer #124 (coco);
- add support for IN / OUT instructions #521;
- better bitmap support on Motorola 6847 - d32/d64.
- added support for alternative palette under Motorola 6847 #559 - fixed CSS/GRAPH flag.
- added RESOLUTION keyword #546;
- add ORIGIN instruction #544;
- add RELATIVE keyword on graphical commands #545;
- add instruction OPTION EXPLICIT #553;
- replaced graphical font with programmable one (cpc);
- added support for TILE/TILES command;
- added FONT keyword as alias for TILES;
- added (preliminary) support for assembly reporting for 6809;
- added (preliminary) support for assembly reporting for 6502/6510;
- added (preliminary) support for assembly reporting for coleco, msx1, sc3000, sg1000, vg5000, zx;
- added bytes produced counting for each line produced;
- added asm produced reporting;
Bug fixes
- MID shall work with variables in both case ! #548;
- fixed memory violation on image conversion on 6847 (d32/d64).
- fixed busy waiting under z80;
- fixed PUT IMAGE under zx;
- fixed dynamic string gc when resize with size 0;
- fixed peephole optimizer on local variables' strings;
- fixed CPU FILL for 6809;
- fixed RANDOMIZE dependency on internal variables;
- fFxed transparency support for Motorola 6847 (d32/d64);
- added missing ORIGIN / RESOLUTIOn on Motorola 6847 (d32/d64);
- fixed local / global variable definition;
- refactoring on critical error;
- fixed multiplication on various cpus;
- fixed z80 optimizer avoid distructive rule.
- fixed VAL if empty string given.
- fixed string to number conversion on z80 for digit 9.
- fixed decoding of INKEY with shifts under cpc.
- fixed ASC for null strings.
- fixed peep hole optimizer for Z80 on 8 bit increment rule;
- fixed dynamic string gc when resize with size 0;
- fixed OPTION EXPLICIT on (implicit) variable definition.
- problem on drawing with relative positioning #556 - fixed;
- fixed LOAD TILE(S);
- error during compilation on plus/4 #557;
- no reason crash by adding 4 lines (cpc) #555;
- problem with calculation #552;
- fixed division 16/32 bit for 6502/6510;
- problem with calculation #552;
- problem with >= operator #550;
- HSCROLL SCREEN LEFT doesn't compile on Amstrad CPC #549;
- fixed memory access for optimizer;
- moved out common code for optimizer;
- problem with arrays of SIGNED 32BIT values #547;
- refactorized and logical link of optimizators for each processor;
- refactorizing peephole optimization constants.
- avoid illegal memory write during string escaping;
- fixed signed DWORD initialization;
- fixed division with negative numbers with signed result;
- fixed division with negative numbers on z80;
- division problem inside a loop #543;
- changed plus4 ted starting font address;
- changed plus4 ted startup for font defining;
- fixed exe generation for plus4:
- problem with exponential and negatives #542;
- removed implicit CLS at startup (cpc);
- avoid implicit screen mode definition (vic2) (c64,c128);
- avoid CLS on startup to optimize memory space (all);
- problems with PUT IMAGE(S) under CPC 664 #541;
- parasite lines during scroll #537 ;
v 1.12.1
New features
- added support for transparency from PNG #519;
- added support for WAIT FIRE / KEY RELEASE functionality;
- added support for WAIT FIRE;
- added support for SCANCODE on coleco;
- added support for joystick functions using constants;
- added support for read only arrays (READ ONLY / READONLY);
- increased RAM space on colecovision (coleco);
- added toolchains as git modules;
- added support for suffix datatype on variables;
Bug fixes
- EVERY x TICKS GOSUB doesn't work on CPC #535 - fixed and completed
- VSCROLL SCREEN DOWN not working on Amstrad CPC #534 - implemented
- DRAW doesn't do straight lines ! #529 - fixed z80's subtraction;
- joystick isn't correctly managed on CPC #527 - fixed
- impossible to generate a DSK with a midi music file for CPC #526 - fixed endianess of midi lib
- polyline isn't documented #524
- STRING function seems to be limited to 127 characters #520 - fixed
- fixed sg1000 compilation error;
- fixed bank selection on loading (pc128op);
- fix for color selection on ef936x (mo5/pc128);
- fix binary generation for d32, d64, mo5, pc128op;
- fixed IRQ management under d32/d64;
- fixed DSWRITE call on MOS 6502;
- refactorized CRITICAL error messages;
- refactorized makefile;
- restored SEQUENCE LOAD / LOAD SEQUENCE commands;
- restored IMAGES LOAD / LOAD IMAGES commands;
- restored IMAGE LOAD / LOAD IMAGE commands;
- fixed pc128op default output type;
- fixed SCANCODE on coleco;
- fixed timings on VDP on coleco (tms9918);
- fixed KEY keyword for digits;
- fixed COLOR(;;;) on TMS 9918;
- fixed PUT IMAGE vertical offsetting for 6847 (d32/d64);
- avoid to redefine constants / variables already used;
- fixed store 8 bit with offset (z80);
- fixed constant IMAGE WIDTH / IMAGE HEIGHT for cpc;
- avoid optimization for some specific IRQ-dependant direct registers (d32 / d64);
- fixed some modes on atarixl;
- fixed text calculate position for TEXT AT on gtia;
- added informations on width/height info on images (video chipsets);
- fixed JOY() constants for d64;
- fixed JOY() constants for d32;
- fixed constant IMAGE HEIGHT / IMAGE WIDTH based on chipset;
- defining CONST strings on z80 - fixed;
- fixed scanline for gtia mode 12 (atarixl);
- fixed TEXT AT routine for gtia mode 12 (atarixl);
- fixed vertical position calculation under gtia (atari);
- fixed screen mode 13 on atari (gtia);
- fixed CLS for screen mode #11 (atari);
- fixed CLS for screen mode #8 (atari);
- fixed joystick support on pc128op;
- fixed SCANCODE / KEY STATE on cpc;
- fixed IMAGE HEIGHT(;;;) on constants;
- added support for WAIT KEY OR FIRE;
- fixed palette update on PUT IMAGE on cpc;
- fixed PRINT/CENTER for cpc screen mode #1;
- fixed PUT IMAGE on pc128op/mo5 (ef936x);
- fixed MIDI playing for gt 255 bytes (ay8910, sn76489);
- fixed autoselection color on cpc;
- fixed DRAW TO on very high resolution (common);
- add support for transparency on PUT IMAGE for mode 1/2 (cpc);
- fix PUT SEQUENCE, transparency and PUT IMAGE (cpc);
- fixed MID function assignment;
- fixed color matching on image conversion on Motorola 6847 (d32,d64);
- fix support for 256 pixels on PUT IMAGE (d32, d64);
- fixed colors and startup palette on cpc;
- fixed RGB function and constant usage;
- fixed colors on mode 0 (cpc);
- fixed support for explicit tap output format (zx);
- fix - safe removing of binary file or failing during compilation;
- added support for LONG and DEFINE DEFAULT DATA TYPE for constants;
- added support for INT/INTEGER as alias for SIGNED WORD;
v 1.12
New features
- added support for Amstrad CPC #40;
- added LET instruction #293;
- added support for INCLUDE;
- added SWAP instruction;
- added XOR instruction;
- added support for [label:];
- added support for IF abbreviation;
- added support for IF...GOTO syntax;
- added support for SHARED CONST and GLOBAL CONST as alias of CONST;
Bug fixes
- fixed HEX on z80 targets;
- fixed bug on escaped clear screen;
- fixed escaping PEN color when color is 0;
- moved std_image.h under libs;
- fixed bug on raster on TED;
- fixed bug on PLOT on tms9918;
- fixed TEXT AT on TMS9918, EF936x, Motorola 6847, GTIA;
- added missing include file for sg1000;
- removed debug printing on compression;
- fixed abbreviation for ATARI and AT;
- fixed memory scan example for VRAM;
- fixed MMOVE implementation on TMS9918;
- fixed maximum stacked include files;
v 1.11.2
New features
- generate D64 image with PRG #497;
- add (preliminary) support for Philips VG5000 #82;
- added support for embedded compression (#451 #452 #453 #453);
- add support for put image with banking under d64 #485;
- add support for put image with banking under msx1 #486;
- add support for put image with banking under c128 #481;
- add support for put image with banking under c64 #482;
- add support for MSC1 decompression (Zilog Z80) #454;
- add support for MSC1 compression (C) #451;
- integrate MSC1 compression / decompression on image (banking) #455;
- Add support for MSC1 decompression (Motorola 6809) #453;
- added suport for
STORAGE...ENDSTORAGE
,FILE...AS...
ond64
output; - added support for
LOAD ... COMPRESSED
; - added support for direct usage of COMPRESSED keyword;
Bug fixes
- Peephole does not care about autoincrement #478;
- Bank loading on Olivetti PC128 put zero at beginning of block #492;
- fixed MMOVE bug;
- fixed Dragon 32/64 optimizers
- MSC1 optimization for 6809 by Samuel-DEVULDER;
- fixed
PUT IMAGE
onplus4
(ted
); - fixed WAIT CYCLES on pc128op;
- fix PUT IMAGE offsetting (tms9918);
- fix VT_TILE initialization on z80 based targets;
- fix variable generation on bank definition (c128);
- Fix variable generation on bank definition (c64);
- Fix: re-enable irq after waiting for VBL;
- Fixed PUT IMAGE colorization under odd y (tms9918);
- fixed
WAIT xxx TICKS
underzx
;