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 - garbear - 2013-03-21

"emulators in xbmc" shouldn't be possible, but i've never let something like that stop me before Wink


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

(2013-03-21, 07:12)garbear Wrote: "emulators in xbmc" shouldn't be possible, but i've never let something like that stop me before Wink
Very true. But with most games you have to save through the game itself (Press Start --> Save Game) rather than through the system itself, if that makes sense. Will this work the same as conventional saves, or will it be different?


RE: Integrated Video Game Emulators - Bstrdsmkr - 2013-03-21

Different. Save states just dump the ram or "state" to disk, so if you're mid jump, you'll still be mid jump when you load up


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

Saving through the game itself isn't currently supported (fortunately, this might have a really simple solution when I finally look into it). This new system is just serializing to disk a copy of the game's internal state (internal ram, palette ram, video ram, sprite memory, IO state, eeprom, flash, sound buffer, realtime clock).

"Save states" have been in RetroPlayer for a long time. For instance, rewinding through 60 seconds of gameplay needs 3,600 save states to be held in memory. Which is why save states are so much cooler than save games in the first place.

Back to my original question: what tweaks do you guys recommend to my three new settings?

Automatically save game states while playing: (yes/no)
- Save state interval (min, 1m; default, 5m; max, 120m)
- Maximum number of automatic saves: (min, 10; default, 10; max, 100)


RE: Integrated Video Game Emulators - N3MIS15 - 2013-03-21

Compiled fine under linux. Runs pretty good too. I am experiencing the slight delay/pause when autosaving states that was posted on github. Disabling autosave fixes it.

(2013-03-21, 07:56)garbear Wrote: Back to my original question: what tweaks do you guys recommend to my three new settings?

Automatically save game states while playing: (yes/no)
- Save state interval (min, 1m; default, 5m; max, 120m)
- Maximum number of automatic saves: (min, 10; default, 10; max, 100)

Sounds good, but i dont see why the minimum number of saves should be 10, why not 1?

Another thing that happened was xbmc crahsed when stopping the game with my remote. here is the end of the crashlog from when i pressed stop.
Quote:17:39:32 T:3019519760 DEBUG: LIRC: Update - NEW at 674614:000000037ff07be6 00 KEY_STOP mceusb (KEY_STOP)
17:39:32 T:3019519760 DEBUG: OnKey: 224 (0xe0) pressed, action is Stop
17:39:32 T:3019519760 DEBUG: RetroPlayer: Closing file
17:39:32 T:3019519760 INFO: GameClient: Auto-save
17:39:32 T:3019519760 DEBUG: CSavestate: Writing "special://masterprofile/Savegames/gameclient.bsnes.balanced/3f28b5aa.savestate"
17:39:32 T:3019519760 DEBUG: cached image 'special://masterprofile/Savegames/gameclient.bsnes.balanced/3f28b5aa.png' size 360x314
17:39:32 T:3017075568 DEBUG: CSoftAEStream::GetFrame - Underrun
17:39:32 T:2569001840 WARNING: CRenderManager::FlipPage - timeout waiting for flip to complete



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

N3MIS15 Wrote:Compiled fine under linux. Runs pretty good too. I am experiencing the slight delay/pause when autosaving states that was posted on github. Disabling autosave fixes it.
Code:
>------ Skipped Build: Project: libbson-c ------
3>Project not selected to build for this solution configuration
VS was skipping the project. Right clicking and forcing a compile might fix the problem. The stutter should go away when I move the autosaving off-thread.

N3MIS15 Wrote:Sounds good, but i dont see why the minimum number of saves should be 10, why not 1?
If you disable autosave, but enable "Automatically load previous game state", the effect of the setting is to autosave on exit, so this is essentially 1 autosave. In that regard, the additional setting is for those wanting a running save state "archive", such as our friend holydhaliwal:

holydhaliwal Wrote:The main reason this is particularly useful in my opinion is that certain games (mainly rpgs) can get stuck if you save state in the wrong spot, where you would save state and be unable to leave the area due to the mechanics or story progression of the game or whatever reason.



