Kodi Community Forum
Integrated Video Game Emulators - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Kodi Application (https://forum.kodi.tv/forumdisplay.php?fid=93)
+---- Forum: RetroPlayer Development (https://forum.kodi.tv/forumdisplay.php?fid=194)
+---- Thread: Integrated Video Game Emulators (/showthread.php?tid=146711)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44


RE: Integrated Video Game Emulators - drivesoslow - 2013-02-28

(2013-02-28, 21:08)cfetzer Wrote: Nice work, had to try that! Unfortunately it crashes as soon as I start a game (doesn't matter what emu is used).
I can however sometimes see a couple of frames.
Crashlog looks always like this:

Code:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fbdfffff700 (LWP 10708)]
fast_memcpy (to=0x10, from=0x7fbdec078aa0, len=57296) at fastmemcpy.c:197
197            small_memcpy(to, from, delta);
(gdb) bt
#0  fast_memcpy (to=0x10, from=0x7fbdec078aa0, len=57296) at fastmemcpy.c:197
#1  0x0000000000a1bfc5 in CDVDCodecUtils::CopyPicture (pImage=0x7fbdffffec40, pSrc=0x7fbdec0008f0) at DVDCodecUtils.cpp:116
#2  0x0000000000b2e65d in CXBMCRenderManager::AddVideoPicture (this=0x16620a0 <g_renderManager>, pic=...) at RenderManager.cpp:842
#3  0x0000000000b27dde in CRetroPlayerVideo::Process (this=0x33a1de8) at RetroPlayerVideo.cpp:137
#4  0x00000000010ac600 in CThread::Action (this=0x33a1de8) at Thread.cpp:218
#5  0x00000000010ac8b2 in CThread::staticThread (data=0x33a1de8) at Thread.cpp:128
#6  0x00007fbe99b19e0f in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007fbe95a09efd in clone () from /usr/lib/libc.so.6

Somehow xbmc doesn't include the stack trace in the crashlog for me on archlinux, that's why I just added the trace above.
Does that help?

Since you are not on Ubuntu I would try compiling the emulators manually

http://forum.xbmc.org/showthread.php?tid=146711&pid=1349050#pid1349050

http://forum.xbmc.org/showthread.php?tid=146711&pid=1343565#pid1343565

In fact anyone who has problems with the actual emulators should try compiling their own since those in the repo are Windows and 64bit Linux only.


RE: Integrated Video Game Emulators - BLKMGK - 2013-03-01

I appear to have successfully moved to the new branch and am compiling now. I was able to do this late last night but compilation failed, new changes today so I'm hoping we get a success. Much thanks for the git lesson from both of you - I hope it was also helpful to others who are following along! Awesome that we're closer to mainline code. Not too many changes have been happening there of late it seems but good to catch-up and not drift too far IMO.

Getting sound, even out of synch, will be pretty cool. I need to solve the joystick issue at some point - issue as in WTF to use and install. I worked on Sixaxis the other day using a wired connection and was able to navigate some but hit some combo that drove it completely nuts - it was even firing after I pulled the USB cord! Are there plans to try and move any code into XBMC to directly support joysticks in the future or will there always be a reliance on getting things like Sixaxis working in the OS? I will likely try the 360 hardware next when I have some time and am curious as to what is working best for others and if there are any good walkthroughs on getting good operation.

Edit: LibDVD isn't compiling of all things! Going to repull and see if i can solve this as that's something I doubt this branch has modified?

make[1]: Entering directory `/home/blkmgk/xbmc/lib/libdvd/libdvdnav'
make[1]: *** No rule to make target `/home/blkmgk/xbmc/lib/libdvd/libdvdnav/src/dvd_types.h', needed by `dvdnav.o'. Stop.
make[1]: Leaving directory `/home/blkmgk/xbmc/lib/libdvd/libdvdnav'


RE: Integrated Video Game Emulators - Jaeensson - 2013-03-01

(2013-03-01, 00:27)BLKMGK Wrote: I appear to have successfully moved to the new branch and am compiling now. I was able to do this late last night but compilation failed, new changes today so I'm hoping we get a success. Much thanks for the git lesson from both of you - I hope it was also helpful to others who are following along! Awesome that we're closer to mainline code. Not too many changes have been happening there of late it seems but good to catch-up and not drift too far IMO.

Getting sound, even out of synch, will be pretty cool. I need to solve the joystick issue at some point - issue as in WTF to use and install. I worked on Sixaxis the other day using a wired connection and was able to navigate some but hit some combo that drove it completely nuts - it was even firing after I pulled the USB cord! Are there plans to try and move any code into XBMC to directly support joysticks in the future or will there always be a reliance on getting things like Sixaxis working in the OS? I will likely try the 360 hardware next when I have some time and am curious as to what is working best for others and if there are any good walkthroughs on getting good operation.

Edit: LibDVD isn't compiling of all things! Going to repull and see if i can solve this as that's something I doubt this branch has modified?

make[1]: Entering directory `/home/blkmgk/xbmc/lib/libdvd/libdvdnav'
make[1]: *** No rule to make target `/home/blkmgk/xbmc/lib/libdvd/libdvdnav/src/dvd_types.h', needed by `dvdnav.o'. Stop.
make[1]: Leaving directory `/home/blkmgk/xbmc/lib/libdvd/libdvdnav'

I've got the same problem actually Confused


RE: Integrated Video Game Emulators - BLKMGK - 2013-03-01

Poking around it does look like that was a file modifed in this branch so I guess something's gone wrong. Hang in there, will likely be fixed within a day or so.


RE: Integrated Video Game Emulators - garbear - 2013-03-01

I ran into the dvd problem too. Starting fresh (re-cloning) fixed it for me.

@cfetzer, the segfault comes from `fast_memcpy (to=0x10, from=0x7fbdec078aa0, len=57296)`. RetroPlayer provides the "from", XBMCRenderManager's CLinuxRendererGL object provides the "to". Not sure why it's sending an image whose first YUV plane is at address 0x10. Do videos play as well?


RE: Integrated Video Game Emulators - garbear - 2013-03-01

If emulators crash on load (though this wont fix cfetzer's problem) you can go into Settings -> Games -> Prefer loading files from memory. This fixes Gambatte, and possibly others.


RE: Integrated Video Game Emulators - BLKMGK - 2013-03-02

Successful load and compile here by starting from scratch and retaining the userdata directory. As expected music is choppy but when playing seems in synch. Looks good so far guys!


RE: Integrated Video Game Emulators - King Dude - 2013-03-03

Hey guys, thanks for all of this, especially Garbear for practically taking this whole thread on his shoulders. I'm only learning C++ right now, but if there's any way I can contribute hit me up with the task. I'd be very glad to help in any way I can.


RE: Integrated Video Game Emulators - fetzerch - 2013-03-03

(2013-02-28, 21:08)cfetzer Wrote: Nice work, had to try that! Unfortunately it crashes as soon as I start a game (doesn't matter what emu is used).
I can however sometimes see a couple of frames.
Crashlog looks always like this:

Code:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fbdfffff700 (LWP 10708)]
fast_memcpy (to=0x10, from=0x7fbdec078aa0, len=57296) at fastmemcpy.c:197
197            small_memcpy(to, from, delta);
(gdb) bt
#0  fast_memcpy (to=0x10, from=0x7fbdec078aa0, len=57296) at fastmemcpy.c:197
#1  0x0000000000a1bfc5 in CDVDCodecUtils::CopyPicture (pImage=0x7fbdffffec40, pSrc=0x7fbdec0008f0) at DVDCodecUtils.cpp:116
#2  0x0000000000b2e65d in CXBMCRenderManager::AddVideoPicture (this=0x16620a0 <g_renderManager>, pic=...) at RenderManager.cpp:842
#3  0x0000000000b27dde in CRetroPlayerVideo::Process (this=0x33a1de8) at RetroPlayerVideo.cpp:137
#4  0x00000000010ac600 in CThread::Action (this=0x33a1de8) at Thread.cpp:218
#5  0x00000000010ac8b2 in CThread::staticThread (data=0x33a1de8) at Thread.cpp:128
#6  0x00007fbe99b19e0f in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007fbe95a09efd in clone () from /usr/lib/libc.so.6

Turned out that I was trying to run this while still using FernetMenta's xvba patches.
Removing those resolved the crashes for me.
Sorry for the noise. However, at some point it would be nice to use them together, since they improve vdpau video playback a lot.

So far really a great job!


RE: Integrated Video Game Emulators - BLKMGK - 2013-03-03

XVBA patches for AMD improved VDPAU which is NVIDIA GPU acceleration? I'm confused and I use VDPAU. Don't want to junk up this thread but if you could point me to where there's discussion of this or PM me details I'm interested. Both of my main machines are VDPAU accelerated.


RE: Integrated Video Game Emulators - fetzerch - 2013-03-03

http://forum.xbmc.org/showthread.php?tid=116996 It's more or less a huge rewrite of the graphics stack and contains also a vdpau rewrite.


RE: Integrated Video Game Emulators - garbear - 2013-03-04

ALMOST ready to start the axis code Smile I ripped out XBMC's joystick support, along with my ghetto input hackjob, and replaced it with PR2370 . Tracking multiple joysticks is built directly into the new abstraction. Adding new systems and APIs is minimal, once the new API code is written my JoystickManager does the rest. Koying might be looking into analog joystick support on Android soon. I added XInput to the joystick APIs, so if you're on win32 all 360-like controllers will work out of the box, no adding names to joystick.xml or anything, and can coexist with older DirectInput controllers at the same time.


The new joystick abstraction is young, so it could use some testing.


Next up is axis support, so that the axes can be used as a d-pad. Anything else our new input system should include?


RE: Integrated Video Game Emulators - holydhaliwal - 2013-03-04

(2013-03-04, 15:09)garbear Wrote: ALMOST ready to start the axis code Smile I ripped out XBMC's joystick support, along with my ghetto input hackjob, and replaced it with PR2370 . Tracking multiple joysticks is built directly into the new abstraction. Adding new systems and APIs is minimal, once the new API code is written my JoystickManager does the rest. Koying might be looking into analog joystick support on Android soon. I added XInput to the joystick APIs, so if you're on win32 all 360-like controllers will work out of the box, no adding names to joystick.xml or anything, and can coexist with older DirectInput controllers at the same time.


The new joystick abstraction is young, so it could use some testing.


Next up is axis support, so that the axes can be used as a d-pad. Anything else our new input system should include?

I don't know if this is even possible or if it falls under this category but when I was running emulators using windows + advanced launcher I would use Event Ghost to allow for multiple button combination functions. For example i had it set so that if I pressed (on a ps3 controller) L1+R1+Start it would Save State and if I did L1+L2+Select it would load state. So yeah if that kind of thing is possible at all that would be awesome I think! And even something like pressing the PS button (or the Xbox button on the 360 controller) to quit emulators or something, so that we don't have to bust out the keyboard to leave the emulator...OR if you implemented an Exit button on the OSD then maybe pressing the PS/Xbox button would open up the OSD. Haha anyways I don't know how complicated functions like that would be so I'm just saying them for the sake of saying them mostly.


RE: Integrated Video Game Emulators - garbear - 2013-03-04

Definitely possible without much effort

I'll add key actions to save/load, once I start savestate management save/load using multi-button combos will be possible from event ghost. Currently you can send the Stop action from event ghost and it'll quit the game. I think by default the left stick also does this, and is configurable via joystick.xml.

Got any more ideas, event the complicated ones, let me know Smile


RE: Integrated Video Game Emulators - bry - 2013-03-04

garbear Wrote: Got any more ideas, event the complicated ones, let me know Smile

A third party app that will scrape/sort metadata for roms Smile