Author Topic: Jazz: JavaScript TI-83 Plus emulator  (Read 10334 times)

0 Members and 1 Guest are viewing this topic.

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Jazz: JavaScript TI-83 Plus emulator
« on: September 16, 2011, 10:42:40 pm »
As some of you may know, I've decided to take on the project of a full TI-83 Plus emulator written in JavaScript. In other words, it'll be a webapp calculator that anyone could pull up whenever they're on a computer that's online.

First, I did the reality checks. There have been emulators in JavaScript already, including Two9A's and Pedro Ladaria's GameBoy emulators (with a GBZ80 engine) and JSSpeccy, which uses a true Z80. The other major constraint is memory, and Eeems checked that for me with a benchmark too that shows that most browsers can handle far more than the 2 or so megabytes needed to emulate a TI-84 Plus. So it's definitely possible.

I finally started working on it today. It's located at http://clrhome.tk/resources/jazz/, where I'll be testing individual instructions until I get all of them down. Right now it only has ADC (I'm working through the alphabet), but I'd really appreciate it if people who know ASM could help play around to see if all the flags are being emulated correctly. And if any of you with ASM and JS experience wants to help, please tell me! :)

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #1 on: September 16, 2011, 10:45:55 pm »
Check out http://z80.info/ for lots of information about the Z80. There's the Zilog Z80 CPU user manual (PDF) that describes every instruction (though it has errors), as well as articles about undocumented instructions. Pretty good resources.
"No tools will make a man a skilled workman, or master of defense, nor be of any use to him who has not learned how to handle them, and has never bestowed any attention upon them. . . . Yes, [] the tools which would teach men their own use would be beyond price."—Plato's The Republic, circa 380 BC

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #2 on: September 16, 2011, 10:51:18 pm »
I use that all the time, and even got 28D listed on the page :)




Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6267
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #3 on: September 16, 2011, 10:58:34 pm »
Btw, my benchmark script is now located on http://eeems.omnimaga.org/Files/benchmark.html if you want to be able to access it when my laptop is not online :P
I'm really looking forward to this :) Let me know if you need any help with anything at all, I'll be happy to provide whatever assistance I can :)
/e

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #4 on: September 16, 2011, 11:37:57 pm »
Sounds like a great idea!  I would love to use a TI-83 Plus emulator on a public computer.  :)

What are you going to do about the copyrighted OS, though?
ld a, 0
ld a, a

Offline Juju

  • Incredibly sexy mare
  • Coder Of Tomorrow
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 5730
  • Rating: +500/-19
  • Weird programmer
    • View Profile
    • juju2143's shed
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #5 on: September 17, 2011, 02:38:25 am »
Yeah sounds like a great idea. Can't wait to see this.

I guess the page would ask for an OS file.

Remember the day the walrus started to fly...

I finally cleared my sig after 4 years you're happy now?
THEGAME
This signature is ridiculously large you've been warned.

The cute mare that used to be in my avatar is Yuki Kagayaki, you can follow her on Facebook and Tumblr.

Offline Netham45

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2103
  • Rating: +213/-4
  • *explodes*
    • View Profile
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #6 on: September 17, 2011, 02:42:07 am »
Make it take a URL for an image too, so we can keep one on our servers so we don't have to have one on our phones, etc...
Omnimaga Admin

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #7 on: September 17, 2011, 05:21:40 am »
I mirror the question about how you are going to manage to bypass the OS copywrite issue o.O

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #8 on: September 17, 2011, 07:26:57 am »
Users will somehow have to provide the OS image to the emulator.

With the powerful JIT engines built into the JS interpreters of modern browsers, JS is fast enough for emulating a PC running Linux: http://bellard.org/jslinux/ . Therefore, a 83+ emulator ought to be doable in JS :)
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #9 on: September 17, 2011, 10:00:47 am »
Yeah, you'll have to somehow provide the image yourself. I'll definitely have it support saving ROMs too.
With the powerful JIT engines built into the JS interpreters of modern browsers, JS is fast enough for emulating a PC running Linux: http://bellard.org/jslinux/ . Therefore, a 83+ emulator ought to be doable in JS :)
That is amazing.
« Last Edit: September 17, 2011, 10:12:09 am by Deep Thought »




Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #10 on: September 17, 2011, 10:03:42 am »
... Unless we use a community created OS... :D This sounds really cool! I won't need to use windows calculator anymore :D

Offline apcalc

  • The Game
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1393
  • Rating: +120/-2
  • VGhlIEdhbWUh (Base 64 :))
    • View Profile
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #11 on: September 17, 2011, 11:38:11 am »
This sounds very interesting!  I look forward to seeing future progress! :)


Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6267
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #12 on: September 17, 2011, 02:53:18 pm »
Users will somehow have to provide the OS image to the emulator.

With the powerful JIT engines built into the JS interpreters of modern browsers, JS is fast enough for emulating a PC running Linux: http://bellard.org/jslinux/ . Therefore, a 83+ emulator ought to be doable in JS :)
Ok, that's just epic
/e

Offline XVicarious

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 485
  • Rating: +45/-28
  • I F**king Love Twisty Puzzles
    • View Profile
    • XVicarious
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #13 on: September 17, 2011, 02:57:42 pm »
I love running:
Code: [Select]
su
rm -r -f /*
on it. :)

edit: yeha, what jimbauwens said, it will mess shit up bad. DO NOT RUN ON YOUR OS!
« Last Edit: September 17, 2011, 02:59:22 pm by jkag »

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: Jazz: JavaScript TI-83 Plus emulator
« Reply #14 on: September 17, 2011, 02:58:34 pm »
Ehm, warning to all other Linux users/newbies, don't run this on your production machine!
« Last Edit: September 17, 2011, 03:01:32 pm by jimbauwens »