[Index] [TitleIndex] [WordIndex

Usage

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 $*

SNES

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.

TUXNES

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.

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

Amiga

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

Spectrum

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

GAMES_ITEMS = [
        ('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;

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 &

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
fi
PID=`pidof zsnes`
if [ -n "$PID" ]; then
        kill -9 $PID
fi

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),

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

2014-02-15 05:35