Assorted TICT news:
- Side projects: once again, besides the usual work on GCC4TI (bugfixes, additions, improvements), TILP (bugfixes, 1.15 release) and and TIEmu (bugfixes), I worked on several short side projects, for fun:
- Linky: a small participation in Brandon Wilson's program for exposing a 89T as various USB devices (at the time of this writing: keyboard, mouse, mass storage, PL2303 serial adapter, silent USB linking, dummy host device). Brandon did the entire USB work, I filled in the calculator keyboard -> QWERTY keyboard mapping code: Linky can now turn a 89T into a fairly complete QWERTY keyboard. I could have typed this news in my HTML editor from the 89T. There are still some wrinkles with select multi-modifier-key combos.
- a port of CALCnet to the TI-68k platform. In its current state, the code, which I haven't modified in a couple months, can send frames with "perfect" timings (<1% difference with the reference implementation) well understood by the reference implementation. However, the TI-68k implementation doesn't yet use the direct buffer access, interrupt-based programming model of the TI-Z80 version - and most of all, it doesn't contain any listening code (for receiving frames, checksums, ACK/NAK) yet.
- OSLauncher: an independent reimplementation of the legendary, but unreleased, RunOS proof of concept, for launching arbitrary OS on a Nspire without installing them. I made Ndless export the zlib functions as syscalls, so that OSLauncher can use compressed OS images (unlike RunOS, judging by the video).
The dirty little secret of OSLauncher is that it can, with a bit of luck, launch the CAS OS on the Nspire sold as non-CAS (but perfectly CAS-capable - the hardware of the model sold as CAS, and the hardware of the model sold as non-CAS, are extremely close to each other). For some reason, on some calculators, it works on the first or second attempt; on others, successfully launching the CAS OS on the Nspire sold as non-CAS requires dozens of attempts...
critor at TI-Bank made a tutorial for launching the CAS OS on the Nspire sold as non-CAS.
For the record: OSLauncher is not a complicated program, it took me about three days of work. Many projects in the community require much more work.- DummyOS: a dummy OS released as proof of concept for with OSLauncher. It draws garbage on the screen and reboots upon ESC keypress. IOW, it's completely useless, but it was necessary to showcase the arbitrary OS launching capability of OSLauncher.
- (Nspire) Native EStack programming PoC. It turns out that the math functionality of the Nspire CAS OS is close to the math functionality of AMS: hundreds of CAS routines, found through primary_tag_list and the pointed routines, map 1:1 to those in AMS. TI hasn't changed the old code base much in 10 years...
An important difference between AMS and Phoenix (the Nspire's OS) is the opaque document system: in Phoenix, we don't have any documentation on reading from variables in a document, storing to variables, and seamlessly interacting with the EStack. Ndless programs, as they're currently implemented, don't seem to be well-formed for the purposes of interacting with document variables. In other words, this proof of concept is useless for practical purposes. With much more reverse-engineering, it may become useful.In the past few months, TI has been going further on the device lockdown path:
- OS 3.0.1 for the Nspire refuses to understand clear-binary (merely compressed) documents. It's a problem because at the time of this writing, third parties cannot generate documents compressed+encrypted with TI's proprietary, and partially patented, scheme. But nobody wants to run OS 3.0.1 because not only the boot2 update code can brick the calculator (dozens of occurrences were reported before TI acknowledged the problem), but also, some math functionality is broken in OS 3.0.1. After a scientific calculator, the Nspire has become the second calculator from TI, in the past year, whose math functionality was broken...
- OS 3.0.2 for the Nspire fixes the math functionality, but adds an anti-downgrade protection that prevents users from downgrading to anything older... if they haven't removed the boot2 3.0 update from the TNO/TNC file using TNOC. boot2 1.4.1571 contains an arbitrary code execution flaw easily triggered by specially crafted OS upgrades, and exploited by DowngradeFix.
- The TI-84+ Pocket.fr, and the newest regular 84+ models, have seen an upgrade of the boot code to a version that checks an additional 2048-bit RSA signature, present only in the (buggy, at that) 2.55MP OS. In other words, TI is trying to both prevent usage of its older, less buggy OS versions (2.43 was pretty good), and prevent usage of third-party OS...
Sure, Nspire OS 3.0.1 and 3.0.2 have a stripped-down version of Lua (no io.*, no sys.*). At last, the Nspire's graphical programming abilities have been raised from the state where they were trailing the 20-year-old 81. And Lua is a good choice for programming on an embedded platform. But this is largely overshadowed by the lockdown, IMO.
And that they try to lock things down shows that TI, Sony, Apple and a number of others, still haven't understood, despite the breadth of evidence in the history of computing, the "more protection => more reverse-engineering => more third-party insight into your software and hardware => more stuff that you wish wouldn't happen" pattern. And they haven't understood either that this pattern is counter-productive, for both them and us users and programmers...
Of course, as usual, let it be said that TI is utterly failing at implementing a protection. The so-called protection of the 84+ has been very quickly bypassed through multiple methods. As a bonus of the reverse-engineering work, insight into the functionality of multiple previously undocumented hardware ports has been gained: the boot code is not permanently write-protected by hardware (?!), and the RAM execution protection is now documented. Good job, TI ;-)
First of all, TICT wishes everyone a happy new year 2011 :-)
Assorted TICT news:
- Forum "moved": the old EZBoard addresses for the TICT forum are no longer redirected to the valid Yuku address: you need to update your bookmarks :-)
Not that there's much going on there, compared to forums such as Omnimaga (English spoken), Cemetech (English spoken) or TI-Bank (French spoken) - but still.- ExtGraph repository: a while after opensvn.csie.org silently stopped hosting SVN repositories in April-May 2010, I created a Git repository for ExtGraph at Github. Before that, I had been interacting with the SVN repository through Git for nearly two years.
- Side projects: besides GCC4TI (bugfixes - several of which modify routines that have been broken since before 2004 - and additions), TILP (many bugfixes and several new features) and TIEmu (bugfixes), over the second half of the year 2010, I worked on three side projects:
- tiosmod+amspatch (ticalc.org PC Utilities POTY 2010, TI-Bank TI-68k Award 2010): amspatch patches TI's OS to unlock, optimize, fix, shrink some versions (providing 64 KB more archive memory !), and expand functionality. It builds on tiosmod, which aims at being a generic patcher for TI-68k OS, and hopefully TI-Z80 OS in the future as well.
- TV Noise: a 127-byte TI-68k AMS native executable which draws mock TV noise and "TICT" on the screen, while outputting garbage sound through the link port. It's one "TV noise" demo among dozens, for various platforms, made in November 2010. The challenge in making it was not using F-Line ROM_CALLs, which save a lot of space but reduce compatibility.
More information about the "TV noise" demoscene meme on pouet.net. Pouet.net is a directory of thousands of impressive works of programming and art, such as Elevated, Lifeforce or Debris.- The Nspire ports (based on Ndless 2.0-pre) of the six simple TICT demos created by Tom, five of which I modified later: dissolve, fire, life, shuffle, snow, star.
Thanks to projects such as Axe and DoorsCS (only to name two), the activity in the TI-Z80 community greatly picked up in 2009-2010, which is a very good thing. And 2011 seems to be off to a pretty strong start, with projects such as the Nspire port of DOOM, or "Kerm Martian"'s CALCnet and globalCALCnet - networking calculators together (for games, chat, etc.), and interlinking calculator networks, or bridging them to other networks (such as IRC - two-way interaction has been demonstrated).
Porting the CALCnet protocol to the TI-68k series looks feasible, BTW.
First of all, TICT wishes everyone a happy new year 2010 :-)
The main reason for this post is an update to the TI-68k Developer Utilities (formerly TIGCC Tools Suite). Nothing earth-shattering in this release, considering that 64-bit compatibility has been available for more than three years in an unofficial release. Here's the tarball.
The "tt*" executables have been integrated in GCC4TI and were made available in executable form in GCC4TI 0.96 Beta 10, since both Thomas and I think that this kind of tools belong to the tree of the development environment itself. Likewise, upstream for pstarter is now GCC4TI.In other TI community news:
- The 14 most useful public RSA keys used in TI-68k and TI-Z80 calculators for checking OS and FlashApp signatures were factored in less than two months, using a BOINC-ified version of the open source ggnfs tool.
Everything started when community member Benjamin Moody used a single desktop computer to factor the 512-bit public RSA key used by the TI-83+ for checking the signature of an OS update, and deduced the private RSA key. That a single desktop computer could perform the task of factoring a 512-bit integer in only a few months time, provided the community with a way out of TI's uncooperativeness (TI-Cares stopped replying to FlashApp signing requests, which prohibited updates to e.g. Paul Froissart's GTC, an outstanding achievement for an on-TI-68k compiler, until the advent of the Flashappy OS patch).
After deducing the private keys from the factors of the public keys, we can now sign whatever software we want (without any code originating from TI because that would be illegal in some countries) for tinkering with our moddable devices sold by millions. The freedom to tinker with the devices we own.
For some reason, and fortunately, the BOINC server (I was one of its two admins, we're still running but we have now switched to factoring integers of mathematical interest), hosted in France, didn't get the French equivalent of a US DMCA takedown notice. But various sites and persons in the USA did, and TI's improper use of the DMCA claims earned the keys a permanent place on Wikileaks, and earned TI's behaviour a spotlight on Slashdot, CNET, The Register, Boing Boing, Ars Technica, Wall Street Journal... between many others !
The Electronic Frontier Foundation successfully defended several US citizens that had been targetted by TI's improper DMCA claims: first post, second post.
May I suggest donating to EFF, whose job defending free speech, coders' rights and several other "hot topics" of our so-called modern society, is outstanding ? ;-)- yesterday December 30th, ExtendeD, well-known TI-68k developer and hacker (Flaphide, FreeFlash, Flashappy, etc.), found a way to execute arbitrary native code on TI's notoriously closed Nspire calculators (with those calculators, TI negated everything that made their calculators' success in the market place for 15 years !), using flaws in an older version of the operating system.
Needless to say, this is great news, and constitutes yet another testimony to the fact that protection measures (whose implementation has a cost, passed on to the consumer...) always eventually prove ineffective. Money is better spent making the users happier than trying to implement technical measures to prevent the inevitable (or paying lawyers, even more harmful due to the "Streisand effect").
Now, with some more work on it, customers who paid those expensive devices will, at long last, be able to use their full power, instead of being limited to TI's wimpy OS that, as incredible as it may sound for a calculator, still doesn't have proper BASIC programming abilities (e.g. no getKey and no pixel drawing functions), three years after the initial release of those calculators !- in a few days, the first release of GCC4TI will be 1 year old. At the end of October, the last TIGCC release was 3 years old. TIGCC keeps going on its long slow slide to obsolescence (7 commits over the past year: 4 are minor GCC4TI backports, 2 are one-liner typo fixes, and the remaining one is an update to the documentation of an internal tool used by approximately two persons in the world).
Again, it's not exactly a TICT project, but I'm involved in it and I've worked on it more than on TICT projects in the past few months, so I can't see why I couldn't talk about it :-)
The GCC4TI project is proud to announce its second release, GCC4TI 0.96 Beta 10.
This is the first *nix release, and the second Windows release. Since the previous release (January 2009), we (six persons) have performed and tested a number of user-visible improvements, especially during the last two weeks:
- toolchain: bugfixes in the IDE, gcc, tprbuilder, tigcc; migration of most "pctools" of the TIGCC Tools Suite into the development environment, where they belong, which means that e.g. ttbin2oth can be used out of the box;
- examples: creation of a script that builds the examples, slight improvement of the TIGCCLIB test coverage by the examples. Building and running the examples caught three tool bugs, a compilation failure present since 2005, two warnings, and a couple dozen name clashes between examples.
- TIGCCLIB: seven optimizations. The two standouts are:
- SAVE_SCREEN (one of the most widely used sections of the startup code): -16 bytes. This optimization was contributed to TIGCC at least two years ago, but it didn't get in TIGCC, though the SAVE_SCREEN code is tested by many examples;
- Sprite8/16/32. Even though the new routines support one more drawing mode (RePLaCe) than the old ones, they're smaller and faster. An older version of those routines was contributed to TIGCC in October 2005, along with a test program, but it didn't get in TIGCC either;
- documentation: checking and integration of a fraction of the documentation updates that were contributed to TIGCC in 2002-2003. The integration was eased by the previous release of GCC4TI implementing a trivial workaround for a limitation of the TIGCC/GCC4TI-specific documentation tools;
- *nix install scripts: support for cross-compilation, so as to ease the making of future releases; test on many more *nix flavors, yielding many portability fixes; other improvements, such as better packaging and auto-extraction + auto-patching of the binutils and gcc sources.
Upgrade note: the IDE in the previous versions doesn't have a version number for the syntax coloring definitions, which makes it hard to create a way to automatically update those definitions. We have added a version number, but you need to reset your syntax coloring definitions (this is the procedure used by the previous IDEs to update the definitions) so that the version number is created in your definitions:
In File -> Preferences -> Syntax Highlighting:
When you click OK, all the modifications that you have previously manually done (before resetting) are erased, but your definitions will be updated.
- select "Settings for:" -> C Files, click Reset
- select "Settings for:" -> GNU ASM Files, click Reset
- select "Settings for:" -> A68k ASM Files, click Reset
Head to http://trac.godzil.net/gcc4ti/ for downloads, and community-oriented infrastructure (mailing list, IRC channel, bug + feature request + patch tracker), so that you can comment on the community's ideas and add new ones.
In TICT news: ExtGraph SVN (http://opensvn.csie.org/ExtGraph) contains better test coverage, yielding a number of bugfixes, and a complete documentation overhaul.
First of all, TICT wishes a happy new year to the TI-68k community :-)
Now, on to the topic of this news (although it's not exactly a TICT project, I'm involved with it, so I'm talking about it here).
Over the years, a wish list for TIGCC has been gathered by multiple programmers of the community. Those suggestions are thought to make TIGCC better: optimizations, new features, upgrades, refactorings.
However, many of those suggestions (some of which are actual contributions to TIGCC) don't fit the views and planning of the sole TIGCC maintainer, Kevin Kofler. We know it through private mail or message board discussions, but his todo/wish list is not public.Therefore, after years where several of us independently thought of it but never united to do it, we have undertaken the work of making a fork of TIGCC, named GCC4TI: http://trac.godzil.net/gcc4ti/. The right to fork is part of the power, beauty - and weakness (although the GPL enforces some reciprocality, unlike the BSDL) - of most free/libre/open source software.
Of course, some of the wishes that are present in both TIGCC and GCC4TI can be developed cooperatively. Actually, they are: see for example the pending patches on the TIGCC/TICT message board.After an initial "covert" phase of discussing, setting up things and making several changes to the code, we're opening up the infrastructure and making a first public release.
The first GCC4TI public release brings to users, at last, most of the fixes that were made in the TIGCC CVS repository since TIGCC 0.96 Beta 8 was released (i.e. more than two years ago). It also restores VTI support in the TIGCC IDE. There's no question that TIEmu is a better emulator, but VTI is still useful to those using older computers, and are aware of the VTI limitations and bugs.
http://trac.godzil.net/gcc4ti/ links to the other pieces of the infrastructure and to the download page.
We have set up a mailing list, a bug + feature request + patch tracker + wiki to store and allow people to comment on our todo/wish list and patches.
We use SVN instead of CVS for managing the source code centrally. We have collectively decided upon SVN because it's "good enough": it fixes the most glaring flaws of CVS, and has a nicer learning curve than tools like Git or Mercurial have. Of course, developers are free to use whatever SVN-interoperable set of tools they see fit for their local development: SVN, SVK, Git, Mercurial, etc.We'd like GCC4TI to be more community-driven than TIGCC is, but that depends on the community input, i.e. those who read this ;-)
We count on you.
Hello everybody :-)
It's been more than two years and a half since the previous news on this page. This hiatus corresponds to me finishing my studies and starting working as a paid programmer in October 2007.
I have kept pace with the community since January 2006: except for several periods of time, I have attended the TIGCC/TICT board, as well as yAronet. But whatever time one spends on the boards, is not spent programming, eh ?
Back to the reason for this news: The ExtGraph SVN repository, created on 20050812, made it less necessary to make releases of ExtGraph, since users could access the bugfixes and new features with a Web browser. However, making a release every few years doesn't hurt :-P
So I'm releasing ExtGraph 2.00 Beta 5.
What makes 2.00 Beta 5 a compulsory update of 2.00 Beta 4 ?The changelog between 2.00 Beta 4 and 2.00 Beta 5 is the largest changelog ever between two consecutive ExtGraph releases, and that's despite some changes not being documented in the huge history.
- Dozens of bugfixes, some of which fix very old bugs
- Dozens of optimizations all over the code
- Dozens of new routines, e.g.:
- more sprite/sprite collision routines, brand-new pixel/sprite routines
- plane scaling routines
- clipped SpriteX8, GrayClipISprite16 routines
- line clipping routines
- circle drawing routines
- sprite modification routines
- (clipped) sprite rotation routines
- New demos, improved demos
Along with ExtGraph 2.00 Beta 5 (which contains it), I'm officially releasing the S1P9 TICT tutorial about code optimization on TI-68k calculators. In the past three years, I e-mailed iterations of it to a couple dozen active people of the community, and I also uploaded it to a publicly-accessible website. Thanks for the feedback.
Oh, yes, I guess you want the links for downloading what I've just written about ? Here they are ;-)
ExtGraph 2.00 Beta 5
S1P9
Have fun with those :)
Like I said previously, I've converted this page into modern HTML/CSS code - tables into div/span, stylesheet in an external file, modifying the appearance a bit (thin gray borders). Using the Slashdot HTML/CSS code and the SciTE css.properties file as a reference, that was a matter of a couple of hours only.
If it does not render correctly in your browser, you should switch to a standards-compliant(-enough) browser such as Firefox, which is free software, as you should already know, and not too resource-hungry: even the latest version, 1.5, works well on my 5-year-old 1 GHz computer running Windows ME. I have noticed the known excessive memory consumption problems only once, when using an old buggy version of GreaseMonkey, which I've not used anymore since. Konqueror 3.4.3 works as well as Firefox. Opera 8.51 and later undoubtedly work well too. For such a simple page, Amaya also happens to work well (it butchers Slashdot and Yahoo! between many others). MSIE, as often when it comes to rendering CSS, doesn't work properly. Links 0.99, Lynx and derived programs (Elinks, etc.) render the page somewhat better than IE does. Microsoft said IE7 won't be standards-compliant.
Anyway, more and more sites are using CSS, although most large sites still use tables to render the layout (as the "Web Developer" Firefox extension shows), so you'll have to switch sooner or later. For a limited period of time, there's also the TI-News Conglomerate (RSS feed).
Other than that, well, here is the too-long-delayed minor update for TI-Chess: ZIP file, TAR.BZ2 file.
As some among you might have noticed, I haven't attended boards related to TI-68k calculators programming for more than one month, except for checking PM inboxes, and I don't plan on coming back on a regular basis. I wrote the reason why on a neutral public place on the Internet, along with the fact that if any single person leaves, the community still runs. As you'll soon read in S1P9, "this is mainly not a matter of lack of time".
I notice I stopped writing here about trouble on boards a long time ago, and I never spent time to acknowledge my errors here. Well, here's it: after bashing yAronet pretty hard (you can still read that below), I went back there in October 2004. Between the bashing and me going back there (after apologies and changing my handle to mark the fresh start), I learnt many facts (under the form of IRC/forum logs/flames) which show the root cause of the trouble everywhere. I was fooled for a long time...
Programming on TI-68k calculators has definitely been an enriching experience, for both coding (although I wrote rather little new AND released code on my own) and even more human relationship. However, now I have to move on to other platforms. Something important in the next TICT program releases will show it clearly.
In short, therefore, if you want to contact me, there's only one reliable way to do it: my e-mail.
As you can guess, most TICT programs have not been updated much, if at all. Shame on me.
I'm slowly converting this page to good HTML/CSS code. I know it can be easily rewritten with div/span in order not to use that mess of nested tables to hold the presentation, which will also get me rid of most accessibility warnings. Perhaps several simple Perl scripts can make the job painlessly, given that Tom had definitely a nice idea putting several special comments throughout the source.
- ExtGraph 2.00 Beta 5 is a major improvement over 2.00 Beta 4 (probably more than any previous version was over the previous one !), featuring many additions and fixes. What prevents me from releasing it its dire need of documentation update - a boring and time-consuming task. Here is the SVN repository, which is, given to the number of fixes and improvements, the only supported version.
- TICT-Explorer 1.40 Beta 1, TI-Chess 4.17 and ttstart 2.01 are waiting for me to make several more tests before releasing them: I switched to GCC 4.0.2 (TIGCC 0.96 Beta 6). I did not test that version during the testing phase because I was too busy. Now Kevin will undoubtedly complain - with reason - if I find anything wrong when recompiling TICT software. Let's hope that given how troublesome some previous GCC versions were, he has tried by himself... Otherwise, my several coding mistakes when optimizing their code won't be the only reason TICT software crashes your calculators ;-)
Several months ago, I was writing below about software patents. The situation has worsened in something which does harm day-to-day computer users NOW: for example, now Sony uses rootkits to enforce flawed DRM schemes for their latest audio CDs. Whether you have missed that shocking story whose followups have been numerous and very widely published over the Internet in the past two weeks or not, it's high time you were conscious on the insanity of DRM/TPM/etc. ! Telling the people you know about that insanity would definitely be a plus.
Looks like I did not fix 4.14 properly, the problem is still partly there in 4.15. I thought I had launched the program before making 4.15, but I did not make proper tests... Anyhow, here is TI-Chess 4.16, which reports itself to be 4.16 instead of 4.13. Sorry again for the inconvenience.
Some information on other TICT programs which will be updated in the next few weeks, before school starts again, as I know I'll be even busier than last year:I will upload some of those packages to ticalc.org, as it will help spreading the correct versions. Unfortunately, only ZIP can be used, which makes files larger than they could be if a better compression format was used...
- TICT-Explorer 1.40 has undergone successful private beta-testing. A file has been publicly available on the board for nearly ten months, but I got zero reports. Since private beta-tests are more efficient than public ones (Tom confirmed me this), TICT beta-tests will now be private.
- ExtGraph 2.00 Beta 5 has a massive changelog, including the creation of a SVN repository. Pixel macros have been fixed several days after Beta 4, but surprisingly many persons had forgotten about it. There are many fixes and new functions.
- The TIGCC Tools Suite needs an update.
- TICT Tutorial S1P9 about code optimization is coming.
Martin Daveluy reported me another bug in TI-Chess. I had a hard time tracking it down, but looking further in the code enabled me to perform new optimizations. The fixed file is at the same location as before.
[EDIT 2005/07/09: TI-Chess 4.15 is out. It fixes a silly showstopper in 4.14.]
The EU parliament rejected software patents. This is good news. Let's just hope we won't see something worse coming in the few next years.
I forgot once more to test the 92+/V200 version of TI-Chess 4.12. And, it turns out I added a silly bug by copying the 89/89T build batch into the 92+/V200 build batch: the background image of all versions is that of the 89/89T ! I can imagine how ugly the result is. Thanks to Martin Daveluy for the report.
Download the fixed file here.
I also got a bug report for ExtGraph. Should be easy to fix.
On an unrelated note, I found this link an interesting (thought-provoking) read.
The programs I wrote about in the previous news have been available for beta-test on the messageboard for some time, and although no major bugs seem to have been noticed, I didn't get much feedback.
You can fetch them here.
As a computer science student, I'm somewhat concerned by software patents. They cannot do without having negative impact in the field I'm going to work in after I'm done with school, although the amount of damage is not known for sure in advance. The law is to be discussed soon at the EU parliament.
I've uploaded ttstart to the TICT website. I'll upload it to ticalc as well. Direct link.
When Kevin sends me a fixed version of GCC (I found two other bugs since the previous news, one is major), I can prepare for beta-testing ebook 2.09, a part of TICT-Explorer 1.40, TI-Chess 4.12.
as you noticed due to the lack of updates, I was a bit out of the TI calculators world for a few months. As I didn't keep a very complete todo list - and I lost an updated version of it when the calculator was too short of batteries and resetted self (of course, for once, I had no backups of that file...), I'll lose things if I don't ask people to remind me whatTherefore, please send me mails (link in the timestamp). Thanks in advance.
- I promised to do but didn't do;
- advice they gave me for optimization / integration into a TICT program / etc.
Some news on the TICT projects:
- ttstart is reaching v2.00. It's currently open for testing in the Custom Beta Tests section of our board, in the topic about the new TIGCC pstarter. Like the TIGCC pstarter it is based on, it's now entirely written in assembly. All in all, ttstart_asm_ppg (the new name of the default ttstart in the previous version) is only 1500 bytes - while its decompression routine was highly optimized by Samuel Stearley: ~200 bytes smaller, more than twice faster than the C/ASM version by Greg Dietsche and him.
- ExtGraph is seeing improvements (documentation - ! -, TestCollideX) and additions (new TestCollideX, plane scaling, new fast background save&restore, etc.) slowly made. One of the next steps is the fast fonts support.
- TICT-Explorer will be (at last) compatible with the TI-89 Titanium when Kevin or I get to updating it.
- other programs would benefit from the GCC 4.0 optimizations. The compiler can now be trusted (Kevin insufficiently tested tigcc-gcc-4.0-pre8, which basically more or less messed up all three programs - TI-Chess, TICT-Explorer and ebook - I tested it with), so I could make new releases of all of them, if it didn't take way more time than I have. Maybe in August, during my next holidays...
- Does SiPj remind something to you ? Stay tuned !
I fixed the page formatting a bit (for some time, there was no CR/LF in this page, I don't know why), and I made the HTML code slightly more standards-compliant. At least, the Tidy embedded in my Firefox doesn't warn me about an incorrect syntax anymore. But it's still a table-based design responsible for most of the ~180 Tidy accessibility warnings.