Kodi Community Forum
RetroPlayer Test Builds (updated for Nexus) - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Game support (https://forum.kodi.tv/forumdisplay.php?fid=292)
+--- Thread: RetroPlayer Test Builds (updated for Nexus) (/showthread.php?tid=173361)



RE: RetroPlayer Test Builds (updated for Isengard) - garbear - 2015-12-21

(2015-12-19, 20:53)charlie0440 Wrote: @garbear feel free to add it to the first post

Done. Thanks!


RE: RetroPlayer Test Builds (updated for Isengard) - merlink - 2015-12-21

Didn't find something in the logs, so I will test the new openelec build this evening.

I will inform you if there are some news.


Crash on playing MSX games - Rollingstone - 2015-12-21

Hi!
I succesfully installed OpenELEC 6.0.0 with the latest Retroplayer update (x86 64bits). SNES games run fine and it is great to play those again. However, the MSX games won't work. I already figured out that BlueMSX cannot deal with .zip files, so I unzipped them. But Kodi crashes when selecting even the simplest .rom file. I have a crash report here (only last few lines where I thought it would get interesting).

Can you help me?

Code:
15:15:00 T:140672396908416   DEBUG: CGUIMediaWindow::GetDirectory (/var/media/sda2-ata-Samsung_SSD_840_/ROMS/)
15:15:00 T:140672396908416   DEBUG:   ParentPath = [/var/media/sda2-ata-Samsung_SSD_840_/]
15:15:00 T:140672396908416   DEBUG: Joystick Microsoft X-Box 360 pad: Button 0 released
15:15:00 T:140672396908416   DEBUG: CGenericJoystickInputHandling: game.controller.default feature [ a ] released
15:15:00 T:140672396908416   DEBUG: Event handled
15:15:00 T:140672396908416    INFO: CheckIdle - Closing session to http://localhost (easy=0x7ff0b0807250, multi=0x7ff0b06dce00)
15:15:00 T:140672396908416    INFO: CheckIdle - Closing session to http://offshoregit.com (easy=0x7ff0b0827d50, multi=0x7ff0b06df360)
15:15:01 T:140672396908416   DEBUG: Joystick Microsoft X-Box 360 pad: Button 0 pressed
15:15:01 T:140672396908416   DEBUG: CGenericJoystickInputHandling: game.controller.default feature [ a ] pressed
15:15:01 T:140672396908416   DEBUG: Event handled
15:15:01 T:140672396908416   DEBUG: CGUIMediaWindow::GetDirectory (/var/media/sda2-ata-Samsung_SSD_840_/ROMS/MSX/)
15:15:01 T:140672396908416   DEBUG:   ParentPath = [/var/media/sda2-ata-Samsung_SSD_840_/ROMS/]
15:15:01 T:140672396908416   DEBUG: Joystick Microsoft X-Box 360 pad: Button 0 released
15:15:01 T:140672396908416   DEBUG: CGenericJoystickInputHandling: game.controller.default feature [ a ] released
15:15:01 T:140672396908416   DEBUG: Event handled
15:15:02 T:140672034723584    INFO: AddOnLog: Joystick Support: CJoystickInterfaceLinux::Initialize: opening joystick /dev/input/js0
15:15:03 T:140672396908416   DEBUG: Joystick Microsoft X-Box 360 pad: Button 0 pressed
15:15:03 T:140672396908416   DEBUG: CGenericJoystickInputHandling: game.controller.default feature [ a ] pressed
15:15:03 T:140672396908416   DEBUG: Event handled
15:15:03 T:140672396908416   DEBUG: Loading settings for /var/media/sda2-ata-Samsung_SSD_840_/ROMS/MSX/Galaga (J).rom
15:15:03 T:140672396908416   DEBUG: CPlayerCoreFactory::GetPlayers(/var/media/sda2-ata-Samsung_SSD_840_/ROMS/MSX/Galaga (J).rom)
15:15:03 T:140672396908416   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: system rules
15:15:03 T:140672396908416   DEBUG: CPlayerSelectionRule::GetPlayers: matches rule: system rules
15:15:03 T:140672396908416   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: hdhomerun/mms/udp
15:15:03 T:140672396908416   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: lastfm/shout
15:15:03 T:140672396908416   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: rtmp
15:15:03 T:140672396908416   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: rtsp
15:15:03 T:140672396908416   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: streams
15:15:03 T:140672396908416   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: dvd
15:15:03 T:140672396908416   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: dvdimage
15:15:03 T:140672396908416   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: sdp/asf
15:15:03 T:140672396908416   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: nsv
15:15:03 T:140672396908416   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: radio
15:15:03 T:140672396908416   DEBUG: CPlayerCoreFactory::GetPlayers: matched 0 rules with players
15:15:03 T:140672396908416   DEBUG: CPlayerCoreFactory::GetPlayers: adding retroplayer
15:15:03 T:140672396908416   DEBUG: CPlayerCoreFactory::GetPlayers: added 1 players
15:15:03 T:140672396908416    INFO: RetroPlayer: Opening: /var/media/sda2-ata-Samsung_SSD_840_/ROMS/MSX/Galaga (J).rom
15:15:03 T:140672396908416   DEBUG: RetroPlayer: ---------------------------------------
15:15:03 T:140672396908416   DEBUG: RetroPlayer: Game tag loaded
15:15:03 T:140672396908416   DEBUG: RetroPlayer: URL:
15:15:03 T:140672396908416   DEBUG: RetroPlayer: Platform:
15:15:03 T:140672396908416   DEBUG: RetroPlayer: Title:
15:15:03 T:140672396908416   DEBUG: RetroPlayer: Game Code:
15:15:03 T:140672396908416   DEBUG: RetroPlayer: Region:
15:15:03 T:140672396908416   DEBUG: RetroPlayer: Publisher:
15:15:03 T:140672396908416   DEBUG: RetroPlayer: Format:
15:15:03 T:140672396908416   DEBUG: RetroPlayer: Cartridge Type:
15:15:03 T:140672396908416   DEBUG: RetroPlayer: ---------------------------------------
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.2048, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.beetle-bsnes, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.beetle-gba, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.beetle-pce-fast, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.bluemsx, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: Adding client game.libretro.bluemsx as a candidate
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.bnes, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.bsnes-mercury, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.dosbox, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.fceumm, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.gambatte, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.genplus, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.nestopia, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.pcsx-rearmed, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.quicknes, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.stella, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.vba-next, that is the question
15:15:03 T:140672396908416   DEBUG: GameManager: To open or not to open using game.libretro.yabause, that is the question
15:15:03 T:140672396908416   DEBUG: ADDON: Dll Initializing - MSX (BlueMSX)
15:15:03 T:140672396908416   DEBUG: SECTION:LoadDLL(/usr/lib/kodi/addons/game.libretro/game.libretro.so)
15:15:03 T:140672396908416   DEBUG: Loading: /usr/lib/kodi/addons/game.libretro/game.libretro.so
15:15:03 T:140672396908416   DEBUG: CAddonCallbacksAddon - GetAddonSetting - add-on 'MSX (BlueMSX)' requests setting 'bluemsx_msxtype'
15:15:03 T:140672396908416   ERROR: CAddonCallbacksAddon - GetAddonSetting - could't get settings for add-on 'MSX (BlueMSX)'
15:15:03 T:140672396908416   ERROR: AddOnLog: MSX (BlueMSX): Setting bluemsx_msxtype not found by XBMC
15:15:03 T:140672396908416   DEBUG: CAddonCallbacksAddon - GetAddonSetting - add-on 'MSX (BlueMSX)' requests setting 'bluemsx_vdp_synctype'
15:15:03 T:140672396908416   ERROR: CAddonCallbacksAddon - GetAddonSetting - could't get settings for add-on 'MSX (BlueMSX)'
15:15:03 T:140672396908416   ERROR: AddOnLog: MSX (BlueMSX): Setting bluemsx_vdp_synctype not found by XBMC
15:15:03 T:140672396908416   DEBUG: CAddonCallbacksAddon - GetAddonSetting - add-on 'MSX (BlueMSX)' requests setting 'bluemsx_ym2413_enable'
15:15:03 T:140672396908416   ERROR: CAddonCallbacksAddon - GetAddonSetting - could't get settings for add-on 'MSX (BlueMSX)'
15:15:03 T:140672396908416   ERROR: AddOnLog: MSX (BlueMSX): Setting bluemsx_ym2413_enable not found by XBMC
15:15:03 T:140672396908416   DEBUG: Calling TransferSettings for: MSX (BlueMSX)
15:15:03 T:140672396908416    INFO: RetroPlayer: Using game client game.libretro.bluemsx at version 2.9.2
15:15:03 T:140672396908416   DEBUG: GameClient: Loading /var/media/sda2-ata-Samsung_SSD_840_/ROMS/MSX/Galaga (J).rom
15:15:03 T:140672396908416    INFO: Loading controller layout /usr/share/kodi/addons/game.controller.default/layout.xml
15:15:03 T:140672396908416   DEBUG: <layout> tag has no "overlay" attribute
15:15:03 T:140672396908416   DEBUG: <layout> tag has no "width" attribute
15:15:03 T:140672396908416   DEBUG: <layout> tag has no "height" attribute
15:15:03 T:140672396908416   DEBUG: LocalizeStrings: no translation available in currently set gui language, at path /usr/share/kodi/addons/game.controller.default/resources/language/Dutch
15:15:03 T:140672396908416   DEBUG: POParser: loaded 20 strings from file /usr/share/kodi/addons/game.controller.default/resources/language/resource.language.en_gb/strings.po
15:15:03 T:140672396908416   DEBUG: AddOnLog: Joystick Support: Loaded device "Microsoft X-Box 360 pad" with 2 controller profiles and 31 total features
15:15:03 T:140672396908416   DEBUG: Loaded button map with 19 features for controller game.controller.default
15:15:03 T:140672396908416   ERROR: AddOnLog: MSX (BlueMSX): [libretro]: Invalid device, setting type to RETRO_DEVICE_KEYBOARD ...
15:15:03 T:140672396908416    INFO: GAME: ---------------------------------------
15:15:03 T:140672396908416    INFO: GAME: Opened file
15:15:03 T:140672396908416    INFO: GAME: Base Width:   272
15:15:03 T:140672396908416    INFO: GAME: Base Height:  240
15:15:03 T:140672396908416    INFO: GAME: Max Width:    640
15:15:03 T:140672396908416    INFO: GAME: Max Height:   480
15:15:03 T:140672396908416    INFO: GAME: Aspect Ratio: 0.000000
15:15:03 T:140672396908416    INFO: GAME: FPS:          60.000000
15:15:03 T:140672396908416    INFO: GAME: Sample Rate:  44100.000000
15:15:03 T:140672396908416    INFO: GAME: Region:       NTSC
15:15:03 T:140672396908416    INFO: GAME: ---------------------------------------
15:15:03 T:140672396908416   DEBUG: CRenderManager::UpdateDisplayLatency - Latency set to 0 msec
15:15:03 T:140672396908416   DEBUG: LinuxRendererGL: Cleaning up GL resources
15:15:03 T:140672396908416   DEBUG: CLinuxRendererGL::PreInit - precision of luminance 16 is 16
15:15:03 T:140672396908416   DEBUG: RetroPlayer: File opened successfully
15:15:03 T:140672396908416   DEBUG: PlayFile: OpenFile succeed, play state 1
15:15:03 T:140670975084288  NOTICE: Thread RetroPlayer start, auto delete: false
15:15:03 T:140670975084288    INFO: RetroPlayerAudio: Creating audio stream, sample rate hint = 44100
15:15:03 T:140670975084288   DEBUG: RetroPlayer: Created audio stream with sample rate 44100 from reported rate of 44100.000000
15:15:03 T:140670975084288   DEBUG: RetroPlayer: Frame rate set to 60.000000
15:15:03 T:140670975084288   DEBUG: RetroPlayer: Beginning loop de loop

############### END LOG FILE ################

############ END kodi CRASH LOG #############



RE: RetroPlayer Test Builds (updated for Isengard) - zachmorris - 2015-12-22

(2015-12-21, 16:35)Rollingstone Wrote: Hi!
I succesfully installed OpenELEC 6.0.0 with the latest Retroplayer update (x86 64bits). SNES games run fine and it is great to play those again. However, the MSX games won't work. I already figured out that BlueMSX cannot deal with .zip files, so I unzipped them. But Kodi crashes when selecting even the simplest .rom file. I have a crash report here (only last few lines where I thought it would get interesting).

Can you help me?

Your problem is likely a lack of a BIOS file, which MSX emulator requires. The BIOS files for MSX are all compiled in a folder called 'Machines', which should be placed in your .../Kodi/userdata/addon_data/game.libretro.bluemsx/system folder. Do some googling and you'll likely find what your looking for.


RE: RetroPlayer Test Builds (updated for Isengard) - garbear - 2015-12-23

New builds uploaded. Controller configuration utility is now a dialog instead of a window. Thoughts?

(2015-12-22, 02:22)zachmorris Wrote: Your problem is likely a lack of a BIOS file, which MSX emulator requires. The BIOS files for MSX are all compiled in a folder called 'Machines', which should be placed in your .../Kodi/userdata/addon_data/game.libretro.bluemsx/system folder. Do some googling and you'll likely find what your looking for.

I want to addonify BIOSes. So we can say "Install resource.game.bluemsx" and the user can find the file via google and install it in the add-on manager, no hunting down system folders needed.


RE: RetroPlayer Test Builds (updated for Isengard) - Rollingstone - 2015-12-23

@Garbear: that sounds great! I still have issues manually installing a BIOS.

I have found the info on MSX BIOS's @zachmorris was referring to. However, the userdata/addon_data/.../system folder was empty. I manually added a "Machines" subdir with the additional BIOS (MSX2+ European...etc) in it's own new subdir. Kodi crashed like before. Furthermore, according to the BlueMSX resource website, the BlueMSX should come with C-BIOS standard included. That should run most ROMS fine?


RE: RetroPlayer Test Builds (updated for Isengard) - zachmorris - 2015-12-23

(2015-12-23, 22:27)Rollingstone Wrote: @Garbear: that sounds great! I still have issues manually installing a BIOS.

I have found the info on MSX BIOS's @zachmorris was referring to. However, the userdata/addon_data/.../system folder was empty. I manually added a "Machines" subdir with the additional BIOS (MSX2+ European...etc) in it's own new subdir. Kodi crashed like before. Furthermore, according to the BlueMSX resource website, the BlueMSX should come with C-BIOS standard included. That should run most ROMS fine?

My systems folder was also empty on first run. The machines folder is a directory with additional folders in it, so my current directory structure for the bios's is:
.../Kodi/userdata/addon_data/game.libretro.bluemsx
/system
/system/Machines
/system/Machines/MSX
/system/Machines/MSX - C-BIOS
/system/Machines/MSX2
/system/Machines/MSX2 - C-BIOS
...
/system/Machines/Shared Roms

With various files in each folder in the Machines folder. Also of note is that on first run for some games I got an MSX boot screen that I couldn't do anything from. On second load though it ran the selected game (from my addon). This is on OSX though, so your mileage could vary.

I agree the BIOS thing is cumbersome manually (better than nothing for now). It would be nice as you said if there was an emulator addon option to "add resources" and then just select the downloaded file or zipped folder of files, then Kodi checks to see if it's the correct type of file, then copies it into the appropriate place.


RE: RetroPlayer Test Builds (updated for Isengard) - Rollingstone - 2015-12-24

Thanks for the help @Zachmorris! I am getting frustrated. I seem to be close, but still no 1942 on my screen Undecided
I have copied the bios's to the Machines folder, so it looks like your setup. C-BIOS folders in the Machines folder and some other ROM's in the Shared Roms folder.
Look at: Picture of setup BIOS

I have tried different games, a .rom and a .mx2. But nothing!

@Zachmorris: You wrote about an "addon" in your post. Is this something you configure the Bluemsx machine with? How do you choose what BIOS to use? I can only choose for "Games" in the Kodi menu, then "Files" and then my msx roms. Oh, BTW I'm running Retroplayer on OpenElec x86 64bit.

<<edit: I found out on the libreto/bluemsx github page that /Databases folder from an original bluemsx installation is needed, so I copied that folder with three .xml files into the /system/ folder. Still crashing...>>


RE: RetroPlayer Test Builds (updated for Isengard) - garbear - 2015-12-24

Thanks for looking into the BIOS issues. I'm appalled that the default behavoir of some emulators is to crash and burn, taking Kodi down with it. I have a game add-on in the works that allows out-of-process execution, but ultimately the solution is to load each and every emulator in a debugger and figure out wtf is going wrong.

Having done that, here's what I've discovered.

BlueMSX chooses a system directory. If system/ doesn't exist, it uses the ROM's folder. RetroPlayer makes sure that system/ always exists, so this is always the system directory.

BlueMSX uses two subdirectories:
  • "Machines", system/Machines/, I assume for BIOSes
  • "MediaDB", system/Databases/, I assume for ROM .ini config files

BlueMSX chooses a machine type. It retrieves the add-on setting "bluemsx_msxtype", which can have three values:

I haven't completed the system for libretro settings yet, so this falls back to the default.

BlueMSX tries to determine the ROM type by looking up its SHA1 and CRC in a MediaDB. (Available types are in MediaDb.h.) I assume it loads the MediaDB from the "MediaDB" directory above, but I can't find this code. Anyways, I don't have any MediaDBs, so it falls back to counting occurrences of "characteristic addresses". 1942 resolved to ROM_KONAMI4.

BlueMSX tries to load system/Machines/MSX2+/config.ini, but this fails. However, BlueMSX tells RetroPlayer that this succeeded, leading to the later crash.

So there you have it. I'll send a patch upstream to fix the crash. Can someone try to locate this config.ini that BlueMSX so desperately craves?

EDIT: https://github.com/libretro/blueMSX-libretro/pull/18


RE: RetroPlayer Test Builds (updated for Isengard) - zachmorris - 2015-12-24

(2015-12-24, 05:33)garbear Wrote: So there you have it. I'll send a patch upstream to fix the crash. Can someone try to locate this config.ini that BlueMSX so desperately craves?

For whoever is interested, PM me and I can send you a link to where I've found the necessary files. Attached is an image of the addons userdata folder, which also contains the ini files.

Also, in testing this I found an error with my addon that prevented MSX roms loading in some cases (due to an unzipped file naming issue). I've fixed it and tested multiple ROMs and they all seem to work (in OSX). I'll push a fix to my addon soon.
Image


RE: RetroPlayer Test Builds (updated for Isengard) - Rollingstone - 2015-12-24

Thanks @garbear for looking into this!

@zachmorris, I'm sorry but I can't PM you. For some reason I am not allowed to send messages nor access the member list. However, my folders look the same as yours, but one thing: I miss the "MSX", "MSX2" and "MSX2+" folders with the config.ini in it. Could this be the config.ini BlueMSX is looking for? Is it different than the config.ini that is already in the "MSX C-BIOS" folder?

@Garbear: would it be an option to include the C-BIOS's (in the right way) in your next build as they are open source?


RE: RetroPlayer Test Builds (updated for Isengard) - Rollingstone - 2015-12-24

I just tried to copy the config.ini from the corresponding C-BIOS folders into the manually made MSX, MSX2 and MSX2+ folders inside the /Machines/ folder, but with no success. Either the config.ini is different, or something else is going wrong.

@zachmorris, don't you have a /Database folder inside the /System/ folder? On github it said that was necessary?


RE: RetroPlayer Test Builds (updated for Isengard) - zachmorris - 2015-12-24

(2015-12-24, 13:29)Rollingstone Wrote: I just tried to copy the config.ini from the corresponding C-BIOS folders into the manually made MSX, MSX2 and MSX2+ folders inside the /Machines/ folder, but with no success. Either the config.ini is different, or something else is going wrong.

@zachmorris, don't you have a /Database folder inside the /System/ folder? On github it said that was necessary?

Nope, I had no such folder and it still seems to work. I'm not able to run any Coleco games though unfortunately, but all the MSX .rom file extension games seem to work.


RE: RetroPlayer Test Builds (updated for Isengard) - Rollingstone - 2015-12-24

I have setup Kodi with Retroplayer on my iMac to try and replicate your succes, @Zackmorris.

1. Install Kodi for Mac
2. Update with Retroplayer build (23-12-2015)
3. Run an MSX .rom (because else there is no addon_data/game.libreto.bluemsx folder) and then Kodi crashes.
4. Take a copy of /Machines/ and /databases/ folders with C-BIOS's from a BlueMSX installation (CacaoMSX on the Mac) and copy to /system/
5. Run a .rom, but Kodi still crashes.

Is there anything else you have done to make it work on your Mac?

I see in the post with the debugging of Garbear, he wrote:
Quote:BlueMSX tries to load system/Machines/MSX2+/config.ini, but this fails.
@zachmorris, I see you have this directory with the required config.ini
Can you share it so I can try with that file in a "MSX2+" folder?


RE: RetroPlayer Test Builds (updated for Isengard) - Rollingstone - 2015-12-24

And merry Christmas to everybody! Smile