- Usage
- Playstation One
- SNES
- MAME
- Megadrive
- Gameboy Advance
- Atari
- Linux Games
- Exiting an emulator with LIRC
Usage
FREEVO now supports the following emulators :
XMAME (keyword MAME: ROM name parsing and identification (
http://x.mame.net), works great in SDL mode or X11/DGA
SNES (keyword SNES) : Internal ROM indentification (ZSNES in SDL mode -
http://www.zsnes.com/ )
GENESIS/MEGADRIVE (keyword GENESIS) : Internal ROM identification (GENERATOR in SVGALIB mode -
http://www.squish.net/generator/ )
Playstation
Gameboy advance
Atari
?? AMIGA PleaseUpdate
?? Spectrum PleaseUpdate
In addition, you can call all the emulators you want by simply using the GENERIC keyword, as described below. In this case, Freevo will only launch the associated command line with the file selected in the menu.
The GAMES_ITEMS structure in freevo_config.py is now built with the following parameters :
[ ( <NAME>, <FOLDER>, (<TYPE>, <COMMAND_PATH>, <COMMAND_ARGS>, <IMAGE_PATH>, [<FILE_SUFFIX_FOR_GENERIC>]) ) ], ...
where :
<TYPE> : Internal game types ('MAME', 'SNES', 'GENESIS') or generic one (GENERIC) <COMMAND_PATH> : Emulator command <COMMAND_ARGS> : Arguments for the emulator <IMAGE_PATH> : Optionnal path to the pictures/snapshot for games <FILE_SUFFIX_FOR_GENERIC> : If the folder use the GENERIC type, then you must specify here the file suffix used by the emulator
Playstation One
For playing PSone CD's
In your freevo local_conf.py add these lines to the games section;
GAMES_ITEMS = [ ('PSone CD', '/etc/freevo/psx', ('GENERIC', '/usr/local/bin/psx-cd', '', '', [ 'psx' ] )) ]
Here we execute a script to run epsxe, the reason for this is I was personally having trouble with the GENERIC command line arguments. The contents of the psx-cd script are as follows;
#!/bin/bash /usr/local/games/psx/epsxe -nogui
Finally, create a file in the /etc/freevo/psx directory called PSone.psx
# touch /etc/freevo/psx/PSone.psx
For playing PSone CD ISO's
In your freevo local_conf.py add these lines to the games section;
GAMES_ITEMS = [ ('PSone IMG', '/home/psx', ('GENERIC', '/usr/local/bin/psx-iso', '', '', [ 'img','bin','iso' ] )) ]
The psx-iso script here contains;
#!/bin/bash /usr/local/games/psx/epsxe -nogui -loadiso $*
SNES
GAMES_ITEMS = [('SNES', '/home/media/games/snes/roms', ('SNES', '/usr/local/bin/zsnes', '-m -r 3 -k 100 -cs -u', '', None )) ]
MAME
GAMES_ITEMS = [ ('MAME', '/home/media/games/xmame/roms', ('MAME', '/usr/local/bin/xmame.SDL', '-fullscreen -modenumber 6', /home/media/games/xmame/shots', None)) ]
Megadrive
GAMES_ITEMS = ('MEGADRIVE', '/home/media/games/megadrive/roms', ('GENESIS', '/usr/local/bin/generator-svgalib', '', '', '' )) ]
Gameboy Advance
GAMES_ITEMS = [ ('Visual Boy Advance', '/home/media/games/vba/roms', ('GENERIC', '/usr/local/vba/VisualBoyAdvance', ' ', '', [ '.gba' ] )) ]
Atari
Hatari http://hatari.sf.net/
GAMES_ITEMS = [ ('Atari Emulation', '/usr/local/freevo/testfiles/atari', ('GENERIC', '/usr/games/bin/hatari', '--memsize 1 --tos /usr/local/freevo/testfiles/atari/tos.img -f ', '', [ 'st', 'msa', 'gz'] )) ]
Linux Games
How to launch Tux Racer for example from Freevo :
Check the path of tuxracer, if its in the path you can
# which tuxracer
otherwise check /usr/games and /usr/local/games
Add in var GAMES_ITEMS :
GAMES_ITEMS = [ ('Tux Racer', '/etc/freevo/games/tuxracer', ('GENERIC', '/usr/games/tuxracer', '', '', [ 'tux' ] )) ]
Create file /etc/freevo/games/tuxracer/tuxracer.tux
# mkdir /etc/freevo/games # mkdir /etc/freevo/games/tuxracer # > /etc/freevo/games/tuxracer/tuxracer.tux
If you get a screenshot of this games, copy to this new directory
# cp TuxRacer.jpg /etc/freevo/games/tuxracer/cover.jpg
Exiting an emulator with LIRC
To stop a running PSX/snes/etc... emulator and return to the menu add the following into your lircrc;
begin button = menu prog = irexec repeat = 3 config = kill -INT `pidof epsxe` end
My 'menu' button also provides the EXIT code in freevo, you could also hook other scripts up to this to make sure it kills any processes that are running the the foreground.
Make sure you start irexec at some point before freevo starts like so;
/usr/local/bin/irexec /etc/freevo/lircrc &