Hi all!

Just received my new calculator and have a few questions!

I am hoping to use it for programming and of course trying out software from here and other sites. Wink

Now I’m curious as to the following if anyone’s able to help?

1: How reliable is this calculator? While I can of course do PC backups I would prefer not to and just keep multiple incalculator backups stored in
the flash memory. TLDR: How likely is it that random crashes/bugs will wipe out work?

2: I have a variety of light experience with programming, likely LUA/Python being the languages Im most proficient in; ICE looks to be interesting here, is it difficult to learn from that background? I wouldn’t consider myself a proficient coder lol but not beginner either I think Wink

3: If the calculator is robust and unlikely to suffer random wipes etc, do many people program oncalc? Will the lack of a qwerty layout slow the process down or do you get used to it?

4: Finally how long would you expect it to last if well cared for? Since you can’t buy replacement components to fix it? Smile

My primary goal is to design a piece of software to use for a board game Im designing, where it auto generates events and stores card data etc But also any random game ideas I think off too, do you think it’s fit for that purpose? (Sorry I guess that was kind of another question Razz)

Okay well that’s it for now, let me know If I can clarify anything!

Regards, Nytician Smile
1. From my experience, the CE is very reliable. There's not much that will brick your calc, and the vast majority of those fall into the realm of Assembly and possibly C.

2. Not sure; PT_ would know the answer to that question. Although from what I've seen, it's not difficult to program in Ice.

3. Absolutely! I got started by programming by doing it on-calc; and yes, after some time, the lack of a QWERTY board is pretty easy to get used to. That's my personal experience. Also, SourceCoder 3 is something you can use as well. This way, you can type on a keyboard, and get around the CE oncalc programming if you so choose.

4. As long as you take care of it, I don't see any reasons that a CE wouldn't be able to last 6+ years.
1. The calculator's OS is quite reliable, If you're programming in TI-BASIC it's very hard to lose any data. If you're working in ICE, C, or assembly, it's very likely you will lose the contents of RAM at some point, so I would either test in an emulator like CEmu or back up your programs to flash. It's very, very hard to lose programs in flash without specifically trying to do so, and nearly impossible to permanently damage the calculator with just software.

2. The easiest-to-learn language for the calculator is probably TI-BASIC. It's also very well documented on here and other sites. However, it is very slow and has major limitations on what you can do. ICE is similar to TI-BASIC, but is faster. However, few people use it so it is not documented as well. It also has some of the same limitations as BASIC. The language I'd recommend for someone with programming experience is C. There is a C toolchain available for the CE. C is about the same speed as ICE, is extremely well-documented due to its widespread use, and has very few limitations compared to BASIC and ICE. The only downside is that you cannot write it on calc, as the compiler only runs on a computer.

3. A large number of people write TI-BASIC and ICE programs on-calc. Because BASIC and ICE use a token-based system, it's not too bad to write code on-calc, but it's definitely slower than using a computer.

4. I've been using mine since about the time the CE was released and haven't had issues with it. Unless you damage the screen or the USB port somehow, I don't think it would be necessary to buy a replacement. The only real issue I've had with mine is that the rubber feet wear out, but you can buy replacements for those online.
Ok great thanks both!! Sounds like it’s quite reliable then that’s good, Im leaning heavily towards BASIC/ICE tbh because I think it will be fun to code oncalc when out/on vacation/lockdown etc Razz

Is it difficult to make backups to flash from RAM as you code? As that way I’d likely try get the ICE COMPILER so I can try using the whole screen rather thzz a n keeping the status bar.

And is it worth getting a custom OS like Cesium?

Thanks, sorry for the many questions!

Nyt!
Nytician wrote:
Ok great thanks both!! Sounds like it’s quite reliable then that’s good, Im leaning heavily towards BASIC/ICE tbh because I think it will be fun to code oncalc when out/on vacation/lockdown etc Razz

Is it difficult to make backups to flash from RAM as you code? As that way I’d likely try get the ICE COMPILER so I can try using the whole screen rather thzz a n keeping the status bar.

And is it worth getting a custom OS like Cesium?

Thanks, sorry for the many questions!

Nyt!

Yes, its very easy to backup a program to flash, you can just go to the mem menu and press enter on a program. There will be an asterisk that appears next to the program name, indicating that it is archived. In new versions, you can run programs directly from flash, but you can't edit them if they're archived, so you will need to unarchive them (move them to ram) if you want to edit them.
Personally, I don't really use a shell like cesium, but it does allow you to do things like rename your programs and hide them, which you can't do otherwise. Its also a much nicer interface for managing your programs. Its really easy to install though, so I would suggest installing it and deciding if you like it or not.

Yeah although I don't do it much anymore, I prefer coding on-calc rather than on an emulator or code editor. The keyboard layout you absolutely get used to, I can type characters faster than an 84+CSE can register them (which is not very fast at all, but plenty fast for the relatively small amount of typing you actually do).
I think you're gonna struggle a little with jumping into ICE because its quite different from LUA and Python. Its based on TI-Basic and then some elements of low level stuff is mixed in, so I think you might have a bit of a hard time at first, but since you already have the basics, it should be very doable.
Okay great thanks! I did a bit of research and will keep thinking it over, seems like basic still quite versatile on its own despite limitations so maybe that’s the way to go for now. As ICE latches on to BASIC makes sense to learn that first rather than get confused and give up! Thanks for all your help! Smile
Morning all! (if your in Europe that is I guess hah), another couple of questions came to me during the night hope you don’t mind!

