Author Topic: New TI-Nspire emulator: Firebird Emu  (Read 188150 times)

0 Members and 1 Guest are viewing this topic.

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
New TI-Nspire emulator: Firebird Emu
« on: June 05, 2015, 09:30:31 am »
You may have heard about it already, but if you haven't… this is the official first release of Firebird Emu, a new TI-Nspire emulator!
The core of Firebird is based on Goplat's renowned "nspire_emu", but with quite some changes.

Major changes:
  • Supported platforms: Linux, Mac OS X (10.7+), Windows, Android (ARM and x86), iOS (without JIT, except if running on a jailbroken device)
  • Flexible GUI with many user-friendly additions
  • Supports nspire-linux
Also, GDB support for debugging of ndless apps has been improved and nspire-linux boots successfully, like in the second screenshot.

So, if you want to debug your Ndless programs, test Lua scripts or just use the calculator, this is the right emulator for you.

Please note that like nspire_emu, you need to provide a Boot1 file, which you can obtain from your own device easily with PolyDumper. Of course you can still use the flash files from nspire_emu.

Download:
Prebuilt packages for Android (armv7), Linux/X11 (64-bit), Mac OS and Windows are on GitHub: https://github.com/nspire-emus/nspire_emu/releases

Screenshots:
Running on Mac OS X, in English, custom dock arrangement


On Linux, in German


On Windows, in French


On Android

and a video:


On an iPhone, although not really useful right now, probably better on an iPad


Contributors to the project:
  • Fabian "Vogtinator" Vogt: UI design, work on emu core, German translation
  • Antonio Vazquez: code cleanups, linux support work, archlinux packaging
  • Adrien "Adriweb" Bertrand: mostly testing (especially Mac and iOS), French translation
  • Lionel Debroux: some x64-related cleanups
  • You? ;)
This post is also on tiplanet: http://tiplanet.org/forum/viewtopic.php?t=16652&p=183653#p183653
and codewalr.us: http://codewalr.us/index.php?topic=520
« Last Edit: June 05, 2015, 05:37:43 pm by Vogtinator »

Offline Ivoah

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +3/-0
    • View Profile
    • Codinghobbit
Re: New TI-Nspire emulator
« Reply #1 on: June 05, 2015, 09:31:56 am »
Sweet! I'm totally going to put this on my (jailbroken) iPad! Congrats to all involved!
http://codinghobbit.no-ip.org
My Calcs:
TI-86 (now broken) $2
TI SR-56 - $0
TI-Nspire CX CAS - $152
TI-84+ Silver Edition - $56
TI-84+ Silver Edition - $0
TI-85 - $0
TI-73 Explorer VS - $10
ViewScreen - $3

Offline Adriweb

  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1708
  • Rating: +229/-17
    • View Profile
    • TI-Planet.org
Re: New TI-Nspire emulator
« Reply #2 on: June 05, 2015, 10:28:45 am »
I'm going to leave this here...


(One day, maybe, when/if it is ready...)
My calculator programs
TI-Planet.org co-admin.
TI-Nspire Lua programming : Tutorials  |  API Documentation

Offline Ivoah

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +3/-0
    • View Profile
    • Codinghobbit
Re: New TI-Nspire emulator
« Reply #3 on: June 05, 2015, 10:29:30 am »
I'm going to leave this here... https://i.imgur.com/rmDhXBI.png
(One day, maybe, when/if it ready...)

Is that just a photo being displayed on the watch?
http://codinghobbit.no-ip.org
My Calcs:
TI-86 (now broken) $2
TI SR-56 - $0
TI-Nspire CX CAS - $152
TI-84+ Silver Edition - $56
TI-84+ Silver Edition - $0
TI-85 - $0
TI-73 Explorer VS - $10
ViewScreen - $3

Offline Adriweb

  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1708
  • Rating: +229/-17
    • View Profile
    • TI-Planet.org
Re: New TI-Nspire emulator
« Reply #4 on: June 05, 2015, 10:33:54 am »
So far, yes, I just wanted to see how it looked on the wrist.

But I've started looking around in WatchKit, too... so maybe some day the iPhone app will "broadcast" the screen to the watch. Or even get to compile the emu for the watch itself (btu I doubt it, that would require Qt to be ported there, and there's pretty much no way that happens :P)

Evidently, it would be just for fun, considering the screen size, though.
My calculator programs
TI-Planet.org co-admin.
TI-Nspire Lua programming : Tutorials  |  API Documentation

Offline Ivoah

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +3/-0
    • View Profile
    • Codinghobbit
Re: New TI-Nspire emulator
« Reply #5 on: June 05, 2015, 10:43:13 am »
So far, yes, I just wanted to see how it looked on the wrist.

But I've started looking around in WatchKit, too... so maybe some day the iPhone app will "broadcast" the screen to the watch. Or even get to compile the emu for the watch itself (btu I doubt it, that would require Qt to be ported there, and there's pretty much no way that happens :P)

Evidently, it would be just for fun, considering the screen size, though.

Yeah, broadcasting the screen seems like the best way to do it, you could have the screen on your wrist and the keypad on the phone.
http://codinghobbit.no-ip.org
My Calcs:
TI-86 (now broken) $2
TI SR-56 - $0
TI-Nspire CX CAS - $152
TI-84+ Silver Edition - $56
TI-84+ Silver Edition - $0
TI-85 - $0
TI-73 Explorer VS - $10
ViewScreen - $3

