SubVersion: $Id$

Log of changes (libticalcs):

- 01/11/2016, version 1.1.9: debrouxl
	- comment out ID-List capability for the 83PCE and 84+CE. Reported by Adriweb, testing by Lionel unsurprisingly confirmed the issue.
	- add clock support for the TI-eZ80 series; add and use dusb_cmd_s_param_set_r_data_ack() to factor some code, add torture test for it.
	- fixes for 84+(SE) DUSB and TI-eZ80 ROM dumping issues reported by Irrelium, Pie-jacke and Adriweb on IRC.
	- use naming prefixes in dbus_pkt.h, dusb_cmd.h, nsp_cmd.h; fallout in other files.
	- lots of new DUSB parameter IDs, DUSB-related code hardening, new entries in InfosMask / CalcInfos, new functions related to DUSB vpkts, DUSB CAs, DUSB CPs, NSP vpkts, and the corresponding torture tests.
	- factor out more code in cmd{z80,68k}.c, thanks to a new helper function.
	- expose a bunch of tiz80_* and ti68k_* DBUS functions, which both raises flexibility and allows rewriting their callers as macros, factoring a bunch of (quasi-)duplicated code.
	- add Nspire key definitions file, use a mixture of generic and Nspire-specific send key in test_ticalcs_2.
	- widen key codes argument of ticalcs_calc_send_key() and CalcFncts.send_key() from 16 to 32 bits, so that ticalcs_calc_send_key() can be used for Nspire keypresses.
	- synchronize send_var and send_var_ns implementations, fixing e.g. missing entry->action == ACT_SKIP checks or a missing pbar update; prevent nullptr derefs and OOB writes upon specially crafted FileContent instances, which might be passed directly to libticalcs, though libtifiles is not supposed to generate such invalid structs (and probably doesn't under normal conditions, given lack of bug reports).
	- allocate a second 65542-byte buffer for DBUS in CalcHandle, and use it at several places. Fixes TI-68k/DBUS transfer issues reported by Oliver "Boscop" Hoog.
	- add a no-probe mode to test_ticalcs_2, so that e.g. dissection is available without a connected calculator.
	- fix a couple UMRs, factor out a bit of code related to sending TI-Z80 DBUS backups, print decimal size at more places.
	- move more globals to _CalcHandle for thread safety / independence of cable instances, which requires a bunch of API changes for passing CalcHandle *. Additionally, make a number of API parameters unsigned and fix the induced warnings.
	- export Nspire RLE-compressed screen uncompression as ticalcs_screen_nspire_rle_uncompress() and 84+CSE RLE-compressed screen uncompression as ticalcs_screen_84pcse_rle_uncompress().
	- remove all occurrences of TRYF from calc_73.c, which completes, at long last, the TRYF removal work :)
	- remove all occurrences of TRYF from calc_9x.c, fix leaks and memory errors.
	- unify calc_89.c and calc_92.c to calc_9x.c.
	- fix VarEntry memory leaks, some of them pointed by Coverity.
	- fixes and improvements mainly in NSP code.
	- replace {snprintf,strncpy} + explicit termination by usage of new ticalcs_{slprintf,strlcpy} macros, as I should have done earlier (suggested by Benjamin Moody); include tiny pause.h and macros.h from internal.h; don't include ticonv.h explicitly, ticalcs.h depends on it through tifiles.h.
	- correct format of 84+ DUSB remote keycode packets.
	- fix TI-73 and 83+ keycode definitions, and add new keycodes.
	- unify calc_80.c, calc_83.c and calc_86.c to calc_8x.c. Remove all occurrences of TRYF from the merged file.
	- unify calc_85.c and calc_86.c. Remove all occurrences of TRYF from the merged file.
	- unify calc_82.c and calc_85.c, which are the closest calc_*.c files, as we knew. Remove all occurrences of TRYF from the merged file.
	- in calc_*.c files for DBUS calculators, use macros for calls to cmd*.c files, so that it's easier to spot the differences, for later unification of (a subset of) the code. Squelch several occurrences of diff noise. Non-Functional Change.
	- support sending backups to 84+ / 84+CSE / 82A / 84+T DUSB.
	- support sending/receiving backup version number for 83+ DBUS.
	- for Z80 DBUS, allow embedded NULs in variable names.
	- fix integer conversions when parsing Z80 backup headers.
	- expand the documentation of ticalcs_calc_isready. Suggested by Benjamin Moody.
	- use correct length when receiving apps from 84+ DUSB.
	- add initial support for 84+T model, fix several bugs in 82A support.
	- in the torture tests, use __LINE__ instead of a counter, and remove some of the blank lines. Suggested by Benjamin Moody.
	- in ticalcs_device_info_to_model(), use a saner default for unexpected variant for the TI-(e)Z80 USB cable, and constify the argument. Suggested by Benjamin Moody.
	- leverage ticonv_varname_to_utf8_sn() to simplify a significant number of repeated code snippets in calc_*.c; use ticonv_varname_to_utf8_sn() instead of ticonv_varname_to_utf8_s().
	- treat all unknown rejection codes as errors.
	- handle version byte for DUSB transfers to 84+ series.
	- handle version byte for DBUS transfers to 83+/84+/84+CSE.
	- add 83PCE / 84+CE ROM dumping. Calculator-side dumper made by jacobly.
	- add and rewrite functions related to calc model categories and protocol support; replace a number of g_free() calls by wrapper of g_free() calls; add torture tests for the new functions.
	- split the bulk of dbus_recv() to dbus_recv_header() + dbus_recv_data(); export those and add torture tests for them; remove some long-dead code in dbus_pkt.c, remove dbus_recv_2(). Indirectly suggested by a discussion with SirCmpwn about the computer side of KnightOS's linking code; also a very old suggestion by Benjamin Moody.
	- kick out more occurrences of TRYF, is_ready + send_key + execute + recv_screen edition; factor out some code common to get_dirlist() functions; shorten the "length" argument of ti{89,92}_recv_XDP(); fix some bugs pointed by Benjamin Moody.
	- inline our trivial logging functions, which enables checking arguments wrt. format (without putting format annotations, that is), fix several bugs uncovered by this change; remove all remaining occurrences of TRYC from libticables.
	- add FTS_NONSILENT in CalcFeatures; advertise it for the 82, 85, 89/92+/89T(DBUS)/V200 and 92.
	- add Travis CI integration.
	- replace deprecated AC_PROG_LIBTOOL with LT_INIT.
	- add bitmap (screen) conversion functions, add ticalcs_calc_recv_screen_rgb888() and ticalcs_free_screen(), add torture tests, replace a number of Glib function calls by indirect equivalent calls.
	- in calc_84p.c::get_version(), add exact math retrieval, fix bpp, and add 83PCE/84+CE detection; add ticalcs_infos_to_string() (formerly the bulk of tilp_calc_get_infos()), add torture test, use it in test_ticalcs_2, add translations.
	- add DUSB packet dissection to libticalcs, already a superset of what libticables does for DUSB; add several bounds checks; in torture_ticalcs, use several subroutines to improve maintainability, add torture tests and unit tests.
	- fix a NULL pointer passed to memcpy in dusb_recv_data_varsize() flagged by ubsan; fix UMRs in dusb_cmd_r_var_header(); add support for receiving RclWindw from 83PCE / 84PCE (found by own tests, thanks Adrien "Adriweb" Bertrand" for the reason); whitespace changes.
	- fill in TI-eZ80 support in dusb_vpkt.c::workaround_{send,recv}(): computer -> calculator needs ZLPs, but calculator -> computer doesn't. Reported by jacobly.
	- fix a couple obvious errors in keys files.
	- import several functions from libti* clients (tilp, titools). Most functions made and/or suggested by Benjamin Moody.
	- define attribute 0x13 as AID_ARCHIVED2; omit harmful 'archived' attribute when deleting variables on DUSB calculators (84+ family, 83PCE/84+CE, 89T).
	- make FileContent.num_entries, FlashContent.num_pages, TigContent.n_vars, TigContent.n_apps, CableOptions.timeout, CableOptions.delay unsigned; have several functions of the API take or return unsigned int instead of int.
	- move some file-static variables (long-standing gripes of multiple persons) to a new struct inside _CalcHandle or use what's available there; add dusb_set_buf_size(), suggested by Benjamin Moody.
	- scattered fixes resulting from Coverity Scan, afl-fuzz and code inspection.
	- add a number of helper functions for symmetry, add them to the torture tests, and fix memory leaks & memory errors in the torture tests and/or the libraries.
	- fix -Wmissing-prototypes warnings, as suggested by Benjamin Moody; fix the build on FreeBSD 10; cleanup for MacOS X (twice, Adrien "Adriweb" Bertrand reported a buggy change).
	- add support for sending OS upgrade files, FlashApp files and > ~1000-byte regular files to, and receiving FlashApp files from, TI-eZ80 calculators. Add a product ID field to CalcFncts and instances thereof.
	- add .send_all_vars_backup and .recv_all_vars_backup function pointers to CalcFncts; adjust all instances of CalcFncts; add ticalcs_calc_{send,recv}_all_vars_backup(); change the prototype of internal tixx_recv_all_vars_backup(); reduce code duplication by introducing noop_*() functions in calc_00.c, and use them from other calc_*.c files.
	- nested folders support for Nspires (SF feature request #3459852); while at it, get rid of TRYF in Nspire code, as well as of the few TRYC in the library.
	- in the README, mention that autoreconf needs to be run before ./configure can run. Reported by SirCmpwn.
	- use the correct full name for the V200 PLT. Reported by Adrien "Adriweb" Bertrand.
	- export ERROR_EOT alongside ERROR_ABORT, it can be useful for some clients of the library. Suggested by Benjamin Moody.
	- fix packet size for DUSB remote keypresses.
	- when using VALIDATE_*() and RETURN_IF_*() macros, postfix them by ;, and for good measure, wrap them into do { ... } while(0);. Suggested by Adrien "Adriweb" Bertrand and Benjamin Moody.
	- add some 83PCE / 84+CE / 84+CE-T and 82A support, and perform the usual software engineering work.
	- fix dozens of more (UAF, DF, OOB accesses) or less (tiny memory leaks, dead code) severe issues reported by Coverity Scan. Several other issues found by code inspection.
	- define REJ_VERSION in dbus_pkt.h.
	- fix packet size for TI84PC variable headers.
	- restore special-casing of ERR_EOT return value from dusb_cmd_r_var_header(), lost in a recent commit. Reported by Hooloovoo.
	- Add .gitignore, remove globbing from libtifiles makefile.am, fix a warning in libticables error.c, remove unneeded config.h.in
	- get rid of TRYF in DUSB code and DUSB calc code, fixing a number of minor memory leaks and constifying pid / aid arrays in the process.
	- reduce code duplication by factoring sanity checks to new VALIDATE_*() and RETURN_IF_HANDLE_*() macros; several drive-by fixes, e.g. many remaining left shifts with count larger than width of type, or minor memory leaks caused by TRYF.
	- reduce code duplication by consolidating cmd73.c, cmd80.c, cmd82.c and cmd85.c into a single cmdz80.c file. Constify a data pointer argument to several functions.
	- reduce code duplication by consolidating cmd89.c and cmd92.c into a single cmd68k.c file. Constify a data pointer argument to several functions.
	- replace all remaining calls to strcpy() by strncpy(), even where no overflow would occur; several drive-by fixes, e.g. left shifts with count larger than type width, or initialization of local char arrays by empty constant strings.
	- fix the prototype of multiple ti*_XDP functions, reported by Michael Tautschnig (TILP SF bug #216).
	- attempt to cope with NULL CalcFncts pointers in improper CalcHandle structs; get rid of a number of TRYC.
	- add a bunch of machine IDs for communicating with CBL devices, found by CVSoft, Kerm and others.
	- add ticalcs_supported_calcs() API, suggested by Jonimus.
	- review error files. Have ticalcs_error_get() uniformly use g_strconcat/g_strdup like tifiles_error_get() and ticables_error_get(), instead of strcpy+strcat+g_strdup with a statically-sized buffer on the stack.
	- produce export (def) files on Win32.
	- build fixes for parallel make.
	- remove more auto-generated / copied files from the repository; upgrade gettext dependency to 0.18 (from May 2010).
	- in src, simplify TRYF(f(...)); return 0; to return f(...); in test_ticalcs_2, get rid of TRYF().
	- fix romdump.c build after cmd73.h disappeared (the include wasn't needed anymore, at that); while at it, reformat the code, get rid of TRYF(...), make most functions from romdump.c static.
	- fix OS transfer on multiple TI-Z80 models. Patch by Jon Sturm, testing by him, Lionel and possibly others.
	- refactor headers exporting internal ti*_{send,recv}_* functions; add extern "C" for C++ mode to multiple exported headers.
	- kill a bunch of memory errors spotted by AddressSanitizer in the TI-Z80 and TI-68k calc_* and cmd* files; harden cmd82, cmd85, cmd92 and export the corresponding headers; add torture tests for newly exported functions.
	- in test_ticalcs_2, make sure not to read past the bounds of the array of function pointers.
	- add support for several DBUS commands for the 83+ family: sending EKE, DKE, ELD, DLD, GID, RID and SID, and receiving SID. Use them in test_ticalcs_2, add them to torture test.
	- harden and export cmd73, cmd80 and cmd89 functions; expand torture test.
	- in torture tests, print local traces to stderr instead of stdout. This restores `make check` output with recent autotools versions.
	- add two commands for sending and reading generic data in NavNet format from a Nspire, similar to TI's TI_NN_Write and TI_NN_Read; reimplement echo commands using the new commands; add the new functions to torture test.
	- remove auto-generated configure & Makefile.in from the repository.
	- fix a double free reported by aeTIos in the Nspire OS sending code, and a nearby memory leak while at it.
	- add support for 84+CSE screenshots.
	- add dusb_cmd_r_screenshot function, and torture tests.
	- add dusb_recv_data_varsize function, and torture tests.
	- add 84+CSE ROM dumping support, for both legacy I/O and DirectLink.

- 31/03/2013, version 1.1.8: debrouxl
	- fix off-by-one in calc_84p.c::get_version(), which led to the last character of the product ID being cut off. Reported by ParkeR.
	- advertise ROM dumping support in CalcFncts calc_84p_usb.
	- regenerate with Autoconf 2.69 and Automake 1.11.5.
	- suppress name clashes between dusb_rpkt.h / nsp_rpkt.h and dusb_vpkt.h / nsp_vpkt.h.
	- export dbus_recv, dbus_send, dusb_recv, dusb_send, nsp_recv and nsp_send, i.e. provide to external users the ability to send and receive raw packets.
	- protect {dbus,dusb,nsp}_{recv,send} against NULL parameters.
	- add "torture test" programs for testing how functions of the public API react to NULL parameters.
	- fix several malloc/realloc/free vs. g_malloc/g_malloc0/g_free mismatches.
	- move a number of internal definitions to a new "internal.h" header; add several traces.
	- rename a bunch of internal functions, and remove the corresponding internal macros.
	- TI-68k ROM dumpers: remove redundant definitions of uint8_t, uint16_t and uint32_t.
	- integrate tf2hex and the ROM dumpers into the autotools chain, by Benjamin Moody.
	- add variable rename and variable attribute change functions, by Benjamin Moody; improve test_ticalcs_2; several drive-by fixes and improvements.
	- DUSB / NSP: kill more NULL dereferences by sanitizing function arguments; get rid of a number of TRYF; add a DUSB error code.
	- a fix for dusb_cmd, and an improvement to test_ticalcs_2.
	- integrate a couple fixes to the 84+ DUSB ROM dumper by Benjamin Moody, and switch the source code and building process of that ROM dumper from tasm to spasm.
	- integrate new TI-Z80 ROM dumper (with, among others, the ability to automatically dump 82 and 85, and the ability to unlock 73/83+/84+ Flash memory without an OS patch), and other ROM dumping improvements, by Benjamin Moody.
	- integrate the TI-68k ROM dumpers into the automake definitions, and optimize them in the process.
	- regenerate with Automake 1.11.6.
	- use LF line endings throughout the sources.
	- add initial, experimental TI-80 VSC support, by Randy Compton.
	- convert README to UTF-8.
	- add a Nspire error code related to OS extensions on OS versions which do not support them; add OS sending to test_ticalcs_2.
	- fix some spelling errors (or at least, infrequent forms) reported by Lintian (through Albert "alberthro" Huang) and rpmlint (through TC01).
	- fixes for i18n problems reported by Benjamin Moody.
	- in order to promote code reuse by external users of the library (instead of copy-paste), export functions from nsp_cmd and nsp_vpkt into the public API (though backwards compatibility will not necessarily be maintained strongly).
	- install keys83.h and keys86.h alongside the other headers.
	- add Nspire remote control feature, to mirror functionality exposed by TI's code and used by nRemote. Showcase it in test_ticalcs_2.
	- expand torture tests, and perform minor fixes.
	- update "counters" arrays in CalcFncts instances. They have been broken for years, since the DUMP_ROM -> DUMP_ROM1 + DUMP_ROM2 change, or the addition of EXECUTE, whichever occurred first.
	- in 84+ DUSB ROM dumper, enable UnlockFlash, so that the certificate page can be dumped.
	- test_ticalcs_2: in send_var(), add the ability to define the file name, if the target calculator is Nspire.
	- fix a number of problems related to unaligned reads/writes and left shifts of count >= width of type; fix more compiler warnings reported by clang.
	- fix more compiler warnings reported (or made more visible) by clang.
	- add 83+ family DBUS memory dump command; while at it, reformat, harden and export functions from cmd73.c.
	- when communicating with 84+ through DUSB, allow variables with the same name but different types. Patch by Benjamin Moody. Additionally, add a couple debugging traces in test_ticalcs_2.
	- add known 84+CSE hardware version, and plausible default model for unknown hardware versions. Reported by Benjamin Moody.
	- add prefixes to a number of functions and struct names, and adjust callers.
	- export dusb_vpkt functions and header, add torture test.
	- temporary kludge for sending 84+CSE Pic files. Patch by Benjamin Moody.
	- export dbus_cmd functions, add torture tests for dusb_cmd functions.
	- add several known command DBUS IDs (documented by Benjamin Moody and Brandon Wilson), this patch mostly by Jon Sturm.
	- nsp_cmd: add the 0x06 command, whose externally visible effect is to trigger a dialog whose title is "Transfers complete" and text is "All files have been transferred".

- 14/12/2011, version 1.1.7: debrouxl
	- add error code returned by the Nspire when the anti-downgrade protection refuses an OS version older than the configured minimum version.
	- add support for getting screenshots from Nspire CX calculators.
	- nsp_rpkt.c: add a mode for dumping at most 12 bytes of the virtual packet, and make it default.
	- upgrade COPYING files and FSF addresses embedded in files, so as to make rpmlint happier.
	- dusb_cmd.c: cmd_r_var_content(): print size correctly.
	- reconfigure with autoconf 2.68 and libtool 2.4.
	- reconfigure with libtool 2.4.2.
	- take a whack at hundreds of NULL pointer dereferences by sanitizing function arguments.
	- move the workaround for file transfers of peculiar sizes mainly to libticalcs.
	- fix the incorrect reporting of Flashapps' sizes for 73 / 83+ family, when the DBUS protocol is used (SF bug #3440569). Reported and patched by Benjamin Moody, tested by Benjamin and Lionel.
	- if we're talking to a 73, don't try to test for 83+SE. The oldest 73 OS versions don't support get_version. Reported by Benjamin Moody, fix discussed by Lionel and Benjamin.
	- add error code returned by DUSB protocol calcs when refusing a FlashApp whose signature does not match. Reported by Albert H.
	- upgrade version of gettext to 0.17, released in late 2007.
	- add error code returned by Nspires when they're out of memory. Reported by XseuguhX.


- 28/05/2011, version 1.1.6: debrouxl
	- remove autogenerated Changelog files and empty TRANSLATORS files.
	- change encoding in .rc file.
	- update the documentation of a number of functions in calc_xx.c.
	- fix ticalcs_dirlist_ve_exist for 73, 82, 83, 83+ and 84+: match types (in addition to names) for those models (reported by Jon Sturm).
	- fix a number of Nspire operations wrt. path names smaller than 8 characters.
	- implement variable deletion on the Nspire.
	- implement folder creation and deletion on the Nspire.
	- remove several functions that have been deprecated for years.
	- compiler warning fixes
	- misc. minor changes:
	- fix a number of compiler warnings, memory leaks, unclosed files.
	- DUSB DELAY_ACK packets: clamp absurdly high delay values, which can freeze libticalcs and its clients (SF bug #3002538, reported by "jimhap").
	- fix Nspire ID retrieval: the two first characters were cut off.
	- misc. changes and documentation updates, most of them Nspire-related.
	- fix 86 ROM dumping.
	- minor changes to make autotools definitions work with both libtool 1.x and 2.x.
	- use AM_GNU_GETTEXT_VERSION to use a consistent version of gettext (namely 0.16, released in late 2006).
	- add support for dumping the OS of Nspire (CAS) calculators running OS 1.x.
	- avoid NULL dereferences in dirlist.c.
	- when receiving data from a Nspire, don't crash if we received zero bytes (this can happen).
	- prevent several other NULL dereferences.
	- don't crash upon sub-folders of folders.
	- prevent a number of NULL dereferences, and turn abrupt program aborts such as assert() and exit() into tests + ti*_critical().
	- make it possible to receive 0-byte variables from a Nspire.
	- fix Nspire transfers that fail if the file has certain sizes (SF.net bug #3056097).
	- reconfigure under Debian Squeeze with Autoconf 2.67 and Automake 1.11.1.
	- add VS 2008 project/solution files.
	- fix a declaration after statement reported by Buckeye.
	- documentation and comment updates.
	- increase maximum delay value in CATCH_DELAY to 400K.
	- fix compilation of dusb_vpkt.c with VPKT_DBG=2.
	- hack to enable receiving variables from Nspires running OS >= 1.7, which return a martian ACK packet.
	- when performing a dirlist operation on Nspires, don't try to enumerate as folders TNS documents at the root of the "My documents" folder (e.g. themes.csv on OS 3.0+).
	- properly reset timeout in calc_nsp.c::is_ready.

- 08/04/2010, version 1.1.5: debrouxl
	- TI-8x (Z80) ROM dumper source code relicensed to GPL, with Benjamin Moody's authorization.
	- TI-68k: when receiving a variable, strip the folder name if any.
	- added several missing "break;" in a switch() construct (calc_89.c).
	  Reported by Patrick Pélissier.
	- added DirectLink USB ROM dumper for 84+ contributed by Brandon Wilson.
	- major fix: make Nspire connection reliable, at the expense of latency.
	- fixed cmd_s_execute (DUSB command) for 84+, perform more testing for both 89T and 84+.
	- renamed CMD_FM_UNKNOWN to CMD_FM_ATTRIBUTES.
	- updated translations.
	- updated to Autoconf 2.65.

- 05/05/2009, version 1.1.4: roms
	- added new DBUS error code (invalid FLASH app signature)

- 08/08/2008, version 1.1.3: roms
	- modified to support NSpire OS 1.4 (LOGIN packet with disconnection)

- 26/01/2008, version 1.1.2: roms
	- added real support of OS 1.2 & 1.3 (true LOGIN packet support)
	- NSpire sequence number implemented fine now
	- NSpire CAS tested: fixed copying of Product Name
	- fixed bug #1885785 (error making libticalcs 1.1.0 on OS-X)

- 22/01/2008, version 1.1.1: roms
	- added unknown directory list command for NSpire
	
- 16/10/2007, version 1.1.0: roms
	- adding NSpire support...
	- unified Product Number & Main Calc Id into Product Id and maintained compatibility
	- use ticables_get_usb_devices() to probe USB hand-helds rathen than heuristic method (more reliable)
	- fixed printing of SKP packet (1 byte)

- 04/10/2007, version 1.0.9: roms
	- fixed ROM dumping on TI92+/V200: switching to HOME screen failed
	- ROM dumping thru SilverLink under Linux is sometimes failing
	- added pause between file sending and ready check (fix bug #1808645?)
	- replaced some raw key codes by #defined ones
	- fixed some keys defines to be compliant with the HandHeld User's Manual
		(the manual defines the 'Q' key and not the 'q' one)
	- skip existing app when sending a TiGroup file (apps can't be overwritten)

- 17/09/2007, version 1.0.8: roms
	- fixed full screen copy with Titanium
	- fixed displaying of full path with Titanium/USB
	- fixed sending of FLASH apps on TI73
	- fixed sending of FLASH apps on non-SE (bug introduced in rev. 3291)
	- fixed progress bar update for backup & tigroup receiving
	- don't break USB communication if ROM dumping has been canceled
	- some Titanium/USB transfer can fail: fixed.

- 17/06/2007, version 1.0.7: roms
	- fixed bug in ticalcs_dirlist_destroy: don't free TreeInfo when tree has no folder
	- replaced malloc/free by g_malloc/g_free
	- replaced TNode by GNode as provided by GLib
	- changed args for ticalcs_dirlist_ve_exist, otherwise this function is buggy 
		with TI8x varnames (like lists due to presence of the '\' character)
	- fixed bug in ticalcs_dirlist_ve_add when no folder exists yet
	- added permanent TI83+/TI84+/83/86 variables to dirlist (Window Settings and others)
	- updated to follow ticonv API changes
	- USB hand-helds: fixed size of attribute array (usually smaller than needed).

- 12/04/2007, version 1.0.6: roms
	- wrong battery status (debug)
	- no clock in TI83+ (SE); no clock in TI84+, too (not handled yet)
	- bug #1563667: impossible to flash TI-83+/SE

- 23/02/2007, version 1.0.5: roms
	- enabled i18n
	- fixed TiEmu bug #1675675 / TiLP bug #1676133

- 18/02/2007, version 1.0.4: roms
	- added a new CalcFncts function entry: can execute a program remotely
	- added/fixed arrays for TI73,TI83+ and TI86 keys (needed by remote exec)
	- fixed bug #1657175: small program (309 bytes) are rejected by D-USB because too
		small. Ti-Connect re-negotiate packet size to a smaller value before sending
		variable contents.

- 02/02/2007, version 1.0.3: roms
	- Kevin discovered a new D-USB command (0x11) which is related to remote control!
	- DirectLink remote control support implemented for Titanium
	- rom dumping is now remote controlled
	- 89/92/92+: set to HOME screen before sending dumping program
	- fixed "Conditional jump or move depends on uninitialised value(s)" bug (kevin)
	- fixed remote keys for TI84+/USB (little-endian)

- 12/11/2006, version 1.0.2: roms
	- fixed memory overlap in send_flash_app (may be related to bug #1583155)

- 21/02/2006, version 1.0.1: roms
	- use angle brackets to include installed ticonv.h (kevin).
	- conditionalize #pragma warning on #ifdef _MSC_VER, not #ifdef __WIN32_ (kevin).
	- changed TIEXPORT into TIEXPORT3
	- B. Moody fix: replaced all snprintf by g_snprintf (truncate OS version under Linux)
	- 68k ROM dumpers: only dump 4 MB on HW4 (same as HW3)
	- check handle to avoid NULL dereference
	- dusb_cmd.c: uses BB00 packet value as delay
	- Titanium can't handle more that 16 parameters at a time => get_version split

- 17/09/2006, tagged as version 1.0.0: roms
	- added support for TILIBS_DEPRECATED (exports symbols which have been tagged as deprecated)

- 14/09/2006, version 0.2.8: roms
	- splitted ROM dumping into 2 parts (prgm sending and ROM receiving) so that user can have 
		time to enter required commands
	- fixed TI73 OS sending
	- fixed TI73 version (BCD encoded)
	- fixed sending of FLASH OS on V200PLT (need to pass HW_ID).

- 04/09/2006, version 0.2.7: roms
	- fixed TI73 probing
	- added new TI89 error code (0x21: can't delete var)
	- exported ERR_ABORT value
	- fixed TI84+ battery status
	- updated/fixed TI86 dumper
	- Titanium/USB didn't have the FTS_FOLDER flag
	- correctly set up the data_type & device_type field of FlashContent when receiving app

- 26/08/2006, version 0.2.6: roms
	- checked with Valgrind, tested and validated.
	
- 08/08/2006, version 0.2.5: roms
	- added TIG_BACKUP flag (needed to avoid clearing of RAM)
	- convert DUSB error packets into error message (O. Armand request)
	- convert DBUS error packets into error message (K. Kofler request)

- 18/07/2006, version 0.2.4: roms
	- added ticalcs_probe for Kevin and I. This function is complete because it handles 
		all of the probing (open/close handle, probe for all/FLASH only devices).
	- fixed TI-73 ROM dumps (untested, but the previous code definitely didn't work) (kevin)
	- fixed _FORTIFY_SOURCE and strict-aliasing warnings (kevin)
	- fixed warnings and bugs in the test program (kevin)
	- fixed "warning C4018: '<' : signed/unsigned mismatch" with MSVC

- 07/07/2006, version 0.2.3: roms
	- refresh total counter (cnt3) when sending TiGroup file
	- begins count at 1 instead of 0 (cnt3)
	- fixed filename translation in TiGroup support
	- for now, use this naming scheme for TI9x var filenames: folder.var.extension (as tifiles2).
	- look for the correct module file name on MinGW in ticalcs_library_init (kevin)

- 16/06/2006, version 0.2.2: roms
	- added full backup capability thru TiGroup files

- 11/06/2006, version 0.2.1: roms
	- reworked/added field in CalcUpdate structure (API compat broken here, again) 
	- added field in the CalcFncts structure which tells which counter may be used for refresh
	- checked/fixed all pbar counters
	- fixed typo (waiting -> waiting for)
	- some calcs needs 2P1L refresh for ROM dumper
	- some varname<->utf conversions were missing
	- adapt refresh of cnt1 depending on the link cable transfer capability
	- reset cnt2 value at transfer startup (needed and missing)

- 08/06/2006, version 0.2.0: roms
	- reworked dirlist API (API compat broken here)
	- changed FLASH app dirlist format to be the same as var one
	- don't count archived (=FLASH) variables in ticalcs_dirlist_ram_used
	- updated 68k ROM dumpers to dump 8 MB on HW4 and rebuilt them with the latest CVS TIGCC (GCC 4.1.1, reduces size) (kevin)

- 05/06/2006, version 0.1.5: roms
	- added stdints3.h header
	- increased verbosity of USB commands layer
	- re-enabled TI84+ OS sending
	
- 31/05/2006, version 0.1.4: roms
	- don't export ticalcs_probe_calc_1/2 any longer because they can't 
	be used easily outside of the library
	- fixed critical bug in the DBUS (2-bytes buffer overflow) and possible
	bug in the DUSB packet layer (null remainder).
	- fixed bug in TI84+ recv_idlist (attempting to modify const string)
	
- 26/05/2006, version 0.1.3: roms/tyler
	- definetely fixed warnings on TI keys structures (roms)
	- fixed TI-83+/TI-84+ ROM Dumping Timeout Error Bug (tyler)

- 16/05/2006, version 0.1.2: roms
	- implemented send_os for Titanium/USB and fixed some commands
	- implemented send_os for TI84+/USB
	- added Titanium/USB ROM dumper
	- increased ROM dumper block size from 1KB to 4KB (faster)
	- fixed misfeature in Titanium get_dirlist
	- fixed OS sending page address in TI84+/USB support

- 06/05/2006, version 0.1.1: roms
	- make ticalcs_dirlist_mem_used useable with apps tree
	- implemented get_memfree functions
	- added a new probing method for USB hand-helds only (faster)
	- added FTS_BACKUP flag for hand-helds with real backup capability
	- added common function which emulates a backup by grouping
	- definitely fixed return value for probing functions
	- implemented a garbage collector for virtual packets, calc attributes anc calc parameters.
		Needed because a DUSB function may returns an error without releasing allocated memory
		(easier by this way).
	- added ticalcs_dirlist_flash_used which count memory used by both archived variables and apps
	- fixed pbar with TI73/84+ sending of FLASH app
	- fixed ca_del_array & cp_del_array for garbage collector
	- manage hand-held error codes
	- manage delaying packets

- 15/04/2006, version 0.1.0: roms
	- implemented USB hand-helds support
	- split sending of FLASH app & os into 2 functions.
	- renamed some function of the API (send/recv_flash into send/recv_app)

- 25/03/2006, version 0.0.8: roms
	- bitmap for screenshot is now allocated at the end of transfer.
	- work on DirectLink in progress.

- 16/03/2006, version 0.0.7: roms
	- fixed bug in TI92 recv_backup
	- added periodic refresh from callbacks

- 21/02/2006, version 0.0.6: roms
	- switched to ticonv library
	- send HOME key before dumping
	- don't list some system variables which appears in dirlist: regCoef and regEq.
	- fixed is_ready which checked the LSB instead of the MSB status word
	- added 2 functions for adding/removing an entry from a dirlist tree
	- directory list is now free'd
	- fixed TI73 sending & receiving of FLASH apps
	- fixed OS version formatting
	- set hw revision to -1 (n/a) for TI8x calcs
	- don't use static Flash/FileContent structures: they are badly released because often not zero'ed.
	
- 20/02/2006, version 0.0.5: roms
	- error message is a glib allocated string for now.

- 23/01/2006, version 0.0.4: roms
	- modified to follow ticables2 API changes.
	- fixed critical bug in ticalcs2.pc.in: the header location was include/tilp instead of include/tilp2

- 24/09/2005, version 0.0.3: roms
	- fixed critical bug in dbus_send: use len instead of length which makes 64KB blocks copied as 0B blocks :-(

- 14/09/2005, version 0.0.2: roms
	- fixed/updated recv_var_ns routines
	- fixed build of /docs (Tijl)
	- TI73/8X+ auto-probe support updated. Calculator probing updated.
		Note: host check has been disabled in dbus_recv_ because ticalcs_probe 
		may be used on any TI9x calc.
	- fixed non-exported symbol because exportX.h didn't include config.h (fvisibility).

- 15/05/2005, version 0.0.1: roms
	- logging reworked (use glib)
	- a single public header with functions & defs, others are private
	- slightly fixed namespace sheme
	- use strong types such as TiCalcModel, ...
	- glib is used for logging (not very much for strings)
	- documentation system has been changed
	- functions pointers have been removed
	- library has been fully documented
	- decreased number of headers to include (1 or 3)
	
====[ Version II ]====

- 24/04/2005, version 4.5.9: roms
	Adding new function for non-silent variable receiving support.
	Needed for TiEmu (receive file).
	Bug fix from Christian Walther in non-silent variable receiving (folder name).
	
- 05/03/2005, version 4.5.8: roms
	Added gcc 4.0 -fvisibility flag support.
	
- 28/02/2005, version 4.5.7: roms
	Removed JB testing code in TI92 is_ready. 
	Fixed TI89 Titanium ROM size in the progress bar.
	Fixed ROM dumping support for TI83+/84+ Silver Edition but still 
	unusable.

- 29/01/2005, version 4.5.6: roms
	Fixed TI89 unit to support Titanium FLASH transfers.
	Fixed TI73 unit to support TI84+ FLASH transfers.

- 02/10/2004, version 4.5.5: roms
	Replaced VTi's TI83+ ROM dumper by a new one developped by 	
	"Benjamin Moody" <bmoody@WPI.EDU>. Works with 83+/84+.

- 18/09/2004, version 4.5.4: roms
	Added TI89 Titanium support. File format seems to be the same as TI89.
	Added TI84+ (SE) support. File format seems to be the same as TI83+.
	Removed VTi's TI89/92+ ROM dumper by my own ROM dumper for 
	TI89/TI92+/V200PLT/Titanium.
	Note: OS upgrade does not work on TI89t/TI84+.

- 08/04/2004, version 4.5.3: roms
	Redirection of stdout/stderr.
	Fixed problem of i18n support: AM_GNU_GETTEXT must be put before
	any libs checking.

- 20/03/2004, version 4.5.2: roms
	Added tree management (hacked from GLib) for internal use.
	This way removes GLib dependancies as well as multiple llibraries
	version (GLib 1.2 & 2.0).
	Added endianess check in configure for Mac OS.
	Tested with TiEmu: ok (backward compatible).
	Tested with TiLP: ok (need latest lib).
	Bug fix in tixx_directorylist2 (XXXX_NODE_NAME was not duplicated 
	by malloc). This is the reason why dirlist v1=>2 was buggy !
	
- 27/08/2003, version 4.5.1: Maintenance release by JB.
	Upgraded to libtool 1.5
	Upgraded to automake 1.7
	Fixed src12/Makefile.am

- 10/05/2003, version 4.5.0:
	Variable name is now translated for all calcs (charsets and tokens).
	
- 15/04/2003, version 4.4.9:
	Added is_flash field (for consistency).
	
- 12/04/2003, version 4.4.8:
	Changed src20 to src.
	
- 30/03/2003, version 4.4.7:
	i18n updated.
	Included French translations.
	Code source parsed for _() occurences.
	i18n enabled for Windows.
	indent -kr -i2
	
- 21/03/2003, version 4.4.6:
	Configure script modified for various GLib supports.
	Glib1.2: src12 -> libticalcs.so.4.4.6
	Glib2: src20 -> libticalcs-4.so.0.4.6 (0 is the ABI major).
	Note: src12 & src20 contains the same files, except for Makefile.*.
	
- 18/03/2003, version 4.4.5 (testing phase):
	Added missing update_refresh() calls into ti82/85 support.
	Bug fix in ticalc_dirlist_numvars (introduced in 4.4.3).
	Clock functions (void) was missing -> segfault.
	Fixed 'content->calc_type = CALC_TI??' to 
	  'content->calc_type = ticalcs_calc_type;'
	Added varname translation in sending var for the label.
	Bug fix in TI73/83+ & 82/83 support: padding was missing -> redundant 
	  vars. Boring because this bug exist since v4.x.x and has never been 
	  reported :-(
	
- 09/03/2003, version 4.4.4 (testing phase):
	Added type to string conversion functions.
	Added TI82 ROM dumping.
	TI89/92/92+ ROM dumping cleanly exits now.

- 02/03/2003, version 4.4.3:
	Directory list rework: added a new function (directorylist2) in the 
	TicalcFunctions structure. Use _two_ (app & flash) _generic_ trees 
	(does not make any assumption about the tree depth).
	Compatibility with dirlist form #1 functions has been kept & tested.
	Bug fix in TI89 support: send_flash didn't send the final ACK.
	
- 23/02/2003, version 4.4.2:
	Added the ability to send TI83+ vars directly into FLASH (not tested). 
	Bug fix in the clock support (clock setting failed before).
	Documentation is complete (I hope).
	Configure script modified for various GLib supports.
	Fix in TI89 backup support: returns a message when there is no vars to
	backup.
	
- 22/02/2003, version 4.4.1:
	Few fixes in the TI89 support.
	
- 08/02/2003, version 4.4.0:
	Dependancy changed: use GLib-2.0. Added dependancy into ticalcs.pc.
	Note: 
	- if TiLP 6.0 (GTK1.2) is linked against this lib (GLib2.0),
	- if TiLP 7.0 (GTK2.0) is linked against a previous one (GLib1.2),
	it will segfaults !
	Solution: static linking ?
	
- 03/02/2003, version 4.3.2:
	Changed indentation to 'indent -kr -i8'.
	Clean-up (changes from libtifiles synch'ed).
	
- 24/01/2003, version 4.3.1:
        Added BSD target to configure.ac. Tijl's patches merged.
	configure.ac cleaned-up.
        Compilable with MinGW (under MSYS and CygWin).
	
- 25/12/2002, version 4.3.0:
	Some #define have been changed into enum (make code & doc better).
	Added a documentation generator as well as a completely rewritten html
	documentation.
	Changed indentation to 'indent -kr -i8'.
	I changed the name of some functions for a better consistency.
	Lib is still backward compatible (at compilation, not at linking time).
	
- 23/12/2002, version 4.2.9:
	Added pkg-config support.
	
- 15/11/2002, version 4.2.8:
	configure.ac improved.
	
- 09/10/2002, version 4.2.7:
	ROM dump fixes: file descriptor was not closed -> invalid ROM size.
	
- 30/09/2002, version 4.2.6:
	Some fixes (display).
	
- 26/09/2002, version 4.2.5:
	Some changes due to libtifiles modifications for Win32.
	
- 17/09/2002, version 4.2.4:
	ROM dump fixes.
	Auto-detect fix.
	pbar: label 'receiving var %s'
	
- 16/09/2002, version 4.2.3:
	Win32 port.
	
- 13/09/2002, version 4.2.2:
	testing phase:
	- TI83/86:  ok
	- TI82/85:  ok
	- TI73/83+: ok
	- TI92:
	- TI89/92+/V200
	
- 07/09/2002, version 4.2.1:
	ti73/83+ support merged into a single one (ti83+)
	
- 05/09/2002, version 4.2.0:
	ticalc_check_if_[var|app]_exists modified.
	tixx_send_var: added new argument, the action list.
	error code sorting & clean-up.
	added some extra infos for error msg.
	
- 02/09/2002, version 4.1.9:
	ti89/92+/v200 support merged into a single one (ti89)
	
- 01/09/2002, version 4.1.8:
	set/get date function added.
	clock.c utilies added.
	
- 31/08/2002, version 4.1.7:
	testing phase: 
	- TI92 recv backup fixed
	- TI83+ send var fixed
	
- 26/08/2002, version 4.1.6:
	added preliminary V200 support. V200 uses the same Machine IDs than
	TI92+.
	
- 18/08/2002, version 4.1.5:
	added a new argument to tixx_directorylist: returns mem free or used
	testing phase:
	- TI73..86, dirlist fixed
	- TI83 & TI86, mem free added/fixed
	- TI83 & TI86, recv_var fixed
	- TI73/83+: os fixed
	- recv_flash: changed appname parameter for a TiVarEntry
	- added a new function in dirlist.c
	- TI89 dirlist fixed for AMS2.08 (FLASH apps)
	
- 16/08/2002, version 4.1.4:
	uses ti8x/9x_create_[]_content.
	tree utility functions are now in dirlist.c
	
- 14/08/2002, version 4.1.3:
	added a new header (wrapper): ticalcs.h
	byte/word/longword removed for uint8/16/32_ of stdint.h (ISO C 99)
	TI92 recv backup fixed.
	
- 12/08/2002, version 4.1.2:
	Added displaying of folder list (misc.c).
	Clean-up in the various ticalc_set_cable, ticalc_set_calc, ... fncts.
	
- 11/08/2002, version 4.1.1:
	Directory list system modified: uses tree instead of list.
	Currently uses GLib's GNode. Will be replaced later by my own GNode
	implementation.
	
- 10/08/2002, version 4.1.0:
	Compatibility wrapper removed.
	Group header management removed.
	Minor bug fixes.
	
- 08/08/2002, version 4.0.9:
	TI89 support added.
	
- 31/07/2002, version 4.0.8:
	TI92 support added.

- 27/07/2002, version 4.0.7:
	TI83+/TI73 support added.
	intelhexa.c removed
	
- 25/07/2002, version 4.0.6:
	TI86 fixed. TI82/83/85/86 have been tested: OK !
	
- 23/07/2002, version 4.0.5:
	TI86 added. TI82 & 85 backup fixes (sending).
	TI86 backup to fix (pb of file format).
	
- 21/07/2002, version 4.0.4:
	TI82/85/83 finished.
	
- 17/07/2002, version 4.0.3:
	I begin to rewrite the calculator communication layer...
	
- 13/07/2002, version 4.0.2:
	Some changes from libtifiles included:
	- headers
	- added keys code for ti73/83+ (not tested)
	- remote control with curses removed
	
- 04/07/2002, version 4.0.1:
	byte2type & translate are now calc independant.
	Rebuilt under Win32.
	
- 10/06/2002, version 4.0.0 (4.x.x):
	Moved some stuffs in the libtifiles library.
	Library version is now displayed in ticalc_init.
	
- 04/06/2002, version 3.3.9:
	Mac OS-X merge.
	
- 14/05/2002, version 3.3.8:
	TI89 FLASH support completely rewritten with the TI89/92+ SDK doc 
	(contains FLASH file format).
	
- 29/04/2002, version 3.3.7:
	Added ROM dump support for TI83+ in ti83p_supported_operations: ok !
	Added a new type (0x4D: PRGM ?) and fixed group support: ok !
	Pb with FLASH OS/App sending (signature): fixed by a 3.3.2 backport.
	Thanks to "Stephen Shaw" <stephenshaw@email.com> for these bug reports.
	TI73 FLASH support updated with TI83+ support.

- 24/04/2002, version 3.3.6:
	ZIP vartype has no file extension for TI89/92+: fixed.
	
- 15/04/2002, version 3.3.5:
	TI83+ ROM dumping support fixed (stop at 512KB instead of 256KB)
	Thanks to Thomas Shawn.
	
- 11/04/2002, version 3.3.4:
	Another bug report: some TI89 FLASH apps (usually developped by third 
	parties) replace the "License" string/header by their FLASH app name.
	Thanks to Brandon Barker <bebarker@meginc.com>.
	
- 06/04/2002, version 3.3.3:
	TI has released a FLASH app for a limited amount of time (TI Cell 
	Sheet). This FLASH app contains a certificate which was not handled by
	TiLP. Fixed for TI89/TI92+.
	Beware: certificates are still unsupported (currently skipped).
	Thanks to ?? <??>.
	
- 15/03/2002, version 3.3.2:
	LIBTICALCS_VERSION symbol is now always defined.
	Added the type 15h (appvar) and 17h (group) to TI83+.
	TI83+ pb with FLASH app sending (> 1 page): fixed (introduced in 3.1.8)
	TI83+, fixed checksums: TIGL compatible.
	Dirlist fixed for TI89/92+ (FLASH apps listed multiple times).

	Group (17h) support: the group is receive as a single var (contrary to
	TIGL. This allow to keep the group as is on calc -> advantage).
	Contrary to (maybe a drawback) TI's soft, it's not converted into
	a .8Xg group file.

	Removed verbose.c: already compiled in libticables -> problem with
	console management !
	
- 01/03/2002, version 3.3.1:
	Minor bug fix on TI83+ support (sending of vars) introduced in v3.2.0.
	Thanks to Paxl !
	
- 24/02/2002, version 3.3.0:
	Rounded to 3.3.0 for official release.
	
- 23/02/2002, version 3.2.1:
	Merged with Mac OS-X again.
	
- 17/02/2002, version 3.2.0:
	Added the ability to send a TI8x file on a TI83+ calculator.
	For calc which does not have folder: p->folder = p instead of list.
	Paxl problem fixed ( '/r/n' or '/r' in FLASH app signed by 
	appsign.
	
- 15/02/2002, version 3.1.9:
	Fixed some keys for remote control.
	
- 14/02/2002, version 3.1.8:
	TI73/83+ FLASH file management moved in intelhexa.c/h.
	
- 14/02/2002, version 3.1.7:
	Merge with Mac OS-X: building projects are in 'osx'.
	
- 14/02/2002, version 3.1.6:
        Cleanup in the TicalcInfoUpdate structure (data rate moved in
        libticables).
	
- 13/02/2002, version 3.1.5:
	Remote control fixes.
	
- 12/02/2002, version 3.1.4:
	Little fixes.
	
- 10/02/2002, version 3.1.3:
	VarInfo structure modified.
	
- 02/02/2002, version 3.1.2:
	TI89 & 92+ key definitions and array updated and improved.

- 23/01/2002, version 3.1.1:
	TI73 support added & tested.
	send_key added for TI73,83,83+,86.

- 21/01/2002, version 3.1.0:
	Some clean-up, enhancements. Compatibility broken !
	
- 20/01/2002, version 3.0.7:
	The command line is cleared before doing a ROM dumping.
	TI73 support added (not tested).
	
- 19/01/2002, version 3.0.6:
	TI83+, sending of FLASH Apps/Os works now.
	Receiving of FLASHapps: done.
	New function added: ticalc_83p_89_92p_isready. Allow to auto-detect a 
	TI83+/89/92+ calculator.
	This function is cleaner than ti89_92_92p_isready and should be used 
	as a replacement even if it does not check for a TI92 any longer.
	Little fix with ti83p_send_var ('transfer aborted').

- 15/01/2002, version 3.0.5:
	mutex: only one transfer possible and review update mechanism
	
- 12/01/2002, version 3.0.4:
	ticalc_get_calc parameter changed.
	Dirlist function improved: the first element of linked list contains
	memory free (83/83+/86) or memory used (89/92/92+).
	
- 10/01/2002, version 3.0.3:
	TI83+ support improved: sending of vars/backup works.
	Receiving of IDlist: implemented but not tested.
	Sending of FLASHapps/OS: pending (almost finished).
	
- 29/12/2001, version 3.0.2:
	Some fixes.
	
- 26/12/2001, version 3.0.1:
	Receiving of FLASH apps added.
	TicalcFncts structure modified.
	
- 25/12/2001, version 3.0.0:
	Source code cleaned up.
	This release requires a libticables v3.x.x mini.
	
- 21/12/2001, version 2.1.2:
	I have added 2 new functions: ticalc_init & ticalc_exit. These
	functions are not used yet. They have been written for use in future.
	Rudolf Polzer reported a problem while sending a FLASH app (TiCabri).
	It was due to a lack of memory so I have added a more explicit message
	for this case
	ti89_waitdata() improved.
	Error codes changed (valued).
	
- 19/12/2001, version 2.1.1:
	probe.c: I have improved the ti89_92_92p_isready function. It directly
	detects the calc type as well as the TI83+ (new).
	To finish...
	
- 11/12/2001, version 2.1.0:
	I have finished to patch TiLEM (lpg.ticalc.org/prj_tilem) for
	testing TI83+ support.
	TI83+ support widely improved: ready, screendump, dirlist, receive var,
	receive backup tested and certified as OK. The send var/backup
	functions have not been tested.
	
- 09/12/2001, version 2.0.9:
	isready function implemented (TI83+) but not tested.
	Macros (update.h) disabled.
	
- 20/11/2001, version 2.0.8:
	Win32 projects are now distributed with source code.
	
- 19/11/2001, version 2.0.7:
	French PO files have been updated (i18n).
	
- 17/11/2001, version 2.0.6:
	Recompiled under WiN32.
	
- 14/11/2001, version 2.0.5:
	Changed parameters name of ticalc_set_update().
	Fixed macros of update.h for avoiding NULL accesses with the function 
	pointers of the 'update' struct.
	
- 08/11/2001, version 2.0.4:
	Added a m4 macro for checking libticables in configure scripts.
	
- 27/10/2001, version 2.0.3:
        warnings fixed.
	
- 19/10/2001, version 2.0.2:
        Updated to Am/Ac2.52: configure.in renamed into configure.ac.
	
- 15/10/2001, version 2.0.1:
	FLASH support broken, due to type conversion (ti89.c.old/ti92p.c.old)
	for MSVC warnings.
	
- 04/10/2001, version 2.0.0: compatibility broken -> v2.x.x
	Added the stop() function in the update structure for future use.
	The library is backward compatible with programs which use the old
        library. Nethertheless, programs need to be recompiled.
	
- 14/09/2001, version 1.8.5:
	Headers are now C++ compliant (extern "C").
        Thomas Wolf <two@chello.at> has written a BCC32 v5.x (or C++Builder5+)
        wrapper for the libticables. He has also bring about some modifications
        to the libticables that I have merged.
	I have also cleaned up the source code and the headers.
	At last, test_libticalcs has been updated.
	I have removed many warnings under MSVC (none to level3).
	
- 14/09/2001, version 1.8.4:
	added some macros for avoiding NULL accesses with the function pointers
	of the 'update' struct.
	If the struct has not been set, this will not crash the library.
	
- 13/09/2001, version 1.8.3:
	recompiled on Win32: some fixes.
	
- 16/07/2001, version 1.8.2: Julien Solignac alias x1cygnus (developer of the
	TI83(+) TiLEM 'Ti Linux EMulator') has widely improved the TI83+
	support.
	
- 03/07/2001, version 1.8.1: TI89...92+ support improved: check if the calc var
	already exists and wait an action from user
	
- 30/06/2001, version 1.8.0: TI89/TI92+ group file bug fixed (I hope...)
	
- 21/06/2001, version 1.7.9: TI86 ROM dumper and TI86 support improved.
	
- 20/06/2001, version 1.7.8: I have found a tricky bug with GtkTiEmu which allows to improve the ti89_isOK, ti92_isOK and ti92p_isOK functions. There should not be 'Invalid byte' any longer.
	
- 15/06/2001, version 1.7.7: TI83 bug fix in dirlist (due to recent modifs)
	
- 06/06/2001, version 1.7.6: TI85 ROM dumper added both for Usgard & Zshell.
	
- 04/06/2001, version 1.7.5: see the bug_report3.html for the pb. Not fixed yet. TI89 support has been tested again. It is fully compliant.
	
- 28/05/2001, version 1.7.4: minor bug fix in the TI92+ FLASH routine (calc does not reboot automatically).
	
- 26/05/2001, version 1.7.3: TI83+ support cleaned but not tested with VTi yet.
	
- 25/05/2001, version 1.7.2: ROM dumping added for TI83(+) calcs but tested only on TI83. The ability to send a .tib file (old FLASH file format, replaced now by .9xu/.89u file format).
	
- 23/05/2001, version 1.7.1: TI92+ ROM dump dumps only 1 MB instead of 2 MB. TI92+ files was not correctly recognized by TiLP (**TI92p*/**TI92P*).
	
- 22/05/2001, version 1.7.0: TI92+ auto-detection pb is now fixed (a missing break, grr).
	
- 13/05/2001, version 1.6.9: vartype missing in the TI83 support. ROM dumping capability added to TI83.
	
- 08/05/2001, version 1.6.8: VERSION symbol changed due to some interactions under Win32 compiler.
	
- 05/05/2001, version 1.6.7: a mail from Xavier Larue paxl@ca.inter.net: TI83+ error codes have not been updated.
	
- 04/05/2001, version 1.6.6: ROM dumping works now for TI89. Not tested on TI92+ yet but it should work.
	
- 01/05/2001, version 1.6.5: bug fix in the TI83 support (ASM vartype missing).
	
- 21/04/2001, version 1.6.4: bug fixes in TI89/TI92+ support: backups corrupted with calculators which contained FLASHapps
	
- 20/04/2001, version 1.6.3: ROM dumping for TI89/92+ implemented but does not work.
	
- 14/04/2001, version 1.6.2: ROM dumping program is now included into the library (rom*.h). These files comes from Rusty Wagner's VTi. Done for TI92.
	
- 25/03/2001, version 1.6.1: intl.h removed for Debian packaging
	
- 22/03/2001, version 1.6.0: verbose.c removed (libticables)
	
- 17/03/2001, version 1.5.9: minor bug fix in the TI89 FLASH routine (calc does not reboot automatically).
	
- 11/03/2001, version 1.5.8: minor modifications on DISPLAY().
	
- 04/03/2001, version 1.5.7: changing the macros LSW to LSB_ and next LSB. Source code cleaned.
	
- 27/02/2001, version 1.5.6: modifications made for compiling under Borland C++ 4.52 (Win16 target)
	
- 24/02/2001, version 1.5.5: some filenames have been changed for the Debian release.
	
- 22/02/2001, version 1.5.4: at last, my system administrator have given to me some right on a SPARC station for testing TiLP. It works but I have done some modifications.
	
- 21/02/2001, version 1.5.3: a new set of functions have been added for providing a request service (the application asks to the lib whether this function is supported or not by the calc). Not finished yet !
	
- 20/02/2001, version 1.5.2: TI86 support improved and backups (both backups in 3 & 4 parts -> old & new calcs) are now supported. Thanks to Tim Singer (the FastLink's developper) for the informations on TI86 backup. I do not use its proprietary (but open) format but the same format as the TI82/83/85 format.
	
- 14/02/2001, version 1.5.1: TI83 support improved.
	
- 13/02/2001, version 1.5.0: i18 support finished for both Linux & Win32.
	
- 06/02/2001, version 1.4.9: TI89 support improved.
	
- 30/01/2001, version 1.4.8: file checking added for 82,85,89,92,92+.
	
- 29/01/2001, version 1.4.7: all headers files are now in <tilp/..> instead of <ti/tilp/..>
	
- 28/01/2001, version 1.4.6: i18 support added.
	
- 22/01/2001, version 1.4.5: TI85 support improved: skip/exit, pbar.

- 21/01/2001, version 1.4.4: TI82 support improved: skip/exit, pbar.

- 20/01/2001, version 1.4.3: I have fixed up a problem with the use of curses and results of the configure script.

- 03/01/2001, version 1.4.2: all headers files are now in <ti/tilp/..> instead of <ti/..>

- 21/11/2000, version 1.4.1: all tiXX.c files modified according to the new fields in the update_fncts structure.

- 20/11/2000, version 1.4.0: new fields added to the update_fncts structure for speeding up the transfers (refresh)

- 16/11/2000, version 1.3.9: a new type added for the TI92+: DoorsOS ZIP type, 0x1C.

- 12/11/2000, version 1.3.8: IDlist, FLASH app & OS support added for the TI92+ as well as improvement of the TI92+ support and cleaning of the code.
I have also modified the TI89 & TI92+ backup functions: they do not work if the calc has a FLASH app.

- 11/11/2000, version 1.3.7: I have replaced the 0 in TIXX_FLASH by -1 which causes EXPR var to be not diplayed in the dirlist

- 29/10/2000, version 1.3.6: ti89.c and ti92p.c files have been patched by J. Derque.

- 28/10/2000, version 1.3.5: I finished the error.c module (errcodes mechanism).

- 24/10/2000, version 1.3.4:  external/exported functions and variables names
begin with the 'ticable_' prefix in order to be conform with the GNU Coding Standard.

- 23/10/2000, version 1.3.3: I received a patch from Mikael Magnusson for the TI83+ support. I also added another function 'tixx_flash' to make the GUI independant of the calculator definitions.

- 23/10/2000, version 1.3.2: I received 2 patches from J. Derque. One for uninstalling the library components (lib & header), the other is a 'lib-config' script.

- 21/10/2000, version 1.3.1: TI86 support cleaned/improved.

- 15/10/2000, version 1.3.0: special characters (such as alpha) can now be received without triggering a checksum error.

- 07/10/2000, version 1.2.8: some vartypes added to the TI89.

- 01/10/2000, version 1.2.7: config.h & autoconf & autoheader & system type added. Modifications made for the Debian integration.

- 30/09/2000, version 1.2.6: FLASHing of apps/AMS added for the TI89

- 25/09/2000: version 1.2.5: screendump functions have been improved...

- 25/09/2000, version 1.2.4: 2 functions (open_ti_file & close_ti_file) added for circumvent a new bug in the Windows version. This bug appeared after the previous modifications.

- 20/09/2000, version 1.2.3: a small modification in the header files. A bug in
the TI89/92+ directory list due to recent modifs.

- 19/09/2000, version 1.2.2: a bug in the ROMdump function: it works only if the calc is in the 'main' folder.

- 18/09/2000: version 1.2.1: the 'CID' work is finished.

- 18/09/2000: version 1.2.0: I received today a mail with some patches for managing the TI83+. At last !!! A great thanks to Mikael Magnusson <mikma@hem.passagen.se>

- 14/09/2000: version 1.1.9: TiLP is going to be ported under Windows with MFC and under BeOS. Then, I begin a huge work of cleaning/improvement/documentation (CID) of the libTIcalc.
Phase 1: cleaning of exported functions. Turn the libTIcable into a calc API.

- 01/09/2000: version 1.1.8: ROM version improved: works fine !

- 22/08/2000: version 1.1.7: get_rom_version function added.

- 13/08/2000: version 1.1.6: I added a new function for doing ROM dumps.

- 08/08/2000: version 1.1.5: I implemented the new error message management.
I let the previous error function for backward compatibility.

- 20/07/2000: version 1.1.4: I added some error messages since I modified the
libTIcables.

- 29/06/2000: version 1.1.2: I defined an assertion macro so that the source code is clearer/more obvious.

- 27/06/2000: version 1.1.1: I begin an overhaul of the source. I have to do the html doc also. Moreover, there is a guy who want reuse this lib to port TiLT under BeOS !

- 30/05/2000: version 1.1.0: I modified the calc lib. There is no update_cable
function any longer.

- 29/05/2000: version 1.0.5: the cables lib is now loaded in TiLT and not
in the calcs lib any longer.

- 25/05/2000: version 1.0.4: overhaul of the source files

- 23/05/2000: version 1.0.3: JB reports me a problem of var type with the 89
and asm vars.

- 19/05/2000: version 1.0.2: I finished to standardize the function calls for
calc routines.

- 18/05/2000: version 1.0.1: set_cable routine modified for ti-lsd

- 15/05/2000: version 1.0.0: TI calc routines in .so/.DLL
