zerogame v0.50
By Jason Carter (jay@zerojay.com - http://www.twitter.com/zerojay/)

- What is zerogame?

Over the last year or so, I've been tweaking and changing my installation of Yellow Dog Linux on my PS3 so that it would be more 
emulation-friendly. My goal was to get my install as close as I could to the friendliness of the Xbox emulators, with a game list
and a few button presses and the game of your choice is up on the screen. It's been a long journey, but a fruitful one.

zerogame is a bash shell script that will take a freshly installed copy of Yellow Dog Linux 6.2 on your PS3 and with a few minutes
and occasional input from you will give you one good emulation box that you can boot up whenever you feel like playing some classics.

- What do I need?

 * Yellow Dog Linux 6.2 freshly installed on your PS3
 * A working internet connection
 * An HDTV that supports 1080p or 720p (480p/i and 576p/i support in the future)
 * A wired USB keyboard
 * One or more Sony Sixaxis/Dualshock3 controllers

- How do I install zerogame?

 1) Format your PS3 hard drive and allot at least 10GB of hard drive space to OtherOS
    Create a backup, format and restore the backup afterwards if you don't want to lose any PS3 data.
	You will need an external USB drive for your backup, if you need to do one.
 2) Download and burn the Yellow Dog Linux v6.2 ISO to a DVD
 3) Install the Yellow Dog Linux bootloader to the PS3
 4) Install Yellow Dog Linux v6.2 to your PS3 with the default options
    You can disable Office & Productivity software set for faster installation of YDL.
 5) Boot into Yellow Dog Linux.
    There is no need to create a user. Firewall can be enabled or disabled, makes no difference.
 6) Once post-installation setup is complete and you are at a graphical login screen, swap to a terminal (Ctrl-Alt-F1) and login as root 
    and type in your root password.
 7) Run the following command to update YDL to fix the Bluetooth bugs:
    yum update
 8) Run the following command to download the zerogame script
    wget http://thezerogameproject.com/releases/zerogame-0.50.tar.gz
 9) Decompress the tarball using the following command:
    tar zxvf ./zerogame-0.50.tar.gz
 10) Make the installation script executable with the following command:
    chmod 755 ./install-zerogame.sh
 11) Run the script with the following command:
    ./install-zerogame.sh
 12) Follow on-screen prompts
 13) Reboot before use
 
- How do I use 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. (See 
http://bugs.zerojay.com/show_bug.cgi?id=7 for more info.)

At this point, here is where zerogame expects the ROMs to be:

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/
Game Gear: /home/zerogame/gamefiles/roms/gg/
Master System: /home/zerogame/gamefiles/roms/sms/
MAME: /home/zerogame/gamefiles/roms/mame/
NES: /home/zerogame/gamefiles/roms/nes/
FDS: /home/zerogame/gamefiles/roms/fds/
TG16: /home/zerogame/gamefiles/roms/tg16/
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.

Previews can also be installed and placed in the following directories:

/home/zerogame/gamefiles/previews/videos/[console]
/home/zerogame/gamefiles/previews/artwork1/[console]
/home/zerogame/gamefiles/previews/artwork2/[console]

In the current theme, artwork1 is shown in the box at the top left and artwork2 is shown in the box at the middle left.
Video previews replace artwork1 in the top box after a few seconds, if they can be found.

Once the games are installed and you're ready to start using zerogame, unplug everything from your PS3's USB ports except for your USB keyboard.
Fluxbox will startup with an all-black background (to be changed in the future) and then launch Wahcade. Once Wahcade is running, you can
turn on your PS3 controllers at any time by pressing the PS button on the controller. Wahcade will immediately index the 
games for the currently open system and then present a list of games for that console for you to select from. As you scroll from console to
console using the L1 and R1 buttons, Wahcade will index the games in each system's associated ROM directories and bring up a list. This indexing only happens once.

(Note: The indexing for MAME can take a VERY long time depending on how many ROMs you have in the set. As it indexes the games, it will appear
to have frozen or crashed, but this is not the case. Indexing a full MAME ROM set takes me between 20 and 25 minutes and again, will only happen
once.)

You should then be able to select any game from the list and be able to play it. Zerogame will attempt to scale the game to fit your screen
while maintaining the same aspect ratio. It most likely won't completely fill up your screen but Zerogame will do its best.

To quit back to Wahcade from the emulator, press the PS button on the first controller.

To return to the PS3 GameOS, press the PS button on the first controller while in Wahcade.
 
- What exactly is installed?
 
 Software repositories added:
  - PS3 Bodega
 Software installed:
  - wahcade (emulator frontend)
  - mednafen (multisystem emulator, used for NES/TG-16/GB/GBC/GBA)
  - sdlmame (tweaked SDL version of the MAME arcade emulator)
  - sdlmame-tools (various tools for sdlmame)
  - pygame (required for Wahcade joystick control)
  - fscaler (tweaked scaler program, uses SPEs for scaling image)
  - snes9x-gtk (snes9x with GTK GUI)
  - portaudio (sound server used by snes9x-gtk)
  - xe (multisystem emulator, used for Genesis)
  - xorg-x11-utils (required by the scaler scripts)
  - fluxbox (very lightweight window manager)
  - gstreamer-python (required by Wahcade for music/previews)
  - gstreamer-plugins-good (various plugins for gstreamer, used for music/previews in Wahcade)
  - gstreamer-plugins-bad (various plugins for gstreamer, used for music/previews in Wahcade)
  - gstreamer-plugins-ugly (various plugins for gstreamer, used for music/previews in Wahcade)
  - gizmod (handler for joystick to keyboard control)
  
  
- Special Thanks and Acknowledgements

The zerogame project, as well as myself personally, owe the following people a huge debt of gratitude. Without them, PS3 Linux would be nowhere
near as fun and useful as it is today. Only because of their selfless work is a project like zerogame even remotely possible, so excuse me 
while I pimp their projects and websites.

 - billb (http://www.ps3bodega.com - http://www.yellowdog-board.com/)
   * PS3Bodega repository maintainer (the source of most software installed by zerogame)
   * Author of original mame-scaler.sh (upon which my scaler scripts are based)
   * Owner of PS3Bodega site, repository and forums
   * Mod at Yellow Dog Board
   * Countless bits of information
 - qmc2 (http://qmc2.arcadehits.net/)
   * Maintainer of the "nativeres" patch for SDLMAME
   * Maintainer of the QMC2 frontend for SDLMAME
 - ppietro
   * Mod for Yellow Dog Board
   * Countless bits of information and help
 - MAME Dev Team (http://www.mamedev.org/)
   * Creation, maintenence and continued work upon MAME
 - rbelmont (http://rbelmont.mameworld.info/)
   * Maintainer of SDLMAME
 - Mednafen Team (http://mednafen.sourceforge.net/ - http://camilleart.com/)
   * Maintainers of Mednafen
 - James Li (http://www.xe-emulator.com/)
   * Maintainer of XE
 - Qbix, Harekiet, Fanskapet, Finster (http://www.dosbox.com/)
   * Maintainers of DOSBox
 - Bradford Mott, Stephen Anthony and the Stella Team (http://stella.sourceforge.net/)
   * Maintainers of Stella
 - BearOso and the SNES9X Team (http://www.snes9x.com/phpbb2/viewtopic.php?p=22874)
   * Maintainer of SNES9x-GTK
 - Andy Balcombe/Balki (http://www.anti-particle.com/wahcade.shtml)
   * Maintainer of Wah!Cade
 - Andy Hofle (http://arcade.hofle.com/)
   * Creator of the Arcade Ambience mp3s
 - miya (http://plaza.rakuten.co.jp/miyazblog/)
   * Creator of scaler
 - codeman38 (http://www.zone38.net/font/)
   * Creator of the Return of Ganon font used in the Retrogame theme.
 - nexus6 (http://www.nexus6-online.de/)
   * Creator of the RetroGUI theme for MaLa, used as a basis for the Retrogame theme
 - DrM
   * Creator of the Retrogame theme for Zerogame and various pieces of artwork
   * Solution for joystick/keyboard input
 - FalkTX (http://qtsixa.sourceforge.net/)
   * Creator of QTSixa
   * Originator of Sixaxis/Dualshock battery info hack
 - allanl1234
   * Inspiration for controller waiting/emulator quitting hacks
 - Kilonga
   * Creator of fscaler, forked from scaler
 - Sony (http://www.playstation.com/)
   * Creator of the PS3, allowing us to use Linux on the PS3
 - Fixstars (http://us.fixstars.com/products/ydl/)
   * Maintainers of Yellow Dog Linux
 - donth8dre, billb, JoelOFH, dcninja
   * Testing/quality assurance
 - viderian, joshd435, mrrwbrown
   * Donators to Zerogame, thank you so much.
 - My wife and son
   * Patience, testing, love and support.
 - ...and probably SO many more people I've forgotten about.

- Zerogame information and links
 - Main page and Forum: http://thezerogameproject.com
 - Bugzilla: http://bugs.thezerogameproject.com
 - SVN Repository: http://svn.zerojay.com/zerogame/