Offline Adriweb

  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1708
  • Rating: +229/-17
    • View Profile
    • TI-Planet.org
Re: New TI-Nspire emulator
« Reply #6 on: June 05, 2015, 10:51:25 am »
Yeah, broadcasting the screen seems like the best way to do it, you could have the screen on your wrist and the keypad on the phone.
Yep, that was the idea.

Also, I see you want to test it on a [jailbroken] iPad - you may want to /query me on IRC (Adriweb on EFNet) for instructions on how to set it up on iOS, it's not trivial (well, at least, to get it to compile with the JIT (since you're jailbroken, let's enable the translation). Once we figure out a process that works for you as well, I'll edit the readme instructions accordingly.
But so far, here's my workflow (assuming Qt Creator is set up):
Code: [Select]
- launch build so that it creates all the needed files
- clang -marm -o asmcode_arm.o -c asmcode_arm.S
- move asmcode_arm.o in the objects folder
- add asmcode_arm.o to the .linklistfile
- lock both files so that the next rebuild won't overwrite them
- re-launch build
- Deploy
- In iTunes, transfer the boot1 and flash

iPad 2 minimum, sorry... Go ask Qt devs why :P
« Last Edit: June 05, 2015, 12:53:15 pm by Adriweb »
My calculator programs
TI-Planet.org co-admin.
TI-Nspire Lua programming : Tutorials  |  API Documentation

Offline rwill

  • LV2 Member (Next: 40)
  • **
  • Posts: 29
  • Rating: +3/-0
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #7 on: June 08, 2015, 07:42:18 am »
Thanks to the Team for improving the Nspire Emulator.

The new on screen keyboard is really well done.

I compiled it myself from source on win32/mingw and noticed two things:

After startup of the OS, when left-click dragging around the touchpad on the on screen keyboard, the emulator might display "Invalid mode 0x0" and then no more input is accepted. Sometimes no more input is accepted without the display of the error message.

The emulated timer hardware appears to match the % emulation speed display, so it is off by some factor. I tested with some projects of mine and its most noticeable in nQuake when doing timedemo runs ( timedemo says the playback needed N seconds but in real time it took around N * 1.45 seconds ).

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #8 on: June 08, 2015, 02:56:37 pm »
Quote
After startup of the OS, when left-click dragging around the touchpad on the on screen keyboard, the emulator might display "Invalid mode 0x0" and then no more input is accepted. Sometimes no more input is accepted without the display of the error message.
Invalid mode means that the OS crashed or the emulator did something weird, so it's not a UI thing. What OS are you using?
I don't have windows installed anywhere where QtQuick runs (so, OpenGL accelerated), so I tried it under wine with the prebuilt packages and could not reproduce.

Quote
The emulated timer hardware appears to match the % emulation speed display, so it is off by some factor. I tested with some projects of mine and its most noticeable in nQuake when doing timedemo runs ( timedemo says the playback needed N seconds but in real time it took around N * 1.45 seconds ).
Ok, so it's not a mistake in the percent calculation, it's in the throttle itself, will likely be solved in the near future.

Offline Legimet

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 336
  • Rating: +29/-0
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #9 on: June 08, 2015, 08:52:10 pm »
Now it seems to require Qt >=5.3. But I compiled it on Debian 8 and it works well.

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #10 on: June 09, 2015, 07:25:19 am »
Quote
Now it seems to require Qt >=5.3.
Yep, it's using a QQuickWidget for the keypad, which was added in Qt 5.3.

Offline Harry5862

  • LV2 Member (Next: 40)
  • **
  • Posts: 37
  • Rating: +0/-1
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #11 on: June 18, 2015, 12:44:12 pm »
I tried the emulator on windows and if I try to install ndless on it the emulator crash.
Has anyone a suggestion why?
Sorry if there are any mistakes.

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #12 on: June 20, 2015, 04:31:34 pm »
Quote
I tried the emulator on windows and if I try to install ndless on it the emulator crash.
Has anyone a suggestion why?
What does crash exactly?

Offline odmir

  • LV0 Newcomer (Next: 5)
  • Posts: 2
  • Rating: +0/-0
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #13 on: June 23, 2015, 09:53:59 am »
Quote
I tried the emulator on windows and if I try to install ndless on it the emulator crash.
Has anyone a suggestion why?
What does crash exactly?
The same happens on mac, the emulator crashes, when you try to install ndless it just halts and then exits.

It behaves differently depending on the user interface mode, if it is in Docks mode and I try to install ndless, the emulator halts and displays this in the Debugger: "Warning (102fce8c): Data abort: address=0101010d status=05 instruction at 102fce8c"

If it happens to be in Tabs mode and I try to install ndless, the entire emu app crashes and exits, displaying a crash report like this: https://www.dropbox.com/s/mq08807ng5c6r6y/nspire_emu_2015-06-23-152624_Ricardos-MacBook-Pro.txt?dl=0
« Last Edit: June 23, 2015, 10:39:00 am by odmir »

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #14 on: June 23, 2015, 11:01:14 am »
Make sure you have "Halt on: Warning" disabled in the settings->emulator pane. The warning is normal, although I don't know
why the debugger is enabled by default.

Quote
If it happens to be in Tabs mode and I try to install ndless, the entire emu app crashes and exits, displaying a crash report like this: https://www.dropbox.com/s/mq08807ng5c6r6y/nspire_emu_2015-06-23-152624_Ricardos-MacBook-Pro.txt?dl=0
Fixed in current master. Until the next binaries are built, just use the docks mode.