Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
Cemetech's jsTIfied calculator emulator started fifteen months ago as an online TI-83+ emulator, then gradually expanded to support the TI-83+SE, TI-84+, and TI-84+SE. A month or two ago, I added TI-73, TI-76.fr, TI-81, TI-82, TI-82 Stats.fr, and TI-83 support to this tool. Now that I have my hands on the TI-84+CSE, I'm happy to announce that I have implemented TI-84 Plus C Silver Edition support in jsTIfied.

Of course, since only a few calculators exist in the wild, very few users even have calculators to dump ROMs off of, and to save temptation, jsTIfied's TI-84+CSE features will not be present in the public copy of the emulator for a few weeks. Since the community discovered the LCD controller model from critor's review model, it was possible to start thinking about the changes I would need to make to jsTIfied to support the TI-84+CSE. Once I got my own calculator, I was able to use assembly stubs to dump the ROM, one page at a time, and use it to test out my work. I hope that this addition to my venerable tool proves useful, and I will unlock the TI-84+CSE emulation to the public once I see that more calculators are making their way into the wild. Remember, kids: sharing ROMs is illegal, and downloading ROMs for calculators you don't own is illegal too.

More Information:
jsTIfied online calculator emulator
TI-84 Plus C Silver Edition Reference

Really amazing !

Emulate it before release is crazy.

You're simply crazy man !
contra-sh wrote:
Really amazing !

Emulate it before release is crazy.

You're simply crazy man !
I do what I can. Smile Unfortunately, beyond emulating the LCD (which was a pain in the neck, because it has 8 rather confusing auto-increment modes, according to the datasheet), I also had to write some compression for storing calculator state in DOM storage. It turns out that Chrome is particularly miserly about LocalStorage space, and I was surprised to read that the developers wish they didn't even have to support the feature.
Do you have some error detection on the DOM storage stuff to suggest users change their settings?
elfprince13 wrote:
Do you have some error detection on the DOM storage stuff to suggest users change their settings?
Unfortunately, Chrome doesn't support enlarging DOM storage, and it doesn't look like Firefox does either. Do you know if any browsers (other than Chrome) have somewhat restrictive settings that I should test to make sure it's functional for others once I make this new feature available?
Not at all (no about:config)? Or just not from script?
Safari, but I don't know how you'll test that Sad

KermMartian wrote:
... I will unlock the TI-84+CSE emulation to the public once I see that more calculators are making their way into the wild.


Do you mind sharing how you are "locking down" the use of TI84+CSE on jsTIfied? Is it member specific, as in, those who share publicaly that they have the calculator are then whitelisted on jsTIfied?
elfprince13 wrote:
Not at all (no about:config)? Or just not from script?
Just not from script. For example, Chrome allows webapps to enlarge "permanent storage", but only if they're special Chrome apps, as far as I can tell. I believe I've seen reports that Firefox is shrinking its DOM storage from 5MB to less in future versions, though, so I need to see if that's the case. The TI-84+CSE emulation needs about 4.3MB of DOM storage: 4MB for the Flash, 128KB for the RAM, and the rest to save CPU state, screen image, emulator state, and other fun stuff.

Edit: @comic: It's locked down in that the modules that implement 84+CSE support are disabled in the public version of the javascript mass that clients get. Only my private version (at a separate URL) has the modules enabled.
KermM: that's what I thought. So my question is, after you find out the ROM is too big, why not give the user a message suggesting they manually increase the storage size and try again?
Great work ! But as far as I understand, only you, Critor and a few others will be able to use it ? Razz
In firefox you can about:config increase the DOM storage as I had to do it at home because for some reason if you try a smaller rom first and switch to a larger one it sometimes will just fall over and error.

If I get a chance to play with a clean fresh Firefox profile I'll narrow down which about:config setting it is.
matrefeytontias wrote:
Great work ! But as far as I understand, only you, Critor and a few others will be able to use it ? Razz
Correct, at least until people are able to buy the calculators, at which point anyone who knows reverse-engineering skills would be able to theoretically make their own emulator, so I might as well make the features public.

Jonimus: Interesting, I'll have to look into that so I can offer the user options if jsTIfied can't get the space it needs to save state.

Elfprince: Same answer. Smile
KermMartian wrote:
Remember, kids: sharing ROMs is illegal, and downloading ROMs for calculators you don't own is illegal too.

Sharing ROMs without permission certainly is illegal, but downloading ROMs (whether for calculators you own or not) is not illegal, at least in the US. Heck, I've downloaded ROMs for a calculator I don't own from TI's site; would you say that is illegal? I didn't have to accept any form of EULA, and copyright law doesn't prohibit it. Even if I were to download the file from someone who does not have permission to share it (eg, from a a site), I would not be infringing any copyright; the other party would be the infringer.

