[Index] [TitleIndex] [WordIndex


FREEVO now supports the following emulators :

  1. XMAME (keyword MAME: ROM name parsing and identification (http://x.mame.net), works great in SDL mode or X11/DGA

  2. SNES (keyword SNES) : Internal ROM indentification (ZSNES in SDL mode - http://www.zsnes.com/ )

  3. GENESIS/MEGADRIVE (keyword GENESIS) : Internal ROM identification (GENERATOR in SVGALIB mode - http://www.squish.net/generator/ )

  4. Tuxnes
  5. Playstation
  6. Gameboy advance
  7. Atari
  8. Amiga
  9. Spectrum

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 :

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;

/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;

cd /usr/local/games/psx/
/usr/local/games/psx/epsxe -nogui -loadiso $*


GAMES_ITEMS = [('SNES', '/home/media/games/snes/roms', ('SNES', '/usr/local/bin/zsnes', '-m -r 3 -k 100 -cs -u', '', None )) ]

-m is not necessary on version 1.42 of zsnes, and doesn't appear to work on versions 1.36+

The -cs option doesn't appear to exist anymore, as of zsnes 1.510. Just remove it.


GAMES_ITEMS =[ ('Nintendo','/mnt/NES/',('GENERIC','/usr/bin/tuxnes','-G800x600 -rdiff -1/dev/js0 -2/dev/js1 -E2','', ['NES','nes']))]

The '-G' should be set to match your display size. Because of how tuxnes scales or lack there of, you may need to adjust the '-E' setting. '-E' tells is by what factor to enlarge the game display.


GAMES_ITEMS = [ ('MAME', '/home/media/games/xmame/roms',
                ('MAME', '/usr/local/bin/xmame.SDL', '-fullscreen -modenumber 6', '/home/media/games/xmame/shots', None)) ]


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' ] )) ]


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'] )) ]


e-uae http://www.rcdrummond.net/uae/, should also work with regular uae http://www.freiburg.linux.de/~uae/

GAMES_ITEMS = [('Amiga', '/home/freevo/Games/Amiga/adfs',
               ('GENERIC', '/usr/bin/e-uae',
                '-0', '', ['adf'])) ]


Emulator vgaspect http://www.inf.bme.hu/~mszeredi/spectemu/, best fit to screen than xspect.

        ('SPECTRUM' ,'/files/Games/Spectrum', ('GENERIC', '/usr/bin/vgaspect', '-load-immed -quick-load ', '', ['tzx','tap'] )) ]

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;

        button = menu
        prog   = irexec
        repeat = 3
        config = kill -INT `pidof epsxe`

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 &

A script is a better way of handling this, if you use multiple emulators and don't want to have a different lirc command for each, also with a script you can prevent the error message from being outputted on the console.

Here is a script I use for epsxe/zsnes

PID=`pidof epsxe`
if [ -n "$PID" ]; then
        kill -9 $PID
PID=`pidof zsnes`
if [ -n "$PID" ]; then
        kill -9 $PID

Depending on the emulator you can also use a different method, where the menu button generates an Escape key press. Change your lircrc to contain (make sure you have xmacro installed),

        button = menu
        prog   = irexec
        config = xmacroplay-keys :0.0 Escape

2014-02-15 05:35