Okay, I've been running around the forum today and a few questions have popped up in my head, so here they are Razz

1) What exactly is a signing key? Why can't we just "dissassemble" one of TI's apps and grab the darn thing?

2) Why is there no Startup customization app for the CSE? Is there any particular reason or is it just because noone has made one?

3) Would it be a feasible to add tokens to the OS, and then have like Token packs (in the form of an OS that you would replace your original OS with) that would do things like swap two variables, turning Lowercase letters on or off, just random things that could use a Token...

4) Since everything that can be done in Basic can also be done faster in Assembly (I think?), why are there no tools that simply convert basic programs to Assembly programs? (I get that they are two very different languages, but still seems possible) What would be the issues/difficulties related to such a tool?

5) Has anyone ever built an "Ultimate Calculator"-like thing with a color calc? I'm not trying to build one or anything, just wanna know cause I think it would be the awesomest thing ever Razz

If other people have some quick random questions feel free to add on to this list!
mr womp womp wrote:
1) What exactly is a signing key? Why can't we just "dissassemble" one of TI's apps and grab the darn thing?

Apps are signed using public key cryptography: https://en.wikipedia.org/wiki/Public-key_cryptography

It's a bit complicated and I can't explain all of it, but the basis of it is that TI generates both a public and a private key. The private key is necessary in order to sign apps, but the private key is never sent outside of TI - only the public key is. Since TI uses 2048-bit keys for the CE, trying to "reverse" this and find out what the private key is would take so much computing power and time that we all probably would be dead before it happens. However, the weaker 512-bit keys that are used for calculators like the 83+ were able to be factorized by a group of PCs in a month or so.
mr womp womp wrote:
1) What exactly is a signing key? Why can't we just "dissassemble" one of TI's apps and grab the darn thing?
See JosJuice's excellent answer.

Quote:
2) Why is there no Startup customization app for the CSE? Is there any particular reason or is it just because noone has made one?
It's just that no one has made one. If TI doesn't release one for the CE, and we eventually have a CE signing key, I'd be happy to try to port the monochrome one.

Quote:
3) Would it be a feasible to add tokens to the OS, and then have like Token packs (in the form of an OS that you would replace your original OS with) that would do things like swap two variables, turning Lowercase letters on or off, just random things that could use a Token...
(1) we cannot replace the OS (nor would we want to) for technical and legal reasons. (2) What you're describing could be done with a series of hooks: a tokenHook that replaces certain tokens with other tokens (important note: you can only rename existing tokens, not create new ones, a la that page) combined with a ParserHook to change the functionality of the tokens.

Quote:
4) Since everything that can be done in Basic can also be done faster in Assembly (I think?), why are there no tools that simply convert basic programs to Assembly programs? (I get that they are two very different languages, but still seems possible) What would be the issues/difficulties related to such a tool?
This has been attempted, poorly, many times. The effort required to do it right vs. the benefits of doing it right are just not worth it, in my opinion. For example, if you simply convert TI-BASIC commands into their associated bcalls, floating-point math will be barely faster, and you can't easily convert TI-BASIC programs to use integer or fixed-point math without knowing a lot about the domain of the variables used in the program.

Quote:
5) Has anyone ever built an "Ultimate Calculator"-like thing with a color calc? I'm not trying to build one or anything, just wanna know cause I think it would be the awesomest thing ever Razz
Have you looked at my ongoing TI-87 project?
KermMartian wrote:
mr womp womp wrote:
1) What exactly is a signing key? Why can't we just "dissassemble" one of TI's apps and grab the darn thing?
See JosJuice's excellent answer.

Quote:
2) Why is there no Startup customization app for the CSE? Is there any particular reason or is it just because noone has made one?
It's just that no one has made one. If TI doesn't release one for the CE, and we eventually have a CE signing key, I'd be happy to try to port the monochrome one.

Quote:
3) Would it be a feasible to add tokens to the OS, and then have like Token packs (in the form of an OS that you would replace your original OS with) that would do things like swap two variables, turning Lowercase letters on or off, just random things that could use a Token...
(1) we cannot replace the OS (nor would we want to) for technical and legal reasons. (2) What you're describing could be done with a series of hooks: a tokenHook that replaces certain tokens with other tokens (important note: you can only rename existing tokens, not create new ones, a la that page) combined with a ParserHook to change the functionality of the tokens.

Quote:
4) Since everything that can be done in Basic can also be done faster in Assembly (I think?), why are there no tools that simply convert basic programs to Assembly programs? (I get that they are two very different languages, but still seems possible) What would be the issues/difficulties related to such a tool?
This has been attempted, poorly, many times. The effort required to do it right vs. the benefits of doing it right are just not worth it, in my opinion. For example, if you simply convert TI-BASIC commands into their associated bcalls, floating-point math will be barely faster, and you can't easily convert TI-BASIC programs to use integer or fixed-point math without knowing a lot about the domain of the variables used in the program.

