v 1.16.5 #1056
spotlessmind1975
announced in
Announcements
v 1.16.5
#1056
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Version 1.16.5 of ugBASIC and UGBASIC-IDE has just been released.
In addition to containing strong optimizations on the generated code, and numerous fixes and corrections for all targets (especially for the Amstrad CPC 664 and TRS-80 Color Computer 1/2/3 targets), 32-bit division has finally been implemented for the 6809 processor and the code generation for the MOS 6502/6510/8502 has been improved, with a reduced memory footprint. Even more, the
MSPRITE
command under vic2 supports the duplication of graphic definition, in order to reduce the memory requirements. The MIDI to IMF converter has been improved, with support for volume changing and specific percussion handling and automatic instrument calculation that composition software takes for granted, and improvements have also been made to multitasking interleaving capabilities, which can now also handle "busy" waits, making it even easier to write algorithms. Threads can, among other things, be suspended and resumed with theSUSPEND
andRESUME
commands.From this release of ugBASIC, the additional data type
IMAGEREF
is now available, which allows you to represent anIMAGE
, anATLAS
or an entireSEQUENCE
parametrically, that is, as a reference to one of the same graphic elements previously loaded. This tool allows you to modify the graphic resources at run time, thus allowing you to create games with great aesthetic variability. A whole set of instructions has been added, to manage (automatically) the animations and movements of graphic elements, taking advantage of the improved multitasking. In particular, theANIMATE
command allows you to activate and drive animations while the program is running, and so does theMOVE
command, which allows you to move objects in parallel, even synchronized with the animation. This is a fairly recent feature, which will be improved and extended in future versions. The newPATH
data type, together with theTRAVEL
instruction, allows you to calculate all the intermediate points of a path between two points, thus allowing you to easily create "programmed paths", such as those associated with graphic adventure animations. These paths are also available on theMOVE
statement, to allow you to move elements on defined paths.Finally, an additional
OPTION FINAL RETURN
directive has been added, which allows you to generate a subprogram, callable, if the target allows it, from embedded BASIC or in general from the host operating system. Additional pragmaDEFINE RESIDENT DETECTION
allows to optimize the usage of resident memory, when banking is active. ThePRINT RAW
is now available, to print characters without escape sequence parsing. It is now possible to indicate whether an array can receive data from expansion memories, with theFOR BANK READ
andFOR BANK WRITE
options. The conditional compilation has been extended, to support compilation conditional on the presence or absence of hardware sprites (ON SPRITE AVAILABLE
/ON SPRITE NOT AVAILABLE
). The audio and music assets are nowREAD ONLY
by default, as well as graphical assets on "console" type targets. The "retro compatible hacks" have been updated which ensure that previously written games can run without any issues, although there have been some small changes in the specifications.For more information:
https://ugbasic.iwashere.eu/install
https://spotlessmind1975.itch.io/ugbasic-ide
https://sandbox.ugbasic.iwashere.eu
This discussion was created from the release v 1.16.5.
Beta Was this translation helpful? Give feedback.
All reactions