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.


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

All I want to say is: Great job, Zeljko! This is really a revolutionary step!

BTW: Special support for it will be added in the TI-GCC IDE v2.5, which will come out today. It has an updated Template Wizard for screen save/restore, return value, and patches.

     27 May 2000, 17:15 GMT

Re: Zeljko Juric Releases TI-GCC Library v2.0
ManoĆ«l TRAPIER  Account Info
(Web Page)

COOOOOOOOLLLL

A new version of TI-GCC !!

     27 May 2000, 17:40 GMT


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

Uh... this isn't a new release of TI-GCC itself, just the libraries that it uses to compile programs.

I think TI-GCC is about as far as it'll get right now. Unless, of course, someone makes it for a different OS... I've always been wondering how people do it on Macs...

     27 May 2000, 17:58 GMT


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

TIGCC can still be advanced a bit - support for floats in the compiler (not those ugly TIGCC fuctions), source to the compiler itself, upgrade it to newer versions of GCC-m68k, etc. I'm not too sure if we'll see any of these any time soon, but more can be done.

     27 May 2000, 18:30 GMT

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

Lackage of "standard" floats is currently the greatest disadvantago of TIGCC, but from one aspect of view, I am very happy because TIGCC has not standard floats. Why??? Many people have tendention to misuse float variables. If usage of floats is easy, many unexperienced people would use floats even when floats are not necessary. A lot of beginners have not any feeling about the fact that using of floats is 1000 or more times slower than using integers. I see a lot of such "masterpieces" of programming, where a lazy or unexperienced programmer declares everything as "float". And, what is a consequence? C program with "Basic" speed... Now, when usage of floats is not so straightforward, the programmer must really have a strong reason for using floats :-)

     27 May 2000, 20:07 GMT


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

Well said, but sometimes it would really be a LOT easier with standard floating point support.

     27 May 2000, 20:13 GMT


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

Of course...

     27 May 2000, 21:51 GMT

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

Talk to Henri Moilanen, re-author of the mods to GCC-m68k. Jean Cannazi (sp?) lost the source to his patches, to that version won't be updated again. It's also illegal, since it cannot be under the terms of the GPL ;(. Somebody with cygwin go download TIGCC for Linux and recompile it under cygwin.

btw, he was working on floating point support last time I checked ( a couple months ago )...

Kenneth

     28 May 2000, 00:11 GMT


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

Who was? Jean Canazzi (I think this is correct) or the author of TI-GCC for Linux?

Where can I get the source of TI-GCC for Linux in its current state? Maybe I can do something with it, but I think I lack the experience.

     28 May 2000, 05:27 GMT


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

Also, would be good to repair bug when static variables in nostub mode are not initialized, they are not correctly accessed.

     29 May 2000, 08:40 GMT

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

Sweet! I have been waiting for this. This is awesome. Thank you so much for doing this Zeljko, this will revolutionize programming on TI's. I've got to go play w/ it.

John

     27 May 2000, 19:35 GMT

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

sorry for a dumb question, but I am new to the world of programming calculators:

what is TI-GCC and/or TI-GCC Library?

Thanks,
chris

     27 May 2000, 20:03 GMT

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

TI-GCC is a C compiler for the TI-89 and TI-92 Plus. The TI-GCC Library provides a huge amount of useful functions, mainly in interaction with the operating system. I also wrote an IDE for TI-GCC.

In my opinion, with all those tools, C programming has become even easier than BASIC. Of course, this is not totally objective...

     27 May 2000, 20:11 GMT


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

Is there a version of TI-GCC for the macintosh?

     27 May 2000, 20:23 GMT

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

I don't think so. I think there is a C compiler coming out for Linux, but that's it.

     27 May 2000, 20:39 GMT

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

No, there isn't... but a good way around it (read: the way I do it) is to get a copy of Virutal PC 3.0 (Windows 98 version) from Connectix. This program is more than adaquate to handle any TI-calcuator programming that you might do!!!!

     28 May 2000, 02:08 GMT


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

I wonder how fast Snoboard would compile on my sister's new G4/500 ;-)

--BlueCalx

     28 May 2000, 02:10 GMT


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

You're making me jealous. Think about that: It takes about 10 minutes to compile and run the TI-GCC IDE on my computer. If there were no errors, that is.

     28 May 2000, 05:49 GMT


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

By the way Sebastian, very nice IDE you've written there!! :-)

     28 May 2000, 15:10 GMT

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

Thanks. Kind of weird, though, how more people downloaded the source than the actual executable file.

     28 May 2000, 20:55 GMT


Re: GCC IDE
THPDG  Account Info

Why wouldn't you just use the Visual C IDE? It was easy to set up, I just wish I could make browse files in it. Maybe some day.
-Dosman!

     29 May 2000, 16:36 GMT


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

TI-GCC = C language compiler for the TI-89/92/92+

TI-GCClib = library that helps program in C by providing functions/other goodies

     27 May 2000, 20:20 GMT

1  2  

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

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