π
<-
Chat plein-écran
[^]

firebird emulator for Linux

C, C++, ASM...

Re: firebird emulator for Linux

Unread postby parisse » 22 May 2020, 22:00

Vogtinator wrote:Yes, that's what firebird-send is for. Make sure that "remove debugging" is enabled and just run (example) "firebird-send ndless_resources.tns ndless".

Ok, that should work fine, is there documentation online?

parisse wrote:I have another major usability problem: firebird is almost freezing my virtual machine, it's not responsive at all (I just had to killall firebird-emu). I don't know if this is again a (qt?) misconfiguration problem. Or maybe because I enlarged the keypad?
I was hoping to use firebird in conjunction with gdb to debug khicas, but I'm afraid it won't be possible unless this can be fixed.

I've never heard of that issue before, maybe the VM does not have enough RAM? Or some graphics driver is behaving badly.

[/quote]
The VM has 4Go of RAM and about 3Go free. I suspect that's a problem with the graphic driver.

Another problem occured when I tried to save the snapshot configuration, I don't know if it's a qt misconfiguration or a null pointer in your code:
Code: Select all
qrc:/qml/qml/ConfigPageKits.qml:94: TypeError: Cannot read property 'flash' of null
qrc:/qml/qml/ConfigPageKits.qml:75: TypeError: Cannot read property 'boot1' of null
qrc:/qml/qml/ConfigPageKits.qml:59: TypeError: Cannot read property 'name' of null
qrc:/qml/qml/ConfigPageKits.qml:121: TypeError: Cannot read property 'snapshot' of null
qrc:/qml/qml/ConfigPageKits.qml:94: TypeError: Cannot read property 'myData' of null
qrc:/qml/qml/ConfigPageKits.qml:75: TypeError: Cannot read property 'myData' of null
qrc:/qml/qml/ConfigPageKits.qml:59: TypeError: Cannot read property 'myData' of null
qrc:/qml/qml/ConfigPageKits.qml:121: TypeError: Cannot read property 'myData' of null


@Adriweb: my OS X version on the mac is now about 5 years old and would certainly not be able to install many softwares. But I don't want to upgrade it, because I'm certain it would break things. Unfortunately many software developers behave the opposite, if you want to run their soft, you must have the latest versions of x, y and z. That's why I'm installing from time to time new linux versions inside VM.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 9.3%
 
Posts: 2179
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: firebird emulator for Linux

Unread postby Vogtinator » 22 May 2020, 22:22

parisse wrote:
Vogtinator wrote:Yes, that's what firebird-send is for. Make sure that "remove debugging" is enabled and just run (example) "firebird-send ndless_resources.tns ndless".

Ok, that should work fine, is there documentation online?

IIRC, it's mentioned in some tutorials somewhere, but other than firebird-send --help there is indeed no documentation provided by firebird itself.
parisse wrote:
parisse wrote:I have another major usability problem: firebird is almost freezing my virtual machine, it's not responsive at all (I just had to killall firebird-emu). I don't know if this is again a (qt?) misconfiguration problem. Or maybe because I enlarged the keypad?
I was hoping to use firebird in conjunction with gdb to debug khicas, but I'm afraid it won't be possible unless this can be fixed.

I've never heard of that issue before, maybe the VM does not have enough RAM? Or some graphics driver is behaving badly.

The VM has 4Go of RAM and about 3Go free. I suspect that's a problem with the graphic driver.

That should indeed be enough. Can you describe the freeze more in detail? Is it high CPU or RAM use?

parisse wrote:Another problem occured when I tried to save the snapshot configuration, I don't know if it's a qt misconfiguration or a null pointer in your code:
Code: Select all
qrc:/qml/qml/ConfigPageKits.qml:94: TypeError: Cannot read property 'flash' of null
qrc:/qml/qml/ConfigPageKits.qml:75: TypeError: Cannot read property 'boot1' of null
qrc:/qml/qml/ConfigPageKits.qml:59: TypeError: Cannot read property 'name' of null
qrc:/qml/qml/ConfigPageKits.qml:121: TypeError: Cannot read property 'snapshot' of null
qrc:/qml/qml/ConfigPageKits.qml:94: TypeError: Cannot read property 'myData' of null
qrc:/qml/qml/ConfigPageKits.qml:75: TypeError: Cannot read property 'myData' of null
qrc:/qml/qml/ConfigPageKits.qml:59: TypeError: Cannot read property 'myData' of null
qrc:/qml/qml/ConfigPageKits.qml:121: TypeError: Cannot read property 'myData' of null

This can happen on program exit when it's deconstructing, it should be harmless. I've never seen this particular case though. You have a Kit defined properly, right? Is a kit set as autostart?
User avatar
VogtinatorPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 59.4%
 
Posts: 161
Joined: 29 Mar 2014, 15:55
Gender: Male
Calculator(s):