RE: Integrated Video Game Emulators - Bstrdsmkr - 2013-03-21

A key action to jump back x configurable number of seconds would be awesome.
This thing needs it's own section. If PVR got one, this awesomeness deserves it lol.I like the limits you mentioned, but could it not also be configurable by disk space? For example, fce gets 100mb of storage to squeeze in as many auto saves as it can.A couple of new requests in this area:
Are you familiar with the old xport ports for the original Xbox? They had a feature for loading game genie cheats from text files, which are just ram edits.They also had a search mode that you could enable, do something in game, then see what values changed.
From there you could freeze or change that value and save it As a cheat


Re: RE: Integrated Video Game Emulators - mwaterbu - 2013-03-21

(2013-03-21, 07:56)garbear Wrote: Back to my original question: what tweaks do you guys recommend to my three new settings?

Automatically save game states while playing: (yes/no)
- Save state interval (min, 1m; default, 5m; max, 120m)
- Maximum number of automatic saves: (min, 10; default, 10; max, 100)

I like this idea! I think it would be cool to include this into the rewind feature too. For instance if I have 1 minute save states turned on, and I start rewinding, but need to go past the last rewind state, the game would start jumping backwards through my auto save states (essentially rewinding one minute at a time), so you would still be rewinding, but with decreased precision. It might also be nice if you could auto save every 30 seconds as a minimum instead of 1 minute.


RE: Integrated Video Game Emulators - vicbitter - 2013-03-21

In case anyone would like to try Garbear's excellent XBMC emulator fork, I have created a custom OpenELEC builds...

OpenELEC Retroplayer3 builds

edit by garbear:

I support 3rd-party builds, and please distribute the following notice with them:
Code:
This is a 3rd-party build of XBMC built on 2013-03-20. Support is offered
at <http://forum.xbmc.org/showthread.php?tid=146711&pid=1336026#pid1336026>
BUT ONLY IF:

* YOU READ BACKWARD PAST THE BUILD DATE looking for updates on your issue.
* YOU POST A DEBUG LOG via <http://xbmclogs.com>
* YOU POST A DEBUG LOG via <http://xbmclogs.com>
* If a rom isn't working, experiment with Settings -> Games -> Debug. You should
  then try that rom in RetroArch using the same emulator core. If it works in
  RetroArch BUT NOT xbmc, then you may post about it.
* You agree that in testing this, you are part of the development effort making XBMC
  even more badass than it already is :)

Please see <http://xbmc.org/about/xbmc-software/> for Team-XBMC's stance on official
software.



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

Garbear you moving to a 4th branch?


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

Yup, soon. Might not last long, there's a chance I'll bump to a 5th branch on march 31st because I like to stay on top of the merge windows.


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

(2013-03-21, 16:27)Bstrdsmkr Wrote: A key action to jump back x configurable number of seconds would be awesome.
These key actions exist, "StepBack" and "BigStepBack". In DVDPlayer the defaults are 1% and 10%. I forget what the defaults are in RetroPlayer, what do you think good values are?
Bstrdsmkr Wrote:I like the limits you mentioned, but could it not also be configurable by disk space? For example, fce gets 100mb of storage to squeeze in as many auto saves as it can.
Too difficult, fce plays different games, how to prioritize which get the most number of saves?
Bstrdsmkr Wrote:Are you familiar with the old xport ports for the original Xbox? They had a feature for loading game genie cheats from text files, which are just ram edits.They also had a search mode that you could enable, do something in game, then see what values changed. From there you could freeze or change that value and save it As a cheat
Cheats are a must Smile A cheat "discovery" engine will never happen, as that can be done in other programs. But a generic cheat engine is a likely addition. I've looked into it and I can hammer out a cheat engine in a few hours, but honestly, the biggest difficulty here will be the user interface. If you guys could start throwing some ideas at the wall, maybe we can get the ball rolling on this. (general goals, design requirements, resources, pre-existing work)

