This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Messages - Vogtinator
Pages: 1 ... 26 27 [28] 29 30 ... 83
406
« on: June 24, 2014, 01:08:48 pm »
I found it: It's the call to longjmp that doesn't reach setjmp again. But how can "restart_after_exception" get corrupted?
I found that some (older) MinGW versions have a bug that setjmp puts garbage into ebp, but the workaround -fno-omit-frame-pointer doesn't help so it's probably another bug. Can you make a write breakpoint in gdb on restart_after_exception and longjmp in data_abort? The contents of restart_after_exceptions have to be the same as after the initial call to setjmp.
Edit: Set up a Win7 VM and compiled it. With gdb it outputs the same emu.c:551, argc = 65535, argv=something weird, and it indeed segfaults at main + 2088: call sched_process_pending_events(). As call pushes eip onto the stack ($esp), but $esp is somehow 0x10, it segfaults. That also explains why argc and argv are weird, they're stored on the stack.
407
« on: June 24, 2014, 11:43:28 am »
Then it may just be my self-compiled ndless_installer which does something different then. Could you try it on the not-mingw version with data abort printf()?
And I don't really know how to use GDB, but if I read it correctly the call to sched_process_pending_events() segfaults once before crashing the second time?
408
« on: June 24, 2014, 08:13:00 am »
I know this is not clean but I think it is better than the "prefix" solution there's in your makefile because prefix is tipically used for other things in a makefile. You did it almost like I'd have done it, I'd just have a common section for not linux-native Makefile lines and a section for both MinGW and windows native builds. And I'm getting a message, that "_WIN32_WINNT" would be redefined in gui-windows.c, so you may want to surround it with #ifndef. Also you could help me finding the bug that prevents me from installing ndles 3.6 on a mingw compiled nspire_emu. Could you add printf("Data abort: address=%08x status=%02x pc=%08x\n", mva, status, arm.reg[15]); at the top of data_abort in emu.c and launch ndless_installer? For me it outputs Data abort: address=0101010d status=01 pc=102fd8e4 before "Segmentation fault". As it seems there's more people interested in a Qt gui I will think about it but a lot of work must be done before that. The Qt GUI for linux could then be used as-is for windows as well, so not more work than removing gui-windows.c
409
« on: June 23, 2014, 11:20:28 am »
Compiles fine for me, but it's "nspire emulator v0.61", the latest is "nspire emulator v0.70[+Ndless-SDK patches]". Also, why GTK for GUI? I'd use Qt for both platforms. And could you include an option to do a windows build on linux, as it's impossible for me to test it?
410
« on: June 22, 2014, 04:57:34 pm »
411
« on: June 22, 2014, 04:39:50 pm »
Can you install ndless 3.6 successfully on your build of nspire_emu?
412
« on: June 20, 2014, 03:44:11 pm »
Just a quick update: I'm currently busy on vacation and next week school starts again so I'm busy learning and other unnecessary duties. Redstone is fully implemented, but some blocks are still missing, so it's not very useful yet. However, I worked a bit on my ndless fork and got exceptions to work! It's a rather nice feature, to minimize possible crashes. Also, it'll be using a new executable format which will load faster and maybe also make the game faster! It'll take a while to implement it in both ndless 3.6 and 3.1 though, I don't want that it runs on 3.6 only.
413
« on: June 15, 2014, 02:19:23 pm »
1. Does it matter if I try to printf to the console ( serial port ? ) and there is no receiver connected ? From my program failure it appears so but I rather have the printfs() in so I can debug using nspire_emu. Are there other pitfalls that do not occur in nspire_emu but do on real hardware that can cause something like this ? Don't call printf on real hardware, just use a macro like #ifdef DEBUG #define debug(x, ...) printf(x, __VA_ARGS__) #else #define debug(x, ...) #endif
and only define DEBUG if you're using the emulator. The HW waits for the data to be transmitted, nspire_emu doesn't wait and just emits it. This can cause a huge slowdown on HW. Also, nspire_emu is a lot faster in some cases, but if you're doing heavy IO, such as memory access, it's roughly the same.
414
« on: June 15, 2014, 12:22:26 pm »
Hmm, lua extensions do definitely work, as clearly visible in the luaext.c file. It's used for ndless 3.6 uninstallation, and that seems to work.
415
« on: June 15, 2014, 08:06:46 am »
No, native Lua extensions are an ndless thing. I'll try it, when I've got some time again.
416
« on: June 14, 2014, 03:58:51 pm »
Question: In the menu, how are we supposed to save? When choosing save I tried the Menu, dot, 5, esc and Enter keys and whichever worked doesn't appear to save properly. When I restart the game and try to reload the map, it does nothing so I lose all my progress. Just press "menu" then either the touchpad or clickpad "click" or the 5 key. It should freeze for a short time and then close the menu. Or just press Esc to "Save & Exit" in-game. If it doesn't work, could you post your current crafti.map.tns if you have one?
418
« on: June 12, 2014, 07:20:36 pm »
Bad news: With newer MinGW versions it compiles and runs sucessfully, but the 3.6 ndless_installer.tns segfaults the emulator. Any ideas?
419
« on: June 11, 2014, 05:53:25 pm »
While I actually like gotos for such purposes, I'm not able to change the C++ standard and it's implementation.
420
« on: June 11, 2014, 02:38:34 pm »
How exactly would you use std::vector in C? Also, push_back has no return value, an exception (std::bad_alloc, AFAIK) is thrown on malloc failure.
Pages: 1 ... 26 27 [28] 29 30 ... 83
|