A89: Announcement: TIGCCLIB 2.2


[Prev][Next][Index][Thread]

A89: Announcement: TIGCCLIB 2.2




Hi!

I just uploaded a new release of TIGCCLIB (2.2) on
ticalc. I hope that it will appear in the archive as
soon as possible. The major change in this release is
the documentation, which is completely rearanged and
thrice larger than in the previous release (if someone
from TI reads this, just to know that absolutely nothing
is picked from their SDK documentation). I hope that you
will like the new look of the documentation (and the
documentation too, of course). Frequently Asked Question
list is now really full of useful tips. Here is a 
complete list of what is new in this release:

- The documentation for the release 2.2 is completely
  rearanged to make it much more readable. Moreover, 
  the documentation now contains not only information 
  about library functions, but about the whole TIGCC 
  project, including the compiler options, a brief 
  reference to C language keywords, operators and 
  punctuators, description of GNU C language extensions,
  GNU Assember, and much more. The Frequently Asked 
  Question list is full of new question/answer pairs. 
  In general, the documentation is now thrice larger 
  than in previous release, and it is now in .chm format
  (68 separate HTML files become too inpracticable; if
  someone is really interested in HTML originals, I can
  upload them separately).
- The header file all.h is renamed to tigcclib.h to be
  more consistent. The old name will still be accepted,
  due to compatibility reasons.
- It is not necessary any more to include nostub.h
  header file explicitely to produce a "nostub" program:
  the library will do this automatically if you use any
  other file from the library, except if you define the
  global preprocessor symbol USE_KERNEL, or if you 
  explicitely include doors.h header file at the 
  begining of the program.
- A new directive OPTIMIZE_ROM_CALLS is introduced,
  which optimizes ROM calls in "nostub" mode, which
  usually leads to shorter and faster programs (but not
  always).
- Grayscale support on HW2 calculators is improved to
  be about 50% faster and more flickerless. A new 
  function GrayAdjust is implemented, which allows
  fine tuning of grayscale quality, so it allows to
  reduce flickering as many as possible. Please, 
  recompile your existing grayscale programs if you 
  want to get advantage of introduced improvements.
- It is not necessary any more to put USE_GRAY_PATCH
  in grayscale programs; the library will now conclude
  automatically when the grayscale support is 
  necessary, and it will act accordingly.
- Bugfix: trying to enable grayscale now will not
  cause the crash if the grayscale was already enabled.
- A new function IsGrayMode and a new enumeration 
  GrayPlanes are added in gray.h header file.
- Bugfix: A fatal bug into functions fwrite and fread
  which makes them unusuable is fixed. Also, a small
  bug in fseek (a wrong returned value) is fixed too.
- Bugfix: Function fopen is now much more robust if
  something is going wrong (for example, not enough
  memory).
- A new function enter_ghost_space is introduced, for
  bypassing some protections introduced in AMS 2.04 
  and AMS 2.05
- A new header file intr.h is introduced, which
  contains functions, language extensions, and data
  types for easy making of interrupt handlers, and 
  for general manipulations with interrupts.
- Very useful enumeration CommonKeys is introduced
  in kbd.h header file. It contains keycodes of some
  commonly used keys.
- Bugfix: Function _rowread now works reliable on
  HW2 calculators (they needs more time for 
  recovering the keyboard controlor).
- The documentation now contains the keyboard matrix
  for usage of _rowread function.
- Functions OSVRegisterTimer and OSVFreeTimer are
  rewriten to works independently of the TIOS, 
  because they are removed from TIOS in AMS 2.04 and
  AMS 2.05. Now, they works on any AMS version (in 
  other words: no more "Resident ROM routine not 
  available" message). Please, recompile your program
  if you used these function, to make it compatible
  witn AMS 2.04/5.
- A new function alloca is added into alloc.h and
  stdlib.h header files.
- Bugfix: Function assert will not cause a crash
  anymore when used together with SAVE_SCREEN 
  directive.
- Bugfix: Function assert now works properly if used
  inside if...else constructions.
- Bugfix: Functions assert and ldiv will not trash
  line numbers anymore.
- Bugfix: Functions GetFloatArg, ArgCount and
  RemainingArgCount now works correctly in "Doors"
  mode.
- Bugfix: Small corrections are made in functions 
  poke, poke_w and poke_l, to prevent some unnecessary
  warnings.
- Bugfix: Constants CHAR_MIN and CHAR_MAX in limits.h
  header file are now sensitive to the fact that the
  compiler may be forced to treat chars a unsigned.
- Bugfix: Although I said that impossibility of making
  multi-module programs in "Doors" mode is solved in 
  release 2.1, I forgot to do this. This is now really
  solved, however.
- The library is now programmed on such way that the
  compiler will emit a warning if you try to return a
  value using the return keyword from the _main 
  function, because you in fact can not do this.

Cheers,

Zeljko Juric