Join us on Discord!
You can help CodeWalrus stay online by donating here.

Getting started with TI-84 Plus CE Programming [ASM] [ICE] [BASIC] [emulator]

Started by Dream of Omnimaga, March 25, 2015, 10:36:41 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dream of Omnimaga

The TI-84 Plus CE, which replaces the TI-84 Plus C Silver Edition, has been released and various TI community members such as tr1p1ea, author of xLIBC, have finally gotten their calculator in the mail!

http://www.underwooddistributing.com/shop?page=shop.browse&category_id=66

This means that other stores will most likely have it in stock soon and eventually the new school device will make its way to brick and mortar stores. The MSRP is $129.99 and the calculator features the following:

-eZ80 processor
-150 KB of RAM (huge improvement over previous TI-84 Plus series calculators)
-3 MB of Flash
-320x240 color LCD that supports 16bpp, 8bpp and more
-OS with more features
-Considerably faster screen refreshing (especially in menus and the program editor)
-BASIC, C and ASM support (a third-party language called ICE is also available and is similar to Axe on monochrome models)

However, no SDK yet and some ASM functionalities are rumored to not be available. The biggest advantage of this new calculator model will lie in the much faster screen and larger user RAM, so pure TI-BASIC and pure ASM programmers will benefit the most. UPDATE (November 11th 2016): The calculator supports BASIC, ASM, C and a third-party language called ICE, all in 8xp program format. Flash APPs are not available, as TI has decided to not release the 2048 bits RSA key and current technology makes it impossible to factor a key this large. But this should not be a problem, as people managed to find workarounds, such as for parser hooks.

-TI-BASIC: TI-83/84+/CE Basic documentation
-Hybrid TI-BASIC: Sprites v3.3 | CE Textlib
-ASM: eZ80 assembly documentation for the CE
-C: C Programming Toolchain, libraries and resources for the TI-84 Plus CE
-ICE: ICE Compiler and its documentation

-Sprite graphics converters: ConvPNG (for use in ASM/C/ICE) | Sprite Ripper (for use in TI-BASIC with Sprites v3.3)
-Emulation: CEmu emulator (requires a ROM dump from a real calculator)

I invite owners of the TI-84 Plus CE (as well as owners of the TI-83 Premium CE when it comes out) to share their discoveries about this new calculator series in this topic or on the forums, be it ASM tricks, bugs or other useful information.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

tr1p1ea

Work on the OS and the relevant goodies that we need is underway.

The sad thing is that TI has locked us out of direct hardware access (like setting the LCD to 8-bit mode and palettes for graphics speed+free buffering), but we will continue to investigate.

I've only had time to mess with the LCD a little. I'll post some more info as it arises!

alexgt

I want to get a Prime first then get the CE :( but I still plan on the CE too :)
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Snektron

Quote from: tr1p1ea on March 25, 2015, 11:55:16 PM
Work on the OS and the relevant goodies that we need is underway.

The sad thing is that TI has locked us out of direct hardware access (like setting the LCD to 8-bit mode and palettes for graphics speed+free buffering), but we will continue to investigate.

I've only had time to mess with the LCD a little. I'll post some more info as it arises!

does the OS block us our or the hardware?

Also i hope an emulator will be released soo, i really wan't to play with it but i don't have the money to buy random calculators :(
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Dream of Omnimaga

Quote from: tr1p1ea on March 25, 2015, 11:55:16 PM
Work on the OS and the relevant goodies that we need is underway.

The sad thing is that TI has locked us out of direct hardware access (like setting the LCD to 8-bit mode and palettes for graphics speed+free buffering), but we will continue to investigate.

I've only had time to mess with the LCD a little. I'll post some more info as it arises!
Yeah that's a shame that they did that. I guess it's better than nothing, though (eg the Nspire series where ASM is locked down entirely). Hopefully ASM coders can find workarounds. Maybe if they can take full advantage of the CPU they can find faster alternatives and limitations won't be as much of an issue anymore?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

alexgt

Quote from: Cumred_Snektron on March 26, 2015, 09:44:14 AM
Also i hope an emulator will be released soo, i really wan't to play with it but i don't have the money to buy random calculators :(
Same I am saving for a Prime right now :(
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Dream of Omnimaga

Ooh, glad you are getting an HP Prime too. It would be nice to see more HP PPL games out and if you ever get interested in ASM/C, then maybe hacking :)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Dream of Omnimaga

#7
By the way people have started documenting the calculator on WikiTI and the new sections are reachable via http://wikiti.brandonw.net/index.php?title=Calculator_Documentation .

Some notable mention about how ASM and BASIC programs being 64 KB max each and a Flash unlock sequence is still present. As for ports, to avoid pissing TI off, the wiki discourages the creation of any program that access the hardware directly for the time being.

This Cemetech thread might be handy as well: http://www.cemetech.net/forum/viewtopic.php?t=11405

Of course I also encourage CW users to share their discoveries and tricks in this thread too, as always.


EDIT: Also basic matrices are now limited to 400 elements. This could pose some issues to BASIC programmers, although there are alternative to matrices anyway (such as lists or strings).
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Duke "Tape" Eiyeron

64KB for a program, nice. It didn't scale too well because the grapism will take much more place ( we're talking from 1bit/pixel to 1/2btes per pixel, unless you do 16 or 4 colors per pixel).

What about the matrices? Wasn't that limit higher on monochrome calcs?
  • Calculators owned: A lot.

Snektron

i doubt anyone would need a 20*20 matrix for serious applications
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Dream of Omnimaga

Quote from: Duke "Tape" Eiyeron on March 28, 2015, 06:56:52 AM
64KB for a program, nice. It didn't scale too well because the grapism will take much more place ( we're talking from 1bit/pixel to 1/2btes per pixel, unless you do 16 or 4 colors per pixel).

What about the matrices? Wasn't that limit higher on monochrome calcs?
Yeah the larger graphics were a bit of an issue on the CSE, although at least they were often archived. The problem was mostly when using inline sprites with xLIB or inside pure ASM programs.

Quote from: Cumred_Snektron on March 28, 2015, 12:14:26 PM
i doubt anyone would need a 20*20 matrix for serious applications
It depends. Remember how xLIB for monochrome calcs used xLIB for map engines? Scrolling tilemappers might use much larger matrices than that. But I don't really like using matrices for maps anyway because they're so large. I prefer strings (although slower) or ASM data.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Snektron

Quote from: DJ Omnimaga on March 28, 2015, 04:29:59 PM
Quote from: Cumred_Snektron on March 28, 2015, 12:14:26 PM
i doubt anyone would need a 20*20 matrix for serious applications
It depends. Remember how xLIB for monochrome calcs used xLIB for map engines? Scrolling tilemappers might use much larger matrices than that. But I don't really like using matrices for maps anyway because they're so large. I prefer strings (although slower) or ASM data.
Not really actually :P im quite new to the community
anyway i'd use strings too, or just store them in a program.
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Dream of Omnimaga

On a side note, one reason why matrices can be good for maps is that they're easy to alter with boolean logic. For example, after you progressed far enough into a game you can make different tiles display instead in specific squares. With strings, that is easy too, but the problem is that the TI-OS has bugs with concatenating a very large amount of strings together, resulting into memory leaks much worse than when you don't use Goto properly (in one case I had a program cause a memory leak worth 8 KB in one go, with a slowdown worse than regular 83+ speed).
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Snektron

OH yeah i see why you would use a matrix now :) Though i didn't know TI was that bad with memory leaks and such <_<
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


novenary

What about lists ? I know you need more math but aren't these smaller/faster than matrices ?

Powered by EzPortal