Author Topic: Secret Nspire OS popups!  (Read 14083 times)

0 Members and 1 Guest are viewing this topic.

Offline Levak

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1002
  • Rating: +208/-39
    • View Profile
    • My website
Re: Secret Nspire OS popups!
« Reply #15 on: June 25, 2012, 08:52:24 am »
Back again, water flowed under the bridge, I've added the String API used by the OS to the upcoming Ndless and that let me fix asegfault with the previous show_msg_user_input, I'm also trolling at the maximum level the GUI API used by the OS in order to create any kind of popup we want. A huge part of the OS is now known because of the use of theses functions.

I tooks 3 month in order to have something reliable AND customizable.

Here are some examples :





But one important notice : Things are not ready yet to be published as a fully working API in Ndless since I know there are more functions and some of the functions haven't been fully tested. More and more I'm discovering things, because the more functions you have, the more function you find, this is a basic fact of reverse engineering.

I've recently added the support of customizable icons which is not simple and expandable in a way that it modifies the OS directly in RAM when you launch the program. The icons are indeed used by id and resource id by the OS, and the resources are preloaded in RAM. The only way to use custom icons is to hijack a resource that is not used and use it =).

Also, since it is only OS functions (or syscalls if you want) this project was at first only for reverse engineering purposes, but since it is easy to use when documented (JFrame like), I was intended to make a little API for Ndless. Again, since it is syscalls based, each Nspire has to be reverse engineered as well (tnc, tno, tco, tcc) and for each OS version as well ... (3.1, 3.2 ?)
And since there are like 100 fonctions ... it is 400 syscalls to find by hand \o/ If Ndless 3.2 comes, it is 800 to find \o/     _o\     /o_

Anyway, enjoy the feeling of evolution in the Ndless programming.
« Last Edit: June 25, 2012, 09:45:08 am by Levak »
I do not get mad at people, I just want them to learn the way I learnt.
My website - TI-Planet - iNspired-Lua

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Secret Nspire OS popups!
« Reply #16 on: June 25, 2012, 09:35:29 am »
ooh, fancy =D
what differences are there likely to be between each OS?

Offline Levak

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1002
  • Rating: +208/-39
    • View Profile
    • My website
Re: Secret Nspire OS popups!
« Reply #17 on: June 25, 2012, 09:51:32 am »
what differences are there likely to be between each OS?

Offsets in Syscalls... But we can't know in advance if there are adds that make the functions longer or smaller, so we have to search for them all.
What will help is that a bunch of theses are grouped in 2 major places that make them easy to find in all OSes.

Obviously, it is a painful work but fast, contrary to the reverse engineering part where you have to understand the function goal by look at the ASM code, by the effects it does, or by the arguments other functions gives.
What's awesomly hard is to search the meaning of get/set functions that exists in over 9000 versions. Indeed, it only set or get a value in a specific offset of the object structure. But what does tell you what the object is in ASM ? Only the uses other functions that use this offset in the object ... only when there are other functions that use this offset, which is not the case for most of the get/set functions that actually exists.

In other words, the GUI API of the OS is most likely awesome but not fully exploited by TI : We can't use those unused functions for now, because we don't know how they work.
« Last Edit: June 25, 2012, 09:54:39 am by Levak »
I do not get mad at people, I just want them to learn the way I learnt.
My website - TI-Planet - iNspired-Lua

Offline ExtendeD

  • CoT Emeritus
  • LV8 Addict (Next: 1000)
  • *
  • Posts: 825
  • Rating: +167/-2
    • View Profile
Re: Secret Nspire OS popups!
« Reply #18 on: June 25, 2012, 10:03:43 am »
Nice Levak, this looks promising :)
Ndless.me with the finest TI-Nspire programs

Offline ElementCoder

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 611
  • Rating: +42/-2
    • View Profile
Re: Secret Nspire OS popups!
« Reply #19 on: June 25, 2012, 10:32:50 am »
This looks amazing! Nice work. I wish I could do these things.  :-\

Some people need a high five in the face... with a chair.
~EC

Offline renatose

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 209
  • Rating: +4/-0
  • watch out the power balls
    • View Profile
Re: Secret Nspire OS popups!
« Reply #20 on: June 25, 2012, 10:40:31 am »
wow this is absolutely great and awesome! keep up this great work Levak!
(and don't forget to make backups or to use git or something like that)

Offline Levak

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1002
  • Rating: +208/-39
    • View Profile
    • My website
Re: Secret Nspire OS popups!
« Reply #21 on: June 25, 2012, 11:22:37 am »
Sadly my computer burned to death after I received a mail from TI. It _can't_ be the mail, obviously !



j/k
I do not get mad at people, I just want them to learn the way I learnt.
My website - TI-Planet - iNspired-Lua

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Secret Nspire OS popups!
« Reply #22 on: June 25, 2012, 11:40:07 am »
It looks very interesting :)

