Assembly code on nSpire

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
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