This is a build of SDL Mame 111u4 & related libraries for the Sony Playstation 3. This document assumes some familiarity with linux. If you need help, ask on the net, go bribe somebody, etc. Do not bother mamedevs, please- their time is extremely precious. I may or may not be able to respond to you directly, I tend to be swamped these days, but you can reach me here: phopely@seas.upenn.edu Thanks to zep-- for feedback & insights, R. Belmont & co. for sdl mame, etc. Good luck, have fun. Note I do not assume any responsibility if your system is in some way damaged by use of any software. I think its unlikely, but just to declare this. You should only use this software if you feel comfortable after reading all steps in the process. Phil 0. EDIT /etc/kboot.conf This works for yellow dog linux, and likely for other linux distributions too - at least if they use kboot. Adding the following single line to your /etc/kboot.conf file: ycd='/dev/cdrom:/vmlinux root=/dev/sr0 video=ps3fb:mode:130 rhgb init=/runscript' ... and if you want to autoboot (not type ycd @ kboot), change the /etc/kboot.conf lines @ the top of the file to: default=ycd root=/dev/cdrom Legacy note: you do not need a special otheros.bld -- the above should work. Thanks to zep-- for the insight & testing. However, that otheros.bld should work in the case where you do not wish to install linux fully on a ps3 hard drive. You should be able to install the custom otheros.bld & be able to boot straight to media - presuming you have a pre-built disc(s). This may be useful in the case where you want to share with a friend, but your friend does not have a clue about linux. More testing of this style of operation is forthcoming. 1. WHAT IS THIS .iso? The file is a snapshot or an image (a ".iso") of a bootable linux disk. That is, if you burn the image to media, then put the media in the ps3 drive, then turn on/"boot up" the ps3 into "Otheros", the content will automatically load and run directly from the media with no intervention - presuming you've editted your /etc/kboot.conf as above, or are using the alternate otheros.bld. 2. IT ONLY HAS 1 WORKING GAME Yes, this .iso contains a 'barebones' image, with only a single rom: robby.zip You must manually populate the roms, samples, etc. directories yourself. 3. HOW DO I POPULATE IT? There are many ways to accomplish this. The method below is intended for linux (particularly on ps3) or other unix-style operating system. Analogous operations would be necessary under other operating systems & are beyond the current scope of this document. http://rosemary.dyndns.org/software/win-gen-gamelist.zip contains a small program (& goo) to generate the gamelist (step 'f' below) under windows. Roughly off the top of my head: 7-zip to decompress iso.gz, daemon-tools to mount the .iso, "Power2Go" to burn blu-ray discs, etc. [Anybody wish to write something more elaborate? I'll get to this sooner or later, but fwiw.] You must have a media-burner connected to a USB port on the playstation (I have a pioneer 105 dvd-rw w/ uncapped firmware). * I recommend using re-writable media * at least until the front-end development pace settles down. a. Decompress: gzip -d ps3-mame-cdr-test.iso.gz b. Become root: su c. Mount the .iso: mount -t iso9660 ps3-mame-cdr-test.iso /mnt -o loop d. Copy the contents to a local temporary directory: cp -dpR /mnt $HOME/tmp e. Put your files in $HOME/tmp/mame/roms, $HOME/tmp/mame/samples, etc. Use the cp command... f. Build the gamelist file for the front-end: cd $HOME/tmp/mame ./gen-gamelist g. Set your preferred default ps3 video mode - values of 2, 3, 7, 130, 131, and 135 are currently supported. vim $HOME/tmp/mame/ps3video.cfg h. Make a new .iso: cd $HOME/tmp mkisofs -R -o ../ps3-mame-cdr-test-new.iso . i. Burn the new .iso to media: cdrecord -v dev=/dev/cdrw ../ps3-mame-cdr-test-new.iso -or- cdrecord -v dev=/dev/cdrw driveropts=burnfree ../ps3-mame-cdr-test-new.iso (btw, use cdrecord blank=fast to clear rewritable media quickly; I recommend using rewritables to enable future mame upgrade.) Upon completion, the disk should be ready for use. 3. WHAT IS PSMALLPHRONT? psmallphront is a SDL-based front-end I hacked together in a few hours using the sdl test/testjoystick.c, SFont, libSDL_image, etc. psmallphront is a minimalist front-end; you can use the sixaxis to pick from a fixed set of command-line arguments to be passed to SDL mame. These are the very command-line arguments that SDL mame uses. It is beyond the scope of this document to detail these options. Upon load, it may be necessary to press & hold down the playstation button before the sixaxis will be recognized. Left & right moves the [..] cursor, up & down change values, triangle jumps to the 'previous' alphanumeric of the current field (useful if you've got more than a handful of roms, for instance), circle jumps to the 'next' alphanumeric of the current field, x picks the game. As of 5/11/7 release, L1 & R1 index up & down based upon the SECOND character of the name - useful if you've got a lot of roms on the media. Note: psmallphront does not work well w/ 'merged' romsets. It is important to ensure all parent (& bios) roms are present for a given set for a game to load. 3.A. PSMALLPHRONT video configuration: Thanks to suggestions from zep--, psmallphront can be configured to use a specific ps3 video mode by changing the value of /mame/ps3video.cfg Currently, ps3 video modes: 2, 3, 7, 130, 131, and 135 are known to work. 4. WHAT NEXT? After picking the game, sdl mame is launched with the command line argumentation specified. It takes a little bit to load, have patience. At the Copyright screen, press & hold down the playstation button on the sixaxis (again). This ensures to establish 'pairing' communication for mame. Then twiddle the left-analog joystick left & right. The digi-pad should be active from that point. x is button1, circle is button2, triangle is button3, square is button4. R1 == insert coin, L1 == 1up Start == pause, PS3 == mame config menu, Select is escape. Note that square (button 4) seens to 'overload' with R1, causing coins to be inserted with each press too. I'm sure that's just one of many problems; its a work-in-progress. As of 5/11/7, X-Arcade dual joystick definitions have been added to mame/cfg/default.cfg. Unfortunately, I have an old stick & the USB adapter isn't expected to be available for another month. Even so, I found that an old iogear kvm switch seems to work - tho I have to unplug & reconnect the stick after each restart (I get the numlock & capslock illuminated on the daisy-chained keyboard until I manually disconnect & reconnect). 5. TODO As of this writing, this is still very early in development- there's a lot to do!