Omnimaga

Omnimaga => News => Topic started by: apcalc on April 12, 2011, 10:12:56 pm

Title: Lua on the Nspire?
Post by: apcalc on April 12, 2011, 10:12:56 pm
Earlier today, Texas Instruments introduced a seemingly innocent Periodic Table (http://ti.bank.free.fr/index.php?mod=archives&ac=voir&id=3211) TNS Document for the Nspire.

(http://www.techpoweredmath.com/wp-content/uploads/2011/04/nspire-periodic-table.jpg)

At first usage of the "Periodic Table" page of this document, it is clear that it certainly could not be created with any of the existing Applications for the TI-Nspire.  After more investigations by members of TI-BANK (http://ti.bank.free.fr/index.php?mod=news&ac=commentaires&id=1042) it has become evident that TI used a new, mysterious application, "TI.ScriptApp", to develop this Periodic Table.  Furthermore, more searching into this tns file has shown that this language very well may be Lua (http://www.lua.org/).

Sadly, Texas Instruments has released no indication of allowing public users of the Nspire to develop using the "ScriptApp" application.  It is probably safe to assume that special SDK software is needed for easy development of these documents.  Nevertheless, having the ability to program in Lua on the Nspire offers many possibilities for Nspire developers.  Although it might be difficult to make an emulator in Lua, games such as simple Card Games (solitaire) and puzzle games (Block Dude) might be easily developed in this language!
Title: Re: Lua on the Nspire?
Post by: ralphdspam on April 12, 2011, 10:21:36 pm
Hmm.  Very interesting.  Maybe TI will give us programming capabilities on the new Nspire.  I sure hope so. 
Unfortunately, it will probably be like programming with a cinderblock on our backs.

I also wonder who on Omni knows Lua.
Title: Re: Lua on the Nspire?
Post by: ruler501 on April 12, 2011, 10:23:41 pm
If It is Lua it isn't the fastest or the best language but it is a useful portable language. We should be able to get quite a few good programs written with it if/when TI releases the SDK for it. The only question is how much they're going to expect us to pay for it.
Title: Re: Lua on the Nspire?
Post by: ralphdspam on April 12, 2011, 10:27:33 pm
Is Lua interpreted?  I wonder if TI would let us edit it on calc.  If they release the SDK for free, I will be even more tempted to buy a CX.
Title: Re: Lua on the Nspire?
Post by: jnesselr on April 12, 2011, 10:28:32 pm
Is Lua interpreted?  I wonder if TI would let us edit it on calc.  If they release the SDK for free, I will be even more tempted to buy a CX.
Yes, it's an interpreted scripting language.
Title: Re: Lua on the Nspire?
Post by: ruler501 on April 12, 2011, 10:29:45 pm
If Lua is what I think it is. It is a programming language much like python just slower and less powerful(I do not mean to be putting down the language this is just what I have heard). I hope for an on calc editor maybe with a debugger also. I doubt very much that they will release the SDK for free though. There is too much interest in it for them not to try to market it. They are TI after all
Title: Re: Lua on the Nspire?
Post by: Ashbad on April 12, 2011, 10:32:33 pm
In case no ones knows the syntax of Lua, I can tell you firsthand that any BASIC users would be able to pick it up fast -- it does have powerful features such as tables and methods, but these are implemented so that anyone can use them comfortably and with ease.
Title: Re: Lua on the Nspire?
Post by: DJ Omnimaga on April 12, 2011, 10:33:23 pm
Hmm interesting. If only TI would make it available to public instead of just the limited TI-BASIC...

In any case, if it's really Lua, do you think a third-party Lua IDE could be written by the community, like SimonLothar and others are doing with the Prizm?

By the way Lua is available on the Casio Classpad 300 and I think there was a project about porting it to the FX-9860G too (which would obviously mean Prizm later too).
Title: Re: Lua on the Nspire?
Post by: Ashbad on April 12, 2011, 10:35:29 pm
I think lua is actually an extremely simple thing t port -- and its really lightweight :)
Title: Re: Lua on the Nspire?
Post by: jnesselr on April 12, 2011, 10:35:51 pm
It could definitely (and I would stake $100 on it, but not for reals) and will be written if TI doesn't make one.
Title: Re: Lua on the Nspire?
Post by: DJ Omnimaga on April 12, 2011, 10:38:03 pm
Do you think TI could purposely limit its features, though, to discourage game development? I wouldn't be surprised, for example, if they totally got rid of any getkey or pixel/line drawing command...

Also I wonder if it will be any faster than TI-Nspire BASIC...
Title: Re: Lua on the Nspire?
Post by: jnesselr on April 12, 2011, 10:40:05 pm
Do you think TI could purposely limit its features, though, to discourage game development? I wouldn't be surprised, for example, if they totally got rid of any getkey or pixel/line drawing command...

Also I wonder if it will be any faster than TI-Nspire BASIC...
Yes, they could limit it in their IDE by simply not allowing certain commands, and I'm sure they would to a point.  But not entirely as well.  The problem will be if these have an RSA signature or something.

And I think it'll be faster than TI-Nspire BASIC.
Title: Re: Lua on the Nspire?
Post by: ruler501 on April 12, 2011, 10:40:42 pm
how can anything be slower than Nspire BASIC?
Title: Re: Lua on the Nspire?
Post by: jnesselr on April 12, 2011, 10:41:31 pm
how can anything be slower than Nspire BASIC?
True.  A three-toed sloth going across the US from east coast to west coast would finish before the NSpire could count to 999.
Title: Re: Lua on the Nspire?
Post by: ruler501 on April 12, 2011, 10:43:05 pm
My calculator crashed(took to long so I turned it off by taking the keypad out) when I tried to run a factoring program on it
I was only trying to factor 10000 as a test
Title: Re: Lua on the Nspire?
Post by: ralphdspam on April 12, 2011, 10:43:30 pm
Well, they would have enough power to program the periodic table app.
Even if they don't release an SDK, we would still have their libs to use.

Also, I am not going to jump on any conclusions at all.  All of my statements are pure speculation. 
Title: Re: Lua on the Nspire?
Post by: AngelFish on April 12, 2011, 10:45:25 pm
how can anything be slower than Nspire BASIC?
True.  A three-toed sloth going across the US from east coast to west coast would finish before the NSpire could count to 999.

Both of which would finish before the Prizm could draw a stick figure :P
Title: Re: Lua on the Nspire?
Post by: jnesselr on April 12, 2011, 11:01:44 pm
how can anything be slower than Nspire BASIC?
True.  A three-toed sloth going across the US from east coast to west coast would finish before the NSpire could count to 999.

Both of which would finish before the Prizm could draw a stick figure :P
I thought the line width was too thick to draw a decent stick figure? That would be awful if one line took up the entire screen.

I would yell at Qwerty.55 to get working on AXE for prizm, but... I have a feeling he'd need an assembler for that...
/me goes back to work...
Title: Re: Lua on the Nspire?
Post by: Freyaday on April 12, 2011, 11:14:27 pm
Yay, possibilties!/me is a little late to the prty.
Title: Re: Lua on the Nspire?
Post by: z80man on April 12, 2011, 11:39:47 pm
how can anything be slower than Nspire BASIC?
True.  A three-toed sloth going across the US from east coast to west coast would finish before the NSpire could count to 999.

Both of which would finish before the Prizm could draw a stick figure :P
Speaking of which how fast can a Prizm draw a stick figure. Well the answer to that is 2.75 seconds meaning that the three toed sloth must be traveling faster than 3,927,272 miles per hour!  O.O That's one fast sloth and one frickin slow calc.  :P

(http://img.removedfromgame.com/imgs/stickfigure.bmp)
Title: Re: Lua on the Nspire?
Post by: DJ Omnimaga on April 13, 2011, 03:01:05 am
Yeah prizm BASIC is really slow. X.x

I'm glad Lua on the Nspire isn't too slow, at least from what I could see from Goplat's game.

I'll post a news about it I think.
Title: Re: Lua on the Nspire?
Post by: Munchor on April 13, 2011, 04:16:29 am
Hmm.  Very interesting.  Maybe TI will give us programming capabilities on the new Nspire.  I sure hope so. 
Unfortunately, it will probably be like programming with a cinderblock on our backs.

I also wonder who on Omni knows Lua.

Ashbad and I do, at least.
Title: Re: Lua on the Nspire?
Post by: BrownyTCat on April 13, 2011, 11:13:38 am
Hmm.  Very interesting.  Maybe TI will give us programming capabilities on the new Nspire.  I sure hope so. 
Unfortunately, it will probably be like programming with a cinderblock on our backs.

I also wonder who on Omni knows Lua.

Ashbad and I do, at least.

I also know Lua, and knowing how TI doesn't like us anymore, it will probably have horrid processing speed, even compared to an 81.
Title: Re: Lua on the Nspire?
Post by: aeTIos on April 13, 2011, 11:16:42 am
You won't know...
I like your avatar ;D
Title: Re: Lua on the Nspire?
Post by: BrownyTCat on April 13, 2011, 11:19:14 am
I saw the preview and can give it this much: Huge improvement over nSpire BASIC.
Title: Re: Lua on the Nspire?
Post by: aeTIos on April 13, 2011, 11:19:40 am
That at least.
Title: Re: Lua on the Nspire?
Post by: Lionel Debroux on April 13, 2011, 11:22:22 am
Something with better functionality than the Nspire's BASIC was not a difficult concept, but it took TI only more than three years to do it :D
Title: Re: Lua on the Nspire?
Post by: aeTIos on April 13, 2011, 11:25:43 am
Lol, yeah. So Lua can do anything it can do on computer, but interpreted?
Title: Re: Lua on the Nspire?
Post by: Lionel Debroux on April 13, 2011, 11:33:30 am
It depends on how complete the standard lib embedded into the Nspire's interpreter is, I guess.
Title: Re: Lua on the Nspire?
Post by: BrownyTCat on April 13, 2011, 11:36:13 am
I always wondered: How do people make those functions that come in the lib, the first ones with no dependencies? Probably a ton of strenuous hard-coding.
Title: Re: Lua on the Nspire?
Post by: aeTIos on April 13, 2011, 11:39:18 am
Yep. think of it like
Code: [Select]
-repeat this for each token-
if string=token
code
end
Title: Re: Lua on the Nspire?
Post by: BrownyTCat on April 13, 2011, 11:41:28 am
Well then...  :o

I call not first candidate for hacking in more functions!
Title: Re: Lua on the Nspire?
Post by: Lionel Debroux on April 13, 2011, 11:42:49 am
The Lua interpreter itself is open source, and a fairly small code base with good portability :)
Title: Re: Lua on the Nspire?
Post by: aeTIos on April 13, 2011, 11:42:50 am
oh, but they've been working on it with >10 ppl, I think, and not only on that.
(Someone should make a TI-8x Lua interpreter in Axe/Asm)
Title: Re: Lua on the Nspire?
Post by: BrownyTCat on April 13, 2011, 11:44:08 am
Portable code is fun to play with...
Until you brick everything :/
Title: Re: Lua on the Nspire?
Post by: aeTIos on April 13, 2011, 11:45:45 am
mhm you can brick your calc with everything... just be careful
Title: Re: Lua on the Nspire?
Post by: BrownyTCat on April 13, 2011, 11:47:42 am
That being the reason for emulators.
Title: Re: Lua on the Nspire?
Post by: Freyaday on April 13, 2011, 12:13:27 pm
Wait, Lua is interpreted? I thought it was compiled?
Title: Re: Lua on the Nspire?
Post by: BrownyTCat on April 13, 2011, 12:48:01 pm
Interpreter?! CRAP!  :mad: <--umad

EDIT to add clarity: I am generally not good with interpreters. I am not trying to degrade them in any way, shape or form. Thank you for your negative ratings. Seriously, I don't mind.
Title: Re: Lua on the Nspire?
Post by: aeTIos on April 13, 2011, 01:42:13 pm
Not all interpreters are crap. Some are.
Title: Re: Lua on the Nspire?
Post by: Ashbad on April 13, 2011, 01:43:56 pm
I don't think it's a wise thing to bash interpreters :P  Some, like Lua, are extremely powerful.

This actually seems it could be extremely awesome -- Lua is a really fun language to code in :) I haven't coded in it for a while, but it's fast enough to fulfill most of your needs, including game coding.
Title: Re: Lua on the Nspire?
Post by: z80man on April 13, 2011, 02:10:32 pm
Even though Lua is a little bit slower than python and the libraries aren't as extensive, the good thing is that an interpreter is much easier to make and is well designed for less powerful systems such as calcs. Python would still be good to see, but it would be hell to code all of that OOP in an interpreted platform.
Title: Re: Lua on the Nspire?
Post by: DJ Omnimaga on April 13, 2011, 04:00:54 pm
I wonder how Nspire Lua speed compares to TI-BASIC... someone should try making a program that draws the RPG stuff in Jhgenius01 game to compare. It's definitively better than nothing.

I wonder if in the future it could be possible to port Lua files between the TI-Nspire and Casio Classpad? The screen size differences might sometimes be an issue, though...
Title: Re: Lua on the Nspire?
Post by: Yeong on April 13, 2011, 04:01:30 pm
for a=1,10 do
print("That would be awesome")
end
Title: Re: Lua on the Nspire?
Post by: ExtendeD on April 13, 2011, 04:16:14 pm
Interesting, I was actually trying to port it. A decent console was probably just what was missing to make it work.
Title: Re: Lua on the Nspire?
Post by: Snake X on April 13, 2011, 04:16:37 pm
hmmm, I only know lua to program models in this game called Rigid Chips. It's the same lua, but im not sure how to do like programs
Title: Re: Lua on the Nspire?
Post by: willrandship on April 13, 2011, 11:12:33 pm
yeah, basically those games (GMod has it too, and a bunch of others) use their own custom libs that interface with the game's engine, allowing for programs with Game output. It's pretty cool!
Title: Re: Lua on the Nspire?
Post by: Builderboy on April 13, 2011, 11:15:13 pm
There are lost of good interpreted languages out there :) Java is one! 

