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

A wrapper for TI's JavaScript-based z80/eZ80 emulators

Started by Adriweb, July 04, 2015, 11:42:05 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Adriweb

I've just published on GitHub a wrapper for TI-SmartView's js emulators, which makes the emu much more usable for screen-recording purposes, for instance :D
Indeed, when you run the emulator inside a recent browser, it's running much, much faster than from within SmartView (because Java's Webview yield poor JS performance, apparently...)

Screenshot:


The files/source + readmes on how to set it up are there (there is a bit of setup since you'll need to provide TI's files like the emu(s) core etc.).

What's in it right now:
  • Support of the TI-82A/83+/84+, 84+CSE, 84+CE/83PCE JavaScript emulators
  • Key history
  • Big hand pointer ("handy" for presentation purposes)
  • Screen zooming
  • Screenshot (.png export, auto-download)
  • Video capture (webm creation, thanks to WebRTC, currently only working on Chrome)
What's not in it right now:
  • File transfers
  • Debugging support (I have ideas on how to do that, but it's not very practical, and would work on specific versions only, so that's not very good)
  • Skin switching
So, while we wait for an actual community-made emulator that natively provides all kind of nice user+developer-oriented features, this is the next best thing, I guess :)

Feel free to report feedback, or even make pull requests :)


Credits:
- critor, for the hand pointer and key history ideas and initial implementations
- me, for the rest
- TI of course, for the emulators we build things around :P



(Also posted on TI-Planet and Cemetech)
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Dream of Omnimaga

#1
Wow, I didn't realize that in a browser it would get faster. I'll have to try it. For screen capture I just used camstudio personally, but it's not really ideal. Thanks a lot for this :)

Will this work if I only have the trial version of the emulator? As in, will it let me use TI-Smartview during the last 25 days or so I have left on my trial period?
  • 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

Adriweb

Quote from: DJ Omnimaga on July 05, 2015, 05:02:11 AMWow, I didn't realize that in a browser it would get faster. I'll have to try it. For screen capture I just used camstudio personally, but it's not really ideal. Thanks a lot for this :)
You sure can continue to use any video capture software, but at least, filming the browser will result in having smoother captures / higher FPS :)

Quote from: DJ Omnimaga on July 05, 2015, 05:02:11 AMWill this work if I only have the trial version of the emulator? As in, will it let me use TI-Smartview during the last 25 days or so I have left on my trial period?
This is not using any of the actual SmartView code, only the JS emulator core, so yes. But I have to remind users of this of what's written in the license:
QuoteAt the end of the trial period you agree to cease use of the Program, unless you have purchased a license to use the Program
which makes the potential "cracking" issue seen by KermM moot, at least as far as I understand it: "Program" is defined as "The software program(s) in this installation and any related documentation", which includes anything from within the SmartView folder, basically, so the JavaScript emu core as well. Thus, it would be the user's fault to use an expired SmartView file with the wrapper, certainly not the fault of the wrapper (nor its creators) :D
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Dream of Omnimaga

I was actually more wondering if the program would work with a trial version or only with a registered version, because I still had a few days left and did not plan to continue using anything using TI-SmartView code after my trial copy expired. I didn't see Kerm posts about it until now.

That said, that's kinda a gray area if your emulator wrapper still works past expiration, since that's still technically allowing using a paid emulator for free, something we don't encourage (which is the reasons why I am reluctant about making this topic as front-page news), but you are still on the legal side of things from what I can gather. But if TI-Smartview is coded so badly that it can be ran off a webpage at will, then I don't know what to say. Just make sure that your software doesn't include any form of crack, keygen or anything of the like. Ideally, in the future, a third-party emulator should be made.
  • 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

Adriweb

Quote from: DJ Omnimaga on July 05, 2015, 06:39:10 AMI was actually more wondering if the program would work with a trial version or only with a registered version, because I still had a few days left and did not plan to continue using anything using TI-SmartView code after my trial copy expired. I didn't see Kerm posts about it until now.
The wrapper only requires the .js file and some images, and all of that is readily available within SmartView's folder by unzipping the emulators/[thecalcnamehere].jar. So, it won't know if it's from a demo or a registered version of SV.

Quote from: DJ Omnimaga on July 05, 2015, 06:39:10 AMThat said, that's kinda a gray area if your emulator wrapper still works past expiration, since that's still technically allowing using a paid emulator for free, something we don't encourage (which is the reasons why I am reluctant about making this topic as front-page news), but you are still on the legal side of things from what I can gather.
I myself don't encourage bypassing trial and whatnot, obviously. It's also why I copy/pasted the relevant license info about the fact that the user himself should stop using anything included in SV when it expires. That includes the .js.

Quote from: DJ Omnimaga on July 05, 2015, 06:39:10 AMBut if TI-Smartview is coded so badly that it can be ran off a webpage at will, then I don't know what to say.
Well I guess that's the thing with JS code.
However, I'd say the emu core is sufficiently well coded that it is completely independant from the host app, SmartView. I just happen to provide an extremely light host for the JS, so that anyone doesn't have to launch it himself, and with a few convenient tools like image/video capture.

Quote from: DJ Omnimaga on July 05, 2015, 06:39:10 AMJust make sure that your software doesn't include any form of crack, keygen or anything of the like. Ideally, in the future, a third-party emulator should be made.
I don't even think we can call the wrapper a "software", it's just a few dozens of html+js+css lines, and most of them are optional (you could launch the js with very few lines). You can see by yourself it's nothing else than that: https://github.com/TI-Planet/ti_jsemu_wrapper :D
And yeah, whenever there will be a community emulator, then this will probably be rendered pointless. But, as Lionel said, "double bonus points for such an emulator to be open source software" ...
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Dream of Omnimaga

Yeah I just checked the emulator folders. I am astonished that TI made the emulator this insecure against attempts at using it for free legally. What were they thinking? I guess that's what happens when they spend 99% of their energy locking down the TI-Nspire.

Now that has me thinking: Could someone replace the files with his own emulator and use it from TI-Smartview itself?
  • 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

Adriweb

Quote from: DJ Omnimaga on July 05, 2015, 07:06:11 PMYeah I just checked the emulator folders. I am astonished that TI made the emulator this insecure against attempts at using it for free legally. What were they thinking? I guess that's what happens when they spend 99% of their energy locking down the TI-Nspire.
The thing is that TI has been making JS-based z80 emulator for some years now, though never got released publicly, instead they were used in the context of TI-ExamCalc. And that is integrated into online-exam software, like Pearson stuff etc. Anyone able to correctly use google can actually get ahold of those TI files.
So, these JS emulators have to be usable in a standalone way, since they have to be embedded in non-TI-made hosts.
Here, it's the same thing, and the wrapper just happens to be one more host for these files.

Quote from: DJ Omnimaga on July 05, 2015, 07:06:11 PMNow that has me thinking: Could someone replace the files with his own emulator and use it from TI-Smartview itself?
Technically, sure :) But you'd have to implement all the functions/methods that the host (SV) expects to find/call, and everything. Good luck with that, it would be a huge amount of reverse-engineering :P
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Lionel Debroux

QuoteBut you'd have to implement all the "interfaces" that the host (SV) expects to find/call, and everything. Good luck with that, it would be a huge amount of reverse-engineering :P
That said, this reverse-engineering could be quite clean-room, through DTrace-style user-space probes in the JVM, or custom JVM builds.
For understanding some aspects of the communication between the Prime CK and the computer version of the Prime software, I patched Wine on my computer.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

DarkestEx

Sounds pretty interesting.
Can you download SV's trial for free without having the actual device?
  • Calculators owned: TI-84+, Casio 101-S, RPN-Calc, Hewlett-Packard 100LX, Hewlett-Packard 95LX
  • Consoles, mobile devices and vintage computers owned: Original Commodore 64C, C64 DTV, Nintendo GameBoy Color, Nintendo GameCube, Xbox 360, PlayStation 2

Dream of Omnimaga

Yes, it's on TI website. The trial lasts 90 days. Keep in mind that it doesn't emulate undocumented stuff like 8 bits mode, though, so Pac-Man CE won't work.
  • 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

DarkestEx

Quote from: DJ Omnimaga on July 05, 2015, 07:57:13 PM
Yes, it's on TI website. The trial lasts 90 days. Keep in mind that it doesn't emulate undocumented stuff like 8 bits mode, though, so Pac-Man CE won't work.
Nice! I can use it forever!
  • Calculators owned: TI-84+, Casio 101-S, RPN-Calc, Hewlett-Packard 100LX, Hewlett-Packard 95LX
  • Consoles, mobile devices and vintage computers owned: Original Commodore 64C, C64 DTV, Nintendo GameBoy Color, Nintendo GameCube, Xbox 360, PlayStation 2

Adriweb

Quote from: DarkestEx on July 05, 2015, 07:59:45 PM
Quote from: DJ Omnimaga on July 05, 2015, 07:57:13 PM
Yes, it's on TI website. The trial lasts 90 days. Keep in mind that it doesn't emulate undocumented stuff like 8 bits mode, though, so Pac-Man CE won't work.
Nice! I can use it forever!
Not quite, SmartView itself will still be asking for a license when it expires, and you won't be able to launch it - the .js file, though, will of course be accessible, with or without any kind of wrapper like this one.
But yeah, I'll not copy/paste again the relevant part of the license saying you can't use it ;)
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

DarkestEx

Quote from: Adriweb on July 06, 2015, 12:22:11 AM
Quote from: DarkestEx on July 05, 2015, 07:59:45 PM
Quote from: DJ Omnimaga on July 05, 2015, 07:57:13 PM
Yes, it's on TI website. The trial lasts 90 days. Keep in mind that it doesn't emulate undocumented stuff like 8 bits mode, though, so Pac-Man CE won't work.
Nice! I can use it forever!
Not quite, SmartView itself will still be asking for a license when it expires, and you won't be able to launch it - the .js file, though, will of course be accessible, with or without any kind of wrapper like this one.
But yeah, I'll not copy/paste again the relevant part of the license saying you can't use it ;)
I will just unzip it without reading or accepting the licence :P
  • Calculators owned: TI-84+, Casio 101-S, RPN-Calc, Hewlett-Packard 100LX, Hewlett-Packard 95LX
  • Consoles, mobile devices and vintage computers owned: Original Commodore 64C, C64 DTV, Nintendo GameBoy Color, Nintendo GameCube, Xbox 360, PlayStation 2

Adriweb

I believe you still need to go through the installer, which makes you accept the license if you want to install it ;)
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Dream of Omnimaga

I think what he means is that people generally just scroll down instantly without reading then choose "I accept"
  • 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

Powered by EzPortal