It's official: the TI-84 Plus CE is coming, and the TI-84 Plus CE's features and technical specifications as well as my chat with Dr. Peter Balyta indicate that ASM programs will need to be overhauled to work with the new calculator. Here's what we know and guess:
The upshot of all this is that tr1p1ea and I are going to have to put some work into Doors CSE and xLIBC to port them to the new calculator. We have a lot of decisions to make, including (but very much not limited to) the following:
What other thoughts do you have? I'm open to all suggestions and comments, although please be aware that I have extremely limited free time to actually work on this at the moment.
- The processor is an ez80 with ez80 and z80 modes available. The OS defaults to running programs in ADL (ez80) mode.
- There is now at least a 256KB RAM chip and 4MB of Flash memory. It appears that Apps no longer need to be multiples of 16KB (!!).
- The user RAM is ~154KB, indicating that user programs reside in the 24-bit address space.
- The LCD is memory-mapped. It is not known whether direct port access is also available, although we believe it is. More importantly, it's not known whether we can still put the LCD into half-resolution mode, which is important for xLIBC. Significantly more RAM would have to be spent on a back buffer (1*120*160=19200 bytes) if the LCD cannot be put into a half-resolution mode.
The upshot of all this is that tr1p1ea and I are going to have to put some work into Doors CSE and xLIBC to port them to the new calculator. We have a lot of decisions to make, including (but very much not limited to) the following:
- Should we keep the Doors CSE and xLIBC names or switch to Doors CE and xLIBCE? I believe we should keep xLIBC's name, because I want us to make the API 1:1 compatible with xLIBC. In other words, I don't want xLIBC BASIC programs to need to be modified at all for the TI-84+CE. I'm less sure about Doors CE vs. Doors CSE. I'm very hesitant to have three different products: Doors CS, Doors CSE, and Doors CE; that seems as confusing as the TI-84 Plus C Silver Edition and the TI-84 Plus Silver Edition and the TI-84 Plus CE. I'd prefer to call this new edition Doors CSE 9 (or Doors CSE 10, if you prefer Windows jokes). Thoughts?
- Should Doors CSE/CE include CALCnet? From what we know currently about the available connectivity options, namely just a mini-USB port, it looks like I can't simply connect all the calculators in parallel anymore. I'm inclined to devote my time to features that are used more often.
- What other TI-BASIC routines should we offer? At the moment, I'm inclined to keep the existing Celtic II CSE and xLIBC functionality, although of course all of that will need to be modified for the ez80. I also want to add the routines requested by our programmers in the appropriate Doors CSE topic, like listing programs/AppVars with a particular header, copying arbitrary bytes from a program/AppVar to a string or to another program/AppVar, and adjusting the brightness of the screen.
- What (other|any) ASM routines should we offer? For the sake of compatibility, I'm inclined to offer the existing sprite routine, hopefully sped up for the new screen.
- Should we try to make Doors CSE/CE compatible with both the TI-84 Plus CSE and the TI-84 Plus CE? I'm torn on this one. I'm considering, for now, simply adding the new Hybrid BASIC commands to the TI-84+CSE version, and make the TI-84+CE App be its own entity. In fact, because of signing keys, I might not even have an option here.
What other thoughts do you have? I'm open to all suggestions and comments, although please be aware that I have extremely limited free time to actually work on this at the moment.