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: