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

0 Members and 1 Guest are viewing this topic.

Offline adamfingol

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 6
  • Rating: +0/-0
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #30 on: September 12, 2015, 09:03:56 pm »
Ok i have the files boot 1 and TICXCAS_4.0.0.235.tcc, i creat the flash in PC and copy the flash to my android. But the calc dont start, I put the files in boot1 and flash but dont work

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #31 on: September 13, 2015, 12:49:02 pm »
Does the flash work on the PC?
Did you press the "bomb" button in the firebird app?

Offline adamfingol

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 6
  • Rating: +0/-0
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #32 on: September 13, 2015, 10:53:29 pm »
yes i press the buton!!! And in PC works!

« Last Edit: September 14, 2015, 02:55:04 pm by adamfingol »

Offline maxzhu273

  • LV0 Newcomer (Next: 5)
  • Posts: 2
  • Rating: +0/-0
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #33 on: September 27, 2015, 10:01:15 pm »
How do I reopen closed docks/tabs? One day, just for fun, I closed every tab and now I cant seem to bring them up again. I'm on the windows 0.20 build (windows 7 x64 professional)

Works without issues on my other computer so far.

Halp!  :banghead:
kthxbai

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #34 on: September 28, 2015, 02:37:29 pm »
Quote
How do I reopen closed docks/tabs? One day, just for fun, I closed every tab and now I cant seem to bring them up again. I'm on the windows 0.20 build (windows 7 x64 professional)
Just right click on the free space of the menu bar (right of the "Flash" menu).
On Mac the issue is that there is no (real) menu bar, so it's impossible to open a dock if they're all closed, so it's disabled to close them all on Mac.

Quote
Works without issues on my other computer so far.
Glad to hear, thanks!

Offline maxzhu273

  • LV0 Newcomer (Next: 5)
  • Posts: 2
  • Rating: +0/-0
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #35 on: October 14, 2015, 10:54:08 pm »
Just right click on the free space of the menu bar (right of the "Flash" menu).

Oh...whoops. Thanks!
kthxbai

Offline gchiozzi

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 5
  • Rating: +0/-0
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #36 on: October 26, 2015, 07:21:34 am »
Hi Vogtinator,

First of all, it is great to finally have an nspire emulator for Android.
I installed it on an S4 mini and it works :-)
It looks nice and, once started up, is quite usable.
Cannot say yet about stability, but looks promising.

I have anyway some comments that I consider quite important to make the app usable:

- The main annoyance (common to all nspire emulators I have tried) is that there is no way to save the state.
  If I exit the emulator and restart (even if I switch to another app and I come back after a bit of time), everything is lost.
  There must be a way to implement saving the current state so that I can "switch off" the emulator and come back
  to the same point when I "switch it on" again.

- This might help as well with the second big issue: startup time.
  Whenever I start the app:
  - I have to press the "bomb" several times until it starts booting (I do not really see the point: it should
    just start when when I open the app).
  - Then it takes more than 2 minutes before boot is completed and I can type my expressions
  This makes the emulator unusable as a day-to-day calculator.

I am asking myself if there people really USING these emulators or if there only around perosns developing them.
That is for sure a lot of fun, but without true usability, you cannot really get a wide and happy user base.
For this reason I am still using very good and usable TI-48 emulators on my PC and Android phone/tablet.

I think that if you concentrate on developing the Android (and IOS) variant (this is what puts you apart from the other branches of the main emulator) you can have a good success among the many kids that use the nspire at school.
I would be for sure available to pay some euros on Google Play for a good emulator.

It might be I am completely wrong and I did not understand the "right way" of using the emulator.
I would be gratefull if anybody would comment and tell me how people is using it efficiently.

     Thanks anyway for the good start... and go on devleoping and improving it,

               Gianluca




Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #37 on: October 26, 2015, 10:18:53 am »
Hi Vogtinator,

First of all, it is great to finally have an nspire emulator for Android.
I installed it on an S4 mini and it works :-)
It looks nice and, once started up, is quite usable.
Cannot say yet about stability, but looks promising.
Thanks for the feedback! I mainly develop the (ARM emulation) core on a rpi2 and the mobile UI on my laptop,
so having some feedback from those actually using the android part is very appreciated!

Quote
I have anyway some comments that I consider quite important to make the app usable:

- The main annoyance (common to all nspire emulators I have tried) is that there is no way to save the state.
  If I exit the emulator and restart (even if I switch to another app and I come back after a bit of time), everything is lost.
  There must be a way to implement saving the current state so that I can "switch off" the emulator and come back
  to the same point when I "switch it on" again.
If you hit the save icon it saves to the flash file, but I guess you mean more "suspend and resume" like.
It was partially implemented (code from ncubate), but there was so much important stuff missing,
that it was just much easier to remove it completely again.
I'll consider adding back support for it, but it isn't that easy.
For instance, the internal data structures of the emulator for USB transfers etc.
and the RAM contents, which make more than 64MiB (data + flags, although the flags may be unnecessary) have to be saved to a temporary file.
That is not only a lot of space it occupies, but also really bad for the storage medium it resides on...

Quote
- This might help as well with the second big issue: startup time.
  Whenever I start the app:
  - I have to press the "bomb" several times until it starts booting (I do not really see the point: it should
    just start when when I open the app).
  - Then it takes more than 2 minutes before boot is completed and I can type my expressions
  This makes the emulator unusable as a day-to-day calculator.
I can't really improve that much, as it is using a quite complicated self-built ARM-to-ARM JIT,
but I guess it's not an issue anymore after the suspend-resume feature is implemented.

Quote
I am asking myself if there people really USING these emulators or if there only around perosns developing them.
That is for sure a lot of fun, but without true usability, you cannot really get a wide and happy user base.
For this reason I am still using very good and usable TI-48 emulators on my PC and Android phone/tablet.
Firebird is mainly targeted at developers and programmers, for easier file transfer and debugging than HW,
but not really (but it should work just fine) at end-users.

Quote
I think that if you concentrate on developing the Android (and IOS) variant (this is what puts you apart from the other branches of the main emulator) you can have a good success among the many kids that use the nspire at school.
I would be for sure available to pay some euros on Google Play for a good emulator.
That's not possible for multiple reasons:
- Firebird is and stays open-source
- I'm not 100% sure about the legal issues
- I don't want that anybody has to pay for that :P
- We're multiple devs, where should the amount go?

Quote
It might be I am completely wrong and I did not understand the "right way" of using the emulator.
There is no "right" way. If it works, it works and if it doesn't, something is broken.

