Faire de sa Debian une borne d'arcade (SDLMame + QMC2)

Edit : sdlmame est disponible dans les depôts “multimedia”.
Il existe aussi un dépôt ubuntu pour QMC2 qui fonctionne pour nous.
Donc vous pouvez passer directement à l’étape grand 3. petit 4.Configuration :slightly_smiling:

Bonjour, comme j’ai bien eu du mal à mettre en place un émulateur de borne d’arcade digne de ce nom, je partage ici la méthode la plus efficace selon moi. Mais sans doute la plus longue…

Je l’ai décomposée en trois parties: compiler la dernière version de SDLMame (qui peut fonctionner seule), puis QT4 (nécessaire au front-end), et enfin M.A.M.E. Catalog / Launcher II, superbe interface complète, et ça vaut le coup de compiler croyez-moi ! (voir captures plus bas).

Installation effectuée sur sid.

1. Compiler SDLMAME.

Prérequis

Installer ces paquets ainsis que leurs dépendances

Télécharger la dernière version de SDLMame rbelmont.mameworld.info/?page_id=163

Décompresser l’archive et s’y placer

$ unzip sdlmame0127u1.zip $ cd sdlmame0127u1

On compile :slightly_smiling:

Et maintenant il faut être patient :slightly_smiling:

On génère le fichier de configuration

Puis on l’édite

Si votre carte supporte l’OpenGL remplacez “soft” par “opengl” dans “VIDEO OPTIONS” ligne 156.

On choisi la disposition clavier français: dans “SDL KEYBOARD MAPPING” remplacez “0” par “1” et “keymap.dat” par “keymaps/km- fr.txt” lignes 239-238.

Il reste à déposer les jeux dans le dossier “roms” ou modifier son chemin dans “mame.ini” ligne 11 “rompath”

Testons la bête !

donne la liste de vos jeux et les options, ou pour jouer directement

Touches Alt+Entrée pour le plein écran, TAB pour le menu, le les flêches pour naviguer, Entrée pour valider, Esc pour revenir.

2. Compiler QT4

Télécharger la dernière version trolltech.com/developer/downloads/qt/x11

Décompresser l’archive et s’y placer

$ tar -xzvf qt-x11-opensource-src-4.4.1.tar.gz $ cd qt-x11-opensource-src-4.4.1

Préparer la compilation

Puis taper “yes” et Entrée pour accepter la licence

Patience…

On compile

Encore… là c’est vraiment long, aller se promener… :slightly_smiling:

On installe

QT4 se trouve ici: /usr/local/Trolltech/Qt-4.4.1

3. M.A.M.E. Catalog / Launcher II (QMC2)

Prérequis

Installer ce paquet et dépendances

Télécharger la dernière version de QMC2 mameworld.net/mamecat/

Décompresser l’archive et s’y placer

$ tar -xzvf qmc2-0.2.b4.tar.gz $ cd qmc2

Indiquer au makefile l’emplacement de notre QT4

Compiler

  1. Configuration

Premier lancement, toujours depuis le dossier qmc2

Une fenêtre de bienvenue apparaît, dans un premier temps indiquer seulement le chemin de l’executable

[…]/sdlmame0127u1/mame

Puis cliquer sur “Ok”, il se peut qu’il ne se passe rien ensuite, c’est normal, relancer qmc2

Importer mame.ini

Menu “Outils” > "Options…"
Onglets “Emulateur”, "Configuration globale
Cliquer sur “Importer depuis…”, “Choisir le fichier…”

Puis choisir […]/sdlmame0127u1/mame.ini

Important, l’émulateur seul comme le front-end doivent être lancés depuis leurs dossiers respectifs, inutile donc de créer un simple lien. La solution consiste à écrire un script de deux commandes: se placer dans le dossier de l’exécutable, et exécuter,

exemple:

[quote]#!/bin/bash
cd /home/panda/qmc2
./qmc2[/quote]

Ce logiciel est bourré d’options comme avoir des aperçus pour chaque jeux, des affiches d’époque, des icônes, des infos en tous genres… un vrai musée en somme !
Toutes les ressources nécessaires se trouvent facilement sur le net, mameinfo, history, packs d’icônes, etc…
Il est possible aussi de simuler les lignes horizontales que l’on voyait en s’approchant un peu des moniteurs !

Pour finir quelques images:

L’interface

Capture en mode fenêtré

Zoom sur les fameuses lignes horizontales

:smt006

Panda, je t’aime :smt054

Je vais pouvoir dépoussiérer mes 6 Go de roms downloadés sur les newsgroups :smiling_imp:

J’ai toujours voulu récupérer une vieille borne d’arcade et y glisser un PC dedans.

:smt003

Moi aussi dès que j’ai le temps (et un peu des euros aussi !) je compte carrément me fabriquer une borne d’arcade Debian :smt004

Un peu comme ça mais pas en 24h ! :laughing:
Sûrement équipée d’un joypad tout fait car les pandas, c’est bien connu sont des feignasses !

Merci beaucoup, Panda, pour ce tutoriel que je suis à la lettre. :smiley:

Je viens à l’instant de rencontrer une erreur qui m’a fait perdre une bonne demi-heure. Comme je viens de trouver la solution, autant vous en faire profiter…
Arrivée à l’étape de la compilation, j’ai lancé mon make, fébrile. Au bout de quelques secondes, il m’a jetée comme une malpropre, prétendant que les warnings étaient gérés comme des erreurs, et que d’abord, il ne voulait pas aller plus loin, parce que voilà, non mais.
Après ma demi-heure d’errances internautiques infructueuses, j’ai fini par aller mettre le nez dans le makefile. Après tout, comme je suis en amd64, peut-être que mon architecture n’était pas détectée… Et vlan :

# uncomment next line if you are building for a 64-bit target PTR64 = 1

Il m’a suffit de décommenter la ligne en question… C’est marrant comme ça compile vachement mieux, d’un coup. :mrgreen:

Qui nous fait un beau petit paquet deb ?

bonjour

moi j’ai eu l’erreur suivante:

about.cpp:41: error: ‘MAJOR’ was not declared in this scope about.cpp:41: error: ‘MINOR’ was not declared in this scope
dans les compilations de qmc2main.cpp, options.cpp et about.cpp.

une solution moche mais simple consiste à rajouter ces deux lignes avant celles auxquelles apparaissent les erreurs:

int MAJOR=0; int MINOR=0;
dans chacun des fichiers incriminés.

là la compilation peut continuer :smiley:

Bonjour à tous,

Je remonte ce post car j’ai trouvé ça qui pourrait en intéresser plus d’un ! :wink:

@+
Eric

:006

Bonjour!
Je tiens a remercier Panda pour ce magnifique tuto. Cependant, je viens dépoussiérer ce topic car je bloque un peu.

Mon premier problème c’est que l’émulateur ne détecte pas mes ROMs! J’ai bien mis les ROMs dans le dossier roms en indiquant le chemin dans le fichier mame.ini.
Du coup, quand je tente quand même de lancer MAME, un message au démarrage m’indique qu’aucune ROM n’a été trouvé. J’ai rencontré le même problème sur KXMame configuré en GUI. (Sous Windows, aucun problème, toutes mes ROMs fonctionnent parfaitement)

Deuxième probleme, c’est à ce stade là: [quote]Premier lancement, toujours depuis le dossier qmc2

Code:
$ ./qmc2
Une fenêtre de bienvenue apparaît, dans un premier temps indiquer seulement le chemin de l’executable
[…]/sdlmame0127u1/mame
Puis cliquer sur “Ok”, il se peut qu’il ne se passe rien ensuite, c’est normal, relancer qmc2
[/quote]

La fenêtre de bienvenue se lance, mais quand j’indique le chemin de l’exécutable j’ai un message d’erreur qui apparaît: “The specified file isn’t executable!” . J’ai vérifié et il est bien exécutable! Qu’est-ce que je pourrais faire pour résoudre ces problèmes?

En attente de vous lire, merci!

[quote=“Jhun_boss”]Mon premier problème c’est que l’émulateur ne détecte pas mes ROMs! J’ai bien mis les ROMs dans le dossier roms en indiquant le chemin dans le fichier mame.ini.
Du coup, quand je tente quand même de lancer MAME, un message au démarrage m’indique qu’aucune ROM n’a été trouvé.[/quote]
J’ai aussi le même souci que toi : “The selected game is missing one or more required ROM or CHD images” aparaît systématiquement, quelle que soit la rom déposée pourtant au bon endroit !
On peut lire ici les nombreuses causes de ce message d’erreur.
Je me suis donc dis que mes roms n’étaient peut-être pas suffisamment récentes.
Sauf que toutes celles que j’ai réussi à trouver aboutissent au même résultat !

J’ai donc changé mon fusil d’épaule et j’ai cherché du coté de SDLMAME.
Sur le site officiel, on peut lire :[quote]There are no longer separate programs called SDLMAME or SDLMESS. Instead, the SDL capability is included in MAME and MESS, and the makefile will auto-detect if you are on a non-Windows system and run accordingly. You now get the source directly from MAMEdev or MESSdev rather than from here.[/quote]
J’ai donc téléchargé les sources de MAME v0.139 (car bien évidemment aucune realease de dispo pour Linux !) et, soit je me débrouille comme un pied, soit il y a un loup quelque part mais la compilation des sources n’abouti pas !
J’ai même ouvert un post ici à ce propos mais bon, ça n’a pas l’air d’intéresser grand monde !

Si jamais quelqu’un à une idée ?

J’ai installé SQLMAME en passant par aptitude:

Je comprend pas trop l’intérêt parce qu’on a compilé SDLMAME auparavant…mais bon.
Ensuite il faut modifier le fichier de config de sdlmame qui vient d’être installé

Et a la 9eme ligne a rompath, il faut indiquer l’emplacement de ses ROMs et là ça marche! Enfin, oui et non pour moi.
J’ai indiqué plusieurs emplacements et apparemment, il reconnais uniquement celles qui sont sur ma partition Linux, mais pas celles qui sont sur ma partition NTFS.

Et quand je lance l’émulateur, c’est d’une lenteur sans nom…C’est dommage parce que il y’a un an ou deux, j’était sur KxMame, et ça fonctionnait très très bien.