Re: firebird emulator for Linux

Unread postby parisse » 23 May 2020, 07:53

Vogtinator wrote:Ok, that should work fine, is there documentation online?

IIRC, it's mentioned in some tutorials somewhere, but other than firebird-send --help there is indeed no documentation provided by firebird itself.
[/quote]
Where can I find documentation on how to cross-debug C code compiled with nspire-gcc/g++?

I Can you describe the freeze more in detail? Is it high CPU or RAM use?

It's VirtualBoxVM on the Mac OS that is running at 100%, inside the VM the CPU is running at about 15% to 30%. It's certainly virtualbox that requires too much time to redisplay the changes in firebird. If I close the keypad in firebird, VirtualBoxVM is running at 80%.
Any idea of what I can configure to improve that? I tried to modify the VM settings but without success, the only thing that improved the situation was to check HiDPI in the display settings, but after that the VM display was unreadable (too small), and when I rescaled it to 200% then I lost the improvement.
I could work without keyboard in firebird if I could configure the computer keyboard better for my needs: I would like for example that when I press + or - on the computer keyboard, I get + or - in the emulator (as you can imagine this two operators will be frequently used if I try to enter an expression), but this is not the case : - returns d/dx and + returns integral symbol. How do I press the on key without the keypad? Is it possible to change the computer keyboard layout?
And is it possible to copy/paste text input? That would greatly improve usability for debugging, I could set a breakpoing, paste a commandline input that generates a bug into the emulator, press Enter and raise the breakpoint and analyse with gdb.
I tried to compile firebird, but qmake returns an error
Project ERROR: Unknown module(s) in QT: quickwidgets
Something is missing in my install, but what?

This can happen on program exit when it's deconstructing, it should be harmless. I've never seen this particular case though. You have a Kit defined properly, right? Is a kit set as autostart?

I have no idea of what a kit is, anyway the Default kit is set in settings.

Thanks!
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 9.3%
 
Posts: 2179
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: firebird emulator for Linux

Unread postby Vogtinator » 23 May 2020, 11:30

parisse wrote:
Vogtinator wrote:
parisse wrote:Ok, that should work fine, is there documentation online?

IIRC, it's mentioned in some tutorials somewhere, but other than firebird-send --help there is indeed no documentation provided by firebird itself.

Where can I find documentation on how to cross-debug C code compiled with nspire-gcc/g++?


https://github.com/nspire-emus/firebird ... g-with-GDB

parisse wrote:
I Can you describe the freeze more in detail? Is it high CPU or RAM use?

It's VirtualBoxVM on the Mac OS that is running at 100%, inside the VM the CPU is running at about 15% to 30%. It's certainly virtualbox that requires too much time to redisplay the changes in firebird. If I close the keypad in firebird, VirtualBoxVM is running at 80%. Any idea of what I can configure to improve that? I tried to modify the VM settings but without success, the only thing that improved the situation was to check HiDPI in the display settings, but after that the VM display was unreadable (too small), and when I rescaled it to 200% then I lost the improvement.

If I remember correctly, VirtualBox has several options for display emulation, including different virtual adapters and hardware acceleration. It might be worth to try some different combinations.
parisse wrote:I could work without keyboard in firebird if I could configure the computer keyboard better for my needs: I would like for example that when I press + or - on the computer keyboard, I get + or - in the emulator (as you can imagine this two operators will be frequently used if I try to enter an expression), but this is not the case : - returns d/dx and + returns integral symbol. How do I press the on key without the keypad? Is it possible to change the computer keyboard layout?


The keyboard layout is currently not configurable, the list of assignments is here: https://github.com/nspire-emus/firebird ... ge.cpp#L24.
+ and - here map to + and - as expected, maybe try the numpad keys? It seems like with AZERTY layout typing + and - need Shift, so it actually inputs Shift-+ and Shift--.

parisse wrote:And is it possible to copy/paste text input? That would greatly improve usability for debugging, I could set a breakpoing, paste a commandline input that generates a bug into the emulator, press Enter and raise the breakpoint and analyse with gdb.


No, that would need OS cooperation (https://github.com/nspire-emus/firebird/issues/137). What you could do is either add code to trigger the desired input on startup directly or save a snapshot in firebird before you debug. That would have to follow the order of: Attach GDB, exit GDB, start the application in the emulator and input whatever you want, save a snapshot and attach the debugger. To resume from the snapshot, exit GDB, load the snapshot and attach GDB again.

parisse wrote:I tried to compile firebird, but qmake returns an error
Project ERROR: Unknown module(s) in QT: quickwidgets
Something is missing in my install, but what?


Copied from OBS: Build-Depends: debhelper (>= 9), qtbase5-dev (>= 5.9), qtdeclarative5-dev, qttools5-dev, qml-module-qtquick2, qttools5-dev-tools, zlib1g-dev

parisse wrote:
This can happen on program exit when it's deconstructing, it should be harmless. I've never seen this particular case though. You have a Kit defined properly, right? Is a kit set as autostart?

I have no idea of what a kit is, anyway the Default kit is set in settings.

Thanks!
User avatar
VogtinatorPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 59.4%
 
Posts: 161
Joined: 29 Mar 2014, 15:55
Gender: Male
Calculator(s):

Re: firebird emulator for Linux

Unread postby parisse » 23 May 2020, 13:55


The commandline there is wrong, it should be
Code: Select all
arm-none-eabi-gdb -ex "target remote localhost:3333" program.elf

And perhaps it would be nice to help a little users, by telling them that you will see that the emulator is now in debug mode, and that you can now insert breakpoints, and type c on the gdb commandline to resume program execution until a breakpoint is reached.
You have an excellent emulator/debugger but the documentation would benefit from being expanded, otherwise many people will probably not use all firebird possibilites or just abandon because something wrong happens.

Code: Select all
The keyboard layout is currently not configurable, the list of assignments is here: https://github.com/nspire-emus/firebird/blob/31cf21ca89e1d9f5c5512c829a69e71951fdea48/qtkeypadbridge.cpp#L24.
+ and - here map to + and - as expected, maybe try the numpad keys? It seems like with AZERTY layout typing + and - need Shift, so it actually inputs Shift-+ and Shift--.

I eventually found the file in the source code of firebird. I would recommend to add this link in the firebird presentation, it is very useful. I discovered there that Alt-Esc maps to the On key.
I don't have a numpad on my mac, I will use alt-+ for +. With the help of the shortcuts and without the keypad displayed, I'm now able to run firebird and it seems debugging will work.
Many thanks!

Copied from OBS: Build-Depends: debhelper (>= 9), qtbase5-dev (>= 5.9), qtdeclarative5-dev, qttools5-dev, qml-module-qtquick2, qttools5-dev-tools, zlib1g-dev

Could you add this somewhere on your page? I'm not familiar at all with qt and I lost time before I could compile firebird, this is very frustating. BTW, I add to git clone your repo, starting from the archive does not work because qmake asks for some git commands that do not work if you are starting from the source archive.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 9.3%
 
Posts: 2179
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: firebird emulator for Linux

Unread postby Vogtinator » 24 May 2020, 18:53

parisse wrote:

The commandline there is wrong, it should be
Code: Select all
arm-none-eabi-gdb -ex "target remote localhost:3333" program.elf

And perhaps it would be nice to help a little users, by telling them that you will see that the emulator is now in debug mode, and that you can now insert breakpoints, and type c on the gdb commandline to resume program execution until a breakpoint is reached.

Indeed, fixed now.
parisse wrote:You have an excellent emulator/debugger but the documentation would benefit from being expanded, otherwise many people will probably not use all firebird possibilites or just abandon because something wrong happens.

Yeah, documentation is definitely an area that needs improvement...
parisse wrote:
The keyboard layout is currently not configurable, the list of assignments is here: https://github.com/nspire-emus/firebird ... ge.cpp#L24.
+ and - here map to + and - as expected, maybe try the numpad keys? It seems like with AZERTY layout typing + and - need Shift, so it actually inputs Shift-+ and Shift--.

I eventually found the file in the source code of firebird. I would recommend to add this link in the firebird presentation, it is very useful. I discovered there that Alt-Esc maps to the On key.

Could be done, but I don't think it's in the right format - it would at least have to be converted into a readable table...
parisse wrote:I don't have a numpad on my mac, I will use alt-+ for +. With the help of the shortcuts and without the keypad displayed, I'm now able to run firebird and it seems debugging will work.
Many thanks!
Copied from OBS: Build-Depends: debhelper (>= 9), qtbase5-dev (>= 5.9), qtdeclarative5-dev, qttools5-dev, qml-module-qtquick2, qttools5-dev-tools, zlib1g-dev

Could you add this somewhere on your page? I'm not familiar at all with qt and I lost time before I could compile firebird, this is very frustating.

That's highly distro dependent and also changes frequently, so I would just point to the build recipes on OBS instead.

parisse wrote:BTW, I add to git clone your repo, starting from the archive does not work because qmake asks for some git commands that do not work if you are starting from the source archive.

Indeed, only the tarballs on the releases page contain the submodules as GitHub doesn't download them for other tags.
User avatar
VogtinatorPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 59.4%
 
Posts: 161
Joined: 29 Mar 2014, 15:55
Gender: Male
Calculator(s):

Previous

Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: No registered users and 2 guests

-
Search
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Découvre les nouvelles fonctionnalités en Python de l'OS 5.2 pour les Nspire CX II
Découvre les nouvelles fonctionnalités en Python de l'OS 5.5 pour la 83PCE/84+C-T Python Edition
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
835 utilisateurs:
>812 invités
>17 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)

-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)