π
<-
Chat plein-écran
[^]

Assembly code on nSpire

C, C++, ASM...

Assembly code on nSpire

Message non lude SlyVTT » 04 Mai 2021, 08:48

Hello,

as the GUI Toolkit progresses well (and will soon reach the end), I am thinking of my next project (both will be certainly running in parallel during some weeks/months, and why not merging them both later).

So my plan would be to start working on a 3D Engine on the nSpire. Of course the hardware is powerful but a very common limitation for this kind of program will be the speed of the rasterization process (i.e. drawing the triangles on the screen) than consumes a lot of resources of the CPU. I haven't tested the actual speed of the CPU so far (except in the GUI Toolkit, so I think it can manage quite a lot of stuff thanks to its high clock frequency), but when many operations will be required (for exemple when texture will be applied and lights calculations will be performed on a triangle), it may be tough to get something running smoothly.

So now the questions :

- what is needed to code in assembly on the nSpire ? I do not plan to do everything in assembly, but just embed some portions of the engine that may be on the critical path. The rest would still be in C/C++. Is Ndless able to handle assembly code (it is said to be able to in the Ndless website, but cannot find any example of actually using that feature).

- where can we find some (good) examples of using assembly on nSpire ? Found nothing right now.

- where can we find the references of instructions for the nSpire CPU ? Directly on ARM website ?

In other words, this is for me like starting from scratch on that topic. And I am a bit afraid of a (very) limited community (not to say inexistant) working with assembly on nSpire.

My plan would be to :
- first have something running with correct visuals and coded in C/C++, whatever its speed.
- second, try to optimise the heavy operations with ASM to speed up the code.

Any help for the second part would be very appreciated.

Of course, on the long run, and as for the GUI Toolkit, I will try to make it open enough to be used by the community for other projects.

Ciao

Sly
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
Avatar de l’utilisateur
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 42.9%
 
Messages: 481
Images: 31
Inscription: 19 Jan 2021, 09:41
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: SlyVTT

Re: Assembly code on nSpire

Message non lude rentech7289 » 18 Aoû 2021, 01:22

To code with assembly you need to use an IDE which is compatible with this assembly. In fact to answer to this question, I have to give you an information about your third question.
The ARM assembly reference is on his manufacturer website, i.e. ARM. But there's another problem: Texas uses ARM under the license attributed by ARM and we can't know if Texas has rights to modify this architecture for his own purposes. In general, Texas microprocessors are integrated in screens but the main function of the assembly are available. The real problem is to obtain informations about the communication between the CPU and the environment because Texas use patents to protect its technology.
About assembly there's an important thing to know: it's not like low level langages in programmation or object oriented programming. Assembly is like imperative langages but with this specificity: you must have to know the CPU environnement. Because CPU use memory adresses to communicate with this environnement you can't use these one to programming... That what to say, you must plane your memory occupation with a great attention.
Ndless is unavailable on the latest Nspire and I don't use this kind of soft. I have another use of my Nspire: python applications...
Avatar de l’utilisateur
rentech7289
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 66.4%
 
Messages: 107
Inscription: 16 Aoû 2021, 02:40
Localisation: Lorraine luxembourgeoise
Genre: Homme
Calculatrice(s):
MyCalcs profile


Retourner vers Native: Ndless, Linux, ...

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 7 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.
729 utilisateurs:
>707 invités
>17 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)