Quote
I would be gratefull if anybody would comment and tell me how people is using it efficiently.
I'm not "using" (in the sense of making calculations and such) firebird on mobile at all (wouldn't work, I don't have either Android nor iOS devices),
but the desktop version does not really suffer from the startup time. Especially the much bigger cache (I believe, I didn't really benchmark that) on desktop CPUs has a big benefit on emulation speed. So it is just as you described, start firebird, wait a few seconds until it's loaded, do stuff, save occasionally and close it.

Offline gchiozzi

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 5
  • Rating: +0/-0
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #38 on: November 02, 2015, 03:18:04 am »
Thanks for the reply.

Yes, what I ment was "suspend and resume".

I would use the emulator in order not to bring with me the original piece of hardware all the time for day to day calculations. I this way I would use only one system (even though the OS of the TI-89 is not so different).

Having first to save the scratchpad in a document and then save the flash, coupled with the boot time of the emulator makes it really unconvenient.

I understand the issues with the RAM dump. I would guess that most of the users of the meulator would be like me and not use it for heavy work (in that case the HW would be much faster). I that case the RAM should be mostly empty a compression should be very effective.

About the money issue.... I understand.
Maybe voluntary donations would be a way to explore.
You might also agree in the community of the developers to suggest a non-profit of some kind you would like the donations to go, instead of giving the money to any of you (just to put an example, Wikipedia).
I know you do it for fun, but this would be a recognition for your work and would make people think that there is quite some work behind this software.

Thanks,
 
          Gianluca

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #39 on: November 02, 2015, 01:48:04 pm »
Quote
Yes, what I ment was "suspend and resume".
Then I have some good news for you, it is being implemented right now!
For now, it's only in my devel repo (https://github.com/Vogtinator/firebird), but once I ironed one some issues it's going to be in the next release.
Currently auto-suspend/auto-resume and suspend/resume from/to file are implemented and working (for me).
It's not completely integrated into the UI (no error or success messages) and not implemented in the mobile UI at all.
I can't do the latter properly as I don't own an Android or iOS device (the emulators f*****g s**k), so I'd need some help there.

Quote
Having first to save the scratchpad in a document and then save the flash, coupled with the boot time of the emulator makes it really unconvenient.
It still makes sense to save the flash, in case the snapshot gets lost, is somehow inconsistent, firebird threw up or the snapshot format changed (which might happen occasionally, it's directly writing a (non-packed, but I might change that) struct to memory).

Quote
I understand the issues with the RAM dump. I would guess that most of the users of the meulator would be like me and not use it for heavy work (in that case the HW would be much faster). I that case the RAM should be mostly empty a compression should be very effective.
Not implemented yet, but I will likely do that. Likely just deflate, should be enough.

Quote
I know you do it for fun, but this would be a recognition for your work and would make people think that there is quite some work behind this software.
There are still huge parts of original nspire_emu code from goplat and everybody has to benefit from donations IMO.
« Last Edit: November 02, 2015, 01:51:51 pm by Vogtinator »

Offline profrd

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 5
  • Rating: +0/-1
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #40 on: November 30, 2015, 07:27:15 am »
Dear @Vogtinator I would like to report a bit issues with the Windows port of the 2nd Beta release of Firebird.
 
  While trying to reposition some of the floating docks, I clicked by mistake on the Close icon ( right beside the Redimension icon ).
 
  Not knowing about the almost "definitive" choice of my closure action, I experimented a bit further, and ended up closing All docks, leaving me only with the LCD display ...
 
   What I hoped at that time, was that after definetively closing Firebird and opening it again, All the standard docks would show up again on a New startup instance, which unfortunately was Not the case, and I ended up with the same previous Missing docks state from my last instance ( when I ended up closing all of them without knowing that action would result in an "almost" definitive choice ... ).
 
   The only way I found to Restore Firebird original Docks state was through Windows Registry Editor, by invoking REGEDIT at the Command Prompt line, and searching for Firebird entries.
 
   Succesfully I located the ndless / nspire_emu entries, and by simply Removing both from the Windows Registry I was able to fully Restore Firebird to its original ( pre-installation ) state.
 
    Another missing feature I think would Help a lot more users would be a little README file, which if actually not included at the zip distribution, at least could be Posted as an additional separate file at the Project page on GitHub and the very first page of this post on Omnimaga.
 
   Concerning the possibility of other users ending up Closing some Docks by mistake ( and not knowing what to do to Restore them on a new instance ), I suggest the inclusion of top Menu entries placed aside from the Emulation, Tools and Flash ones, which would allow a "Permanent" state re-activation mechanism for the Floating docks ( in case they were previously closed ).
 
   Meanwhile before implementing such feature, a paliative would be to start Firebird Interface on Tabs mode, or at least indicate the existence of that option for the naive users on a README file.

   The Flash Menu could be improved if it include the option of not only Saving a Flash Image, but also of Loading another previously saved ( or already available one ), without the need of opening the Settings / Nspire tabs and selecting a Flash Image and Boot1 file ( from that tab options ).
 
   Also at the Create Flash Image menu, Boot1 is indicated by a Manuf tag and placed below Boot2 which shows up a bit confusing for the naive user to fully understand that a Boot1 file is required at that point.
 
   A bit more explanations on a README file would let the users know exactly what to provide on each field, with instruction for them how to obtain Boot1 and Boot2 image files from their own physical calculators, by meens of ndless and polydumper.
 
   While trying to Generate a New image file from the Create Flash Image menu, ( with all the required files provided and correctly identified after each selection, except for the provision of Diags which I left None and selected to Boot from Boot2 and Not Diags ), I ended up with an Application Crash on Windows 7 32bits.
 
   The Boot and OS files I provided were the Same ones I succesfully used on Nspiroid [ https://www.omnimaga.org/ti-nspire-projects/nspiroid-ti-nspire-emulator-on-android-(zenfone-5)/30/ ] and kARM-TI [ https://www.omnimaga.org/ti-nspire-projects/karmti-ti-nspire-emulator-with-skin-16585/420/ ] were I succesfully generated the Flash Image files which I Ported to Firebird ( after Not being able to generate a New Flash Image directly from Firebird, due to the reported Windows application Crash ).
 
   Overall my very First impressions on Firebird were very good ones, showing up as a Very Promising Project due mainly to its broad range of covered platforms, with a vast array of implementations, based on a Same common ground, leading its final users to an easier adaption from one platform to another.
 
  The only missing points which deserve a bit more attention by now are an Improved Documentation, by the inclusion of a README file describing in more detail the Boot and Flash Image file creation ( or import ) process, and the "definitive" closure state of floating Docks described on the Windows port, and which I dont know if similar behavior could happen on other platforms like Android ( and where I simply do no know how to Restore the equivalent of a Registry entry on a Android ARM Tablet without root access ).
 
  Thanks very much for All the attention, hoping to have provided Valuable points requiring some attention on future releases of Firebird,
 
Yours Sincerely,
 
Prof. Ricardo Duarte
 
PS: A missing option for the Non developer users would be to allow not only for Firebird to Start Emulation Automatically, but Also allowing the choice of starting with focus on the Keypad window open ( in place of the Serial Monitor actually selected and opened by default ). The inclusion of a simple ( exclusive ) Selection option ( by means of Radio Buttons ) between Keypad and Serial Monitor, would allow for such configuration, leaving both developers and common users the ability to opt for their preferred choice of initialization.

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #41 on: December 01, 2015, 08:21:12 am »
Quote
While trying to reposition some of the floating docks, I clicked by mistake on the Close icon ( right beside the Redimension icon ).
Simply right click on the space on the right of the menu bar. You can unhide all docks that way.

Quote
Meanwhile before implementing such feature, a paliative would be to start Firebird Interface on Tabs mode, or at least indicate the existence of that option for the naive users on a README file.
The tab interface is going to be removed at some point, as the docks interface is in every way superior.

Quote
The Flash Menu could be improved if it include the option of not only Saving a Flash Image, but also of Loading another previously saved ( or already available one ), without the need of opening the Settings / Nspire tabs and selecting a Flash Image and Boot1 file ( from that tab options ).
In my TODO list, there's an entry for "Kits": Pre-selected combinations of Boot1+Flash, selectable from within a menu.

Quote
Also at the Create Flash Image menu, Boot1 is indicated by a Manuf tag and placed below Boot2 which shows up a bit confusing for the naive user to fully understand that a Boot1 file is required at that point.
Without boot1 selected, there is an error message that is displayed on the first start, indicating that boot1 is missing.

Quote
A bit more explanations on a README file would let the users know exactly what to provide on each field, with instruction for them how to obtain Boot1 and Boot2 image files from their own physical calculators, by meens of ndless and polydumper.
There were some additions to the firebird wiki recently: https://github.com/nspire-emus/firebird/wiki/First-Time-Setup

Quote
While trying to Generate a New image file from the Create Flash Image menu, ( with all the required files provided and correctly identified after each selection, except for the provision of Diags which I left None and selected to Boot from Boot2 and Not Diags ), I ended up with an Application Crash on Windows 7 32bits.
 
   The Boot and OS files I provided were the Same ones I succesfully used on Nspiroid [ https://www.omnimaga.org/ti-nspire-projects/nspiroid-ti-nspire-emulator-on-android-(zenfone-5)/30/ ] and kARM-TI [ https://www.omnimaga.org/ti-nspire-projects/karmti-ti-nspire-emulator-with-skin-16585/420/ ] were I succesfully generated the Flash Image files which I Ported to Firebird ( after Not being able to generate a New Flash Image directly from Firebird, due to the reported Windows application Crash ).
There was a bug introduced recently, but AFAIK it's not present in beta2. Can you reproduce the crash reliably?

Quote
Overall my very First impressions on Firebird were very good ones, showing up as a Very Promising Project due mainly to its broad range of covered platforms, with a vast array of implementations, based on a Same common ground, leading its final users to an easier adaption from one platform to another.
 
  The only missing points which deserve a bit more attention by now are an Improved Documentation, by the inclusion of a README file describing in more detail the Boot and Flash Image file creation ( or import ) process,
That's currently being worked on and will be linked to in the release of the next beta version.

Quote
and the "definitive" closure state of floating Docks described on the Windows port, and which I dont know if similar behavior could happen on other platforms like Android ( and where I simply do no know how to Restore the equivalent of a Registry entry on a Android ARM Tablet without root access ).
On android it's using the mobile UI by default, although there's a compile-time option to use the desktop UI, in which case the tab interface should be used, as it uses less space.

Quote
Thanks very much for All the attention, hoping to have provided Valuable points requiring some attention on future releases of Firebird,
Thanks for the feedback, it is very much appreciated!

Quote
PS: A missing option for the Non developer users would be to allow not only for Firebird to Start Emulation Automatically, but Also allowing the choice of starting with focus on the Keypad window open ( in place of the Serial Monitor actually selected and opened by default ). The inclusion of a simple ( exclusive ) Selection option ( by means of Radio Buttons ) between Keypad and Serial Monitor, would allow for such configuration, leaving both developers and common users the ability to opt for their preferred choice of initialization.
That is actually a bug, I just fixed it in the repo. Now it's possible to open firebird and directly use the calc.

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Firebird: New version v0.30
« Reply #42 on: December 15, 2015, 01:16:10 pm »
New version 0.30 with greatly improved usability!

With more than 120 commits since the previous release, this version contains various new features, improvements and bug fixes.
The main goal was improved usability across all platforms.
There’s also a Wiki at https://github.com/nspire-emus/firebird/wiki/Installing-firebird now. And by the way, the license is now GPLv3.

Download:
New features:
  • Suspend and resume to/from snapshot files. Now you don't have to wait for the calc to boot, it's instantly available.
  • The USB file explorer now supports file dropping, renaming, downloading and creating folders (right-click)
  • Animated screen-capture (GIF recording)
Mobile UI:
  • Android: Properly implement being in background (paused)
  • More responsive: Fix sidebar buttons and add a toast-based message system
  • Fix layout of settings page with long filenames
  • Add labels to the sidebar buttons
  • iOS: Re-enable landscape mode
  • Auto-resume
  • Save button saves flash and takes a snapshot
  • Support keyboard input (desktop and HW keyboards (untested) only)
Improvements:
  • Refine UI: More icons, utilize status bar and wait cursor
  • More responsive UI: Can restart and resume instantly while in debugger
  • Slight performance improvements: Load flash with COW and speed up memory access in x86_64 JIT
  • Ask whether the created flash image should be used after creation
  • Add "Docks" submenu to show/hide docks
  • Disable JIT on non-jailbroken iOS devices: No longer two seperate packages
  • Better/Updated translations
  • Support of UTF-8 file names/paths on Windows
  • Misc. code improvements, refactorings, etc.
Bugfixes:
  • Make usblink much more reliable
  • Fix dropping multiple files at once
  • Fix speed display: Using C++11 std::chrono instead of OS specific functions now
  • Fix gpsp_nspire: RGB555 not implemented and implement the CPU's behaviour if add changes the PC's lower bits
  • Fix polydumper: CP15 instruction was not implemented
  • Fix boot2 going into standby: bad_read_word
  • Fix some crashes on OS X (compiler bug recently fixed)
  • Set focus to the LCD on startup: Can type instantly now
  • Show "In debugger" overlay if GDB is connected
  • Cut long boot1 and flash filenames in the UI
  • Fix last keypad row on iOS: Added some padding on the bottom of the keypad to avoid triggering the control center
  • Not really an actual bugfix, but the license got changed to GPLv3.
Screenshots/Videos:
Linux(video):


Windows:
Android (video):

Mac OS X:
iOS (video):


Planned:
  • Using the mobile UI on desktop: Seamless switching, file explorer, etc.
  • Better debugger integration
  • Some more performance improvements
  • Communication with USB devices over libusb
« Last Edit: December 15, 2015, 01:37:06 pm by Vogtinator »

Offline pimathbrainiac

  • Occasionally I make projects
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1731
  • Rating: +136/-23
  • dagaem
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #43 on: December 15, 2015, 01:40:47 pm »
This is awesome! I'm definitely going to download to check it out! Just to ask: why GPL3 and not MIT?
I am Bach.

Offline Vogtinator

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1193
  • Rating: +108/-5
  • Instruction counter
    • View Profile
Re: New TI-Nspire emulator: Firebird Emu
« Reply #44 on: December 15, 2015, 01:46:43 pm »
Quote
Just to ask: why GPL3 and not MIT?
The work put into firebird should always be accessible to everyone in form of source code, the MIT license allows to use any part of the source in any product (even commercial) without having to open source it as well.