Questions about emulators
  • Hi

    I just upgraded to beta9 (from beta8) using the update.sh script and I have a question.
    Should "all" emulators be installed by default?
    I tried a SNES rom and it complained that snes9x was not found and in my emulator folder I can only see advmame which I installed using the PIPLAY menu.

    Thanks

  • No. that means something went wrong in the update. If you goto the emulators folder and type:

    git submodule init && git submodule update

    what happens?
  • Hi I found what' s causing it. It was not the advmame folder that I had in emulators, it was a mame4all.
    The updater aborts the update for the emulators since the mame4all dir is not in git.
    I removed the folder and then ran the update again.

    That said I still have issues with both SNES and NES roms.
    SNES:
    If I try to start SNES from the PIPLAY menu I get a segment fault error and then it returns to PIPLAY start. I can start snes9x using the _gui: /pimame/emulators/pisnes $ ./snes9x.gui but then I can´t navigate.

    PIPLAY use the path: /home/pi/pimame/emulators/pisnes/snes9x
    Any ideas why it gives me Segment fault?
    The roms work ok with snes9x-1.53

    NES:
    Emulator gives me a error message and then returns to PIPLAY start.
    Message is too fast, is there an error log?
    The roms work ok with fceux-2.2.0 and 2.2.1 (windows).
    2.2.1 seems to be the same version PIPLAY use...

    Thanks
  • Which Pi are you using?
  • Its running on a PI2
  • Anyone got SNES/NES running flawless on rpi2?
    It seems that the PIPLAY updater is not that stable for rpi2 and the only way to get everything working correctly is to use the PIPLAY sd-image which is a pain if you also install stuff that aren´t out of the box (samba, usb sound etc)

    Is there any good log files to look at?

    Thanks
  • I can confirm that SNES works with beta 9 image. Same problem with NES though.
  • The nes emulator does not work for me either. ( I have a Pi 2)
  • Maybe it doesn't help but I loaded up the latest beta img for RetroPie. In that one both SNES and NES work by default.
    Some dev can maybe see the differences?
  • @Freddy, @Sukerbole - NES is working great for me on the pi2 using the install script. So there may be an error in the updater portion perhaps? I don't know. In the meantime, try running the nes emulator from command line like this:
    /home/pi/pimame/emulators/fceux/fceux "/home/pi/pimame/roms/nes/name of rom.nes"
    This will at least let you see any errors that pop up.
  • I don´t think its related to the update script since last time I tried I used the beta 9 image. And still the same problem.
  • @Freddy, you aren't using an hdmi -> vga adapter are you?
  • No, I use a hdmi -> DVI and USB Audio for sound.

    Don´t know if it matters but I´m in Europe (PAL)
  • @Freddy, ok. This is probably where the problem is occurring then. Fceux (the nes emulator) can sometimes have problems when there are converters involved. It tries to grab the screen resolution but either can't, or gets the wrong resolution.

    in your /boot/config.txt file you should specify the following:
    hdmi_force_hotplug=1
    hdmi_drive=1

    then also specify:
    hdmi_group=
    hdmi_mode=
    use the values found here. they will depend on your screen resolution.
    after that, save and reboot your pi. This isn't a guaranteed fix, but it has worked for people in the past.
  • Turbografx 16 works great. The nes is the problem. I just tried starting it via command. It very fast displays something and then... crash (black screen). So I can't see what is says. I use a display connected via hdmi in 1024x768 60 hz mode. Its a clean install on a Pi 2.
  • Just tried something else. Starting from menu. No go. Starting from command. No go. Starting within X in a command line Go...... So it works but not the way it should be.
  • 1024x768 60 hz is the max setting in my arcade cabinet. Adding the hdmi force and drive did not change anything.
  • I will load another SD-card with PIPLAY and try again, I have atm RetroPie on the current one. Is there any values I should compare between the two? (Since it is working in RetroPie)
  • @Freddy, I don't think that they use the same emulator. If you have a different screen that you can test it on (one that won't require you to use your dvi converter, that would be ideal). I really think that it is due to the emulator not getting the correct resolution values. I have now successfully run the fceux emulator with a fresh piplay image, an image using the updater, and clean raspbian image using the installer. As far as you have told me, our only differences is that I use straight hdmi, no converter.
  • @Sukerbole - don't set the hdmi_drive=1 if you are using just straight hdmi (no converter) it will disable hdmi audio.

    For you, your /boot/config.txt should be something like this
    hdmi_force_hotplug=1
    hdmi_drive=2

    hdmi_group=2
    hdmi_mode=16


    make sure that none of those categories show up later in the file, because they will override your settings
    example:

    hdmi_group=1

    (some other text and variables being set)

    hdmi_group=2 <-this is the one that the file will use.
  • OK, I dunno:
    Emulators: lr-fceumm, lr-nestopia

    Btw: You are not allowed to upload .nes files using the web-gui. You need to zip them.
    Can this be changed?
  • @mholgatem- The pi is connected via hdmi to a universal hdmi,vga,component board (realtec chip). The board provides power to the backlight and signal to a LCD panel. (so its not a converter board but the board which is normally inside a lcd monitor).
    Will try a clean install on another sdcard but probably this is not the problem.
  • @Freddy - yes, this can be changed. I'll send a not to Shea, but the roms can be zipped as well, it really makes no difference.
  • @Sukerbole - sorry, I edited my last post for you. I didn't see that you had posted about your connection until after I replied.
  • @mholgatem- I want hdmi audio to be disabled because i use the standard audio connecter for audio (jack plug).
    These settings don't matter still the nes emulator does not work.

    I now also tried a clean install on another sdcard. Same bad results.

    I now removed the monitor settings from the config. And it works.. But it looks really bad on my monitor (probably it is 720p but my monitor is 4:3). So the 1024x768 60 hz setting is crashing it (hdmi group 2, hdmi mode 16). Maybe you can set this on your pi. Probably same results. Can this be fixed?
  • That could be it, my monitor is also 4:3 and I have the same max resolution.
  • well, you can try changing some of the settings in /home/pi/.fceux/fceux.cfg.

    possibly:
    SDL.KeepRatio
    SDL.PAL (this should be automatic though)
    SDL.XResolution, YResolution (I think these get rewritten when fceux gets run)
    SDL.XScale, YScale
  • Ok will try that tommorow then. But did the error also appear on your site in 1024x768 @60.
  • @Sukerbole - The error has come up with lots of different resolutions. In the past, it has almost always been fixed by specifying a fixed resolution in boot/config
  • In this case the solution is the problem :(
    I hope changing the settings in fceu.cfg will solve it. Lets see.
  • I was mistaken before, my resolution is 1280x1024@60
    Tried the changes in fceux.cfg without luck.

    Could this version be an option?
    http://www.raspberrypi.org/forums/viewtopic.php?f=78&t=52879
  • I had a look at the config file. they get overwritten when fceux runs. I saw that the resolution resets to 1366x768. I then saw that resolution 1360x768 hdmi mode 39 is close. So I tried it and it seems to work.
  • @Sukerbole - cool, glad you were able to get it working!
  • the 1360 resolution also causes mame and other games to no longer be fullscreen. So I will switch back to true 4:3. I will leave the nes for now. I hope this can be fixed later.
  • Setting a low resolution of 640x480 will give the following error when selecting something in the menu:pygame.error: Invalid resolution for Surface.
    640x480 is interesting for scanline devices for the real retro look.
  • huh, that's weird. It probably has to do with the theme trying to resize menu options to fit the screen. If you want to post the full error, I can look into it.
  • The error is a bit long:

    Traceback most recent call last

    File launchmenu.py line 69 in module main
    File launchmenu.py line 53 in main if a tip update display = manager.scene.handle_events action
    File /home/pi/pimame/pimame- menu/pmmenu/mainscene.py line 269 in handle events
    self do menu iten action sprite
    File /home/pi/pimame/pimame- menu/pmmenu/mainscene.py line 335 in do menu item action
    self manager go to romlistscenerite get rom list sprite id
    File /home/pi/pimame/pimame- menu/pmmenu/scenemanager.py line 15 in go to self scene pre render self.cfg screen call render
    File /home/pi/pimame/pimame- menu/pmmenu/romlistscene.py line 112 in pre render
    self get dimension y
    File /home/pi/pimame/pimame- menu/pmmenu/romlistscene.py line 78 in get dimensions
    self info surface blit pmutil glass self.cfg options pre loaded rom list background self.cfg options info bg1 self info box self info box
    File /home/pi/pimame/pimame- menu/pmmenu/pmutil.py line 171 in glass backup pygame.surface rect w rect h pygame srcalpha 32 convert alpha
    pygame error: invalid resolution for surface
  • I also want to confirm that the nes emulator does not start from the menu in any 4:3 mode.
    Something else which has nothing to do with the screen but with the input is that especially the Genesis emulator does not like the GPIO joystick and driver. The inputs are not always recognised by the game. So when you press left it sometimes is ingnored. This makes fast action games unplayable with a GPIO Joystick. The driver used is Adafruit retrogame. This is only the case with the Genesis emulator. Other emulators work fine. USB controller like xbox work fine.
  • I haven't had any problems with the genesis emulator and the adafruit gpio retrogame (that's my primary controller). I'll check into that invalid resolution for you though.
  • @Sukerbole - I found the problem with the invalid resolution for surface error. The boxart area is just a function of screen_width - rom_list_width.
    I made changes in the code, so that boxart just won't display if there's not enough room. In the meantime, you can go into /home/pi/pimame/pimame-menu/themes/whatever-theme-you're-using and edit the theme.yaml file. There are two lines that you want to edit.
    rom_list_min_background_width:
    rom_list_max_text_width:

    set them to a smaller number like 300 or 400. That will make the romlist less wide and will give you some room for the boxart.
  • @mholgatem - Thanks for the help.
    Will try it tonight. Concerning the joystick.Maybe it does not like the key assignment. Which keys do you use for your joystick and knobs.
  • I use KEY_LEFT, KEY_RIGHT, KEY_UP, KEY_DOWN for joystick, then KEY_ENTER, KEY_U, KEY_H, KEY_B, KEY_K, KEY_L for the buttons
  • @mholgatem - Just recieved my scanline device. It looks great. And indeed it now works in 640x480 with your remarks. The PS1 emualtor however does not launch in 640x480:(
    But it really looks great with scanlines. On a LCD it looks like a CRT now. But still some issues with PS1 now. ( ps I did not try it yesterday because the forum was off line).
  • @mholgatem - Is it normal that the ps1 does not work in 640x480? (its the only resolution really working well with the scanline device).
  • In x I can start pcsx. When I start it from the menu it returns me to the menu. Just executing it from cli will give me black screen. Maybe some config file again?

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!