I'd also like to know more about nEditor and nFrame ;)
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline Levak

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1002
  • Rating: +208/-39
    • View Profile
    • My website
Re: Secret Nspire OS popups!
« Reply #23 on: June 25, 2012, 12:48:28 pm »
nFrame is the name of my GUI API (like "JFrame") and has demos like nEditor, minesweeper and The game, in order to test everything the best I can.
nEditor is just a basic text editor that opens a file as text, fills a MLTextEntry, where you can edit, add mathboxes, Ctrl+X, Ctrl+V, Ctrl+C etc ... (since it is the OS that handles that, but sadly, no Ctrl+Z), save and that's all. For now, only the Open and Save buttons are linked. The "Tools" button links to the "The Game" frame. The other buttons does nothing, just buttons I've planned to link in the future.

« Last Edit: June 25, 2012, 12:49:54 pm by Levak »
I do not get mad at people, I just want them to learn the way I learnt.
My website - TI-Planet - iNspired-Lua

Offline renatose

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 209
  • Rating: +4/-0
  • watch out the power balls
    • View Profile
Re: Secret Nspire OS popups!
« Reply #24 on: June 25, 2012, 01:30:40 pm »
What about writing functions for accessing that from the TI BASIC so it could be useful for something funny...
In the future, after you release it.

Offline Levak

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1002
  • Rating: +208/-39
    • View Profile
    • My website
Re: Secret Nspire OS popups!
« Reply #25 on: June 25, 2012, 01:38:22 pm »
What about writing functions for accessing that from the TI BASIC so it could be useful for something funny...
In the future, after you release it.
I already plan to make it accessible through Lua with the Lua extension Ndless feature because I know it is possible. I don't know for TI-Basic and I'm a bit afraid it is not only an enumeration with commands but more than that. I have no idea.
I do not get mad at people, I just want them to learn the way I learnt.
My website - TI-Planet - iNspired-Lua

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Secret Nspire OS popups!
« Reply #26 on: June 25, 2012, 01:53:04 pm »
Looks pretty great, but one of the screenshot made me lose The Game. <_<

Offline blue_bear_94

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 801
  • Rating: +25/-35
  • Touhou Enthusiast / Former Troll / 68k Programmer
    • View Profile
Re: Secret Nspire OS popups!
« Reply #27 on: June 26, 2012, 11:39:31 am »
I lost the game.
Due to dissatisfaction, I will be inactive on Omnimaga until further notice. (?? THP hasn't been much success and there's also the CE. I might possibly be here for a while.)
If you want to implore me to come back, or otherwise contact me, I can be found on GitHub (bluebear94), Twitter (@melranosF_), Reddit (/u/Fluffy8x), or e-mail (if you know my address). As a last resort, send me a PM on Cemetech (bluebear94) or join Touhou Prono (don't be fooled by the name). I've also enabled notifications for PMs on Omnimaga, but I don't advise using that since I might be banned.
Elvyna (Sunrise) 4 5%
TI-84+SE User (2.30 2.55 MP 2.43)
TI-89 Titanium User (3.10)
Casio Prizm User? (1.02)
Bag  東方ぷろの

Offline Levak

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1002
  • Rating: +208/-39
    • View Profile
    • My website
Re: Secret Nspire OS popups!
« Reply #28 on: June 27, 2012, 10:48:36 am »
I have fixed a segfault issue due to the manipulation of the Menus and discovered that the gui_MenuFrame_setPosition() was in fact applicable to Frames (popups) and that the MenuFrame were in fact Frames... :D

The only "problem" I face is that the MenuFrames I've found are the one in the Ctrl+I/N menu and the G&G app. The other apps such as Calculous or Lua toolpalette cannot be found for now evenif there are so close graphically to the other MenuFrames =(

This may show that TI has designed the Frame system twice ...
I do not get mad at people, I just want them to learn the way I learnt.
My website - TI-Planet - iNspired-Lua

Offline Levak

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1002
  • Rating: +208/-39
    • View Profile
    • My website
Re: Secret Nspire OS popups!
« Reply #29 on: June 27, 2012, 02:42:06 pm »

I know you want a Theme editor now ;)
I do not get mad at people, I just want them to learn the way I learnt.
My website - TI-Planet - iNspired-Lua