π
<-
Chat plein-écran
[^]

Web IDE for Nspire development

C, C++, ASM...

Web IDE for Nspire development

Message non lude nspiredev500 » 27 Mar 2022, 20:57

I'm starting a new project, porting the Ndless toolchain to webassembly, improving the firebird emscripten port, making a TI Lua API emulator and assembling all that into a web IDE that runs completely in the browser.

I started to port the toolchain, "arm-none-eabi-ld -v" works in webassembly, I don't know if the actual linking works yet. Also cross-compiling from x86_64 to webassembly with a target of arm-none-eabi is kind of complicated.

I'll also probably have to let GCC emit assembly files, since you can't fork and call binutils in webassembly....

Also on my list are improvements to Ndless, like dynamic linking, ELF and dlopen() support, but that is a topic for another day.

I'll post progress updates in this thread.
Avatar de l’utilisateur
nspiredev500
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Prochain niv.: 16%
 
Messages: 17
Inscription: 03 Juil 2020, 12:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
GitHub: nspiredev500

Re: Web IDE for Nspire development

Message non lude Adriweb » 27 Mar 2022, 21:08

Interesting idea :)

Have you thought about contributing this effort to TI-Planet's open source Project Builder? It could be a module just like the CE C/C++ toolchain :

See: https://tiplanet.org/pb
Source code (which I need to update): https://github.com/TI-Planet/Project-Builder
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Web IDE for Nspire development

Message non lude Lionel Debroux » 27 Mar 2022, 21:10

That's quite an ambitious set of goals :)

A single note so far:
Also on my list are improvements to Ndless, like dynamic linking, ELF and dlopen() support, but that is a topic for another day.

Watch out, there's a very good reason why Ndless goes through genzehn for generating final binaries targeting the calculator, instead of using ELF on both the computer side as a work format and the calculator side: the sheer bloat thereof, be it for the generated programs or for the ELF loader itself, to a lesser extent. It was attempted before, but the results are often poor to terrible: in some circumstances, very simple ELF programs can swell to dozens of KBs. That's not acceptable, and this is the reason why ELF never went beyond the prototype stage for the Nspire series (on the calculator side, again).
bFLT supports dynamic linking but has the annoying limitation of a maximum of 254 shared libraries. See https://blog.tangrs.id.au/2012/04/07/bf ... ion-notes/ .
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Web IDE for Nspire development

Message non lude nspiredev500 » 27 Mar 2022, 21:23

Adriweb a écrit:Interesting idea :)

Have you thought about contributing this effort to TI-Planet's open source Project Builder? It could be a module just like the CE C/C++ toolchain :

See: https://tiplanet.org/pb
Source code (which I need to update): https://github.com/TI-Planet/Project-Builder


Cool, I didn't know that was a thing. That way I don't even have to make a custom website layout or code editor :) .

Lionel Debroux a écrit:That's quite an ambitious set of goals :)

A single note so far:
Also on my list are improvements to Ndless, like dynamic linking, ELF and dlopen() support, but that is a topic for another day.

Watch out, there's a very good reason why Ndless goes through genzehn for generating final binaries targeting the calculator, instead of using ELF on both the computer side as a work format and the calculator side: the sheer bloat thereof, be it for the generated programs or for the ELF loader itself, to a lesser extent. It was attempted before, but the results are poor to terrible: in some circumstances, very simple ELF programs can swell to dozens of KBs. That's not acceptable.
bFLT supports dynamic linking but has the annoying limitation of a maximum of 254 shared libraries. See https://blog.tangrs.id.au/2012/04/07/bf ... ion-notes/ .


For the projects that I made the ELF object file was always very small, because newlib and other libraries weren't included. To make the size difference smaller I want to support compressed ELF files, like ZEHN is compressed. Also static linking on the calculator directly in memory removes the need to include newlib on the ELF file, but would make the linker itself larger. If using ELF proves impractical, I'll make an updated version of ZEHN. Thankfully versioning support is included in ZEHN, so backwards compatibility can be kept.
Avatar de l’utilisateur
nspiredev500
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Prochain niv.: 16%
 
Messages: 17
Inscription: 03 Juil 2020, 12:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
GitHub: nspiredev500

Re: Web IDE for Nspire development

Message non lude Lionel Debroux » 27 Mar 2022, 21:26

An improved version of Zehn is probably the way to go, indeed. You should discuss with Vogtinator :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Web IDE for Nspire development

Message non lude nspiredev500 » 28 Mar 2022, 13:23

How can I contact him? I only know his Github, and that doesn't allow messages, and couldn't find him here. Or should I just create an issue in the Ndless repo?
Avatar de l’utilisateur
nspiredev500
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Prochain niv.: 16%
 
Messages: 17
Inscription: 03 Juil 2020, 12:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
GitHub: nspiredev500

Re: Web IDE for Nspire development

Message non lude Adriweb » 28 Mar 2022, 13:32

On IRC, #ndless-dev of the EFNet server, for quick chats, but maybe a GitHub issue would be better indeed
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb


Retourner vers Native: Ndless, Linux, ...

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 12 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1110 utilisateurs:
>1060 invités
>45 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)