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

Online C compiler for the TI-84 Plus CE / TI-83 Premium CE

Started by Adriweb, September 30, 2015, 10:19:03 PM

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

Adriweb

Lately, I've been working a bit on integrating Mateo's original techniques for getting C to compile for the CE devices. After cleaning [many] things up from ZDS (most notably the makefile), and integrating all kinds of nice things together, I have a working online C "IDE" :)

Features include:
  • State saving when you build (via local storage mainly),
  • Proper C syntax highlighting
  • Code folding, Naive autocompletion, Auto indenting and other CodeMirror goodies.
  • Inlined warnings and errors from ZDS
  • Direct .8xp creation and download
  • Support of multi-user live collaborating
Screenshots: (the one on the left is a bit outdated)



It will be publicly released when it's a bit more tested and the TODO List is done, but I'll also wait for Mateo to finish with his include files that'll be much nicer that what the IDE is currently using :P

What's happening behind the scenes is: Page <=> AJAX <=> PHP+Bash workers/dispatchers <=> ZDS CLI tools (via the Makefile) run with wine + ConvHex.
Of course, the wine bottle is isolated from the rest of the actual Linux FS, and it's running from a restricted user account (no, you can't #include "/etc/passwd" ;)) Chrooting may take place if needed, that will be determined by further tests...

I believe most parts (i.e things not directly tied to TI-Planet's architecture) will become open-source since developer-oriented tools should always be released that way.

Via: https://tiplanet.org/forum/viewtopic.php?f=10&t=17279
  • 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

semiprocoder

#1
Wow, sounds really cool. Unfortunately I only have a ti 84 plus se. I might eventually get a ce, but not for now. I tried to get sdcc to program the 84 plus se, but I couldn't manage to. I don't(forgot to put this in but this is too big of a distinction so I just changed it) have linux, don't really know any commands like that or anything... An online c compiler for the preious versions as well would be nice. But I still think this is really nice and could lead to some really nice programs, as asm is too anoying for me too learn. Don't really feel like it, especially as I don't have any good editors for it.
  • Calculators owned: ti nspire, ti 84 plus se
My cemetech username is awesommee333.

novenary

Promoted to front page news. Nice stuff right there Adriweb. :)

SiphonicSugar

Man! This is great!

Now all I have to do is learn C and start making apps, or games... for the CE!
  • Calculators owned: TI-89, TI-84 Plus, TI-92, TI-84 Plus C SE, and TI-Nspire CAS with Touchpad
I'm just trying to grab some inspiration. :P

Dream of Omnimaga

Very great Adriweb. I knew that Mateo was working on tools to ease C developement on that calculator so I am glad that  more tools are being 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

Snektron

  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Dream of Omnimaga

Now what we need is a community emulator to make development easier. Open-source ideally to allow everyone to contribute, but I can settle with the opposite if it means I'll be able to emulate my calculator earlier. Hopefully someone with the skills and time can get this rolling.
  • 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

Ivoah

Quote from: DJ Omnimaga on October 02, 2015, 08:53:18 PM
Now what we need is a community emulator to make development easier. Open-source ideally to allow everyone to contribute, but I can settle with the opposite if it means I'll be able to emulate my calculator earlier. Hopefully someone with the skills and time can get this rolling.

Don't forget about https://github.com/TI-Planet/ti_jsemu_wrapper
  • Calculators owned: TI-86 (now broken), TI SR-56, TI-Nspire CX CAS, TI-84+ SE, TI-84+ SE, TI-85, TI-73 Explorer VS, ViewScreen, TI-84+ CSE, TI-83+ SE

Adriweb

But which still legally requires the user to have either a non-expired demo or a valic license of the SmartView. Unfortunately for most of the TI community, pretty much only teachers have that.
(I must be part of the few exceptions...)
  • 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

Indeed, plus TI-Smartview emulation doesn't emulate undocumented instructions. For example it doesn't run Pacman. Also the JS wrapper doesn't let us transfer files. Hence the need for a full emulator like Wabbitemu or jsTIfied.
  • 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

Update (even though it's not public yet... :P) :
  • Added some standard headers to the template
  • Header for common types as well
  • Better handling of multiple codes/programs (unique ids in localStorage etc.)
  • Support of multi-user live collaborating (see screenshot)
  • 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

Unicorn

  • Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
  • Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???



??? ??? ??? ??? ???

Dream of Omnimaga

Awesome. My only concern, though, is since it's hosted on TI-Planet, then will the latency or lag issues that sometimes occurs when browsing the site in North America/Asia on some ISPs due to distance cause issues when live-editing code together, like in online multiplayer games?
  • 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

The real-time DB thing is CDN'ed so that should not be an issue.
  • 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

Ah, that's good then. Could it be possible to have mirror servers in multiple parts of the worlds if that's not too expensive, such as one in North America and the other in Europe?
  • 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