A89: TIGCCLIB 2.0 released!


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

A89: TIGCCLIB 2.0 released!




Hi!

After a long delay, TIGCCLIB 2.0 is finally released! This release is
really
a new step in TI programming. If you are sceptic, here is a list of a new 
features:

- Starting from this release, TIGCCLIB is much more compatible with ANSI C
  standard library. Nearly full implementation of stdio.h and stdlib.h is
  included (41 new functions in stdio.h and 23 new functions in stdlib.h,
  together with appropriate data structures and types). So, you can now use
a
  lot of functions known from various C tutorials: printf, fopen, gets,
atoi,
  qsort, bsearch, strtol...
- Usage of patches "inits", "longmul", "longdiv" and "gray" is now much
  easier: instead of separate linking, it is enough to define some global
  preprocessor symbols (like USE_LONGMUL_PATCH etc.).
- A directive SAVE_SCREEN is introduced, which allows automatically saving
and
  restoring the content of the screen in "nostub" mode, without needness
for
  calling LCD_save and LCD_restore manually.
- Bugfix: very serious bug which sometimes cause crash in programs which
use
  floating point numbers is corrected (note that this bugfix was released
  before, as a separate file called tcl15fix).
- A lot of new mathematical functions (mainly for manipulations with
symbolic
  expressions, lists and matrices, and for algebra and calculus
applications),
  and functions for "pretty printing" expressions are added in estack.h
header
  file (82 new functions). The list of expressions tags is completed (more
  than 500 tags), and the documentation about usage of expressions stack is
  much updated.
- A new header file events.h is introduced, with 32 new functions for event
  driving programming, and calculator mode settings. Now you can simulate
TIOS
  system events in your programs, and hook into the operating system and
  change its behavious partially (for example, you can redefine the
keyboard,
  add new items in system menus, change behaviour of some commands, etc.).
But
  note that these features require good knowledge of programming.
- A new header file sprites.h is introduced, with 2 new fast and simple
  functions for sprite drawing (including masked sprites).
- A new header file textedit.h with 16 new functions for accessing the text
  editor is introduced. As the text editor which is built-in into the TIOS
is
  highly customizable, you can now write programs with high perfomance
editing
  facilities.
- Four language extension macros TRY, ONERR, ENDTRY and PASS are added in
  error.h header file, to allow error handling similarly like in TI-Basic
or
  in modern programming languages like Delphi. Also, two new functions are
  added in error.h, the documentation about it is updated, and some wrong
  informations are corrected.
- A new header file flash.h is introduced, with 11 new functions for
low-level
  access to the Flash ROM. 3 new functions for high-level access to the
Flash
  ROM are added in vat.h header file.
- Some new data structures are added in vat.h header file, various infos
  related to this header file are updated (especially about organization of
  VAT table entries), and one small bug in it is corrected (HS_NULL was
  wrongly defined).
- A new header file cert.h with 17 functions for working for certificate
files
  and other memory-mapped files (not necessary related to certificates) is
  introduced.
- 15 new functions for high-level accessing to the link port are added in
  link.h header file. Also, some informations about link.h are corrected.
- A new header file rsa.h is introduced, with 8 new functions for working
with
  very big integer numbers, message diggesting and RSA decryption.
- 4 new functions are added in args.h header file, which allow more
flexible
  getting of the arguments passed to the program. The list of argument tags
is
  completed.
- Two new header files limits.h and values.h are introduced. They contain
  various platform-dependent constants (proposed by ANSI). This helps
porting
  programs from other platforms.
- A new header file compat.h is introduced, which defines 18
pseudoconstants
  (e.g. macros which look and act like constants). These pseudoconstants
have
  different values on TI-89 and TI-92 Plus, so they can help making
  compatibility between these two calculator models. Also some
pseudoconstants
  have different values on AMS 1.xx and AMS 2.xx, so they can help solving
  some minor incompatibilities between AMS 1.xx and AMS 2.xx during usage
of
  some functions (although 99% of implemented functions are
AMS-independent).
- Two very useful global variables are added in wingraph.h header file.
Also,
  some informations about this header file and graph.h header file are
updated
  or corrected.
- 12 new functions are added in system.h header file, mainly for
manipulating
  with queue structures, the cursor and the clipboard. Many informations
about
  this header file are updated or corrected.
- Informations about kbd.h header file are much updated. A hint is added
about
  how to avoid slow functions kbhit and ngetchx in high-perfomance keyboard
  reading applications, without using very low-level functions like
_rowread.
- A new header file bascmd.h with 35 new functions is introduced. At the
  moment, this header file is quite incomplete and a bit unconsistent. In
the
  near future it will contain more than 150 new functions. This header file
  contains functions which executes particular TI-Basic statements or
  functions, so after completing this header file, nearly everything which
may
  be done using just one TI-Basic statement/function would be possible
using
  just one TIGCC function (but be aware: the performance will be like
during
  executing of TI-Basic statement/function, so intensive usage of functions
  from this header file is not recommended in high-perfomance
applications). I
  started to develop this header file, but the shortage of my free time
forces
  me to stop developing for a while. I don't want to prolongue releasing of
  whole TIGCCLIB 2.0 only because this header file is not complete. Be
  patient, I will continue developing it as soon as possible...
- 3 new functions are added in menus.h header file. A lot of informations
are
  updated, especially about the exact organization of the menu structure
(this
  info allows making menus with more levels of submenus).
- Function assert is improved, so now there is no any limitations about
usage
  of this function in "nostub" mode.
- Function realloc (proposed by ANSI) is added in alloc.h header file (it
is
  also defined in stdlib.h), and calloc is improved to generate smaller
code.
- Informations for assembly programmers are much updated (many people asked
me
  about examples of using floats in ASM programs, so this info is added).
- More than 200 TIOS functions are no more "unknown", so they are moved out
of
  unknown.h header file.
- The documentation generally and the Frequently Asked Questions list are
  updated.

Cheers,

Zeljko Juric



Follow-Ups: