Frequently Asked Questions
Here's a list of frequently asked questions about Zerogame. New questions and answers will be put in here as I get them.
General Questions (5)
Questions that don't fit into the other categories
No, you do not.
In both cases, YDL and Zerogame might install stuff that uses one resolution or another better, but in neither case does it install ONLY stuff for your current resolution. The resolution you select when running the Yellow Dog Linux installer is just for the installer itself. You can set your YDL install to any resolution and Zerogame will adapt to it.
So no... no need to reinstall anything for just a resolution change.
At this point, I will only be providing support and updates for people using Yellow Dog Linux 6.2. Zerogame is known to work on YDL 6.1 as well though I will not be testing against it, so it is very possible that things, especially software repositories, are completely different and don't work as expected.
No, I do not support PS3 Ubuntu or any other OS running on the PS3 though the files that are a part of Zerogame would make a very solid base for a port to those other OSes.
Zerogame is free for one and all to use. No charge to anyone! The full Zerogame installation can be found in the Downloads section of this website.
Yes, starting with v0.52, Zerogame will support 1080p, 1080i and 720p in both full screen and bordered modes as well as 480i, 480p, 576i, 576p in full screen mode.
At the moment, Zerogame supports the following formats:
- 1080p, full screen and bordered
- 1080i, full screen and bordered
- 720p, full screen and bordered
720p is the recommended size.
EDIT: Starting at v0.52, Zerogame will also support 480i/480p/576i/576p full screen resolutions.
Installing Zerogame (1)
Questions relating to the installation of Zerogame
After the installation and once the PS3 has rebooted, you'll need to put your ROMs in the correct places for Wahcade to find them. At this time, the directories are preset and aren't changable without directly editing the .ini files for each system.
At this point, here is where zerogame expects the ROMs to be:
Commodore 64: /home/zerogame/gamefiles/roms/c64/
Gameboy: /home/zerogame/gamefiles/roms/gb/
Gameboy Advance: /home/zerogame/gamefiles/roms/gba/
Gameboy Color: /home/zerogame/gamefiles/roms/gbc
Sega Genesis/MegaDrive: /home/zerogame/gamefiles/roms/gen/
MAME: /home/zerogame/gamefiles/roms/mame/
NES: /home/zerogame/gamefiles/roms/nes/
SNES: /home/zerogame/gamefiles/roms/snes/
Wonderswan: /home/zerogame/gamefiles/roms/ws/
Wonderswan Color: /home/zerogame/gamefiles/roms/wsc/
You'll have to move or copy your ROMs there manually. Make sure that the ROMs are readable by the zerogame user as well.
Alternatively, you can instead mount a Windows File Share/SAMBA share from your computer and access your ROMs remotely if you choose to do so. You have the option to mount a file share during installation.
Using Zerogame (6)
Questions about using Zerogame
Checking the output of a game can be very valuable when trying to find out why that game isn't working quite like you were hoping.
In v0.50 and v0.51, you would have to switch to a text terminal (Ctrl-Alt-F2), login as zerogame and then use the following command:
nano ~/.wahcade/emulator.log
Once you've seen your error, you could go back to Zerogame by pressing Ctrl-Alt-F7.
In v0.52 and later releases, you can just switch over to the Tools and maintenence section of Zerogame and select the "View Output From Last Game Launched" to open it up in a text editor.
While within Wahcade, you can hit the Triangle button on the first controller to bring up a menu. From this menu, choose Game List Options and then choose Generate Game List with the X button. Wahcade will reindex your ROMs for the currently selected console.
Please note that MAME will take approximately 15-20 minutes to index its games. There is nothing I can do about this long pause, unfortunately... just allow it to finish.
Sorry, I cannot help you find ROMs to use with Zerogame, though there a handful of ROMs that have been made legal for use with emulators over the years, mostly with MAME.
Any requests for ROMs will be deleted and will result in you being banned from the Zerogame site. You have been warned.
Mednafen requires the Atari Lynx BIOS to be available. For legal reasons, I cannot provide the BIOS along with the installer. You'll have to download and install it yourself.
The required file is known as lynxboot.img and you will need to copy it to /home/zerogame/.mednafen/lynxboot.img for Mednafen to work with it.
At this point, all the consoles currently supported by Zerogame are expecting their games to be zipped. This is a limitation of Wahcade, the frontend being used by Zerogame. In the future, this will probably be fixed and when it is, we'll make it work in Zerogame quickly afterwards.
Currently, due to limitations in the Linux Bluetooth drivers, only two Dualshock3 or SIXAXIS controllers can be used wirelessly at the same time.
You can still plug two more controllers into your PS3's USB ports to add two more controllers if you wish.
Remember, not all consoles supported by Zerogame support using more than one controller at a time.
How-Tos (1)
Some simple guidelines on how to do certain things within Zerogame.
First, you'll need to see what device your hard drive shows up as in /dev/. Hopefully, it will always show up as the same thing there... probably sdX1 where X is the lowest unused letter, so say, /dev/sda1. You can find out by simply looking in /dev/ and seeing what's new or plugging in your hard drive and then running dsmeg as root and you should see the hard drive being recognized.
Throw the following into /etc/rc.local as the root user, which is a script that gets run whenever YDL is booting up (and is where automounting of Samba shares occurs - if you aren't sure how, run nano /etc/rc.local to edit the file):
mount /dev/sda1 /home/zerogame/gamefiles
Save and exit the editor, then, while still using root, run it:
/etc/rc.local
Then check to see if your hard drive was mounted by reading the output of mount:
mount
If your hard drive shows up, you should be good to go. I'll probably automate this in the future.
Zerogame Troubleshooting (6)
Answers for frequent issues users are facing with Zerogame
This is a complex issue and can be caused by multiple things, so we will go through them all one by one. First, we want to figure out exactly what the issue is, so follow the instructions below so that we can figure out which particular issue you are actually having.
#1 - Is your keyboard the only thing plugged into the PS3's USB ports?
First, be sure you are booting up Linux with a USB keyboard plugged into the PS3 and *nothing else*. Make sure that not even the PS3 USB charging cable is plugged in. Make sure all your Rock Band instruments are unplugged as well. If you do not unplug your devices from the USB ports on the PS3, Linux may see one of the other devices as the first controller ahead of your SIXAXIS/DualShock, which means Zerogame will not see it as the first controller and make the menu not respond to your button presses. Anytime after booting, press the PS button on one of your paired SIXAXIS/DualShock controllers to turn it on. The four LEDs on the controller will flash and stay flashing. This is normal when using Zerogame.
#2 - Are your controllers properly paired with the PS3 in Linux?
If you press the PS button and your LEDs don't flash, you haven't properly paired your controllers yet.
If you rebooted and have all your devices unplugged from the PS3 and still do not have your controllers responding on the Zerogame menu, we'll want to check to see if your controller is properly pairing to the PS3. After your controller's been turned on and the LEDs are flashing, we can check to see if the controller has been properly recognized.
Login as the root user on a text terminal (Ctrl-Alt-F2), then go to /dev/input:
cd /dev/input
Your SIXAXIS should be represented by js0 in the /dev/input folder. Linux will numerate each joystick starting from js0 and moving up... so if you had 4 joysticks plugged in,you would have js0 through js3 in /dev/input. We'll check to make sure your SIXAXIS is js0 by doing the following:
cat js0
At this point, you should see garbage being output to the screen and stop. Start pressing buttons and see if more garbage is being written to the screen in reaction to your button presses. If so, your controller is properly paired and working and is seen as the first controller - so far, so good.
If you do not see garbage being output to the screen, be sure you are using an official Sony SIXAXIS or DualShock controller. 3rd party controllers may or may not work.
Hit Ctrl-C to stop "cat js0".
For those of you who didn't see garbage being output to the screen while pressing buttons... see if there are any other js files in /dev/input:
ls /dev/input/js*
It should output just js0. If you see js0 and js1, you either have something else plugged into the PS3 that it sees as a joystick, perhaps even your keyboard. Try "cat js[number]" without the brackets and test each one until you find the one associated with your controller. If you have js1 and no js0, something is being seen as the first joystick before your SIXAXIS... probably something plugged in before you booted. Reboot and try again.
If your controller shows up as js0 and is reacting properly, move on. Switch back to Zerogame with Ctrl-Alt-F7.
#3 - Is your keyboard seen as a keyboard by Gizmod?
Gizmod is a piece of software that can take input from any device and create input to send to any program. It's used within Zerogame for a few different reasons:
- To avoid a bug in the way Wahcade handles joystick input
- To allow us a simple way to quit emulators that do not allow us to set up a joystick button for quitting
Gizmod is also the reason why a keyboard is needed to be plugged in at all times. It cannot simulate keypresses without a keyboard being plugged in, a problem which I plan on fixing in the near future. If your keyboard is recognized, your button presses on your SIXAXIS should work and get passed along as keyboard events to Wahcade, allowing you to move up and down through your gamelist and so on.
To test Gizmod and see how it is seeing your devices, switch to a text terminal (Ctrl-Alt-F2) and login as zerogame. Run the following command:
killall gizmod
Followed by:
gizmod
(If the 'killall gizmod' command comes back saying nothing's been killed, it just means gizmod wasn't running at the time. Continue on as normal.)
Once gizmod starts, it outputs a list of your recognized devices to the terminal. You should be able to see your keyboard as well as your SIXAXIS/DualShock 3 controller listed in the device list, such as in the following example, which shows a Logitech wireless keyboard being used with a dongle and two PS3 controllers:
Standard - Directory Input
Standard - Logitech USB Receiver [event0] vid: 0x96d pid: 0xc512
Standard - Logitech USB Receiver [event1] vid: 0x96d pid: 0xc512
Keyboard - Sony Computer Entertainment Wireless Controller [event3] vid: 0x54c pid: 0x268
Keyboard - Sony Computer Entertainment Wireless Controller [event4] vid: 0x54c pid: 0x268
Here, gizmod is showing us how it is seeing your devices. We want it to see both our controllers and our keyboard as keyboards. As you can see, it successfully sees the SIXAXIS as a keyboard, but it is not recognizing the keyboard. Here's how we fix that.
#4 - Making gizmod see your keyboard as a keyboard
While still on the same text terminal, hit Ctrl-C to quit Gizmod. Make a note of the text it output for the keyboard somewhere as we will need it. Logout of the zerogame user by typing in "exit", then login as root. Gizmod's got one file that it uses to determine whether a particular device should be seen as a keyboard. Let's edit the file by typing in the following (remember, Linux is case-sensitive):
nano /etc/gizmod/GizmoDeviceStrings.py
With the file open, scroll down until you a line that starts with the following:
KEYBOARD_GIZMOS = ["keyboard", "Sony Computer Entertainment Wireless Controller", "0x566:0x3107"....
This particular line is what Gizmo compares device strings against. If any of those strings show up in a device name, it will treat it as a keyboard. As you can see, if the device name has the word "keyboard" in it, it will be seen as a keyboard. Now, the real issue with your keyboard is just that we will need to add your keyboard string or USB vendor ID and product ID to the list of KEYBOARD_GIZMOS line. Because gizmod will consider any string you put in as a keyboard, you will want it to be specific. In our example case, don't put in "Logitech", put in "Logitech USB Receiver" in. Alternatively, you can use the USB vendor ID and product ID. In the text output by gizmo for your devices, you can find them listed as vid and pid. The third string in the list of KEYBOARD_GIZMOS shows you how you should enter in your vid and pid if you decide to go this route.
Looking at the full KEYBOARD_GIZMOS line, you can see that the Logitech USB Receiver is already listed, so you can see how it should be entered into the file. Be sure NOT to make the line wrap or else gizmod might complain. Delete empty space until the entire KEYBOARD_GIZMOS string is all together on the same line. Save the file and quit nano.
Once you've entered your string, test it out by doing the following:
gizmod
And see what gizmod now says about your devices. If you see that the string for your keyboard has changed from standard to keyboard like the example below, SUCCESS:
Standard - Directory Input
Keyboard - Logitech USB Receiver [event0] vid: 0x96d pid: 0xc512
Keyboard - Logitech USB Receiver [event1] vid: 0x96d pid: 0xc512
Keyboard - Sony Computer Entertainment Wireless Controller [event3] vid: 0x54c pid: 0x268
Keyboard - Sony Computer Entertainment Wireless Controller [event4] vid: 0x54c pid: 0x268
At this point, quit gizmod with Ctrl-C and reboot your PS3. You should now be able to move around in Zerogame using your SIXAXIS/DualShock 3 d-pad.
#5 - File a bug to get your keyboard string added to Zerogame's default list
Now that you've got your keyboard and controller working as they should, do yourself and the other members of the Zerogame community that use the same keyboard a favor and file a bug/support ticket on the website which includes the full string for your keyboard as seen by Gizmod, such as below:
Standard - Logitech USB Receiver [event0] vid: 0x96d pid: 0xc512
Standard - Logitech USB Receiver [event1] vid: 0x96d pid: 0xc512
I'll then receive the bug report and add your keyboard strings to my collection in SVN. At that point, you won't ever have to go through this process ever again as your keyboard will be recognized by all future releases of Zerogame.
#6 - Have a cookie
I know this was a long post with a lot of information in it. If you are confused or have questions about this FAQ, feel free to ask for clarification in the forums.
If you're starting a game and it just returns to Zerogame right away, you can log in on a text terminal with Ctrl-Alt-F2, login as zerogame and then run the following:
nano ~/.wahcade/emulator.log
The output of the last game you launched will be there and you can see what the problem is. Most likely issues: incorrect ROMs for MAME version, missing ROMs for MAME version, missing BIOS file.
"Creating initial filter" is what happens when Wahcade goes to a console that it does not have a gamelist for. For almost every other console, the process is quick and painless because it will just grab the filename of your zips and use that in the game list. Arcade is different because it's using the MAME structure. It will create a detailed information list for every game in MAME and then compare your games against the list. That's how it knows that captcomm.zip is Captain Commando (USA), for example.
The entire process can take up to 20 minutes or so. Just let it run its course.
If you want to check to make sure that something is really being done and Zerogame isn't just completely frozen, you can switch to a console terminal by pressing Ctrl-Alt-F2, logging in as zerogame and entering the following command: tail -f /home/zerogame/.wahcade/files/mame-0.lst. If Zerogame is still indexing your ROMs, you should clearly see a lot of text being written to the screen. The tail command continually checks for changes to the file and outputs them to the screen until you tell it to stop (Ctrl-C). You can head back to Zerogame by pressing Ctrl-Alt-F7.
This was an issue with the original v0.50 installer script where it wouldn't copy over the 1080p background images to the proper place. You just need to run an updated version of the installer instead or switch your resolution to 720p, which does not have the same issue.
This issue has been fixed in v0.51 and above.
This problem should only show up in v0.50 of Zerogame. You can use the manual method of fixing it with the instructions below, or you can simply update Zerogame to v0.51 or above.
If you want to fix the problem with mednafen and the first player select button, open up /home/zerogame/.mednafen/mednafen.cfg and search for the line below:
;nes, Port 1, Gamepad: SELECT
nes.input.port1.gamepad.select joystick e0d011d5e51ad831 00000000~joystick 8a9c75d7f539f086 00000000
Change it to read as:
;nes, Port 1, Gamepad: SELECT
nes.input.port1.gamepad.select joystick e0d011d5e51ad831 00000000~joystick 8a9c75d7f539f085 00000000
Then save the file and start up Zerogame and your problem should be fixed. I'll throw this into the next update as well.
The problem is that you must be logged into the PS3 as root before running the yum update, as mentioned in the Zerogame readme.
Game-Specific Troubleshooting (5)
Questions and answers regarding specific games and the problems they face within Zerogame.
To my knowledge, there is not a single MAME game that uses CHDs that are playable on the PS3 due to speed issues or crashing. Don't bother trying to play Bemani, guys.
Follow the same procedure as the Pokemon Fire Red/Leaf Green save fix: http://thezerogameproject.com/faq/pokemon-fire-redleaf-green-gba-give-1m...
Unfortunately, you won't be able to speed it up. The PS3 lacks all graphics acceleration so some of the heavier games such as Third Strike won't ever run at full speed on a PS3 right now, barring some sort of miracle. There's nothing you can do to speed it up either, I'm afraid.
Despite the code base for Mednafen supporting RTC functions, they are disabled by default in Mednafen's source distribution. I've alerted billb of PS3Bodega who has packaged most of the software used in Zerogame and informed him of how to fix this at compile time. Until he pushes out an updated Mednafen package however, there's nothing really we can do about this.
For you hardcore Linux gurus out there that know how to compile programs on your own, the following instructions should help you compile a version of Mednafen that has RTC functions enabled: http://forum.fobby.net/index.php?t=msg&th=278&start=0&
Okay, what's happening here is that these games require a larger memory for savegames than most GBA games require. Mednafen defaults to a lower sized save file, which causes the problem.
Make sure that you are at Zerogame with no emulators running, then switch to a text terminal using Ctrl-Alt-F2. Login as zerogame, then run the following commands:
echo "flash 128" >> "/home/zerogame/.mednafen/sav/[rom_file_name].type"
rm "/home/zerogame/.mednafen/sav/[rom_file_name].sav"
Replace [rom_file_name] with the name of your ROM without the zip extension. For example, if my game was named "Pokemon Fire Red.zip", I would do the following:
echo "flash 128" >> "/home/zerogame/.mednafen/sav/Pokemon Fire Red.type"
rm "/home/zerogame/.mednafen/sav/Pokemon Fire Red.sav"
The second command deletes any savegame file the game had already created, which would be corrupted anyways. Be careful when inputting these commands. Remember that Linux is case-sensitive!
Once you are done, hit Ctrl-Alt-F7 to get back to Zerogame and then attempt to launch and save in the game. It should work fine from now on.