And before you say its compiled, know that it is 'compiled' into bytecode, not assembly, and then it is interpreted :P
Title: Re: Lua on the Nspire?
Post by: willrandship on April 13, 2011, 11:16:08 pm
Which is also what Java, TI-86 BASIC, and a few other langs do.
Title: Re: Lua on the Nspire?
Post by: z80man on April 14, 2011, 01:03:22 am
Earlier I was thinking about creating a new version of Casio BASIC for the Prizm that was still interpreted, but was tokenized before running and extremely fast. It would be easier to learn than Java (which is also in development) as it would be just the BASIC language and would be safer and still easier than the currently being developed Axe port. But now if I'm wondering if I should lean more to Lua/python side for the easier to write code. The only downside is that I might have to give up the on-calc coding coding which is a big plus.
Title: Re: Lua on the Nspire?
Post by: Lionel Debroux on April 14, 2011, 02:26:31 am
Lua is usually considered a good choice for embedded platforms, indeed. The Lua runtime doesn't have too high requirements, in terms of API breadth and code consumption.
I tried to compile it yesterday evening for the TI-68k/AMS platform, which revealed that it needs strtod, errno, stdin, stderr (and, I guess, stdout, though that one didn't appear in the file that made me give up). PedroM and Punix are nearer from a POSIX platform, Lua may be easier to port on them.
Title: Re: Lua on the Nspire?
Post by: willrandship on April 14, 2011, 02:32:02 am
Considering the 86 had a much worse CPU, its BASIC is really fast. It's as fast as 83+ BASIC I daresay. But, you'd have huge source because of the ASCII-Based coding. Fortunately there was the 96k of ram, but no archive X(

Lua seems nice enough, basically fancy basic. Can we have more than one XML per doc, say, in problem2?
Title: Re: Lua on the Nspire?
Post by: Lionel Debroux on April 14, 2011, 02:37:30 am
Quote
Lua seems nice enough, basically fancy basic. Can we have more than one XML per doc, say, in problem2?
I don't have time to test that right now, and won't have before tonight at best.
But feel free to beat me, using manual hex editing, or further modification with AdRiWeB's Lua -> TNS converter, which I modified to take arguments ( http://tibank.forumactif.com/t6885p30-topolangage-script-ti-os-30-enfin-un-langage-api#109335 ) :)
Title: Re: Lua on the Nspire?
Post by: willrandship on April 14, 2011, 02:43:09 am
Still can't :P no OS 3.0 on mine, prob. won't be for a while, I've got a big Axe project now. Unless it supports 1.4, then I'd do it.
Title: Re: Lua on the Nspire?
Post by: DJ Omnimaga on April 14, 2011, 03:31:37 am
Considering the 86 had a much worse CPU, its BASIC is really fast. It's as fast as 83+ BASIC I daresay. But, you'd have huge source because of the ASCII-Based coding. Fortunately there was the 96k of ram, but no archive X(

Lua seems nice enough, basically fancy basic. Can we have more than one XML per doc, say, in problem2?
Really? I ran the exact same program on my TI-82, 83, 83+, 85 and 86 once, and the 86 version ran about 1.5 times slower ??? . I heard it was because of the paged RAM memory.
Title: Re: Lua on the Nspire?
Post by: Adriweb on April 14, 2011, 03:43:53 pm
All right, I'll also write here what I found with some "hacks" :

I'm able to kind of "dump" some lua functions in the API.

here's a screenshot for example

(http://i27.servimg.com/u/f27/11/67/13/30/captur12.jpg)

So far, I found some functions, tables, read-only values etc. like

"Platform" (table) -> apilevel, window, isDeviceModeRendering, gc, isColorDisplay.

"gc" (graphics component/controller) -> drawArc, clipRect, setColorRGB, drawLine, getStringHeight, drawImage, fillPolygon, begin, setPen, setFont, drawPolyLine, drawString, fillArc, finish

_G (which is temporary but can be interesting) -> _G, _VERSION, assert, class, clipboard, collectgarbage, coroutine, cursor, D2Editor, document, error, gcinfo, getfenv, image, ipairs, load, loadstring, locale, math, newproxy, next, on, pairs, pcall, platform, print, rawequal, rawget, rawset, select, setfenv, setmetatable, string, table, timer, tonumber, toolpalette, var, xpcall (and some more, like functions I defined)
Title: Re: Lua on the Nspire?
Post by: ExtendeD on April 14, 2011, 04:59:07 pm
Some of the last ones are actually standard functions (http://pgl.yoyo.org/luai/i/5.1+Basic+Functions).
Title: Re: Lua on the Nspire?
Post by: Adriweb on April 14, 2011, 05:00:52 pm
Some of the last ones are actually standard functions (http://pgl.yoyo.org/luai/i/5.1+Basic+Functions).

yep

And I managed to improve the dump program to show the whole (well, a big part) structure of the api (including lua's standard) :

Quote
-> Examining 'table: 0x58cef0
**** string  (table: 0x585f60)
 -> Examining 'table: 0x585f60
-------- split  (function: 0x57ced0)
-------- match  (function: 0x56e8b0)
-------- gmatch  (function: 0x576ec0)
-------- upper  (function: 0x591270)
-------- gsub  (function: 0x5bce10)
-------- format  (function: 0x576e40)
-------- lower  (function: 0x5bce90)
-------- sub  (function: 0x591230)
-------- usub  (function: 0x57ce90)
-------- gfind  (function: 0x576e80)
-------- find  (function: 0x59e110)
-------- char  (function: 0x59e090)
-------- dump  (function: 0x59e0d0)
-------- reverse  (function: 0x56e930)
-------- byte  (function: 0x585f80)
-------- uchar  (function: 0x598450)
-------- len  (function: 0x5bce50)
-------- rep  (function: 0x56e8f0)
 
**** xpcall  (function: 0x590f60)
**** tostring  (function: 0x584930)
**** print  (function: 0x55ec80)
**** tellme7  (function: 0x5920d0)
**** image  (table: 0x5c4840)
 -> Examining 'table: 0x5c4840
-------- copy  (function: 0x592e80)
-------- new  (function: 0x592f30)
-------- height  (function: 0x5c4860)
-------- __index  (table: 0x5c4840)
-------- __gc  (function: 0x5c4880)
-------- width  (function: 0x5c48a0)
 
**** unpack  (function: 0x590f00)
**** getfenv  (function: 0x58cf10)
**** tellme5  (function: 0x592090)
**** tellme6  (function: 0x5920b0)
**** setmetatable  (function: 0x5848b0)
**** next  (function: 0x585950)
**** assert  (function: 0x592960)
**** tellme2  (function: 0x59bcd0)
**** tonumber  (function: 0x5848f0)
**** rawequal  (function: 0x585350)
**** dump  (function: 0x5aa9f0)
**** collectgarbage  (function: 0x5d8ed0)
**** gcinfo  (function: 0x5d8f30)
**** getmetatable  (function: 0x5bc840)
**** document  (table: 0x5983b0)
 -> Examining 'table: 0x5983b0
-------- markChanged  (function: 0x5983f0)
 
**** tellme8  (function: 0x5acca0)
**** timer  (table: 0x582570)
 -> Examining 'table: 0x582570
-------- start  (function: 0x582590)
-------- getMilliSecCounter  (function: 0x5825b0)
-------- stop  (function: 0x5825d0)
 
**** tellme3  (function: 0x59bcf0)
**** coroutine  (table: 0x57f7f0)
 -> Examining 'table: 0x57f7f0
-------- resume  (function: 0x592840)
-------- yield  (function: 0x5ddb30)
-------- status  (function: 0x5928c0)
-------- wrap  (function: 0x5ddaf0)
-------- create  (function: 0x592940)
-------- running  (function: 0x592880)
 
**** tellme9  (function: 0x5c8d70)
**** rawset  (function: 0x5853d0)
**** _VERSION  (Lua 5.1)
**** table  (table: 0x5c3760)
 -> Examining 'table: 0x5c3760
-------- setn  (function: 0x57cde0)
-------- insert  (function: 0x5725e0)
-------- getn  (function: 0x572560)
-------- foreachi  (function: 0x5c37c0)
-------- maxn  (function: 0x5725a0)
-------- foreach  (function: 0x5c3780)
-------- concat  (function: 0x562410)
-------- sort  (function: 0x57ce20)
-------- remove  (function: 0x57cda0)
 
**** locale  (table: 0x5826d0)
 -> Examining 'table: 0x5826d0
-------- name  (function: 0x582710)
 
**** platform  (table: 0x5c6ba0)
 -> Examining 'table: 0x5c6ba0
-------- apilevel  (1.0.0)
-------- window  (userdata: 0x584124)
 -> Examining 'table: 0x5a4eb0
---------------- height  (function: 0x5be840)
---------------- invalidate  (function: 0x5c3f60)
---------------- __index  (table: 0x5a4eb0)
---------------- width  (function: 0x5ddc50)
 
-------- isDeviceModeRendering  (function: 0x5840c0)
-------- gc  (function: 0x5c6c30)

++  -->  -> Examining gc : '' table: 0x59de80
-------- drawRect  (function: 0x57ce20)
-------- setAlpha  (function: 0x585f00)
-------- getStringWidth  (function: 0x5976f0)
-------- fillRect  (function: 0x59c8d0)
-------- __index  (table: 0x59de80)
-------- drawArc  (function: 0x59c920)
-------- clipRect  (function: 0x5c3990)
-------- setColorRGB  (function: 0x585f40)
-------- drawLine  (function: 0x5980a0)
-------- getStringHeight  (function: 0x5976b0)
-------- drawImage  (function: 0x57cda0)
-------- fillPolygon  (function: 0x5bceb0)
-------- begin  (function: 0x5dddf0)
-------- setPen  (function: 0x5b4080)
-------- setFont  (function: 0x585f80)
-------- drawPolyLine  (function: 0x57cde0)
-------- drawString  (function: 0x5bce30)
-------- fillArc  (function: 0x5bce70)
-------- finish  (function: 0x597670)


-------- isColorDisplay  (function: 0x584080)
 
**** tellme4  (function: 0x592070)
**** var  (table: 0x5c6bf0)
 -> Examining 'table: 0x5c6bf0
-------- monitor  (function: 0x5a1f40)
-------- list  (function: 0x5a2010)
-------- recallstr  (function: 0x57cfb0)
-------- unmonitor  (function: 0x57d080)
-------- store  (function: 0x5c6c10)
-------- recall  (function: 0x5e6e00)
 
**** math  (table: 0x5a4ef0)
 -> Examining 'table: 0x5a4ef0
-------- log  (function: 0x597fc0)
-------- eval  (function: 0x521780)
-------- acos  (function: 0x5a4f10)
-------- huge  (inf)
-------- ldexp  (function: 0x571680)
-------- pi  (3.1415926535898)
-------- cos  (function: 0x5976d0)
-------- tanh  (function: 0x586800)
-------- pow  (function: 0x5b40e0)
-------- deg  (function: 0x597710)
-------- tan  (function: 0x5a7150)
-------- cosh  (function: 0x597690)
-------- sinh  (function: 0x5c3990)
-------- random  (function: 0x5c3910)
-------- randomseed  (function: 0x5c3950)
-------- frexp  (function: 0x571640)
-------- ceil  (function: 0x59c930)
-------- floor  (function: 0x5befe0)
-------- rad  (function: 0x5b4120)
-------- abs  (function: 0x57f810)
-------- sqrt  (function: 0x5867c0)
-------- modf  (function: 0x5b40a0)
-------- asin  (function: 0x5a4f50)
-------- min  (function: 0x598040)
-------- max  (function: 0x598000)
-------- fmod  (function: 0x5bf020)
-------- log10  (function: 0x5716c0)
-------- atan2  (function: 0x59c8b0)
-------- exp  (function: 0x5befa0)
-------- sin  (function: 0x586780)
-------- atan  (function: 0x59c8f0)
 
**** cursor  (table: 0x582790)
 -> Examining 'table: 0x582790
-------- show  (function: 0x59b850)
-------- hide  (function: 0x59b810)
-------- set  (function: 0x5827b0)
 
**** pcall  (function: 0x585990)
**** clipboard  (table: 0x556810)
 -> Examining 'table: 0x556810
-------- getText  (function: 0x597a30)
-------- addText  (function: 0x5979f0)
 
**** class  (function: 0x5aaa10)
**** type  (function: 0x590ec0)
**** toolpalette  (table: 0x43e1cc80)
 -> Examining 'table: 0x43e1cc80
-------- enableCopy  (function: 0x5217c0)
-------- enablePaste  (function: 0x5cb510)
-------- enableCut  (function: 0x521700)
-------- register  (function: 0x43e1cca0)
-------- enable  (function: 0x521720)
 
**** D2Editor  (table: 0x5e6e40)
 -> Examining 'table: 0x5e6e40
-------- newRichText  (function: 0x5a33e0)
-------- move  (function: 0x5e6e80)
-------- setText  (function: 0x5e6ec0)
-------- __gc  (function: 0x5a3400)
-------- getText  (function: 0x5e6e60)
-------- setReadOnly  (function: 0x5216a0)
-------- setFormattedText  (function: 0x5cb560)
-------- __index  (table: 0x5e6e40)
-------- resize  (function: 0x5a1fa0)
 
**** select  (function: 0x59de70)
**** _G  (table: 0x58cef0)
 -> Examining 'table: 0x58cef0
-------- string  (table: 0x585f60)
-------- xpcall  (function: 0x590f60)
-------- tostring  (function: 0x584930)
-------- print  (function: 0x55ec80)
-------- tellme7  (function: 0x5920d0)
-------- image  (table: 0x5c4840)
 -> Examining 'table: 0x5c4840
---------------- copy  (function: 0x592e80)
---------------- new  (function: 0x592f30)
---------------- height  (function: 0x5c4860)
---------------- __index  (table: 0x5c4840)
---------------- __gc  (function: 0x5c4880)
---------------- width  (function: 0x5c48a0)
 
-------- unpack  (function: 0x590f00)
-------- getfenv  (function: 0x58cf10)
-------- tellme5  (function: 0x592090)
-------- tellme6  (function: 0x5920b0)
-------- setmetatable  (function: 0x5848b0)
-------- next  (function: 0x585950)
-------- assert  (function: 0x592960)
-------- tellme2  (function: 0x59bcd0)
-------- tonumber  (function: 0x5848f0)
-------- rawequal  (function: 0x585350)
-------- dump  (function: 0x5aa9f0)
-------- collectgarbage  (function: 0x5d8ed0)
-------- gcinfo  (function: 0x5d8f30)
-------- getmetatable  (function: 0x5bc840)
-------- document  (table: 0x5983b0)
 -> Examining 'table: 0x5983b0
---------------- markChanged  (function: 0x5983f0)
 
-------- tellme8  (function: 0x5acca0)
-------- timer  (table: 0x582570)
 -> Examining 'table: 0x582570
---------------- start  (function: 0x582590)
---------------- getMilliSecCounter  (function: 0x5825b0)
---------------- stop  (function: 0x5825d0)
 
-------- tellme3  (function: 0x59bcf0)
-------- coroutine  (table: 0x57f7f0)
 -> Examining 'table: 0x57f7f0
---------------- resume  (function: 0x592840)
---------------- yield  (function: 0x5ddb30)
---------------- status  (function: 0x5928c0)
---------------- wrap  (function: 0x5ddaf0)
---------------- create  (function: 0x592940)
---------------- running  (function: 0x592880)
 
-------- tellme9  (function: 0x5c8d70)
-------- rawset  (function: 0x5853d0)
-------- _VERSION  (Lua 5.1)
-------- table  (table: 0x5c3760)
 -> Examining 'table: 0x5c3760
---------------- setn  (function: 0x57cde0)
---------------- insert  (function: 0x5725e0)
---------------- getn  (function: 0x572560)
---------------- foreachi  (function: 0x5c37c0)
---------------- maxn  (function: 0x5725a0)
---------------- foreach  (function: 0x5c3780)
---------------- concat  (function: 0x562410)
---------------- sort  (function: 0x57ce20)
---------------- remove  (function: 0x57cda0)
 
-------- locale  (table: 0x5826d0)
 -> Examining 'table: 0x5826d0
---------------- name  (function: 0x582710)
 
-------- platform  (table: 0x5c6ba0)
 -> Examining 'table: 0x5c6ba0
---------------- apilevel  (1.0.0)
---------------- window  (userdata: 0x584124)
 -> Examining 'table: 0x5a4eb0
------------------------ height  (function: 0x5be840)
------------------------ invalidate  (function: 0x5c3f60)
------------------------ __index  (table: 0x5a4eb0)
------------------------ width  (function: 0x5ddc50)
 
---------------- isDeviceModeRendering  (function: 0x5840c0)
---------------- gc  (function: 0x5c6c30)
---------------- isColorDisplay  (function: 0x584080)
 
-------- tellme4  (function: 0x592070)
-------- var  (table: 0x5c6bf0)
 -> Examining 'table: 0x5c6bf0
---------------- monitor  (function: 0x5a1f40)
---------------- list  (function: 0x5a2010)
---------------- recallstr  (function: 0x57cfb0)
---------------- unmonitor  (function: 0x57d080)
---------------- store  (function: 0x5c6c10)
---------------- recall  (function: 0x5e6e00)
 
-------- math  (table: 0x5a4ef0)
-------- cursor  (table: 0x582790)
 -> Examining 'table: 0x582790
---------------- show  (function: 0x59b850)
---------------- hide  (function: 0x59b810)
---------------- set  (function: 0x5827b0)
 
-------- pcall  (function: 0x585990)
-------- clipboard  (table: 0x556810)
 -> Examining 'table: 0x556810
---------------- getText  (function: 0x597a30)
---------------- addText  (function: 0x5979f0)
 
-------- class  (function: 0x5aaa10)
-------- type  (function: 0x590ec0)
-------- toolpalette  (table: 0x43e1cc80)
 -> Examining 'table: 0x43e1cc80
---------------- enableCopy  (function: 0x5217c0)
---------------- enablePaste  (function: 0x5cb510)
---------------- enableCut  (function: 0x521700)
---------------- register  (function: 0x43e1cca0)
---------------- enable  (function: 0x521720)
 
-------- D2Editor  (table: 0x5e6e40)
 -> Examining 'table: 0x5e6e40
---------------- newRichText  (function: 0x5a33e0)
---------------- move  (function: 0x5e6e80)
---------------- setText  (function: 0x5e6ec0)
---------------- __gc  (function: 0x5a3400)
---------------- getText  (function: 0x5e6e60)
---------------- setReadOnly  (function: 0x5216a0)
---------------- setFormattedText  (function: 0x5cb560)
---------------- __index  (table: 0x5e6e40)
---------------- resize  (function: 0x5a1fa0)
 
-------- select  (function: 0x59de70)
-------- _G  (table: 0x58cef0)
-------- on  (table: 0x5cb4a0)
 -> Examining 'table: 0x5cb4a0
---------------- paint  (function: 0x555e50)
 
-------- rawget  (function: 0x585390)
-------- loadstring  (function: 0x55ec20)
-------- tellme  (function: 0x584af0)
-------- newproxy  (function: 0x576b20)
-------- setfenv  (function: 0x59deb0)
-------- pairs  (function: 0x58c970)
-------- ipairs  (function: 0x58c910)
-------- error  (function: 0x5859c0)
-------- load  (function: 0x5bc880)
 
**** on  (table: 0x5cb4a0)
 -> Examining 'table: 0x5cb4a0
-------- paint  (function: 0x555e50)
 
**** rawget  (function: 0x585390)
**** loadstring  (function: 0x55ec20)
**** tellme  (function: 0x584af0)
**** newproxy  (function: 0x576b20)
**** setfenv  (function: 0x59deb0)
**** pairs  (function: 0x58c970)
**** ipairs  (function: 0x58c910)
**** error  (function: 0x5859c0)
**** load  (function: 0x5bc880)
 
Title: Re: Lua on the Nspire?
Post by: ruler501 on April 14, 2011, 05:55:44 pm
IS there much hope for a documented API in the near future?
This looks like it is going to be fun
Title: Re: Lua on the Nspire?
Post by: Adriweb on April 14, 2011, 06:01:50 pm
IS there much hope for a documented API in the near future?
This looks like it is going to be fun

I asked TI about that on their facebook page lol
Title: Re: Lua on the Nspire?
Post by: DJ Omnimaga on April 14, 2011, 06:02:29 pm
Nice stuff! Hopefully Nspire Lua programming will be documented well enough soon so more people can program on their calculator.
Title: Re: Lua on the Nspire?
Post by: Michael_Lee on April 14, 2011, 06:03:35 pm
Damn.  I need an nspire.
Title: Re: Lua on the Nspire?
Post by: ruler501 on April 14, 2011, 06:05:03 pm
IS there much hope for a documented API in the near future?
This looks like it is going to be fun

Have they replied yet. I can see them saying "What we do not have a hidden programming language this is all a lie" aor "I'm sorry we are not allowed to release that information

The Community(Us) will probably have to make our own one
I asked TI about that on their facebook page lol
Title: Re: Lua on the Nspire?
Post by: DJ Omnimaga on April 14, 2011, 06:31:12 pm
I'm sure they'll claim such language isn't available on the calc. :P Kinda like when they reply that the 84+ has a total of 24 KB of RAM instead of 48.
Title: Re: Lua on the Nspire?
Post by: Lionel Debroux on April 15, 2011, 10:09:23 am
A huge list of LUA IDEs can be found at http://www.wowwiki.com/Lua_editors . Multiple of them are bound to be scriptable, a scriptability which could be used to act upon improved nspire_emu & Ncubate versions.
Having one sub-par IDE specific to the Nspire platform, with a sub-par build system specific to that IDE, is probably not a model to follow :)
Title: Re: Lua on the Nspire?
Post by: Ashbad on April 15, 2011, 01:11:38 pm
If I was to suggest a Lua IDE, I'd say your best bet would to be to go with SciTE.  It's really useful for bigger projects, and has quick code checking options.
Title: Re: Lua on the Nspire?
Post by: Lionel Debroux on April 15, 2011, 01:34:11 pm
SciTE is my main code edition tool for various programming languages, but I'm not sure it's scriptable enough for full integration with the emulators, and it's not native under MacOS X (it's a GTK+ program on top of X11, I sometimes use the version compiled from MacPorts).
Notepad++ (for Windows) and Komodo Edit (Windows, MacOS X, Linux) sound like other good choices.
Title: Re: Lua on the Nspire?
Post by: Adriweb on April 15, 2011, 01:54:32 pm
TextWrangler for Mac is what I use... but I might look at some others
Title: Re: Lua on the Nspire?
Post by: JosJuice on April 16, 2011, 07:40:27 am
IS there much hope for a documented API in the near future?
This looks like it is going to be fun

Have they replied yet. I can see them saying "What we do not have a hidden programming language this is all a lie" aor "I'm sorry we are not allowed to release that information

The Community(Us) will probably have to make our own one
I asked TI about that on their facebook page lol
It's likely that they won't reply, or that they'll delete the post.
Title: Re: Lua on the Nspire?
Post by: Adriweb on April 16, 2011, 07:43:25 am
Well, it's still there lol ... They haven't answered [yet ?] but they posted some new things on their wall so I think they're ignoring it for now ....
Title: Re: Lua on the Nspire?
Post by: Snake X on April 16, 2011, 08:32:21 am
my lua ide:

Notepad. It works. :P
Title: Re: Lua on the Nspire?
Post by: ruler501 on April 16, 2011, 09:58:55 pm
my lua ide:

Notepad. It works. :P

I use the slightly easier to use notepad++
Title: Re: Lua on the Nspire?
Post by: apcalc on April 16, 2011, 10:14:43 pm
my lua ide:

Notepad. It works. :P

I use the slightly easier to use notepad++

Thats what I'm using! ;D
Title: Re: Lua on the Nspire?
Post by: ruler501 on April 16, 2011, 10:15:40 pm
I find it easy to use and its in LiberKey(portable programs) so that is just a plus
Title: Re: Lua on the Nspire?
Post by: ExtendeD on April 17, 2011, 02:59:51 am
I'm currently using UltraEdit (license required) for syntax coloring, with keyboard shortcuts to call the Lua to TNS converter and luac for computer-side syntax checking. Maybe I'll try to integrate it with nspire_emu/Ncubate, sending the file by hand between each test is a pain.
Title: Re: Lua on the Nspire?
Post by: willrandship on April 17, 2011, 03:01:57 am
gEdit has Lua coloring, but I use Geany, since it has debug features
Title: Re: Lua on the Nspire?
Post by: Munchor on April 17, 2011, 05:31:15 am
Also, this topic's name doesn't need a "?" anymore. It's not a question, but a statement :D LUA!
Title: Re: Lua on the Nspire?
Post by: Lionel Debroux on April 17, 2011, 05:45:52 am
Well, yes, but it's a sub-par Lua. Whole sets of useful functions have been removed, according to the page on Hackspire.
Title: Re: Lua on the Nspire?
Post by: DJ Omnimaga on April 19, 2011, 07:29:44 pm
Hmm this sucks... I seriously hope they did not remove way too much things.

Fortunately they appear to have left Getkey, rectangles, images/sprites and that stuff intact, though, according to what we saw from Apcalc and others, though, so at least it's a step above TI-Nspire BASIC.