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