So, I've had pretty good luck getting everything working...I built a dedicated "Defender" Bartop to relive the 80s. But my family wasn't enjoying it, so I have expanded it to run additional games, and I'm running into some problems. I have found threads that touch on the problems, but don't always address them directly. Maybe someone can help. I am old to programming (1980s) but new to the Raspberry Pi / Raspian / Debian.
Here's what IS working: MAME4ALL (most of the games I'm running are old 80s arcade games). It's working great, using both the Defender keyboard I built, and a USB N64 controller for some games that needed two joysticks. No issues.
Here are the problems I'm having:
Super NES: OK, so I configure the SNES USB controller from the PiPlay Menu...no issue there. However, when I'm in the emulator, any press of the "X" button terminates the emulator, and it restarts PiPlay.
NES: First issue: Are the NES ROM files supposed to be .ZIP, or do I unzip them into their .NES format?
NES: Second issue: None of the ROMs are working. I've tried both .NES and .ZIP. ZIP files show up in the PiPlay NES Emulator menu, but when you try to run the game, the screen goes black for about 5 seconds, and then PiPlay restarts. I'm running a HDMI-DVI cable into a Dell 1908FP monitor with 1280x1024 resolution.
Atari: I understand that the Atari emulator has been removed due to issues with the Raspi 2. However, since I'm running on a B+, is there any way to re-install the Atari emulator on this build of PiPlay?
PiPlay: The menus on PiPlay seem to pull metadata from the ZIP files and display them in the emulator sub menus. E.G. There's text about the history of the game, controller configuration, tips, etc. When I access the web based configuration menu, I can look at the data using the database admin function, and selecting "local roms". It seems like I can go in and edit that data. Will that cause any issues, and is that updated data then saved as part of that .ZIP file?
General: I've been transferring files from my iMac to my Raspi via Google drive...very cumbersome, as I have to go into X, and use the web browser. Is there any way to make my Raspi visible as a shared device on my iMac?
Thanks in advance for your help! Great community you've got here, and many thanks to Shea Silverman for making these builds available to us.
One more thing...when the Raspi boots, and also when I run the MAME4ALL ROMS, there are some error messages...apparently they don't effect the games, because they run fine, but I'd like to clean things up...I'm a little OCD when it comes to unexplained errors. Is there any way to tell the OS to pause, so that I can read the errors - they scroll by too fast to read.
SNES: There might be a problem with the controller formatter for snes, I'll take a look at it. You can manually edit it by going to /home/pi/pimame/emulators/pisnes/snes9x.cfg. just scroll down to the 'joysticks' section.
NES: the games can be either zip or nes format. I can almost 100% guarantee that your problems stem from your hdmi-dvi converter. I'm not sure why, but nes has problems with it. You need to edit /boot/config.txt and set your framebuffer_width,framebuffer_height, hdmi_force_hotplug=1,hdmi_group=2, hdmi_mode (the modes are listed here, you may have to test a couple different modes to get it working)
Atari: The problem with Atari was the new kernel that they release with the pi2 messed things up. I know that a few people have gotten it working. Unfortunately for you, I am not one of them :D
PiPlay: The menus on piplay actually pull data from a local database that we put together from various sources. If you edit the 'local roms' data, it saves that data to another database, not your zip files. It will remain until you either delete your roms, or run the scraper with the flag python scrape_script.py --clean_slate True.
General: So there are a couple ways to get your roms to piplay.
use the web frontend by typing your Pi's IP address into your mac, then selecting Rom Uploader from the top menu bar
use an ftp client like filezilla, piplay is already running an ftp server for you, host: Pi's IP, username: pi, password: raspberry
as far as I know, there's no way to make it pause. Usually what I do is just quickly take a picture with my phone so that I can see what the error says.
yes, to make the scraping process more efficient, it sets a no_match flag to anything that it doesn't find a match for. The next time that the scraper is run, it first deletes any entries for games that have been deleted, then it tries to find matches for anything with the no_match flag and any new files. If you run the scraper with the clean_slate it deletes all entries in the database (for that current system) and checks all of the files as if they were new.
So, no luck setting the screen resolution to get the NES emulator to work -- I tried all of the settings that match my monitor resolution (1280x1024). The lower Hz settings (60&75) had no effect; when I set it to 85 Hz the monitor no longer recognized the video input, and I had to pull my microSD card and edit the config file on a PC to reset it. Back to the drawing board...DOES ANYONE HAVE ANY SUGGESTED RESOLUTION SETTINGS? The alternative is to wade through the 100 or so different settings available and hope for success...I'm hoping to NOT have to do that.
One additional question -- I made an assumption, not sure if it's correct -- that the framebuffer width and framebuffer height should be set to the corresponding hdmi setting (e.g. I set mine to 1280 framebuffer width and 1024 framebuffer height). Can you confirm that's correct?
Regarding the Atari 2600 -- I uninstalled and reinstalled Stella using the sudo apt-get command. I can now successfully run Stella from within X, and also from the command line. However, it won't run from within PiPlay. The way I understood it, the problem was related to the OS kernel -- and since Stella is running outside of PiPlay, that doesn't seem to be the issue. No luck from running within PiPlay, both before and after I modified the execution line using the database admin function on the web interface, remove the video / center / fullscreen modifiers. IDEAS?
FYI, I fixed the problem with the SNES controller. When I configured the USB controller using the controller config option in PiPlay, for some reason it assigned the same code to "quit" as it did to "x"; was able to change the "quit" code on the joystick options to a dummy value (999). I can still quit using the keyboard (esc).