Omnimaga: The Coders Of Tomorrow
Welcome, Guest. Please login or register.
 
Omnimaga: The Coders Of Tomorrow
20 May, 2013, 10:03:17 *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   home   news downloads projects tutorials misc forums rules new posts irc about Login Register  
+-OmnomIRC

You must Register, be logged in and have at least 40 posts to use this shout-box! If it still doesn't show up afterward, it might be that OmnomIRC is disabled for your group or under maintenance.

Note: You can also use an IRC client like mIRC, X-Chat or Mibbit to connect to an EFnet server and #omnimaga.

Pages: 1 [2] 3   Go Down
  Print  
Author Topic: Secret Nspire OS popups! -  (Read 2397 times) Bookmark and Share
0 Members and 1 Guest are viewing this topic.
Levak
LV8 Addict (Next: 1000)
********
Offline Offline

Gender: Male
Last Login: Today at 02:54:27
Date Registered: 04 April, 2010, 23:42:49
Location: France
Posts: 832


Total Post Ratings: +148

View Profile WWW
« Reply #15 on: 25 June, 2012, 14:52:24 »
+4

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: 25 June, 2012, 15:45:08 by Levak » Logged

Human always wants to survive and that's why he will fall one day.
My website - TI-Planet - iNspired-Lua
shmibs
bonsai bok choy wiseguy waterboy
Administrator
LV10 31337 u53r (Next: 2000)
*
Offline Offline

Last Login: Yesterday at 23:17:55
Date Registered: 11 June, 2010, 19:36:15
Location: 89B6
Posts: 1840


Total Post Ratings: +227

View Profile
« Reply #16 on: 25 June, 2012, 15:35:29 »
0

ooh, fancy =D
what differences are there likely to be between each OS?
Logged



We're not human, are we?
Levak
LV8 Addict (Next: 1000)
********
Offline Offline

Gender: Male
Last Login: Today at 02:54:27
Date Registered: 04 April, 2010, 23:42:49
Location: France
Posts: 832


Total Post Ratings: +148

View Profile WWW
« Reply #17 on: 25 June, 2012, 15:51:32 »
0

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: 25 June, 2012, 15:54:39 by Levak » Logged

Human always wants to survive and that's why he will fall one day.
My website - TI-Planet - iNspired-Lua
ExtendeD
Coder Of Tomorrow
LV8 Addict (Next: 1000)
*
Offline Offline

Gender: Male
Last Login: Yesterday at 21:15:19
Date Registered: 02 January, 2010, 13:03:41
Location: France
Posts: 765

Total Post Ratings: +151

View Profile
« Reply #18 on: 25 June, 2012, 16:03:43 »
0

Nice Levak, this looks promising Smiley
Logged

ndlessly - Progress and insights on Ndless
Ndless / Hackspire - Third-party TI-Nspire development
ElementCoder
LV6 Super Member (Next: 500)
******
Offline Offline

Gender: Male
Last Login: Yesterday at 20:13:24
Date Registered: 22 May, 2011, 17:28:58
Location: Netherlands, Drachten
Posts: 400


Total Post Ratings: +22

View Profile
« Reply #19 on: 25 June, 2012, 16:32:50 »
0

This looks amazing! Nice work. I wish I could do these things.  Undecided
Logged

Calculators owned: TI-Nspire ClickPad (no batteries though Tongue); TI-Nspire CX
Known languages: TI BASIC (Nspire); Java; Lua; C++
Spoiler for Random stuff:

NerdTests.com says I'm a Nerd God.  Click here to take the Nerd Test, get nerdy images and jokes, and write on the nerd forum!


Omni search is down, use http://megapowers.net/v/search.htm instead.
renatose
LV5 Advanced (Next: 300)
*****
Offline Offline

Gender: Male
Last Login: Yesterday at 15:40:52
Date Registered: 17 March, 2011, 21:35:59
Location: Portugal
Posts: 201


Total Post Ratings: +3

View Profile
« Reply #20 on: 25 June, 2012, 16:40:31 »
0

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

Levak
LV8 Addict (Next: 1000)
********
Offline Offline

Gender: Male
Last Login: Today at 02:54:27
Date Registered: 04 April, 2010, 23:42:49
Location: France
Posts: 832


Total Post Ratings: +148

View Profile WWW
« Reply #21 on: 25 June, 2012, 17:22:37 »
0

Sadly my computer burned to death after I received a mail from TI. It _can't_ be the mail, obviously !



j/k
Logged

Human always wants to survive and that's why he will fall one day.
My website - TI-Planet - iNspired-Lua
Hayleia
Programming Absol
LV11 Super Veteran (Next: 3000)
***********
Offline Offline

Last Login: Yesterday at 19:28:05
Date Registered: 01 June, 2011, 20:12:47
Location: ud-ud ?
Posts: 2043


Total Post Ratings: +254

View Profile
« Reply #22 on: 25 June, 2012, 17:40:07 »
0

It looks very interesting Smiley

I'd also like to know more about nEditor and nFrame Wink
Logged





Spoiler for what I am according to...:
me: useless
Pokemon Test: an Absol
turiqwalrus: an eggplant
p2: A HUMAN BEING !
Blackpilar and p2: iplantonlyplantwantplanttoplantknowplantifplantyouplantareplantaplantboyplantorplantaplantgirlplant
click here to know where you got your last +1s
Levak
LV8 Addict (Next: 1000)
********
Offline Offline

Gender: Male
Last Login: Today at 02:54:27
Date Registered: 04 April, 2010, 23:42:49
Location: France
Posts: 832


Total Post Ratings: +148

