ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Archives :: News :: Zeljko Juric Releases TI-GCC Library v2.0

Zeljko Juric Releases TI-GCC Library v2.0
Posted by Nick on 27 May 2000, 16:37 GMT

Zeljko Juric has released TI-GCC Library v2.0 on an unsuspecting world. This morning, I got an email from him describing all the updates. Sadly, these are all far too numerous to mention to you in this space: it would probably increase the load time of this page by several hours *g*.

Here's the full text of the email I received:


From: "Zeljko Juric" [zjuric@utic.net.ba]
To: "Nick Disabato" [nickd@ticalc.org]
Subject: TIGCCLIB 2.0 released!
Date: Sat, 27 May 2000 12:37:46 +0200

Hi Nick!

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

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

Cheers,

Zeljko Juric

 


The comments below are written by ticalc.org visitors. Their views are not necessarily those of ticalc.org, and ticalc.org takes no responsibility for their content.


Off-Topic (a bit)
meekzer0  Account Info
(Web Page)

Does anyone know where i can find a good C tutorial? I know quite a bit of C++ but i'm sure there's some nasty discrepancies that will make my life a living hell when it comes to debugging the damn thing.

Thanks,
--meek

     28 May 2000, 05:21 GMT


Re: Off-Topic (a bit)
Sebastian Reichelt  Account Info
(Web Page)

About the tutorial: For me, it was enough to read the TI-GCC Library documentation, but there is a beginner's tutorial at http://www.tigalaxy.com/C489/ (saw that in a A89 post).

About debugging: There is no C debugger yet, and there won't be for a long time due to lack of communication. If you have a problem that you can't debug yourself, post it on the Assembly-89 mailing list.

     28 May 2000, 05:46 GMT

Re: Zeljko Juric Releases TI-GCC Library v2.0
Nathaniel Gibson Account Info
(Web Page)

I just finished printing out the entire documentation for the new library... there's got to be over 200 pages of information!!! Great job, Zeljko!

     28 May 2000, 18:11 GMT


Re: Re: Zeljko Juric Releases TI-GCC Library v2.0
ZenZagg  Account Info

jeeze.

     31 May 2000, 17:38 GMT

Re: Zeljko Juric Releases TI-GCC Library v2.0
tnussb  Account Info
(Web Page)

Another time Zeljko surprised us with an excellent new version of his TI-GCC Library v2.0. I'm curious when we will see the first projects which demonstrates the new features. As a starting point I've integrated some of the new features like parsing level data from text variables into SokoMize 0.99 which gets released today. If someone is interested you can download it now at the TI-Chess Homepage (above URL) or from TI-CALC.ORG in a few days.

     29 May 2000, 16:30 GMT


Re: Re: Zeljko Juric Releases TI-GCC Library v2.0
LF

I can only agree. The library created by Zeljko is an excellent piece of software and the information following it is invaluable. The library opens up for width range of new possibilities.

<<I'm curious when we will see the first projects which demonstrates the new features>>

Very soon (but not at TiCalc).

Thanks to Zeljko for his hard work.

Regards

LF

     29 May 2000, 20:10 GMT

Re: Zeljko Juric Releases TI-GCC Library v2.0
Gaston  Account Info

I've just bougth a ti92plus whithout removable module.
Surprise! grayscale mode doesn't work.
Could you explain me why?

     8 July 2000, 18:24 GMT
1  2  

You can change the number of comments per page in Account Preferences.

  Copyright © 1996-2012, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer