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
Assembly code on nSpire
2 posts
• Page 1 of 1

Assembly code on nSpire
Some works in progress :
The GUI Toolkit NF for nSpire | MyShmup for fxCG-50 | Magic Light for Casio Graph 90+E and Magic Light for nSpire CX/CX-II | Simple Text Editor for nSpire | OutRun for Casio Graph 90+E |
![]() | ![]() | ![]() | ![]() | ![]() |
And more to come ... stay tuned
-
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 547
- Images: 32
- Joined: 19 Jan 2021, 09:41
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- GitHub: SlyVTT
Re: Assembly code on nSpire
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...
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...
-
rentech7289
Niveau 7: EP (Espèce Protégée: geek)- Posts: 107
- Joined: 16 Aug 2021, 02:40
- Location: Lorraine luxembourgeoise
- Gender:
- Calculator(s):→ MyCalcs profile
2 posts
• Page 1 of 1
Return to Native: Ndless, Linux, ...
Who is online
Users browsing this forum: ClaudeBot [spider] and 6 guests