A89: TIGCCLIB 2.1 released
[Prev][Next][Index][Thread]
A89: TIGCCLIB 2.1 released
Hi!
I just uploaded a new release of TIGCCLIB (2.1) on
ticalc. This release does not introduce many new
features (due to big shortage of my free time). So,
this release contains mainly correction of bugs which
are reported to me during this month. Here is a
what-is-new list:
- The alphabetical list (with appropriate links) of
all functions, macro constructors, language extensions,
global variables, constants and predefined types is
added to the documentation.
- Bugfix: Sprite16 function from sprites.h header file
now works correctly. In addition to this bugfix, a new
function Sprite8 is added for easier working with small
sprites.
- Bugfix: floating point routines caused crash when they
are nested deeply (read: very often). This problem is
finally solved (after a lot of troubles). I hope that
floating point support is now stable.
- Bugfix: FLT macro from timath.h header file generated
unnormalized numbers when they are smaller than 0.1.
Many floating point routines were not happy with such
numbers, and produced wrong results. This is now corrected.
- Bugfix: I hope that I finally found a workarround for a
stupid bug in GNU C preprocessor which causes
STATUS_ACCESS_VIOLATION exception very often when FLT
macro is used with just one argument. Now, it seems that
this problem does not appear any more.
- Programs which use floating point support now usually
procuce a bit shorter code than earlier.
- Bugfix: function div from stdlib.h header file now
works correctly.
- Bugfix: functions strcmp and memcmp were declared as
long, although it seems that these functions leave an
unpredictable results in higher half of D0; they are now
declared as int (Sebastian Reichelt and Xavier Vassor
informed me about strange behaviour of these two
functions). It seems that these problems are solved
after redeclaration.
- Bugfix: function ASM_call from system.h header file
assumed that called subroutine will preserve all
registers, which caused a lot of problems when these
assumptions are violated. ASM_call now saves all
registers and restores them after the execution. In
addition to this bugfix, a new function ASM_fastcall
is added, for faster calling (when you are sure that a
called subroutine will not destroy any registers).
- Bugfix: in release 2.0, it was impossible in "Doors"
mode to create programs
splited in many modules which are linked separately,
because symbol _main was unconditionally exported in
doors.h header file. This is now corrected.
- Bugfix: function GrayMode from gray.h header file now
automatically selects dark plane just after switching
on the grayscale mode. Such behaviour in previous
releases of TIGCCLIB was guaranted only on HW1
calculators, but not on HW2 calculators. So, it was
possible to produce (quite easily) grayscale programs
which work correctly only on HW1 calculators, although
grayscale support is planed to work always on both
hardware versions. This is now fixed.
- Some errors in the documentation are fixed, and the
documentation is slightly updated (especially
informations about big number support in rsa.h header
file). As usual, the Frequently Asked Questions list
is updated with a lot of useful suggestions.
Cheers,
Zeljko Juric
Follow-Ups: