I fixed the bugs I talked about below: TI-Timewaste used to crash on 92+ and V200, TI-Puzzlize crashed on all models. Both programs have increased optimization, thanks to -freg-relative-an.
I'm splitting the documentation of ExtGraph into many files, which will help both maintaining and reading.
I fixed the timestamp of the previous news...
As I'm on holiday, I spent several days to finish and clean up a few things. The release date is not even done on purpose.
As usual in this beta series: new functions, bugfixes, optimizations, etc. (the changelog is large this time). This beta contains the todo list, but the documentation was not updated much.
complete distribution, ZIP format(removed 20080727 due to space constraints on the TICT FTP)
reduced distribution, ZIP format(removed 20080727 due to space constraints on the TICT FTP)
- complete distribution, BZipped TAR format
- reduced distribution, BZipped TAR format
In the next weeks, I will try to make a new release of ttstart, which will be based on Kevin's work for the TIGCC pstarter (he rewrote everything into ASM). I'll also have a look at why several TICT games don't work properly on V200, as I was reported.
And we wish merry Christmas to everyone !
First, the good news: a TI-89T-compatible version of TI-Chess is here. Note that this distribution of TI-Chess is just a quick fix (we got many requests for it). It will be superseded by one that will contain universal launchers. I know the distribution linked to before *works*, while recompiling everything with TIGCC 0.95 Beta 19 or later:
- might break something
- may pessimize the code, due to the (apriori useless in TI-Chess, ebook, etc.) in_use startup code that may be required by a number of tigcc.a functions I may use in TI-Chess
- requires me to update ttstart first, and to go through the hassle of making my own launchers, since the latest TIGCC 0.95 betas won't generate on-calc-incompatible launchers anymore, and I care about the programmers'/users' choice of generating/using all three launchers
Second, the many bad news:
- I was reported that two TICT games (TI-Timewaste 0.82, TI-Puzzlize 1.21) cause crashes. I'll try recompiling them too with the latest TIGCC betas, since this misbehaviour might be due to the severe bugs in the constant merging code of Beta 15, but it might be due to small changes in the code as well.
- When I wrote the posts below, I thought I could rather easily modify TICT-Explorer so that it became TI89T-compatible. This just required me to be *sure* that I'd not use outdated ttstart versions... which unfortunately needed weeks, because Kevin Kofler wouldn't give me a way to get the latest ttstart versions. And, this was very easy (actually two links to the appropriate files, since they were not modified for a long time, and a small addition), so it would have saved all of us time, and TICT-Explorer would not screw up users anymore... As long as TICT-Explorer / ttstart are not updated and screw up Titanium users, I advise them to use Greg Dietsche's SuperStart for the launching abilities (as a FlashApp hooking the home screen, one of its features makes launching much more convenient) and KerNO for the crash protection.
- ExtGraph needs a bugfix/improvements release, but there's much work left on it before I can do it - not even thinking of modifying the entire tilemap engine to make it compatible with the TIGCC doublebuffering support. Obviously, (nearly) everyone would be happy if the TIGCCLIB grayscale support inclued both types of grayscale routines, which is very easy and which a number of users have been asking for years, but Kevin doesn't want to do so, and there seems to be no way he changes his mind on anything... Not that I couldn't fork the TIGCCLIB grayscale support, but I strongly object to: this would create one more conflict.
- Last but not least, school started again for me, i.e. TI-68k calculators programming is mostly over for me, all the more I have to learn ARM assembly (BTW, thanks again to Al Borowski, one of the main developers of HP-GCC, for giving me links to very useful ressources dealing with that topic)...
I updated once more all TICT games I had updated lately: most of them wouldn't run on V200 due to a silly mistake (which I hadn't seen in my tests which were aimed at the TI-89T, not the V200), and TI-Puzzlize contained unsafe code (found in TI-LIDS and TI-Chess as well) that was broken by compilation option -mregparm, causing crashes under some circumstances.
Everything is recompiled with brand-new TIGCC 0.95 Beta 15 containing an updated version of ttstart (compatible with HSR). ttstart will be updated as a standalone tool too.
TI-Chess 4.10 is available on our messageboard (Custom Beta Tests section). It needs some testing to make sure that nothing was broken by -mregparm, for example. I tested it a bit though.
- TI-Puzzlize v1.21
- TI-Con45 v1.42
- TI-TiltMaze v1.22
- TI-TimeWaste v0.82
- TI-MineSweeper v1.32
- Sokomize v1.21
- TI-Mahjongg Solitaire v1.21
- TI-LIDS v1.21
- TI-Memory v1.21
FAT-Engine 1.22 and TICT-Explorer 1.40 Beta 1 are coming soon.
Here are updated (compatible with the TI-89 Titanium, compiled with TIGCC 0.95 Beta 12) versions of some TICT software. They are now uploaded to ticalc:
I will release TICT-Explorer 1.40 "Beta 0" (possibly unstable) on our messageboard to help me finding and fixing more quickly bugs introduced in this version by my optimizations.
- Ebook Reader v2.06
- TI-Puzzlize v1.20
- TI-Con45 v1.41
- TI-TiltMaze v1.21
- TI-TimeWaste v0.81
- TI-MineSweeper v1.31
- Sokomize v1.20
- TI-Mahjongg Solitaire v1.20
- TI-LIDS v1.20
TI-Chess 4.01 (released on our messageboard) is not currently compatible with the TI-89 Titanium. We'll try to modify the TIGCC ttstart so that HSR can be used on the TI-89 Titanium too.
Julien updated the tilemap engine. In addition to the MASK drawing mode I talked about previously, it adds a simple support that can be used for games like SimCity 68k. Come on developers, we'd like to make such a project. We'd also like to make a TI-68k-based port of Lotus Turbo Challenge - the nice TI-Z80 port has been available for a long time. A thread was started here, we haven't had any replies for a while.
If the slander was removed from the website I was talking about last time, after discussing with the host, there was another unpleasant event in-between. Indeed, a yAronet user, well known for misbehaving on TI-Gen from which he was banned for trolling ("The TI-Gen staff banned persons for flooding, flaming and/or circumventing administratory measures, etc. I mean, the usual persons." down this page in April was a reference to him), came under another profile and wanted to help for the TI-Gen board sourcecode.
Afterwards, even if he says he had started working on code and he didn't want to destroy anything, he might very well have used or left holes for others to use them, modified the databases... What's more, he said himself on TI-Gen that he wanted to see what was going on the admin/moderator private board.
The admin/moderator private board had already been partly posted on yAronet by a TI-Gen staff member, who was banned yesterday after seeing his powers temporarily removed for repeated misbehaviour. I'm all for it, and I had strongly disapproved of his powers being given back to him. Indeed, another staff member had misbehaved with yAronet users, he had been warned and his actions are checked (new misbehaviour => powers removed). He accepted and never did any other mistake. The banned person's behaviour was worse, even after the strong warning he received...
To be coherent, I can't obviously for a long time keep blaming most yAronet users for misbehaving, while I keep supporting a board whose staff contains such a person !
[EDIT: changed the end of the post]
Due to the TI-89 Titanium ("Titanic") being widely available and breaking so many things (much worse than the V200, believe me), I'm currently updating TICT software. This is also an occasion to release modifications / improvements to several of them (TI-Miner for example, some optimizations were sitting on my HD for more than two years, I added other ones, saving kilobytes on both the uncompressed size and the compressed size).
We lately had trouble again with the same yAronet users as usual, those I was complaining about down this page in an older news about TI-Gen. The day before yesterday, they banned Kevin from yAronet for some possibly fake reason I don't care about anyway. Yesterday, they temporarily took over the TI-Gen IRC channels and triggered TI-Gen to be temporarily closed again.
Things went really far this time. Kevin and I were strongly slandered on a site not unrelated to a yAronet so-called moderator [EDIT: removed 2004/07/07 after discussing with this person].
Of course, I won't say that Kevin and I are perfect. But we do not deserve that kind of illegal (this is clearly slander, on a website anyone can read !) personal attacks.
If we go on like that, one of the next steps is shed blood. So I'll be the first to stop here. I won't reply to their provocations (for example, the trolls they post often contain a note saying that they know we'll remove the posts; if we did, we'd be really thick...). I'll let them live their life, while I live mine.
We must keep up working, or work even more, between and with our board and TI-Gen's, without caring about the trolls from yAronet anymore. There are skilled programmers over there (squale92, ExtendeD, PpHd, Pollux, Flanker, jackiechan/Sasume... the usual trolls are not programmers that skilled). They attend other boards anyway, without usually trolling the same way the others do, and I've had constructive talks and work with them. For example, ExtendeD, Flanker, PpHd and I have exchanged information about some AMS internals and suggestions for our programs; jackiechan/Sasume made a huge work on ExtGraph.
As usual in this beta series: new functions, bugfixes (two severe bugs were fixed on two sets of rather unusual functions), documentation updates...
Due to the increasingly huge size of the distribution (more functions means more flexibility and power, but increase size), there are now four distributions of ExtGraph (the .zip ones will stay default):
the complete distribution in .zip format(removed 20080727 due to space constraints on the TICT FTP);
the reduced distribution in ZIP format, without the library source (documentation and demos are kept). Usually enough for those who just want to use ExtGraph(removed 20080727 due to space constraints on the TICT FTP);
- the complete distribution in .tar.bz2 format;
- the reduced distribution in .tar.bz2 format;
The .tar.bz2 archives were done with powerful and open 7-Zip. Its native format (.7z) outperforms all other formats (including .rar). Like the PPG format:
- the decompression algorithm can be ported to TI-68k calculators;
- the compression algorithm requires too much memory to be ported to TI-68k calculators (and 7Z is decades above PPG for the memory consumption).
There's much more to come in ExtGraph (interlaced sprites, more and more optimized sprite routines, fast fonts support, optimizations, triangle drawing routines, etc.).
If you distribute ExtGraph within your projects' distributions, please include both extgraph.a and extgraph.h (and tilemap.a / tilemap.h if you use the tilemap engine). Don't get fooled by the huge size of those files: they are very redundant data, high compression ratios can therefore be achieved on them (read: the least compressible file of those four files, extgraph.a, is more than six times smaller after compression, even with old ZIP format).
I made a huge work for the TIGCC documentation. Its integration to TIGCC being slow, Kevin and I decided that I should release my work separately.
So, here it is. You can download it here, it contains a readme.
That file comes with no warranty of any kind. It should not be redistributed, but always downloaded from the TICT website, and it should not be split (always stay as a whole).
You can use the contents of this file as you wish, as long as you give me (Lionel Debroux) credit.
- TICT-Explorer: version 1.30 was uploaded on ticalc.org. Direct links: TI-89,TI-92+ andV200.
As usual, the next version will start beta stage a rather short period of time after the release of the current version. I have to optimize a bit more and fix bugs before thinking about releasing a beta.
- ExtGraph: more than the work on the extgraph.h/extgraph.a part, I'd like to tell about the work on the tilemap.h/tilemap.a part (changes might not be completely integrated in Beta 3 due to lack of time). The next version will be a major update:
- Julien already programmed a new drawing mode, MASK, which enables using more planes with four colors with minimal speed penalty. At http://perso.wanadoo.fr/jackiechan68k/tmsshot.html, you can see an animated screenshot of the new demo using three overlapping planes, two of which use the four colors.
Of course, this is more a brute-force demo than something which can really be used on our calculators (since 1 tile plane + 1 sprite plane are always enough, and redrawing everything every frame can be detrimental to speed), but it clearly shows that ExtGraph and the tilemap engine suit well for large games.
- We've brainstormed together on functions for Simcity-like games. We came up to a solution, we're currently discussing it on the TIGCC/TICT board, Custom Beta Tests section.
TI-Gen is a new French-speaking site and board, with a large file archive containing the best programs.
It is completely independent from yAronet, its staff and mind are different from those of yAronet. On TI-Gen, the staff is huge, and moderation is not quite the same as that of yAronet. It is much more like that of the TIGCC/TICT official board, which seems to be seen as not so bad by many international users.
The TI-Gen staff banned persons for flooding, flaming and/or circumventing administratory measures, etc. I mean, the usual persons.
Saying a number of persons among those who attend and hold yAronet are overjoyed by the birth of TI-Gen, would be plain lying. However, they could have ignored TI-Gen; they could have done without putting a spoke in the wheels...
One can currently post things without an account on the TI-Gen board. However, several 'anonymous' trolls were posted. As a consequence, this feature may be removed soon. These trolls are not so anonymous anyway, since the kind of posts, the subject of the threads in which trolls were posted (ExtGraph at least twice), are a signature...
In February, TI-Gen used to be slow and have security holes (exploited by some ******* hacker, causing a one-week downtime to fix the holes), this is fixed now. Several bugs with some navigators are being fixed.
TI-Gen has an IRC channel. The discussions are in French over there, but if persons like Kevin (Kofler) are online, you can speak English as well.
TI-Gen gets an increasing number of hits everyday (~200 for now). It often has more than 8 persons connected at the same time.
A new version is under development. International users will be able to use it more easily: the current version is derived from a general purpose site/board, which is simply not designed for different interface languages.
I'm going to upload ExtGraph 2.00 Beta 2 within twenty minutes.
It contains a new, more powerful version of the tilemap engine; aligned sprite (tile) functions; transition effects; updated documentation (update not finished, but it's much better than in Beta 1 - much bigger, too)...
The upcoming TI-89 Titanium ("Titanic") should be supported (although I didn't test because I have one), I can't see anything that would not work.
I tested ExtGraph on PedroM. All routines work (since all ROM_CALLs used in the routines were reimplemented), and most demos work (PedroM doesn't have CharNumber, so it won't run demo12 and demo17).
Download it here.
fastitoa.h is a planned update to TIGCCLIB. It consists of much faster ("worst" speed improvement is ~3x, best above 13x) but less flexible and of course bigger replacements to sprintf.
The TIGCC Team and I agreed that I should release it on its own, before the integration to TIGCCLIB which will take time.
The zip (available here) contains:
Please report bugs / give comments on the appropriate topic at TIGCC Programming.
- complete sourcecode.
- C header file.
- Directly usable function archive (just include it in your TIGCC project) and the TIGCC Project used to build it.
- complete documentation of those functions (TIGCC .hsf/.hsh [Help System File/Header] and HTML format) and ROM_CALLs CharNumber and FirstNonBlank (.hsf format - cannot be merged directly with the TIGCC documentation in the sources distribution).
The next beta of ExtGraph 2.00 will contain the updated tilemap engine, bugfixes, new functions.
Julien widely updated the tilemap engine, and the documentation is now in English, thanks to Malcolm Smith (TRGenius) for fixing our translation.
Download the tilemap engine here.
We know of several bugs on ExtGraph, but the bugfixed next beta won't come too soon. See our board (Custom Beta Tests, TIGCC Tools Suite & eBook Generator and Off Topics - Misc. Stuff).
The tilemap engine by Julien is now in ExtGraph.
ExtGraph 2.00 Beta 1 is available [removed that outdated version on 2004/12/25 due to space constraints].
I uploaded ExtGraph 2.00 "Beta 0". I gave it this wierd name because the functions work (no known bugs, although there may be), but the documentation was not really updated, it's a huge work.
Several new functions are not documented, but their names are meaningful and you should be able to see what they do given their prototype, the comments in extgraph.h or the sources, the examples they are used in if that applies.
I hope to be able to update the documentation for Beta 2 or 3, depending on when Beta 1 is released. It would be great if I could update the documentation for Beta 1, but I fear that it would delay the release of Beta 1 too much.
I'd like to thank once more Julien Richard-Foy (jackiechan) for his enormous work. Without him, ExtGraph 2.xx wouldn't probably have been possible.
The biggest lack of ExtGraph 2.00 Beta 0 is the tilemap engine; it should be available (with documentation and examples) in Beta 1. See the screenshot.
You'll notice that the size of extgraph.h and extgraph.a have increased a lot. This reflects new functions were added, and the flexibility was increased: both __stkparm__ and __regparm__ modes are available for most functions already available in ExtGraph 1.02.
However, most new functions are only available in__regparm__ mode, writing slower and bigger __stkparm__ versions is pointless and is therefore not planned.
ExtGraph 2.00 Beta 0 is available [removed that outdated version on 2004/12/25 due to space constraints].
By the way, there have been more than 200000 visits on this site. Nice !
No, TICT is not dead, even if it's been nearly one year since the last news was posted here...
We've been working on our many projects with the little spare time we have (I have more time than Tom has):
- I've been working much for TIGCC/TIGCCLIB as well, and I still have many things to do for TIGCC...
I remind several persons that I'm not a member of the TIGCC Team, therefore TICT and the TIGCC Team, although they often work together, are not the same team.
- I've started optimizing TICT-Explorer, currently only tictexpl, not the launcher tictex. The program is currently nearly 5 KB smaller than it used to be, while not all possible optimizations have been made.
The major part of the size gain is due to the new TIGCC 0.95 linker, the use of F-Line ROM_CALLs and the size optimizations in -Os mode in the most recent TIGCC versions (muls/mulu instead of shifts and additions). As you can see, mainly size optimizations, to the detriment of speed. We don't really need speed for a file explorer, do we ?
- As for ExtGraph, it is still quite far from the 2.00 release: there are still missing / untested functions; the header files and the documentation are not up-to-date; most of all, there are currently no __attribute__((__regparm__)) grayscale functions (that's my fault).
The two main contributors are Julien Richard-Foy (jackiechan) and Christophe Molon-Noblot (Ximoon). They did a great work rewriting the existing routines / writing new ones, especially clipped sprite routines and __attribute__((__regparm__)) routines, in pure assembly of course.
I would like to thank them once more.
- As for the TIGCC Tools Suite: I widely optimized tthdex (which is not currently usable) and I have an enormous todo list for it (weeks of work full-time)... There are two or three severe bugs (Protected Memory Violation) in tthdex 2.8 and older. ttstart was updated for TIGCC 0.95, Kevin (Kofler) and Sebastian (Reichelt) did the major part of the work. The up-to-date version of ttstart is in TIGCC 0.95. The unpacking routines were updated as well, thanks to mainly Samuel (Stearley) and Greg (Dietsche) (they are noticeably faster than before). I'll have to mix all different versions (Greg's and mine are different...) to release them separately and in ExtGraph.
- As for S1P6, it was widely optimized and changed (it also needs TIGCC 0.95): compressed picture, doublebuffering (both can be enabled/disabled through #defines), global register variable, inline assembly, _nostub comments... I didn't update it to ticalc, but I'll do it soon (or Tom will do it).
- As for other TICT projects: they will take advantage of a recompilation under TIGCC 0.95 and several optimizations I once made, but never released (this is the case of TI-Miner, TI-TiltMaze and TI-TimeWaste). It would be great if TI-Chess could be less than 30 KB compressed...