Likewise, downloading music is also not illegal. Uploading music without permission is illegal. All copyright cases involving music "downloads" have actually been about sharing the music (usually by using some peer-to-peer* client that was not configured not to share). But that's going off-topic, so I'll stop here.

*Curiously, Cemetech's naughty-word filter blocks the acronym for peer-to-peer.
Well, in order to be able to downlaod the ROM, it would have to be uploaded first, and the ones who could do that are Critor and KermM, for now, so, that would be traced back preffy easily by TI Wink

(Also, I'm not 100% sure, but the OS you can freely download from TI aren't exactly ROMs)
Hey, you have the OS too, I know it |-)
christop wrote:
KermMartian wrote:
Remember, kids: sharing ROMs is illegal, and downloading ROMs for calculators you don't own is illegal too.

Sharing ROMs without permission certainly is illegal, but downloading ROMs (whether for calculators you own or not) is not illegal, at least in the US. Heck, I've downloaded ROMs for a calculator I don't own from TI's site; would you say that is illegal? I didn't have to accept any form of EULA, and copyright law doesn't prohibit it. Even if I were to download the file from someone who does not have permission to share it (eg, from a a site), I would not be infringing any copyright; the other party would be the infringer.

Likewise, downloading music is also not illegal. Uploading music without permission is illegal. All copyright cases involving music "downloads" have actually been about sharing the music (usually by using some peer-to-peer* client that was not configured not to share). But that's going off-topic, so I'll stop here.

*Curiously, Cemetech's naughty-word filter blocks the acronym for peer-to-peer.


This is only true if you can show in good faith that you didn't know the offending uploader didn't have a license to share.
adriweb wrote:
Well, in order to be able to downlaod the ROM, it would have to be uploaded first, and the ones who could do that are Critor and KermM, for now, so, that would be traced back preffy easily by TI Wink

(Also, I'm not 100% sure, but the OS you can freely download from TI aren't exactly ROMs)
They lack both the boot code and the calculator's unique certificate. Smile So you can't download those OSes an use them unless you already have those other pieces from a real (or fake) calculator.
Quote:
I didn't have to accept any form of EULA, and copyright law doesn't prohibit it.

Actually you did. You just ignored it. http://education.ti.com/en/us/software/details/en/400C88E8E75B4123BB7E90B6A676368D/ti84plusoperatingsystem#show=eula
From paragraph 2 of that EULA:


Code:

Restrictions: You may not reverse-assemble or reverse-compile the software program portion of the Licensed Materials that are provided in object code format. You may not sell, rent or lease copies of the Licensed Materials. You may not use the Licensed Materials on any emulator of a TI calculator unless the emulator is obtained from TI.
adriweb wrote:
Well, in order to be able to downlaod the ROM, it would have to be uploaded first, and the ones who could do that are Critor and KermM, for now, so, that would be traced back preffy easily by TI Wink

That's true in this case. I'm sure those two won't redistribute the ROM anyway even if it couldn't be traced to them.

KermMartian wrote:
adriweb wrote:
(Also, I'm not 100% sure, but the OS you can freely download from TI aren't exactly ROMs)
They lack both the boot code and the calculator's unique certificate. Smile So you can't download those OSes an use them unless you already have those other pieces from a real (or fake) calculator.

True, but that issue is orthogonal and irrelevant to the copyright status of the files.

elfprince13 wrote:
This is only true if you can show in good faith that you didn't know the offending uploader didn't have a license to share.

Copyright law deals with the reproduction and redistribution of copyrighted works. Simply receiving a copy (eg, downloading) is neither reproduction nor redistribution (by the party receiving the copy) and cannot constitute infringement, just as simply using (viewing, reading) a copyrighted work cannot be considered infringement.

Like I said, all copyright cases so far have revolved around distributing files without license to do so; none have been about receiving copies. I believe this is because receiving copies of copyrighted works is not illegal.

elfprince13 wrote:

I also said that I didn't have to accept it. Downloading is not an action that can indicate or imply agreement to any arbitrary terms that they post elsewhere on the page, just as installing software does not indicate agreement to any arbitrary terms (note that installing software, like downloading, does not require permission from the copyright owner). If they had required me to click an "I agree" button before downloading the file, that would be a different story. But I think mentioning an EULA is a distraction from the actual issue of copyright (ie, you don't need to agree to an EULA to use a copyrighted work). A pirate site will likely not have an EULA of any form anyway, and yet using copyrighted works from such a site is still legal.

Besides, I could post a completely legal direct link to one of TI's ROMs on TI's own site. No copyright infringement is involved here, as TI has the right to distribute the ROM. But no EULA is presented. http://education.ti.com/download/en/US/6D741EBCB35245FB96B4D7EA0CAC0220/7A5E3FAC9C664F119711D4382DB8FCE8/os.89u
  
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 4
» All times are GMT - 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