Omnimaga
Omnimaga => Our Projects => Ndless => Topic started by: fb39ca4 on August 13, 2011, 11:41:09 pm
-
What are some things you would like to see in the next version of ndless? I'm thinking more along the lines of functions and stuff, not major changes like a permanent installation.
Here's my first one:
void set_cpu_150_mhz() {
*(volatile unsigned*) 0x900B0000 = 0x00000002;
*(volatile unsigned*) 0x900B000C = 4;
}
void set_cpu_90_mhz() {
*(volatile unsigned*) 0x900B0000 = 0x00141002;
*(volatile unsigned*) 0x900B000C = 4;
}
-
Original CPU speed isn't 90MHz on all OSes. It's probably possible to return the previous value from the function, though.
Edit: I guess it could go something like
#define SPEED_150MHZ 0x00000002
#define SPEED_90MHZ 0x00141002
unsigned set_cpu_speed(unsigned speed) {
unsigned lastSpeed = *(volatile unsigned*) 0x900B0000;
*(volatile unsigned*) 0x900B0000 = speed;
*(volatile unsigned*) 0x900B000C = 4;
return lastSpeed;
}
And then you'd use it like:
unsigned speedBackup = set_cpu_speed(SPEED_150MHZ);
//Code goes here
set_cpu_speed(speedBackup);
-
I like this thread :)
Thanks for this patch, here it is on the Ndless's SVN: http://hackspire.unsads.com/wiki/index.php/Libndls#CPU
Shouldn't CPU_SPEED_90MHZ be 0x00145002, as on OS < 2.1 according to this (http://hackspire.unsads.com/wiki/index.php/Memory-mapped_I/O_ports#900B0000_-_Power_management)?
And is this one correct: #define CPU_SPEED_120MHZ 0x000A1002 ?
-
since v3.0. speed is one of CPU_SPEED_150MHZ, CPU_SPEED_120MHZ, CPU_SPEED_90MHZ. Returns the previous speed. You must restore the original speed before the program exits.
I wonder if this means Ndless 3.0 is almost ready?
-
I hope so, although I understand it might be hard to achieve with everything TI did to block it.
If it comes out soon this will make a lot of people happy for school restart, though. We are already getting a bunch of new members lately O.O
-
SolusIpse: it just means they probably won't be any release before v3.0.
-
I just got that code from bwang's raycaster, I guess that was designed for os 1.1. I suppose we could have a single function oc_cpu(bool), where true overclocks, while saving the original speed in a static variable, and false resets the cpu to its original state.
Also, how about functions for accessing the timers (and RTC)?
-
I suppose we could have a single function oc_cpu(bool), where true overclocks, while saving the original speed in a static variable, and false resets the cpu to its original state.
Well, there's more than one overclocking clock frequency, so "bool" wouldn't do :)
Also, how about functions for accessing the timers?
Yeah, it's a good idea to expand the HAL of Ndless.
-
t0xic_kitt3n: are you able to try the set_cpu_speed() function on Ndless's Subversion repository?
I will gladly integate any contribution provided as source code patches, but I unfortunately can't invest time on enhancing libndls myself.
-
I suppose we could have a single function oc_cpu(bool), where true overclocks, while saving the original speed in a static variable, and false resets the cpu to its original state.
Well, there's more than one overclocking clock frequency, so "bool" wouldn't do :)
But I don't really see a need for a program to switch between more that two frequencies - 150mhz for maximum performance, and the default speed for otherwise.
-
I would like nspire CX OS 3.0.2 support
-
That is already being worked on, this thread is more for functions to go in libndls.
Also we could add this (http://ourl.ca/9487/181570) random number function.
-
Hey ExtendeD, what about being able to open the Scratchpad while in a game/program? I'd love that :)
Also, would it be possible to speed up the game like in some computer emulators?
Thanks.
-
Hey ExtendeD, what about being able to open the Scratchpad while in a game/program? I'd love that :)
Integrating Ndless with the OS tasks management would be rather difficult.
But being able to suspend the current program execution and restore it would be possible. Maybe I could expose an API for this?
Also, would it be possible to speed up the game like in some computer emulators?
Programs must implement CPU speed tuning themselves for this, or you can use Nover.
-
But being able to suspend the current program execution and restore it would be possible. Maybe I could expose an API for this?
That would be great, I'd love it.
-
Is this still a valid suggestion thread? If so, I'd love to see a folder for auto-run programs on bootup, for patches and the like, that the user could alter. Maybe also include that "show all directories" patch.
Ndless 3 had a retentive install, right? I think it does...
Also, perhaps a "patch" directory where we have a partial duplicate directory tree. The duplicate tree would be copied over the original upon bootup, files included, replacing old ones.
Edit: tenses, and more suggestions.
-
I believe the topic is still valid, as Ndless is still being worked on (although i believe it's more active when TI blocks it)
-
The startup feature is already supported ;)
-
oh, good. then, a patching program shouldn't be too difficult.
-
What I'm wondering in particular is if Ndless will be ported to the prototypes from which dumps were successfully made. Would the hardware be too different to allow this to happen?
-
First we need to manage to get some code running, and I think then we can focus on porting Ndless.
However, not too many people have a CAS+, so it's not the most important thing to do right now.
-
Would it be possible to add a command or something to add things to the settings menu and other menus/context menus. You could easily modify bootup programs without closing a document or in testing mode.
-
Would it be possible to add a command or something to add things to the settings menu and other menus/context menus
Almost everything is possible, but lots of things are not documented. AFAICT, this one belongs to that class ;)
-
[necro]
Could it be possible for Ndless to run a program when the calc turns on? I don't mean when it boots, but when it just goes to the homescreen.
Thinking about something like a password program, it wouldn't help much to have one that only pops up after the calc reboots :P
-
I thought there were startup programs. For example, you can have nClock launch every time you boot and the little clock will appear.
I also recall that a password program exists for the Nspire...
Edit: Aha! Found it here (http://ourl.ca/15214)
-
I thought there were startup programs. For example, you can have nClock launch every time you boot and the little clock will appear.
I also recall that a password program exists for the Nspire...
Edit: Aha! Found it here (http://ourl.ca/15214)
Yes, but he is not asking for the program to launch on boot, but when turning the calc on ;)
-
This feature could become a security issue without a key combo to bypass it (as it exists for the startup feature). And this one would make the feature useless if the password screen is the only use case.
-
This feature could become a security issue without a key combo to bypass it (as it exists for the startup feature). And this one would make the feature useless if the password screen is the only use case.
It wouldn't be completely useless, since not everybody would know about the key combo.
-
You could still bypass it by rebooting and then pressing the key combo.
-
Tho the vast majority of people wouldn't know the key combo... anyway..
[necro]
I had the Nspire hooked up to the Computer Link and ran a Ndless program, and the Link (and in turn Windows) freaked and the usb hub I had it plugged into was shut off.
Might it be possible, for when a usb cable is plugged in and a ndless program is launched, for the calc to mimic whatever it sends during APD or something like that so the software doesn't start causing problems?
-
Booting up my Clickpad hooked up make it frequently freeze but I can't figure out why.
Your problem is different, I have never heard of anything similar. Which was the Ndless program?
-
It was the Theme Editor ( http://tiplanet.org/forum/archives_voir.php?id=6070 ).
I was thinking it was because the connection between the calc and comp was abruptly cut..?
-
This shouldn't really be a problem.
-
I had the Nspire hooked up to the Computer Link and ran a Ndless program, and the Link (and in turn Windows) freaked and the usb hub I had it plugged into was shut off.
Might it be possible, for when a usb cable is plugged in and a ndless program is launched, for the calc to mimic whatever it sends during APD or something like that so the software doesn't start causing problems?
This was always the case. Until I created my own popups with the TI-Nspire API (syscalls) and discovered that even if we were in an Ndless program, the Link software was able to take screenshots, to send documents etc ... (but not calling the scratchpad)
I plan to make one day a patch for Ndless in order to let people develop their own GUI without recode everything.
(http://i.imgur.com/7ucWe.png)
I've also been able to initialize a new GC and use internal draw commands.
(http://i.imgur.com/Q14XY.png)
The reason I'm not doing the patch right now is because there are bugs in a lot of functions and also I've found that there is a link between designing a GUI and drawing directly stuff on the screen with the GC functions. Sadly I haven't been able to do it.
On the other hand, the scratchpad is a strange popup that I was able to push on the stack but not able to show it inside an Ndless loop (it is called at the exit of the program).
-
Could KEY_NSPIRE_SHIFT and CAPS be merged? I think it's useless to have both.
-
That would cause program incompatibility to fix something that only adds maybe 100 bytes to your compiler setup. It shouldn't affect programs at all, since those are macros, and they're simply #defined into the program as numbers.
-
Other keys have also been merged.
I know that it might not affect compiled programs, but when coding you have to check for both keys if you want your program to be compatible with all models.
Not many existing programs use shift anyway, so it wouldn't cause big incompatibilities.
-
Thanks, it's commited to the SVN head and will be shipped in the next SDK release. KEY_NSPIRE_CAPS is now deprecated.
The key constants are based on http://hackspire.unsads.com/wiki/index.php/Keypads , there might be other mistakes.
-
Lol, I wrote the 84+ key constants about a year and a half ago. Are they still the same?
-
Integrating Ndless with the OS tasks management would be rather difficult.
But being able to suspend the current program execution and restore it would be possible. Maybe I could expose an API for this?
It would be really cool if there was a Windows-like desktop for Ndless, that would just bypass the Nspire OS's UI.
-
Integrating Ndless with the OS tasks management would be rather difficult.
But being able to suspend the current program execution and restore it would be possible. Maybe I could expose an API for this?
It would be really cool if there was a Windows-like desktop for Ndless, that would just bypass the Nspire OS's UI.
You mean ... stuff like this ?
(http://i.imgur.com/VJ9Fn.png)(http://i.imgur.com/7ucWe.png)(http://i.imgur.com/LSyEL.jpg)
As you can fairly see, its possible, just still in development.
Everything works using Ndless and syscalls to OS API. This means you can actually take screenshot from TI-Nspire Computer Link Software of a Ndless program. You also can receive document while you were in the app.
-
What I'm talking about is an XFCE-like desktop interface. Would a simple version of it be possible with Ndless?
-
Well, technically you can run xorg through linux which is in turn run by ndless, but it's not wonderfully fast.
-
is it possible to get nSpire working with different extensions so you won't have to change the every time?
-
Anything you put in the startup folder will run on boot. Not sure if that's what you meant, but it's a good start.
-
is it possible to get nSpire working with different extensions so you won't have to change the every time?
Ihave not understood the request ???
Ndless supports extensions through its cfg file, if that is what you meant
-
I know that, but it's irritating me when transferring files it must always be .tns would be nice if nSpire accepts every extension.
or is this only a restriction of the transfer software?
-
it must always be .tns would be nice if nSpire accepts every extension.
It would indeed be nice if the Nspire exposed standard Mass Storage Device USB class (like the Prizm does) and accepted every extension, but unfortunately, it does not...
-
Most likely a protection TI added. With the PRIZM you can go as far as using the calculator as mass storage device and run portable computer softwares from it. The funny thing is that some computer image files even show up with an image icon, even though they cannot be opened.
-
The funny thing is that some computer image files even show up with an image icon, even though they cannot be opened.
I think they added icons for all the file types that the Prizm can either open or save. For instance, bmp files can be saved (when taking screenshots) but not opened on-calc.
-
or is this only a restriction of the transfer software?
Transfer software restriction, deeply coded in the navnet driver.
-
I don't think it's that big of a deal, personally. At least they didn't set it up to check every file to make sure it's valid.