Calculator Community > Casio PRIZM

[Prizm] Introducing LuaZM

(1/4) > >>

KermMartian:
The Casio Prizm is a powerful calculator, great for both math and playing games. It is particularly great for programming, and for months thoroughly bested the TI-Nspire calculator in offering ASM, BASIC, and C programming. In an attempt to reduce criticism of their apparently anti-student stance, Texas Instruments improved the TI-Nspire to run Lua programs. Lua is a "fast, lightweight, embeddable scripting language," an interpreted procedural language. The language has allowed budding Nspire programmers to quickly write games and programs without needing to use a computer.

I am happy to announce that I am now bringing Lua to the Casio Prizm graphing calculator, in the form of a full-featured Lua interpreter. After days of porting, rewriting parts of libc (including the longjmp/setjmp system), and learning some SH4 assembly, I am proud to present the first screenshot of the interpreter successfully running on a Prizm. Special kudos to Juju for the PrizmIO library, a port of an Nspire I/O library for C programmers. As you can see from the screenshots, this is just the raw interpreter; although it understands Lua syntax and can parse/lex the language, load libraries, and recognize incorrect code, it is almost entirely lacking in functioning libraries. From here, I will be porting over each of the standard libraries, starting with numbers, strings, and I/O. Please feel free to share thoughts and suggestions here or in the original Cemetech thread. Bonus features: Planned transparent support for Nspire and Lua FX programs.

jwalker:
Nice, I will definately be watching this project closely.
This will definately help bring WZGULIB to prizm, at least make it easier.

flyingfisch:

--- Quote from: jwalker on August 17, 2012, 06:49:07 pm ---Nice, I will definately be watching this project closely.
This will definately help bring WZGULIB to prizm, at least make it easier.

--- End quote ---

Hmm, i wonder how hard it would be to port WZGUILIB to LuaFX...

DJ Omnimaga:
I heard about this project from Juju IRL a few times so far and I was anxiously waiting for the announcement. I'm glad Lua is finally arriving on the PRIZM. Hopefully this should increase the userbase considerably.

When Lua arrived on Omnimaga, about 30 new games (a lot of which were pretty fun to play) came out on the TI-Nspire during the year after. With Ndless out since 2010, C and ASM support has never come close to that amount.
--- Quote from: KermMartian on August 17, 2012, 06:04:17 pm ---Lua is a "fast,

--- End quote ---
Actually a little correction, it isn't all that fast on TI calcs. ;) On other platforms it is, but TI didn't do the very best job at optimizing it yet, although due to the platform speed, it allows a lot more stuff than TI-83 Plus BASIC, plus it has far more functions (notably the new physics engine) than TI-BASIC on any calculator. In any case, a Casio Lua interpreter gotta be the most welcome software :)

Good luck!

jwalker:

--- Quote from: flyingfisch on August 17, 2012, 10:32:38 pm ---
--- Quote from: jwalker on August 17, 2012, 06:49:07 pm ---Nice, I will definately be watching this project closely.
This will definately help bring WZGULIB to prizm, at least make it easier.

--- End quote ---

Hmm, i wonder how hard it would be to port WZGUILIB to LuaFX...

--- End quote ---

My estimation... simple. But then again I created it so I know all of the underworkings. Basicly, It would be easiest to 1) implement classes (a must) 2)rewrite the drawing code to work on the specific platform(gc:drawRect() needs to become whatever draws a rectangle) 3) figure out how to make the interpreter use events/callbacks for all of the on. events. and 4) if no mouse, either create one or dont worry about it, I added functionality so you dont nessiceraly have to use a mouse anymore (can also use the enter key to do 'clicks')

I would also be willing to help port it.

EDIT: now that I thought about it... Im going to write a section into the new documentation that I will release with the new version that will talk about the above and how WZ works...

Navigation

[0] Message Index

[#] Next page

Go to full version