Looking over TI BASIC source code it’s quite interesting because the syntax is seemingly quite simple but actually the layout and lack of indenting/highlighting makes it actually harder to read than other more complex languages like Python! Not to mention how people remember what each letter variable contains! But hey I’m looking forward to learning it gradually; was surprised at how fast it was though really (at least on the 84 Plus CE), not enough for racers or platform games but RPG and story games would be plenty fast enough I think?

Anyway enough rambling, I’m curious as to the following:

Does the size of the program affect its speed in terms of how fast the calc reads the code? Or is it more or less just a set speed to interpret basic and that in itself is the slow down?

Also when people write save files etc can you save the game to archive memory through code or does the user have to manually move save files to archive in case of a RAM reset?

Finally I think graph mode looks cleaner and more like a canvas to work with, can you natively (without external libraries) work with color for text/backgrounds/pixels etc?

I think there was one more but I don’t remember, hope that made sense, thanks for all your input so far!

Regards, Nytician!
The size of the program code does make the program run more slowly. BASIC is an interpreted language just like Python, so at run-time the BASIC interpreter translates each line of code into assembly and checks it for errors before executing it. The more code the interpreter has to check and translate, the slower the program will run.

EDIT: I apologize for my misinformation. See commandblockguy's post below for a better explanation of the BASIC interpreter.

You can save data, such as game progress, to archive or RAM in an appvar, a file that can only hold data. You can create and manipulate appvars using either ICE or C, but not BASIC. However, you can still save numerical data to either RAM or archive by using a custom-named list. Once you store your data to the list, you can archive or unarchive the list using the Archive/Unarchive tokens in the MEM menu. One thing you do have to keep in mind it that you cannot store data to an archived list but must unarchive it first before storing data to it.

The TI-84 Plus CE has built-in functions for drawing on the graph screen which are located in the DRAW menu ( [2nd] + [prgm] ). For more information about the drawing functions and about BASIC generally, I highly recommend the TI Basic Developer Wiki.

If you have any other questions, please let us know! Smile
I wouldn't say that the interpreter changes each line into assembly - that's JIT compilation. TI-BASIC is purely interpreted, which means that an assembly program is running that reads a token at a time and decides what actions to take. A large percentage of the time that a TI-BASIC program takes to run is just the interpreter reading tokens, so to make programs fast you need to write the same code in as few tokens as possible. This is why programmers generally leave out closing parentheses and have a bunch of other quirks that don't make it immediately obvious what the code does.
Ok great thanks yeah I’ll keep reading the docs and see where we get! Interesting how it’s read though.
Okay getting there I think! Managed to make a small ASCII player move round the screen, starting to get to grips with it! Now been reading the ICE docs and looks really cool but as I program oncalc I’m concerned about stability and bricking it/losing archive data etc is this likely and as such just safer to use BASIC? Would be cool to use the whole screen and color etc!

Thanks again, trying not to ask questions covered by the docs but while it does warn you I wanted to know whether from anyone else had coded ICE oncalc?

Nyt!
It is pretty hard to brick the ti-84+CE from any standpoint you're looking from. In the ICE docs, PT_ does warn about carelessly writing the wrong stuff to the wrong memory addresses. But as far as ICE goes, as long as your not purposely trying to brick your calculator, you'll be fine. If you do end up making a mistake while dealing with pointers in your code, either (1) your calculator will simply reset (RAM) upon trying to execute that line of code or (2) ICE catches the mistake (i.e., a syntax error) and refuses to compile your program or (3) your code runs, but doesn't run the way you intended it to.

As far as stability goes, I am not aware of any major issues with ICE, although it may lack features you may be used to seeing in Python.

Overall, I think ICE is a nice choice for programming the CE, as you can do most everything on-calc.
Ok good news! Sorry for all the questions keep thinking of things not on the wiki :/...

A slight concern although maybe unfounded is that TI may remove ASM options on the calculator in a future update like they did with the 5.3.1 update, is this something I’m over thinking or a potential seeing how the nspire is...? Just don’t want to spend time learning something that’ll get removed!

Anyway thanks again, gradually understanding Lists in basic which look useful considering the limitations on other Vars Smile

Nyt!
Nytician wrote:
Ok good news! Sorry for all the questions keep thinking of things not on the wiki :/...

A slight concern although maybe unfounded is that TI may remove ASM options on the calculator in a future update like they did with the 5.3.1 update, is this something I’m over thinking or a potential seeing how the nspire is...? Just don’t want to spend time learning something that’ll get removed!

Anyway thanks again, gradually understanding Lists in basic which look useful considering the limitations on other Vars Smile

Nyt!

Yes, I think there's a very real possibility that TI might do that, but you can just not update your OS... I would recommend updating up to 5.3.0, which would give you the most functionality without crippling anything. I don't really see asm programming disappearing from the community as a whole anytime soon.
Shipped with 5.4 lol okay well thanks good to know, pretty stupid really but I guess schools want to stop cheating etc Might just stick with BASIC for now, I’ve seen many people write reasonably fast/large programs with it so will see what I can do. Thanks again.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement