Views: 6,492,349 Homepage | Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search 02-29-24 09:26 PM

Main - Posts by Dawn

Posted on 03-30-17 05:26 AM, in melonDS 0.1 Link | #10
On (a very heavily hacked-up) Ubuntu 14.04, I got the following error when running the binary:

./melonDS: relocation error: ./melonDS: symbol _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_createERmm, version GLIBCXX_3.4.21 not defined in file with link time reference

This sort of thing is easily solved if I were to just build the program from source myself, but I'm not going to bother with CodeBlocks today at least (I think something about potentially adopting CMake was mentioned? That would be very nice...)

At any rate, congrats on the first release! Looking forward to further development.

Posted on 03-30-17 07:13 PM, in melonDS 0.1 Link | #18
OK, tweaking the compile command you gave a bit I got melonDS building on my system.

It's worth noting that SDL_PIXELFORMAT_RGBA32 (found in src/wx/main.cpp) only exists on SDL 2.0.5 (which is the latest version at this time), so you will need to update your SDL2 installation to the latest version if it isn't already when building melonDS.

When the ARM7/ARM9 BIOS files aren't found, the program segfaults.
As a bare minimum, I would call exit(EXIT_FAILURE) after printing the error about not finding the files rather than just letting the program truck along until it inevitably crashes into a wall. In the long term, you'll want to provide a GUI message for people who aren't running their programs from a terminal window, of course...

Tried playing Pokemon Platinum (US) for kicks, got a ton of "unknown arm7 read32" messages followed by a few "undefined ARM7 instruction"s and finally Halt() and "bad MRC opcode p14,2,15,7 on ARM7".
Also tried playing Jump Ultimate Stars (J), but also got a ton of "unknown arm7 read32" msgs followed by some "undefined ARM7 instruction"s and a Halt() (but no "bad MRC opcode" whatnot)

Those are the only two games I've backed up using my 3DS at the moment, I should back up some more so I can test some more games (and at least get something to actually run lol)

Input configuration works excellently thanks to your use of SDL2!
Many emulators have really crummy input configuration so I'm very glad to see you using SDL2 here.
It's worth noting that on Linux, there are two systems for joystick configuration- "joydev" and "evdev".
SDL1 supported using both systems under the hood, but SDL2 exclusively uses the newer system, "evdev" (which should be perfectly fine).
SDL2 has a GameController API that is built on top of the more raw Joystick API, and the Joystick API is what abstracts away evdev from you when targetting Linux as a platform.
I haven't poked my head in your code to see what you're doing for input yet, but it's probably worth taking some time to look at the SDL2 wiki to learn more about its input API (because when used effectively, it's the best cross-platform input API there is out there).

It's also worth noting that Dolphin (which one might consider a shining example for other emulators to follow), uses evdev directly when running on Linux, if I recall correctly.
Honestly though, your use of SDL2's input API will do just as well, if not better.

Finally, for the context menus or whatever they're called (File, System, Settings), it's a bit annoying when you can't use a shortcut like "Alt+F" to select one of those menus.
There ought to be some way of configuring those shortcuts in wxWidgets, but I haven't used the library myself so I don't know exactly how you'd go about it.
Something around here, maybe...

OK, that's all I've got for now.

Main - Posts by Dawn

Page rendered in 0.029 seconds. (2048KB of memory used)
MySQL - queries: 22, rows: 67/67, time: 0.016 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.