123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616 |
- [Main]
- Title=History of the Library
- [Top]
- <B>Release 2.72 (27 VI 2009.) - GCC4TI</B>
- <UL>
- <LI>Added: Some contributions to <A HREF="$$LINK(bascmd.h/)">bascmd.h</A>, <A HREF="$$LINK(basop.h/)">basop.h</A>, <A HREF="$$LINK(estack.h/)">estack.h</A> and other files.</LI>
- <LI>Bugfix: Several minor documentation mistakes fixed.</LI>
- <LI>Updated: Removed the essentially unused shrnklib support from pstarter.</LI>
- <LI>Updated: Optimized the ttunpack-fast code by applying the same calling convention changes as those applied in the ttunpack code (saves about 34 bytes, i.e. > 2%).</LI>
- <LI>Updated: Optimized the SAVE_SCREEN startup code (Martial Demolins).</LI>
- <LI>Updated: Optimized the internal F-Line emulator setup & cleanup code (Martial Demolins, Lionel Debroux).</LI>
- <LI>Updated: Optimized the VTI detection in __hw_version (Lionel Debroux).</LI>
- <LI>Updated: Optimized _rowread (Martial Demolins).</LI>
- <LI>Updated: Optimized OSVFreeTimer & OSVRegisterTimer (Martial Demolins, Lionel Debroux).</LI>
- <LI>Updated: Optimized Sprite8, Sprite16 & Sprite32 while adding support for the SPRT_RPLC mode (Joey Adams, Lionel Debroux).</LI>
- </UL>
- <B>Release 2.71 (3. I 2009.) - GCC4TI</B>
- <UL>
- <LI>Bugfix: Removed obsolete (wrong for current AMS) definition of doorsos::OSOnBreak which conflicts with the ROM_CALL.</LI>
- <LI>Bugfix: Added missing format attribute from sprintf in printf_xy.</LI>
- <LI>Bugfix: Set CESI and ESI as needed by the callback types using them.</LI>
- <LI>Bugfix: Fixed sign comparison warning in _keytest_optimized with OPTIMIZE_CALC_CONSTS.</LI>
- <LI>Bugfix: Fixed atan2 prototype.</LI>
- <LI>Bugfix: Fixed typo in __fscanf_unget (move.l -> move.w).</LI>
- <LI>Updated: In pstarter, moved handles in front of program name so the program name can be changed to a name with odd length.</LI>
- <LI>Bugfix: Added missing earlyclobbers for ldiv, reported by Mike Kennedy.</LI>
- <LI>Bugfix: Fixed reference to nonexistent flag FO_SKIP_TWINS (should be FO_RETURN_TWINS, reported by "hypersonic" Peter Fernandes).</LI>
- <LI>Added (TIGCC, GCC4TI): C99 standard header stdint.h.</LI>
- <LI>Added (GCC4TI): A subset of C99 standard header inttypes.h.</LI>
- <LI>Bugfix (GCC4TI): Made it easy to move HSF files around, without having to rewrite a set of tools right now, by adding consistent explicit references to headers where they lack.</LI>
- </UL>
- <B>Release 2.7 (31. X 2006.) - TIGCC</B>
- <UL>
- <LI>Added: Contributions to <A HREF="$$LINK(dialogs.h/)">dialogs.h</A>, <A HREF="$$LINK(files.h/)">files.h</A> (new), <A HREF="$$LINK(graphing.h/)">graphing.h</A> (new), and other files.</LI>
- <LI>Bugfix: Several minor documentation mistakes fixed.</LI>
- <LI>Updated: <A HREF="$$LINK(gray.h/GrayDBufToggleSync)">GrayDBufToggleSync</A> now works properly on HW1.</LI>
- <LI>Bugfix: Fixed <CODE>%[</CODE> conversion in <A HREF="$$LINK(stdio.h/scanf)">scanf</A> family routines.</LI>
- <LI>Added: A few new examples contributed by Jocelyn Berrendonner, Sébastien Leurent and Lionel Debroux.</LI>
- <LI>Bugfix: Fixed a <A HREF="$$LINK(stdio.h/fputc)">fputc</A> bug with large (>65390 bytes) files.</LI>
- <LI>Added: Support for GCC 4.0 (legacy GCC 3 is no longer supported by TIGCCLIB)</LI>
- <LI>Added: <A HREF="$$LINK(peekpoke.h/poke_bchg)">poke_bchg</A> and
- <A HREF="$$LINK(peekpoke.h/pokeIO_bchg)">pokeIO_bchg</A> macros</LI>
- <LI>Bugfix: Fixed support for external data variables using Fargo-style compressed relocs</LI>
- <LI>Added: Support for Mlink-format relocs</LI>
- <LI>Updated: Grayscale routine size-optimized by Lionel Debroux, Jesse Frey and Martial Demolins.</LI>
- <LI>Bugfix: Added <CODE>const</CODE> for the sprite data in the sprite function prototypes.</LI>
- <LI>Bugfix: Fixed a bug in in-use bit support affecting PedroM versions prior to 0.81.</LI>
- <LI>Updated: Merged an optimization to the in-use bit setting code from the <CODE>pstarter</CODE>.</LI>
- <LI>Bugfix: Fixed calling <A HREF="$$LINK(gray.h/GrayOn)">GrayOn</A> twice not working (despite the documentation saying it works).</LI>
- <LI>Bugfix: Fixed <A HREF="$$LINK(link.h/LIO_CTX)">LIO_CTX</A> structure (<CODE>VarSize</CODE> is an <CODE>unsigned long</CODE>, not an <CODE>unsigned short</CODE>).</LI>
- <LI>Bugfix: Fixed an unoptimizable <CODE>jsr</CODE> into a <CODE>jbsr</CODE> in trampoline offset computation.</LI>
- <LI>Bugfix: Fixed the formulas (wrong left side) in the documentation of <CODE>catanh</CODE> and <CODE>ccos</CODE>.</LI>
- <LI>Updated: Optimized the address hack for <CODE>OSFastArrows</CODE>.</LI>
- </UL>
- <B>Release 2.6 (24. X 2004.)</B>
- <UL>
- <LI>Added: Many new <A HREF="$$INFOLINK(httigcc/advanced)">optimization definitions</A>.</LI>
- <LI>Added: An implementation of <A HREF="$$LINK(stdio.h/scanf)">scanf</A>
- and related functions.</LI>
- <LI>Added: Support for <A HREF="$$INFOLINK(httigcc/comment)">program comments</A>.</LI>
- <LI>Added: Support for <A HREF="$$INFOLINK(httigcc/incompat)">incompatibility flags</A>.</LI>
- <LI>Added: Support for <A HREF="$$INFOLINK(httigcc/advanced_unofficial_support)">unofficial operating systems</A>.</LI>
- <LI>Added: A lot of startup code to handle BSS sections, constructors, etc.</LI>
- <LI>Added: Automatic setting of the in-use bit.</LI>
- <LI>Added: References between functions in the documentation.</LI>
- <LI>Updated: Library functions coded in assembly now take register parameters.</LI>
- <LI>Updated: Internal F-Line emulator is now mostly compliant with the AMS.</LI>
- <LI>Added: Contributions to <A HREF="$$LINK(intr.h/)">intr.h</A>, <A HREF="$$LINK(estack.h/)">estack.h</A>, and other files.</LI>
- </UL>
- <B>Release 2.5 SP4 (24. I 2003.)</B>
- <UL>
- <LI>Bugfix: Fixed bug in
- <CODE><A HREF="$$INFOLINK(htretval/retval)">ENABLE_ERROR_RETURN</A></CODE>
- with <CODE><A HREF="$$INFOLINK(httigcc/minams)">MIN_AMS</A></CODE>
- values of 200 or higher.</LI>
- <LI>Bugfix: Removed the rejection of a minimum AMS version of 2.07.</LI>
- </UL>
- <B>Release 2.5 SP3 (13. I 2003.)</B>
- <UL>
- <LI>Bugfix: Incorporated a fix for <A HREF="$$LINK(stdio.h/fclose)">fclose</A>.</LI>
- </UL>
- <B>Release 2.5 SP2 (12. I 2003.)</B>
- <UL>
- <LI>Bugfix: Important bugfixes for <A HREF="$$LINK(stdio.h/fopen)">fopen</A>,
- <A HREF="$$LINK(stdio.h/fread)">fread</A> and
- <A HREF="$$LINK(stdio.h/fwrite)">fwrite</A>.</LI>
- <LI>Bugfix: Changed <A HREF="$$LINK(default.h/import_binary)">import_binary</A> to
- export the symbol, and changed the IDE to make it work with it.</LI>
- </UL>
- <B>Release 2.5 SP1 (30. XII 2002.)</B>
- <UL>
- <LI>Bugfix: Fixed <CODE><A HREF="$$INFOLINK(httigcc/advanced_fileinuse)">SET_FILE_IN_USE_BIT</A></CODE>.</LI>
- <LI>Bugfix: Fixed the prototype of <A HREF="$$LINK(rsa.h/MD5Update)">MD5Update</A>.</LI>
- </UL>
- <B>Release 2.5 (21. XII 2002.)</B>
- <UL>
- <LI>Updated: Greatly changed the structure of the whole library, making it cleaner and easier to read.</LI>
- <LI>Updated: Made some changes to support the new <B>'-mregparm'</B> switch/option.</LI>
- <LI>Added: Implemented <A HREF="$$INFOLINK(httigcc/advanced_flinerom)">F-Line ROM Calls</A>.</LI>
- <LI>Added: Added beta version information to <A HREF="$$LINK(version.h/)">version.h</A>.</LI>
- <LI>Added: Implemented checking for a minimum <A HREF="$$INFOLINK(httigcc/minams)">AMS Version</A>.</LI>
- <LI>Added: Added types such as <A HREF="$$LINK(estack.h/SYM_STR)">SYM_STR</A> to differentiate between different uses of similar constructs.</LI>
- <LI>Added: Added the <A HREF="$$LINK(estack.h/ESTACK)">ESTACK</A> macro.</LI>
- <LI>Added: Added a <A HREF="$$LINK(intr.h/TRAP)">TRAP</A> macro which acts like <A HREF="$$LINK(intr.h/AUTO_INT)">AUTO_INT</A>.</LI>
- <LI>Added: Added bitwise functions to <A HREF="$$LINK(peekpoke.h/)">peekpoke.h</A>.</LI>
- <LI>Added: Added a lot of new functions to <A HREF="$$LINK(unknown.h/)">unknown.h</A>.</LI>
- <LI>Added: Started documenting more functions from <A HREF="$$LINK(unknown.h/)">unknown.h</A>,
- especially the high-level functions <A HREF="$$LINK(vat.h/VarRecall)">VarRecall</A> and <A HREF="$$LINK(vat.h/VarStore)">VarStore</A>.</LI>
- <LI>Updated: Made <A HREF="$$LINK(kbd.h/_rowread)">_rowread</A> a library function.</LI>
- <LI>Added: Added the <A HREF="$$LINK(kbd.h/_rowread_inverted)">_rowread_inverted</A>,
- <A HREF="$$LINK(kbd.h/_rowread_internal)">_rowread_internal</A>,
- <A HREF="$$LINK(kbd.h/_keytest)">_keytest</A>, and
- <A HREF="$$LINK(kbd.h/_keytest_optimized)">_keytest_optimized</A> functions.</LI>
- <LI>Added: Added missing <A HREF="$$LINK(intr.h/IntVecs)">interrupt vectors</A>.</LI>
- <LI>Updated: Integrated <A HREF="mailto:Wazabbe@flashmail.com">Jocelyn Berrendonner</A>'s
- vast updates to <A HREF="$$LINK(menus.h/)">menus.h</A>.</LI>
- <LI>Added: Implemented <A HREF="$$INFOLINK(httigcc/advanced_calcdetect)">calculator detection</A> at startup.</LI>
- <LI>Added: Implemented <A HREF="$$LINK(error.h/TRY)">TRY</A>...<A HREF="$$LINK(error.h/FINALLY)">FINALLY</A>...<A HREF="$$LINK(error.h/ENDFINAL)">ENDFINAL</A> blocks,
- and added appropriate functions to <A HREF="$$LINK(alloc.h/)">alloc.h</A>.</LI>
- <LI>Added: Implemented <A HREF="$$INFOLINK(htretval/reterr)">passing errors on to the AMS</A>, added default <A HREF="$$LINK(error.h/ErrorCodes)">error codes</A>,
- and implemented <A HREF="$$LINK(error.h/ER_throw)">ER_throw</A>.</LI>
- <LI>Added: Implemented <A HREF="$$INFOLINK(htdll)">nostub libraries</A>.</LI>
- <LI>Added: Finished <A HREF="$$LINK(bascmd.h/)">bascmd.h</A>, added <A HREF="$$LINK(basfunc.h/)">basfunc.h</A> and <A HREF="$$LINK(basop.h/)">basop.h</A> without further documentation.</LI>
- <LI>Added: Added a <A HREF="$$LINK(homescr.h/)">homescr.h</A> header file for Home Screen manipulation.</LI>
- <LI>Added: Integrated a lot of new functions and updates contributed by other people (see <A HREF="$$INFOLINK(info/credits)">Credits</A>),
- including updates to <A HREF="$$LINK(system.h/)">system.h</A>, <A HREF="$$LINK(statline.h/)">statline.h</A>, <A HREF="$$LINK(stdio.h/)">stdio.h</A>, and <A HREF="$$LINK(string.h/)">string.h</A>.</LI>
- <LI>Added: Added a new <CODE><A HREF="$$INFOLINK(httigcc/advanced_ghostspace)">EXECUTE_IN_GHOST_SPACE</A></CODE>
- directive, replacing the <A HREF="$$LINK(system.h/enter_ghost_space)">enter_ghost_space</A> function.</LI>
- <LI>Updated: Included updated grayscale support from Thomas Nussbaumer, adding
- <A HREF="$$LINK(gray.h/GraySetInt1Handler)">GraySetInt1Handler</A>,
- <A HREF="$$LINK(gray.h/GrayGetInt1Handler)">GrayGetInt1Handler</A>,
- and double-buffering functions.</LI>
- <LI>Added: Added a <A HREF="$$LINK(stddef.h/)">stddef.h</A> header file.</LI>
- <LI>Added: Added <A HREF="$$LINK(default.h/import_binary)">import_binary</A> macro.</LI>
- <LI>Added: Added a <CODE><A HREF="$$INFOLINK(httigcc/advanced_fileinuse)">SET_FILE_IN_USE_BIT</A></CODE> directive.</LI>
- </UL>
- <B>Release 2.41 (20. I 2002.)</B>
- <UL>
- <LI>Updated: Made some changes that will hopefully enable support for the new
- V200 calculator. You can define <CODE>USE_V200</CODE> to activate this.</LI>
- <LI>Added: A new file <A HREF="$$LINK(version.h/)">version.h</A> has been added to the
- library.</LI>
- <LI>Updated: Updated <A HREF="$$LINK(stdio.h/fopen)">fopen</A> and <A HREF="$$LINK(stdio.h/fclose)">fclose</A>
- with new versions by <A HREF="mailto:gforce@calc.org">Greg Dietsche</A>.</LI>
- </UL>
- <B>Release 2.4 SP2 (27. XII 2001.)</B>
- <UL>
- <LI>Updated: The patch code has been cleaned up.</LI>
- <LI>Updated: exit and atexit support have been reimplemented.</LI>
- <LI>Added: A routine for 'long long' multiplication by Kevin Kofler has been integrated.</LI>
- </UL>
- <B>Release 2.4 SP1 (1. V 2001.)</B>
- <UL>
- <LI>Bugfix: exit and atexit support have been fixed.</LI>
- <LI>A new directive, <CODE>NO_EXIT_SUPPORT</CODE>, has been added to optimize the program.</LI>
- </UL>
- <B>Release 2.4 (24. III 2001.)</B>
- <UL>
- <LI>Bugfix: Implemented variable-type arguments for pointers to short and long integers.
- This prevents warnings if you pass an int pointer to a short pointer argument, and
- fixes the problems introduced in release 2.31.</LI>
- <LI>A standard library file has been added to work with multiple files.</LI>
- <LI>New flickerless grayscale support implemented by
- <A HREF="mailto:Thomas.Nussbaumer@gmx.net">Thomas Nussbaumer</A> has been added.</LI>
- <LI><A HREF="$$LINK(gray.h/GrayMode)">GrayMode</A> has been replaced by
- <A HREF="$$LINK(gray.h/GrayOn)">GrayOn</A> and <A HREF="$$LINK(gray.h/GrayOff)">GrayOff</A>.</LI>
- </UL>
- <B>Release 2.31 (24. XII 2000.)</B>
- <UL>
- <LI>Bugfix: Casting floats to integers and automatic trunctation floating point values now
- works correctly. In TIGCCLIB 2.3, casting to signed ints (including implicite truncation)
- produced incorrect values, and casting to unsigned ints produced 'Undefined reference' errors.
- This is fixed now.</LI>
- <LI>Bugfix: Many programs created with library releases prior to 2.3 produce a lot of warnings
- (although they work correctly after the compilation) about incompatible pointer types.
- This is fixed now.</LI>
- <LI>Bugfix: Functions <A HREF="$$LINK(system.h/OSContrastUp)">OSContrastUp</A> and
- <A HREF="$$LINK(system.h/OSContrastDn)">OSContrastDn</A> trashed some registers due to a bug in
- the TIOS. This is fixed now (thanks to Patrick Davidson).</LI>
- <LI>Bugfix: Programs which still have directives <CODE>USE_..._PATCH</CODE> couldn't be
- compiled in "Doors" mode ('Duplicate identifier' errors) with TIGCCLIB 2.3, due to
- superfluous declarations of some symbols (<CODE>bcopy</CODE> etc.) in
- <A HREF="$$LINK(doors.h/)">doors.h</A> header file. This is now fixed.</LI>
- <LI>Functions <A HREF="$$LINK(stdlib.h/abs)">abs</A>,
- <A HREF="$$LINK(stdlib.h/min)">min</A> and <A HREF="$$LINK(stdlib.h/max)">max</A> are now
- redefined to work with any numeric type, not only with short integers. Such behaviour
- is proposed in ANSI C.</LI>
- <LI>Indentifiers <A HREF="$$LINK(intr.h/AUTO_INT)">AUTO_INT</A>,
- <A HREF="$$LINK(intr.h/AUTO_INT_COUNT)">AUTO_INT_COUNT</A>, <A HREF="$$LINK(intr.h/FIRST_AUTO_INT)">FIRST_AUTO_INT</A>
- and <A HREF="$$LINK(intr.h/LAST_AUTO_INT)">LAST_AUTO_INT</A> were introduced in TIGCCLIB 2.3, but
- I forgot to document them. This is now corrected.</LI>
- <LI>As usual, there are some fixes in the documentation. Especially, thanks to Kevin Kofler for
- very important information about <A HREF="$$INFOLINK(htretval)">returning values to TI-Basic</A>.</LI>
- </UL>
- <B>Release 2.3 (13. XII 2000.)</B>
- <UL>
- <LI>A lot of internal changes are made in the library to support new features introduced in release
- 0.9 of the compiler. That's why this release of the library will not work correctly with releases
- of TIGCC prior to 0.9.</LI>
- <LI>The <A HREF="$$LINK(timath.h/)">timath.h</A> header file is completely rewritten, because the compiler
- now supports the native ANSI C floating point types and values (click <A HREF="$$INFOLINK(htfloats)">here</A>
- for more info). In addition to this, two new ANSI-compatible header files <A HREF="$$LINK(math.h/)">math.h</A>
- and <A HREF="$$LINK(float.h/)">float.h</A> are introduced too. These changes are performed on such
- way to retain about 95% compatibility with old programs which used floating point arithmetic
- using awkward indirect methods (i.e. the only possible methods before TIGCC 0.9). Click
- <A HREF="$$INFOLINK(htfloats)">here</A> for more info.</LI>
- <LI>There is no more need for usage of directives like <CODE>USE_..._PATCH</CODE>. The new compiler
- apply patches automatically when necessary (such directives will be simply ignored now). In other
- words, you don't need to
- worry any more about patches. For this purpose, a new file called
- <B>tipatch.lib</B> is added to the library. The new compiler searches through this
- file to find appropriate patches which eventually should to be included (you should not edit or
- modify this file unless you know very well what are you doing).</LI>
- <LI>Three new functions <A HREF="$$LINK(timath.h/float_to_bcd)">float_to_bcd</A>,
- <A HREF="$$LINK(timath.h/bcd_to_float)">bcd_to_float</A> and <A HREF="$$LINK(timath.h/bcd_var)">bcd_var</A>
- are added to <A HREF="$$LINK(timath.h/)">timath.h</A> header file.</LI>
- <LI>A very important function <A HREF="$$LINK(estack.h/push_internal_simplify)">push_internal_simplify</A>
- which is essential for symbolic mathematic is added to <A HREF="$$LINK(estack.h/)">estack.h</A> header
- file. Note that although this function is not officially introduced
- before AMS 2.xx, it is implemented here to work on any AMS version.</LI>
- <LI>Four new functions <A HREF="$$LINK(peekpoke.h/peekIO)">peekIO</A>,
- <A HREF="$$LINK(peekpoke.h/peekIO_w)">peekIO_w</A>, <A HREF="$$LINK(peekpoke.h/poke)">poke</A> and
- <A HREF="$$LINK(peekpoke.h/pokeIO_w)">pokwIO_w</A> are added to <A HREF="$$LINK(peekpoke.h/)">peekpoke.h</A>
- header file, to allow reliable reading and writing to hardware memory-mapped I/O ports.</LI>
- <LI>A new function <A HREF="$$LINK(events.h/EV_getAppID)">EV_getAppID</A> is added in
- <A HREF="$$LINK(events.h/)">events.h</A> header file, which allows determining application ID numbers
- regardless of the AMS version. Note that although this function is not officially introduced
- before AMS 2.xx, it is implemented here to work on any AMS version.</LI>
- <LI>A new function <A HREF="$$LINK(vat.h/FolderClear)">FolderClear</A> is added in <A HREF="$$LINK(vat.h/)">vat.h</A>
- header file. The structure of <A HREF="$$LINK(vat.h/SYM_ENTRY)">SYM_ENTRY</A> is slightly improved
- (without losing the compatibility).</LI>
- <LI>Functions <A HREF="$$LINK(timath.h/atof)">atof</A> and <A HREF="$$LINK(timath.h/fabs)">fabs</A> are now
- present in <A HREF="$$LINK(stdlib.h/)">stdlib.h</A> header file too, as proposed in ANSI C.</LI>
- <LI>Bugfix: Changed definition of <A HREF="$$LINK(kbd.h/_rowread)">_rowread</A> so it works correctly
- if used in a short loop with the new compiler.</LI>
- <LI>Bugfix: The directive <CODE><A HREF="$$INFOLINK(httigcc/advanced_optrom)">OPTIMIZE_ROM_CALLS</A></CODE> now does not interfere
- witn an user-written interrupt handlers (thanks to Thomas Nussbaumer). Note however that it still may interfere with event
- handlers, and with callback functions used in <A HREF="$$LINK(system.h/OSVRegisterTimer)">OSVRegisterTimer</A>,
- <A HREF="$$LINK(stdio.h/vcbprintf)">vcbprintf</A>, etc.</LI>
- <LI>Bugfix: Function <A HREF="$$LINK(stdlib.h/exit)">exit</A> now will not cause a warning if used in
- the body of a non-void function.</LI>
- <LI>Bugfix: Function <A HREF="$$LINK(vat.h/FolderDel)">FolderDel</A> now works as described (and reliably).</LI>
- <LI>Bugfix: Some functions from <A HREF="$$LINK(ctype.h/)">ctype.h</A> are rewritten to avoid spurious
- warnings if the warning-checking level is set too high.</LI>
- <LI>Bugfix: Function <A HREF="$$LINK(timath.h/hypot)">hypot</A> will not cause side effects anymore.</LI>
- <LI>Bugfix: Function <A HREF="$$LINK(estack.h/push_ANSI_string)">push_ANSI_string</A> now works correctly
- in all cases.</LI>
- <LI>Bugfix: Function <A HREF="$$LINK(graph.h/LCD_save)">LCD_save</A> now does not cause spurious warnings
- if used in "Doors" mode.</LI>
- <LI>Bugfix: Function <A HREF="$$LINK(system.h/XR_stringPtr)">XR_stringPtr</A> is rewritten to work with
- all AMS versions (thanks to Romain Herault).</LI>
- <LI>Bugfix: Enumeration <A HREF="$$LINK(events.h/StartTypes)">StartTypes</A> is rewritten to be
- compatible with all AMS versions.</LI>
- <LI>The library is changed to replace all <CODE>'int'</CODE>s to <CODE>'short'</CODE>s where this was
- appropriate to support the <B>'-mnoshort'</B> command line option supported in the
- new version of the compiler.</LI>
- <LI>The documentation is much updated (including correcting of some information which was wrong).
- The <A HREF="$$INFOLINK(faq)">Frequently Asked Questions</A> list is also slightly updated.</LI>
- </UL>
- <B>Release 2.22 (8. X 2000.)</B>
- <UL>
- <LI>Bugfix: A fatal bug which causes crash if <A HREF="$$LINK(system.h/enter_ghost_space)">enter_ghost_space</A>
- function is used on AMS 2.03 is fixed.</LI>
- </UL>
- <B>Release 2.21 (2. X 2000.)</B>
- <UL>
- <LI>Release 2.21 is just a minor upgrade which includes the documentation in both <CODE>.chm</CODE>
- and <CODE>.html</CODE> format, because this was requested by non-Windows users. Other modifications
- includes slight fixes in the documentation, and much better organized <A HREF="$$INFOLINK(faq)">Frequently Asked
- Questions</A> list (thanks to James Darpinian for helping me to organize it).</LI>
- </UL>
- <B>Release 2.2 (29. IX 2000.)</B>
- <UL>
- <LI>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 <A HREF="$$INFOLINK(hdrindex)">library functions</A>,
- but about the whole <A HREF="$$INFOLINK(info)">TIGCC project</A>, including the <A HREF="$$INFOLINK(comopts)">compiler options</A>, a
- brief reference to C language <A HREF="$$INFOLINK(keywords)">keywords</A>,
- <A HREF="$$INFOLINK(opers)">operators</A> and <A HREF="$$INFOLINK(opers)">punctuators</A>, description of
- GNU C <A HREF="$$INFOLINK(gnuexts)">language extensions</A>,
- <A HREF="$$INFOLINK(gnuasm)">GNU Assember</A>, and much more. The <A HREF="$$INFOLINK(faq)">Frequently Asked Question</A> 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 <CODE>.chm</CODE> format (68 separate HTML files become
- too inpracticable; if someone is really interested in HTML originals, I can upload them
- separately). I hope that you will like the new look of the documentation (and the
- documentation itself, of course).</LI>
- <LI>The header file <A HREF="$$LINK(tigcclib.h/)">all.h</A> is renamed to <A HREF="$$LINK(tigcclib.h/)">tigcclib.h</A>
- to be more consistent. The old name will still be accepted, due to compatibility reasons.</LI>
- <LI>It is not necessary any more to include <A HREF="$$LINK(nostub.h/)">nostub.h</A> 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
- <A HREF="$$INFOLINK(httigcc/kernel)">USE_KERNEL</A>, or if you explicitely include <A HREF="$$LINK(doors.h/)">doors.h</A>
- header file at the begining of the program.</LI>
- <LI>A new directive <CODE><A HREF="$$INFOLINK(httigcc/advanced_optrom)">OPTIMIZE_ROM_CALLS</A></CODE> is introduced, which optimizes
- ROM calls in "nostub" mode, which usually leads to shorter and faster programs (but not always).</LI>
- <LI>Grayscale support on HW2 calculators is improved to be about 50% faster and more flickerless.
- A new function <A HREF="$$LINK(gray.h/GrayAdjust)">GrayAdjust</A> 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.</LI>
- <LI>It is not necessary any more to put <CODE>USE_GRAY_PATCH</CODE> in grayscale programs;
- the library will now conclude automatically when the grayscale support is necessary, and it
- will act accordingly.</LI>
- <LI>Bugfix: trying to enable grayscale now will not cause the crash if the grayscale was
- already enabled.</LI>
- <LI>A new function <A HREF="$$LINK(gray.h/GrayCheckRunning)">GrayCheckRunning</A> and a new enumeration
- <A HREF="$$LINK(gray.h/GrayPlanes)">GrayPlanes</A> are added in the <A HREF="$$LINK(gray.h/)">gray.h</A>
- header file.</LI>
- <LI>Bugfix: A fatal bug into functions <A HREF="$$LINK(stdio.h/fwrite)">fwrite</A> and
- <A HREF="$$LINK(stdio.h/fread)">fread</A> which makes them unusuable is fixed. Also, a small
- bug in <A HREF="$$LINK(stdio.h/fseek)">fseek</A> (a wrong returned value) is fixed too.</LI>
- <LI>Bugfix: Function <A HREF="$$LINK(stdio.h/fopen)">fopen</A> is now much more robust if something
- is going wrong (for example, not enough memory).</LI>
- <LI>A new function <A HREF="$$LINK(system.h/enter_ghost_space)">enter_ghost_space</A> is introduced,
- for bypassing some protections introduced in AMS 2.xx.</LI>
- <LI>A new header file <A HREF="$$LINK(intr.h/)">intr.h</A> is introduced, which contains functions,
- language extensions, and data types for easy making of interrupt handlers, and for general
- manipulations with interrupts.</LI>
- <LI>Very useful enumeration <A HREF="$$LINK(kbd.h/CommonKeys)">CommonKeys</A> is introduced in
- <A HREF="$$LINK(kbd.h/)">kbd.h</A> header file. It contains keycodes of some commonly used keys.</LI>
- <LI>Bugfix: Function <A HREF="$$LINK(kbd.h/_rowread)">_rowread</A> now works reliable on HW2
- calculators (they needs more time for recovering the keyboard controlor).</LI>
- <LI>The documentation now contains the keyboard matrix for usage of
- <A HREF="$$LINK(kbd.h/_rowread)">_rowread</A> function.</LI>
- <LI>Functions <A HREF="$$LINK(system.h/OSVRegisterTimer)">OSVRegisterTimer</A> and
- <A HREF="$$LINK(system.h/OSVFreeTimer)">OSVFreeTimer</A> 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.</LI>
- <LI>A new function <A HREF="$$LINK(alloc.h/alloca)">alloca</A> is added into <A HREF="$$LINK(alloc.h/)">alloc.h</A>
- and <A HREF="$$LINK(stdlib.h/)">stdlib.h</A> header files.</LI>
- <LI>Bugfix: Function <A HREF="$$LINK(assert.h/assert)">assert</A> will not cause a crash anymore
- when used together with the <CODE><A HREF="$$INFOLINK(httigcc/advanced_savescreen)">SAVE_SCREEN</A></CODE> directive.</LI>
- <LI>Bugfix: Function <A HREF="$$LINK(assert.h/assert)">assert</A> now works properly if used inside
- <CODE>if</CODE>...<CODE>else</CODE> constructions.</LI>
- <LI>Bugfix: Functions <A HREF="$$LINK(assert.h/assert)">assert</A> and
- <A HREF="$$LINK(stdlib.h/ldiv)">ldiv</A> will not trash line numbers anymore.</LI>
- <LI>Bugfix: Functions <A HREF="$$LINK(args.h/GetFloatArg)">GetFloatArg</A>,
- <A HREF="$$LINK(args.h/ArgCount)">ArgCount</A> and <A HREF="$$LINK(args.h/RemainingArgCnt)">RemainingArgCnt</A>
- now works correctly in "Doors" mode.</LI>
- <LI>Bugfix: Small corrections are made in functions <A HREF="$$LINK(peekpoke.h/poke)">poke</A>,
- <A HREF="$$LINK(peekpoke.h/poke_w)">poke_w</A> and <A HREF="$$LINK(peekpoke.h/poke_l)">poke_l</A>, to
- prevent some unnecessary warnings.</LI>
- <LI>Bugfix: Constants <A HREF="$$LINK(limits.h/)">CHAR_MIN</A> and <A HREF="$$LINK(limits.h/)">CHAR_MAX</A> in
- <A HREF="$$LINK(limits.h/)">limits.h</A> header file are now sensitive to the fact that the compiler
- may be forced to treat chars as unsigned.</LI>
- <LI>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.</LI>
- <LI>The library is now programmed on such way that the compiler will emit a warning if you try to
- return a value using the <CODE>return</CODE> keyword from the <CODE>_main</CODE> function,
- because you in fact can not do this.</LI>
- </UL>
- <B>Release 2.1 (25. VI 2000.)</B>
- <UL>
- <LI>The alphabetical list (with appropriate links) of all functions, macro constructors, language
- extensions, global variables, constants and predefined types is added to the documentation.</LI>
- <LI>Bugfix: <A HREF="$$LINK(sprites.h/Sprite16)">Sprite16</A> function from
- <A HREF="$$LINK(sprites.h/)">sprites.h</A> header file now works correctly. In addition to this
- bugfix, a new function <A HREF="$$LINK(sprites.h/Sprite8)">Sprite8</A> is added for easier working
- with small sprites.</LI>
- <LI>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.</LI>
- <LI>Bugfix: <A HREF="$$LINK(timath.h/M_FLT)">FLT</A> macro from <A HREF="$$LINK(timath.h/)">timath.h</A> 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.</LI>
- <LI>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 <A HREF="$$LINK(timath.h/M_FLT)">FLT</A>
- macro is used with just one argument. Now, it seems that this problem does not appear any more.</LI>
- <LI>Programs which use floating point support now usually procuce a bit shorter code than earlier.</LI>
- <LI>Bugfix: function <A HREF="$$LINK(stdlib.h/div)">div</A> from <A HREF="$$LINK(stdlib.h/)">stdlib.h</A>
- header file now works correctly.</LI>
- <LI>Bugfix: functions <A HREF="$$LINK(string.h/strcmp)">strcmp</A> and
- <A HREF="$$LINK(mem.h/memcmp)">memcmp</A> 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.</LI>
- <LI>Bugfix: function <A HREF="$$LINK(system.h/ASM_call)">ASM_call</A> from <A HREF="$$LINK(system.h/)">system.h</A>
- header file assumed that called subroutine will preserve all registers, which caused a lot of
- problems when these assumptions are violated. <A HREF="$$LINK(system.h/ASM_call)">ASM_call</A> now
- saves all registers and restores them after the execution. In addition to this bugfix, a new
- function <A HREF="$$LINK(system.h/ASM_fastcall)">ASM_fastcall</A> is added, for faster calling (when
- you are sure that a called subroutine will not destroy any registers).</LI>
- <LI>Bugfix: in release 2.0, it was impossible in "Doors" mode to create programs splited in
- many modules which are linked separately, because symbol <CODE>_main</CODE> was unconditionally
- exported in <A HREF="$$LINK(doors.h/)">doors.h</A> header file. This is now corrected.</LI>
- <LI>Bugfix: function <A HREF="$$LINK(gray.h/GrayMode)">GrayMode</A> from <A HREF="$$LINK(gray.h/)">gray.h</A> 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.</LI>
- <LI>Some errors in the documentation are fixed, and the documentation is slightly updated
- (especially information about big number support in <A HREF="$$LINK(rsa.h/)">rsa.h</A> header file).
- As usual, the <A HREF="$$INFOLINK(faq)">Frequently Asked Questions</A> list is updated with a lot
- of useful suggestions.</LI>
- </UL>
- <B>Release 2.0 (25. V 2000.)</B>
- <UL>
- <LI>Starting from this release, TIGCCLIB is much more compatible with ANSI C
- standard library. Nearly full implementation of <A HREF="$$LINK(stdio.h/)">stdio.h</A> and <A HREF="$$LINK(stdlib.h/)">stdlib.h</A> is
- included (41 new functions in <A HREF="$$LINK(stdio.h/)">stdio.h</A> and 23 new functions in <A HREF="$$LINK(stdlib.h/)">stdlib.h</A>,
- together with appropriate data structures and types). So, you can now use a
- lot of functions known from various C tutorials: <A HREF="$$LINK(stdio.h/printf)">printf</A>,
- <A HREF="$$LINK(stdio.h/fopen)">fopen</A>, <A HREF="$$LINK(stdio.h/gets)">gets</A>, <A HREF="$$LINK(stdlib.h/atoi)">atoi</A>,
- <A HREF="$$LINK(stdlib.h/qsort)">qsort</A>, <A HREF="$$LINK(stdlib.h/bsearch)">bsearch</A>, <A HREF="$$LINK(stdlib.h/strtol)">strtol</A>...</LI>
- <LI>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 <CODE>USE_LONGMUL_PATCH</CODE> etc.).</LI>
- <LI>A directive <CODE><A HREF="$$INFOLINK(httigcc/advanced_savescreen)">SAVE_SCREEN</A></CODE> is introduced, which allows automatically saving and
- restoring the content of the screen in "nostub" mode, without needness for
- calling <A HREF="$$LINK(graph.h/LCD_save)">LCD_save</A> and <A HREF="$$LINK(graph.h/LCD_restore)">LCD_restore</A> manually.</LI>
- <LI>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 <B>tcl15fix</B>).</LI>
- <LI>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 <A HREF="$$LINK(estack.h/)">estack.h</A> header
- file (82 new functions). The list of expression <A HREF="$$LINK(estack.h/Tags)">tags</A> is completed (more
- than 500 tags), and the documentation about usage of expression stack is
- much updated.</LI>
- <LI>A new header file <A HREF="$$LINK(events.h/)">events.h</A> 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.</LI>
- <LI>A new header file <A HREF="$$LINK(sprites.h/)">sprites.h</A> is introduced, with 2 new fast and
- simple functions for sprite drawing (including masked sprites).</LI>
- <LI>A new header file <A HREF="$$LINK(textedit.h/)">textedit.h</A> 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!</LI>
- <LI>Four language extension macros
- <A HREF="$$LINK(error.h/TRY)">TRY</A>, <A HREF="$$LINK(error.h/ONERR)">ONERR</A>,
- <A HREF="$$LINK(error.h/ENDTRY)">ENDTRY</A> and <A HREF="$$LINK(error.h/PASS)">PASS</A> are added in
- <A HREF="$$LINK(error.h/)">error.h</A> 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 <A HREF="$$LINK(error.h/)">error.h</A>, the documentation about it is updated, and some wrong
- information are corrected.</LI>
- <LI>A new header file <A HREF="$$LINK(flash.h/)">flash.h</A> 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 <A HREF="$$LINK(vat.h/)">vat.h</A> header file.</LI>
- <LI>Some new data structures are added in <A HREF="$$LINK(vat.h/)">vat.h</A> 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 (<A HREF="$$LINK(vat.h/HS_NULL)">HS_NULL</A> was
- wrongly defined).</LI>
- <LI>A new header file <A HREF="$$LINK(cert.h/)">cert.h</A> with 17 functions for working for certificate
- files and other memory-mapped files (not necessary related to certificates) is introduced.</LI>
- <LI>15 new functions for high-level accessing to the link port are added in
- <A HREF="$$LINK(link.h/)">link.h</A> header file. Also, some information about
- <A HREF="$$LINK(link.h/)">link.h</A> are corrected.</LI>
- <LI>A new header file <A HREF="$$LINK(rsa.h/)">rsa.h</A> is introduced, with 8 new functions for working
- with very big integer numbers, message diggesting and RSA decryption.</LI>
- <LI>4 new functions are added in <A HREF="$$LINK(args.h/)">args.h</A> header file, which allow more
- flexible getting of the arguments passed to the program. The list of argument tags is completed.</LI>
- <LI>Two new header files <A HREF="$$LINK(limits.h/)">limits.h</A> and <A HREF="$$LINK(values.h/)">values.h</A>
- are introduced. They contain various platform-dependent constants (proposed by ANSI). This helps
- porting programs from other platforms.</LI>
- <LI>A new header file <A HREF="$$LINK(compat.h/)">compat.h</A> is introduced, which defines 18
- pseudoconstants (i.e. 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).</LI>
- <LI>Two very useful global variables are added in <A HREF="$$LINK(wingraph.h/)">wingraph.h</A> header
- file. Also, some information about this header file and <A HREF="$$LINK(graph.h/)">graph.h</A> header
- file are updated or corrected.</LI>
- <LI>12 new functions are added in <A HREF="$$LINK(system.h/)">system.h</A> header file, mainly for
- manipulating with queue structures, the cursor and the clipboard. Many information about
- this header file are updated or corrected.</LI>
- <LI>Information about <A HREF="$$LINK(kbd.h/)">kbd.h</A> header file are much updated. A hint is
- added about how to avoid slow functions <A HREF="$$LINK(kbd.h/kbhit)">kbhit</A> and
- <A HREF="$$LINK(kbd.h/ngetchx)">ngetchx</A> in high-perfomance keyboard reading applications,
- without using very low-level functions like <A HREF="$$LINK(kbd.h/_rowread)">_rowread</A>.</LI>
- <LI>A new header file <A HREF="$$LINK(bascmd.h/)">bascmd.h</A> 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...</LI>
- <LI>3 new functions are added in <A HREF="$$LINK(menus.h/)">menus.h</A> header file. A lot of
- information are updated, especially about the exact organization of the menu structure
- (this info allows making menus with more levels of submenus).</LI>
- <LI>Function <A HREF="$$LINK(assert.h/)">assert</A> is improved, so now there is no any limitations
- about usage of this function in "nostub" mode.</LI>
- <LI>Function <A HREF="$$LINK(alloc.h/realloc)">realloc</A> (proposed by ANSI) is added in
- <A HREF="$$LINK(alloc.h/)">alloc.h</A> header file (it is also defined in <A HREF="$$LINK(stdlib.h/)">stdlib.h</A>),
- and <A HREF="$$LINK(alloc.h/calloc)">calloc</A> is improved to generate smaller code.</LI>
- <LI>Information for assembly programmers are much updated (many people asked me
- about examples of using floats in ASM programs, so this info is added).</LI>
- <LI>More than 200 TIOS functions are no more "unknown", so they are moved out of
- <A HREF="$$LINK(unknown.h/)">unknown.h</A> header file.</LI>
- <LI>The documentation generally and the <A HREF="$$INFOLINK(faq)">Frequently Asked Questions</A>
- list are updated.</LI>
- </UL>
- <B>Release 1.5 (29. III 2000.)</B>
- <UL>
- <LI>Floating point support is implemented. For this purpose, a new header file
- <A HREF="$$LINK(timath.h/)">timath.h</A> is introduced, with 86 new functions, 4 macro
- constructors and a lot of constants and predefined types.</LI>
- <LI>Basic support for the symbolic calculations (including symbolic algebra and
- calculus) is also implemented. For this purpose, a new header file <A HREF="$$LINK(estack.h/)">estack.h</A>
- is introduced. It contains 26 functions for manipulations with the expression stack (in the near
- future, I planed about 50-100 new functions in this header file).</LI>
- <LI>Bugfix: <A HREF="$$LINK(gray.h/GraySetAMSPlane)">GraySetAMSPlane</A> function from <A HREF="$$LINK(gray.h/)">gray.h</A>
- now works correctly in "Doors" mode.</LI>
- <LI>Bugfix: grayscale support on Hardware Release 2 calculator is now stable.
- And, grayscale support now autodetects the hardware version!</LI>
- <LI>Now you can make programs which return a result to the TI-Basic, i.e. which
- acts like TI-Basic functions. For this purpose, header files <A HREF="$$LINK(nostub.h/)">nostub.h</A> and
- <A HREF="$$LINK(doors.h/)">doors.h</A> are slightly changed.</LI>
- <LI>Two very useful functions are added in <A HREF="$$LINK(args.h/)">args.h</A> header file:
- <A HREF="$$LINK(args.h/GetFloatArg)">GetFloatArg</A> and
- <A HREF="$$LINK(args.h/SkipArg)">SkipArg</A>. Also, documentation about <A HREF="$$LINK(args.h/)">args.h</A>
- is much updated and some serious errors in the documentation are corrected.</LI>
- <LI>2 new functions (<A HREF="$$LINK(system.h/ASM_call)">ASM_call</A> and <A HREF="$$LINK(system.h/EX_patch)">EX_patch</A>)
- are added in <A HREF="$$LINK(system.h/)">system.h</A>.</LI>
- <LI>94 TIOS functions are no more "unknown", so they are moved out of <A HREF="$$LINK(unknown.h/)">unknown.h</A>
- header file.</LI>
- <LI>Function <A HREF="$$LINK(dialogs.h/NoCallBack)">NoCallBack</A> is now implemented as cast
- constructor, so it will not be embeded in the program if not used.</LI>
- <LI><A HREF="$$LINK(kbd.h/_rowread)">_rowread</A> function from <A HREF="$$LINK(kbd.h/)">kbd.h</A> is
- now more reliable.</LI>
- <LI>All arguments which represent a handle or functions which return a handle
- are now declared as <A HREF="$$LINK(alloc.h/HANDLE)">HANDLE</A> instead of <CODE>unsigned int</CODE>.
- Yes, this is exactly the same, but the documentation is now more clear.</LI>
- <LI>Information about timers in <A HREF="$$LINK(system.h/)">system.h</A> are updated.</LI>
- <LI>Information for assembly programers are slightly updated.</LI>
- <LI>Information about how to use floating point and symbolic arithmetic and
- information about how to return a value to TI-Basic are added in the
- documentation.</LI>
- <LI><A HREF="$$INFOLINK(faq)">Frequently Asked Questions</A> are added to the documentation.</LI>
- </UL>
- <B>Release 1.1 (4. II 2000.)</B>
- <UL>
- <LI>Bugfix: <A HREF="$$LINK(string.h/strncmp)">strncmp</A> was incorrectly declared as long,
- although TIOS strncmp puts the garbage in higher half of D0; it is now declared as int.</LI>
- <LI>Bugfix: type definition for <A HREF="$$LINK(alloc.h/HANDLE)">HANDLE</A> in
- <A HREF="$$LINK(wingraph.h/)">wingraph.h</A> and <A HREF="$$LINK(tigcclib.h/)">all.h</A> had a syntax error,
- which is now fixed.</LI>
- <LI>AMS 2.03 bugfix: <A HREF="$$LINK(dialogs.h/NoCallBack)">NoCallBack</A> is no more in the
- TIOS jump table, so this fact is now regarded. This fixed problems with usage of dialogs
- with AMS 2.03. If you used <A HREF="$$LINK(dialogs.h/)">dialogs.h</A> with previous release of
- the library, please recompile your program to become compatible with AMS 2.03!</LI>
- <LI>Grayscale support implemented: a new header file <A HREF="$$LINK(gray.h/)">gray.h</A> and
- a new patch <CODE>gray.o</CODE> are introduced for this purpose.</LI>
- <LI>Added support of passing arguments to the programs: for this purpose, a new header
- file <A HREF="$$LINK(args.h/)">args.h</A> is introduced.</LI>
- <LI>Header file <A HREF="$$LINK(assert.h/)">assert.h</A> is now included in <A HREF="$$LINK(tigcclib.h/)">all.h</A>
- because I found an inteligent method how to implement <A HREF="$$LINK(assert.h/assert)">assert</A> on
- such way that it does not increase the program size if not used in the program (this is a tricky
- play with conditional assembling).</LI>
- <LI>An information how to make a real <B>stdio.h</B> function <B>printf</B>
- is added into the documentation about <A HREF="$$LINK(printf.h/)">printf.h</A>.</LI>
- <LI>Some additional notes and an example of usage are added for <A HREF="$$LINK(wingraph.h/WinOpen)">WinOpen</A>
- function</LI>
- <LI>Global variable <A HREF="$$LINK(estack.h/top_estack)">top_estack</A> is moved from
- <A HREF="$$LINK(unknown.h/)">unknown.h</A> to <A HREF="$$LINK(args.h/)">args.h</A>.</LI>
- <LI>Some typo errors in the documentation are fixed.</LI>
- </UL>
- <B>Release 1.0 (11. I 2000.)</B>
- <UL>
- <LI>The first official release.</LI>
- </UL>
|