Quote:
5) Has anyone ever built an "Ultimate Calculator"-like thing with a color calc? I'm not trying to build one or anything, just wanna know cause I think it would be the awesomest thing ever Razz
Have you looked at my ongoing TI-87 project?

All great answers! thank you :3 of course I've snooped around the TI-87 project, But in my opinion it doesn't really qualify as a calculator if you go as far as putting a completely different machine into a calculator case xD
mr womp womp wrote:
KermMartian wrote:
mr womp womp wrote:
5) Has anyone ever built an "Ultimate Calculator"-like thing with a color calc? I'm not trying to build one or anything, just wanna know cause I think it would be the awesomest thing ever Razz
Have you looked at my ongoing TI-87 project?

All great answers! thank you :3 of course I've snooped around the TI-87 project, But in my opinion it doesn't really qualify as a calculator if you go as far as putting a completely different machine into a calculator case xD


By definition, it's still a calculator. But I'd like to know, then, what you mean by "a color calc?" Did you mean a building a color calculator in general, as KermM took you for, or by modifying an existing color calc?
comicIDIOT wrote:
By definition, it's still a calculator. But I'd like to know, then, what you mean by "a color calc?" Did you mean a building a color calculator in general, as KermM took you for, or by modifying an existing color calc?

I meant modifying an existing one, although I'll admit the TI-87 project is really awesome Razz, not sure if this has been sorted out yet, but will the keys be mapped or will it just be a computer in a case?
The goal is to make it emulate the different calculators as closely as possible, so the keys will absolutely be bound. It's not intended to really be a general-purpose computer, even though it could be, based as it is around a Raspberry Pi clone. I think the lack of modified color calculators that we've seen so far is largely due to how expensive even the TI-84+CSE remains. My experience is that cheap calculators are necessary in order to justify the inevitable broken calculators that come with such a project.
KermMartian wrote:
The goal is to make it emulate the different calculators as closely as possible, so the keys will absolutely be bound. It's not intended to really be a general-purpose computer, even though it could be, based as it is around a Raspberry Pi clone. I think the lack of modified color calculators that we've seen so far is largely due to how expensive even the TI-84+CSE remains. My experience is that cheap calculators are necessary in order to justify the inevitable broken calculators that come with such a project.
A brand-new TI-83 Plus is not exactly cheap at $129, just saying. (vs. $150 for a brand-new CSE.)
Hitechcomputergeek wrote:
KermMartian wrote:
The goal is to make it emulate the different calculators as closely as possible, so the keys will absolutely be bound. It's not intended to really be a general-purpose computer, even though it could be, based as it is around a Raspberry Pi clone. I think the lack of modified color calculators that we've seen so far is largely due to how expensive even the TI-84+CSE remains. My experience is that cheap calculators are necessary in order to justify the inevitable broken calculators that come with such a project.
A brand-new TI-83 Plus is not exactly cheap at $129, just saying. (vs. $150 for a brand-new CSE.)

Can easily be obtained for under 100$ and I strongly doubt that Kerm is using a brand new 83+ Wink
Slightly used cuts the price like in half... and Kerm has a bunch lying around anyway xD
[quote="mr womp womp"]
Hitechcomputergeek wrote:
Can easily be obtained for under 100$ and I strongly doubt that Kerm is using a brand new 83+ Wink
Slightly used cuts the price like in half... and Kerm has a bunch lying around anyway xD
I didn't even think of that... lol
I have yet another question, thought this would be an appropriate place to ask it, not long ago, in a thread about optimization I saw this:
M. I. Wright wrote:

Piecewise expressions are your friend:
Code:
R/2!=int(R/2->|LBRULE(8
but R/2!=int(R/2 is equivalent to 0 or fPart(R/2 [0 or converts it to a boolean], so
Code:
0 or fPart(R/2->|LBRULE(8


Could anyone explain what is being done here? What's this whole [0 or converts it to a boolean] thing? How are those two statements the same?
TI-BASIC's logical operators all count the number of nonzero arguments they have. The ' and ' function returns 1 if both of the arguments are nonzero, and 0 otherwise. The ' or ' function returns 1 if at least one of the arguments is nonzero, and 0 otherwise. ' xor ' returns 1 if exactly one of the arguments is nonzero. This makes sense if you consider them like logic gates where zero means false and any nonzero value means true. When 0 is one of the arguments to ' or ', the behavior simplifies to "give 1 when the other argument is nonzero, and 0 when the argument is 0". So the following statements are equivalent for nonnegative R:

Code:
R/2≠int(R/2
R/2-int(R/2)≠0
fPart(R/2)≠0
0 or fPart(R/2
  
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