Front End Multi Platforme
  • Hi all,

    I'm working on a new front end in python for pimame. It s just the begining so be patient :)

    https://github.com/tuxme/PYRHARCKADE/

    image



    image

    If you want to participate ... no prob, say me :)
  • Very cool. We are also working on one on our github page.

    https://github.com/ssilverm/pimame-menu

    Good luck and good code! :)
  • btw, deadpool kicks ass.
  • i just update the code and add some script ...


    PYRHARCKADE launch : OK

    Navigation keyboard : OK

    Navigation Joystick : OK

    Launching a game : OK


    I have some bug when i back to the FE and if a switch game to fastly ... nothing really hard to patch :)


    I add a script which take the information in www.mamedb.com and add it to the FE. he work to :)

    i made a video i ll post it tomorow ... but in france it s 00:00 (epic time watch win) so i go to bed :)

  • Here we go ... first test :)

  • hi,
    cool stuff, does this work for mame4all as well...
    what i miss on the frontends i know is to be able to delete roms directly...
    there is some rubbish in my collection to get rid off and to hard to sort out just by filenames...

    anyway,
    thanks and thanks to all the guys working on the pimame-projekt...



  • operation is simple :

    First you need to generate a csv file and put the rom name in first folowing the coma and the name script used to launch the rom.

    Ex with 1942 and mame ... : the ROM_CONFIG_FILES.csv will be like this :

    1942,MAME

    Then you have to edit a new script in BIN wich name will be MAME.sh (like in the ROM_CONFIG_FILES.csv ) .

    So in fact every binarry wich could be used with command line parameter could be used in the FE.
  • hi all,

    i put 2 script in the git repo.

    generate_info.sh : get the information about rom from www.mamedb.com

    and

    get_media.sh : get the wheel and snap image from one of my server

    I ll add the other media in the future.

    Now it's look like :
    image

  • Are all the games mixed together or do you have them separated by platform? Can you move from platform to platform like in Hyperspin?
  • No for the moment . Actually in the configuration (csv) file you have to edit it like that :

    ROM,EMULTATEUR
    Ex : 1942,MAME

    When you select 1942 the FE launch the script MAME in the directory BIN : MAME.sh and passed it the argument 1942

    BIN/MAME.sh 1942

    MAME.sh could be like that :

    #ROM=$1
    #echo $ROM
    #cd /home/pi/PYRHARCKADE/ROMS/MAME/
    #/home/pi/mame4all-pi/mame $ROM

    So in fact the FE can launch every game in every emulateur which could accept argument in command line:

    sfa3,FBA
    sf2,MAME
    smb2,SNES
    smb,NES
    sonic,SGEN

    ...

    For the moment it can't selected by emulateur. it s a menu in the menu

    In the next version : the alphabetical selection ...

    In the third version : the alphabetical selection + the emulateur selection

    See you :)



  • news : now you can move in the alphabetic order :)
  • Just for fun the first visual for my future pad/console (you can used it like a 'classic' joystick)


    image
  • VIdeo demo of the 0.4a version :




  • new version : PYRHARCKADE_0.6a.tar.bz2 was successfull tested on RPI :)
  • Can you also skip to a certain letter in the alphabet, instead of having to scroll through all games. So next version you will be able to scroll by Emulator as well?
  • i m working on it. :) but it s the first time i code something in python ... so i modifiy a lot of thing a long a find new stuff :)
  • PiMAME is great, especially with EmulationStation. It caters to everyone in 1 blow.
    However, making it personal, how do I remove some of the choices of Emulators? Example, I will not be using the LinApple.
  • ... ? open a new topic ;)
  • New them for pyrharckade :

    replace de bg2.png file in ./MEDIA/IMG/

    image
  • oh ... and new version just upload (optimized code , debug ... etc) : PYRHARCKADE_0.8b
  • and a new intro movies :) :

  • Would you be willing to make a PiMAME themed boot up splash movie?
  • I clan do that but it s a vidéo make with magisto.com ;) i just take a vidéo of space invader on YouTube and add somme music ;)
  • New New version ... PYRHARCKADE-0.9a.zip with new script get_media.sh in BIN wich download for you all media you need :) + optimised code + debug some bugs


    I have to made a new script for the installation of the missing package but it will not be too difficult :)


    image
  • I'm getting the following error when trying to start start.py with the command ./start.py YES
    Traceback (most recent call last):
    File "./start.py", line 21, in
    root = Tk()
    File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1712, in __init__
    self .tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
    _tkinter.TclError: no display name and no $DISPLAY environment variable

    Tried this as just ./start.py and sudo ./start.py
    Only got and unzipped the file to it's folder, and added an entry on the ROM_CONFIG_FILES.csv for FBA.

    help?
  • you have to start it in X with the graphic environement. use raspi-config to start desktop environement .
  • i made a little video tuto :
  • Hi all ... i just add the selection of the emulateur ... :



    There is a little bug ... but i m working on it ;)

    (Can't go 2 time on the right of you have 3 emu)
  • Does this always have to run from X or just the initial setup?? I haven't gotten around to updating and trying on my cabinet, however worried about performance issues. Currently running from console on the rev 2 board (512mb RAM) I haven't had a need to over clock and everything runs good.
  • Yes you have to use X for this version because i use pygame. For the perf ... i know i have to work on it but i m happy to say to all i just finish and verify the version 1.0a of PYRHARCKADE:

    PYRHARCKADE_1.0a.tar.bz2


  • pygame does work on the console. no X required.
  • So grabed the latest version and got in running in X, able to run the start.py and get to choose a ROM, but after my choice is ROM I get kicked back to X and it never starts.
  • you have to modify your script in BIN ans replace the path of the ROM directory ans the bin path. The script have to ne named like in the config file :

    Ex

    1942,MAME -> MAME.sh


    #!/bin/bash

    ROM=$1

    cd /home/pi/EXPORT/MAME/roms/
    /home/pi/mame4all-pi/mame $ROM
    #and add this 2 line in your script in the end
    cd /home/pi/PYRHARCKADE
    ./start.py YES

    See you ;)
  • I all i work on PYR since 2 week and it was to slow ... so i modified a lot of thing and now it s ok :)





    It s in french ... sorry :) go to 3:00 to see the action
  • Last version ... : all works realy fast :)

  • Looks great!
  • Hi! The interface looks great! Can this be set up to auto-run at startup? I'm setting-up a Raspberry Pi retro-console for my French brother-in-law and this looks perfect (il aime beaucoup Les Simpson aussi).

    He's not very technical so it needs to be plug-and-play.

    Merci si tu peut m'aider. Desolé, mais je parle Francais comme une vache Espagnol. :)
  • Une expression française pour dire que tu parle mal le français :) chapeau
    ... :)
    so if you want to start it on boot you haev to do that :

    edit a new file in /etc/profile.d/XandPYR.sh ...

    vi /etc/profile.d/XandPYR.sh

    and that line :

    #################
    #!/bin/bash
    sudo X
    export DISPLAY=:0
    cd /home/pi/PYRHARCKADE/
    ./start.py
    #################

    Dont forget the "chmod 777 /etc/profile.d/XandPYR.sh"

    For the configuration of the emulateur, all of them have to be configured one by one and the scripts in PYRHARCKADE/BIN/ too (but it s not realy difficult)




  • Hi

    Your project looks fantastic ;-)

    I just download it. All of files are unarchived into /home/Pi/...
    When I try to start Your script by ./start.py YES
    I can receive some errors only... Please take a look below:

    ######################
    Traceback (most recent call last):
    File "./start.py", line 21, in
    root = Tk()
    File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1712, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
    _tkinter.TclError: no display name and no $DISPLAY environment variable
    ######################

    Have You got any idea what coud happend ?
  • hi , thanks to try it ;)

    to launch it you have to use the X server :

    try with this commande :

    sudo X &
    export DISPLAY=:0
    cd /home/pi/PYRHARCKADE/
    ./start.py
  • Hi

    I lanuch by this comand sucessfully. I have a question, why this ap is so slow...
    Please take a look for server information:
    _XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
    _XSERVTransOpen: transport open failed for inet6/raspberrypi:0
    _XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6

    X.Org X Server 1.12.4
    Release Date: 2012-08-27
    X Protocol Version 11, Revision 0
    Build Operating System: Linux 3.2.0-2-mx5 armv7l Debian
    Current Operating System: Linux raspberrypi 3.6.11 #1 PREEMPT Fri Oct 11 11:20:25 UTC 2013 armv6l
    Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1824 bcm2708_fb.fbheight=984 bcm2708.boardrev=0xd bcm2708.serial=0xf3c0910e smsc95xx.macaddr=B8:27:EB:C0:91:0E sdhci-bcm2708.emmc_clock_freq=100000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait quiet
    Build Date: 20 April 2013 05:19:09AM
    xorg-server 2:1.12.4-6 (Julien Cristau )
    Current version of pixman: 0.29.3
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
    Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    (==) Log file: "/var/log/Xorg.0.log", Time: Tue Dec 17 08:21:58 2013
    (==) Using system config directory "/usr/share/X11/xorg.conf.d"

    ------------------------------- 684 ------------------------------- 264 -------------------------------
    ----- Joy OK
  • the first menu is slow but the game selection menu should not be slow. it still in dev. The next version i think i'll delete the left and right menu preview if the emulator menu. my RPI is overcolcked to 900Mhz/1Ghz to make it work. don't forget that python is an interpreted langage not as closed as other machine langage like C. so ... it's more slow :)

    To overclock used the raspi-config bin. if it s ventiled you can go to 1 ghz ... it s working without probleme like in the videos IRL i've done.

    For the X log please paste me the end of you log file :

    tail -n 50 /var/log/Xorg.0.log

    after lanuching PYRHARCKADE

    In the curent WE i'll erase all my SD card and restart the installation of PYRHARCKADE to make a real complete documentation : install, configuration ...

    See you ;)
  • Any way... You have done great work,.. I'm impressed...I will send You xorglog, I hope this will be helpful for You

    See you ;-)
  • This is a log file...

    root@raspberrypi:~# tail -n 50 /var/log/Xorg.0.log
    [ 1661.741] (--) evdev: Logitech USB Keyboard: Vendor 0x46d Product 0xc31c
    [ 1661.742] (--) evdev: Logitech USB Keyboard: Found absolute axes
    [ 1661.742] (II) evdev: Logitech USB Keyboard: Forcing absolute x/y axes to exist.
    [ 1661.742] (--) evdev: Logitech USB Keyboard: Found keys
    [ 1661.742] (II) evdev: Logitech USB Keyboard: Configuring as mouse
    [ 1661.742] (II) evdev: Logitech USB Keyboard: Configuring as keyboard
    [ 1661.743] (**) Option "config_info" "udev:/sys/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3:1.1/input/input1/event1"
    [ 1661.743] (**) Option "xkb_rules" "evdev"
    [ 1661.743] (**) Option "xkb_model" "pc105"
    [ 1661.743] (**) Option "xkb_layout" "us"
    [ 1661.745] (II) evdev: Logitech USB Keyboard: initialized for absolute axes.
    [ 1661.746] (**) Logitech USB Keyboard: (accel) keeping acceleration scheme 1
    [ 1661.747] (**) Logitech USB Keyboard: (accel) acceleration profile 0
    [ 1661.747] (**) Logitech USB Keyboard: (accel) acceleration factor: 2.000
    [ 1661.747] (**) Logitech USB Keyboard: (accel) acceleration threshold: 4
    [ 1661.838] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1669.404] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1674.499] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1679.628] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1684.773] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1689.870] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1695.408] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1702.439] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1707.463] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1712.556] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1717.585] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1722.624] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1727.665] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1732.720] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1737.760] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1742.821] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1748.053] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1753.127] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1758.191] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1763.234] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1768.319] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1773.367] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1778.416] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1783.495] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1788.699] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1793.778] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1798.979] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1804.052] (EE) FBDEV(0): FBIOBLANK: Operation not permitted
    [ 1808.090] (II) evdev: USB OPTICAL MOUSE: Close
    [ 1808.090] (II) UnloadModule: "evdev"
    [ 1808.090] (II) evdev: Logitech USB Keyboard: Close
    [ 1808.091] (II) UnloadModule: "evdev"
    [ 1808.091] (II) evdev: Logitech USB Keyboard: Close
    [ 1808.092] (II) UnloadModule: "evdev"
    [ 1808.182] Server terminated successfully (0). Closing log file.
  • hey sorry to make a late answer ... i see nothing could crash pyr ... sorry :)
  • Salut! Thanks for your reply. I downloaded and tried your program which looks great but is a little slow at the moment - I know that it's somethig you're working on. :)

    I decided to go with the pymame menu for its simplicity as I think my brother-in-law would have struggled to edit files every time he loaded a ROM onto it.

    However, I have to thank you as I looked at your source code and it helped me to add joystick functionality to the pymame menu! Merçi beaucoup pour ça! :)
  • hi,

    i'm still working on increase the speed of pyrharckade but in fact ,for a better implementation, you have to overclock the rpi processor to 1 Ghz (and more if you have a fan).

    For the moment if you click on the video link
    , you'll see that only the emulator menu is slow. The game selection is OK. I'm wondering if the fact to see the next emulator in the emulator's menu is necessary.

    I have a lot of thing to do before to say it's ok you can used it :)

    For the config file, i'm also working on it. I'm trying to do a script which generate all the config file . in the future i think i'm going to make my own tree of emulators . This will facilitate the configuration file conf and init scripts emulators. Something like /home/pimame/EMULATOR/[emulator name]/[bin name emulator]

    See you :)

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!