(2013-03-21, 18:12)mwaterbu Wrote: I like this idea! I think it would be cool to include this into the rewind feature too. For instance if I have 1 minute save states turned on, and I start rewinding, but need to go past the last rewind state, the game would start jumping backwards through my auto save states (essentially rewinding one minute at a time), so you would still be rewinding, but with decreased precision. It might also be nice if you could auto save every 30 seconds as a minimum instead of 1 minute.
After some thought I'm going to strike down both ideas. The advantage of rewinding is perceiving the chronological continuity - discrete jumps in time break the perception, and as a result you've lost your "feel" for how far back in time you've traveled. Contrast against choosing a save state from the GUI. That "feel" comes from reading the timestamp and playtime of the save state, and anchors your idea of when in time that save state will take you.

However, your suggestion brings something to my attention - the current playtime should be displayed in the save state manager so the user has a better idea of how far in the past/future the save states are.

And auto saving every 30 seconds seems kind of pointless when you can rewind for 60 seconds. For that matter, if you set rewind time to 10 minutes, sub-10-minute auto saves seem kind of pointless.


RE: Integrated Video Game Emulators - Bstrdsmkr - 2013-03-22

(2013-03-22, 02:05)garbear Wrote:
(2013-03-21, 16:27)Bstrdsmkr Wrote: A key action to jump back x configurable number of seconds would be awesome.
These key actions exist, "StepBack" and "BigStepBack". In DVDPlayer the defaults are 1% and 10%. I forget what the defaults are in RetroPlayer, what do you think good values are?
That's a pretty personal preference, just about everyone will have a personal opinion. For me personally, I like 10sec and 30sec

(2013-03-22, 02:05)garbear Wrote:
Bstrdsmkr Wrote:I like the limits you mentioned, but could it not also be configurable by disk space? For example, fce gets 100mb of storage to squeeze in as many auto saves as it can.
Too difficult, fce plays different games, how to prioritize which get the most number of saves?
lol In my head I was thinking per game, not per emu. I'm associating this with Windows' Restore Points functionality where is gets a limited amount of space and when that's full, it pops the oldest one from the stack

(2013-03-22, 02:05)garbear Wrote:
Bstrdsmkr Wrote:Are you familiar with the old xport ports for the original Xbox? They had a feature for loading game genie cheats from text files, which are just ram edits.They also had a search mode that you could enable, do something in game, then see what values changed. From there you could freeze or change that value and save it As a cheat
Cheats are a must Smile A cheat "discovery" engine will never happen, as that can be done in other programs. But a generic cheat engine is a likely addition. I've looked into it and I can hammer out a cheat engine in a few hours, but honestly, the biggest difficulty here will be the user interface. If you guys could start throwing some ideas at the wall, maybe we can get the ball rolling on this. (general goals, design requirements, resources, pre-existing work)
I found a vid that shows a brief flash of one of the xport emu's cheats menu here: http://youtu.be/K7FZmZoz2EA?t=4m23s and a short description of how the "discovery engine" worked here: http://forums.xbox-scene.com/index.php?act=ST&f=17&t=46774&st=0&hl=
Xport had a db file that contained all the known cheats which you updated regularly. The modern equivalent would be stored on a web server somewhere I suppose. I imagine hitting a button on the OSD (like for subtitles now) which brings up a list available cheats for the current game. Take Confluence's Media Info view and add an enable/disable button to the left of each title. The Plot box would contain a description of the cheat. Although while spelling all this out, it occurs to me that the ui isn't really your problem. That should really be handled by the skinners.

If you want to get super nifty, a button to dump the last say 90 seconds of gameplay to disk, then later render it to video would be amazing.


RE: Integrated Video Game Emulators - N3MIS15 - 2013-03-22

I agree with Bstrdsmkr when it comes to xport and their cheat system. it worked very well.

Xport emu's are all open source under gplv2. The source code can be found on x bins.


RE: Integrated Video Game Emulators - N3MIS15 - 2013-03-22

If you have never used xport emu cheat codes and want to see what they're about checkout the first part of this video
https://www.youtube.com/watch?v=WNzNWTc5-5k