View Profile WWW
« Reply #23 on: 25 June, 2012, 18:48:28 »
0

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: 25 June, 2012, 18:49:54 by Levak » Logged

Human always wants to survive and that's why he will fall one day.
My website - TI-Planet - iNspired-Lua
renatose
LV5 Advanced (Next: 300)
*****
Offline Offline

Gender: Male
Last Login: Yesterday at 15:40:52
Date Registered: 17 March, 2011, 21:35:59
Location: Portugal
Posts: 201


Total Post Ratings: +3

View Profile
« Reply #24 on: 25 June, 2012, 19:30:40 »
0

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

Levak
LV8 Addict (Next: 1000)
********
Offline Offline

Gender: Male
Last Login: Today at 02:54:27
Date Registered: 04 April, 2010, 23:42:49
Location: France
Posts: 832


Total Post Ratings: +148

View Profile WWW
« Reply #25 on: 25 June, 2012, 19:38:22 »
0

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

Human always wants to survive and that's why he will fall one day.
My website - TI-Planet - iNspired-Lua
DJ Omnimaga
Retired Omnimaga founder (Site issues must be PM'ed to Netham45, Eeems, Shmibs, Deep Thought and AngelFish, not me.)
Editor
LV15 Omnimagician (Next: --)
*
Offline Offline

Gender: Male
Last Login: Today at 05:36:37
Date Registered: 25 August, 2008, 07:00:21
Location: Québec (Canada)
Posts: 50204


Total Post Ratings: +2611

View Profile WWW
« Reply #26 on: 25 June, 2012, 19:53:04 »
0

Looks pretty great, but one of the screenshot made me lose The Game. <_<
Logged

Retired 83+ coder, Omnimaga/TIMGUL founder. Now doing power metal music (formerly did electronica)

Follow me on Bandcamp|Facebook|Reverbnation|Youtube|Twitter|Myspace
blue_bear_94
LV7 Elite (Next: 700)
*******
Offline Offline

Gender: Male
Last Login: Today at 05:12:16
Date Registered: 09 May, 2012, 02:45:26
Location: Earth
Posts: 582


Total Post Ratings: +3

View Profile
« Reply #27 on: 26 June, 2012, 17:39:31 »
0

I lost the game.
Logged


Kraphyko (TI-89 Image Editor) 80%
Starvak 2 1%
TI-84+SE User (2.55 MP 2.43)
TI-89 Titanium User (3.10)
Casio Prizm User (1.02)
Spoiler for Programming Languages:
TI-83+ Basic - 4
TI-83+ Asm - 1
TI-89 Basic - 2
TI-89 C - 2.5
Computer C - 2
GameMaker - 3
Java - 1.5
Racket - 3
Scala - 1
Le jeu.
Spoiler for Ultimate Internet Meme:
<a href="http://www.youtube.com/watch?v=zOMvDCRWBLI" target="_blank">http://www.youtube.com/watch?v=zOMvDCRWBLI</a>
Spoiler for Banner:
This server is always updated to the newest snapshot. Please don't try to join it on 1.4.7.
Sunrise 3 will have to wait till about a week later.
Spoiler for hellowld.radiation:
<< stdradiation

I must have had too much radiation for breakfast...I must have had too much radiation for breakfast...I must have had too much radiation for breakfast...I must have had too much radiation for breakfast... XDXD[I must have had too much radiation for breakfast...I must have had too much radiation for breakfast...I must have had too much radiation for breakfast...I must have had too much radiation for breakfast... Crazy, I must have had too much radiation for breakfast... Evil Laugh CrazyBig smile]
 Cheesy({ MadSmileySmileySadSmileySadSadSad, MadSmileySmileySadSadSmileySadSmiley,
 MadSmileySmileySadSmileySmileySadSad, MadSmileySmileySadSmileySmileySadSad,
 MadSmileySmileySadSmileySmileySmileySmiley, MadSmileySadSadSadSadSad,
 MadSmileySmileySmileySadSmileySmileySmiley, MadSmileySmileySadSmileySmileySmileySmiley,
 MadSmileySmileySmileySadSadSmileySmiley, MadSmileySmileySadSmileySmileySadSad,
 MadSmileySmileySadSadSmileySadSad, MadSad});
Levak
LV8 Addict (Next: 1000)
********
Offline Offline

Gender: Male
Last Login: Today at 02:54:27
Date Registered: 04 April, 2010, 23:42:49
Location: France
Posts: 832


Total Post Ratings: +148

View Profile WWW
« Reply #28 on: 27 June, 2012, 16:48:36 »
0

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

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

Human always wants to survive and that's why he will fall one day.
My website - TI-Planet - iNspired-Lua
Levak
LV8 Addict (Next: 1000)
********
Offline Offline

Gender: Male
Last Login: Today at 02:54:27
Date Registered: 04 April, 2010, 23:42:49
Location: France
Posts: 832


Total Post Ratings: +148

View Profile WWW
« Reply #29 on: 27 June, 2012, 20:42:06 »
+3


I know you want a Theme editor now Wink
Logged

Human always wants to survive and that's why he will fall one day.
My website - TI-Planet - iNspired-Lua
Pages: 1 [2] 3   Go Up
  Print  
 
Jump to:  

Powered by EzPortal
Powered by MySQL Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Powered by PHP
Page created in 0.656 seconds with 30 queries.
Skin by DJ Omnimaga edited from SMF default theme with the help of tr1p1ea.
All programs, games and songs avaliable on this website are property of their respective owners.
Best viewed in Opera, Firefox, Chrome and Safari with a resolution of 1024x768 or above.