Additions:
__**edit:**__ une version plus récente du fichier controls.ini se trouve sur [[http://controls.arcadecontrols.com/controls/controls_dat.php]]. Merci à zeflasher pour l'info!
Additions:
Pour y insérer la déclaration du clavier au niveau de la variable gérant les contrôleurs (ligne 89 avec #%CTRL#%+#%_#%) entre ##Pedal## et ##None##. Nous en profiterons pour ajouter d'autres contrôleurs tels "keypad", "doublejoy" ou "hanafuda" par exemple. Le bloc avant la modification:
'joy': u'Joystick',
'gambling': u'Gambling',
'mahjong': u'Mahjong',
'doublejoy': u'Double Joystick',
'keypad': u'Keypad',
'mouse': u'Mouse',
'positional': u'Positional',
'hanafuda': u'Hanafuda',
'joy': u'Joystick',
'gambling': u'Gambling',
'mahjong': u'Mahjong',
'doublejoy': u'Double Joystick',
'keypad': u'Keypad',
'mouse': u'Mouse',
'positional': u'Positional',
'hanafuda': u'Hanafuda',
Deletions:
Additions:
%%(bash)
if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then
# Lancement de l'interface graphique...
startx
# Arrêt de la machine une fois la session graphique terminée
sudo shutdown -h now
fi
if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then
# Lancement de l'interface graphique...
startx
# Arrêt de la machine une fois la session graphique terminée
sudo shutdown -h now
fi
Deletions:
startx
# Arrêt de la machine une fois la session graphique terminée
sudo shutdown -h now
Additions:
Ce point a été réalisé, c.f. [[http://wiki.ludomatic.fr/DebianMameCab#hn_VII.b_Premier_lancement_MAME|Premier lancement MAME]]
Deletions:
Additions:
Ce point a été réalisé, c.f. [[#hn_VII.b_Premier_lancement_MAME|Premier lancement MAME]]
Deletions:
Additions:
=== X.c Paramétrage X11 et lancement Wahcade (point #5)===
Ce point a été réalisé, c.f. [[#hn_VII.b_Premier_lancement_MAME Premier lancement MAME]]
À partir d'ici tout a été passé en revue et votre MAMECAB doit booter et lancer automatiquement Wahcade et vous pouvez lancer vos jeux. Lorsque vous quittez le front-end, la session graphique se coupe et la borne s'éteint. Bonnes parties endiablées!
Ce point a été réalisé, c.f. [[#hn_VII.b_Premier_lancement_MAME Premier lancement MAME]]
À partir d'ici tout a été passé en revue et votre MAMECAB doit booter et lancer automatiquement Wahcade et vous pouvez lancer vos jeux. Lorsque vous quittez le front-end, la session graphique se coupe et la borne s'éteint. Bonnes parties endiablées!
Additions:
=== X.a Login automatique (point #3)===
=== X.b Démarrage automatique de la session X (point #4)===
Lors de la connexion au système, le fichier ##.profile## du compte utilisateur est lancé. Il suffit alors d'y placer le lancement de notre session graphique.
Éditer le fichier ##/home/puckman/.profile## (penser à faire une copie de secours au cas où!)
puckman@mamecab:~/bin$ pico ~/.profile
...et ajouter à la fin les commandes suivantes:
# Lancement de l'interface graphique...
startx
# Arrêt de la machine une fois la session graphique terminée
sudo shutdown -h now
Il faut permettre à l'utilisateur "puckman" d'éteindre la machine via l'utilitaire //sudo//. Pour cela, éditer le fichier ##/etc/sudoers## avec le compte "super-utilisateur" :
root@mamecab:~# pico /etc/sudoers
...et ajouter à la fin du fichier la ligne suivante:
# Autorisation pour le compte "puckman" d'utiliser la commande "shutdown" sans mot de passe
puckman ALL=(ALL) NOPASSWD: /sbin/shutdown
=== X.b Démarrage automatique de la session X (point #4)===
Lors de la connexion au système, le fichier ##.profile## du compte utilisateur est lancé. Il suffit alors d'y placer le lancement de notre session graphique.
Éditer le fichier ##/home/puckman/.profile## (penser à faire une copie de secours au cas où!)
puckman@mamecab:~/bin$ pico ~/.profile
...et ajouter à la fin les commandes suivantes:
# Lancement de l'interface graphique...
startx
# Arrêt de la machine une fois la session graphique terminée
sudo shutdown -h now
Il faut permettre à l'utilisateur "puckman" d'éteindre la machine via l'utilitaire //sudo//. Pour cela, éditer le fichier ##/etc/sudoers## avec le compte "super-utilisateur" :
root@mamecab:~# pico /etc/sudoers
...et ajouter à la fin du fichier la ligne suivante:
# Autorisation pour le compte "puckman" d'utiliser la commande "shutdown" sans mot de passe
puckman ALL=(ALL) NOPASSWD: /sbin/shutdown
Deletions:
todo: sudo shutdown -h now
Additions:
{{image class="right" alt="wake up" title="mameclockcab" url="http://8.mshcdn.com/wp-content/gallery/retro-gaming/arcade_picnik.jpg" width="180" height="180"}} Il est nécessaire d'installer un serveur graphique minimal appelé génériquement "serveur X" (et plus spécifiquement "X.org") sans pour autant charger barre des tâches et autres menus pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc.
Cette installation s'effectue comme habituellement via le compte ##root##, donc il faut au préalable passer en mode "super-utilisateur" avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
Une fois connecté avec le compte ##root##, il suffit d'installer tout simplement le paquet ##xorg## qui fournira entre autres:
- ##xfonts-...## fournissant des jeux de police par défaut
root@mamecab:~# aptitude install xorg
libfs6{a} libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} x11-apps{a} x11-session-utils{a} x11-utils{a} x11-xfs-utils{a} x11-xserver-utils{a} xbitmaps{a} xfonts-100dpi{a} xfonts-75dpi{a} xfonts-scalable{a} xinit{a} xorg xorg-docs-core{a} xterm{a}
0 paquets mis à jour, 18 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 9 604 ko d'archives. Après dépaquetage, 16,3 Mo seront utilisés.
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main x11-apps i386 7.5+5 [656 kB]
update-alternatives: utilisation de « /usr/bin/lxterm » pour fournir « /usr/bin/x-terminal-emulator » (x-terminal-emulator) en mode automatique.
Paramétrage de xorg (1:7.5+8) ...
Traitement des actions différées (« triggers ») pour « menu »...
Cette installation s'effectue comme habituellement via le compte ##root##, donc il faut au préalable passer en mode "super-utilisateur" avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
Une fois connecté avec le compte ##root##, il suffit d'installer tout simplement le paquet ##xorg## qui fournira entre autres:
- ##xfonts-...## fournissant des jeux de police par défaut
root@mamecab:~# aptitude install xorg
libfs6{a} libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} x11-apps{a} x11-session-utils{a} x11-utils{a} x11-xfs-utils{a} x11-xserver-utils{a} xbitmaps{a} xfonts-100dpi{a} xfonts-75dpi{a} xfonts-scalable{a} xinit{a} xorg xorg-docs-core{a} xterm{a}
0 paquets mis à jour, 18 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 9 604 ko d'archives. Après dépaquetage, 16,3 Mo seront utilisés.
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main x11-apps i386 7.5+5 [656 kB]
update-alternatives: utilisation de « /usr/bin/lxterm » pour fournir « /usr/bin/x-terminal-emulator » (x-terminal-emulator) en mode automatique.
Paramétrage de xorg (1:7.5+8) ...
Traitement des actions différées (« triggers ») pour « menu »...
Deletions:
- ##xfonts-base## et ##ttf-liberation## fournissant des jeux de police TrueType par défaut et Libres
Ces installations se font avec le compte ##root## donc il faut au préalable passer en mode "super-utilisateur" avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
root@mamecab:~# aptitude install xserver-xorg-core xfonts-base ttf-liberation xterm xinit x11-xserver-utils
Les NOUVEAUX paquets suivants vont être installés :
libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} ttf-liberation x11-utils{a}
x11-xserver-utils xbitmaps{a} xinit xterm
0 paquets mis à jour, 9 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 1 019 ko d'archives. Après dépaquetage, 3 486 ko seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libxcb-atom1 i386 0.3.6-1 [9 526 B]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libxv1 i386 2:1.0.5-1 [17,1 kB]
Additions:
Commençons par générer le fichier XML contenant l'ensemble des ROMs utilisables par cette unique version 0.142 (patience, cela peut prendre un peu de temps):
Deletions:
Additions:
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "mamecab" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple). Nous y mettrons MAME et tous les fichiers nécessaires à son fonctionnement.
Ici, je fais le test depuis la propre borne (pas très utile... mais ça permet de tester le bon fonctionnement du partage réseau SAMBA) :
Ici, je fais le test depuis la propre borne (pas très utile... mais ça permet de tester le bon fonctionnement du partage réseau SAMBA) :
Deletions:
Ici, je fais le test depuis la propre borne (pas très utile mais ça fonctionne) :
Additions:
Activons ensuite le partage de fichiers via SAMBA avec authentification obligatoire afin de permettre plus tard la copie de fichiers depuis un portable par exemple. Pour cela je commence par une **copie de sauvegarde** du fichier de configuration original:
Deletions:
Additions:
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et en une unique partition, avec création du compte utilisateur "puckman". Si vous avez besoin d'éclaircissements au cours de l'installation du système, n'hésitez pas à consulter [[http://www.debian.org/releases/stable/i386/index.html.fr le manuel d'aide officiel]]. J'ai marqué les points importants en gras ci-dessous:
Deletions:
Additions:
- La compilation de MAME depuis les sources (0.142)
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html, pour ma part la version actuelle est la 0.142 http://mamedev.org/downloader.php?file=releases/mame0142s.zip :
puckman@mamecab:~/sources$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/downloader.php?file=releases/mame0142s.zip" -O mame0142s.zip
--2011-04-11 08:01:43-- http://mamedev.org/downloader.php?file=releases/mame0142s.zip
Emplacement: http://mamedev.thiswebhost.com/releases/mame0142s.zip [suivant]
--2011-04-11 08:01:43-- http://mamedev.thiswebhost.com/releases/mame0142s.zip
Résolution de mamedev.thiswebhost.com... 67.225.136.222
Connexion vers mamedev.thiswebhost.com|67.225.136.222|:80...connecté.
Longueur: 17657289 (17M) [application/zip]
Sauvegarde en : «mame0142s.zip»
100%[===================================================================================================================================>] 17 657 289 154K/s ds 2m 16s
2011-04-11 08:04:02 (127 KB/s) - «mame0142s.zip» sauvegardé [17657289/17657289]
mame0142s.zip
puckman@mamecab:~/sources$ unzip mame0142s.zip
Archive: mame0142s.zip
mame0142s.zip mame.zip
Le fichier ##mame0142s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous décompressons ce nouveau fichier dans un dossier nommé ##mame0142## pour bien séparer les choses:
puckman@mamecab:~/sources$ unzip mame.zip -d mame0142
creating: mame0142/docs/
extracting: mame0142/docs/config.txt
extracting: mame0142/docs/license.txt
extracting: mame0142/docs/mame.txt
extracting: mame0142/src/version.c
extracting: mame0142/whatsnew.txt
mame0142 mame0142s.zip mame.zip
Tout s'est bien déroulé, **rendez-vous dans le dossier ##mame0142## avant de passer à la suite**:
puckman@mamecab:~/sources$ cd mame0142
puckman@mamecab:~/sources/mame0142$ ls
docs hash makefile src whatsnew.txt
puckman@mamecab:~/sources/mame0142$ make clean
puckman@mamecab:~/sources/mame0142$ make
mkdir -p obj/sdl/mame/emu/cpu
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source/mame0142/##:
puckman@mamecab:~/sources/mame0142$ ls
docs hash makefile mame obj src whatsnew.txt
puckman@mamecab:~/sources/mame0142$ mkdir /home/puckman/mame/
puckman@mamecab:~/sources/mame0142$ cp ./mame /home/puckman/mame/
puckman@mamecab:~/sources/mame0142$ cd /home/puckman/mame/
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html, pour ma part la version actuelle est la 0.142 http://mamedev.org/downloader.php?file=releases/mame0142s.zip :
puckman@mamecab:~/sources$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/downloader.php?file=releases/mame0142s.zip" -O mame0142s.zip
--2011-04-11 08:01:43-- http://mamedev.org/downloader.php?file=releases/mame0142s.zip
Emplacement: http://mamedev.thiswebhost.com/releases/mame0142s.zip [suivant]
--2011-04-11 08:01:43-- http://mamedev.thiswebhost.com/releases/mame0142s.zip
Résolution de mamedev.thiswebhost.com... 67.225.136.222
Connexion vers mamedev.thiswebhost.com|67.225.136.222|:80...connecté.
Longueur: 17657289 (17M) [application/zip]
Sauvegarde en : «mame0142s.zip»
100%[===================================================================================================================================>] 17 657 289 154K/s ds 2m 16s
2011-04-11 08:04:02 (127 KB/s) - «mame0142s.zip» sauvegardé [17657289/17657289]
mame0142s.zip
puckman@mamecab:~/sources$ unzip mame0142s.zip
Archive: mame0142s.zip
mame0142s.zip mame.zip
Le fichier ##mame0142s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous décompressons ce nouveau fichier dans un dossier nommé ##mame0142## pour bien séparer les choses:
puckman@mamecab:~/sources$ unzip mame.zip -d mame0142
creating: mame0142/docs/
extracting: mame0142/docs/config.txt
extracting: mame0142/docs/license.txt
extracting: mame0142/docs/mame.txt
extracting: mame0142/src/version.c
extracting: mame0142/whatsnew.txt
mame0142 mame0142s.zip mame.zip
Tout s'est bien déroulé, **rendez-vous dans le dossier ##mame0142## avant de passer à la suite**:
puckman@mamecab:~/sources$ cd mame0142
puckman@mamecab:~/sources/mame0142$ ls
docs hash makefile src whatsnew.txt
puckman@mamecab:~/sources/mame0142$ make clean
puckman@mamecab:~/sources/mame0142$ make
mkdir -p obj/sdl/mame/emu/cpu
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source/mame0142/##:
puckman@mamecab:~/sources/mame0142$ ls
docs hash makefile mame obj src whatsnew.txt
puckman@mamecab:~/sources/mame0142$ mkdir /home/puckman/mame/
puckman@mamecab:~/sources/mame0142$ cp ./mame /home/puckman/mame/
puckman@mamecab:~/sources/mame0142$ cd /home/puckman/mame/
Deletions:
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html, pour ma part la version actuelle est la 0.141 http://mamedev.org/downloader.php?file=releases/mame0141s.zip :
puckman@mamecab:~/sources$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/downloader.php?file=releases/mame0141s.zip" -O mame0141s.zip
--2011-03-22 22:36:06-- http://mamedev.org/downloader.php?file=releases/mame0141s.zip
Resolving mamedev.org... 67.210.100.31
Connecting to mamedev.org|67.210.100.31|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://mamedev.thiswebhost.com/releases/mame0141s.zip [following]
--2011-03-22 22:36:07-- http://mamedev.thiswebhost.com/releases/mame0141s.zip
Resolving mamedev.thiswebhost.com... 67.225.136.222
Connecting to mamedev.thiswebhost.com|67.225.136.222|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17092788 (16M) [application/zip]
Saving to: `mame0141s.zip'
13% [======> ] 2,385,353 76.3K/s eta 4m 12s
mame0141s.zip
puckman@mamecab:~/sources$ unzip mame0141s.zip
Archive: mame0141s.zip
mame0141s.zip mame.zip
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous décompressons ce nouveau fichier dans un dossier nommé ##mame0141## pour bien séparer les choses:
puckman@mamecab:~/sources$ unzip mame.zip -d mame0141
creating: mame0141/docs/
extracting: mame0141/docs/config.txt
extracting: mame0141/docs/license.txt
extracting: mame0141/src/version.c
extracting: mame0141/whatsnew.txt
mame0141 mame0141s.zip mame.zip
Tout s'est bien déroulé, **rendez-vous dans le dossier ##mame0141## avant de passer à la suite**:
puckman@mamecab:~/sources$ cd mame0141
puckman@mamecab:~/sources/mame0141$ ls
docs makefile src whatsnew.txt
puckman@mamecab:~/sources/mame0141$ make clean
puckman@mamecab:~/sources/mame0141$ make
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source/mame0141/##:
puckman@mamecab:~/sources/mame0141$ ls
docs makefile mame obj src whatsnew.txt
puckman@mamecab:~/sources/mame0141$ mkdir /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cp ./mame /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cd /home/puckman/mame/
Additions:
- Le système Debian (Squeeze 6.0.0) avec le minimum nécessaire (pas de bureau par exemple)
Deletions:
Additions:
Pour la suite de cette installation j'ai pris la //Netinst// 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso correspondant à ma carte-mère. Si vous souhaitez aider le projet Debian et obtenir un jooooli CD rendez-vous sur [[http://debiancd.org/ DebianCD.org]]. Vous avez le CD en main? Nous voici prêt à installer le système de base!
Deletions:
Additions:
Pour la suite de cette installation j'ai pris la //Netinst// 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso correspondant à ma carte-mère. Vous avez le CD en main? Nous voici prêt à installer le système de base!
Au besoin, passer par le BIOS de votre carte mère pour faire booter le PC sur le CDROM avant le disque-dur.
Au besoin, passer par le BIOS de votre carte mère pour faire booter le PC sur le CDROM avant le disque-dur.
Deletions:
Additions:
Ce document commencé en Mars 2011 décrit l'installation de ma MAMECab avec:
{{image class="right" url="http://debiancd.org/images/cd.gif" title="Debian Squeeze CD http://debiancd.org" alt="Squeeze"}} J'ai choisi la distribution Debian Squeeze (stable à ce jour en version 6.0.0) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
Pour la suite de cette installation j'ai pris la //Netinst// 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso correspondant à ma carte-mère. Vous avez le CD en main? Nous voici prêt à installer le système de base! Au besoin, passer par le BIOS de votre carte mère pour faire booter le PC sur le CDROM, avant le disque-dur.
{{image class="right" url="http://debiancd.org/images/cd.gif" title="Debian Squeeze CD http://debiancd.org" alt="Squeeze"}} J'ai choisi la distribution Debian Squeeze (stable à ce jour en version 6.0.0) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
Pour la suite de cette installation j'ai pris la //Netinst// 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso correspondant à ma carte-mère. Vous avez le CD en main? Nous voici prêt à installer le système de base! Au besoin, passer par le BIOS de votre carte mère pour faire booter le PC sur le CDROM, avant le disque-dur.
Deletions:
>>Au besoin, passer par le BIOS de votre carte mère pour faire booter le PC sur le CDROM, avant le disque-dur.>> J'ai choisi la distribution Debian Squeeze (stable à ce jour en version 6.0.0) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
Pour la suite de cette installation j'ai pris la //Netinst// 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso correspondant à ma carte-mère. Vous avez le CD en main? Nous voici prêt à installer le système de base!
Additions:
{{image class="right" url="http://debiancd.org/images/cd.gif" title="Debian Squeeze CD http://debiancd.org" alt="Squeeze"}} Ce document commencé en Mars 2011 décrit l'installation de ma MAMECab avec:
Deletions:
Additions:
{{image align="right" url="http://debiancd.org/images/cd.gif" title="Debian Squeeze CD http://debiancd.org" alt="Squeeze"}} Ce document commencé en Mars 2011 décrit l'installation de ma MAMECab avec:
Deletions:
Additions:
>>Attention, nous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>>MAME se lance évidemment sous environnement graphique mais comme nous l'avons évoqué plus haut, pas de menus, de bureau et encore moins d'explorateur de fichiers sur notre mamecab //from scratch//. Il faut donc spécifier dans un petit fichier quels programmes seront lancés au démarrage de la session graphique. Ce fichier se nomme ##.xsession## et est à placer dans le dossier du compte utilisateur ##/home/puckman##:
>>Notez qu'une fois le programme à lancer avec ##.xsession## terminé, la session graphique s'arrête et vous reviendrez au prompt de la console.>> Nous pourrons de spécifier:
- le programme à lancer, ce sera ##xterm## pour le moment, une console graphique.
Ajoutons donc tout cela à notre fichier ##/home/puckman/.xsession##:
Notre PREMIER JEU MAME, woohoo!!
Toujours depuis le terminal graphique ##xterm##, il faut commencer par se connecter avec le compte "super-utilisateur" puis installer le paquet ##alsa-utils## qui ajoutera automatiquement ##alsa-base## et ##linux-sound-base##:
Montez au moins les niveaux "Master" et "PCM" en vérifiant bien de ne pas mettre "Mute" sur ces canaux. Utilisez #%GAUCHE#% et #%DROITE#% pour vous déplacer, #%HAUT#% et #%BAS#% pour modifier le volume, la touche #%m#% pour mettre le son en sourdine (##MM##) on pas (##OO##), et #%ÉCHAP#% pour quitter ##alsamixer## et revenir à la console une fois que tout est ok. La sauvegarde est automatique.
Branchez l'ampli et faites vrombir le moteur!!!
Avant de passer à l'installation du front-end, il est nécessaire d'obtenir quelques fichiers dont il aura besoin. Il est **obligatoire** d'avoir mis en place les fichiers ##catver.ini## et ##mameinfo.xml## avant d'installer Wahcade. Les autres fichiers de cette section "Extras" sont simplement recommandés pour agrémenter l'interface.
Le fichier des catégories ##catver.ini## est un des fichiers clés permettant au front-end de gérer les ROMs. Procédons à la récupération de l'archive ZIP le contenant **dans un dossier temporaire** ##/tmp##:
todo: artworks (décorations additionnelles durant une partie)
todo: sudo shutdown -h now
>>Notez qu'une fois le programme à lancer avec ##.xsession## terminé, la session graphique s'arrête et vous reviendrez au prompt de la console.>> Nous pourrons de spécifier:
- le programme à lancer, ce sera ##xterm## pour le moment, une console graphique.
Ajoutons donc tout cela à notre fichier ##/home/puckman/.xsession##:
Notre PREMIER JEU MAME, woohoo!!
Toujours depuis le terminal graphique ##xterm##, il faut commencer par se connecter avec le compte "super-utilisateur" puis installer le paquet ##alsa-utils## qui ajoutera automatiquement ##alsa-base## et ##linux-sound-base##:
Montez au moins les niveaux "Master" et "PCM" en vérifiant bien de ne pas mettre "Mute" sur ces canaux. Utilisez #%GAUCHE#% et #%DROITE#% pour vous déplacer, #%HAUT#% et #%BAS#% pour modifier le volume, la touche #%m#% pour mettre le son en sourdine (##MM##) on pas (##OO##), et #%ÉCHAP#% pour quitter ##alsamixer## et revenir à la console une fois que tout est ok. La sauvegarde est automatique.
Branchez l'ampli et faites vrombir le moteur!!!
Avant de passer à l'installation du front-end, il est nécessaire d'obtenir quelques fichiers dont il aura besoin. Il est **obligatoire** d'avoir mis en place les fichiers ##catver.ini## et ##mameinfo.xml## avant d'installer Wahcade. Les autres fichiers de cette section "Extras" sont simplement recommandés pour agrémenter l'interface.
Le fichier des catégories ##catver.ini## est un des fichiers clés permettant au front-end de gérer les ROMs. Procédons à la récupération de l'archive ZIP le contenant **dans un dossier temporaire** ##/tmp##:
todo: artworks (décorations additionnelles durant une partie)
todo: sudo shutdown -h now
Deletions:
MAME se lance évidemment sous environnement graphique mais comme nous l'avons évoqué plus haut, pas de menus, de bureau et encore moins d'explorateur de fichiers sur notre mamecab //from scratch//. Il faut donc spécifier dans un petit fichier quels programmes seront lancés au démarrage de la session graphique. Ce fichier se nomme ##.xsession## et est à placer dans le compte utilisateur ##/home/puckman##:
Nous pourrons de spécifier:
- le programme à lancer, ##xterm## dans notre cas, une console graphique.
Notez qu'une fois le programme à lancer est terminé, la session graphique se termine et vous reviendrez au prompt de la console. Ajoutons donc tout cela à notre fichier ##/home/puckman/.xsession##:
LE PREMIER JEU MAME, woohoo!!
Toujours depuis le terminal graphique ##xterm##, il faut commencer par se connecter avec le compte "super-utilisateur" puis installer le paquet ##alsa-utils## qui ajoutera ##alsa-base## et ##linux-sound-base##:
Montez au moins les niveaux "Master" et "PCM" en vérifiant bien de ne pas mettre "Mute" sur ces canaux. Utilisez #%GAUCHE#% et #%DROITE#% pour vous déplacer, #%HAUT#% et #%BAS#% pour modifier le volume, la touche #%m#% pour mettre le son en sourdine (##MM##) on pas (##OO##), et #%ÉCHAP#% pour quitter ##alsamixer## et revenir à la console une fois que tout est ok.
Branchez l'ampli et faites hurler le moteur!!!
Avant l'installation du front-end, il est nécessaire d'obtenir quelques fichiers dont il aura besoin. Il est **obligatoire** d'avoir mis en place les fichiers ##catver.ini## et ##mameinfo.xml## avant d'installer Wahcade. Les autres fichiers de cette section "Extras" sont recommandés mais pas bloquants.
Le fichier des catégories ##catver.ini## est avec le fichier descriptif des ROMs ##mameinfo.xml## un des fichiers clés permettant de gérer les ROMs. Procédons à la récupération de l'archive ZIP le contenant **dans un dossier temporaire** ##/tmp##:
todo: artworks
todo:
- ~/.xsession (setxkbmap -layout us, xrandr -s 800x600, xset s off, xset -dpms)
- sudo shutdown -h now
Additions:
Puis j'édite ce fichier:
Deletions:
Additions:
Ce document commencé en Mars 2011 décrit l'installation de ma MAMECab avec:
>>Au besoin, passer par le BIOS de votre carte mère pour faire booter le PC sur le CDROM, avant le disque-dur.>> J'ai choisi la distribution Debian Squeeze (stable à ce jour en version 6.0.0) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- sélectionner la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement prendre l'image pour une installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai pris la //Netinst// 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso correspondant à ma carte-mère. Vous avez le CD en main? Nous voici prêt à installer le système de base!
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et en une unique partition, avec création du compte utilisateur "puckman". Les points importants sont en gras.
Accueil lors du boot sur le CDROM d'installation de Debian 6.0.0 Squeeze: j'ai choisi l'installation en mode **console**
Chargement des composants et détection du réseau: **je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une**.
Choix du nom de la borne: **notez-le bien si vous êtes en réseau**.
Saisie du mot de passe "root": **ne l'oubliez pas**!
Choix de l'utilisateur, je l'ai appelé "puckman": **retenez son nom si vous en choisissez un autre**.
J'ai choisi le partitionnement du disque entier: **toutes les données du disque seront effacées**!
Attention, **pas de retour en arrière une fois le disque formaté**!
J'ai choisi le "**Serveur de fichiers**" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "**Serveur SSH**" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "**Utilitaires standard du système**" pour bénéficier d'un minimum d'outils. On démarre une borne //minimaliste// mais faut pas exagérer :-)
Idem pour les gestionnaires de bureau, point de KDE ni GNOME: nous nous contenterons simplement du serveur graphique X.
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). **Mettez celui approprié à votre réseau** si vous disposez de plusieurs postes connectés.
Sur mon poste de travail GNU/Linux "kanumera", je peux dès lors me connecter via SSH sur la borne "mamecab" (à l'adresse récupérée ci-dessus) avec la commande "##ssh utilisateur@machine##":
Activons ensuite le partage de fichiers via SAMBA avec authentification obligatoire. Pour cela je commence par une **copie de sauvegarde** du fichier de configuration original:
Puis j'éditelce fichier:
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple). Nous y mettrons MAME et tous les fichiers nécessaires à son fonctionnement.
Avant d'installer MAME ou même les outil dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##. Pensez à faire cette mise à jour régulièrement avant d'installer de nouveaux paquets:
[...]
{{image class="right" alt="Frankenstein" title="tout va bien se passer" url="http://vectorcade.net/frankenstein.jpg" width="150" height="120"}} Une fois la liste des paquets disponibles à jour, passons à leur installation:
Oui, on arrive enfin à la partie MAME :)
Préparer un nouveau dossier de travail, nous y mettrons les sources:
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html, pour ma part la version actuelle est la 0.141 http://mamedev.org/downloader.php?file=releases/mame0141s.zip :
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous décompressons ce nouveau fichier dans un dossier nommé ##mame0141## pour bien séparer les choses:
>>Au besoin, passer par le BIOS de votre carte mère pour faire booter le PC sur le CDROM, avant le disque-dur.>> J'ai choisi la distribution Debian Squeeze (stable à ce jour en version 6.0.0) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- sélectionner la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement prendre l'image pour une installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai pris la //Netinst// 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso correspondant à ma carte-mère. Vous avez le CD en main? Nous voici prêt à installer le système de base!
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et en une unique partition, avec création du compte utilisateur "puckman". Les points importants sont en gras.
Accueil lors du boot sur le CDROM d'installation de Debian 6.0.0 Squeeze: j'ai choisi l'installation en mode **console**
Chargement des composants et détection du réseau: **je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une**.
Choix du nom de la borne: **notez-le bien si vous êtes en réseau**.
Saisie du mot de passe "root": **ne l'oubliez pas**!
Choix de l'utilisateur, je l'ai appelé "puckman": **retenez son nom si vous en choisissez un autre**.
J'ai choisi le partitionnement du disque entier: **toutes les données du disque seront effacées**!
Attention, **pas de retour en arrière une fois le disque formaté**!
J'ai choisi le "**Serveur de fichiers**" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "**Serveur SSH**" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "**Utilitaires standard du système**" pour bénéficier d'un minimum d'outils. On démarre une borne //minimaliste// mais faut pas exagérer :-)
Idem pour les gestionnaires de bureau, point de KDE ni GNOME: nous nous contenterons simplement du serveur graphique X.
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). **Mettez celui approprié à votre réseau** si vous disposez de plusieurs postes connectés.
Sur mon poste de travail GNU/Linux "kanumera", je peux dès lors me connecter via SSH sur la borne "mamecab" (à l'adresse récupérée ci-dessus) avec la commande "##ssh utilisateur@machine##":
Activons ensuite le partage de fichiers via SAMBA avec authentification obligatoire. Pour cela je commence par une **copie de sauvegarde** du fichier de configuration original:
Puis j'éditelce fichier:
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple). Nous y mettrons MAME et tous les fichiers nécessaires à son fonctionnement.
Avant d'installer MAME ou même les outil dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##. Pensez à faire cette mise à jour régulièrement avant d'installer de nouveaux paquets:
[...]
{{image class="right" alt="Frankenstein" title="tout va bien se passer" url="http://vectorcade.net/frankenstein.jpg" width="150" height="120"}} Une fois la liste des paquets disponibles à jour, passons à leur installation:
Oui, on arrive enfin à la partie MAME :)
Préparer un nouveau dossier de travail, nous y mettrons les sources:
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html, pour ma part la version actuelle est la 0.141 http://mamedev.org/downloader.php?file=releases/mame0141s.zip :
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous décompressons ce nouveau fichier dans un dossier nommé ##mame0141## pour bien séparer les choses:
Deletions:
@@Rédaction du document commencée en Mars 2011.@@
{{image class="left" alt="RIP" title="R.I.P." url="http://img.timeinc.net/time/today_in_pictures/1009/tip_ny_0908_01.jpg" width="180" height="160"}} J'ai choisi la distribution Debian Squeeze (stable à ce jour en version 6.0.0) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- choisir la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement choisir l'image d'installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai pris la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso correspondant à ma carte-mère.
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Nous voici prêt à installer le système de base!
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et en une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
Accueil lors du boot sur le CDROM d'installation de Debian 6.0 Squeeze: j'ai choisi l'installation en mode "console"
Chargement des composants et détection du réseau: {{color hex="#DD0000" text="je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une"}}.
Choix du nom de la borne: {{color hex="#DD0000" text="notez-le bien si vous le modifiez"}}.
Saisie du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
Choix de l'utilisateur, je l'ai appelé "puckman": {{color hex="#DD0000" text="notez bien son nom si vous en choisissez un autre"}}.
J'ai choisi le partitionnement du disque entier: {{color hex="#DD0000" text="tout le disque sera formaté"}}!
Attention, {{color hex="#DD0000" text="pas de retour en arrière une fois le disque formaté"}}!
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils. Concernant les gestionnaire de bureau tels KDE ou GNOME, nous nous contenterons simplement du serveur graphique X.
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous disposez de plusieurs postes connectés.
Sur mon poste de travail, je peux dès lors me connecter via SSH sur la borne (à l'adresse récupérée ci-dessus) avec la commande "ssh utilisateur@machine":
Activons ensuite le partage de fichiers via SAMBA avec authentification obligatoire. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
Puis j'édite ce fichier:
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple).
Avant d'installer MAME ou même les outil dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##:
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-fr
Atteint http://ftp.nc.debian.org squeeze-updates Release.gpg
Prendre : 1 http://security.debian.org squeeze/updates Release.gpg [835 B]
Ign http://security.debian.org/ squeeze/updates/main Translation-en
Ign http://security.debian.org/ squeeze/updates/main Translation-fr
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-fr
Prendre : 2 http://security.debian.org squeeze/updates Release [38,4 kB]
Atteint http://ftp.nc.debian.org squeeze Release
Atteint http://ftp.nc.debian.org squeeze-updates Release
Atteint http://ftp.nc.debian.org squeeze/main Sources
Atteint http://ftp.nc.debian.org squeeze/main i386 Packages
Atteint http://ftp.nc.debian.org squeeze-updates/main Sources/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages
{{image class="right" alt="Frankenstein" title="tout va bien se passer" url="http://vectorcade.net/frankenstein.jpg" width="150" height="120"}}Une fois la liste des paquets disponibles à jour, nous installerons:
dbus-x11{a} debhelper{a} defoma{a} dpkg-dev{a} esound-common{a}
fakeroot{a} fontconfig{a} fontconfig-config{a} g++{a} g++-4.4{a} gcc{a}
x11proto-randr-dev{a} x11proto-render-dev{a} x11proto-xext-dev{a}
x11proto-xinerama-dev{a} xfonts-encodings{a} xfonts-utils{a}
Oui oui, on arrive enfin à la partie MAME :)
Préparer le dossier de travail:
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html (pour ma part la version actuelle est la 0.141 : http://mamedev.org/downloader.php?file=releases/mame0141s.zip)
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous le décompresserons dans un dossier nommé ##mame0141## pour bien séparer les choses:
Deletions:
%%(ini)
Additions:
>>Attention, nous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>>
%%(c)
%%(ini)
Ou encore le fichier ZIP:
puckman@mamecab:~/mame$ ./mame /home/puckman/roms/wrally.zip
Toujours depuis le terminal graphique ##xterm##, il faut commencer par se connecter avec le compte "super-utilisateur" puis installer le paquet ##alsa-utils## qui ajoutera ##alsa-base## et ##linux-sound-base##:
Bon, le jeu est sympa mais faudrait finir l'installation! Quitter le terminal ##xterm## avec la commande ##exit##. Cela aura pour effet de terminer la session graphique et vous renvoyer sur la console:
Avant l'installation du front-end, il est nécessaire d'obtenir quelques fichiers dont il aura besoin. Il est **obligatoire** d'avoir mis en place les fichiers ##catver.ini## et ##mameinfo.xml## avant d'installer Wahcade. Les autres fichiers de cette section "Extras" sont recommandés mais pas bloquants.
La configuration peut se faire dans l'environnement graphique. Lançons à nouveau le serveur X manuellement (rappel: et le terminal ##xterm## défini dans le fichier ##.xsession##):
>>Si vous n'avez rencontré aucune erreur lors de la génération du filtre, rendez-vous directement au chapitre suivant: Test de Wahcade!>>Il y a en fait un bug dans ma version! Si vous avez exactement la même erreur, il faut la corriger en attendant que le paquet soit mis à jour en amont. Aucun problème pour nous puisque l'erreur est identifié et les sources disponibles, Open Source power :-)
Allons-y, commençons par nous rendre dans le dossier des sources ##/usr/local/share/games/wahcade/##:
puckman@mamecab:~/mame$ cd /usr/local/share/games/wahcade/
puckman@mamecab:/usr/local/share/games/wahcade$ cp -v filters.py filters.py_orig
Éditons le fichier ##filters.py##
puckman@mamecab:/usr/local/share/games/wahcade$ pico filters.py
Pour y insérer la déclaration du clavier au niveau de la variable gérant les contrôleurs (ligne 89 avec #%CTRL#%+#%_#%) entre ##Pedal## et ##None##. Le bloc avant la modification:
Une fois le correctif appliqué, nous pouvons revenir à notre dossier ##mame##:
puckman@mamecab:/usr/local/share/games/wahcade$ cd ~/mame
**Note sur le clavier**: Pour exécuter la ROM choisie, Wahcade utilise la touche #%START#% du joueur 1, soit la touche #%1#% (pas la touche du pavé numérique) depuis un clavier configuré en anglais. Si vous travaillez sur un clavier français par exemple, vous enverrez la lettre ##&## et non pas ##1##... Or, maintenant que Wahcade est correctement configuré, nous n'aurons plus à saisir de texte dans l'environnement graphique. Je vous conseille donc de mettre ##keymap## à ##0## (zéro) dans le fichier ##mame.ini## et de dé-commenter la ligne ##setxkbmap -layout us## dans le fichier ##.xsession## pour travailler //naturellement// sur un clavier anglais dans l'environnement graphique, Wahcade et MAME. Je considérerai par la suite que vous avez basculé votre clavier en anglais sous X.
=== IX.e Wahcade par défaut ===
Éditer simplement le fichier ##.xsession## dans le dossier du compte ##puckman## pour remplacer le lancement de ##xterm## par ##wahcade##:
puckman@mamecab:~/mame$ pico ~/.xsession
%%(ini)
wahcade
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico". Répondre "O" pour sauvegarder et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt, prêts à fignoler l'installation aux petits oignons.
%%(c)
%%(ini)
Ou encore le fichier ZIP:
puckman@mamecab:~/mame$ ./mame /home/puckman/roms/wrally.zip
Toujours depuis le terminal graphique ##xterm##, il faut commencer par se connecter avec le compte "super-utilisateur" puis installer le paquet ##alsa-utils## qui ajoutera ##alsa-base## et ##linux-sound-base##:
Bon, le jeu est sympa mais faudrait finir l'installation! Quitter le terminal ##xterm## avec la commande ##exit##. Cela aura pour effet de terminer la session graphique et vous renvoyer sur la console:
Avant l'installation du front-end, il est nécessaire d'obtenir quelques fichiers dont il aura besoin. Il est **obligatoire** d'avoir mis en place les fichiers ##catver.ini## et ##mameinfo.xml## avant d'installer Wahcade. Les autres fichiers de cette section "Extras" sont recommandés mais pas bloquants.
La configuration peut se faire dans l'environnement graphique. Lançons à nouveau le serveur X manuellement (rappel: et le terminal ##xterm## défini dans le fichier ##.xsession##):
>>Si vous n'avez rencontré aucune erreur lors de la génération du filtre, rendez-vous directement au chapitre suivant: Test de Wahcade!>>Il y a en fait un bug dans ma version! Si vous avez exactement la même erreur, il faut la corriger en attendant que le paquet soit mis à jour en amont. Aucun problème pour nous puisque l'erreur est identifié et les sources disponibles, Open Source power :-)
Allons-y, commençons par nous rendre dans le dossier des sources ##/usr/local/share/games/wahcade/##:
puckman@mamecab:~/mame$ cd /usr/local/share/games/wahcade/
puckman@mamecab:/usr/local/share/games/wahcade$ cp -v filters.py filters.py_orig
Éditons le fichier ##filters.py##
puckman@mamecab:/usr/local/share/games/wahcade$ pico filters.py
Pour y insérer la déclaration du clavier au niveau de la variable gérant les contrôleurs (ligne 89 avec #%CTRL#%+#%_#%) entre ##Pedal## et ##None##. Le bloc avant la modification:
Une fois le correctif appliqué, nous pouvons revenir à notre dossier ##mame##:
puckman@mamecab:/usr/local/share/games/wahcade$ cd ~/mame
**Note sur le clavier**: Pour exécuter la ROM choisie, Wahcade utilise la touche #%START#% du joueur 1, soit la touche #%1#% (pas la touche du pavé numérique) depuis un clavier configuré en anglais. Si vous travaillez sur un clavier français par exemple, vous enverrez la lettre ##&## et non pas ##1##... Or, maintenant que Wahcade est correctement configuré, nous n'aurons plus à saisir de texte dans l'environnement graphique. Je vous conseille donc de mettre ##keymap## à ##0## (zéro) dans le fichier ##mame.ini## et de dé-commenter la ligne ##setxkbmap -layout us## dans le fichier ##.xsession## pour travailler //naturellement// sur un clavier anglais dans l'environnement graphique, Wahcade et MAME. Je considérerai par la suite que vous avez basculé votre clavier en anglais sous X.
=== IX.e Wahcade par défaut ===
Éditer simplement le fichier ##.xsession## dans le dossier du compte ##puckman## pour remplacer le lancement de ##xterm## par ##wahcade##:
puckman@mamecab:~/mame$ pico ~/.xsession
%%(ini)
wahcade
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico". Répondre "O" pour sauvegarder et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt, prêts à fignoler l'installation aux petits oignons.
Deletions:
%%(bash)
%%(bash)
Après avoir quitté MAME, nous devons sortir de l'environnement X avec la commande ##exit##:
Commencer par se connecter avec le compte "super-utilisateur" puis installer le paquet ##alsa-utils## qui ajoutera ##alsa-base## et ##linux-sound-base##:
La configuration peut se faire dans l'environnement graphique. Lançons à nouveau le serveur X manuellement:
Il y a en fait un bug dans ma version! Si vous avez exactement la même erreur, il faut la corriger en attendant que le paquet soit mis à jour en amont. Aucun problème pour nous puisque l'erreur est identifié et les sources disponibles, Open Source power :-)
Si vous n'avez rencontré aucune erreur lors de la génération du filtre, rendez-vous directement au chapitre suivant: Test de Wahcade!
Allons-y, ouvrir le compte "super-utilisateur" et aller dans le dossier ##/usr/local/share/games/wahcade/##:
root@mamecab:~# cd /usr/local/share/games/wahcade/
root@mamecab:/usr/local/share/games/wahcade# cp -v filters.py filters.py_orig
Éditer le fichier ##filter.py## pour y insérer la déclaration du clavier au niveau de la variable gérant les contrôleurs (ligne 89 avec #%CTRL#%+#%_#%) entre ##Pedal## et ##None##. Le bloc avant la modification:
Une fois le correctif appliqué, n'oublions pas de **quitter le compte ##root##** avec la commande ##exit##:
root@mamecab:/usr/local/share/games/wahcade# exit
Additions:
Je passerai la variable ##keymap## à ##0## plus bas dans le document une fois nos premiers test effectués. Cela sera beaucoup plus simple car le clavier n'est pas nécessaire au fonctionnement "normal" de la mamecab et les outils fonctionnent tous avec des codes de touches anglaises par défaut. Mais conservons notre clavier en français pour le moment.
- ##xfonts-base## et ##ttf-liberation## fournissant des jeux de police TrueType par défaut et Libres
Ces installations se font avec le compte ##root## donc il faut au préalable passer en mode "super-utilisateur" avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
**Note sur la prise en charge d'OpenGL**: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], __Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D__. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
>>Attention, ous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>>
MAME se lance évidemment sous environnement graphique mais comme nous l'avons évoqué plus haut, pas de menus, de bureau et encore moins d'explorateur de fichiers sur notre mamecab //from scratch//. Il faut donc spécifier dans un petit fichier quels programmes seront lancés au démarrage de la session graphique. Ce fichier se nomme ##.xsession## et est à placer dans le compte utilisateur ##/home/puckman##:
puckman@mamecab:~/mame$ pico /home/puckman/.xsession
Nous pourrons de spécifier:
- la résolution de l'écran (ex: 640x480, 800x600, etc. à votre guise),
- la suppression de l'écran de veille (activé par défaut au bout de 10 minutes),
- le type de clavier ("en", "fr", etc.),
- le programme à lancer, ##xterm## dans notre cas, une console graphique.
Notez qu'une fois le programme à lancer est terminé, la session graphique se termine et vous reviendrez au prompt de la console. Ajoutons donc tout cela à notre fichier ##/home/puckman/.xsession##:
%%(bash)
# Resolution de l'ecran
xrandr -s 800x600
# Clavier anglais
setxkbmap -layout us
# Suppression de l'ecran de veille (ecran noir)
xset s off
# Suppression de la gestion d'energie (extinction moniteur)
xset -dpms
# Lancement du programme
xterm
# Pour mémoire, la session graphique se termine automatiquement une fois le programme quitté.
Comme la plupart des fichiers de configuration sous linux, le caractère "## # ##" sert à commenter tout ce qui suit sur la ligne. Vous pouvez par exemple laisser active la gestion d'énergie pour sauver la planète en commentant la ligne:
%%(bash)
# Suppression de la gestion d'energie (extinction moniteur)
#xset -dpms
%%
Ok, #%CTRL#%+#%X#% pour fermer l'éditeur "pico", répondre "O" pour sauvegarder et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Ceux qui ont suivi jusque là l'ont bien mérité, il est temps de lancer MAME!
Nous allons donc exécuter la commande manuelle ##startx## pour lancer notre environnement graphique (oui, on aura même un curseur de souris) puis ##mame## une fois au prompt du terminal ##xterm##:
>>Cliquer avec la souris sur la ligne de texte si vous ne pouvez rien écrire, le focus n'est alors pas sur le terminal.>> Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le //fameux// ##xterm## installé précédemment. Je sais ce que vous devez vous dire: "3 heures d'installation et de configuration pour me retrouver en ligne de commande sur un pauvre terminal graphique..." mais tout ce travail effectué va payer car il est temps de lancer notre émulateur préféré (roulement de tambour...):
- ##xfonts-base## et ##ttf-liberation## fournissant des jeux de police TrueType par défaut et Libres
Ces installations se font avec le compte ##root## donc il faut au préalable passer en mode "super-utilisateur" avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
**Note sur la prise en charge d'OpenGL**: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], __Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D__. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
>>Attention, ous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>>
MAME se lance évidemment sous environnement graphique mais comme nous l'avons évoqué plus haut, pas de menus, de bureau et encore moins d'explorateur de fichiers sur notre mamecab //from scratch//. Il faut donc spécifier dans un petit fichier quels programmes seront lancés au démarrage de la session graphique. Ce fichier se nomme ##.xsession## et est à placer dans le compte utilisateur ##/home/puckman##:
puckman@mamecab:~/mame$ pico /home/puckman/.xsession
Nous pourrons de spécifier:
- la résolution de l'écran (ex: 640x480, 800x600, etc. à votre guise),
- la suppression de l'écran de veille (activé par défaut au bout de 10 minutes),
- le type de clavier ("en", "fr", etc.),
- le programme à lancer, ##xterm## dans notre cas, une console graphique.
Notez qu'une fois le programme à lancer est terminé, la session graphique se termine et vous reviendrez au prompt de la console. Ajoutons donc tout cela à notre fichier ##/home/puckman/.xsession##:
%%(bash)
# Resolution de l'ecran
xrandr -s 800x600
# Clavier anglais
setxkbmap -layout us
# Suppression de l'ecran de veille (ecran noir)
xset s off
# Suppression de la gestion d'energie (extinction moniteur)
xset -dpms
# Lancement du programme
xterm
# Pour mémoire, la session graphique se termine automatiquement une fois le programme quitté.
Comme la plupart des fichiers de configuration sous linux, le caractère "## # ##" sert à commenter tout ce qui suit sur la ligne. Vous pouvez par exemple laisser active la gestion d'énergie pour sauver la planète en commentant la ligne:
%%(bash)
# Suppression de la gestion d'energie (extinction moniteur)
#xset -dpms
%%
Ok, #%CTRL#%+#%X#% pour fermer l'éditeur "pico", répondre "O" pour sauvegarder et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Ceux qui ont suivi jusque là l'ont bien mérité, il est temps de lancer MAME!
Nous allons donc exécuter la commande manuelle ##startx## pour lancer notre environnement graphique (oui, on aura même un curseur de souris) puis ##mame## une fois au prompt du terminal ##xterm##:
>>Cliquer avec la souris sur la ligne de texte si vous ne pouvez rien écrire, le focus n'est alors pas sur le terminal.>> Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le //fameux// ##xterm## installé précédemment. Je sais ce que vous devez vous dire: "3 heures d'installation et de configuration pour me retrouver en ligne de commande sur un pauvre terminal graphique..." mais tout ce travail effectué va payer car il est temps de lancer notre émulateur préféré (roulement de tambour...):
Deletions:
Ces installations se font avec le compte ##root##, passer en mode "super-utilisateur" au préalable avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
**Note sur la prise en charge d'OpenGL**: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], {{color hex="#dd0000" text="Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D"}}. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
>>Attention, ous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>> Ceux qui ont suivi jusque là l'ont bien mérité, il est temps de lancer MAME! Nous allons donc exécuter la commande manuelle ##startx## pour lancer notre environnement graphique (oui, on aura même un curseur de souris) puis ##mame##:
>>Cliquer avec la souris sur la ligne de texte si vous ne pouvez rien écrire, le focus n'est alors pas sur le terminal.>> Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le //fameux// ##xterm## installé précédemment. Rien de bien sensationnel pour le moment mais tout ce travail effectué va bientôt payer!
Il faut définir la résolution graphique avec l'utilitaire ##xrandr##. Nous passerons en 640x480, largement suffisant pour les jeux d'arcade. Si vous choisissez une autre dimension, note-là bien car nous nous baserons dessus un peu plus bas dans ce tuto lors de l'installation du front-end:
puckman@mamecab:~/mame$ xrandr -s 640x480
Une fois la résolution définie, il est temps de lancer notre émulateur préféré (roulement de tambour...):
Additions:
Pour terminer, quitter le compte "super-utilisateur".
Deletions:
root@mamecab:~# passwd -d puckman
passwd : expiration du mot de passe modifiée.
Additions:
todo:
- ~/.xsession (setxkbmap -layout us, xrandr -s 800x600, xset s off, xset -dpms)
- sudo shutdown -h now
- ~/.xsession (setxkbmap -layout us, xrandr -s 800x600, xset s off, xset -dpms)
- sudo shutdown -h now
Deletions:
Additions:
{{image class="right" alt="NanoCade" title="http://www.koenigs.dk/mame/eng/step.htm" url="http://www.koenigs.dk/mame/eng/nanocade64.jpg" width="160" height="190"}} Description de l'installation de ma MAMECab avec:
- Le système Debian (Squeeze 6.0.0)
- La compilation de MAME depuis les sources (0.141)
- L'installation du front-end Wah!Cade (0.99pre8)
- Une borne d'arcade d'occasion (CAPCOM Three Wonders),
- Quelques tweaks et l'interface avec les différentes entrées/sorties de la borne (iPac, monnayeur, etc.)
@@Rédaction du document commencée en Mars 2011.@@
{{image class="left" alt="RIP" title="R.I.P." url="http://img.timeinc.net/time/today_in_pictures/1009/tip_ny_0908_01.jpg" width="180" height="160"}} J'ai choisi la distribution Debian Squeeze (stable à ce jour en version 6.0.0) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
Pour la suite de cette installation j'ai pris la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso correspondant à ma carte-mère.
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Nous voici prêt à installer le système de base!
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et en une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le mot de passe sans qu'il s'affiche à l'écran) :
- ##unzip## et ##unrar-free## pour décompresser les fichier des sources MAME et autres archives,
En une ligne de commande:
D'autres ROMs sont directement fournies par les éditeurs eux-mêmes tel [[http://www.gaelco.com/ Gaelco]] avec le mythique [[http://www.gaelco.com/english/pages/hablando/frhablan.htm World Rally]] que nous allons ajouter à notre liste:
- Le système Debian (Squeeze 6.0.0)
- La compilation de MAME depuis les sources (0.141)
- L'installation du front-end Wah!Cade (0.99pre8)
- Une borne d'arcade d'occasion (CAPCOM Three Wonders),
- Quelques tweaks et l'interface avec les différentes entrées/sorties de la borne (iPac, monnayeur, etc.)
@@Rédaction du document commencée en Mars 2011.@@
{{image class="left" alt="RIP" title="R.I.P." url="http://img.timeinc.net/time/today_in_pictures/1009/tip_ny_0908_01.jpg" width="180" height="160"}} J'ai choisi la distribution Debian Squeeze (stable à ce jour en version 6.0.0) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
Pour la suite de cette installation j'ai pris la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso correspondant à ma carte-mère.
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Nous voici prêt à installer le système de base!
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et en une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le mot de passe sans qu'il s'affiche à l'écran) :
- ##unzip## et ##unrar-free## pour décompresser les fichier des sources MAME et autres archives,
En une ligne de commande:
D'autres ROMs sont directement fournies par les éditeurs eux-mêmes tel [[http://www.gaelco.com/ Gaelco]] avec le mythique [[http://www.gaelco.com/english/pages/hablando/frhablan.htm World Rally]] que nous allons ajouter à notre liste:
Deletions:
- Le système Debian Squeeze
- La compilation de MAME depuis les sources
- L'installation d'un front-end
- Une borne d'arcade d'occasion,
- Quelques tweaks et l'interface avec les différentes entrées/sorties de la borne
Document rédigé en Mars 2011. Vous trouverez un [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 premier document]] datant de mi-2008 qui n'est plus à jour.
{{image class="left" alt="RIP" title="R.I.P." url="http://img.timeinc.net/time/today_in_pictures/1009/tip_ny_0908_01.jpg" width="180" height="160"}} Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
Pour la suite de cette installation j'ai choisi la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Vous voici prêt à installer le système de base!
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le passe sans qu'il s'affiche à l'écran) :
- ##unzip## et ##unrar-free## pour décompresser les fichier des sources MAME,
Rien que ça..? Oui :) Et en une ligne de commande:
D'autres ROMs sont directement fournies par les éditeurs eux-mêmes tel //[[http://www.gaelco.com/ Gaelco]]// avec le mythique //[[http://www.gaelco.com/english/pages/hablando/frhablan.htm World Rally]]// que nous allons ajouter à notre liste:
Vous avez du courrier dans /var/mail/puckman
Additions:
Montez au moins les niveaux "Master" et "PCM" en vérifiant bien de ne pas mettre "Mute" sur ces canaux. Utilisez #%GAUCHE#% et #%DROITE#% pour vous déplacer, #%HAUT#% et #%BAS#% pour modifier le volume, la touche #%m#% pour mettre le son en sourdine (##MM##) on pas (##OO##), et #%ÉCHAP#% pour quitter ##alsamixer## et revenir à la console une fois que tout est ok.
Branchez l'ampli et faites hurler le moteur!!!
puckman@mamecab:~/mame$ ./mame wrally
Branchez l'ampli et faites hurler le moteur!!!
puckman@mamecab:~/mame$ ./mame wrally
Deletions:
Additions:
=== VII.c Mais pourquoi n'y a t'il aucun son? ===
Car aucun serveur de son n'est installé! Réparons cet oubli :-)
Commencer par se connecter avec le compte "super-utilisateur" puis installer le paquet ##alsa-utils## qui ajoutera ##alsa-base## et ##linux-sound-base##:
root@mamecab:~# aptitude install alsa-utils
alsa-base{a} alsa-utils linux-sound-base{a}
0 paquets mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 0 o/1 443 ko d'archives. Après dépaquetage, 2 675 ko seront utilisés.
Une fois le paquet installé, il faut **quitter le compte ##root##** avec la commande ##exit##:
Réglons à présent les niveaux sonores grâce à la commande ##alsamixer##:
puckman@mamecab:~/mame$ alsamixer
Montez au moins les niveaux "Master" et "PCM" en vérifiant bien de ne pas mettre "Mute" sur ces canaux. Utilisez #%GAUCHE#% et #%FROITE#% pour vous déplacer, #%HAUT#% et #%BAS#% pour modifier le volume, la touche #%M#% pour mettre le son en sourdine on pas, et #%ÉCHAP#% pour quitter ##alsamixer## et revenir à la console.
┌────────────────────[AlsaMixer v1.0.16 (Press Escape to quit)]────────────────────┐
│ Card: HDA Intel │
│ Chip: Realtek ALC888 │
│ View: [Playback] Capture All │
│ Item: Master [dB gain=0.00] │
│ │
│ │
│ │
│ │
│ │
│ │
│ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ │
│ │▒▒│ │▒▒│ │ │ │ │ │ │ │ │ │ │ │
│ │▒▒│ │▒▒│ │ │ │ │ │ │ │ │ │ │ │
│ │▒▒│ │▒▒│ │ │ │ │ │ │ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │
│ ├──┤ ┌──┐ └──┘ ├──┤ ├──┤ └──┘ ├──┤ ├──┤ │
│ │OO│ │OO│ │OO│ │OO│ │MM│ │MM│ │
│ └──┘ └──┘ └──┘ └──┘ └──┘ └──┘ │
│ 100 100<>100 84<>84 81<>81 67<>67 0<>0 0 │
│ < Master > Headphon PCM Front Front Mi Front Mi Surround Center │
│ │
│ │
│ │
│ │
└──────────────────────────────────────────────────────────────────────────────────┘
Car aucun serveur de son n'est installé! Réparons cet oubli :-)
Commencer par se connecter avec le compte "super-utilisateur" puis installer le paquet ##alsa-utils## qui ajoutera ##alsa-base## et ##linux-sound-base##:
root@mamecab:~# aptitude install alsa-utils
alsa-base{a} alsa-utils linux-sound-base{a}
0 paquets mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 0 o/1 443 ko d'archives. Après dépaquetage, 2 675 ko seront utilisés.
Une fois le paquet installé, il faut **quitter le compte ##root##** avec la commande ##exit##:
Réglons à présent les niveaux sonores grâce à la commande ##alsamixer##:
puckman@mamecab:~/mame$ alsamixer
Montez au moins les niveaux "Master" et "PCM" en vérifiant bien de ne pas mettre "Mute" sur ces canaux. Utilisez #%GAUCHE#% et #%FROITE#% pour vous déplacer, #%HAUT#% et #%BAS#% pour modifier le volume, la touche #%M#% pour mettre le son en sourdine on pas, et #%ÉCHAP#% pour quitter ##alsamixer## et revenir à la console.
┌────────────────────[AlsaMixer v1.0.16 (Press Escape to quit)]────────────────────┐
│ Card: HDA Intel │
│ Chip: Realtek ALC888 │
│ View: [Playback] Capture All │
│ Item: Master [dB gain=0.00] │
│ │
│ │
│ │
│ │
│ │
│ │
│ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ │
│ │▒▒│ │▒▒│ │ │ │ │ │ │ │ │ │ │ │
│ │▒▒│ │▒▒│ │ │ │ │ │ │ │ │ │ │ │
│ │▒▒│ │▒▒│ │ │ │ │ │ │ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │ │ │ │ │
│ ├──┤ ┌──┐ └──┘ ├──┤ ├──┤ └──┘ ├──┤ ├──┤ │
│ │OO│ │OO│ │OO│ │OO│ │MM│ │MM│ │
│ └──┘ └──┘ └──┘ └──┘ └──┘ └──┘ │
│ 100 100<>100 84<>84 81<>81 67<>67 0<>0 0 │
│ < Master > Headphon PCM Front Front Mi Front Mi Surround Center │
│ │
│ │
│ │
│ │
└──────────────────────────────────────────────────────────────────────────────────┘
Additions:
{{image url="/_extra_/mamecab_wahcade.jpg" title="Gaming!" alt="screenshot"}}
Vous pouvez alors sélectionner la ROM souhaitée et MAME sera lancé directement.
ATTENTION À BIEN RELIRE LES MODIFICATIONS! Il s'agit d'un des fichiers qui gère la console donc gare aux fôtes de frappe (notez par exemple qu'on utilise "agetty" au lieu de "getty").
Vous pouvez alors sélectionner la ROM souhaitée et MAME sera lancé directement.
ATTENTION À BIEN RELIRE LES MODIFICATIONS! Il s'agit d'un des fichiers qui gère la console donc gare aux fôtes de frappe (notez par exemple qu'on utilise "agetty" au lieu de "getty").
Deletions:
Vous pouvez alors sélectionner la ROM souhaitée et MAME sera lancé directement avec #%ENTRÉE#%.
ATTENTION À BIEN RELIRE LES MODIFICATIONS! Il s'agit d'un des fichiers qui gère la console donc gare aux fôtes de frappe.
Deletions:
Additions:
{{image url="/_extra_/mamecab_wcfg01.jpg" title="configuration" alt="screenshot"}}
Dans l'onglet "Wah!Cade", changer le layout pour correspondre à la résolution de l'interface graphique: "retro_black_640x480"
{{image url="/_extra_/mamecab_wcfg02.jpg" title="configuration" alt="screenshot"}}
"/home/puckman/" dans notre cas, ce qui donne en version courte ##~/mame/mame##.
{{image url="/_extra_/mamecab_wcfg03.jpg" title="configuration" alt="screenshot"}}
les captures d'écran ##~/mame/snap##, les panneaux de contrôle ##~/mame/cpanel## puis les
bandeaux lumineux ##~/mame/marquees##. Vous devriez avoir créé ces dossiers dans la partie précédente "VIII.c Illustrations".
{{image url="/_extra_/mamecab_wcfg04.jpg" title="configuration" alt="screenshot"}}
{{image url="/_extra_/mamecab_wcfg05.jpg" title="configuration" alt="screenshot"}}
Attention, pour passer à la suite, il faut avoir généré le fichier "mameinfo.xml" (voir partie "VI.d Configuration").
Sauvons tout d'abord tout cela par le menu ##File## et ##Enregistrer##, puis cliquez sur le bouton "Setup Filters..." et patientez un long moment (un peu moins que le temps de la compilation de MAME tout de même!).
{{image url="/_extra_/mamecab_wcfg06.jpg" title="configuration" alt="screenshot"}}
Quelques longs moments plus tard, vous obtiendrez une fenêtre avec la liste des ROMs et les différents filtres utilisables sous Wahcade. Cliquez sur "Fermer" pour sortir de la liste des filtres. Si vous obtenez une erreur, vous avez une version qui contient un bug corrigé dans la section ci-dessous!
Puis quitter Wahcade par le menu ##File## et ##Quitter##.
Lors de la génération du filtre, mon Wahcade s'est planté autour d'une déclaration de ##keyboard## dans le fichier ##filters.py##:
{{image url="/_extra_/mamecab_wcfg07.jpg" title="configuration" alt="screenshot"}}
Dans l'onglet "Wah!Cade", changer le layout pour correspondre à la résolution de l'interface graphique: "retro_black_640x480"
{{image url="/_extra_/mamecab_wcfg02.jpg" title="configuration" alt="screenshot"}}
"/home/puckman/" dans notre cas, ce qui donne en version courte ##~/mame/mame##.
{{image url="/_extra_/mamecab_wcfg03.jpg" title="configuration" alt="screenshot"}}
les captures d'écran ##~/mame/snap##, les panneaux de contrôle ##~/mame/cpanel## puis les
bandeaux lumineux ##~/mame/marquees##. Vous devriez avoir créé ces dossiers dans la partie précédente "VIII.c Illustrations".
{{image url="/_extra_/mamecab_wcfg04.jpg" title="configuration" alt="screenshot"}}
{{image url="/_extra_/mamecab_wcfg05.jpg" title="configuration" alt="screenshot"}}
Attention, pour passer à la suite, il faut avoir généré le fichier "mameinfo.xml" (voir partie "VI.d Configuration").
Sauvons tout d'abord tout cela par le menu ##File## et ##Enregistrer##, puis cliquez sur le bouton "Setup Filters..." et patientez un long moment (un peu moins que le temps de la compilation de MAME tout de même!).
{{image url="/_extra_/mamecab_wcfg06.jpg" title="configuration" alt="screenshot"}}
Quelques longs moments plus tard, vous obtiendrez une fenêtre avec la liste des ROMs et les différents filtres utilisables sous Wahcade. Cliquez sur "Fermer" pour sortir de la liste des filtres. Si vous obtenez une erreur, vous avez une version qui contient un bug corrigé dans la section ci-dessous!
Puis quitter Wahcade par le menu ##File## et ##Quitter##.
Lors de la génération du filtre, mon Wahcade s'est planté autour d'une déclaration de ##keyboard## dans le fichier ##filters.py##:
{{image url="/_extra_/mamecab_wcfg07.jpg" title="configuration" alt="screenshot"}}
Deletions:
"/home/puckman/" dans notre cas. Ce qui donne en version courte ##~/mame/mame##!
{{image url="/_extra_/mamecab_wahcfg03.jpg" title="configuration" alt="screenshot"}}
{{image url="/_extra_/mamecab_wahcfg04.jpg" title="configuration" alt="screenshot"}}
les captures d'écran ##~/mame/snaps##, les panneaux de contrôle ##~/mame/cpanel## puis les
bandeaux lumineux ##~/mame/marquees##
{{image url="/_extra_/mamecab_wahcfg02.jpg" title="configuration" alt="screenshot"}}
{{image url="/_extra_/mamecab_wahcfg05.jpg" title="configuration" alt="screenshot"}}
Sauvons ensuite tout cela par le menu ##File## et ##Enregistrer##. Puis ##Quitter## pour sortir proprement.
Lors de la génération du filtre, Wahcade s'est planté autour d'une déclaration de ##keyboard## dans le fichier ##filters.py##:
@ image ici @
Additions:
root@mamecab:/usr/local/share/games/wahcade# exit
Additions:
=== IX.c Bug "Keyboard" (optionnel) ===
Il y a en fait un bug dans ma version! Si vous avez exactement la même erreur, il faut la corriger en attendant que le paquet soit mis à jour en amont. Aucun problème pour nous puisque l'erreur est identifié et les sources disponibles, Open Source power :-)
Si vous n'avez rencontré aucune erreur lors de la génération du filtre, rendez-vous directement au chapitre suivant: Test de Wahcade!
Allons-y, ouvrir le compte "super-utilisateur" et aller dans le dossier ##/usr/local/share/games/wahcade/##:
Éditer le fichier ##filter.py## pour y insérer la déclaration du clavier au niveau de la variable gérant les contrôleurs (ligne 89 avec #%CTRL#%+#%_#%) entre ##Pedal## et ##None##. Le bloc avant la modification:
%%(python;74;filters.py)
Et après modification, les 3 lignes concernées:
N'oubliez pas de retourner par la case ##wahcade-setup## (partie précédente) et la génération du filtre qui a échoué. Une fois fait, passons au lancement de Wahcade!
=== IX.d Test de Wahcade ===
Il y a en fait un bug dans ma version! Si vous avez exactement la même erreur, il faut la corriger en attendant que le paquet soit mis à jour en amont. Aucun problème pour nous puisque l'erreur est identifié et les sources disponibles, Open Source power :-)
Si vous n'avez rencontré aucune erreur lors de la génération du filtre, rendez-vous directement au chapitre suivant: Test de Wahcade!
Allons-y, ouvrir le compte "super-utilisateur" et aller dans le dossier ##/usr/local/share/games/wahcade/##:
Éditer le fichier ##filter.py## pour y insérer la déclaration du clavier au niveau de la variable gérant les contrôleurs (ligne 89 avec #%CTRL#%+#%_#%) entre ##Pedal## et ##None##. Le bloc avant la modification:
%%(python;74;filters.py)
Et après modification, les 3 lignes concernées:
N'oubliez pas de retourner par la case ##wahcade-setup## (partie précédente) et la génération du filtre qui a échoué. Une fois fait, passons au lancement de Wahcade!
=== IX.d Test de Wahcade ===
Deletions:
Il y a en fait un bug dans ma version! Si vous avez la même erreur, il faut la corriger dans les sources car la version Debian utilisée n'a pas encore de correctif. Pour cela, ouvrir le compte "super-utilisateur" et aller dans le dossier ##/usr/local/share/games/wahcade/##:
Éditer le fichier ##filter.py## pour y insérer la déclaration du clavier (ligne 89 avec #%CTRL#%+#%_#%) entre ##Pedal## et ##None##. Le bloc avant la modification:
%%(python;73;filters.py)
Et après les 3 lignes en question:
=== IX.d Test Wahcade ===
Additions:
=== IX.c Bug "Keyboard" ===
Lors de la génération du filtre, Wahcade s'est planté autour d'une déclaration de ##keyboard## dans le fichier ##filters.py##:
@ image ici @
Traceback (most recent call last):
File "/usr/local/share/games/wahcade/win_filter.py", line 245, in on_cboLists_changed self.load_filter()
File "/usr/local/share/games/wahcade/win_filter.py", line 261, in load_filter self.create_initial_filter()
File "/usr/local/share/games/wahcade/win_filter.py", line 314, in create_initial_filter self.dlgwait_pulse)
File "/usr/local/share/games/wahcade/filters.py", line 369, in create_initial_filter gd = mi.next()
File "/usr/local/share/games/wahcade/filters.py", line 271, in get_xml_game_item d['controller_type'] = _controllers[ctrl.attrib['type']]
KeyError: 'keyboard'
Il y a en fait un bug dans ma version! Si vous avez la même erreur, il faut la corriger dans les sources car la version Debian utilisée n'a pas encore de correctif. Pour cela, ouvrir le compte "super-utilisateur" et aller dans le dossier ##/usr/local/share/games/wahcade/##:
root@mamecab:~# cd /usr/local/share/games/wahcade/
Faire la copie de sauvegarde du fichier original avant toute modification:
root@mamecab:/usr/local/share/games/wahcade# cp -v filters.py filters.py_orig
« filters.py » -> « filters.py_orig »
Éditer le fichier ##filter.py## pour y insérer la déclaration du clavier (ligne 89 avec #%CTRL#%+#%_#%) entre ##Pedal## et ##None##. Le bloc avant la modification:
%%(python;73;filters.py)
_controllers = {
'joy2way': u'2-Way Joystick',
'vjoy2way': u'Vertical 2-Way Joystick',
'joy4way': u'4-Way Joystick',
'joy8way': u'8-Way Joystick',
'stick': u'Analogue Joystick (or ~270\xb0 Wheel)',
'doublejoy2way': u'Double 2-Way Joysticks',
'vdoublejoy2way': u'Double Vertical 2-Way Joysticks',
'doublejoy4way': u'Double 4-Way Joysticks',
'doublejoy8way': u'Double 8-Way Joysticks',
'lightgun': u'Light-Gun',
'paddle': u'Paddle (or ~270\xb0 Wheel)',
'dial': u'Spinner (or 360\xb0 Wheel)',
'trackball': u'Trackball',
'pedal': u'Pedal',
'': u'None'}
Et après les 3 lignes en question:
%%(python;88;filters.py)
'pedal': u'Pedal',
'keyboard': u'Keyboard',
'': u'None'}
Une fois le correctif appliqué, n'oublions pas de **quitter le compte ##root##** avec la commande ##exit##:
=== IX.d Test Wahcade ===
todo: @ image ici @
Lors de la génération du filtre, Wahcade s'est planté autour d'une déclaration de ##keyboard## dans le fichier ##filters.py##:
@ image ici @
Traceback (most recent call last):
File "/usr/local/share/games/wahcade/win_filter.py", line 245, in on_cboLists_changed self.load_filter()
File "/usr/local/share/games/wahcade/win_filter.py", line 261, in load_filter self.create_initial_filter()
File "/usr/local/share/games/wahcade/win_filter.py", line 314, in create_initial_filter self.dlgwait_pulse)
File "/usr/local/share/games/wahcade/filters.py", line 369, in create_initial_filter gd = mi.next()
File "/usr/local/share/games/wahcade/filters.py", line 271, in get_xml_game_item d['controller_type'] = _controllers[ctrl.attrib['type']]
KeyError: 'keyboard'
Il y a en fait un bug dans ma version! Si vous avez la même erreur, il faut la corriger dans les sources car la version Debian utilisée n'a pas encore de correctif. Pour cela, ouvrir le compte "super-utilisateur" et aller dans le dossier ##/usr/local/share/games/wahcade/##:
root@mamecab:~# cd /usr/local/share/games/wahcade/
Faire la copie de sauvegarde du fichier original avant toute modification:
root@mamecab:/usr/local/share/games/wahcade# cp -v filters.py filters.py_orig
« filters.py » -> « filters.py_orig »
Éditer le fichier ##filter.py## pour y insérer la déclaration du clavier (ligne 89 avec #%CTRL#%+#%_#%) entre ##Pedal## et ##None##. Le bloc avant la modification:
%%(python;73;filters.py)
_controllers = {
'joy2way': u'2-Way Joystick',
'vjoy2way': u'Vertical 2-Way Joystick',
'joy4way': u'4-Way Joystick',
'joy8way': u'8-Way Joystick',
'stick': u'Analogue Joystick (or ~270\xb0 Wheel)',
'doublejoy2way': u'Double 2-Way Joysticks',
'vdoublejoy2way': u'Double Vertical 2-Way Joysticks',
'doublejoy4way': u'Double 4-Way Joysticks',
'doublejoy8way': u'Double 8-Way Joysticks',
'lightgun': u'Light-Gun',
'paddle': u'Paddle (or ~270\xb0 Wheel)',
'dial': u'Spinner (or 360\xb0 Wheel)',
'trackball': u'Trackball',
'pedal': u'Pedal',
'': u'None'}
Et après les 3 lignes en question:
%%(python;88;filters.py)
'pedal': u'Pedal',
'keyboard': u'Keyboard',
'': u'None'}
Une fois le correctif appliqué, n'oublions pas de **quitter le compte ##root##** avec la commande ##exit##:
=== IX.d Test Wahcade ===
todo: @ image ici @
Deletions:
todo: @image ici@
Additions:
puckman@mamecab:/tmp$ mv Catver.ini ~/mame/catver.ini
Deletions:
Additions:
[[http://maws.mameworld.info/ MAME World (LA liste des sites MAME)]]
[[http://maws.mameworld.info/maws/ MAWS (Moteur de recherche des ROMS)]]
[[http://www.pleasuredome.org.uk/ Pleasuredome (Torrent tracker MAME, MESS,...)]]
[[http://www.ultimarc.com/ Ultimarc (Grande Bretagne) ]]
[[http://www.ozstick.com.au/ OZ Stick (Australie)]]
[[http://maws.mameworld.info/maws/ MAWS (Moteur de recherche des ROMS)]]
[[http://www.pleasuredome.org.uk/ Pleasuredome (Torrent tracker MAME, MESS,...)]]
[[http://www.ultimarc.com/ Ultimarc (Grande Bretagne) ]]
[[http://www.ozstick.com.au/ OZ Stick (Australie)]]
Deletions:
[[http://maws.mameworld.info/maws/ MAWS (Moteur de recherche)]]
[[http://www.pleasuredome.org.uk/ Pleasuredome (Torrent tracker)]]
[[http://www.ultimarc.com/ Ultimarc]]
[[http://www.ozstick.com.au/ OZ Stick]]
Additions:
Si vous avez besoin d'informations plus détaillées ou si vous êtes simplement dans l'impasse à un moment donné, voici la liste des sites dont je me suis servi pour ce tuto et ma mamecab:
Deletions:
Additions:
[[http://maws.mameworld.info/ MAME World (La base de données)]]
[[http://maws.mameworld.info/maws/ MAWS (Moteur de recherche)]]
[[http://www.mametesters.org/ MAME Testers (Bugs)]]
[[http://flyers.arcade-museum.com/ TAFA (Flyers)]]
[[http://www.pleasuredome.org.uk/ Pleasuredome (Torrent tracker)]]
[[http://maws.mameworld.info/maws/ MAWS (Moteur de recherche)]]
[[http://www.mametesters.org/ MAME Testers (Bugs)]]
[[http://flyers.arcade-museum.com/ TAFA (Flyers)]]
[[http://www.pleasuredome.org.uk/ Pleasuredome (Torrent tracker)]]
Deletions:
[[http://maws.mameworld.info/maws/ MAWS]]
[[http://www.mametesters.org/ MAME Testers]]
[[http://flyers.arcade-museum.com/ TAFA]]
Additions:
Si vous voulez poursuivre l'aventure plus en avant, que vous avez besoin de plus d'informations, ou simplement dans l'impasse à un moment donné, voici la liste des sites dont je me suis servi pour ce tuto et ma mamecab:
{{image class="right" alt="funny" title="F*ck" url="http://img237.imageshack.us/img237/5126/tetrisso6.jpg" width="400" height="314"}}Logiciel:
Centralisation:
Ressources:
[[http://www.mametesters.org/ MAME Testers]]
[[http://cheat.retrogames.com/ MAME Cheats]]
Forum:
{{image class="right" alt="funny" title="F*ck" url="http://img237.imageshack.us/img237/5126/tetrisso6.jpg" width="400" height="314"}}Logiciel:
Centralisation:
Ressources:
[[http://www.mametesters.org/ MAME Testers]]
[[http://cheat.retrogames.com/ MAME Cheats]]
Forum:
Deletions:
Logiciel:
Ressource:
Additions:
{{image class="right" alt="funny" title="F*ck" url="http://img237.imageshack.us/img237/5126/tetrisso6.jpg" width="400" height="314"}} Si vous voulez poursuivre l'aventure plus en avant, que vous avez besoin de plus d'informations, ou simplement dans l'impasse à un moment donné, voici la liste des sites dont je me suis servi pour ce tuto et ma mamecab:
Logiciel:
Ressource:
Dev:
Logiciel:
Ressource:
Dev:
Deletions:
Ressources:
Devs:
{{image class="center" alt="funny" title="F*ck" url="http://img237.imageshack.us/img237/5126/tetrisso6.jpg" width="400" height="314"}}
Additions:
Outils:
[[http://mamedev.org/ MAME]]
[[http://www.anti-particle.com/wahcade.shtml Wah!cade]]
Ressources:
[[http://maws.mameworld.info/maws/ MAWS]]
[[http://www.arcade-history.com/ Arcade History]]
[[http://www.system16.com/ Arcade Museum]]
[[http://flyers.arcade-museum.com/ TAFA]]
[[http://forums.bannister.org/ubbthreads.php?ubb=postlist&Board=8&page=1 Linux MAME Forum (SDL)]]
Devs:
[[http://guru.mameworld.info/ Guru's ROM dump news]]
[[http://rbelmont.mameworld.info/ Arbee's WIP Emporium]]
Matériel:
[[http://www.ultimarc.com/ Ultimarc]]
[[http://www.ozstick.com.au/ OZ Stick]]
[[http://mamedev.org/ MAME]]
[[http://www.anti-particle.com/wahcade.shtml Wah!cade]]
Ressources:
[[http://maws.mameworld.info/maws/ MAWS]]
[[http://www.arcade-history.com/ Arcade History]]
[[http://www.system16.com/ Arcade Museum]]
[[http://flyers.arcade-museum.com/ TAFA]]
[[http://forums.bannister.org/ubbthreads.php?ubb=postlist&Board=8&page=1 Linux MAME Forum (SDL)]]
Devs:
[[http://guru.mameworld.info/ Guru's ROM dump news]]
[[http://rbelmont.mameworld.info/ Arbee's WIP Emporium]]
Matériel:
[[http://www.ultimarc.com/ Ultimarc]]
[[http://www.ozstick.com.au/ OZ Stick]]
Deletions:
Additions:
Activons ensuite le partage de fichiers via SAMBA avec authentification obligatoire. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
- ##unzip## et ##unrar-free## pour décompresser les fichier des sources MAME,
root@mamecab:~# aptitude install unzip unrar-free build-essential libsdl1.2debian libsdl1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
autopoint{a} binutils{a} build-essential bzip2{a} cpp{a} cpp-4.4{a}
dbus-x11{a} debhelper{a} defoma{a} dpkg-dev{a} esound-common{a}
fakeroot{a} fontconfig{a} fontconfig-config{a} g++{a} g++-4.4{a} gcc{a}
x11proto-randr-dev{a} x11proto-render-dev{a} x11proto-xext-dev{a}
x11proto-xinerama-dev{a} xfonts-encodings{a} xfonts-utils{a}
xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 200 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 103 Mo d'archives. Après dépaquetage, 298 Mo seront utilisés.
Lancer simplement ##make## pour produire le binaire et ne restez pas le nez collé devant la compilation car elle va prendre un bon moment! Je vous propose de [[http://mamedev.org/devwiki/index.php?title=Frequently_Asked_Questions lire la FAQ MAME]] en attendant. Si si, elle [[http://mamedev.org/devwiki/index.php/FAQ:Performance regorge]] d'[[http://mamedev.org/devwiki/index.php/FAQ:Controls informations]] [[http://mamedev.org/devwiki/index.php/FAQ:General_Games très]] [[http://mamedev.org/devwiki/index.php/FAQ:Games utiles]] écrites par les mains même des développeurs MAME :-)
[ (...)^99999 ]
- ##unzip## et ##unrar-free## pour décompresser les fichier des sources MAME,
root@mamecab:~# aptitude install unzip unrar-free build-essential libsdl1.2debian libsdl1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
autopoint{a} binutils{a} build-essential bzip2{a} cpp{a} cpp-4.4{a}
dbus-x11{a} debhelper{a} defoma{a} dpkg-dev{a} esound-common{a}
fakeroot{a} fontconfig{a} fontconfig-config{a} g++{a} g++-4.4{a} gcc{a}
x11proto-randr-dev{a} x11proto-render-dev{a} x11proto-xext-dev{a}
x11proto-xinerama-dev{a} xfonts-encodings{a} xfonts-utils{a}
xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 200 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 103 Mo d'archives. Après dépaquetage, 298 Mo seront utilisés.
Lancer simplement ##make## pour produire le binaire et ne restez pas le nez collé devant la compilation car elle va prendre un bon moment! Je vous propose de [[http://mamedev.org/devwiki/index.php?title=Frequently_Asked_Questions lire la FAQ MAME]] en attendant. Si si, elle [[http://mamedev.org/devwiki/index.php/FAQ:Performance regorge]] d'[[http://mamedev.org/devwiki/index.php/FAQ:Controls informations]] [[http://mamedev.org/devwiki/index.php/FAQ:General_Games très]] [[http://mamedev.org/devwiki/index.php/FAQ:Games utiles]] écrites par les mains même des développeurs MAME :-)
[ (...)^99999 ]
Deletions:
- ##unzip## pour décompresser le fichier des sources MAME,
root@mamecab:~# aptitude install unzip build-essential libsdl1.2debian libsdl1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
autopoint{a} build-essential bzip2{a} dbus-x11{a} debhelper{a} defoma{a} dpkg-dev{a} esound-common{a}
fontconfig{a} fontconfig-config{a} g++{a} g++-4.4{a} gconf2{a} gconf2-common{a} gettext{a} git{a}
hicolor-icon-theme{a} html2text{a} intltool-debian{a} libaa1{a} libaa1-dev{a} libalgorithm-diff-perl{a}
x11proto-xext-dev{a} x11proto-xinerama-dev{a} xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 164 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 63,9 Mo/64,1 Mo d'archives. Après dépaquetage, 190 Mo seront utilisés.
La compilation qui suit va prendre pas mal de temps, c'est le moment de la B.A. du jour: rangement du bureau!
Additions:
Reste à demander au système de l'utiliser au démarrage sur le tty1 (console #1). Pour cela passer en "super-utilisateur" et éditer le fichier ##/etc/inittab## après en avoir fait une copie de secours:
root@mamecab:~# cp /etc/inittab /etc/inittab_orig
root@mamecab:~# cp /etc/inittab /etc/inittab_orig
Deletions:
Additions:
D'autres ROMs sont directement fournies par les éditeurs eux-mêmes tel //[[http://www.gaelco.com/ Gaelco]]// avec le mythique //[[http://www.gaelco.com/english/pages/hablando/frhablan.htm World Rally]]// que nous allons ajouter à notre liste:
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://www.gaelco.es/wrally/descarga.php" -O wrally.zip
--2011-03-29 08:08:32-- http://www.gaelco.es/wrally/descarga.php
Résolution de www.gaelco.es... 88.198.70.46
Connexion vers www.gaelco.es|88.198.70.46|:80...connecté.
requête HTTP transmise, en attente de la réponse...302 Found
Emplacement: http://www.gaelco.com/wrally/wrally.zip [suivant]
--2011-03-29 08:08:32-- http://www.gaelco.com/wrally/wrally.zip
Résolution de www.gaelco.com... 88.198.70.46
Réutilisation de la connexion existante vers www.gaelco.es:80.
Longueur: 2168934 (2,1M) [application/zip]
Sauvegarde en : «wrally.zip»
100%[=========================================================>] 2 168 934 880K/s ds 2,4s
2011-03-29 08:08:35 (880 KB/s) - «wrally.zip» sauvegardé [2168934/2168934]
Attention à bien conserver le nom exact des fichiers ZIP, ces noms seront utilisés par MAME pour identifier les ROMs.
gridlee.zip teetert.zip wrally.zip
=== IX.c Test Wahcade ===
C'est le moment de tester notre front-end! Toujours dans la session //graphique// sous ##xterm## utilisé pour lancer ##wahcade-setup##, nous lancerons cette fois ##wahcade##:
puckman@mamecab:~/mame$ wahcade
todo: @image ici@
Vous pouvez alors sélectionner la ROM souhaitée et MAME sera lancé directement avec #%ENTRÉE#%.
Comme sous MAME, utilisez la touche #%ÉCHAP#% pour quitter le front-end.
Après avoir quitté Wahcade, nous devons sortir de l'environnement X avec la commande ##exit##:
J'ai une bonne nouvelle, les "briques" sont prêtes! Debian Squeeze, X, MAME, Wahcade, les ROMs, les illustrations, etc. sont installés et il ne reste maintenant plus qu'à imbriquer ces éléments pour en faire un ensemble cohérent. Voici en ordre les différents points auxquels nous feront référence pour la fin du tuto:
1) La borne démarre par un switch (bouton ou autre),
2) Le système d'exploitation se lance jusqu'au login,
3) Le login va automatiquement lancer la session ("puckman"),
4) L'ouverture de session "puckman" démarre le serveur X,
5) Le démarrage du serveur X lance le front-end Wahcade,
6) L'utilisateur a la main (lancement de plusieurs jeux avec MAME) et quitte Wahcade,
7) La session graphique s'arrête automatiquement,
8) La main est rendue à la console qui arrête le système.
Je vous laisse gérer le point #1 en utilisant un bouton pression intégré à la borne ou par exemple le switch du monnayeur pour mettre sous tension la machine. Le lancement de votre Debian Squeeze (point #2) se fera dans la foulée et vous mènera jusqu'au login. Là, nous arrivons déjà au point #3 explicité ci-dessous.
=== X.a Démarrage automatique (point #3)===
Comme je vous sent plutôt à l'aise jusque là, on va écrire et compiler un programme en C qui nous permettra de nous connecter automatiquement au boot de la mamecab.
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://www.gaelco.es/wrally/descarga.php" -O wrally.zip
--2011-03-29 08:08:32-- http://www.gaelco.es/wrally/descarga.php
Résolution de www.gaelco.es... 88.198.70.46
Connexion vers www.gaelco.es|88.198.70.46|:80...connecté.
requête HTTP transmise, en attente de la réponse...302 Found
Emplacement: http://www.gaelco.com/wrally/wrally.zip [suivant]
--2011-03-29 08:08:32-- http://www.gaelco.com/wrally/wrally.zip
Résolution de www.gaelco.com... 88.198.70.46
Réutilisation de la connexion existante vers www.gaelco.es:80.
Longueur: 2168934 (2,1M) [application/zip]
Sauvegarde en : «wrally.zip»
100%[=========================================================>] 2 168 934 880K/s ds 2,4s
2011-03-29 08:08:35 (880 KB/s) - «wrally.zip» sauvegardé [2168934/2168934]
Attention à bien conserver le nom exact des fichiers ZIP, ces noms seront utilisés par MAME pour identifier les ROMs.
gridlee.zip teetert.zip wrally.zip
=== IX.c Test Wahcade ===
C'est le moment de tester notre front-end! Toujours dans la session //graphique// sous ##xterm## utilisé pour lancer ##wahcade-setup##, nous lancerons cette fois ##wahcade##:
puckman@mamecab:~/mame$ wahcade
todo: @image ici@
Vous pouvez alors sélectionner la ROM souhaitée et MAME sera lancé directement avec #%ENTRÉE#%.
Comme sous MAME, utilisez la touche #%ÉCHAP#% pour quitter le front-end.
Après avoir quitté Wahcade, nous devons sortir de l'environnement X avec la commande ##exit##:
J'ai une bonne nouvelle, les "briques" sont prêtes! Debian Squeeze, X, MAME, Wahcade, les ROMs, les illustrations, etc. sont installés et il ne reste maintenant plus qu'à imbriquer ces éléments pour en faire un ensemble cohérent. Voici en ordre les différents points auxquels nous feront référence pour la fin du tuto:
1) La borne démarre par un switch (bouton ou autre),
2) Le système d'exploitation se lance jusqu'au login,
3) Le login va automatiquement lancer la session ("puckman"),
4) L'ouverture de session "puckman" démarre le serveur X,
5) Le démarrage du serveur X lance le front-end Wahcade,
6) L'utilisateur a la main (lancement de plusieurs jeux avec MAME) et quitte Wahcade,
7) La session graphique s'arrête automatiquement,
8) La main est rendue à la console qui arrête le système.
Je vous laisse gérer le point #1 en utilisant un bouton pression intégré à la borne ou par exemple le switch du monnayeur pour mettre sous tension la machine. Le lancement de votre Debian Squeeze (point #2) se fera dans la foulée et vous mènera jusqu'au login. Là, nous arrivons déjà au point #3 explicité ci-dessous.
=== X.a Démarrage automatique (point #3)===
Comme je vous sent plutôt à l'aise jusque là, on va écrire et compiler un programme en C qui nous permettra de nous connecter automatiquement au boot de la mamecab.
Deletions:
Après avoir quitté le gestionnaire de configuration, nous devons sortir de l'environnement X avec la commande ##exit##:
=== X.a Démarrage automatique ===
Comme je vous sent plutôt à l'aise jusque là, on va s'écrire notre petit bout de code en C et le compiler pour se loguer automatiquement au boot de la mamecab :)
Bon, il est temps de rebooter pour tester notre connexion automatique!
Additions:
@@{{image url="/_extra_/mamecab_dolphinauth.jpg" title="samba" alt="screenshot"}}@@
Additions:
todo: artworks
todo: parcourir "~/.wahcade/layouts/" pour trouver le layout adapté à la résolution ("xrandr -s 640x480" sous X) et le définir dans la configuration. Voir pour le plantage sur les filtres MAME [OK->Initialisation dans le menu graphique du setup]
todo: shutdown, ~/.xsession, 16bits, keyb us.
todo: parcourir "~/.wahcade/layouts/" pour trouver le layout adapté à la résolution ("xrandr -s 640x480" sous X) et le définir dans la configuration. Voir pour le plantage sur les filtres MAME [OK->Initialisation dans le menu graphique du setup]
todo: shutdown, ~/.xsession, 16bits, keyb us.
Deletions:
todo: autostart, passwords, ~/.xsession, 16bits, shutdown, letc.
Additions:
Nous aurons principalement besoin de 3 dossiers d'illustrations: les captures d'écrans (snapshots), les bandeaux lumineux (marquees) et les panneaux de contrôle (control panels). Ces éléments se présentent sous la forme d'image JPEG à placer dans les dossiers ##~/mame/snaps## pour les "snapshots", ##~/mame/marquees## pour les "marquees" et ##~/mame/cpanel## pour les "control panels".
Vous trouverez ce qu'il faut sur la page de [[http://mrdo.mameworld.info/mame_artwork_frontend.html Mr Do's Arcade]] concernant les "control panels" et "marquees". Le téléchargement peut se faire comme précédemment via ##wget## puis la décompression par ##unzip## ou alors via le poste de bureautique et avec un transfert des fichiers sur le réseau, à vous de voir.
Idem pour les "snapshots" disponibles sur [[http://www.progettosnaps.net/snaps_en.html Progetto Snaps]].
Derniers conseils : Veillez à bien utiliser les fichiers correspondant à votre version de MAME (les ROMs sont continuellement modifiées, supprimées, ajoutées, etc. d'une version à l'autre) et à bien décompresser les images dans les dossiers ##~/mame/snaps##, ##~/mame/marquees## et ##~/mame/cpanel##.
Vous trouverez ce qu'il faut sur la page de [[http://mrdo.mameworld.info/mame_artwork_frontend.html Mr Do's Arcade]] concernant les "control panels" et "marquees". Le téléchargement peut se faire comme précédemment via ##wget## puis la décompression par ##unzip## ou alors via le poste de bureautique et avec un transfert des fichiers sur le réseau, à vous de voir.
Idem pour les "snapshots" disponibles sur [[http://www.progettosnaps.net/snaps_en.html Progetto Snaps]].
Derniers conseils : Veillez à bien utiliser les fichiers correspondant à votre version de MAME (les ROMs sont continuellement modifiées, supprimées, ajoutées, etc. d'une version à l'autre) et à bien décompresser les images dans les dossiers ##~/mame/snaps##, ##~/mame/marquees## et ##~/mame/cpanel##.
Deletions:
cf: http://mrdo.mameworld.info/mame_artwork_frontend.html
Additions:
%%(c;autolog.c)
Deletions:
Additions:
===== DEBIAN + MAME + ARCADE BOX = MAMECAB =====
==== I. NOTE ====
{{image class="right" alt="NanoCade" title="http://www.koenigs.dk/mame/eng/step.htm" url="http://www.koenigs.dk/mame/eng/nanocade64.jpg" width="160" height="190"}} Description de l'installation d'une MAMECab avec:
- Un PC qui servira à faire tourner la borne en remplacement de la carte mère d'origine,
- Le système Debian Squeeze
- La compilation de MAME depuis les sources
- L'installation d'un front-end
- Une borne d'arcade d'occasion,
- Quelques tweaks et l'interface avec les différentes entrées/sorties de la borne
Document rédigé en Mars 2011. Vous trouverez un [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 premier document]] datant de mi-2008 qui n'est plus à jour.
==== II. PRÉPARATIFS ====
{{image class="left" alt="RIP" title="R.I.P." url="http://img.timeinc.net/time/today_in_pictures/1009/tip_ny_0908_01.jpg" width="180" height="160"}} Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- choisir la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement choisir l'image d'installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai choisi la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Vous voici prêt à installer le système de base!
==== III. SYSTÈME DE BASE ====
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
@@
{{image url="/_extra_/mamecab01.jpg" title="accueil" alt="screenshot"}}
Accueil lors du boot sur le CDROM d'installation de Debian 6.0 Squeeze: j'ai choisi l'installation en mode "console"
{{image url="/_extra_/mamecab02.jpg" title="accueil" alt="screenshot"}}
Choix de la langue
{{image url="/_extra_/mamecab03.jpg" title="accueil" alt="screenshot"}}
Situation géographique
{{image url="/_extra_/mamecab04.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab05.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab06.jpg" title="accueil" alt="screenshot"}}
Chargement des composants et détection du réseau: {{color hex="#DD0000" text="je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une"}}.
{{image url="/_extra_/mamecab07.jpg" title="accueil" alt="screenshot"}}
Choix du nom de la borne: {{color hex="#DD0000" text="notez-le bien si vous le modifiez"}}.
{{image url="/_extra_/mamecab08.jpg" title="accueil" alt="screenshot"}}
Entrez le nom de domaine local
{{image url="/_extra_/mamecab09.jpg" title="accueil" alt="screenshot"}}
Saisie du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
{{image url="/_extra_/mamecab10.jpg" title="accueil" alt="screenshot"}}
Choix de l'utilisateur, je l'ai appelé "puckman": {{color hex="#DD0000" text="notez bien son nom si vous en choisissez un autre"}}.
{{image url="/_extra_/mamecab11.jpg" title="accueil" alt="screenshot"}}
Saisie de son mot de passe
{{image url="/_extra_/mamecab12.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab13.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le partitionnement du disque entier: {{color hex="#DD0000" text="tout le disque sera formaté"}}!
{{image url="/_extra_/mamecab14.jpg" title="accueil" alt="screenshot"}}
Je n'ai qu'un disque à sélectionner
{{image url="/_extra_/mamecab15.jpg" title="accueil" alt="screenshot"}}
J'ai simplement choisi une unique partition pour le système et les données utilisateur
{{image url="/_extra_/mamecab16.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab17.jpg" title="accueil" alt="screenshot"}}
Attention, {{color hex="#DD0000" text="pas de retour en arrière une fois le disque formaté"}}!
{{image url="/_extra_/mamecab18.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab19.jpg" title="accueil" alt="screenshot"}}
Choisir un dépôt de paquets proche de votre lieu géographique
{{image url="/_extra_/mamecab20.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab21.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab22.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils. Concernant les gestionnaire de bureau tels KDE ou GNOME, nous nous contenterons simplement du serveur graphique X.
{{image url="/_extra_/mamecab23.jpg" title="accueil" alt="screenshot"}}
Installation des paquets
{{image url="/_extra_/mamecab24.jpg" title="accueil" alt="screenshot"}}
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous disposez de plusieurs postes connectés.
{{image url="/_extra_/mamecab25.jpg" title="accueil" alt="screenshot"}}
Installation du chargeur de démarrage GRUB
{{image url="/_extra_/mamecab26.jpg" title="accueil" alt="screenshot"}}
Fin de l'installation
{{image url="/_extra_/mamecab27.jpg" title="accueil" alt="screenshot"}}
Retirer le CDROM avant le re-démarrage
{{image url="/_extra_/mamecab28.jpg" title="accueil" alt="screenshot"}}
Reboot
{{image url="/_extra_/mamecab29.jpg" title="accueil" alt="screenshot"}}
Moment émouvant du premier boot ;-)
{{image url="/_extra_/mamecab30.jpg" title="accueil" alt="screenshot"}}
Bienvenue!
@@
Pour simplifier les choses dans la suite mon installation, j'utilise une connexion distante par SSH depuis un poste de travail, libre à vous de continuer sur la machine locale.
Pour établir une connexion SSH distante, il faut récupérer l'adresse IP de la borne (passez cette étape si vous avez spécifié une IP fixe):
- il faut se connecter en tant qu'usager "root" et saisir le mot de passe que vous avez bien noté lors de l'installation,
- taper ##ifconfig## pour obtenir l'adresse IP de la machine sur le réseau. Ici ##192.168.100.233##, à remplacer par la vôtre dans la suite du document.
@@
{{image url="/_extra_/mamecab31.jpg" title="accueil" alt="screenshot"}}
@@
==== IV. CONNEXION DISTANTE ====
Sur mon poste de travail, je peux dès lors me connecter via SSH sur la borne (à l'adresse récupérée ci-dessus) avec la commande "ssh utilisateur@machine":
%%
ludo@kanumera:~$ ssh root@192.168.100.223
The authenticity of host '192.168.100.223 (192.168.100.223)' can't be established.
RSA key fingerprint is f9:ed:b1:36:8a:dd:bd:e6:6d:5c:38:42:0e:5a:d5:c0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.223' (RSA) to the list of known hosts.
root@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 22 15:48:24 2011
/usr/bin/xauth: creating new authority file /root/.Xauthority
root@mamecab:~#
%%
{{image class="center" alt="funny" title="I see dead ppl" url="http://www.tilt.it/flipper_pinball/wp-content/uploads/2009/09/i_see_dead_people.gif" width="480" height="405"}}
==== V. PARTAGE DE FICHIERS ====
Je vais activer le partage de fichiers avec SAMBA avec authentification. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
%%
root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig
%%
Puis j'édite ce fichier:
%%
root@mamecab:~# pico /etc/samba/smb.conf
%%
Dé-commenter la ligne n°102 (enlever le "#") en s'y rendant avec le raccourci #%CTRL#%+#%_#% :
%%(ini;96;/etc/samba/smb.conf)
####### Authentication #######
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
# security = user
%%
modifié en:
%%(ini;102;/etc/samba/smb.conf)
security = user
%%
Et passer le partage des dossiers utilisateurs en mode lecture/écriture (ligne 242) :
%%(ini;234;/etc/samba/smb.conf)
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = yes
%%
modifié:
%%(ini;242;/etc/samba/smb.conf)
read only = no
%%
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico".
Répondre "O" à la question de l'éditeur: "//Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ?//", et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Demander à SAMBA de recharger sa configuration:
%%
root@mamecab:~# /etc/init.d/samba reload
Reloading /etc/samba/smb.conf: smbd only.
%%
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le passe sans qu'il s'affiche à l'écran) :
%%
root@mamecab:~# smbpasswd -a puckman
New SMB password:
Retype new SMB password:
Added user puckman.
%%
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple).
Ici, je fais le test depuis la propre borne (pas très utile mais ça fonctionne) :
%%
root@mamecab:~# smbclient -U puckman //localhost/puckman
Enter puckman's password:
Domain=[LUDOMATIC] OS=[Unix] Server=[Samba 3.5.6]
smb: \> dir
. D 0 Tue Mar 22 12:06:45 2011
.. D 0 Tue Mar 22 12:04:34 2011
.bash_logout H 220 Tue Mar 22 12:04:34 2011
.bashrc H 3184 Tue Mar 22 12:04:34 2011
.bash_history H 23 Tue Mar 22 12:06:45 2011
.profile H 675 Tue Mar 22 12:04:34 2011
61026 blocks of size 65536. 43188 blocks available
smb: \> exit
%%
ou depuis le poste de travail:
@@{{image url="/_extra_/mamecab_dolphin.jpg" title="samba" alt="screenshot"}}@@
==== VI. MAME ====
=== VI.a Préparation des outils ===
Avant d'installer MAME ou même les outil dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##:
%%
root@mamecab:~# aptitude update
Atteint http://ftp.nc.debian.org squeeze Release.gpg
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-fr
Atteint http://ftp.nc.debian.org squeeze-updates Release.gpg
Prendre : 1 http://security.debian.org squeeze/updates Release.gpg [835 B]
Ign http://security.debian.org/ squeeze/updates/main Translation-en
Ign http://security.debian.org/ squeeze/updates/main Translation-fr
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-fr
Prendre : 2 http://security.debian.org squeeze/updates Release [38,4 kB]
Atteint http://ftp.nc.debian.org squeeze Release
Atteint http://ftp.nc.debian.org squeeze-updates Release
Atteint http://ftp.nc.debian.org squeeze/main Sources
Atteint http://ftp.nc.debian.org squeeze/main i386 Packages
Atteint http://ftp.nc.debian.org squeeze-updates/main Sources/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages
Atteint http://security.debian.org squeeze/updates/main Sources
Prendre : 3 http://security.debian.org squeeze/updates/main i386 Packages [68,8 kB]
108 ko téléchargés en 2s (43,8 ko/s)
%%
{{image class="right" alt="Frankenstein" title="tout va bien se passer" url="http://vectorcade.net/frankenstein.jpg" width="150" height="120"}}Une fois la liste des paquets disponibles à jour, nous installerons:
- ##unzip## pour décompresser le fichier des sources MAME,
- ##build-essential## pour compiler depuis les sources le binaire MAME,
- ##libsdl1.2debian## et son paquet de développement ##libsdl1.2-dev## car la version MAME pour Linux utilise la librairie SDL (affichage vidéo, périphériques de contrôle, son, etc.),
- ##libsdl-ttf2.0-0## et ##libsdl-ttf2.0-dev## pour permettre à la librairie SDL d'utiliser les polices TrueType,
- ##libexpat1## et ##libexpat1-dev## pour permettre à MAME de parcourir les fichiers XML,
- ##zlib1g## et ##zlib1g-dev## afin que MAME décompresse les fichiers zippés,
- ##libxinerama1## et ##libxinerama-dev## pour l'affichage et la gestion des écrans multiples,
- ##libgconf2-4## et ##libgconf2-dev## permettant à MAME de gérer les préférences des applications,
- ##libgtk2.0-0## et ##libgtk2.0-dev## permettant d'utiliser l'interface GTK+.
Rien que ça..? Oui :) Et en une ligne de commande:
%%
root@mamecab:~# aptitude install unzip build-essential libsdl1.2debian libsdl1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
Les NOUVEAUX paquets suivants vont être installés :
autopoint{a} build-essential bzip2{a} dbus-x11{a} debhelper{a} defoma{a} dpkg-dev{a} esound-common{a}
fontconfig{a} fontconfig-config{a} g++{a} g++-4.4{a} gconf2{a} gconf2-common{a} gettext{a} git{a}
hicolor-icon-theme{a} html2text{a} intltool-debian{a} libaa1{a} libaa1-dev{a} libalgorithm-diff-perl{a}
[...]
x11proto-xext-dev{a} x11proto-xinerama-dev{a} xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 164 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 63,9 Mo/64,1 Mo d'archives. Après dépaquetage, 190 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main x11proto-core-dev all 7.0.16-1 [92,2 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libice-dev i386 2:1.0.6-2 [58,5 kB]
[...]
Paramétrage de g++ (4:4.4.5-1) ...
update-alternatives: utilisation de « /usr/bin/g++ » pour fournir « /usr/bin/c++ » (c++) en mode automatique.
Paramétrage de build-essential (11.5) ...
%%
N'ayant plus de tâches administratives à effectuer pour le moment, il faut quitter l'accès super-utilisateur et se connecter avec l'utilisateur ##puckman##. On peut effectuer une nouvelle connexion depuis la machine de bureau:
%%
ludo@kanumera:~$ ssh puckman@192.168.100.223
puckman@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
/usr/bin/xauth: creating new authority file /home/puckman/.Xauthority
puckman@mamecab:~$
%%
ou alors passer à l'utilisateur ##puckman## depuis le super-utilisateur ##root##:
%%
root@mamecab:~# su - puckman
puckman@mamecab:~$
%%
Oui oui, on arrive enfin à la partie MAME :)
=== VI.b Récupération des sources MAME ===
Préparer le dossier de travail:
%%
puckman@mamecab:~$ mkdir sources
puckman@mamecab:~$ cd sources
puckman@mamecab:~/sources$
%%
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html (pour ma part la version actuelle est la 0.141 : http://mamedev.org/downloader.php?file=releases/mame0141s.zip)
%%
puckman@mamecab:~/sources$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/downloader.php?file=releases/mame0141s.zip" -O mame0141s.zip
--2011-03-22 22:36:06-- http://mamedev.org/downloader.php?file=releases/mame0141s.zip
Resolving mamedev.org... 67.210.100.31
Connecting to mamedev.org|67.210.100.31|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://mamedev.thiswebhost.com/releases/mame0141s.zip [following]
--2011-03-22 22:36:07-- http://mamedev.thiswebhost.com/releases/mame0141s.zip
Resolving mamedev.thiswebhost.com... 67.225.136.222
Connecting to mamedev.thiswebhost.com|67.225.136.222|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17092788 (16M) [application/zip]
Saving to: `mame0141s.zip'
13% [======> ] 2,385,353 76.3K/s eta 4m 12s
%%
On décompresse le fichier ZIP téléchargé:
%%
puckman@mamecab:~/sources$ ls
mame0141s.zip
puckman@mamecab:~/sources$ unzip mame0141s.zip
Archive: mame0141s.zip
inflating: mame.zip
puckman@mamecab:~/sources$ ls
mame0141s.zip mame.zip
%%
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous le décompresserons dans un dossier nommé ##mame0141## pour bien séparer les choses:
%%
puckman@mamecab:~/sources$ unzip mame.zip -d mame0141
Archive: mame.zip
creating: mame0141/docs/
extracting: mame0141/docs/config.txt
extracting: mame0141/docs/license.txt
[...]
extracting: mame0141/src/version.c
extracting: mame0141/whatsnew.txt
puckman@mamecab:~/sources$ ls
mame0141 mame0141s.zip mame.zip
%%
{{image class="center" alt="funny" title="Le Roi Kong" url="http://www.theawl.com/wp-content/uploads/2010/05/Screen-shot-2010-05-13-at-10.06.03-AM-350x263.png" width="350" height="263"}}
Tout s'est bien déroulé, **rendez-vous dans le dossier ##mame0141## avant de passer à la suite**:
%%
puckman@mamecab:~/sources$ cd mame0141
puckman@mamecab:~/sources/mame0141$ ls
docs makefile src whatsnew.txt
%%
=== VI.c Construction du binaire ===
>>Note 1: Je lance un ##make clean## quand cela est possible pour nettoyer toute trace d'une précédente compilation.
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)>> Le dossier ##mame0141## contient maintenant les sources MAME 0.141 avec un fichier ##makefile## qui va permettre à l'ensemble des utilitaires de fonctionner de concert pour produire l'exécutable ##mame## avec différentes options selon votre système. N'hésitez pas à consulter le contenu du fichier ##makefile## si vous en avez envie!
La compilation qui suit va prendre pas mal de temps, c'est le moment de la B.A. du jour: rangement du bureau!
%%
puckman@mamecab:~/sources/mame0141$ make clean
Deleting object tree obj/sdl/mame...
Deleting mame...
Deleting testkeys romcmp chdman jedutil unidasm ldresample ldverify regrep srcclean src2html split ...
puckman@mamecab:~/sources/mame0141$ make
mkdir -p obj/sdl/mame
mkdir -p obj/sdl/mame/build
mkdir -p obj/sdl/mame/emu/audio
[...]
Compiling src/emu/cpu/z8/z8dasm.c...
Compiling src/emu/cpu/superfx/sfx_dasm.c...
Archiving obj/sdl/mame/libdasm.a...
Linking mame...
%%
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source/mame0141/##:
%%
puckman@mamecab:~/sources/mame0141$ ls
docs makefile mame obj src whatsnew.txt
%%
Pour éviter de tout mélanger, nous laisserons les sources de côté et copierons le binaire ##mame## dans un dossier ##/home/puckman/mame/##. Nous y placerons également la configuration de MAME, les ROMs, snapshots, sauvegardes, etc., bref ce sera le dossier principal de MAME:
%%
puckman@mamecab:~/sources/mame0141$ mkdir /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cp ./mame /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cd /home/puckman/mame/
puckman@mamecab:~/mame$ ls
mame
%%
À partir de maintenant, nous travaillerons donc **dans le dossier ##/home/puckman/mame##** ou ##/home/nom_utilisateur/mame## selon votre installation.
{{image class="center" alt="funny" title="be prepared" url="http://brachinus.files.wordpress.com/2009/02/space-invaders-planning-session-1471-1235426202-20.jpg" width="253" height="181"}}
=== VI.d Configuration ===
Commençons par générer le fichier XML contenant l'ensemble des ROMs utilisables par cette version 0.141 (patience, cela peut prendre un peu de temps):
%%
puckman@mamecab:~/mame$ ./mame -listxml > mameinfo.xml
puckman@mamecab:~/mame$ ls
mame mameinfo.xml
%%
>>Pour les touches par défaut, voir par exemple [[http://wahki.mameau.com/index.php?title=File:Typical_mame_controls.jpg ici]], [[http://moosevalley.solidwebhost.com/pics/MAME_Keyboard_Map.gif là]] ou [[http://mamedev.org/devwiki/index.php/FAQ:Controls ceci]].>>Par défaut, le clavier //anglais// est pris en charge. Comme il faut utiliser par exemple les touches #%1#% et #%5#% au dessus des lettres (pas celle du pavé numérique) pour le bouton "START" et les "CREDITS" du joueur 1, nous devons utiliser un mappage de touches correspondant au clavier //français//. Copions les fichiers de configuration du clavier depuis dossier des sources MAME vers le dossier ##keymaps##:
%%
puckman@mamecab:~/mame$ cp -vr /home/puckman/sources/mame0141/src/osd/sdl/keymaps ./
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps » -> « ./keymaps »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km_it.txt » -> « ./keymaps/km_it.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-be.txt » -> « ./keymaps/km-be.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-ch.txt » -> « ./keymaps/km-ch.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-de.txt » -> « ./keymaps/km-de.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-fr-OSX.txt » -> « ./keymaps/km-fr-OSX.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-fr.txt » -> « ./keymaps/km-fr.txt »
puckman@mamecab:~/mame$ ls keymaps
km-be.txt km-ch.txt km-de.txt km-fr-OSX.txt km-fr.txt km_it.txt
%%
Générons ensuite le fichier de configuration ##mame.ini##:
%%
puckman@mamecab:~/mame$ ./mame -createconfig
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini
%%
Et éditons-le afin de vérifier au minimum le chemin des ROMs, le mode vidéo et de définir le clavier français:
%%
puckman@mamecab:~/mame$ pico mame.ini
%%
Les ROMs seront donc par défaut recherchées dans le dossier ##roms## d'où est exécuté MAME. Nous le créerons dans le prochain chapitre :
%%(text;9;mame.ini)
#
# CORE SEARCH PATH OPTIONS
#
rompath roms
%%
Et la vidéo est gérée par la couche logicielle, sans prise en charge d'accélération OpenGL (très bien pour un premier lancement!):
%%(text;163;mame.ini)
#
# VIDEO OPTIONS
#
video soft
%%
Activons les code clavier spécifiques pour passer le clavier en français:
%%(text;245;mame.ini)
#
# SDL KEYBOARD MAPPING
#
keymap 1
keymap_file keymaps/km-fr.txt
%%
{{image class="center" alt="funny" title="IIIII IIIII II" url="http://www.dragonslairfans.com/pictures/fun/si.jpg" width="314" height="224"}}
=== VI.e Les ROMs ===
Nous y voilà, commençons par créer le dossier des ROMs comme paramétré dans le fichier de configuration ##mame.ini## vu ci-dessus:
%%
puckman@mamecab:~/mame$ mkdir roms
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini roms
%%
Quelques éditeurs ont libéré les droits de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces bonnes initiatives nous allons pouvoir lancer nos premiers jeux!
La plupart de ces ROMs sont tout simplement regroupées dans [[http://mamedev.org/roms/ la section "roms" du site officiel de MAME]]. Récupérons par exemple l'excellent [[http://mamedev.org/roms/teetert/ Teeter Torture]] (Exidy) et [[http://mamedev.org/roms/gridlee/ Gridlee]] (Videa) depuis le dossier ##roms##:
%%
puckman@mamecab:~/mame$ cd roms
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/teetert/teetert.zip"
--2011-03-25 08:37:52-- http://mamedev.org/roms/teetert/teetert.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 24907 (24K) [application/zip]
Sauvegarde en : «teetert.zip»
100%[=============================================================================>] 24 907 14,3K/s ds 1,7s
2011-03-25 08:37:55 (14,3 KB/s) - «teetert.zip» sauvegardé [24907/24907]
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/gridlee/gridlee.zip"
--2011-03-25 08:38:24-- http://mamedev.org/roms/gridlee/gridlee.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 26154 (26K) [application/zip]
Sauvegarde en : «gridlee.zip»
100%[=============================================================================>] 26 154 24,8K/s ds 1,0s
2011-03-25 08:38:26 (24,8 KB/s) - «gridlee.zip» sauvegardé [26154/26154]
%%
Vérifions que les ROMs sont bien là et quittons le dossier ##roms## sans décompresser les ZIP, MAME va s'en charger à la volée lors du lancement du jeu:
%%
puckman@mamecab:~/mame/roms$ ls
gridlee.zip teetert.zip
puckman@mamecab:~/mame/roms$ cd ..
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini roms
%%
==== VII. SERVEUR X ====
=== VII.a Installation ===
{{image class="right" alt="wake up" title="mameclockcab" url="http://8.mshcdn.com/wp-content/gallery/retro-gaming/arcade_picnik.jpg" width="180" height="180"}} Il est nécessaire d'installer un serveur graphique minimal appelé "serveur X", sans pour autant charger barre des tâches et autres menus (pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc). Nous aurons par ailleurs besoin de quelques outils et dépendances:
- ##xserver-xorg-core##, le serveur X "[[http://www.x.org/wiki/ X.Org]]"
- ##xfonts-base## et ""ttf-liberation"" fournissant des jeux de police TrueType par défaut et Libres
- ##xterm## pour avoir un terminal graphique
- ##xinit## qui fourni le lanceur de session graphique ##startx##
- ##x11-xserver-utils## regroupant de nombreux utilitaires pour X
Ces installations se font avec le compte ##root##, passer en mode "super-utilisateur" au préalable avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
%%
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install xserver-xorg-core xfonts-base ttf-liberation xterm xinit x11-xserver-utils
Les NOUVEAUX paquets suivants vont être installés :
libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} ttf-liberation x11-utils{a}
x11-xserver-utils xbitmaps{a} xinit xterm
0 paquets mis à jour, 9 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 1 019 ko d'archives. Après dépaquetage, 3 486 ko seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libxcb-atom1 i386 0.3.6-1 [9 526 B]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libxv1 i386 2:1.0.5-1 [17,1 kB]
[...]
%%
Une fois le serveur X installé, n'oublions surtout pas de **quitter le compte ##root##** avec la commande ##exit##:
%%
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
%%
**Note sur la prise en charge d'OpenGL**: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], {{color hex="#dd0000" text="Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D"}}. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
=== VII.b Premier lancement MAME ===
>>Attention, ous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>> Ceux qui ont suivi jusque là l'ont bien mérité, il est temps de lancer MAME! Nous allons donc exécuter la commande manuelle ##startx## pour lancer notre environnement graphique (oui, on aura même un curseur de souris) puis ##mame##:
%%
puckman@mamecab:~/mame$ startx
%%
>>Cliquer avec la souris sur la ligne de texte si vous ne pouvez rien écrire, le focus n'est alors pas sur le terminal.>> Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le //fameux// ##xterm## installé précédemment. Rien de bien sensationnel pour le moment mais tout ce travail effectué va bientôt payer!
Il faut définir la résolution graphique avec l'utilitaire ##xrandr##. Nous passerons en 640x480, largement suffisant pour les jeux d'arcade. Si vous choisissez une autre dimension, note-là bien car nous nous baserons dessus un peu plus bas dans ce tuto lors de l'installation du front-end:
%%
puckman@mamecab:~/mame$ xrandr -s 640x480
%%
Une fois la résolution définie, il est temps de lancer notre émulateur préféré (roulement de tambour...):
%%
puckman@mamecab:~/mame$ ./mame
%%
@@
{{image url="/_extra_/mamecab_xorg01.jpg" title="mame" alt="screenshot"}}
Bienvenue sur MAME! Vous devriez obtenir l'interface d'accueil avec le choix des jeux qu'il a trouvé.
Vous pouvez utiliser les flèches #%HAUT#%/#%BAS#%, #%ENTREE#% pour lancer le jeu et #%ECHAP#% pour quitter.
{{image url="/_extra_/mamecab_xorg02.jpg" title="mame" alt="screenshot"}}
Avertissement. Vous pouvez le passer en saisissant #%o#% puis #%k#% ou les flèches #%GAUCHE#% puis #%DROITE#%.
{{image url="/_extra_/mamecab_xorg03.jpg" title="mame" alt="screenshot"}}
Les informations sur l'émulation audio, CPU et vidéo. Remarquez la résolution 256x256 en 60Hz.
{{image url="/_extra_/mamecab_xorg04.jpg" title="mame" alt="screenshot"}}
LE PREMIER JEU MAME, woohoo!!
{{image url="/_extra_/mamecab_xorg05.jpg" title="mame" alt="screenshot"}}
Il n'y a pas que le boulot dans la vie! je vous laisse un moment de détente avec //X// et la vidéo //soft//...
#%ECHAP#% pour quitter.
@@
Il est également possible de lancer directement un jeu sans passer par le menu de MAME. Pour cela il faut spécifier le nom de l'archive ZIP sans l'extension, par exemple:
%%
puckman@mamecab:~/mame$ ./mame teetert
%%
Après avoir quitté MAME, nous devons sortir de l'environnement X avec la commande ##exit##:
%%
puckman@mamecab:~/mame$ exit
%%
==== VIII. EXTRAS ====
=== VIII.a Catégories ===
Le fichier des catégories ##catver.ini## est avec le fichier descriptif des ROMs ##mameinfo.xml## un des fichiers clés permettant de gérer les ROMs. Procédons à la récupération de l'archive ZIP le contenant **dans un dossier temporaire** ##/tmp##:
%%
puckman@mamecab:~/mame$ cd /tmp
puckman@mamecab:/tmp$ wget "http://www.progettoemma.net/public/ccount/click.php?id=6" -O catver.zip
--2011-03-25 14:38:55-- http://www.progettoemma.net/public/ccount/click.php?id=6
Résolution de www.progettoemma.net... 62.149.130.187
Connexion vers www.progettoemma.net|62.149.130.187|:80...connecté.
requête HTTP transmise, en attente de la réponse...302 Moved Temporarily
Emplacement: http://www.progettoemma.net/public/cat/catveren.zip [suivant]
--2011-03-25 14:38:56-- http://www.progettoemma.net/public/cat/catveren.zip
Réutilisation de la connexion existante vers www.progettoemma.net:80.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 106438 (104K) [application/x-zip-compressed]
Sauvegarde en : «catver.zip»
100%[=============================================================================>] 106 438 19,7K/s ds 5,3s
2011-03-25 14:39:02 (19,7 KB/s) - «catver.zip» sauvegardé [106438/106438]
%%
On extrait de l'archive le fichier ##catver.ini## que l'on copie dans le dossier MAME. Attention, on va en profiter pour renommer le fichier en lettres minuscules, la casse est très importante!
%%
puckman@mamecab:/tmp$ unzip catver.zip
Archive: catver.zip
inflating: Catver.ini
inflating: leggimi.txt
inflating: readme.txt
puckman@mamecab:/tmp$ cp Catver.ini ~/mame/catver.ini
%%
{{image class="center" alt="funny" title="Winner" url="http://www.jokeemail.com/pictures/arcade.jpg" width="200" height="157"}}
=== VIII.b Historique ===
Récupérons le fichier ##history.dat## contenant les informations à présenter sur le jeu en cours. Nous devrons [[http://www.arcade-history.com/index.php?page=download télécharger un fichier ZIP]] dans le dossier temporaire et déplacer le fichier extrait dans le dossier de MAME:
%%
puckman@mamecab:/tmp$ wget "http://www.arcade-history.com/dats/mamehistory141.zip"
--2011-03-25 19:27:42-- http://www.arcade-history.com/dats/mamehistory141.zip
Résolution de www.arcade-history.com... 84.16.84.51
Connexion vers www.arcade-history.com|84.16.84.51|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 2583551 (2,5M) [application/zip]
Sauvegarde en : «mamehistory141.zip»
100%[========================================================>] 2 583 551 63,9K/s ds 32s
2011-03-25 19:28:14 (78,6 KB/s) - «mamehistory141.zip» sauvegardé [2583551/2583551]
puckman@mamecab:/tmp$ unzip mamehistory141.zip
Archive: mamehistory141.zip
inflating: history.dat
inflating: readhist.txt
puckman@mamecab:/tmp$ mv history.dat ~/mame/
%%
=== VIII.c Illustrations ===
todo: ~/mame/snaps, ~/mame/marquees, ~/mame/cpanel
cf: http://mrdo.mameworld.info/mame_artwork_frontend.html
=== VIII.d Contrôleurs ===
Je n'ai pu trouver que la version 0.111 du fichier ##controls.ini## qui décrit les contrôleurs affectés à chaque jeu. Comme il ne s'agit pas d'une archive mais directement du fichier à télécharger, nous pouvons le faire **directement depuis le dossier de MAME**:
%%
puckman@mamecab:/tmp$ cd ~/mame
puckman@mamecab:~/mame$ wget "http://dl.maximumpc.com/galleries/mame/controls.ini"
--2011-03-25 21:59:08-- http://dl.maximumpc.com/galleries/mame/controls.ini
Résolution de dl.maximumpc.com... 60.254.175.41, 60.254.175.42
Connexion vers dl.maximumpc.com|60.254.175.41|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 496585 (485K) [text/plain]
Sauvegarde en : «controls.ini»
100%[========================================================>] 496 585 129K/s ds 3,8s
2011-03-25 21:59:12 (129 KB/s) - «controls.ini» sauvegardé [496585/496585]
puckman@mamecab:~/mame$ ls
catver.ini cfg controls.ini history.dat mame mameinfo.xml mame.ini nvram roms
%%
==== IX. WAH!CADE ====
{{image class="left" alt="lol" title="mariage" url="http://www.stickfreaks.com/images/cake1.jpg" width="120" height="120"}} Bien que MAME seul soit parfaitement capable de lancer les jeux depuis sa propre liste, il est préférable d'utiliser un "front-end". Son travail est de vous montrer les jeux disponibles avec captures d'écrans, animations vidéo, catégories, tri et divers filtres. Certains vont même jusqu'à gérer différents émulateurs à la fois (MAME, ZSnes, Gens, etc.), un mode Juke Box, des skins, etc. Bref, dans le souci de toujours bien séparer les choses, je vous propose d'installer le front-end [[http://www.anti-particle.com/wahcade.shtml Wah!Cade]], version libre de MAMEWah. Vous trouverez [[http://www.anti-particle.com/wahcade_scr.shtml quelques captures d'écran ici]].
=== IX.a Installation ===
Wah!cade fournit gracieusement un paquet d'installation pour Debian. Nous devons toutefois installer au préalable les librairies Python nécessaires au fonctionnement de Wah!cade en tant que "super-utilisateur" ##root##:
%%
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install python-gtk2 python-chardet python-imaging python-glade2 python-gst0.10 python-pygame
Les NOUVEAUX paquets suivants vont être installés :
libblas3gf{a} libffi5{a} libgfortran3{a} libglade2-0{a} libgstreamer-plugins-base0.10-0{a} libgstreamer0.10-0{a}
liblapack3gf{a} liblcms1{a} libmikmod2{a} libpython2.6{a} libsdl-image1.2{a} libsdl-mixer1.2{a} libsmpeg0{a}
libvorbisfile3{a} python-cairo{a} python-chardet python-glade2 python-gobject{a} python-gst0.10 python-gtk2
python-imaging python-libxml2{a} python-numpy{a} python-pygame ttf-freefont{a}
0 paquets mis à jour, 25 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 15,9 Mo d'archives. Après dépaquetage, 46,9 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libgfortran3 i386 4.4.5-8 [238 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libblas3gf i386 1.2-8 [211 kB]
[...]
%%
Passons à Wah!cade: la version actuelle de Wah!cade que je vais télécharger est la "0.99pre8". Vérifiez la version disponible sur [[http://www.anti-particle.com/wahcade_dl.shtml la page de téléchargement]] et adaptez au besoin:
%%
root@mamecab:~# wget -c "http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb"
--2011-03-25 11:11:09-- http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb
Résolution de www.anti-particle.com... 83.170.91.181
Connexion vers www.anti-particle.com|83.170.91.181|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 859782 (840K) [text/plain]
Sauvegarde en : «wahcade_0.99pre8_all.deb»
100%[=============================================================================>] 859 782 97,3K/s ds 12s
2011-03-25 11:21:29 (73,0 KB/s) - «wahcade_0.99pre8_all.deb» sauvegardé [859782/859782]
%%
L'installation se déroule très rapidement en spécifiant manuellement le paquet que l'on vient de télécharger:
%%
root@mamecab:~# dpkg -i wahcade_0.99pre8_all.deb
Sélection du paquet wahcade précédemment désélectionné.
(Lecture de la base de données... 49679 fichiers et répertoires déjà installés.)
Dépaquetage de wahcade (à partir de wahcade_0.99pre8_all.deb) ...
Paramétrage de wahcade (0.99pre8) ...
%%
Une fois le paquet installé, n'oublions surtout pas de supprimer le paquet d'installation et surtout **quitter le compte ##root##** avec la commande ##exit##:
%%
root@mamecab:~# rm -f wahcade_0.99pre8_all.deb
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
%%
=== IX.b Configuration ===
La configuration peut se faire dans l'environnement graphique. Lançons à nouveau le serveur X manuellement:
%%
puckman@mamecab:~/mame$ startx
%%
Vous devez être sous environnement graphique dans le terminal X ##xterm##. Continuons avec ##wahcade-setup##:
%%
puckman@mamecab:~/mame$ wahcade-setup
%%
La fenêtre se lance mais sans bordures ni titre de fenêtre. Pas de panique, c'est normal car on n'a pas installé de gestionnaire de fenêtre (KDE, GNOME, etc.) mais qui en a besoin sur une borne? Je vous ai mis les capture d'écran ci-dessous avec les champs à vérifier:
@@
{{image url="/_extra_/mamecab_wahcfg01.jpg" title="configuration" alt="screenshot"}}
Cliquez sur l'onglet "Emulators", puis dans la zone de saisie "Application" il faut renseigner le chemin vers le
binaire MAME. Vous pouvez saisir ##/home/puckman/mame/mame## ou plus simplement utiliser le
raccourci "~" qui pointe automatiquement vers le dossier de votre utilisateur courant, à savoir
"/home/puckman/" dans notre cas. Ce qui donne en version courte ##~/mame/mame##!
{{image url="/_extra_/mamecab_wahcfg03.jpg" title="configuration" alt="screenshot"}}
Plus bas dans "List Generation" saisir le chemin vers les ROMs ##~/mame/roms/##
{{image url="/_extra_/mamecab_wahcfg04.jpg" title="configuration" alt="screenshot"}}
Toujours dans l'onglet "Emulators", dans la section "Artwork", renseignez dans l'ordre les chemins vers
les captures d'écran ##~/mame/snaps##, les panneaux de contrôle ##~/mame/cpanel## puis les
bandeaux lumineux ##~/mame/marquees##
{{image url="/_extra_/mamecab_wahcfg02.jpg" title="configuration" alt="screenshot"}}
Passer ensuite sur l'onglet "M.A.M.E. Only" et faites travailler vos petits doigts agiles:
##~/mame/mameinfo.xml## pour le fichier XML, ##~/mame/catver.ini## pour les catégories,
##~/mame/history.dat## pour l'historique des jeux puis ##~/mame/controls.ini## pour les contrôleurs.
{{image url="/_extra_/mamecab_wahcfg05.jpg" title="configuration" alt="screenshot"}}
Sauvons ensuite tout cela par le menu ##File## et ##Enregistrer##. Puis ##Quitter## pour sortir proprement.
@@
todo: parcourir "~/.wahcade/layouts/" pour trouver le layout adapté à la résolution ("xrandr -s 640x480" sous X) et le définir dans la configuration. Voir pour le plantage sur les filtres MAME.
Après avoir quitté le gestionnaire de configuration, nous devons sortir de l'environnement X avec la commande ##exit##:
%%
puckman@mamecab:~/mame$ exit
%%
==== X. DÉMARRAGE & ARRÊT ====
todo: autostart, passwords, ~/.xsession, 16bits, shutdown, letc.
=== X.a Démarrage automatique ===
Comme je vous sent plutôt à l'aise jusque là, on va s'écrire notre petit bout de code en C et le compiler pour se loguer automatiquement au boot de la mamecab :)
Commençons par créer un dossier ##~/bin## contenant les binaires autre que MAME et rendons -nous à l'intérieur:
%%
puckman@mamecab:~/mame$ mkdir /home/puckman/bin
puckman@mamecab:~/mame$ cd /home/puckman/bin
puckman@mamecab:~/bin$
%%
Créez le fichier ##~/bin/autolog.c## avec ##pico##:
%%
puckman@mamecab:~/bin$ pico autolog.c
%%
Écrivez (ou mieux, copiez-collez) ce bout de code dans ##autolog.c##
%%(c,autolog.c)
#include <unistd.h>
int main()
{
execlp( "/bin/login", "login", "-f", "puckman", 0 );
}
%%
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico". Répondre "O" pour sauvegarder et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Hop, passage par le compilateur ##cc##:
%%
puckman@mamecab:~/bin$ ls
autolog.c
puckman@mamecab:~/bin$ cc autolog.c -o autolog
puckman@mamecab:~/bin$ ls
autolog autolog.c
%%
Le binaire ##/home/puckman/bin/autolog## est maintenant prêt, simple non?
Reste à demander au système de l'utiliser au démarrage sur le tty1 (console #1). Pour cela passer en "super-utilisateur" et éditer le fichier ##/etc/inittab##:
%%
puckman@mamecab:~/bin$ su -
Mot de passe :
root@mamecab:~# pico /etc/inittab
%%
Aller à la ligne n°54 (#%CTRL#% + #%_#%) où vous remplacerez ceci:
%%(text,/etc/inittab)
1:2345:respawn:/sbin/getty 38400 tty1
%%
par
%%(text,/etc/inittab)
1:2345:respawn:/sbin/agetty -n -l /home/puckman/bin/autolog 38400 tty1
%%
ATTENTION À BIEN RELIRE LES MODIFICATIONS! Il s'agit d'un des fichiers qui gère la console donc gare aux fôtes de frappe.
Pour terminer, supprimer le mot de passe de l'utilisateur "puckman" afin d'éviter toute saisie au clavier (qui sera d'ailleurs débranché par la suite si vous avez l'accès distant) et quitter le compte "super-utilisateur".
%%
root@mamecab:~# passwd -d puckman
passwd : expiration du mot de passe modifiée.
root@mamecab:~# exit
logout
Vous avez du courrier dans /var/mail/puckman
puckman@mamecab:~/bin$
%%
Bon, il est temps de rebooter pour tester notre connexion automatique!
==== XI. LIENS UTILES ====
todo: liens, faqs, plans, etc.
{{image class="center" alt="funny" title="F*ck" url="http://img237.imageshack.us/img237/5126/tetrisso6.jpg" width="400" height="314"}}
==== I. NOTE ====
{{image class="right" alt="NanoCade" title="http://www.koenigs.dk/mame/eng/step.htm" url="http://www.koenigs.dk/mame/eng/nanocade64.jpg" width="160" height="190"}} Description de l'installation d'une MAMECab avec:
- Un PC qui servira à faire tourner la borne en remplacement de la carte mère d'origine,
- Le système Debian Squeeze
- La compilation de MAME depuis les sources
- L'installation d'un front-end
- Une borne d'arcade d'occasion,
- Quelques tweaks et l'interface avec les différentes entrées/sorties de la borne
Document rédigé en Mars 2011. Vous trouverez un [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 premier document]] datant de mi-2008 qui n'est plus à jour.
==== II. PRÉPARATIFS ====
{{image class="left" alt="RIP" title="R.I.P." url="http://img.timeinc.net/time/today_in_pictures/1009/tip_ny_0908_01.jpg" width="180" height="160"}} Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- choisir la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement choisir l'image d'installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai choisi la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Vous voici prêt à installer le système de base!
==== III. SYSTÈME DE BASE ====
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
@@
{{image url="/_extra_/mamecab01.jpg" title="accueil" alt="screenshot"}}
Accueil lors du boot sur le CDROM d'installation de Debian 6.0 Squeeze: j'ai choisi l'installation en mode "console"
{{image url="/_extra_/mamecab02.jpg" title="accueil" alt="screenshot"}}
Choix de la langue
{{image url="/_extra_/mamecab03.jpg" title="accueil" alt="screenshot"}}
Situation géographique
{{image url="/_extra_/mamecab04.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab05.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab06.jpg" title="accueil" alt="screenshot"}}
Chargement des composants et détection du réseau: {{color hex="#DD0000" text="je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une"}}.
{{image url="/_extra_/mamecab07.jpg" title="accueil" alt="screenshot"}}
Choix du nom de la borne: {{color hex="#DD0000" text="notez-le bien si vous le modifiez"}}.
{{image url="/_extra_/mamecab08.jpg" title="accueil" alt="screenshot"}}
Entrez le nom de domaine local
{{image url="/_extra_/mamecab09.jpg" title="accueil" alt="screenshot"}}
Saisie du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
{{image url="/_extra_/mamecab10.jpg" title="accueil" alt="screenshot"}}
Choix de l'utilisateur, je l'ai appelé "puckman": {{color hex="#DD0000" text="notez bien son nom si vous en choisissez un autre"}}.
{{image url="/_extra_/mamecab11.jpg" title="accueil" alt="screenshot"}}
Saisie de son mot de passe
{{image url="/_extra_/mamecab12.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab13.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le partitionnement du disque entier: {{color hex="#DD0000" text="tout le disque sera formaté"}}!
{{image url="/_extra_/mamecab14.jpg" title="accueil" alt="screenshot"}}
Je n'ai qu'un disque à sélectionner
{{image url="/_extra_/mamecab15.jpg" title="accueil" alt="screenshot"}}
J'ai simplement choisi une unique partition pour le système et les données utilisateur
{{image url="/_extra_/mamecab16.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab17.jpg" title="accueil" alt="screenshot"}}
Attention, {{color hex="#DD0000" text="pas de retour en arrière une fois le disque formaté"}}!
{{image url="/_extra_/mamecab18.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab19.jpg" title="accueil" alt="screenshot"}}
Choisir un dépôt de paquets proche de votre lieu géographique
{{image url="/_extra_/mamecab20.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab21.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab22.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils. Concernant les gestionnaire de bureau tels KDE ou GNOME, nous nous contenterons simplement du serveur graphique X.
{{image url="/_extra_/mamecab23.jpg" title="accueil" alt="screenshot"}}
Installation des paquets
{{image url="/_extra_/mamecab24.jpg" title="accueil" alt="screenshot"}}
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous disposez de plusieurs postes connectés.
{{image url="/_extra_/mamecab25.jpg" title="accueil" alt="screenshot"}}
Installation du chargeur de démarrage GRUB
{{image url="/_extra_/mamecab26.jpg" title="accueil" alt="screenshot"}}
Fin de l'installation
{{image url="/_extra_/mamecab27.jpg" title="accueil" alt="screenshot"}}
Retirer le CDROM avant le re-démarrage
{{image url="/_extra_/mamecab28.jpg" title="accueil" alt="screenshot"}}
Reboot
{{image url="/_extra_/mamecab29.jpg" title="accueil" alt="screenshot"}}
Moment émouvant du premier boot ;-)
{{image url="/_extra_/mamecab30.jpg" title="accueil" alt="screenshot"}}
Bienvenue!
@@
Pour simplifier les choses dans la suite mon installation, j'utilise une connexion distante par SSH depuis un poste de travail, libre à vous de continuer sur la machine locale.
Pour établir une connexion SSH distante, il faut récupérer l'adresse IP de la borne (passez cette étape si vous avez spécifié une IP fixe):
- il faut se connecter en tant qu'usager "root" et saisir le mot de passe que vous avez bien noté lors de l'installation,
- taper ##ifconfig## pour obtenir l'adresse IP de la machine sur le réseau. Ici ##192.168.100.233##, à remplacer par la vôtre dans la suite du document.
@@
{{image url="/_extra_/mamecab31.jpg" title="accueil" alt="screenshot"}}
@@
==== IV. CONNEXION DISTANTE ====
Sur mon poste de travail, je peux dès lors me connecter via SSH sur la borne (à l'adresse récupérée ci-dessus) avec la commande "ssh utilisateur@machine":
%%
ludo@kanumera:~$ ssh root@192.168.100.223
The authenticity of host '192.168.100.223 (192.168.100.223)' can't be established.
RSA key fingerprint is f9:ed:b1:36:8a:dd:bd:e6:6d:5c:38:42:0e:5a:d5:c0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.223' (RSA) to the list of known hosts.
root@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 22 15:48:24 2011
/usr/bin/xauth: creating new authority file /root/.Xauthority
root@mamecab:~#
%%
{{image class="center" alt="funny" title="I see dead ppl" url="http://www.tilt.it/flipper_pinball/wp-content/uploads/2009/09/i_see_dead_people.gif" width="480" height="405"}}
==== V. PARTAGE DE FICHIERS ====
Je vais activer le partage de fichiers avec SAMBA avec authentification. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
%%
root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig
%%
Puis j'édite ce fichier:
%%
root@mamecab:~# pico /etc/samba/smb.conf
%%
Dé-commenter la ligne n°102 (enlever le "#") en s'y rendant avec le raccourci #%CTRL#%+#%_#% :
%%(ini;96;/etc/samba/smb.conf)
####### Authentication #######
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
# security = user
%%
modifié en:
%%(ini;102;/etc/samba/smb.conf)
security = user
%%
Et passer le partage des dossiers utilisateurs en mode lecture/écriture (ligne 242) :
%%(ini;234;/etc/samba/smb.conf)
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = yes
%%
modifié:
%%(ini;242;/etc/samba/smb.conf)
read only = no
%%
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico".
Répondre "O" à la question de l'éditeur: "//Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ?//", et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Demander à SAMBA de recharger sa configuration:
%%
root@mamecab:~# /etc/init.d/samba reload
Reloading /etc/samba/smb.conf: smbd only.
%%
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le passe sans qu'il s'affiche à l'écran) :
%%
root@mamecab:~# smbpasswd -a puckman
New SMB password:
Retype new SMB password:
Added user puckman.
%%
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple).
Ici, je fais le test depuis la propre borne (pas très utile mais ça fonctionne) :
%%
root@mamecab:~# smbclient -U puckman //localhost/puckman
Enter puckman's password:
Domain=[LUDOMATIC] OS=[Unix] Server=[Samba 3.5.6]
smb: \> dir
. D 0 Tue Mar 22 12:06:45 2011
.. D 0 Tue Mar 22 12:04:34 2011
.bash_logout H 220 Tue Mar 22 12:04:34 2011
.bashrc H 3184 Tue Mar 22 12:04:34 2011
.bash_history H 23 Tue Mar 22 12:06:45 2011
.profile H 675 Tue Mar 22 12:04:34 2011
61026 blocks of size 65536. 43188 blocks available
smb: \> exit
%%
ou depuis le poste de travail:
@@{{image url="/_extra_/mamecab_dolphin.jpg" title="samba" alt="screenshot"}}@@
==== VI. MAME ====
=== VI.a Préparation des outils ===
Avant d'installer MAME ou même les outil dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##:
%%
root@mamecab:~# aptitude update
Atteint http://ftp.nc.debian.org squeeze Release.gpg
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-fr
Atteint http://ftp.nc.debian.org squeeze-updates Release.gpg
Prendre : 1 http://security.debian.org squeeze/updates Release.gpg [835 B]
Ign http://security.debian.org/ squeeze/updates/main Translation-en
Ign http://security.debian.org/ squeeze/updates/main Translation-fr
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-fr
Prendre : 2 http://security.debian.org squeeze/updates Release [38,4 kB]
Atteint http://ftp.nc.debian.org squeeze Release
Atteint http://ftp.nc.debian.org squeeze-updates Release
Atteint http://ftp.nc.debian.org squeeze/main Sources
Atteint http://ftp.nc.debian.org squeeze/main i386 Packages
Atteint http://ftp.nc.debian.org squeeze-updates/main Sources/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages
Atteint http://security.debian.org squeeze/updates/main Sources
Prendre : 3 http://security.debian.org squeeze/updates/main i386 Packages [68,8 kB]
108 ko téléchargés en 2s (43,8 ko/s)
%%
{{image class="right" alt="Frankenstein" title="tout va bien se passer" url="http://vectorcade.net/frankenstein.jpg" width="150" height="120"}}Une fois la liste des paquets disponibles à jour, nous installerons:
- ##unzip## pour décompresser le fichier des sources MAME,
- ##build-essential## pour compiler depuis les sources le binaire MAME,
- ##libsdl1.2debian## et son paquet de développement ##libsdl1.2-dev## car la version MAME pour Linux utilise la librairie SDL (affichage vidéo, périphériques de contrôle, son, etc.),
- ##libsdl-ttf2.0-0## et ##libsdl-ttf2.0-dev## pour permettre à la librairie SDL d'utiliser les polices TrueType,
- ##libexpat1## et ##libexpat1-dev## pour permettre à MAME de parcourir les fichiers XML,
- ##zlib1g## et ##zlib1g-dev## afin que MAME décompresse les fichiers zippés,
- ##libxinerama1## et ##libxinerama-dev## pour l'affichage et la gestion des écrans multiples,
- ##libgconf2-4## et ##libgconf2-dev## permettant à MAME de gérer les préférences des applications,
- ##libgtk2.0-0## et ##libgtk2.0-dev## permettant d'utiliser l'interface GTK+.
Rien que ça..? Oui :) Et en une ligne de commande:
%%
root@mamecab:~# aptitude install unzip build-essential libsdl1.2debian libsdl1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
Les NOUVEAUX paquets suivants vont être installés :
autopoint{a} build-essential bzip2{a} dbus-x11{a} debhelper{a} defoma{a} dpkg-dev{a} esound-common{a}
fontconfig{a} fontconfig-config{a} g++{a} g++-4.4{a} gconf2{a} gconf2-common{a} gettext{a} git{a}
hicolor-icon-theme{a} html2text{a} intltool-debian{a} libaa1{a} libaa1-dev{a} libalgorithm-diff-perl{a}
[...]
x11proto-xext-dev{a} x11proto-xinerama-dev{a} xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 164 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 63,9 Mo/64,1 Mo d'archives. Après dépaquetage, 190 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main x11proto-core-dev all 7.0.16-1 [92,2 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libice-dev i386 2:1.0.6-2 [58,5 kB]
[...]
Paramétrage de g++ (4:4.4.5-1) ...
update-alternatives: utilisation de « /usr/bin/g++ » pour fournir « /usr/bin/c++ » (c++) en mode automatique.
Paramétrage de build-essential (11.5) ...
%%
N'ayant plus de tâches administratives à effectuer pour le moment, il faut quitter l'accès super-utilisateur et se connecter avec l'utilisateur ##puckman##. On peut effectuer une nouvelle connexion depuis la machine de bureau:
%%
ludo@kanumera:~$ ssh puckman@192.168.100.223
puckman@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
/usr/bin/xauth: creating new authority file /home/puckman/.Xauthority
puckman@mamecab:~$
%%
ou alors passer à l'utilisateur ##puckman## depuis le super-utilisateur ##root##:
%%
root@mamecab:~# su - puckman
puckman@mamecab:~$
%%
Oui oui, on arrive enfin à la partie MAME :)
=== VI.b Récupération des sources MAME ===
Préparer le dossier de travail:
%%
puckman@mamecab:~$ mkdir sources
puckman@mamecab:~$ cd sources
puckman@mamecab:~/sources$
%%
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html (pour ma part la version actuelle est la 0.141 : http://mamedev.org/downloader.php?file=releases/mame0141s.zip)
%%
puckman@mamecab:~/sources$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/downloader.php?file=releases/mame0141s.zip" -O mame0141s.zip
--2011-03-22 22:36:06-- http://mamedev.org/downloader.php?file=releases/mame0141s.zip
Resolving mamedev.org... 67.210.100.31
Connecting to mamedev.org|67.210.100.31|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://mamedev.thiswebhost.com/releases/mame0141s.zip [following]
--2011-03-22 22:36:07-- http://mamedev.thiswebhost.com/releases/mame0141s.zip
Resolving mamedev.thiswebhost.com... 67.225.136.222
Connecting to mamedev.thiswebhost.com|67.225.136.222|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17092788 (16M) [application/zip]
Saving to: `mame0141s.zip'
13% [======> ] 2,385,353 76.3K/s eta 4m 12s
%%
On décompresse le fichier ZIP téléchargé:
%%
puckman@mamecab:~/sources$ ls
mame0141s.zip
puckman@mamecab:~/sources$ unzip mame0141s.zip
Archive: mame0141s.zip
inflating: mame.zip
puckman@mamecab:~/sources$ ls
mame0141s.zip mame.zip
%%
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous le décompresserons dans un dossier nommé ##mame0141## pour bien séparer les choses:
%%
puckman@mamecab:~/sources$ unzip mame.zip -d mame0141
Archive: mame.zip
creating: mame0141/docs/
extracting: mame0141/docs/config.txt
extracting: mame0141/docs/license.txt
[...]
extracting: mame0141/src/version.c
extracting: mame0141/whatsnew.txt
puckman@mamecab:~/sources$ ls
mame0141 mame0141s.zip mame.zip
%%
{{image class="center" alt="funny" title="Le Roi Kong" url="http://www.theawl.com/wp-content/uploads/2010/05/Screen-shot-2010-05-13-at-10.06.03-AM-350x263.png" width="350" height="263"}}
Tout s'est bien déroulé, **rendez-vous dans le dossier ##mame0141## avant de passer à la suite**:
%%
puckman@mamecab:~/sources$ cd mame0141
puckman@mamecab:~/sources/mame0141$ ls
docs makefile src whatsnew.txt
%%
=== VI.c Construction du binaire ===
>>Note 1: Je lance un ##make clean## quand cela est possible pour nettoyer toute trace d'une précédente compilation.
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)>> Le dossier ##mame0141## contient maintenant les sources MAME 0.141 avec un fichier ##makefile## qui va permettre à l'ensemble des utilitaires de fonctionner de concert pour produire l'exécutable ##mame## avec différentes options selon votre système. N'hésitez pas à consulter le contenu du fichier ##makefile## si vous en avez envie!
La compilation qui suit va prendre pas mal de temps, c'est le moment de la B.A. du jour: rangement du bureau!
%%
puckman@mamecab:~/sources/mame0141$ make clean
Deleting object tree obj/sdl/mame...
Deleting mame...
Deleting testkeys romcmp chdman jedutil unidasm ldresample ldverify regrep srcclean src2html split ...
puckman@mamecab:~/sources/mame0141$ make
mkdir -p obj/sdl/mame
mkdir -p obj/sdl/mame/build
mkdir -p obj/sdl/mame/emu/audio
[...]
Compiling src/emu/cpu/z8/z8dasm.c...
Compiling src/emu/cpu/superfx/sfx_dasm.c...
Archiving obj/sdl/mame/libdasm.a...
Linking mame...
%%
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source/mame0141/##:
%%
puckman@mamecab:~/sources/mame0141$ ls
docs makefile mame obj src whatsnew.txt
%%
Pour éviter de tout mélanger, nous laisserons les sources de côté et copierons le binaire ##mame## dans un dossier ##/home/puckman/mame/##. Nous y placerons également la configuration de MAME, les ROMs, snapshots, sauvegardes, etc., bref ce sera le dossier principal de MAME:
%%
puckman@mamecab:~/sources/mame0141$ mkdir /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cp ./mame /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cd /home/puckman/mame/
puckman@mamecab:~/mame$ ls
mame
%%
À partir de maintenant, nous travaillerons donc **dans le dossier ##/home/puckman/mame##** ou ##/home/nom_utilisateur/mame## selon votre installation.
{{image class="center" alt="funny" title="be prepared" url="http://brachinus.files.wordpress.com/2009/02/space-invaders-planning-session-1471-1235426202-20.jpg" width="253" height="181"}}
=== VI.d Configuration ===
Commençons par générer le fichier XML contenant l'ensemble des ROMs utilisables par cette version 0.141 (patience, cela peut prendre un peu de temps):
%%
puckman@mamecab:~/mame$ ./mame -listxml > mameinfo.xml
puckman@mamecab:~/mame$ ls
mame mameinfo.xml
%%
>>Pour les touches par défaut, voir par exemple [[http://wahki.mameau.com/index.php?title=File:Typical_mame_controls.jpg ici]], [[http://moosevalley.solidwebhost.com/pics/MAME_Keyboard_Map.gif là]] ou [[http://mamedev.org/devwiki/index.php/FAQ:Controls ceci]].>>Par défaut, le clavier //anglais// est pris en charge. Comme il faut utiliser par exemple les touches #%1#% et #%5#% au dessus des lettres (pas celle du pavé numérique) pour le bouton "START" et les "CREDITS" du joueur 1, nous devons utiliser un mappage de touches correspondant au clavier //français//. Copions les fichiers de configuration du clavier depuis dossier des sources MAME vers le dossier ##keymaps##:
%%
puckman@mamecab:~/mame$ cp -vr /home/puckman/sources/mame0141/src/osd/sdl/keymaps ./
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps » -> « ./keymaps »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km_it.txt » -> « ./keymaps/km_it.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-be.txt » -> « ./keymaps/km-be.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-ch.txt » -> « ./keymaps/km-ch.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-de.txt » -> « ./keymaps/km-de.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-fr-OSX.txt » -> « ./keymaps/km-fr-OSX.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-fr.txt » -> « ./keymaps/km-fr.txt »
puckman@mamecab:~/mame$ ls keymaps
km-be.txt km-ch.txt km-de.txt km-fr-OSX.txt km-fr.txt km_it.txt
%%
Générons ensuite le fichier de configuration ##mame.ini##:
%%
puckman@mamecab:~/mame$ ./mame -createconfig
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini
%%
Et éditons-le afin de vérifier au minimum le chemin des ROMs, le mode vidéo et de définir le clavier français:
%%
puckman@mamecab:~/mame$ pico mame.ini
%%
Les ROMs seront donc par défaut recherchées dans le dossier ##roms## d'où est exécuté MAME. Nous le créerons dans le prochain chapitre :
%%(text;9;mame.ini)
#
# CORE SEARCH PATH OPTIONS
#
rompath roms
%%
Et la vidéo est gérée par la couche logicielle, sans prise en charge d'accélération OpenGL (très bien pour un premier lancement!):
%%(text;163;mame.ini)
#
# VIDEO OPTIONS
#
video soft
%%
Activons les code clavier spécifiques pour passer le clavier en français:
%%(text;245;mame.ini)
#
# SDL KEYBOARD MAPPING
#
keymap 1
keymap_file keymaps/km-fr.txt
%%
{{image class="center" alt="funny" title="IIIII IIIII II" url="http://www.dragonslairfans.com/pictures/fun/si.jpg" width="314" height="224"}}
=== VI.e Les ROMs ===
Nous y voilà, commençons par créer le dossier des ROMs comme paramétré dans le fichier de configuration ##mame.ini## vu ci-dessus:
%%
puckman@mamecab:~/mame$ mkdir roms
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini roms
%%
Quelques éditeurs ont libéré les droits de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces bonnes initiatives nous allons pouvoir lancer nos premiers jeux!
La plupart de ces ROMs sont tout simplement regroupées dans [[http://mamedev.org/roms/ la section "roms" du site officiel de MAME]]. Récupérons par exemple l'excellent [[http://mamedev.org/roms/teetert/ Teeter Torture]] (Exidy) et [[http://mamedev.org/roms/gridlee/ Gridlee]] (Videa) depuis le dossier ##roms##:
%%
puckman@mamecab:~/mame$ cd roms
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/teetert/teetert.zip"
--2011-03-25 08:37:52-- http://mamedev.org/roms/teetert/teetert.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 24907 (24K) [application/zip]
Sauvegarde en : «teetert.zip»
100%[=============================================================================>] 24 907 14,3K/s ds 1,7s
2011-03-25 08:37:55 (14,3 KB/s) - «teetert.zip» sauvegardé [24907/24907]
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/gridlee/gridlee.zip"
--2011-03-25 08:38:24-- http://mamedev.org/roms/gridlee/gridlee.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 26154 (26K) [application/zip]
Sauvegarde en : «gridlee.zip»
100%[=============================================================================>] 26 154 24,8K/s ds 1,0s
2011-03-25 08:38:26 (24,8 KB/s) - «gridlee.zip» sauvegardé [26154/26154]
%%
Vérifions que les ROMs sont bien là et quittons le dossier ##roms## sans décompresser les ZIP, MAME va s'en charger à la volée lors du lancement du jeu:
%%
puckman@mamecab:~/mame/roms$ ls
gridlee.zip teetert.zip
puckman@mamecab:~/mame/roms$ cd ..
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini roms
%%
==== VII. SERVEUR X ====
=== VII.a Installation ===
{{image class="right" alt="wake up" title="mameclockcab" url="http://8.mshcdn.com/wp-content/gallery/retro-gaming/arcade_picnik.jpg" width="180" height="180"}} Il est nécessaire d'installer un serveur graphique minimal appelé "serveur X", sans pour autant charger barre des tâches et autres menus (pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc). Nous aurons par ailleurs besoin de quelques outils et dépendances:
- ##xserver-xorg-core##, le serveur X "[[http://www.x.org/wiki/ X.Org]]"
- ##xfonts-base## et ""ttf-liberation"" fournissant des jeux de police TrueType par défaut et Libres
- ##xterm## pour avoir un terminal graphique
- ##xinit## qui fourni le lanceur de session graphique ##startx##
- ##x11-xserver-utils## regroupant de nombreux utilitaires pour X
Ces installations se font avec le compte ##root##, passer en mode "super-utilisateur" au préalable avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
%%
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install xserver-xorg-core xfonts-base ttf-liberation xterm xinit x11-xserver-utils
Les NOUVEAUX paquets suivants vont être installés :
libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} ttf-liberation x11-utils{a}
x11-xserver-utils xbitmaps{a} xinit xterm
0 paquets mis à jour, 9 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 1 019 ko d'archives. Après dépaquetage, 3 486 ko seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libxcb-atom1 i386 0.3.6-1 [9 526 B]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libxv1 i386 2:1.0.5-1 [17,1 kB]
[...]
%%
Une fois le serveur X installé, n'oublions surtout pas de **quitter le compte ##root##** avec la commande ##exit##:
%%
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
%%
**Note sur la prise en charge d'OpenGL**: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], {{color hex="#dd0000" text="Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D"}}. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
=== VII.b Premier lancement MAME ===
>>Attention, ous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>> Ceux qui ont suivi jusque là l'ont bien mérité, il est temps de lancer MAME! Nous allons donc exécuter la commande manuelle ##startx## pour lancer notre environnement graphique (oui, on aura même un curseur de souris) puis ##mame##:
%%
puckman@mamecab:~/mame$ startx
%%
>>Cliquer avec la souris sur la ligne de texte si vous ne pouvez rien écrire, le focus n'est alors pas sur le terminal.>> Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le //fameux// ##xterm## installé précédemment. Rien de bien sensationnel pour le moment mais tout ce travail effectué va bientôt payer!
Il faut définir la résolution graphique avec l'utilitaire ##xrandr##. Nous passerons en 640x480, largement suffisant pour les jeux d'arcade. Si vous choisissez une autre dimension, note-là bien car nous nous baserons dessus un peu plus bas dans ce tuto lors de l'installation du front-end:
%%
puckman@mamecab:~/mame$ xrandr -s 640x480
%%
Une fois la résolution définie, il est temps de lancer notre émulateur préféré (roulement de tambour...):
%%
puckman@mamecab:~/mame$ ./mame
%%
@@
{{image url="/_extra_/mamecab_xorg01.jpg" title="mame" alt="screenshot"}}
Bienvenue sur MAME! Vous devriez obtenir l'interface d'accueil avec le choix des jeux qu'il a trouvé.
Vous pouvez utiliser les flèches #%HAUT#%/#%BAS#%, #%ENTREE#% pour lancer le jeu et #%ECHAP#% pour quitter.
{{image url="/_extra_/mamecab_xorg02.jpg" title="mame" alt="screenshot"}}
Avertissement. Vous pouvez le passer en saisissant #%o#% puis #%k#% ou les flèches #%GAUCHE#% puis #%DROITE#%.
{{image url="/_extra_/mamecab_xorg03.jpg" title="mame" alt="screenshot"}}
Les informations sur l'émulation audio, CPU et vidéo. Remarquez la résolution 256x256 en 60Hz.
{{image url="/_extra_/mamecab_xorg04.jpg" title="mame" alt="screenshot"}}
LE PREMIER JEU MAME, woohoo!!
{{image url="/_extra_/mamecab_xorg05.jpg" title="mame" alt="screenshot"}}
Il n'y a pas que le boulot dans la vie! je vous laisse un moment de détente avec //X// et la vidéo //soft//...
#%ECHAP#% pour quitter.
@@
Il est également possible de lancer directement un jeu sans passer par le menu de MAME. Pour cela il faut spécifier le nom de l'archive ZIP sans l'extension, par exemple:
%%
puckman@mamecab:~/mame$ ./mame teetert
%%
Après avoir quitté MAME, nous devons sortir de l'environnement X avec la commande ##exit##:
%%
puckman@mamecab:~/mame$ exit
%%
==== VIII. EXTRAS ====
=== VIII.a Catégories ===
Le fichier des catégories ##catver.ini## est avec le fichier descriptif des ROMs ##mameinfo.xml## un des fichiers clés permettant de gérer les ROMs. Procédons à la récupération de l'archive ZIP le contenant **dans un dossier temporaire** ##/tmp##:
%%
puckman@mamecab:~/mame$ cd /tmp
puckman@mamecab:/tmp$ wget "http://www.progettoemma.net/public/ccount/click.php?id=6" -O catver.zip
--2011-03-25 14:38:55-- http://www.progettoemma.net/public/ccount/click.php?id=6
Résolution de www.progettoemma.net... 62.149.130.187
Connexion vers www.progettoemma.net|62.149.130.187|:80...connecté.
requête HTTP transmise, en attente de la réponse...302 Moved Temporarily
Emplacement: http://www.progettoemma.net/public/cat/catveren.zip [suivant]
--2011-03-25 14:38:56-- http://www.progettoemma.net/public/cat/catveren.zip
Réutilisation de la connexion existante vers www.progettoemma.net:80.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 106438 (104K) [application/x-zip-compressed]
Sauvegarde en : «catver.zip»
100%[=============================================================================>] 106 438 19,7K/s ds 5,3s
2011-03-25 14:39:02 (19,7 KB/s) - «catver.zip» sauvegardé [106438/106438]
%%
On extrait de l'archive le fichier ##catver.ini## que l'on copie dans le dossier MAME. Attention, on va en profiter pour renommer le fichier en lettres minuscules, la casse est très importante!
%%
puckman@mamecab:/tmp$ unzip catver.zip
Archive: catver.zip
inflating: Catver.ini
inflating: leggimi.txt
inflating: readme.txt
puckman@mamecab:/tmp$ cp Catver.ini ~/mame/catver.ini
%%
{{image class="center" alt="funny" title="Winner" url="http://www.jokeemail.com/pictures/arcade.jpg" width="200" height="157"}}
=== VIII.b Historique ===
Récupérons le fichier ##history.dat## contenant les informations à présenter sur le jeu en cours. Nous devrons [[http://www.arcade-history.com/index.php?page=download télécharger un fichier ZIP]] dans le dossier temporaire et déplacer le fichier extrait dans le dossier de MAME:
%%
puckman@mamecab:/tmp$ wget "http://www.arcade-history.com/dats/mamehistory141.zip"
--2011-03-25 19:27:42-- http://www.arcade-history.com/dats/mamehistory141.zip
Résolution de www.arcade-history.com... 84.16.84.51
Connexion vers www.arcade-history.com|84.16.84.51|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 2583551 (2,5M) [application/zip]
Sauvegarde en : «mamehistory141.zip»
100%[========================================================>] 2 583 551 63,9K/s ds 32s
2011-03-25 19:28:14 (78,6 KB/s) - «mamehistory141.zip» sauvegardé [2583551/2583551]
puckman@mamecab:/tmp$ unzip mamehistory141.zip
Archive: mamehistory141.zip
inflating: history.dat
inflating: readhist.txt
puckman@mamecab:/tmp$ mv history.dat ~/mame/
%%
=== VIII.c Illustrations ===
todo: ~/mame/snaps, ~/mame/marquees, ~/mame/cpanel
cf: http://mrdo.mameworld.info/mame_artwork_frontend.html
=== VIII.d Contrôleurs ===
Je n'ai pu trouver que la version 0.111 du fichier ##controls.ini## qui décrit les contrôleurs affectés à chaque jeu. Comme il ne s'agit pas d'une archive mais directement du fichier à télécharger, nous pouvons le faire **directement depuis le dossier de MAME**:
%%
puckman@mamecab:/tmp$ cd ~/mame
puckman@mamecab:~/mame$ wget "http://dl.maximumpc.com/galleries/mame/controls.ini"
--2011-03-25 21:59:08-- http://dl.maximumpc.com/galleries/mame/controls.ini
Résolution de dl.maximumpc.com... 60.254.175.41, 60.254.175.42
Connexion vers dl.maximumpc.com|60.254.175.41|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 496585 (485K) [text/plain]
Sauvegarde en : «controls.ini»
100%[========================================================>] 496 585 129K/s ds 3,8s
2011-03-25 21:59:12 (129 KB/s) - «controls.ini» sauvegardé [496585/496585]
puckman@mamecab:~/mame$ ls
catver.ini cfg controls.ini history.dat mame mameinfo.xml mame.ini nvram roms
%%
==== IX. WAH!CADE ====
{{image class="left" alt="lol" title="mariage" url="http://www.stickfreaks.com/images/cake1.jpg" width="120" height="120"}} Bien que MAME seul soit parfaitement capable de lancer les jeux depuis sa propre liste, il est préférable d'utiliser un "front-end". Son travail est de vous montrer les jeux disponibles avec captures d'écrans, animations vidéo, catégories, tri et divers filtres. Certains vont même jusqu'à gérer différents émulateurs à la fois (MAME, ZSnes, Gens, etc.), un mode Juke Box, des skins, etc. Bref, dans le souci de toujours bien séparer les choses, je vous propose d'installer le front-end [[http://www.anti-particle.com/wahcade.shtml Wah!Cade]], version libre de MAMEWah. Vous trouverez [[http://www.anti-particle.com/wahcade_scr.shtml quelques captures d'écran ici]].
=== IX.a Installation ===
Wah!cade fournit gracieusement un paquet d'installation pour Debian. Nous devons toutefois installer au préalable les librairies Python nécessaires au fonctionnement de Wah!cade en tant que "super-utilisateur" ##root##:
%%
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install python-gtk2 python-chardet python-imaging python-glade2 python-gst0.10 python-pygame
Les NOUVEAUX paquets suivants vont être installés :
libblas3gf{a} libffi5{a} libgfortran3{a} libglade2-0{a} libgstreamer-plugins-base0.10-0{a} libgstreamer0.10-0{a}
liblapack3gf{a} liblcms1{a} libmikmod2{a} libpython2.6{a} libsdl-image1.2{a} libsdl-mixer1.2{a} libsmpeg0{a}
libvorbisfile3{a} python-cairo{a} python-chardet python-glade2 python-gobject{a} python-gst0.10 python-gtk2
python-imaging python-libxml2{a} python-numpy{a} python-pygame ttf-freefont{a}
0 paquets mis à jour, 25 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 15,9 Mo d'archives. Après dépaquetage, 46,9 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libgfortran3 i386 4.4.5-8 [238 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libblas3gf i386 1.2-8 [211 kB]
[...]
%%
Passons à Wah!cade: la version actuelle de Wah!cade que je vais télécharger est la "0.99pre8". Vérifiez la version disponible sur [[http://www.anti-particle.com/wahcade_dl.shtml la page de téléchargement]] et adaptez au besoin:
%%
root@mamecab:~# wget -c "http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb"
--2011-03-25 11:11:09-- http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb
Résolution de www.anti-particle.com... 83.170.91.181
Connexion vers www.anti-particle.com|83.170.91.181|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 859782 (840K) [text/plain]
Sauvegarde en : «wahcade_0.99pre8_all.deb»
100%[=============================================================================>] 859 782 97,3K/s ds 12s
2011-03-25 11:21:29 (73,0 KB/s) - «wahcade_0.99pre8_all.deb» sauvegardé [859782/859782]
%%
L'installation se déroule très rapidement en spécifiant manuellement le paquet que l'on vient de télécharger:
%%
root@mamecab:~# dpkg -i wahcade_0.99pre8_all.deb
Sélection du paquet wahcade précédemment désélectionné.
(Lecture de la base de données... 49679 fichiers et répertoires déjà installés.)
Dépaquetage de wahcade (à partir de wahcade_0.99pre8_all.deb) ...
Paramétrage de wahcade (0.99pre8) ...
%%
Une fois le paquet installé, n'oublions surtout pas de supprimer le paquet d'installation et surtout **quitter le compte ##root##** avec la commande ##exit##:
%%
root@mamecab:~# rm -f wahcade_0.99pre8_all.deb
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
%%
=== IX.b Configuration ===
La configuration peut se faire dans l'environnement graphique. Lançons à nouveau le serveur X manuellement:
%%
puckman@mamecab:~/mame$ startx
%%
Vous devez être sous environnement graphique dans le terminal X ##xterm##. Continuons avec ##wahcade-setup##:
%%
puckman@mamecab:~/mame$ wahcade-setup
%%
La fenêtre se lance mais sans bordures ni titre de fenêtre. Pas de panique, c'est normal car on n'a pas installé de gestionnaire de fenêtre (KDE, GNOME, etc.) mais qui en a besoin sur une borne? Je vous ai mis les capture d'écran ci-dessous avec les champs à vérifier:
@@
{{image url="/_extra_/mamecab_wahcfg01.jpg" title="configuration" alt="screenshot"}}
Cliquez sur l'onglet "Emulators", puis dans la zone de saisie "Application" il faut renseigner le chemin vers le
binaire MAME. Vous pouvez saisir ##/home/puckman/mame/mame## ou plus simplement utiliser le
raccourci "~" qui pointe automatiquement vers le dossier de votre utilisateur courant, à savoir
"/home/puckman/" dans notre cas. Ce qui donne en version courte ##~/mame/mame##!
{{image url="/_extra_/mamecab_wahcfg03.jpg" title="configuration" alt="screenshot"}}
Plus bas dans "List Generation" saisir le chemin vers les ROMs ##~/mame/roms/##
{{image url="/_extra_/mamecab_wahcfg04.jpg" title="configuration" alt="screenshot"}}
Toujours dans l'onglet "Emulators", dans la section "Artwork", renseignez dans l'ordre les chemins vers
les captures d'écran ##~/mame/snaps##, les panneaux de contrôle ##~/mame/cpanel## puis les
bandeaux lumineux ##~/mame/marquees##
{{image url="/_extra_/mamecab_wahcfg02.jpg" title="configuration" alt="screenshot"}}
Passer ensuite sur l'onglet "M.A.M.E. Only" et faites travailler vos petits doigts agiles:
##~/mame/mameinfo.xml## pour le fichier XML, ##~/mame/catver.ini## pour les catégories,
##~/mame/history.dat## pour l'historique des jeux puis ##~/mame/controls.ini## pour les contrôleurs.
{{image url="/_extra_/mamecab_wahcfg05.jpg" title="configuration" alt="screenshot"}}
Sauvons ensuite tout cela par le menu ##File## et ##Enregistrer##. Puis ##Quitter## pour sortir proprement.
@@
todo: parcourir "~/.wahcade/layouts/" pour trouver le layout adapté à la résolution ("xrandr -s 640x480" sous X) et le définir dans la configuration. Voir pour le plantage sur les filtres MAME.
Après avoir quitté le gestionnaire de configuration, nous devons sortir de l'environnement X avec la commande ##exit##:
%%
puckman@mamecab:~/mame$ exit
%%
==== X. DÉMARRAGE & ARRÊT ====
todo: autostart, passwords, ~/.xsession, 16bits, shutdown, letc.
=== X.a Démarrage automatique ===
Comme je vous sent plutôt à l'aise jusque là, on va s'écrire notre petit bout de code en C et le compiler pour se loguer automatiquement au boot de la mamecab :)
Commençons par créer un dossier ##~/bin## contenant les binaires autre que MAME et rendons -nous à l'intérieur:
%%
puckman@mamecab:~/mame$ mkdir /home/puckman/bin
puckman@mamecab:~/mame$ cd /home/puckman/bin
puckman@mamecab:~/bin$
%%
Créez le fichier ##~/bin/autolog.c## avec ##pico##:
%%
puckman@mamecab:~/bin$ pico autolog.c
%%
Écrivez (ou mieux, copiez-collez) ce bout de code dans ##autolog.c##
%%(c,autolog.c)
#include <unistd.h>
int main()
{
execlp( "/bin/login", "login", "-f", "puckman", 0 );
}
%%
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico". Répondre "O" pour sauvegarder et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Hop, passage par le compilateur ##cc##:
%%
puckman@mamecab:~/bin$ ls
autolog.c
puckman@mamecab:~/bin$ cc autolog.c -o autolog
puckman@mamecab:~/bin$ ls
autolog autolog.c
%%
Le binaire ##/home/puckman/bin/autolog## est maintenant prêt, simple non?
Reste à demander au système de l'utiliser au démarrage sur le tty1 (console #1). Pour cela passer en "super-utilisateur" et éditer le fichier ##/etc/inittab##:
%%
puckman@mamecab:~/bin$ su -
Mot de passe :
root@mamecab:~# pico /etc/inittab
%%
Aller à la ligne n°54 (#%CTRL#% + #%_#%) où vous remplacerez ceci:
%%(text,/etc/inittab)
1:2345:respawn:/sbin/getty 38400 tty1
%%
par
%%(text,/etc/inittab)
1:2345:respawn:/sbin/agetty -n -l /home/puckman/bin/autolog 38400 tty1
%%
ATTENTION À BIEN RELIRE LES MODIFICATIONS! Il s'agit d'un des fichiers qui gère la console donc gare aux fôtes de frappe.
Pour terminer, supprimer le mot de passe de l'utilisateur "puckman" afin d'éviter toute saisie au clavier (qui sera d'ailleurs débranché par la suite si vous avez l'accès distant) et quitter le compte "super-utilisateur".
%%
root@mamecab:~# passwd -d puckman
passwd : expiration du mot de passe modifiée.
root@mamecab:~# exit
logout
Vous avez du courrier dans /var/mail/puckman
puckman@mamecab:~/bin$
%%
Bon, il est temps de rebooter pour tester notre connexion automatique!
==== XI. LIENS UTILES ====
todo: liens, faqs, plans, etc.
{{image class="center" alt="funny" title="F*ck" url="http://img237.imageshack.us/img237/5126/tetrisso6.jpg" width="400" height="314"}}
Deletions:
==== I. NOTE ====
{{image class="right" alt="NanoCade" title="http://www.koenigs.dk/mame/eng/step.htm" url="http://www.koenigs.dk/mame/eng/nanocade64.jpg" width="160" height="190"}} Description de l'installation d'une MAMECab avec:
- Un PC qui servira à faire tourner la borne en remplacement de la carte mère d'origine,
- Le système Debian Squeeze
- La compilation de MAME depuis les sources
- L'installation d'un front-end
- Une borne d'arcade d'occasion,
- Quelques tweaks et l'interface avec les différentes entrées/sorties de la borne
Document rédigé en Mars 2011. Vous trouverez un [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 premier document]] datant de mi-2008 qui n'est plus à jour.
==== II. PRÉPARATIFS ====
{{image class="left" alt="RIP" title="R.I.P." url="http://img.timeinc.net/time/today_in_pictures/1009/tip_ny_0908_01.jpg" width="180" height="160"}} Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- choisir la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement choisir l'image d'installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai choisi la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Vous voici prêt à installer le système de base!
==== III. SYSTÈME DE BASE ====
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
@@
{{image url="/_extra_/mamecab01.jpg" title="accueil" alt="screenshot"}}
Accueil lors du boot sur le CDROM d'installation de Debian 6.0 Squeeze: j'ai choisi l'installation en mode "console"
{{image url="/_extra_/mamecab02.jpg" title="accueil" alt="screenshot"}}
Choix de la langue
{{image url="/_extra_/mamecab03.jpg" title="accueil" alt="screenshot"}}
Situation géographique
{{image url="/_extra_/mamecab04.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab05.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab06.jpg" title="accueil" alt="screenshot"}}
Chargement des composants et détection du réseau: {{color hex="#DD0000" text="je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une"}}.
{{image url="/_extra_/mamecab07.jpg" title="accueil" alt="screenshot"}}
Choix du nom de la borne: {{color hex="#DD0000" text="notez-le bien si vous le modifiez"}}.
{{image url="/_extra_/mamecab08.jpg" title="accueil" alt="screenshot"}}
Entrez le nom de domaine local
{{image url="/_extra_/mamecab09.jpg" title="accueil" alt="screenshot"}}
Saisie du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
{{image url="/_extra_/mamecab10.jpg" title="accueil" alt="screenshot"}}
Choix de l'utilisateur, je l'ai appelé "puckman": {{color hex="#DD0000" text="notez bien son nom si vous en choisissez un autre"}}.
{{image url="/_extra_/mamecab11.jpg" title="accueil" alt="screenshot"}}
Saisie de son mot de passe
{{image url="/_extra_/mamecab12.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab13.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le partitionnement du disque entier: {{color hex="#DD0000" text="tout le disque sera formaté"}}!
{{image url="/_extra_/mamecab14.jpg" title="accueil" alt="screenshot"}}
Je n'ai qu'un disque à sélectionner
{{image url="/_extra_/mamecab15.jpg" title="accueil" alt="screenshot"}}
J'ai simplement choisi une unique partition pour le système et les données utilisateur
{{image url="/_extra_/mamecab16.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab17.jpg" title="accueil" alt="screenshot"}}
Attention, {{color hex="#DD0000" text="pas de retour en arrière une fois le disque formaté"}}!
{{image url="/_extra_/mamecab18.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab19.jpg" title="accueil" alt="screenshot"}}
Choisir un dépôt de paquets proche de votre lieu géographique
{{image url="/_extra_/mamecab20.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab21.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab22.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils. Concernant les gestionnaire de bureau tels KDE ou GNOME, nous nous contenterons simplement du serveur graphique X.
{{image url="/_extra_/mamecab23.jpg" title="accueil" alt="screenshot"}}
Installation des paquets
{{image url="/_extra_/mamecab24.jpg" title="accueil" alt="screenshot"}}
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous disposez de plusieurs postes connectés.
{{image url="/_extra_/mamecab25.jpg" title="accueil" alt="screenshot"}}
Installation du chargeur de démarrage GRUB
{{image url="/_extra_/mamecab26.jpg" title="accueil" alt="screenshot"}}
Fin de l'installation
{{image url="/_extra_/mamecab27.jpg" title="accueil" alt="screenshot"}}
Retirer le CDROM avant le re-démarrage
{{image url="/_extra_/mamecab28.jpg" title="accueil" alt="screenshot"}}
Reboot
{{image url="/_extra_/mamecab29.jpg" title="accueil" alt="screenshot"}}
Moment émouvant du premier boot ;-)
{{image url="/_extra_/mamecab30.jpg" title="accueil" alt="screenshot"}}
Bienvenue!
@@
Pour simplifier les choses dans la suite mon installation, j'utilise une connexion distante par SSH depuis un poste de travail, libre à vous de continuer sur la machine locale.
Pour établir une connexion SSH distante, il faut récupérer l'adresse IP de la borne (passez cette étape si vous avez spécifié une IP fixe):
- il faut se connecter en tant qu'usager "root" et saisir le mot de passe que vous avez bien noté lors de l'installation,
- taper ##ifconfig## pour obtenir l'adresse IP de la machine sur le réseau. Ici ##192.168.100.233##, à remplacer par la vôtre dans la suite du document.
@@
{{image url="/_extra_/mamecab31.jpg" title="accueil" alt="screenshot"}}
@@
==== IV. CONNEXION DISTANTE ====
Sur mon poste de travail, je peux dès lors me connecter via SSH sur la borne (à l'adresse récupérée ci-dessus) avec la commande "ssh utilisateur@machine":
%%
ludo@kanumera:~$ ssh root@192.168.100.223
The authenticity of host '192.168.100.223 (192.168.100.223)' can't be established.
RSA key fingerprint is f9:ed:b1:36:8a:dd:bd:e6:6d:5c:38:42:0e:5a:d5:c0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.223' (RSA) to the list of known hosts.
root@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 22 15:48:24 2011
/usr/bin/xauth: creating new authority file /root/.Xauthority
root@mamecab:~#
%%
{{image class="center" alt="funny" title="I see dead ppl" url="http://www.tilt.it/flipper_pinball/wp-content/uploads/2009/09/i_see_dead_people.gif" width="480" height="405"}}
==== V. PARTAGE DE FICHIERS ====
Je vais activer le partage de fichiers avec SAMBA avec authentification. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
%%
root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig
%%
Puis j'édite ce fichier:
%%
root@mamecab:~# pico /etc/samba/smb.conf
%%
Dé-commenter la ligne n°102 (enlever le "#") en s'y rendant avec le raccourci #%CTRL#%+#%_#% :
%%(ini;96;/etc/samba/smb.conf)
####### Authentication #######
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
# security = user
%%
modifié en:
%%(ini;102;/etc/samba/smb.conf)
security = user
%%
Et passer le partage des dossiers utilisateurs en mode lecture/écriture (ligne 242) :
%%(ini;234;/etc/samba/smb.conf)
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = yes
%%
modifié:
%%(ini;242;/etc/samba/smb.conf)
read only = no
%%
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico".
Répondre "O" à la question de l'éditeur: "//Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ?//", et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Demander à SAMBA de recharger sa configuration:
%%
root@mamecab:~# /etc/init.d/samba reload
Reloading /etc/samba/smb.conf: smbd only.
%%
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le passe sans qu'il s'affiche à l'écran) :
%%
root@mamecab:~# smbpasswd -a puckman
New SMB password:
Retype new SMB password:
Added user puckman.
%%
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple).
Ici, je fais le test depuis la propre borne (pas très utile mais ça fonctionne) :
%%
root@mamecab:~# smbclient -U puckman //localhost/puckman
Enter puckman's password:
Domain=[LUDOMATIC] OS=[Unix] Server=[Samba 3.5.6]
smb: \> dir
. D 0 Tue Mar 22 12:06:45 2011
.. D 0 Tue Mar 22 12:04:34 2011
.bash_logout H 220 Tue Mar 22 12:04:34 2011
.bashrc H 3184 Tue Mar 22 12:04:34 2011
.bash_history H 23 Tue Mar 22 12:06:45 2011
.profile H 675 Tue Mar 22 12:04:34 2011
61026 blocks of size 65536. 43188 blocks available
smb: \> exit
%%
ou depuis le poste de travail:
@@{{image url="/_extra_/mamecab_dolphin.jpg" title="samba" alt="screenshot"}}@@
==== VI. MAME ====
=== VI.a Préparation des outils ===
Avant d'installer MAME ou même les outil dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##:
%%
root@mamecab:~# aptitude update
Atteint http://ftp.nc.debian.org squeeze Release.gpg
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-fr
Atteint http://ftp.nc.debian.org squeeze-updates Release.gpg
Prendre : 1 http://security.debian.org squeeze/updates Release.gpg [835 B]
Ign http://security.debian.org/ squeeze/updates/main Translation-en
Ign http://security.debian.org/ squeeze/updates/main Translation-fr
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-fr
Prendre : 2 http://security.debian.org squeeze/updates Release [38,4 kB]
Atteint http://ftp.nc.debian.org squeeze Release
Atteint http://ftp.nc.debian.org squeeze-updates Release
Atteint http://ftp.nc.debian.org squeeze/main Sources
Atteint http://ftp.nc.debian.org squeeze/main i386 Packages
Atteint http://ftp.nc.debian.org squeeze-updates/main Sources/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages
Atteint http://security.debian.org squeeze/updates/main Sources
Prendre : 3 http://security.debian.org squeeze/updates/main i386 Packages [68,8 kB]
108 ko téléchargés en 2s (43,8 ko/s)
%%
{{image class="right" alt="Frankenstein" title="tout va bien se passer" url="http://vectorcade.net/frankenstein.jpg" width="150" height="120"}}Une fois la liste des paquets disponibles à jour, nous installerons:
- ##unzip## pour décompresser le fichier des sources MAME,
- ##build-essential## pour compiler depuis les sources le binaire MAME,
- ##libsdl1.2debian## et son paquet de développement ##libsdl1.2-dev## car la version MAME pour Linux utilise la librairie SDL (affichage vidéo, périphériques de contrôle, son, etc.),
- ##libsdl-ttf2.0-0## et ##libsdl-ttf2.0-dev## pour permettre à la librairie SDL d'utiliser les polices TrueType,
- ##libexpat1## et ##libexpat1-dev## pour permettre à MAME de parcourir les fichiers XML,
- ##zlib1g## et ##zlib1g-dev## afin que MAME décompresse les fichiers zippés,
- ##libxinerama1## et ##libxinerama-dev## pour l'affichage et la gestion des écrans multiples,
- ##libgconf2-4## et ##libgconf2-dev## permettant à MAME de gérer les préférences des applications,
- ##libgtk2.0-0## et ##libgtk2.0-dev## permettant d'utiliser l'interface GTK+.
Rien que ça..? Oui :) Et en une ligne de commande:
%%
root@mamecab:~# aptitude install unzip build-essential libsdl1.2debian libsdl1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
Les NOUVEAUX paquets suivants vont être installés :
autopoint{a} build-essential bzip2{a} dbus-x11{a} debhelper{a} defoma{a} dpkg-dev{a} esound-common{a}
fontconfig{a} fontconfig-config{a} g++{a} g++-4.4{a} gconf2{a} gconf2-common{a} gettext{a} git{a}
hicolor-icon-theme{a} html2text{a} intltool-debian{a} libaa1{a} libaa1-dev{a} libalgorithm-diff-perl{a}
[...]
x11proto-xext-dev{a} x11proto-xinerama-dev{a} xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 164 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 63,9 Mo/64,1 Mo d'archives. Après dépaquetage, 190 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main x11proto-core-dev all 7.0.16-1 [92,2 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libice-dev i386 2:1.0.6-2 [58,5 kB]
[...]
Paramétrage de g++ (4:4.4.5-1) ...
update-alternatives: utilisation de « /usr/bin/g++ » pour fournir « /usr/bin/c++ » (c++) en mode automatique.
Paramétrage de build-essential (11.5) ...
%%
N'ayant plus de tâches administratives à effectuer pour le moment, il faut quitter l'accès super-utilisateur et se connecter avec l'utilisateur ##puckman##. On peut effectuer une nouvelle connexion depuis la machine de bureau:
%%
ludo@kanumera:~$ ssh puckman@192.168.100.223
puckman@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
/usr/bin/xauth: creating new authority file /home/puckman/.Xauthority
puckman@mamecab:~$
%%
ou alors passer à l'utilisateur ##puckman## depuis le super-utilisateur ##root##:
%%
root@mamecab:~# su - puckman
puckman@mamecab:~$
%%
Oui oui, on arrive enfin à la partie MAME :)
=== VI.b Récupération des sources MAME ===
Préparer le dossier de travail:
%%
puckman@mamecab:~$ mkdir sources
puckman@mamecab:~$ cd sources
puckman@mamecab:~/sources$
%%
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html (pour ma part la version actuelle est la 0.141 : http://mamedev.org/downloader.php?file=releases/mame0141s.zip)
%%
puckman@mamecab:~/sources$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/downloader.php?file=releases/mame0141s.zip" -O mame0141s.zip
--2011-03-22 22:36:06-- http://mamedev.org/downloader.php?file=releases/mame0141s.zip
Resolving mamedev.org... 67.210.100.31
Connecting to mamedev.org|67.210.100.31|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://mamedev.thiswebhost.com/releases/mame0141s.zip [following]
--2011-03-22 22:36:07-- http://mamedev.thiswebhost.com/releases/mame0141s.zip
Resolving mamedev.thiswebhost.com... 67.225.136.222
Connecting to mamedev.thiswebhost.com|67.225.136.222|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17092788 (16M) [application/zip]
Saving to: `mame0141s.zip'
13% [======> ] 2,385,353 76.3K/s eta 4m 12s
%%
On décompresse le fichier ZIP téléchargé:
%%
puckman@mamecab:~/sources$ ls
mame0141s.zip
puckman@mamecab:~/sources$ unzip mame0141s.zip
Archive: mame0141s.zip
inflating: mame.zip
puckman@mamecab:~/sources$ ls
mame0141s.zip mame.zip
%%
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous le décompresserons dans un dossier nommé ##mame0141## pour bien séparer les choses:
%%
puckman@mamecab:~/sources$ unzip mame.zip -d mame0141
Archive: mame.zip
creating: mame0141/docs/
extracting: mame0141/docs/config.txt
extracting: mame0141/docs/license.txt
[...]
extracting: mame0141/src/version.c
extracting: mame0141/whatsnew.txt
puckman@mamecab:~/sources$ ls
mame0141 mame0141s.zip mame.zip
%%
{{image class="center" alt="funny" title="Le Roi Kong" url="http://www.theawl.com/wp-content/uploads/2010/05/Screen-shot-2010-05-13-at-10.06.03-AM-350x263.png" width="350" height="263"}}
Tout s'est bien déroulé, **rendez-vous dans le dossier ##mame0141## avant de passer à la suite**:
%%
puckman@mamecab:~/sources$ cd mame0141
puckman@mamecab:~/sources/mame0141$ ls
docs makefile src whatsnew.txt
%%
=== VI.c Construction du binaire ===
>>Note 1: Je lance un ##make clean## quand cela est possible pour nettoyer toute trace d'une précédente compilation.
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)>> Le dossier ##mame0141## contient maintenant les sources MAME 0.141 avec un fichier ##makefile## qui va permettre à l'ensemble des utilitaires de fonctionner de concert pour produire l'exécutable ##mame## avec différentes options selon votre système. N'hésitez pas à consulter le contenu du fichier ##makefile## si vous en avez envie!
La compilation qui suit va prendre pas mal de temps, c'est le moment de la B.A. du jour: rangement du bureau!
%%
puckman@mamecab:~/sources/mame0141$ make clean
Deleting object tree obj/sdl/mame...
Deleting mame...
Deleting testkeys romcmp chdman jedutil unidasm ldresample ldverify regrep srcclean src2html split ...
puckman@mamecab:~/sources/mame0141$ make
mkdir -p obj/sdl/mame
mkdir -p obj/sdl/mame/build
mkdir -p obj/sdl/mame/emu/audio
[...]
Compiling src/emu/cpu/z8/z8dasm.c...
Compiling src/emu/cpu/superfx/sfx_dasm.c...
Archiving obj/sdl/mame/libdasm.a...
Linking mame...
%%
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source/mame0141/##:
%%
puckman@mamecab:~/sources/mame0141$ ls
docs makefile mame obj src whatsnew.txt
%%
Pour éviter de tout mélanger, nous laisserons les sources de côté et copierons le binaire ##mame## dans un dossier ##/home/puckman/mame/##. Nous y placerons également la configuration de MAME, les ROMs, snapshots, sauvegardes, etc., bref ce sera le dossier principal de MAME:
%%
puckman@mamecab:~/sources/mame0141$ mkdir /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cp ./mame /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cd /home/puckman/mame/
puckman@mamecab:~/mame$ ls
mame
%%
À partir de maintenant, nous travaillerons donc **dans le dossier ##/home/puckman/mame##** ou ##/home/nom_utilisateur/mame## selon votre installation.
{{image class="center" alt="funny" title="be prepared" url="http://brachinus.files.wordpress.com/2009/02/space-invaders-planning-session-1471-1235426202-20.jpg" width="253" height="181"}}
=== VI.d Configuration ===
Commençons par générer le fichier XML contenant l'ensemble des ROMs utilisables par cette version 0.141 (patience, cela peut prendre un peu de temps):
%%
puckman@mamecab:~/mame$ ./mame -listxml > mameinfo.xml
puckman@mamecab:~/mame$ ls
mame mameinfo.xml
%%
>>Pour les touches par défaut, voir par exemple [[http://wahki.mameau.com/index.php?title=File:Typical_mame_controls.jpg ici]], [[http://moosevalley.solidwebhost.com/pics/MAME_Keyboard_Map.gif là]] ou [[http://mamedev.org/devwiki/index.php/FAQ:Controls ceci]].>>Par défaut, le clavier //anglais// est pris en charge. Comme il faut utiliser par exemple les touches #%1#% et #%5#% au dessus des lettres (pas celle du pavé numérique) pour le bouton "START" et les "CREDITS" du joueur 1, nous devons utiliser un mappage de touches correspondant au clavier //français//. Copions les fichiers de configuration du clavier depuis dossier des sources MAME vers le dossier ##keymaps##:
%%
puckman@mamecab:~/mame$ cp -vr /home/puckman/sources/mame0141/src/osd/sdl/keymaps ./
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps » -> « ./keymaps »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km_it.txt » -> « ./keymaps/km_it.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-be.txt » -> « ./keymaps/km-be.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-ch.txt » -> « ./keymaps/km-ch.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-de.txt » -> « ./keymaps/km-de.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-fr-OSX.txt » -> « ./keymaps/km-fr-OSX.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-fr.txt » -> « ./keymaps/km-fr.txt »
puckman@mamecab:~/mame$ ls keymaps
km-be.txt km-ch.txt km-de.txt km-fr-OSX.txt km-fr.txt km_it.txt
%%
Générons ensuite le fichier de configuration ##mame.ini##:
%%
puckman@mamecab:~/mame$ ./mame -createconfig
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini
%%
Et éditons-le afin de vérifier au minimum le chemin des ROMs, le mode vidéo et de définir le clavier français:
%%
puckman@mamecab:~/mame$ pico mame.ini
%%
Les ROMs seront donc par défaut recherchées dans le dossier ##roms## d'où est exécuté MAME. Nous le créerons dans le prochain chapitre :
%%(text;9;mame.ini)
#
# CORE SEARCH PATH OPTIONS
#
rompath roms
%%
Et la vidéo est gérée par la couche logicielle, sans prise en charge d'accélération OpenGL (très bien pour un premier lancement!):
%%(text;163;mame.ini)
#
# VIDEO OPTIONS
#
video soft
%%
Activons les code clavier spécifiques pour passer le clavier en français:
%%(text;245;mame.ini)
#
# SDL KEYBOARD MAPPING
#
keymap 1
keymap_file keymaps/km-fr.txt
%%
{{image class="center" alt="funny" title="IIIII IIIII II" url="http://www.dragonslairfans.com/pictures/fun/si.jpg" width="314" height="224"}}
=== VI.e Les ROMs ===
Nous y voilà, commençons par créer le dossier des ROMs comme paramétré dans le fichier de configuration ##mame.ini## vu ci-dessus:
%%
puckman@mamecab:~/mame$ mkdir roms
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini roms
%%
Quelques éditeurs ont libéré les droits de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces bonnes initiatives nous allons pouvoir lancer nos premiers jeux!
La plupart de ces ROMs sont tout simplement regroupées dans [[http://mamedev.org/roms/ la section "roms" du site officiel de MAME]]. Récupérons par exemple l'excellent [[http://mamedev.org/roms/teetert/ Teeter Torture]] (Exidy) et [[http://mamedev.org/roms/gridlee/ Gridlee]] (Videa) depuis le dossier ##roms##:
%%
puckman@mamecab:~/mame$ cd roms
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/teetert/teetert.zip"
--2011-03-25 08:37:52-- http://mamedev.org/roms/teetert/teetert.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 24907 (24K) [application/zip]
Sauvegarde en : «teetert.zip»
100%[=============================================================================>] 24 907 14,3K/s ds 1,7s
2011-03-25 08:37:55 (14,3 KB/s) - «teetert.zip» sauvegardé [24907/24907]
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/gridlee/gridlee.zip"
--2011-03-25 08:38:24-- http://mamedev.org/roms/gridlee/gridlee.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 26154 (26K) [application/zip]
Sauvegarde en : «gridlee.zip»
100%[=============================================================================>] 26 154 24,8K/s ds 1,0s
2011-03-25 08:38:26 (24,8 KB/s) - «gridlee.zip» sauvegardé [26154/26154]
%%
Vérifions que les ROMs sont bien là et quittons le dossier ##roms## sans décompresser les ZIP, MAME va s'en charger à la volée lors du lancement du jeu:
%%
puckman@mamecab:~/mame/roms$ ls
gridlee.zip teetert.zip
puckman@mamecab:~/mame/roms$ cd ..
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini roms
%%
==== VII. SERVEUR X ====
=== VII.a Installation ===
{{image class="right" alt="wake up" title="mameclockcab" url="http://8.mshcdn.com/wp-content/gallery/retro-gaming/arcade_picnik.jpg" width="180" height="180"}} Il est nécessaire d'installer un serveur graphique minimal appelé "serveur X", sans pour autant charger barre des tâches et autres menus (pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc). Nous aurons par ailleurs besoin de quelques outils et dépendances:
- ##xserver-xorg-core##, le serveur X "[[http://www.x.org/wiki/ X.Org]]"
- ##xfonts-base## et ""ttf-liberation"" fournissant des jeux de police TrueType par défaut et Libres
- ##xterm## pour avoir un terminal graphique
- ##xinit## qui fourni le lanceur de session graphique ##startx##
- ##x11-xserver-utils## regroupant de nombreux utilitaires pour X
Ces installations se font avec le compte ##root##, passer en mode "super-utilisateur" au préalable avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
%%
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install xserver-xorg-core xfonts-base ttf-liberation xterm xinit x11-xserver-utils
Les NOUVEAUX paquets suivants vont être installés :
libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} ttf-liberation x11-utils{a}
x11-xserver-utils xbitmaps{a} xinit xterm
0 paquets mis à jour, 9 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 1 019 ko d'archives. Après dépaquetage, 3 486 ko seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libxcb-atom1 i386 0.3.6-1 [9 526 B]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libxv1 i386 2:1.0.5-1 [17,1 kB]
[...]
%%
Une fois le serveur X installé, n'oublions surtout pas de **quitter le compte ##root##** avec la commande ##exit##:
%%
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
%%
**Note sur la prise en charge d'OpenGL**: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], {{color hex="#dd0000" text="Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D"}}. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
=== VII.b Premier lancement MAME ===
>>Attention, ous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>> Ceux qui ont suivi jusque là l'ont bien mérité, il est temps de lancer MAME! Nous allons donc exécuter la commande manuelle ##startx## pour lancer notre environnement graphique (oui, on aura même un curseur de souris) puis ##mame##:
%%
puckman@mamecab:~/mame$ startx
%%
>>Cliquer avec la souris sur la ligne de texte si vous ne pouvez rien écrire, le focus n'est alors pas sur le terminal.>> Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le //fameux// ##xterm## installé précédemment. Rien de bien sensationnel pour le moment mais tout ce travail effectué va bientôt payer!
Il faut définir la résolution graphique avec l'utilitaire ##xrandr##. Nous passerons en 640x480, largement suffisant pour les jeux d'arcade. Si vous choisissez une autre dimension, note-là bien car nous nous baserons dessus un peu plus bas dans ce tuto lors de l'installation du front-end:
%%
puckman@mamecab:~/mame$ xrandr -s 640x480
%%
Une fois la résolution définie, il est temps de lancer notre émulateur préféré (roulement de tambour...):
%%
puckman@mamecab:~/mame$ ./mame
%%
@@
{{image url="/_extra_/mamecab_xorg01.jpg" title="mame" alt="screenshot"}}
Bienvenue sur MAME! Vous devriez obtenir l'interface d'accueil avec le choix des jeux qu'il a trouvé.
Vous pouvez utiliser les flèches #%HAUT#%/#%BAS#%, #%ENTREE#% pour lancer le jeu et #%ECHAP#% pour quitter.
{{image url="/_extra_/mamecab_xorg02.jpg" title="mame" alt="screenshot"}}
Avertissement. Vous pouvez le passer en saisissant #%o#% puis #%k#% ou les flèches #%GAUCHE#% puis #%DROITE#%.
{{image url="/_extra_/mamecab_xorg03.jpg" title="mame" alt="screenshot"}}
Les informations sur l'émulation audio, CPU et vidéo. Remarquez la résolution 256x256 en 60Hz.
{{image url="/_extra_/mamecab_xorg04.jpg" title="mame" alt="screenshot"}}
LE PREMIER JEU MAME, woohoo!!
{{image url="/_extra_/mamecab_xorg05.jpg" title="mame" alt="screenshot"}}
Il n'y a pas que le boulot dans la vie! je vous laisse un moment de détente avec //X// et la vidéo //soft//...
#%ECHAP#% pour quitter.
@@
Il est également possible de lancer directement un jeu sans passer par le menu de MAME. Pour cela il faut spécifier le nom de l'archive ZIP sans l'extension, par exemple:
%%
puckman@mamecab:~/mame$ ./mame teetert
%%
Après avoir quitté MAME, nous devons sortir de l'environnement X avec la commande ##exit##:
%%
puckman@mamecab:~/mame$ exit
%%
==== VIII. EXTRAS ====
=== VIII.a Catégories ===
Le fichier des catégories ##catver.ini## est avec le fichier descriptif des ROMs ##mameinfo.xml## un des fichiers clés permettant de gérer les ROMs. Procédons à la récupération de l'archive ZIP le contenant **dans un dossier temporaire** ##/tmp##:
%%
puckman@mamecab:~/mame$ cd /tmp
puckman@mamecab:/tmp$ wget "http://www.progettoemma.net/public/ccount/click.php?id=6" -O catver.zip
--2011-03-25 14:38:55-- http://www.progettoemma.net/public/ccount/click.php?id=6
Résolution de www.progettoemma.net... 62.149.130.187
Connexion vers www.progettoemma.net|62.149.130.187|:80...connecté.
requête HTTP transmise, en attente de la réponse...302 Moved Temporarily
Emplacement: http://www.progettoemma.net/public/cat/catveren.zip [suivant]
--2011-03-25 14:38:56-- http://www.progettoemma.net/public/cat/catveren.zip
Réutilisation de la connexion existante vers www.progettoemma.net:80.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 106438 (104K) [application/x-zip-compressed]
Sauvegarde en : «catver.zip»
100%[=============================================================================>] 106 438 19,7K/s ds 5,3s
2011-03-25 14:39:02 (19,7 KB/s) - «catver.zip» sauvegardé [106438/106438]
%%
On extrait de l'archive le fichier ##catver.ini## que l'on copie dans le dossier MAME. Attention, on va en profiter pour renommer le fichier en lettres minuscules, la casse est très importante!
%%
puckman@mamecab:/tmp$ unzip catver.zip
Archive: catver.zip
inflating: Catver.ini
inflating: leggimi.txt
inflating: readme.txt
puckman@mamecab:/tmp$ cp Catver.ini ~/mame/catver.ini
%%
{{image class="center" alt="funny" title="Winner" url="http://www.jokeemail.com/pictures/arcade.jpg" width="200" height="157"}}
=== VIII.b Historique ===
Récupérons le fichier ##history.dat## contenant les informations à présenter sur le jeu en cours. Nous devrons [[http://www.arcade-history.com/index.php?page=download télécharger un fichier ZIP]] dans le dossier temporaire et déplacer le fichier extrait dans le dossier de MAME:
%%
puckman@mamecab:/tmp$ wget "http://www.arcade-history.com/dats/mamehistory141.zip"
--2011-03-25 19:27:42-- http://www.arcade-history.com/dats/mamehistory141.zip
Résolution de www.arcade-history.com... 84.16.84.51
Connexion vers www.arcade-history.com|84.16.84.51|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 2583551 (2,5M) [application/zip]
Sauvegarde en : «mamehistory141.zip»
100%[========================================================>] 2 583 551 63,9K/s ds 32s
2011-03-25 19:28:14 (78,6 KB/s) - «mamehistory141.zip» sauvegardé [2583551/2583551]
puckman@mamecab:/tmp$ unzip mamehistory141.zip
Archive: mamehistory141.zip
inflating: history.dat
inflating: readhist.txt
puckman@mamecab:/tmp$ mv history.dat ~/mame/
%%
=== VIII.c Illustrations ===
todo: ~/mame/snaps, ~/mame/marquees, ~/mame/cpanel
cf: http://mrdo.mameworld.info/mame_artwork_frontend.html
=== VIII.d Contrôleurs ===
Je n'ai pu trouver que la version 0.111 du fichier ##controls.ini## qui décrit les contrôleurs affectés à chaque jeu. Comme il ne s'agit pas d'une archive mais directement du fichier à télécharger, nous pouvons le faire **directement depuis le dossier de MAME**:
%%
puckman@mamecab:/tmp$ cd ~/mame
puckman@mamecab:~/mame$ wget "http://dl.maximumpc.com/galleries/mame/controls.ini"
--2011-03-25 21:59:08-- http://dl.maximumpc.com/galleries/mame/controls.ini
Résolution de dl.maximumpc.com... 60.254.175.41, 60.254.175.42
Connexion vers dl.maximumpc.com|60.254.175.41|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 496585 (485K) [text/plain]
Sauvegarde en : «controls.ini»
100%[========================================================>] 496 585 129K/s ds 3,8s
2011-03-25 21:59:12 (129 KB/s) - «controls.ini» sauvegardé [496585/496585]
puckman@mamecab:~/mame$ ls
catver.ini cfg controls.ini history.dat mame mameinfo.xml mame.ini nvram roms
%%
==== IX. WAH!CADE ====
{{image class="left" alt="lol" title="mariage" url="http://www.stickfreaks.com/images/cake1.jpg" width="120" height="120"}} Bien que MAME seul soit parfaitement capable de lancer les jeux depuis sa propre liste, il est préférable d'utiliser un "front-end". Son travail est de vous montrer les jeux disponibles avec captures d'écrans, animations vidéo, catégories, tri et divers filtres. Certains vont même jusqu'à gérer différents émulateurs à la fois (MAME, ZSnes, Gens, etc.), un mode Juke Box, des skins, etc. Bref, dans le souci de toujours bien séparer les choses, je vous propose d'installer le front-end [[http://www.anti-particle.com/wahcade.shtml Wah!Cade]], version libre de MAMEWah. Vous trouverez [[http://www.anti-particle.com/wahcade_scr.shtml quelques captures d'écran ici]].
=== IX.a Installation ===
Wah!cade fournit gracieusement un paquet d'installation pour Debian. Nous devons toutefois installer au préalable les librairies Python nécessaires au fonctionnement de Wah!cade en tant que "super-utilisateur" ##root##:
%%
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install python-gtk2 python-chardet python-imaging python-glade2 python-gst0.10 python-pygame
Les NOUVEAUX paquets suivants vont être installés :
libblas3gf{a} libffi5{a} libgfortran3{a} libglade2-0{a} libgstreamer-plugins-base0.10-0{a} libgstreamer0.10-0{a}
liblapack3gf{a} liblcms1{a} libmikmod2{a} libpython2.6{a} libsdl-image1.2{a} libsdl-mixer1.2{a} libsmpeg0{a}
libvorbisfile3{a} python-cairo{a} python-chardet python-glade2 python-gobject{a} python-gst0.10 python-gtk2
python-imaging python-libxml2{a} python-numpy{a} python-pygame ttf-freefont{a}
0 paquets mis à jour, 25 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 15,9 Mo d'archives. Après dépaquetage, 46,9 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libgfortran3 i386 4.4.5-8 [238 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libblas3gf i386 1.2-8 [211 kB]
[...]
%%
Passons à Wah!cade: la version actuelle de Wah!cade que je vais télécharger est la "0.99pre8". Vérifiez la version disponible sur [[http://www.anti-particle.com/wahcade_dl.shtml la page de téléchargement]] et adaptez au besoin:
%%
root@mamecab:~# wget -c "http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb"
--2011-03-25 11:11:09-- http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb
Résolution de www.anti-particle.com... 83.170.91.181
Connexion vers www.anti-particle.com|83.170.91.181|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 859782 (840K) [text/plain]
Sauvegarde en : «wahcade_0.99pre8_all.deb»
100%[=============================================================================>] 859 782 97,3K/s ds 12s
2011-03-25 11:21:29 (73,0 KB/s) - «wahcade_0.99pre8_all.deb» sauvegardé [859782/859782]
%%
L'installation se déroule très rapidement en spécifiant manuellement le paquet que l'on vient de télécharger:
%%
root@mamecab:~# dpkg -i wahcade_0.99pre8_all.deb
Sélection du paquet wahcade précédemment désélectionné.
(Lecture de la base de données... 49679 fichiers et répertoires déjà installés.)
Dépaquetage de wahcade (à partir de wahcade_0.99pre8_all.deb) ...
Paramétrage de wahcade (0.99pre8) ...
%%
Une fois le paquet installé, n'oublions surtout pas de supprimer le paquet d'installation et surtout **quitter le compte ##root##** avec la commande ##exit##:
%%
root@mamecab:~# rm -f wahcade_0.99pre8_all.deb
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
%%
=== IX.b Configuration ===
La configuration peut se faire dans l'environnement graphique. Lançons à nouveau le serveur X manuellement:
%%
puckman@mamecab:~/mame$ startx
%%
Vous devez être sous environnement graphique dans le terminal X ##xterm##. Continuons avec ##wahcade-setup##:
%%
puckman@mamecab:~/mame$ wahcade-setup
%%
La fenêtre se lance mais sans bordures ni titre de fenêtre. Pas de panique, c'est normal car on n'a pas installé de gestionnaire de fenêtre (KDE, GNOME, etc.) mais qui en a besoin sur une borne? Je vous ai mis les capture d'écran ci-dessous avec les champs à vérifier:
@@
{{image url="/_extra_/mamecab_wahcfg01.jpg" title="configuration" alt="screenshot"}}
Cliquez sur l'onglet "Emulators", puis dans la zone de saisie "Application" il faut renseigner le chemin vers le
binaire MAME. Vous pouvez saisir ##/home/puckman/mame/mame## ou plus simplement utiliser le
raccourci "~" qui pointe automatiquement vers le dossier de votre utilisateur courant, à savoir
"/home/puckman/" dans notre cas. Ce qui donne en version courte ##~/mame/mame##!
{{image url="/_extra_/mamecab_wahcfg03.jpg" title="configuration" alt="screenshot"}}
Plus bas dans "List Generation" saisir le chemin vers les ROMs ##~/mame/roms/##
{{image url="/_extra_/mamecab_wahcfg04.jpg" title="configuration" alt="screenshot"}}
Toujours dans l'onglet "Emulators", dans la section "Artwork", renseignez dans l'ordre les chemins vers
les captures d'écran ##~/mame/snaps##, les panneaux de contrôle ##~/mame/cpanel## puis les
bandeaux lumineux ##~/mame/marquees##
{{image url="/_extra_/mamecab_wahcfg02.jpg" title="configuration" alt="screenshot"}}
Passer ensuite sur l'onglet "M.A.M.E. Only" et faites travailler vos petits doigts agiles:
##~/mame/mameinfo.xml## pour le fichier XML, ##~/mame/catver.ini## pour les catégories,
##~/mame/history.dat## pour l'historique des jeux puis ##~/mame/controls.ini## pour les contrôleurs.
{{image url="/_extra_/mamecab_wahcfg05.jpg" title="configuration" alt="screenshot"}}
Sauvons ensuite tout cela par le menu ##File## et ##Enregistrer##. Puis ##Quitter## pour sortir proprement.
@@
todo: parcourir "~/.wahcade/layouts/" pour trouver le layout adapté à la résolution ("xrandr -s 640x480" sous X) et le définir dans la configuration. Voir pour le plantage sur les filtres MAME.
Après avoir quitté le gestionnaire de configuration, nous devons sortir de l'environnement X avec la commande ##exit##:
%%
puckman@mamecab:~/mame$ exit
%%
==== X. DÉMARRAGE & ARRÊT ====
todo: autostart, passwords, ~/.xsession, 16bits, shutdown, letc.
==== XI. LIENS UTILES ====
todo: liens, faqs, plans, etc.
{{image class="center" alt="funny" title="F*ck" url="http://img237.imageshack.us/img237/5126/tetrisso6.jpg" width="400" height="314"}}
Additions:
{{image class="center" alt="funny" title="Le Roi Kong" url="http://www.theawl.com/wp-content/uploads/2010/05/Screen-shot-2010-05-13-at-10.06.03-AM-350x263.png" width="350" height="263"}}
Additions:
==== X. DÉMARRAGE & ARRÊT ====
todo: autostart, passwords, ~/.xsession, 16bits, shutdown, letc.
==== XI. LIENS UTILES ====
todo: liens, faqs, plans, etc.
todo: autostart, passwords, ~/.xsession, 16bits, shutdown, letc.
==== XI. LIENS UTILES ====
todo: liens, faqs, plans, etc.
Deletions:
todo: autostart, passwords, ~/.xsession, 16bits, shutdown, liens, etc.
Additions:
{{image class="center" alt="funny" title="F*ck" url="http://img237.imageshack.us/img237/5126/tetrisso6.jpg" width="400" height="314"}}
Additions:
{{image class="center" alt="funny" title="Winner" url="http://www.jokeemail.com/pictures/arcade.jpg" width="200" height="157"}}
Additions:
{{image class="center" alt="funny" title="be prepared" url="http://brachinus.files.wordpress.com/2009/02/space-invaders-planning-session-1471-1235426202-20.jpg" width="253" height="181"}}
{{image class="center" alt="funny" title="IIIII IIIII II" url="http://www.dragonslairfans.com/pictures/fun/si.jpg" width="314" height="224"}}
{{image class="center" alt="funny" title="IIIII IIIII II" url="http://www.dragonslairfans.com/pictures/fun/si.jpg" width="314" height="224"}}
Deletions:
Additions:
{{image class="right" alt="NanoCade" title="be prepared" url="http://brachinus.files.wordpress.com/2009/02/space-invaders-planning-session-1471-1235426202-20.jpg" width="506" height="362"}}
Additions:
{{image class="center" alt="funny" title="I see dead ppl" url="http://www.tilt.it/flipper_pinball/wp-content/uploads/2009/09/i_see_dead_people.gif" width="480" height="405"}}
Additions:
Avertissement. Vous pouvez le passer en saisissant #%o#% puis #%k#% ou les flèches #%GAUCHE#% puis #%DROITE#%.
Deletions:
Additions:
>>Pour les touches par défaut, voir par exemple [[http://wahki.mameau.com/index.php?title=File:Typical_mame_controls.jpg ici]], [[http://moosevalley.solidwebhost.com/pics/MAME_Keyboard_Map.gif là]] ou [[http://mamedev.org/devwiki/index.php/FAQ:Controls ceci]].>>Par défaut, le clavier //anglais// est pris en charge. Comme il faut utiliser par exemple les touches #%1#% et #%5#% au dessus des lettres (pas celle du pavé numérique) pour le bouton "START" et les "CREDITS" du joueur 1, nous devons utiliser un mappage de touches correspondant au clavier //français//. Copions les fichiers de configuration du clavier depuis dossier des sources MAME vers le dossier ##keymaps##:
Deletions:
Additions:
>>Pour les touches par défaut, voir par exemple [[http://wahki.mameau.com/index.php?title=File:Typical_mame_controls.jpg ici]] et [[http://moosevalley.solidwebhost.com/pics/MAME_Keyboard_Map.gif là]].>>Par défaut, le clavier //anglais// est pris en charge. Comme il faut utiliser par exemple les touches #%1#% et #%5#% au dessus des lettres (pas celle du pavé numérique) pour le bouton "START" et les "CREDITS" du joueur 1, nous devons utiliser un mappage de touches correspondant au clavier //français//. Copions les fichiers de configuration du clavier depuis dossier des sources MAME vers le dossier ##keymaps##:
Et éditons-le afin de vérifier au minimum le chemin des ROMs, le mode vidéo et de définir le clavier français:
Et éditons-le afin de vérifier au minimum le chemin des ROMs, le mode vidéo et de définir le clavier français:
Deletions:
Et éditons-le afin de vérifier au minimum le chemin des ROMs et le mode vidéo:
Additions:
Conservons le fichier de configuration du clavier français sous le coude, dans le dossier ##keymaps##:
puckman@mamecab:~/mame$ cp -vr /home/puckman/sources/mame0141/src/osd/sdl/keymaps ./
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps » -> « ./keymaps »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km_it.txt » -> « ./keymaps/km_it.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-be.txt » -> « ./keymaps/km-be.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-ch.txt » -> « ./keymaps/km-ch.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-de.txt » -> « ./keymaps/km-de.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-fr-OSX.txt » -> « ./keymaps/km-fr-OSX.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-fr.txt » -> « ./keymaps/km-fr.txt »
puckman@mamecab:~/mame$ ls keymaps
km-be.txt km-ch.txt km-de.txt km-fr-OSX.txt km-fr.txt km_it.txt
Activons les code clavier spécifiques pour passer le clavier en français:
%%(text;245;mame.ini)
# SDL KEYBOARD MAPPING
keymap 1
keymap_file keymaps/km-fr.txt
puckman@mamecab:~/mame$ cp -vr /home/puckman/sources/mame0141/src/osd/sdl/keymaps ./
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps » -> « ./keymaps »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km_it.txt » -> « ./keymaps/km_it.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-be.txt » -> « ./keymaps/km-be.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-ch.txt » -> « ./keymaps/km-ch.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-de.txt » -> « ./keymaps/km-de.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-fr-OSX.txt » -> « ./keymaps/km-fr-OSX.txt »
« /home/puckman/sources/mame0141/src/osd/sdl/keymaps/km-fr.txt » -> « ./keymaps/km-fr.txt »
puckman@mamecab:~/mame$ ls keymaps
km-be.txt km-ch.txt km-de.txt km-fr-OSX.txt km-fr.txt km_it.txt
Activons les code clavier spécifiques pour passer le clavier en français:
%%(text;245;mame.ini)
# SDL KEYBOARD MAPPING
keymap 1
keymap_file keymaps/km-fr.txt
Additions:
>>Cliquer avec la souris sur la ligne de texte si vous ne pouvez rien écrire, le focus n'est alors pas sur le terminal.>> Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le //fameux// ##xterm## installé précédemment. Rien de bien sensationnel pour le moment mais tout ce travail effectué va bientôt payer!
Deletions:
Additions:
<<Cliquer avec la souris si vous ne pouvez rien écrire, le focus n'est pas sur le terminal.<< Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le //fameux// ##xterm## installé précédemment.
Deletions:
Additions:
<<Cliquer avec la souris si le focus n'est pas sur le terminal et que vous ne pouvez rien écrire<< Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le //fameux// ##xterm## installé précédemment.
Il faut définir la résolution graphique avec l'utilitaire ##xrandr##. Nous passerons en 640x480, largement suffisant pour les jeux d'arcade. Si vous choisissez une autre dimension, note-là bien car nous nous baserons dessus un peu plus bas dans ce tuto lors de l'installation du front-end:
puckman@mamecab:~/mame$ xrandr -s 640x480
Une fois la résolution définie, il est temps de lancer notre émulateur préféré (roulement de tambour...):
Il faut définir la résolution graphique avec l'utilitaire ##xrandr##. Nous passerons en 640x480, largement suffisant pour les jeux d'arcade. Si vous choisissez une autre dimension, note-là bien car nous nous baserons dessus un peu plus bas dans ce tuto lors de l'installation du front-end:
puckman@mamecab:~/mame$ xrandr -s 640x480
Une fois la résolution définie, il est temps de lancer notre émulateur préféré (roulement de tambour...):
Deletions:
Additions:
{{image class="left" alt="RIP" title="R.I.P." url="http://img.timeinc.net/time/today_in_pictures/1009/tip_ny_0908_01.jpg" width="180" height="160"}} Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
Deletions:
Additions:
{{image class="left" alt="RIP" title="R.I.P." url="http://img.timeinc.net/time/today_in_pictures/1009/tip_ny_0908_01.jpg" width="160" height="190"}} Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
todo: parcourir "~/.wahcade/layouts/" pour trouver le layout adapté à la résolution ("xrandr -s 640x480" sous X) et le définir dans la configuration. Voir pour le plantage sur les filtres MAME.
todo: autostart, passwords, ~/.xsession, 16bits, shutdown, liens, etc.
todo: parcourir "~/.wahcade/layouts/" pour trouver le layout adapté à la résolution ("xrandr -s 640x480" sous X) et le définir dans la configuration. Voir pour le plantage sur les filtres MAME.
todo: autostart, passwords, ~/.xsession, 16bits, shutdown, liens, etc.
Deletions:
todo: parcourir "~/.wahcade/layouts/" pour trouver le layout adapté à la résolution ("xrandr -s 640x480" sous X) et le définir dans la configuration.
todo: autostart, passwords, etc.
Additions:
Quelques éditeurs ont libéré les droits de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces bonnes initiatives nous allons pouvoir lancer nos premiers jeux!
{{image class="left" alt="lol" title="mariage" url="http://www.stickfreaks.com/images/cake1.jpg" width="120" height="120"}} Bien que MAME seul soit parfaitement capable de lancer les jeux depuis sa propre liste, il est préférable d'utiliser un "front-end". Son travail est de vous montrer les jeux disponibles avec captures d'écrans, animations vidéo, catégories, tri et divers filtres. Certains vont même jusqu'à gérer différents émulateurs à la fois (MAME, ZSnes, Gens, etc.), un mode Juke Box, des skins, etc. Bref, dans le souci de toujours bien séparer les choses, je vous propose d'installer le front-end [[http://www.anti-particle.com/wahcade.shtml Wah!Cade]], version libre de MAMEWah. Vous trouverez [[http://www.anti-particle.com/wahcade_scr.shtml quelques captures d'écran ici]].
{{image class="left" alt="lol" title="mariage" url="http://www.stickfreaks.com/images/cake1.jpg" width="120" height="120"}} Bien que MAME seul soit parfaitement capable de lancer les jeux depuis sa propre liste, il est préférable d'utiliser un "front-end". Son travail est de vous montrer les jeux disponibles avec captures d'écrans, animations vidéo, catégories, tri et divers filtres. Certains vont même jusqu'à gérer différents émulateurs à la fois (MAME, ZSnes, Gens, etc.), un mode Juke Box, des skins, etc. Bref, dans le souci de toujours bien séparer les choses, je vous propose d'installer le front-end [[http://www.anti-particle.com/wahcade.shtml Wah!Cade]], version libre de MAMEWah. Vous trouverez [[http://www.anti-particle.com/wahcade_scr.shtml quelques captures d'écran ici]].
Deletions:
Bien que MAME seul soit parfaitement capable de lancer les jeux depuis sa propre liste, il est préférable d'utiliser un "front-end". Son travail est de vous montrer les jeux disponibles avec captures d'écrans, animations vidéo, catégories, tri et divers filtres. Certains vont même jusqu'à gérer différents émulateurs à la fois (MAME, ZSnes, Gens, etc.), un mode Juke Box, des skins, etc. Bref, dans le souci de toujours bien séparer les choses, je vous propose d'installer le front-end [[http://www.anti-particle.com/wahcade.shtml Wah!Cade]], version libre de MAMEWah. Vous trouverez [[http://www.anti-particle.com/wahcade_scr.shtml quelques captures d'écran ici]].
Additions:
{{image class="right" alt="Frankenstein" title="tout va bien se passer" url="http://vectorcade.net/frankenstein.jpg" width="150" height="120"}}Une fois la liste des paquets disponibles à jour, nous installerons:
{{image class="left" alt="lol" title="mariage" url="http://www.stickfreaks.com/images/cake1.jpg" width="110" height="110"}} Quelques éditeurs ont libéré les droits de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces bonnes initiatives nous allons pouvoir lancer nos premiers jeux!
{{image class="right" alt="wake up" title="mameclockcab" url="http://8.mshcdn.com/wp-content/gallery/retro-gaming/arcade_picnik.jpg" width="180" height="180"}} Il est nécessaire d'installer un serveur graphique minimal appelé "serveur X", sans pour autant charger barre des tâches et autres menus (pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc). Nous aurons par ailleurs besoin de quelques outils et dépendances:
{{image class="left" alt="lol" title="mariage" url="http://www.stickfreaks.com/images/cake1.jpg" width="110" height="110"}} Quelques éditeurs ont libéré les droits de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces bonnes initiatives nous allons pouvoir lancer nos premiers jeux!
{{image class="right" alt="wake up" title="mameclockcab" url="http://8.mshcdn.com/wp-content/gallery/retro-gaming/arcade_picnik.jpg" width="180" height="180"}} Il est nécessaire d'installer un serveur graphique minimal appelé "serveur X", sans pour autant charger barre des tâches et autres menus (pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc). Nous aurons par ailleurs besoin de quelques outils et dépendances:
Deletions:
{{image class="right" alt="Frankenstein" title="tout va bien se passer" url="http://vectorcade.net/frankenstein.jpg" width="150" height="120"}}
Quelques éditeurs ont libéré les droits de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces bonnes initiatives nous allons pouvoir lancer nos premiers jeux!
{{image class="right" alt="wake up" title="mameclockcab" url="http://8.mshcdn.com/wp-content/gallery/retro-gaming/arcade_picnik.jpg" width="90" height="90"}} Il est nécessaire d'installer un serveur graphique minimal appelé "serveur X", sans pour autant charger barre des tâches et autres menus (pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc). Nous aurons par ailleurs besoin de quelques outils et dépendances:
Additions:
{{image class="right" alt="wake up" title="mameclockcab" url="http://8.mshcdn.com/wp-content/gallery/retro-gaming/arcade_picnik.jpg" width="90" height="90"}} Il est nécessaire d'installer un serveur graphique minimal appelé "serveur X", sans pour autant charger barre des tâches et autres menus (pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc). Nous aurons par ailleurs besoin de quelques outils et dépendances:
Deletions:
Additions:
{{image class="right" alt="NanoCade" title="http://www.koenigs.dk/mame/eng/step.htm" url="http://www.koenigs.dk/mame/eng/nanocade64.jpg" width="160" height="190"}} Description de l'installation d'une MAMECab avec:
Document rédigé en Mars 2011. Vous trouverez un [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 premier document]] datant de mi-2008 qui n'est plus à jour.
{{image class="right" alt="Frankenstein" title="tout va bien se passer" url="http://vectorcade.net/frankenstein.jpg" width="150" height="120"}}
Document rédigé en Mars 2011. Vous trouverez un [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 premier document]] datant de mi-2008 qui n'est plus à jour.
{{image class="right" alt="Frankenstein" title="tout va bien se passer" url="http://vectorcade.net/frankenstein.jpg" width="150" height="120"}}
Deletions:
Document rédigé en Mars 2011. Vous trouverez un [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 premier document]] datant de mi-2008 mais qui n'est évidemment plus à jour.
Additions:
Il est également possible de lancer directement un jeu sans passer par le menu de MAME. Pour cela il faut spécifier le nom de l'archive ZIP sans l'extension, par exemple:
puckman@mamecab:~/mame$ ./mame teetert
todo: parcourir "~/.wahcade/layouts/" pour trouver le layout adapté à la résolution ("xrandr -s 640x480" sous X) et le définir dans la configuration.
puckman@mamecab:~/mame$ ./mame teetert
todo: parcourir "~/.wahcade/layouts/" pour trouver le layout adapté à la résolution ("xrandr -s 640x480" sous X) et le définir dans la configuration.
Additions:
===== DEBIAN + MAME + ARCADE BOX = MAMECAB =====
==== I. NOTE ====
Description de l'installation d'une MAMECab avec:
- Un PC qui servira à faire tourner la borne en remplacement de la carte mère d'origine,
- Le système Debian Squeeze
- La compilation de MAME depuis les sources
- L'installation d'un front-end
- Une borne d'arcade d'occasion,
- Quelques tweaks et l'interface avec les différentes entrées/sorties de la borne
Document rédigé en Mars 2011. Vous trouverez un [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 premier document]] datant de mi-2008 mais qui n'est évidemment plus à jour.
==== II. PRÉPARATIFS ====
Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- choisir la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement choisir l'image d'installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai choisi la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Vous voici prêt à installer le système de base!
==== III. SYSTÈME DE BASE ====
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
@@
{{image url="/_extra_/mamecab01.jpg" title="accueil" alt="screenshot"}}
Accueil lors du boot sur le CDROM d'installation de Debian 6.0 Squeeze: j'ai choisi l'installation en mode "console"
{{image url="/_extra_/mamecab02.jpg" title="accueil" alt="screenshot"}}
Choix de la langue
{{image url="/_extra_/mamecab03.jpg" title="accueil" alt="screenshot"}}
Situation géographique
{{image url="/_extra_/mamecab04.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab05.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab06.jpg" title="accueil" alt="screenshot"}}
Chargement des composants et détection du réseau: {{color hex="#DD0000" text="je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une"}}.
{{image url="/_extra_/mamecab07.jpg" title="accueil" alt="screenshot"}}
Choix du nom de la borne: {{color hex="#DD0000" text="notez-le bien si vous le modifiez"}}.
{{image url="/_extra_/mamecab08.jpg" title="accueil" alt="screenshot"}}
Entrez le nom de domaine local
{{image url="/_extra_/mamecab09.jpg" title="accueil" alt="screenshot"}}
Saisie du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
{{image url="/_extra_/mamecab10.jpg" title="accueil" alt="screenshot"}}
Choix de l'utilisateur, je l'ai appelé "puckman": {{color hex="#DD0000" text="notez bien son nom si vous en choisissez un autre"}}.
{{image url="/_extra_/mamecab11.jpg" title="accueil" alt="screenshot"}}
Saisie de son mot de passe
{{image url="/_extra_/mamecab12.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab13.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le partitionnement du disque entier: {{color hex="#DD0000" text="tout le disque sera formaté"}}!
{{image url="/_extra_/mamecab14.jpg" title="accueil" alt="screenshot"}}
Je n'ai qu'un disque à sélectionner
{{image url="/_extra_/mamecab15.jpg" title="accueil" alt="screenshot"}}
J'ai simplement choisi une unique partition pour le système et les données utilisateur
{{image url="/_extra_/mamecab16.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab17.jpg" title="accueil" alt="screenshot"}}
Attention, {{color hex="#DD0000" text="pas de retour en arrière une fois le disque formaté"}}!
{{image url="/_extra_/mamecab18.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab19.jpg" title="accueil" alt="screenshot"}}
Choisir un dépôt de paquets proche de votre lieu géographique
{{image url="/_extra_/mamecab20.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab21.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab22.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils. Concernant les gestionnaire de bureau tels KDE ou GNOME, nous nous contenterons simplement du serveur graphique X.
{{image url="/_extra_/mamecab23.jpg" title="accueil" alt="screenshot"}}
Installation des paquets
{{image url="/_extra_/mamecab24.jpg" title="accueil" alt="screenshot"}}
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous disposez de plusieurs postes connectés.
{{image url="/_extra_/mamecab25.jpg" title="accueil" alt="screenshot"}}
Installation du chargeur de démarrage GRUB
{{image url="/_extra_/mamecab26.jpg" title="accueil" alt="screenshot"}}
Fin de l'installation
{{image url="/_extra_/mamecab27.jpg" title="accueil" alt="screenshot"}}
Retirer le CDROM avant le re-démarrage
{{image url="/_extra_/mamecab28.jpg" title="accueil" alt="screenshot"}}
Reboot
{{image url="/_extra_/mamecab29.jpg" title="accueil" alt="screenshot"}}
Moment émouvant du premier boot ;-)
{{image url="/_extra_/mamecab30.jpg" title="accueil" alt="screenshot"}}
Bienvenue!
@@
Pour simplifier les choses dans la suite mon installation, j'utilise une connexion distante par SSH depuis un poste de travail, libre à vous de continuer sur la machine locale.
Pour établir une connexion SSH distante, il faut récupérer l'adresse IP de la borne (passez cette étape si vous avez spécifié une IP fixe):
- il faut se connecter en tant qu'usager "root" et saisir le mot de passe que vous avez bien noté lors de l'installation,
- taper ##ifconfig## pour obtenir l'adresse IP de la machine sur le réseau. Ici ##192.168.100.233##, à remplacer par la vôtre dans la suite du document.
@@
{{image url="/_extra_/mamecab31.jpg" title="accueil" alt="screenshot"}}
@@
==== IV. CONNEXION DISTANTE ====
Sur mon poste de travail, je peux dès lors me connecter via SSH sur la borne (à l'adresse récupérée ci-dessus) avec la commande "ssh utilisateur@machine":
%%
ludo@kanumera:~$ ssh root@192.168.100.223
The authenticity of host '192.168.100.223 (192.168.100.223)' can't be established.
RSA key fingerprint is f9:ed:b1:36:8a:dd:bd:e6:6d:5c:38:42:0e:5a:d5:c0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.223' (RSA) to the list of known hosts.
root@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 22 15:48:24 2011
/usr/bin/xauth: creating new authority file /root/.Xauthority
root@mamecab:~#
%%
==== V. PARTAGE DE FICHIERS ====
Je vais activer le partage de fichiers avec SAMBA avec authentification. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
%%
root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig
%%
Puis j'édite ce fichier:
%%
root@mamecab:~# pico /etc/samba/smb.conf
%%
Dé-commenter la ligne n°102 (enlever le "#") en s'y rendant avec le raccourci #%CTRL#%+#%_#% :
%%(ini;96;/etc/samba/smb.conf)
####### Authentication #######
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
# security = user
%%
modifié en:
%%(ini;102;/etc/samba/smb.conf)
security = user
%%
Et passer le partage des dossiers utilisateurs en mode lecture/écriture (ligne 242) :
%%(ini;234;/etc/samba/smb.conf)
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = yes
%%
modifié:
%%(ini;242;/etc/samba/smb.conf)
read only = no
%%
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico".
Répondre "O" à la question de l'éditeur: "//Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ?//", et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Demander à SAMBA de recharger sa configuration:
%%
root@mamecab:~# /etc/init.d/samba reload
Reloading /etc/samba/smb.conf: smbd only.
%%
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le passe sans qu'il s'affiche à l'écran) :
%%
root@mamecab:~# smbpasswd -a puckman
New SMB password:
Retype new SMB password:
Added user puckman.
%%
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple).
Ici, je fais le test depuis la propre borne (pas très utile mais ça fonctionne) :
%%
root@mamecab:~# smbclient -U puckman //localhost/puckman
Enter puckman's password:
Domain=[LUDOMATIC] OS=[Unix] Server=[Samba 3.5.6]
smb: \> dir
. D 0 Tue Mar 22 12:06:45 2011
.. D 0 Tue Mar 22 12:04:34 2011
.bash_logout H 220 Tue Mar 22 12:04:34 2011
.bashrc H 3184 Tue Mar 22 12:04:34 2011
.bash_history H 23 Tue Mar 22 12:06:45 2011
.profile H 675 Tue Mar 22 12:04:34 2011
61026 blocks of size 65536. 43188 blocks available
smb: \> exit
%%
ou depuis le poste de travail:
@@{{image url="/_extra_/mamecab_dolphin.jpg" title="samba" alt="screenshot"}}@@
==== VI. MAME ====
=== VI.a Préparation des outils ===
Avant d'installer MAME ou même les outil dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##:
%%
root@mamecab:~# aptitude update
Atteint http://ftp.nc.debian.org squeeze Release.gpg
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-fr
Atteint http://ftp.nc.debian.org squeeze-updates Release.gpg
Prendre : 1 http://security.debian.org squeeze/updates Release.gpg [835 B]
Ign http://security.debian.org/ squeeze/updates/main Translation-en
Ign http://security.debian.org/ squeeze/updates/main Translation-fr
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-fr
Prendre : 2 http://security.debian.org squeeze/updates Release [38,4 kB]
Atteint http://ftp.nc.debian.org squeeze Release
Atteint http://ftp.nc.debian.org squeeze-updates Release
Atteint http://ftp.nc.debian.org squeeze/main Sources
Atteint http://ftp.nc.debian.org squeeze/main i386 Packages
Atteint http://ftp.nc.debian.org squeeze-updates/main Sources/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages
Atteint http://security.debian.org squeeze/updates/main Sources
Prendre : 3 http://security.debian.org squeeze/updates/main i386 Packages [68,8 kB]
108 ko téléchargés en 2s (43,8 ko/s)
%%
Une fois la liste des paquets disponibles à jour, nous installerons:
- ##unzip## pour décompresser le fichier des sources MAME,
- ##build-essential## pour compiler depuis les sources le binaire MAME,
- ##libsdl1.2debian## et son paquet de développement ##libsdl1.2-dev## car la version MAME pour Linux utilise la librairie SDL (affichage vidéo, périphériques de contrôle, son, etc.),
- ##libsdl-ttf2.0-0## et ##libsdl-ttf2.0-dev## pour permettre à la librairie SDL d'utiliser les polices TrueType,
- ##libexpat1## et ##libexpat1-dev## pour permettre à MAME de parcourir les fichiers XML,
- ##zlib1g## et ##zlib1g-dev## afin que MAME décompresse les fichiers zippés,
- ##libxinerama1## et ##libxinerama-dev## pour l'affichage et la gestion des écrans multiples,
- ##libgconf2-4## et ##libgconf2-dev## permettant à MAME de gérer les préférences des applications,
- ##libgtk2.0-0## et ##libgtk2.0-dev## permettant d'utiliser l'interface GTK+.
Rien que ça..? Oui :) Et en une ligne de commande:
%%
root@mamecab:~# aptitude install unzip build-essential libsdl1.2debian libsdl1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
Les NOUVEAUX paquets suivants vont être installés :
autopoint{a} build-essential bzip2{a} dbus-x11{a} debhelper{a} defoma{a} dpkg-dev{a} esound-common{a}
fontconfig{a} fontconfig-config{a} g++{a} g++-4.4{a} gconf2{a} gconf2-common{a} gettext{a} git{a}
hicolor-icon-theme{a} html2text{a} intltool-debian{a} libaa1{a} libaa1-dev{a} libalgorithm-diff-perl{a}
[...]
x11proto-xext-dev{a} x11proto-xinerama-dev{a} xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 164 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 63,9 Mo/64,1 Mo d'archives. Après dépaquetage, 190 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main x11proto-core-dev all 7.0.16-1 [92,2 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libice-dev i386 2:1.0.6-2 [58,5 kB]
[...]
Paramétrage de g++ (4:4.4.5-1) ...
update-alternatives: utilisation de « /usr/bin/g++ » pour fournir « /usr/bin/c++ » (c++) en mode automatique.
Paramétrage de build-essential (11.5) ...
%%
N'ayant plus de tâches administratives à effectuer pour le moment, il faut quitter l'accès super-utilisateur et se connecter avec l'utilisateur ##puckman##. On peut effectuer une nouvelle connexion depuis la machine de bureau:
%%
ludo@kanumera:~$ ssh puckman@192.168.100.223
puckman@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
/usr/bin/xauth: creating new authority file /home/puckman/.Xauthority
puckman@mamecab:~$
%%
ou alors passer à l'utilisateur ##puckman## depuis le super-utilisateur ##root##:
%%
root@mamecab:~# su - puckman
puckman@mamecab:~$
%%
Oui oui, on arrive enfin à la partie MAME :)
=== VI.b Récupération des sources MAME ===
Préparer le dossier de travail:
%%
puckman@mamecab:~$ mkdir sources
puckman@mamecab:~$ cd sources
puckman@mamecab:~/sources$
%%
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html (pour ma part la version actuelle est la 0.141 : http://mamedev.org/downloader.php?file=releases/mame0141s.zip)
%%
puckman@mamecab:~/sources$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/downloader.php?file=releases/mame0141s.zip" -O mame0141s.zip
--2011-03-22 22:36:06-- http://mamedev.org/downloader.php?file=releases/mame0141s.zip
Resolving mamedev.org... 67.210.100.31
Connecting to mamedev.org|67.210.100.31|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://mamedev.thiswebhost.com/releases/mame0141s.zip [following]
--2011-03-22 22:36:07-- http://mamedev.thiswebhost.com/releases/mame0141s.zip
Resolving mamedev.thiswebhost.com... 67.225.136.222
Connecting to mamedev.thiswebhost.com|67.225.136.222|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17092788 (16M) [application/zip]
Saving to: `mame0141s.zip'
13% [======> ] 2,385,353 76.3K/s eta 4m 12s
%%
On décompresse le fichier ZIP téléchargé:
%%
puckman@mamecab:~/sources$ ls
mame0141s.zip
puckman@mamecab:~/sources$ unzip mame0141s.zip
Archive: mame0141s.zip
inflating: mame.zip
puckman@mamecab:~/sources$ ls
mame0141s.zip mame.zip
%%
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous le décompresserons dans un dossier nommé ##mame0141## pour bien séparer les choses:
%%
puckman@mamecab:~/sources$ unzip mame.zip -d mame0141
Archive: mame.zip
creating: mame0141/docs/
extracting: mame0141/docs/config.txt
extracting: mame0141/docs/license.txt
[...]
extracting: mame0141/src/version.c
extracting: mame0141/whatsnew.txt
puckman@mamecab:~/sources$ ls
mame0141 mame0141s.zip mame.zip
%%
Tout s'est bien déroulé, **rendez-vous dans le dossier ##mame0141## avant de passer à la suite**:
%%
puckman@mamecab:~/sources$ cd mame0141
puckman@mamecab:~/sources/mame0141$ ls
docs makefile src whatsnew.txt
%%
=== VI.c Construction du binaire ===
>>Note 1: Je lance un ##make clean## quand cela est possible pour nettoyer toute trace d'une précédente compilation.
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)>> Le dossier ##mame0141## contient maintenant les sources MAME 0.141 avec un fichier ##makefile## qui va permettre à l'ensemble des utilitaires de fonctionner de concert pour produire l'exécutable ##mame## avec différentes options selon votre système. N'hésitez pas à consulter le contenu du fichier ##makefile## si vous en avez envie!
La compilation qui suit va prendre pas mal de temps, c'est le moment de la B.A. du jour: rangement du bureau!
%%
puckman@mamecab:~/sources/mame0141$ make clean
Deleting object tree obj/sdl/mame...
Deleting mame...
Deleting testkeys romcmp chdman jedutil unidasm ldresample ldverify regrep srcclean src2html split ...
puckman@mamecab:~/sources/mame0141$ make
mkdir -p obj/sdl/mame
mkdir -p obj/sdl/mame/build
mkdir -p obj/sdl/mame/emu/audio
[...]
Compiling src/emu/cpu/z8/z8dasm.c...
Compiling src/emu/cpu/superfx/sfx_dasm.c...
Archiving obj/sdl/mame/libdasm.a...
Linking mame...
%%
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source/mame0141/##:
%%
puckman@mamecab:~/sources/mame0141$ ls
docs makefile mame obj src whatsnew.txt
%%
Pour éviter de tout mélanger, nous laisserons les sources de côté et copierons le binaire ##mame## dans un dossier ##/home/puckman/mame/##. Nous y placerons également la configuration de MAME, les ROMs, snapshots, sauvegardes, etc., bref ce sera le dossier principal de MAME:
%%
puckman@mamecab:~/sources/mame0141$ mkdir /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cp ./mame /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cd /home/puckman/mame/
puckman@mamecab:~/mame$ ls
mame
%%
À partir de maintenant, nous travaillerons donc **dans le dossier ##/home/puckman/mame##** ou ##/home/nom_utilisateur/mame## selon votre installation.
=== VI.d Configuration ===
Commençons par générer le fichier XML contenant l'ensemble des ROMs utilisables par cette version 0.141 (patience, cela peut prendre un peu de temps):
%%
puckman@mamecab:~/mame$ ./mame -listxml > mameinfo.xml
puckman@mamecab:~/mame$ ls
mame mameinfo.xml
%%
Générons ensuite le fichier de configuration ##mame.ini##:
%%
puckman@mamecab:~/mame$ ./mame -createconfig
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini
%%
Et éditons-le afin de vérifier au minimum le chemin des ROMs et le mode vidéo:
%%
puckman@mamecab:~/mame$ pico mame.ini
%%
Les ROMs seront donc par défaut recherchées dans le dossier ##roms## d'où est exécuté MAME. Nous le créerons dans le prochain chapitre :
%%(text;9;mame.ini)
#
# CORE SEARCH PATH OPTIONS
#
rompath roms
%%
Et la vidéo est gérée par la couche logicielle, sans prise en charge d'accélération OpenGL (très bien pour un premier lancement!):
%%(text;163;mame.ini)
#
# VIDEO OPTIONS
#
video soft
%%
=== VI.e Les ROMs ===
Nous y voilà, commençons par créer le dossier des ROMs comme paramétré dans le fichier de configuration ##mame.ini## vu ci-dessus:
%%
puckman@mamecab:~/mame$ mkdir roms
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini roms
%%
Quelques éditeurs ont libéré les droits de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces bonnes initiatives nous allons pouvoir lancer nos premiers jeux!
La plupart de ces ROMs sont tout simplement regroupées dans [[http://mamedev.org/roms/ la section "roms" du site officiel de MAME]]. Récupérons par exemple l'excellent [[http://mamedev.org/roms/teetert/ Teeter Torture]] (Exidy) et [[http://mamedev.org/roms/gridlee/ Gridlee]] (Videa) depuis le dossier ##roms##:
%%
puckman@mamecab:~/mame$ cd roms
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/teetert/teetert.zip"
--2011-03-25 08:37:52-- http://mamedev.org/roms/teetert/teetert.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 24907 (24K) [application/zip]
Sauvegarde en : «teetert.zip»
100%[=============================================================================>] 24 907 14,3K/s ds 1,7s
2011-03-25 08:37:55 (14,3 KB/s) - «teetert.zip» sauvegardé [24907/24907]
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/gridlee/gridlee.zip"
--2011-03-25 08:38:24-- http://mamedev.org/roms/gridlee/gridlee.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 26154 (26K) [application/zip]
Sauvegarde en : «gridlee.zip»
100%[=============================================================================>] 26 154 24,8K/s ds 1,0s
2011-03-25 08:38:26 (24,8 KB/s) - «gridlee.zip» sauvegardé [26154/26154]
%%
Vérifions que les ROMs sont bien là et quittons le dossier ##roms## sans décompresser les ZIP, MAME va s'en charger à la volée lors du lancement du jeu:
%%
puckman@mamecab:~/mame/roms$ ls
gridlee.zip teetert.zip
puckman@mamecab:~/mame/roms$ cd ..
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini roms
%%
==== VII. SERVEUR X ====
=== VII.a Installation ===
Il est nécessaire d'installer un serveur graphique minimal appelé "serveur X", sans pour autant charger barre des tâches et autres menus (pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc). Nous aurons par ailleurs besoin de quelques outils et dépendances:
- ##xserver-xorg-core##, le serveur X "[[http://www.x.org/wiki/ X.Org]]"
- ##xfonts-base## et ""ttf-liberation"" fournissant des jeux de police TrueType par défaut et Libres
- ##xterm## pour avoir un terminal graphique
- ##xinit## qui fourni le lanceur de session graphique ##startx##
- ##x11-xserver-utils## regroupant de nombreux utilitaires pour X
Ces installations se font avec le compte ##root##, passer en mode "super-utilisateur" au préalable avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
%%
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install xserver-xorg-core xfonts-base ttf-liberation xterm xinit x11-xserver-utils
Les NOUVEAUX paquets suivants vont être installés :
libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} ttf-liberation x11-utils{a}
x11-xserver-utils xbitmaps{a} xinit xterm
0 paquets mis à jour, 9 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 1 019 ko d'archives. Après dépaquetage, 3 486 ko seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libxcb-atom1 i386 0.3.6-1 [9 526 B]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libxv1 i386 2:1.0.5-1 [17,1 kB]
[...]
%%
Une fois le serveur X installé, n'oublions surtout pas de **quitter le compte ##root##** avec la commande ##exit##:
%%
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
%%
**Note sur la prise en charge d'OpenGL**: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], {{color hex="#dd0000" text="Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D"}}. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
=== VII.b Premier lancement MAME ===
>>Attention, ous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>> Ceux qui ont suivi jusque là l'ont bien mérité, il est temps de lancer MAME! Nous allons donc exécuter la commande manuelle ##startx## pour lancer notre environnement graphique (oui, on aura même un curseur de souris) puis ##mame##:
%%
puckman@mamecab:~/mame$ startx
%%
Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le fameux ##xterm## installé précédemment. Lançons donc enfin notre émulateur préféré:
%%
puckman@mamecab:~/mame$ ./mame
%%
@@
{{image url="/_extra_/mamecab_xorg01.jpg" title="mame" alt="screenshot"}}
Bienvenue sur MAME! Vous devriez obtenir l'interface d'accueil avec le choix des jeux qu'il a trouvé.
Vous pouvez utiliser les flèches #%HAUT#%/#%BAS#%, #%ENTREE#% pour lancer le jeu et #%ECHAP#% pour quitter.
{{image url="/_extra_/mamecab_xorg02.jpg" title="mame" alt="screenshot"}}
Avertissement. Vous pouvez le passer en saisissant "ok" ou les flèches #%GAUCHE#% puis #%DROITE#%.
{{image url="/_extra_/mamecab_xorg03.jpg" title="mame" alt="screenshot"}}
Les informations sur l'émulation audio, CPU et vidéo. Remarquez la résolution 256x256 en 60Hz.
{{image url="/_extra_/mamecab_xorg04.jpg" title="mame" alt="screenshot"}}
LE PREMIER JEU MAME, woohoo!!
{{image url="/_extra_/mamecab_xorg05.jpg" title="mame" alt="screenshot"}}
Il n'y a pas que le boulot dans la vie! je vous laisse un moment de détente avec //X// et la vidéo //soft//...
#%ECHAP#% pour quitter.
@@
Après avoir quitté MAME, nous devons sortir de l'environnement X avec la commande ##exit##:
%%
puckman@mamecab:~/mame$ exit
%%
==== VIII. EXTRAS ====
=== VIII.a Catégories ===
Le fichier des catégories ##catver.ini## est avec le fichier descriptif des ROMs ##mameinfo.xml## un des fichiers clés permettant de gérer les ROMs. Procédons à la récupération de l'archive ZIP le contenant **dans un dossier temporaire** ##/tmp##:
%%
puckman@mamecab:~/mame$ cd /tmp
puckman@mamecab:/tmp$ wget "http://www.progettoemma.net/public/ccount/click.php?id=6" -O catver.zip
--2011-03-25 14:38:55-- http://www.progettoemma.net/public/ccount/click.php?id=6
Résolution de www.progettoemma.net... 62.149.130.187
Connexion vers www.progettoemma.net|62.149.130.187|:80...connecté.
requête HTTP transmise, en attente de la réponse...302 Moved Temporarily
Emplacement: http://www.progettoemma.net/public/cat/catveren.zip [suivant]
--2011-03-25 14:38:56-- http://www.progettoemma.net/public/cat/catveren.zip
Réutilisation de la connexion existante vers www.progettoemma.net:80.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 106438 (104K) [application/x-zip-compressed]
Sauvegarde en : «catver.zip»
100%[=============================================================================>] 106 438 19,7K/s ds 5,3s
2011-03-25 14:39:02 (19,7 KB/s) - «catver.zip» sauvegardé [106438/106438]
%%
On extrait de l'archive le fichier ##catver.ini## que l'on copie dans le dossier MAME. Attention, on va en profiter pour renommer le fichier en lettres minuscules, la casse est très importante!
%%
puckman@mamecab:/tmp$ unzip catver.zip
Archive: catver.zip
inflating: Catver.ini
inflating: leggimi.txt
inflating: readme.txt
puckman@mamecab:/tmp$ cp Catver.ini ~/mame/catver.ini
%%
=== VIII.b Historique ===
Récupérons le fichier ##history.dat## contenant les informations à présenter sur le jeu en cours. Nous devrons [[http://www.arcade-history.com/index.php?page=download télécharger un fichier ZIP]] dans le dossier temporaire et déplacer le fichier extrait dans le dossier de MAME:
%%
puckman@mamecab:/tmp$ wget "http://www.arcade-history.com/dats/mamehistory141.zip"
--2011-03-25 19:27:42-- http://www.arcade-history.com/dats/mamehistory141.zip
Résolution de www.arcade-history.com... 84.16.84.51
Connexion vers www.arcade-history.com|84.16.84.51|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 2583551 (2,5M) [application/zip]
Sauvegarde en : «mamehistory141.zip»
100%[========================================================>] 2 583 551 63,9K/s ds 32s
2011-03-25 19:28:14 (78,6 KB/s) - «mamehistory141.zip» sauvegardé [2583551/2583551]
puckman@mamecab:/tmp$ unzip mamehistory141.zip
Archive: mamehistory141.zip
inflating: history.dat
inflating: readhist.txt
puckman@mamecab:/tmp$ mv history.dat ~/mame/
%%
=== VIII.c Illustrations ===
todo: ~/mame/snaps, ~/mame/marquees, ~/mame/cpanel
cf: http://mrdo.mameworld.info/mame_artwork_frontend.html
=== VIII.d Contrôleurs ===
Je n'ai pu trouver que la version 0.111 du fichier ##controls.ini## qui décrit les contrôleurs affectés à chaque jeu. Comme il ne s'agit pas d'une archive mais directement du fichier à télécharger, nous pouvons le faire **directement depuis le dossier de MAME**:
%%
puckman@mamecab:/tmp$ cd ~/mame
puckman@mamecab:~/mame$ wget "http://dl.maximumpc.com/galleries/mame/controls.ini"
--2011-03-25 21:59:08-- http://dl.maximumpc.com/galleries/mame/controls.ini
Résolution de dl.maximumpc.com... 60.254.175.41, 60.254.175.42
Connexion vers dl.maximumpc.com|60.254.175.41|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 496585 (485K) [text/plain]
Sauvegarde en : «controls.ini»
100%[========================================================>] 496 585 129K/s ds 3,8s
2011-03-25 21:59:12 (129 KB/s) - «controls.ini» sauvegardé [496585/496585]
puckman@mamecab:~/mame$ ls
catver.ini cfg controls.ini history.dat mame mameinfo.xml mame.ini nvram roms
%%
==== IX. WAH!CADE ====
Bien que MAME seul soit parfaitement capable de lancer les jeux depuis sa propre liste, il est préférable d'utiliser un "front-end". Son travail est de vous montrer les jeux disponibles avec captures d'écrans, animations vidéo, catégories, tri et divers filtres. Certains vont même jusqu'à gérer différents émulateurs à la fois (MAME, ZSnes, Gens, etc.), un mode Juke Box, des skins, etc. Bref, dans le souci de toujours bien séparer les choses, je vous propose d'installer le front-end [[http://www.anti-particle.com/wahcade.shtml Wah!Cade]], version libre de MAMEWah. Vous trouverez [[http://www.anti-particle.com/wahcade_scr.shtml quelques captures d'écran ici]].
=== IX.a Installation ===
Wah!cade fournit gracieusement un paquet d'installation pour Debian. Nous devons toutefois installer au préalable les librairies Python nécessaires au fonctionnement de Wah!cade en tant que "super-utilisateur" ##root##:
%%
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install python-gtk2 python-chardet python-imaging python-glade2 python-gst0.10 python-pygame
Les NOUVEAUX paquets suivants vont être installés :
libblas3gf{a} libffi5{a} libgfortran3{a} libglade2-0{a} libgstreamer-plugins-base0.10-0{a} libgstreamer0.10-0{a}
liblapack3gf{a} liblcms1{a} libmikmod2{a} libpython2.6{a} libsdl-image1.2{a} libsdl-mixer1.2{a} libsmpeg0{a}
libvorbisfile3{a} python-cairo{a} python-chardet python-glade2 python-gobject{a} python-gst0.10 python-gtk2
python-imaging python-libxml2{a} python-numpy{a} python-pygame ttf-freefont{a}
0 paquets mis à jour, 25 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 15,9 Mo d'archives. Après dépaquetage, 46,9 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libgfortran3 i386 4.4.5-8 [238 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libblas3gf i386 1.2-8 [211 kB]
[...]
%%
Passons à Wah!cade: la version actuelle de Wah!cade que je vais télécharger est la "0.99pre8". Vérifiez la version disponible sur [[http://www.anti-particle.com/wahcade_dl.shtml la page de téléchargement]] et adaptez au besoin:
%%
root@mamecab:~# wget -c "http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb"
--2011-03-25 11:11:09-- http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb
Résolution de www.anti-particle.com... 83.170.91.181
Connexion vers www.anti-particle.com|83.170.91.181|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 859782 (840K) [text/plain]
Sauvegarde en : «wahcade_0.99pre8_all.deb»
100%[=============================================================================>] 859 782 97,3K/s ds 12s
2011-03-25 11:21:29 (73,0 KB/s) - «wahcade_0.99pre8_all.deb» sauvegardé [859782/859782]
%%
L'installation se déroule très rapidement en spécifiant manuellement le paquet que l'on vient de télécharger:
%%
root@mamecab:~# dpkg -i wahcade_0.99pre8_all.deb
Sélection du paquet wahcade précédemment désélectionné.
(Lecture de la base de données... 49679 fichiers et répertoires déjà installés.)
Dépaquetage de wahcade (à partir de wahcade_0.99pre8_all.deb) ...
Paramétrage de wahcade (0.99pre8) ...
%%
Une fois le paquet installé, n'oublions surtout pas de supprimer le paquet d'installation et surtout **quitter le compte ##root##** avec la commande ##exit##:
%%
root@mamecab:~# rm -f wahcade_0.99pre8_all.deb
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
%%
=== IX.b Configuration ===
La configuration peut se faire dans l'environnement graphique. Lançons à nouveau le serveur X manuellement:
%%
puckman@mamecab:~/mame$ startx
%%
Vous devez être sous environnement graphique dans le terminal X ##xterm##. Continuons avec ##wahcade-setup##:
%%
puckman@mamecab:~/mame$ wahcade-setup
%%
La fenêtre se lance mais sans bordures ni titre de fenêtre. Pas de panique, c'est normal car on n'a pas installé de gestionnaire de fenêtre (KDE, GNOME, etc.) mais qui en a besoin sur une borne? Je vous ai mis les capture d'écran ci-dessous avec les champs à vérifier:
@@
{{image url="/_extra_/mamecab_wahcfg01.jpg" title="configuration" alt="screenshot"}}
Cliquez sur l'onglet "Emulators", puis dans la zone de saisie "Application" il faut renseigner le chemin vers le
binaire MAME. Vous pouvez saisir ##/home/puckman/mame/mame## ou plus simplement utiliser le
raccourci "~" qui pointe automatiquement vers le dossier de votre utilisateur courant, à savoir
"/home/puckman/" dans notre cas. Ce qui donne en version courte ##~/mame/mame##!
{{image url="/_extra_/mamecab_wahcfg03.jpg" title="configuration" alt="screenshot"}}
Plus bas dans "List Generation" saisir le chemin vers les ROMs ##~/mame/roms/##
{{image url="/_extra_/mamecab_wahcfg04.jpg" title="configuration" alt="screenshot"}}
Toujours dans l'onglet "Emulators", dans la section "Artwork", renseignez dans l'ordre les chemins vers
les captures d'écran ##~/mame/snaps##, les panneaux de contrôle ##~/mame/cpanel## puis les
bandeaux lumineux ##~/mame/marquees##
{{image url="/_extra_/mamecab_wahcfg02.jpg" title="configuration" alt="screenshot"}}
Passer ensuite sur l'onglet "M.A.M.E. Only" et faites travailler vos petits doigts agiles:
##~/mame/mameinfo.xml## pour le fichier XML, ##~/mame/catver.ini## pour les catégories,
##~/mame/history.dat## pour l'historique des jeux puis ##~/mame/controls.ini## pour les contrôleurs.
{{image url="/_extra_/mamecab_wahcfg05.jpg" title="configuration" alt="screenshot"}}
Sauvons ensuite tout cela par le menu ##File## et ##Enregistrer##. Puis ##Quitter## pour sortir proprement.
@@
Après avoir quitté le gestionnaire de configuration, nous devons sortir de l'environnement X avec la commande ##exit##:
%%
puckman@mamecab:~/mame$ exit
%%
==== X. FINALISATION ====
todo: autostart, passwords, etc.
==== I. NOTE ====
Description de l'installation d'une MAMECab avec:
- Un PC qui servira à faire tourner la borne en remplacement de la carte mère d'origine,
- Le système Debian Squeeze
- La compilation de MAME depuis les sources
- L'installation d'un front-end
- Une borne d'arcade d'occasion,
- Quelques tweaks et l'interface avec les différentes entrées/sorties de la borne
Document rédigé en Mars 2011. Vous trouverez un [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 premier document]] datant de mi-2008 mais qui n'est évidemment plus à jour.
==== II. PRÉPARATIFS ====
Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- choisir la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement choisir l'image d'installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai choisi la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Vous voici prêt à installer le système de base!
==== III. SYSTÈME DE BASE ====
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
@@
{{image url="/_extra_/mamecab01.jpg" title="accueil" alt="screenshot"}}
Accueil lors du boot sur le CDROM d'installation de Debian 6.0 Squeeze: j'ai choisi l'installation en mode "console"
{{image url="/_extra_/mamecab02.jpg" title="accueil" alt="screenshot"}}
Choix de la langue
{{image url="/_extra_/mamecab03.jpg" title="accueil" alt="screenshot"}}
Situation géographique
{{image url="/_extra_/mamecab04.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab05.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab06.jpg" title="accueil" alt="screenshot"}}
Chargement des composants et détection du réseau: {{color hex="#DD0000" text="je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une"}}.
{{image url="/_extra_/mamecab07.jpg" title="accueil" alt="screenshot"}}
Choix du nom de la borne: {{color hex="#DD0000" text="notez-le bien si vous le modifiez"}}.
{{image url="/_extra_/mamecab08.jpg" title="accueil" alt="screenshot"}}
Entrez le nom de domaine local
{{image url="/_extra_/mamecab09.jpg" title="accueil" alt="screenshot"}}
Saisie du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
{{image url="/_extra_/mamecab10.jpg" title="accueil" alt="screenshot"}}
Choix de l'utilisateur, je l'ai appelé "puckman": {{color hex="#DD0000" text="notez bien son nom si vous en choisissez un autre"}}.
{{image url="/_extra_/mamecab11.jpg" title="accueil" alt="screenshot"}}
Saisie de son mot de passe
{{image url="/_extra_/mamecab12.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab13.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le partitionnement du disque entier: {{color hex="#DD0000" text="tout le disque sera formaté"}}!
{{image url="/_extra_/mamecab14.jpg" title="accueil" alt="screenshot"}}
Je n'ai qu'un disque à sélectionner
{{image url="/_extra_/mamecab15.jpg" title="accueil" alt="screenshot"}}
J'ai simplement choisi une unique partition pour le système et les données utilisateur
{{image url="/_extra_/mamecab16.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab17.jpg" title="accueil" alt="screenshot"}}
Attention, {{color hex="#DD0000" text="pas de retour en arrière une fois le disque formaté"}}!
{{image url="/_extra_/mamecab18.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab19.jpg" title="accueil" alt="screenshot"}}
Choisir un dépôt de paquets proche de votre lieu géographique
{{image url="/_extra_/mamecab20.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab21.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab22.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils. Concernant les gestionnaire de bureau tels KDE ou GNOME, nous nous contenterons simplement du serveur graphique X.
{{image url="/_extra_/mamecab23.jpg" title="accueil" alt="screenshot"}}
Installation des paquets
{{image url="/_extra_/mamecab24.jpg" title="accueil" alt="screenshot"}}
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous disposez de plusieurs postes connectés.
{{image url="/_extra_/mamecab25.jpg" title="accueil" alt="screenshot"}}
Installation du chargeur de démarrage GRUB
{{image url="/_extra_/mamecab26.jpg" title="accueil" alt="screenshot"}}
Fin de l'installation
{{image url="/_extra_/mamecab27.jpg" title="accueil" alt="screenshot"}}
Retirer le CDROM avant le re-démarrage
{{image url="/_extra_/mamecab28.jpg" title="accueil" alt="screenshot"}}
Reboot
{{image url="/_extra_/mamecab29.jpg" title="accueil" alt="screenshot"}}
Moment émouvant du premier boot ;-)
{{image url="/_extra_/mamecab30.jpg" title="accueil" alt="screenshot"}}
Bienvenue!
@@
Pour simplifier les choses dans la suite mon installation, j'utilise une connexion distante par SSH depuis un poste de travail, libre à vous de continuer sur la machine locale.
Pour établir une connexion SSH distante, il faut récupérer l'adresse IP de la borne (passez cette étape si vous avez spécifié une IP fixe):
- il faut se connecter en tant qu'usager "root" et saisir le mot de passe que vous avez bien noté lors de l'installation,
- taper ##ifconfig## pour obtenir l'adresse IP de la machine sur le réseau. Ici ##192.168.100.233##, à remplacer par la vôtre dans la suite du document.
@@
{{image url="/_extra_/mamecab31.jpg" title="accueil" alt="screenshot"}}
@@
==== IV. CONNEXION DISTANTE ====
Sur mon poste de travail, je peux dès lors me connecter via SSH sur la borne (à l'adresse récupérée ci-dessus) avec la commande "ssh utilisateur@machine":
%%
ludo@kanumera:~$ ssh root@192.168.100.223
The authenticity of host '192.168.100.223 (192.168.100.223)' can't be established.
RSA key fingerprint is f9:ed:b1:36:8a:dd:bd:e6:6d:5c:38:42:0e:5a:d5:c0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.223' (RSA) to the list of known hosts.
root@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 22 15:48:24 2011
/usr/bin/xauth: creating new authority file /root/.Xauthority
root@mamecab:~#
%%
==== V. PARTAGE DE FICHIERS ====
Je vais activer le partage de fichiers avec SAMBA avec authentification. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
%%
root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig
%%
Puis j'édite ce fichier:
%%
root@mamecab:~# pico /etc/samba/smb.conf
%%
Dé-commenter la ligne n°102 (enlever le "#") en s'y rendant avec le raccourci #%CTRL#%+#%_#% :
%%(ini;96;/etc/samba/smb.conf)
####### Authentication #######
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
# security = user
%%
modifié en:
%%(ini;102;/etc/samba/smb.conf)
security = user
%%
Et passer le partage des dossiers utilisateurs en mode lecture/écriture (ligne 242) :
%%(ini;234;/etc/samba/smb.conf)
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = yes
%%
modifié:
%%(ini;242;/etc/samba/smb.conf)
read only = no
%%
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico".
Répondre "O" à la question de l'éditeur: "//Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ?//", et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Demander à SAMBA de recharger sa configuration:
%%
root@mamecab:~# /etc/init.d/samba reload
Reloading /etc/samba/smb.conf: smbd only.
%%
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le passe sans qu'il s'affiche à l'écran) :
%%
root@mamecab:~# smbpasswd -a puckman
New SMB password:
Retype new SMB password:
Added user puckman.
%%
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple).
Ici, je fais le test depuis la propre borne (pas très utile mais ça fonctionne) :
%%
root@mamecab:~# smbclient -U puckman //localhost/puckman
Enter puckman's password:
Domain=[LUDOMATIC] OS=[Unix] Server=[Samba 3.5.6]
smb: \> dir
. D 0 Tue Mar 22 12:06:45 2011
.. D 0 Tue Mar 22 12:04:34 2011
.bash_logout H 220 Tue Mar 22 12:04:34 2011
.bashrc H 3184 Tue Mar 22 12:04:34 2011
.bash_history H 23 Tue Mar 22 12:06:45 2011
.profile H 675 Tue Mar 22 12:04:34 2011
61026 blocks of size 65536. 43188 blocks available
smb: \> exit
%%
ou depuis le poste de travail:
@@{{image url="/_extra_/mamecab_dolphin.jpg" title="samba" alt="screenshot"}}@@
==== VI. MAME ====
=== VI.a Préparation des outils ===
Avant d'installer MAME ou même les outil dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##:
%%
root@mamecab:~# aptitude update
Atteint http://ftp.nc.debian.org squeeze Release.gpg
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-fr
Atteint http://ftp.nc.debian.org squeeze-updates Release.gpg
Prendre : 1 http://security.debian.org squeeze/updates Release.gpg [835 B]
Ign http://security.debian.org/ squeeze/updates/main Translation-en
Ign http://security.debian.org/ squeeze/updates/main Translation-fr
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-fr
Prendre : 2 http://security.debian.org squeeze/updates Release [38,4 kB]
Atteint http://ftp.nc.debian.org squeeze Release
Atteint http://ftp.nc.debian.org squeeze-updates Release
Atteint http://ftp.nc.debian.org squeeze/main Sources
Atteint http://ftp.nc.debian.org squeeze/main i386 Packages
Atteint http://ftp.nc.debian.org squeeze-updates/main Sources/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages
Atteint http://security.debian.org squeeze/updates/main Sources
Prendre : 3 http://security.debian.org squeeze/updates/main i386 Packages [68,8 kB]
108 ko téléchargés en 2s (43,8 ko/s)
%%
Une fois la liste des paquets disponibles à jour, nous installerons:
- ##unzip## pour décompresser le fichier des sources MAME,
- ##build-essential## pour compiler depuis les sources le binaire MAME,
- ##libsdl1.2debian## et son paquet de développement ##libsdl1.2-dev## car la version MAME pour Linux utilise la librairie SDL (affichage vidéo, périphériques de contrôle, son, etc.),
- ##libsdl-ttf2.0-0## et ##libsdl-ttf2.0-dev## pour permettre à la librairie SDL d'utiliser les polices TrueType,
- ##libexpat1## et ##libexpat1-dev## pour permettre à MAME de parcourir les fichiers XML,
- ##zlib1g## et ##zlib1g-dev## afin que MAME décompresse les fichiers zippés,
- ##libxinerama1## et ##libxinerama-dev## pour l'affichage et la gestion des écrans multiples,
- ##libgconf2-4## et ##libgconf2-dev## permettant à MAME de gérer les préférences des applications,
- ##libgtk2.0-0## et ##libgtk2.0-dev## permettant d'utiliser l'interface GTK+.
Rien que ça..? Oui :) Et en une ligne de commande:
%%
root@mamecab:~# aptitude install unzip build-essential libsdl1.2debian libsdl1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
Les NOUVEAUX paquets suivants vont être installés :
autopoint{a} build-essential bzip2{a} dbus-x11{a} debhelper{a} defoma{a} dpkg-dev{a} esound-common{a}
fontconfig{a} fontconfig-config{a} g++{a} g++-4.4{a} gconf2{a} gconf2-common{a} gettext{a} git{a}
hicolor-icon-theme{a} html2text{a} intltool-debian{a} libaa1{a} libaa1-dev{a} libalgorithm-diff-perl{a}
[...]
x11proto-xext-dev{a} x11proto-xinerama-dev{a} xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 164 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 63,9 Mo/64,1 Mo d'archives. Après dépaquetage, 190 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main x11proto-core-dev all 7.0.16-1 [92,2 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libice-dev i386 2:1.0.6-2 [58,5 kB]
[...]
Paramétrage de g++ (4:4.4.5-1) ...
update-alternatives: utilisation de « /usr/bin/g++ » pour fournir « /usr/bin/c++ » (c++) en mode automatique.
Paramétrage de build-essential (11.5) ...
%%
N'ayant plus de tâches administratives à effectuer pour le moment, il faut quitter l'accès super-utilisateur et se connecter avec l'utilisateur ##puckman##. On peut effectuer une nouvelle connexion depuis la machine de bureau:
%%
ludo@kanumera:~$ ssh puckman@192.168.100.223
puckman@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
/usr/bin/xauth: creating new authority file /home/puckman/.Xauthority
puckman@mamecab:~$
%%
ou alors passer à l'utilisateur ##puckman## depuis le super-utilisateur ##root##:
%%
root@mamecab:~# su - puckman
puckman@mamecab:~$
%%
Oui oui, on arrive enfin à la partie MAME :)
=== VI.b Récupération des sources MAME ===
Préparer le dossier de travail:
%%
puckman@mamecab:~$ mkdir sources
puckman@mamecab:~$ cd sources
puckman@mamecab:~/sources$
%%
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html (pour ma part la version actuelle est la 0.141 : http://mamedev.org/downloader.php?file=releases/mame0141s.zip)
%%
puckman@mamecab:~/sources$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/downloader.php?file=releases/mame0141s.zip" -O mame0141s.zip
--2011-03-22 22:36:06-- http://mamedev.org/downloader.php?file=releases/mame0141s.zip
Resolving mamedev.org... 67.210.100.31
Connecting to mamedev.org|67.210.100.31|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://mamedev.thiswebhost.com/releases/mame0141s.zip [following]
--2011-03-22 22:36:07-- http://mamedev.thiswebhost.com/releases/mame0141s.zip
Resolving mamedev.thiswebhost.com... 67.225.136.222
Connecting to mamedev.thiswebhost.com|67.225.136.222|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17092788 (16M) [application/zip]
Saving to: `mame0141s.zip'
13% [======> ] 2,385,353 76.3K/s eta 4m 12s
%%
On décompresse le fichier ZIP téléchargé:
%%
puckman@mamecab:~/sources$ ls
mame0141s.zip
puckman@mamecab:~/sources$ unzip mame0141s.zip
Archive: mame0141s.zip
inflating: mame.zip
puckman@mamecab:~/sources$ ls
mame0141s.zip mame.zip
%%
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous le décompresserons dans un dossier nommé ##mame0141## pour bien séparer les choses:
%%
puckman@mamecab:~/sources$ unzip mame.zip -d mame0141
Archive: mame.zip
creating: mame0141/docs/
extracting: mame0141/docs/config.txt
extracting: mame0141/docs/license.txt
[...]
extracting: mame0141/src/version.c
extracting: mame0141/whatsnew.txt
puckman@mamecab:~/sources$ ls
mame0141 mame0141s.zip mame.zip
%%
Tout s'est bien déroulé, **rendez-vous dans le dossier ##mame0141## avant de passer à la suite**:
%%
puckman@mamecab:~/sources$ cd mame0141
puckman@mamecab:~/sources/mame0141$ ls
docs makefile src whatsnew.txt
%%
=== VI.c Construction du binaire ===
>>Note 1: Je lance un ##make clean## quand cela est possible pour nettoyer toute trace d'une précédente compilation.
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)>> Le dossier ##mame0141## contient maintenant les sources MAME 0.141 avec un fichier ##makefile## qui va permettre à l'ensemble des utilitaires de fonctionner de concert pour produire l'exécutable ##mame## avec différentes options selon votre système. N'hésitez pas à consulter le contenu du fichier ##makefile## si vous en avez envie!
La compilation qui suit va prendre pas mal de temps, c'est le moment de la B.A. du jour: rangement du bureau!
%%
puckman@mamecab:~/sources/mame0141$ make clean
Deleting object tree obj/sdl/mame...
Deleting mame...
Deleting testkeys romcmp chdman jedutil unidasm ldresample ldverify regrep srcclean src2html split ...
puckman@mamecab:~/sources/mame0141$ make
mkdir -p obj/sdl/mame
mkdir -p obj/sdl/mame/build
mkdir -p obj/sdl/mame/emu/audio
[...]
Compiling src/emu/cpu/z8/z8dasm.c...
Compiling src/emu/cpu/superfx/sfx_dasm.c...
Archiving obj/sdl/mame/libdasm.a...
Linking mame...
%%
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source/mame0141/##:
%%
puckman@mamecab:~/sources/mame0141$ ls
docs makefile mame obj src whatsnew.txt
%%
Pour éviter de tout mélanger, nous laisserons les sources de côté et copierons le binaire ##mame## dans un dossier ##/home/puckman/mame/##. Nous y placerons également la configuration de MAME, les ROMs, snapshots, sauvegardes, etc., bref ce sera le dossier principal de MAME:
%%
puckman@mamecab:~/sources/mame0141$ mkdir /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cp ./mame /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cd /home/puckman/mame/
puckman@mamecab:~/mame$ ls
mame
%%
À partir de maintenant, nous travaillerons donc **dans le dossier ##/home/puckman/mame##** ou ##/home/nom_utilisateur/mame## selon votre installation.
=== VI.d Configuration ===
Commençons par générer le fichier XML contenant l'ensemble des ROMs utilisables par cette version 0.141 (patience, cela peut prendre un peu de temps):
%%
puckman@mamecab:~/mame$ ./mame -listxml > mameinfo.xml
puckman@mamecab:~/mame$ ls
mame mameinfo.xml
%%
Générons ensuite le fichier de configuration ##mame.ini##:
%%
puckman@mamecab:~/mame$ ./mame -createconfig
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini
%%
Et éditons-le afin de vérifier au minimum le chemin des ROMs et le mode vidéo:
%%
puckman@mamecab:~/mame$ pico mame.ini
%%
Les ROMs seront donc par défaut recherchées dans le dossier ##roms## d'où est exécuté MAME. Nous le créerons dans le prochain chapitre :
%%(text;9;mame.ini)
#
# CORE SEARCH PATH OPTIONS
#
rompath roms
%%
Et la vidéo est gérée par la couche logicielle, sans prise en charge d'accélération OpenGL (très bien pour un premier lancement!):
%%(text;163;mame.ini)
#
# VIDEO OPTIONS
#
video soft
%%
=== VI.e Les ROMs ===
Nous y voilà, commençons par créer le dossier des ROMs comme paramétré dans le fichier de configuration ##mame.ini## vu ci-dessus:
%%
puckman@mamecab:~/mame$ mkdir roms
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini roms
%%
Quelques éditeurs ont libéré les droits de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces bonnes initiatives nous allons pouvoir lancer nos premiers jeux!
La plupart de ces ROMs sont tout simplement regroupées dans [[http://mamedev.org/roms/ la section "roms" du site officiel de MAME]]. Récupérons par exemple l'excellent [[http://mamedev.org/roms/teetert/ Teeter Torture]] (Exidy) et [[http://mamedev.org/roms/gridlee/ Gridlee]] (Videa) depuis le dossier ##roms##:
%%
puckman@mamecab:~/mame$ cd roms
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/teetert/teetert.zip"
--2011-03-25 08:37:52-- http://mamedev.org/roms/teetert/teetert.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 24907 (24K) [application/zip]
Sauvegarde en : «teetert.zip»
100%[=============================================================================>] 24 907 14,3K/s ds 1,7s
2011-03-25 08:37:55 (14,3 KB/s) - «teetert.zip» sauvegardé [24907/24907]
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/gridlee/gridlee.zip"
--2011-03-25 08:38:24-- http://mamedev.org/roms/gridlee/gridlee.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 26154 (26K) [application/zip]
Sauvegarde en : «gridlee.zip»
100%[=============================================================================>] 26 154 24,8K/s ds 1,0s
2011-03-25 08:38:26 (24,8 KB/s) - «gridlee.zip» sauvegardé [26154/26154]
%%
Vérifions que les ROMs sont bien là et quittons le dossier ##roms## sans décompresser les ZIP, MAME va s'en charger à la volée lors du lancement du jeu:
%%
puckman@mamecab:~/mame/roms$ ls
gridlee.zip teetert.zip
puckman@mamecab:~/mame/roms$ cd ..
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini roms
%%
==== VII. SERVEUR X ====
=== VII.a Installation ===
Il est nécessaire d'installer un serveur graphique minimal appelé "serveur X", sans pour autant charger barre des tâches et autres menus (pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc). Nous aurons par ailleurs besoin de quelques outils et dépendances:
- ##xserver-xorg-core##, le serveur X "[[http://www.x.org/wiki/ X.Org]]"
- ##xfonts-base## et ""ttf-liberation"" fournissant des jeux de police TrueType par défaut et Libres
- ##xterm## pour avoir un terminal graphique
- ##xinit## qui fourni le lanceur de session graphique ##startx##
- ##x11-xserver-utils## regroupant de nombreux utilitaires pour X
Ces installations se font avec le compte ##root##, passer en mode "super-utilisateur" au préalable avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
%%
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install xserver-xorg-core xfonts-base ttf-liberation xterm xinit x11-xserver-utils
Les NOUVEAUX paquets suivants vont être installés :
libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} ttf-liberation x11-utils{a}
x11-xserver-utils xbitmaps{a} xinit xterm
0 paquets mis à jour, 9 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 1 019 ko d'archives. Après dépaquetage, 3 486 ko seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libxcb-atom1 i386 0.3.6-1 [9 526 B]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libxv1 i386 2:1.0.5-1 [17,1 kB]
[...]
%%
Une fois le serveur X installé, n'oublions surtout pas de **quitter le compte ##root##** avec la commande ##exit##:
%%
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
%%
**Note sur la prise en charge d'OpenGL**: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], {{color hex="#dd0000" text="Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D"}}. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
=== VII.b Premier lancement MAME ===
>>Attention, ous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>> Ceux qui ont suivi jusque là l'ont bien mérité, il est temps de lancer MAME! Nous allons donc exécuter la commande manuelle ##startx## pour lancer notre environnement graphique (oui, on aura même un curseur de souris) puis ##mame##:
%%
puckman@mamecab:~/mame$ startx
%%
Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le fameux ##xterm## installé précédemment. Lançons donc enfin notre émulateur préféré:
%%
puckman@mamecab:~/mame$ ./mame
%%
@@
{{image url="/_extra_/mamecab_xorg01.jpg" title="mame" alt="screenshot"}}
Bienvenue sur MAME! Vous devriez obtenir l'interface d'accueil avec le choix des jeux qu'il a trouvé.
Vous pouvez utiliser les flèches #%HAUT#%/#%BAS#%, #%ENTREE#% pour lancer le jeu et #%ECHAP#% pour quitter.
{{image url="/_extra_/mamecab_xorg02.jpg" title="mame" alt="screenshot"}}
Avertissement. Vous pouvez le passer en saisissant "ok" ou les flèches #%GAUCHE#% puis #%DROITE#%.
{{image url="/_extra_/mamecab_xorg03.jpg" title="mame" alt="screenshot"}}
Les informations sur l'émulation audio, CPU et vidéo. Remarquez la résolution 256x256 en 60Hz.
{{image url="/_extra_/mamecab_xorg04.jpg" title="mame" alt="screenshot"}}
LE PREMIER JEU MAME, woohoo!!
{{image url="/_extra_/mamecab_xorg05.jpg" title="mame" alt="screenshot"}}
Il n'y a pas que le boulot dans la vie! je vous laisse un moment de détente avec //X// et la vidéo //soft//...
#%ECHAP#% pour quitter.
@@
Après avoir quitté MAME, nous devons sortir de l'environnement X avec la commande ##exit##:
%%
puckman@mamecab:~/mame$ exit
%%
==== VIII. EXTRAS ====
=== VIII.a Catégories ===
Le fichier des catégories ##catver.ini## est avec le fichier descriptif des ROMs ##mameinfo.xml## un des fichiers clés permettant de gérer les ROMs. Procédons à la récupération de l'archive ZIP le contenant **dans un dossier temporaire** ##/tmp##:
%%
puckman@mamecab:~/mame$ cd /tmp
puckman@mamecab:/tmp$ wget "http://www.progettoemma.net/public/ccount/click.php?id=6" -O catver.zip
--2011-03-25 14:38:55-- http://www.progettoemma.net/public/ccount/click.php?id=6
Résolution de www.progettoemma.net... 62.149.130.187
Connexion vers www.progettoemma.net|62.149.130.187|:80...connecté.
requête HTTP transmise, en attente de la réponse...302 Moved Temporarily
Emplacement: http://www.progettoemma.net/public/cat/catveren.zip [suivant]
--2011-03-25 14:38:56-- http://www.progettoemma.net/public/cat/catveren.zip
Réutilisation de la connexion existante vers www.progettoemma.net:80.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 106438 (104K) [application/x-zip-compressed]
Sauvegarde en : «catver.zip»
100%[=============================================================================>] 106 438 19,7K/s ds 5,3s
2011-03-25 14:39:02 (19,7 KB/s) - «catver.zip» sauvegardé [106438/106438]
%%
On extrait de l'archive le fichier ##catver.ini## que l'on copie dans le dossier MAME. Attention, on va en profiter pour renommer le fichier en lettres minuscules, la casse est très importante!
%%
puckman@mamecab:/tmp$ unzip catver.zip
Archive: catver.zip
inflating: Catver.ini
inflating: leggimi.txt
inflating: readme.txt
puckman@mamecab:/tmp$ cp Catver.ini ~/mame/catver.ini
%%
=== VIII.b Historique ===
Récupérons le fichier ##history.dat## contenant les informations à présenter sur le jeu en cours. Nous devrons [[http://www.arcade-history.com/index.php?page=download télécharger un fichier ZIP]] dans le dossier temporaire et déplacer le fichier extrait dans le dossier de MAME:
%%
puckman@mamecab:/tmp$ wget "http://www.arcade-history.com/dats/mamehistory141.zip"
--2011-03-25 19:27:42-- http://www.arcade-history.com/dats/mamehistory141.zip
Résolution de www.arcade-history.com... 84.16.84.51
Connexion vers www.arcade-history.com|84.16.84.51|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 2583551 (2,5M) [application/zip]
Sauvegarde en : «mamehistory141.zip»
100%[========================================================>] 2 583 551 63,9K/s ds 32s
2011-03-25 19:28:14 (78,6 KB/s) - «mamehistory141.zip» sauvegardé [2583551/2583551]
puckman@mamecab:/tmp$ unzip mamehistory141.zip
Archive: mamehistory141.zip
inflating: history.dat
inflating: readhist.txt
puckman@mamecab:/tmp$ mv history.dat ~/mame/
%%
=== VIII.c Illustrations ===
todo: ~/mame/snaps, ~/mame/marquees, ~/mame/cpanel
cf: http://mrdo.mameworld.info/mame_artwork_frontend.html
=== VIII.d Contrôleurs ===
Je n'ai pu trouver que la version 0.111 du fichier ##controls.ini## qui décrit les contrôleurs affectés à chaque jeu. Comme il ne s'agit pas d'une archive mais directement du fichier à télécharger, nous pouvons le faire **directement depuis le dossier de MAME**:
%%
puckman@mamecab:/tmp$ cd ~/mame
puckman@mamecab:~/mame$ wget "http://dl.maximumpc.com/galleries/mame/controls.ini"
--2011-03-25 21:59:08-- http://dl.maximumpc.com/galleries/mame/controls.ini
Résolution de dl.maximumpc.com... 60.254.175.41, 60.254.175.42
Connexion vers dl.maximumpc.com|60.254.175.41|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 496585 (485K) [text/plain]
Sauvegarde en : «controls.ini»
100%[========================================================>] 496 585 129K/s ds 3,8s
2011-03-25 21:59:12 (129 KB/s) - «controls.ini» sauvegardé [496585/496585]
puckman@mamecab:~/mame$ ls
catver.ini cfg controls.ini history.dat mame mameinfo.xml mame.ini nvram roms
%%
==== IX. WAH!CADE ====
Bien que MAME seul soit parfaitement capable de lancer les jeux depuis sa propre liste, il est préférable d'utiliser un "front-end". Son travail est de vous montrer les jeux disponibles avec captures d'écrans, animations vidéo, catégories, tri et divers filtres. Certains vont même jusqu'à gérer différents émulateurs à la fois (MAME, ZSnes, Gens, etc.), un mode Juke Box, des skins, etc. Bref, dans le souci de toujours bien séparer les choses, je vous propose d'installer le front-end [[http://www.anti-particle.com/wahcade.shtml Wah!Cade]], version libre de MAMEWah. Vous trouverez [[http://www.anti-particle.com/wahcade_scr.shtml quelques captures d'écran ici]].
=== IX.a Installation ===
Wah!cade fournit gracieusement un paquet d'installation pour Debian. Nous devons toutefois installer au préalable les librairies Python nécessaires au fonctionnement de Wah!cade en tant que "super-utilisateur" ##root##:
%%
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install python-gtk2 python-chardet python-imaging python-glade2 python-gst0.10 python-pygame
Les NOUVEAUX paquets suivants vont être installés :
libblas3gf{a} libffi5{a} libgfortran3{a} libglade2-0{a} libgstreamer-plugins-base0.10-0{a} libgstreamer0.10-0{a}
liblapack3gf{a} liblcms1{a} libmikmod2{a} libpython2.6{a} libsdl-image1.2{a} libsdl-mixer1.2{a} libsmpeg0{a}
libvorbisfile3{a} python-cairo{a} python-chardet python-glade2 python-gobject{a} python-gst0.10 python-gtk2
python-imaging python-libxml2{a} python-numpy{a} python-pygame ttf-freefont{a}
0 paquets mis à jour, 25 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 15,9 Mo d'archives. Après dépaquetage, 46,9 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libgfortran3 i386 4.4.5-8 [238 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libblas3gf i386 1.2-8 [211 kB]
[...]
%%
Passons à Wah!cade: la version actuelle de Wah!cade que je vais télécharger est la "0.99pre8". Vérifiez la version disponible sur [[http://www.anti-particle.com/wahcade_dl.shtml la page de téléchargement]] et adaptez au besoin:
%%
root@mamecab:~# wget -c "http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb"
--2011-03-25 11:11:09-- http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb
Résolution de www.anti-particle.com... 83.170.91.181
Connexion vers www.anti-particle.com|83.170.91.181|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 859782 (840K) [text/plain]
Sauvegarde en : «wahcade_0.99pre8_all.deb»
100%[=============================================================================>] 859 782 97,3K/s ds 12s
2011-03-25 11:21:29 (73,0 KB/s) - «wahcade_0.99pre8_all.deb» sauvegardé [859782/859782]
%%
L'installation se déroule très rapidement en spécifiant manuellement le paquet que l'on vient de télécharger:
%%
root@mamecab:~# dpkg -i wahcade_0.99pre8_all.deb
Sélection du paquet wahcade précédemment désélectionné.
(Lecture de la base de données... 49679 fichiers et répertoires déjà installés.)
Dépaquetage de wahcade (à partir de wahcade_0.99pre8_all.deb) ...
Paramétrage de wahcade (0.99pre8) ...
%%
Une fois le paquet installé, n'oublions surtout pas de supprimer le paquet d'installation et surtout **quitter le compte ##root##** avec la commande ##exit##:
%%
root@mamecab:~# rm -f wahcade_0.99pre8_all.deb
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
%%
=== IX.b Configuration ===
La configuration peut se faire dans l'environnement graphique. Lançons à nouveau le serveur X manuellement:
%%
puckman@mamecab:~/mame$ startx
%%
Vous devez être sous environnement graphique dans le terminal X ##xterm##. Continuons avec ##wahcade-setup##:
%%
puckman@mamecab:~/mame$ wahcade-setup
%%
La fenêtre se lance mais sans bordures ni titre de fenêtre. Pas de panique, c'est normal car on n'a pas installé de gestionnaire de fenêtre (KDE, GNOME, etc.) mais qui en a besoin sur une borne? Je vous ai mis les capture d'écran ci-dessous avec les champs à vérifier:
@@
{{image url="/_extra_/mamecab_wahcfg01.jpg" title="configuration" alt="screenshot"}}
Cliquez sur l'onglet "Emulators", puis dans la zone de saisie "Application" il faut renseigner le chemin vers le
binaire MAME. Vous pouvez saisir ##/home/puckman/mame/mame## ou plus simplement utiliser le
raccourci "~" qui pointe automatiquement vers le dossier de votre utilisateur courant, à savoir
"/home/puckman/" dans notre cas. Ce qui donne en version courte ##~/mame/mame##!
{{image url="/_extra_/mamecab_wahcfg03.jpg" title="configuration" alt="screenshot"}}
Plus bas dans "List Generation" saisir le chemin vers les ROMs ##~/mame/roms/##
{{image url="/_extra_/mamecab_wahcfg04.jpg" title="configuration" alt="screenshot"}}
Toujours dans l'onglet "Emulators", dans la section "Artwork", renseignez dans l'ordre les chemins vers
les captures d'écran ##~/mame/snaps##, les panneaux de contrôle ##~/mame/cpanel## puis les
bandeaux lumineux ##~/mame/marquees##
{{image url="/_extra_/mamecab_wahcfg02.jpg" title="configuration" alt="screenshot"}}
Passer ensuite sur l'onglet "M.A.M.E. Only" et faites travailler vos petits doigts agiles:
##~/mame/mameinfo.xml## pour le fichier XML, ##~/mame/catver.ini## pour les catégories,
##~/mame/history.dat## pour l'historique des jeux puis ##~/mame/controls.ini## pour les contrôleurs.
{{image url="/_extra_/mamecab_wahcfg05.jpg" title="configuration" alt="screenshot"}}
Sauvons ensuite tout cela par le menu ##File## et ##Enregistrer##. Puis ##Quitter## pour sortir proprement.
@@
Après avoir quitté le gestionnaire de configuration, nous devons sortir de l'environnement X avec la commande ##exit##:
%%
puckman@mamecab:~/mame$ exit
%%
==== X. FINALISATION ====
todo: autostart, passwords, etc.
Deletions:
==== I. NOTE ====
Description de l'installation d'une MAMECab avec:
- Un PC qui servira à faire tourner la borne en remplacement de la carte mère d'origine,
- Le système Debian Squeeze
- La compilation de MAME depuis les sources
- L'installation d'un front-end
- Une borne d'arcade d'occasion,
- Quelques tweaks et l'interface avec les différentes entrées/sorties de la borne
Document rédigé en Mars 2011. Vous trouverez un [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 premier document]] datant de mi-2008 mais qui n'est évidemment plus à jour.
==== II. PRÉPARATIFS ====
Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- choisir la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement choisir l'image d'installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai choisi la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Vous voici prêt à installer le système de base!
==== III. SYSTÈME DE BASE ====
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
@@
{{image url="/_extra_/mamecab01.jpg" title="accueil" alt="screenshot"}}
Accueil lors du boot sur le CDROM d'installation de Debian 6.0 Squeeze: j'ai choisi l'installation en mode "console"
{{image url="/_extra_/mamecab02.jpg" title="accueil" alt="screenshot"}}
Choix de la langue
{{image url="/_extra_/mamecab03.jpg" title="accueil" alt="screenshot"}}
Situation géographique
{{image url="/_extra_/mamecab04.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab05.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab06.jpg" title="accueil" alt="screenshot"}}
Chargement des composants et détection du réseau: {{color hex="#DD0000" text="je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une"}}.
{{image url="/_extra_/mamecab07.jpg" title="accueil" alt="screenshot"}}
Choix du nom de la borne: {{color hex="#DD0000" text="notez-le bien si vous le modifiez"}}.
{{image url="/_extra_/mamecab08.jpg" title="accueil" alt="screenshot"}}
Entrez le nom de domaine local
{{image url="/_extra_/mamecab09.jpg" title="accueil" alt="screenshot"}}
Saisie du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
{{image url="/_extra_/mamecab10.jpg" title="accueil" alt="screenshot"}}
Choix de l'utilisateur, je l'ai appelé "puckman": {{color hex="#DD0000" text="notez bien son nom si vous en choisissez un autre"}}.
{{image url="/_extra_/mamecab11.jpg" title="accueil" alt="screenshot"}}
Saisie de son mot de passe
{{image url="/_extra_/mamecab12.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab13.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le partitionnement du disque entier: {{color hex="#DD0000" text="tout le disque sera formaté"}}!
{{image url="/_extra_/mamecab14.jpg" title="accueil" alt="screenshot"}}
Je n'ai qu'un disque à sélectionner
{{image url="/_extra_/mamecab15.jpg" title="accueil" alt="screenshot"}}
J'ai simplement choisi une unique partition pour le système et les données utilisateur
{{image url="/_extra_/mamecab16.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab17.jpg" title="accueil" alt="screenshot"}}
Attention, {{color hex="#DD0000" text="pas de retour en arrière une fois le disque formaté"}}!
{{image url="/_extra_/mamecab18.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab19.jpg" title="accueil" alt="screenshot"}}
Choisir un dépôt de paquets proche de votre lieu géographique
{{image url="/_extra_/mamecab20.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab21.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab22.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils. Concernant les gestionnaire de bureau tels KDE ou GNOME, nous nous contenterons simplement du serveur graphique X.
{{image url="/_extra_/mamecab23.jpg" title="accueil" alt="screenshot"}}
Installation des paquets
{{image url="/_extra_/mamecab24.jpg" title="accueil" alt="screenshot"}}
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous disposez de plusieurs postes connectés.
{{image url="/_extra_/mamecab25.jpg" title="accueil" alt="screenshot"}}
Installation du chargeur de démarrage GRUB
{{image url="/_extra_/mamecab26.jpg" title="accueil" alt="screenshot"}}
Fin de l'installation
{{image url="/_extra_/mamecab27.jpg" title="accueil" alt="screenshot"}}
Retirer le CDROM avant le re-démarrage
{{image url="/_extra_/mamecab28.jpg" title="accueil" alt="screenshot"}}
Reboot
{{image url="/_extra_/mamecab29.jpg" title="accueil" alt="screenshot"}}
Moment émouvant du premier boot ;-)
{{image url="/_extra_/mamecab30.jpg" title="accueil" alt="screenshot"}}
Bienvenue!
@@
Pour simplifier les choses dans la suite mon installation, j'utilise une connexion distante par SSH depuis un poste de travail, libre à vous de continuer sur la machine locale.
Pour établir une connexion SSH distante, il faut récupérer l'adresse IP de la borne (passez cette étape si vous avez spécifié une IP fixe):
- il faut se connecter en tant qu'usager "root" et saisir le mot de passe que vous avez bien noté lors de l'installation,
- taper ##ifconfig## pour obtenir l'adresse IP de la machine sur le réseau. Ici ##192.168.100.233##, à remplacer par la vôtre dans la suite du document.
@@
{{image url="/_extra_/mamecab31.jpg" title="accueil" alt="screenshot"}}
@@
==== IV. CONNEXION DISTANTE ====
Sur mon poste de travail, je peux dès lors me connecter via SSH sur la borne (à l'adresse récupérée ci-dessus) avec la commande "ssh utilisateur@machine":
%%
ludo@kanumera:~$ ssh root@192.168.100.223
The authenticity of host '192.168.100.223 (192.168.100.223)' can't be established.
RSA key fingerprint is f9:ed:b1:36:8a:dd:bd:e6:6d:5c:38:42:0e:5a:d5:c0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.223' (RSA) to the list of known hosts.
root@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 22 15:48:24 2011
/usr/bin/xauth: creating new authority file /root/.Xauthority
root@mamecab:~#
%%
==== V. PARTAGE DE FICHIERS ====
Je vais activer le partage de fichiers avec SAMBA avec authentification. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
%%
root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig
%%
Puis j'édite ce fichier:
%%
root@mamecab:~# pico /etc/samba/smb.conf
%%
Dé-commenter la ligne n°102 (enlever le "#") en s'y rendant avec le raccourci #%CTRL#%+#%_#% :
%%(ini;96;/etc/samba/smb.conf)
####### Authentication #######
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
# security = user
%%
modifié en:
%%(ini;102;/etc/samba/smb.conf)
security = user
%%
Et passer le partage des dossiers utilisateurs en mode lecture/écriture (ligne 242) :
%%(ini;234;/etc/samba/smb.conf)
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = yes
%%
modifié:
%%(ini;242;/etc/samba/smb.conf)
read only = no
%%
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico".
Répondre "O" à la question de l'éditeur: "//Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ?//", et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Demander à SAMBA de recharger sa configuration:
%%
root@mamecab:~# /etc/init.d/samba reload
Reloading /etc/samba/smb.conf: smbd only.
%%
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le passe sans qu'il s'affiche à l'écran) :
%%
root@mamecab:~# smbpasswd -a puckman
New SMB password:
Retype new SMB password:
Added user puckman.
%%
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple).
Ici, je fais le test depuis la propre borne (pas très utile mais ça fonctionne) :
%%
root@mamecab:~# smbclient -U puckman //localhost/puckman
Enter puckman's password:
Domain=[LUDOMATIC] OS=[Unix] Server=[Samba 3.5.6]
smb: \> dir
. D 0 Tue Mar 22 12:06:45 2011
.. D 0 Tue Mar 22 12:04:34 2011
.bash_logout H 220 Tue Mar 22 12:04:34 2011
.bashrc H 3184 Tue Mar 22 12:04:34 2011
.bash_history H 23 Tue Mar 22 12:06:45 2011
.profile H 675 Tue Mar 22 12:04:34 2011
61026 blocks of size 65536. 43188 blocks available
smb: \> exit
%%
ou depuis le poste de travail:
@@{{image url="/_extra_/mamecab_dolphin.jpg" title="samba" alt="screenshot"}}@@
==== VI. MAME ====
=== VI.a Préparation des outils ===
Avant d'installer MAME ou même les outil dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##:
%%
root@mamecab:~# aptitude update
Atteint http://ftp.nc.debian.org squeeze Release.gpg
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-fr
Atteint http://ftp.nc.debian.org squeeze-updates Release.gpg
Prendre : 1 http://security.debian.org squeeze/updates Release.gpg [835 B]
Ign http://security.debian.org/ squeeze/updates/main Translation-en
Ign http://security.debian.org/ squeeze/updates/main Translation-fr
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-fr
Prendre : 2 http://security.debian.org squeeze/updates Release [38,4 kB]
Atteint http://ftp.nc.debian.org squeeze Release
Atteint http://ftp.nc.debian.org squeeze-updates Release
Atteint http://ftp.nc.debian.org squeeze/main Sources
Atteint http://ftp.nc.debian.org squeeze/main i386 Packages
Atteint http://ftp.nc.debian.org squeeze-updates/main Sources/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages
Atteint http://security.debian.org squeeze/updates/main Sources
Prendre : 3 http://security.debian.org squeeze/updates/main i386 Packages [68,8 kB]
108 ko téléchargés en 2s (43,8 ko/s)
%%
Une fois la liste des paquets disponibles à jour, nous installerons:
- ##unzip## pour décompresser le fichier des sources MAME,
- ##build-essential## pour compiler depuis les sources le binaire MAME,
- ##libsdl1.2debian## et son paquet de développement ##libsdl1.2-dev## car la version MAME pour Linux utilise la librairie SDL (affichage vidéo, périphériques de contrôle, son, etc.),
- ##libsdl-ttf2.0-0## et ##libsdl-ttf2.0-dev## pour permettre à la librairie SDL d'utiliser les polices TrueType,
- ##libexpat1## et ##libexpat1-dev## pour permettre à MAME de parcourir les fichiers XML,
- ##zlib1g## et ##zlib1g-dev## afin que MAME décompresse les fichiers zippés,
- ##libxinerama1## et ##libxinerama-dev## pour l'affichage et la gestion des écrans multiples,
- ##libgconf2-4## et ##libgconf2-dev## permettant à MAME de gérer les préférences des applications,
- ##libgtk2.0-0## et ##libgtk2.0-dev## permettant d'utiliser l'interface GTK+.
Rien que ça..? Oui :) Et en une ligne de commande:
%%
root@mamecab:~# aptitude install unzip build-essential libsdl1.2debian libsdl1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
Les NOUVEAUX paquets suivants vont être installés :
autopoint{a} build-essential bzip2{a} dbus-x11{a} debhelper{a} defoma{a} dpkg-dev{a} esound-common{a}
fontconfig{a} fontconfig-config{a} g++{a} g++-4.4{a} gconf2{a} gconf2-common{a} gettext{a} git{a}
hicolor-icon-theme{a} html2text{a} intltool-debian{a} libaa1{a} libaa1-dev{a} libalgorithm-diff-perl{a}
[...]
x11proto-xext-dev{a} x11proto-xinerama-dev{a} xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 164 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 63,9 Mo/64,1 Mo d'archives. Après dépaquetage, 190 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main x11proto-core-dev all 7.0.16-1 [92,2 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libice-dev i386 2:1.0.6-2 [58,5 kB]
[...]
Paramétrage de g++ (4:4.4.5-1) ...
update-alternatives: utilisation de « /usr/bin/g++ » pour fournir « /usr/bin/c++ » (c++) en mode automatique.
Paramétrage de build-essential (11.5) ...
%%
N'ayant plus de tâches administratives à effectuer pour le moment, il faut quitter l'accès super-utilisateur et se connecter avec l'utilisateur ##puckman##. On peut effectuer une nouvelle connexion depuis la machine de bureau:
%%
ludo@kanumera:~$ ssh puckman@192.168.100.223
puckman@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
/usr/bin/xauth: creating new authority file /home/puckman/.Xauthority
puckman@mamecab:~$
%%
ou alors passer à l'utilisateur ##puckman## depuis le super-utilisateur ##root##:
%%
root@mamecab:~# su - puckman
puckman@mamecab:~$
%%
Oui oui, on arrive enfin à la partie MAME :)
=== VI.b Récupération des sources MAME ===
Préparer le dossier de travail:
%%
puckman@mamecab:~$ mkdir sources
puckman@mamecab:~$ cd sources
puckman@mamecab:~/sources$
%%
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html (pour ma part la version actuelle est la 0.141 : http://mamedev.org/downloader.php?file=releases/mame0141s.zip)
%%
puckman@mamecab:~/sources$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/downloader.php?file=releases/mame0141s.zip" -O mame0141s.zip
--2011-03-22 22:36:06-- http://mamedev.org/downloader.php?file=releases/mame0141s.zip
Resolving mamedev.org... 67.210.100.31
Connecting to mamedev.org|67.210.100.31|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://mamedev.thiswebhost.com/releases/mame0141s.zip [following]
--2011-03-22 22:36:07-- http://mamedev.thiswebhost.com/releases/mame0141s.zip
Resolving mamedev.thiswebhost.com... 67.225.136.222
Connecting to mamedev.thiswebhost.com|67.225.136.222|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17092788 (16M) [application/zip]
Saving to: `mame0141s.zip'
13% [======> ] 2,385,353 76.3K/s eta 4m 12s
%%
On décompresse le fichier ZIP téléchargé:
%%
puckman@mamecab:~/sources$ ls
mame0141s.zip
puckman@mamecab:~/sources$ unzip mame0141s.zip
Archive: mame0141s.zip
inflating: mame.zip
puckman@mamecab:~/sources$ ls
mame0141s.zip mame.zip
%%
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous le décompresserons dans un dossier nommé ##mame0141## pour bien séparer les choses:
%%
puckman@mamecab:~/sources$ unzip mame.zip -d mame0141
Archive: mame.zip
creating: mame0141/docs/
extracting: mame0141/docs/config.txt
extracting: mame0141/docs/license.txt
[...]
extracting: mame0141/src/version.c
extracting: mame0141/whatsnew.txt
puckman@mamecab:~/sources$ ls
mame0141 mame0141s.zip mame.zip
%%
Tout s'est bien déroulé, **rendez-vous dans le dossier ##mame0141## avant de passer à la suite**:
%%
puckman@mamecab:~/sources$ cd mame0141
puckman@mamecab:~/sources/mame0141$ ls
docs makefile src whatsnew.txt
%%
=== VI.c Construction du binaire ===
>>Note 1: Je lance un ##make clean## quand cela est possible pour nettoyer toute trace d'une précédente compilation.
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)>> Le dossier ##mame0141## contient maintenant les sources MAME 0.141 avec un fichier ##makefile## qui va permettre à l'ensemble des utilitaires de fonctionner de concert pour produire l'exécutable ##mame## avec différentes options selon votre système. N'hésitez pas à consulter le contenu du fichier ##makefile## si vous en avez envie!
La compilation qui suit va prendre pas mal de temps, c'est le moment de la B.A. du jour: rangement du bureau!
%%
puckman@mamecab:~/sources/mame0141$ make clean
Deleting object tree obj/sdl/mame...
Deleting mame...
Deleting testkeys romcmp chdman jedutil unidasm ldresample ldverify regrep srcclean src2html split ...
puckman@mamecab:~/sources/mame0141$ make
mkdir -p obj/sdl/mame
mkdir -p obj/sdl/mame/build
mkdir -p obj/sdl/mame/emu/audio
[...]
Compiling src/emu/cpu/z8/z8dasm.c...
Compiling src/emu/cpu/superfx/sfx_dasm.c...
Archiving obj/sdl/mame/libdasm.a...
Linking mame...
%%
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source/mame0141/##:
%%
puckman@mamecab:~/sources/mame0141$ ls
docs makefile mame obj src whatsnew.txt
%%
Pour éviter de tout mélanger, nous laisserons les sources de côté et copierons le binaire ##mame## dans un dossier ##/home/puckman/mame/##. Nous y placerons également la configuration de MAME, les ROMs, snapshots, sauvegardes, etc., bref ce sera le dossier principal de MAME:
%%
puckman@mamecab:~/sources/mame0141$ mkdir /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cp ./mame /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cd /home/puckman/mame/
puckman@mamecab:~/mame$ ls
mame
%%
À partir de maintenant, nous travaillerons donc **dans le dossier ##/home/puckman/mame##** ou ##/home/nom_utilisateur/mame## selon votre installation.
=== VI.d Configuration ===
Commençons par générer le fichier XML contenant l'ensemble des ROMs utilisables par cette version 0.141 (patience, cela peut prendre un peu de temps):
%%
puckman@mamecab:~/mame$ ./mame -listxml > mameinfo.xml
puckman@mamecab:~/mame$ ls
mame mameinfo.xml
%%
Générons ensuite le fichier de configuration ##mame.ini##:
%%
puckman@mamecab:~/mame$ ./mame -createconfig
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini
%%
Et éditons-le afin de vérifier au minimum le chemin des ROMs et le mode vidéo:
%%
puckman@mamecab:~/mame$ pico mame.ini
%%
Les ROMs seront donc par défaut recherchées dans le dossier ##roms## d'où est exécuté MAME. Nous le créerons dans le prochain chapitre :
%%(text;9;mame.ini)
#
# CORE SEARCH PATH OPTIONS
#
rompath roms
%%
Et la vidéo est gérée par la couche logicielle, sans prise en charge d'accélération OpenGL (très bien pour un premier lancement!):
%%(text;163;mame.ini)
#
# VIDEO OPTIONS
#
video soft
%%
=== VI.e Les ROMs ===
Nous y voilà, commençons par créer le dossier des ROMs comme paramétré dans le fichier de configuration ##mame.ini## vu ci-dessus:
%%
puckman@mamecab:~/mame$ mkdir roms
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini roms
%%
Quelques éditeurs ont libéré les droits de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces bonnes initiatives nous allons pouvoir lancer nos premiers jeux!
La plupart de ces ROMs sont tout simplement regroupées dans [[http://mamedev.org/roms/ la section "roms" du site officiel de MAME]]. Récupérons par exemple l'excellent [[http://mamedev.org/roms/teetert/ Teeter Torture]] (Exidy) et [[http://mamedev.org/roms/gridlee/ Gridlee]] (Videa) depuis le dossier ##roms##:
%%
puckman@mamecab:~/mame$ cd roms
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/teetert/teetert.zip"
--2011-03-25 08:37:52-- http://mamedev.org/roms/teetert/teetert.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 24907 (24K) [application/zip]
Sauvegarde en : «teetert.zip»
100%[=============================================================================>] 24 907 14,3K/s ds 1,7s
2011-03-25 08:37:55 (14,3 KB/s) - «teetert.zip» sauvegardé [24907/24907]
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/gridlee/gridlee.zip"
--2011-03-25 08:38:24-- http://mamedev.org/roms/gridlee/gridlee.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 26154 (26K) [application/zip]
Sauvegarde en : «gridlee.zip»
100%[=============================================================================>] 26 154 24,8K/s ds 1,0s
2011-03-25 08:38:26 (24,8 KB/s) - «gridlee.zip» sauvegardé [26154/26154]
%%
Vérifions que les ROMs sont bien là et quittons le dossier ##roms## sans décompresser les ZIP, MAME va s'en charger à la volée lors du lancement du jeu:
%%
puckman@mamecab:~/mame/roms$ ls
gridlee.zip teetert.zip
puckman@mamecab:~/mame/roms$ cd ..
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini roms
%%
==== VII. SERVEUR X ====
=== VII.a Installation ===
Il est nécessaire d'installer un serveur graphique minimal appelé "serveur X", sans pour autant charger barre des tâches et autres menus (pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc). Nous aurons par ailleurs besoin de quelques outils et dépendances:
- ##xserver-xorg-core##, le serveur X "[[http://www.x.org/wiki/ X.Org]]"
- ##xfonts-base## et ""ttf-liberation"" fournissant des jeux de police TrueType par défaut et Libres
- ##xterm## pour avoir un terminal graphique
- ##xinit## qui fourni le lanceur de session graphique ##startx##
- ##x11-xserver-utils## regroupant de nombreux utilitaires pour X
Ces installations se font avec le compte ##root##, passer en mode "super-utilisateur" au préalable avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
%%
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install xserver-xorg-core xfonts-base ttf-liberation xterm xinit x11-xserver-utils
Les NOUVEAUX paquets suivants vont être installés :
libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} ttf-liberation x11-utils{a}
x11-xserver-utils xbitmaps{a} xinit xterm
0 paquets mis à jour, 9 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 1 019 ko d'archives. Après dépaquetage, 3 486 ko seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libxcb-atom1 i386 0.3.6-1 [9 526 B]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libxv1 i386 2:1.0.5-1 [17,1 kB]
[...]
%%
Une fois le serveur X installé, n'oublions surtout pas de **quitter le compte ##root##** avec la commande ##exit##:
%%
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
%%
**Note sur la prise en charge d'OpenGL**: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], {{color hex="#dd0000" text="Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D"}}. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
=== VII.b Premier lancement MAME ===
>>Attention, ous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>> Ceux qui ont suivi jusque là l'ont bien mérité, il est temps de lancer MAME! Nous allons donc exécuter la commande manuelle ##startx## pour lancer notre environnement graphique (oui, on aura même un curseur de souris) puis ##mame##:
%%
puckman@mamecab:~/mame$ startx
%%
Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le fameux ##xterm## installé précédemment. Lançons donc enfin notre émulateur préféré:
%%
puckman@mamecab:~/mame$ ./mame
%%
@@
{{image url="/_extra_/mamecab_xorg01.jpg" title="mame" alt="screenshot"}}
Bienvenue sur MAME! Vous devriez obtenir l'interface d'accueil avec le choix des jeux qu'il a trouvé.
Vous pouvez utiliser les flèches #%HAUT#%/#%BAS#%, #%ENTREE#% pour lancer le jeu et #%ECHAP#% pour quitter.
{{image url="/_extra_/mamecab_xorg02.jpg" title="mame" alt="screenshot"}}
Avertissement. Vous pouvez le passer en saisissant "ok" ou les flèches #%GAUCHE#% puis #%DROITE#%.
{{image url="/_extra_/mamecab_xorg03.jpg" title="mame" alt="screenshot"}}
Les informations sur l'émulation audio, CPU et vidéo. Remarquez la résolution 256x256 en 60Hz.
{{image url="/_extra_/mamecab_xorg04.jpg" title="mame" alt="screenshot"}}
LE PREMIER JEU MAME, woohoo!!
{{image url="/_extra_/mamecab_xorg05.jpg" title="mame" alt="screenshot"}}
Il n'y a pas que le boulot dans la vie! je vous laisse un moment de détente avec //X// et la vidéo //soft//...
#%ECHAP#% pour quitter.
@@
Après avoir quitté MAME, nous devons sortir de l'environnement X avec la commande ##exit##:
%%
puckman@mamecab:~/mame$ exit
%%
==== VIII. EXTRAS ====
=== VIII.a Catégories ===
%%
puckman@mamecab:~/mame$ cd /tmp
puckman@mamecab:/tmp$ wget "http://www.progettoemma.net/public/ccount/click.php?id=6" -O catver.zip
--2011-03-25 14:38:55-- http://www.progettoemma.net/public/ccount/click.php?id=6
Résolution de www.progettoemma.net... 62.149.130.187
Connexion vers www.progettoemma.net|62.149.130.187|:80...connecté.
requête HTTP transmise, en attente de la réponse...302 Moved Temporarily
Emplacement: http://www.progettoemma.net/public/cat/catveren.zip [suivant]
--2011-03-25 14:38:56-- http://www.progettoemma.net/public/cat/catveren.zip
Réutilisation de la connexion existante vers www.progettoemma.net:80.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 106438 (104K) [application/x-zip-compressed]
Sauvegarde en : «catver.zip»
100%[=============================================================================>] 106 438 19,7K/s ds 5,3s
2011-03-25 14:39:02 (19,7 KB/s) - «catver.zip» sauvegardé [106438/106438]
puckman@mamecab:/tmp$ unzip catver.zip
Archive: catver.zip
inflating: Catver.ini
inflating: leggimi.txt
inflating: readme.txt
puckman@mamecab:/tmp$ cp Catver.ini ~/mame/catver.ini
%%
=== VIII.b Illustrations ===
todo: snaps, marquees, cpanel
=== VIII.a Historique ===
todo: history.dat
=== VIII.a Contrôleurs ===
todo: controls.ini
==== IX. WAH!CADE ====
Bien que MAME seul soit parfaitement capable de lancer les jeux depuis sa propre liste, il est préférable d'utiliser un "front-end". Son travail est de vous montrer les jeux disponibles avec captures d'écrans, animations vidéo, catégories, tri et divers filtres. Certains vont même jusqu'à gérer différents émulateurs à la fois (MAME, ZSnes, Gens, etc.), un mode Juke Box, des skins, etc. Bref, dans le souci de toujours bien séparer les choses, je vous propose d'installer le front-end [[http://www.anti-particle.com/wahcade.shtml Wah!Cade]], version libre de MAMEWah. Vous trouverez [[http://www.anti-particle.com/wahcade_scr.shtml quelques captures d'écran ici]].
=== IX.a Installation ===
Wah!cade fournit gracieusement un paquet d'installation pour Debian. Nous devons toutefois installer au préalable les librairies Python nécessaires au fonctionnement de Wah!cade en tant que "super-utilisateur" ##root##:
%%
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install python-gtk2 python-chardet python-imaging python-glade2 python-gst0.10 python-pygame
Les NOUVEAUX paquets suivants vont être installés :
libblas3gf{a} libffi5{a} libgfortran3{a} libglade2-0{a} libgstreamer-plugins-base0.10-0{a} libgstreamer0.10-0{a}
liblapack3gf{a} liblcms1{a} libmikmod2{a} libpython2.6{a} libsdl-image1.2{a} libsdl-mixer1.2{a} libsmpeg0{a}
libvorbisfile3{a} python-cairo{a} python-chardet python-glade2 python-gobject{a} python-gst0.10 python-gtk2
python-imaging python-libxml2{a} python-numpy{a} python-pygame ttf-freefont{a}
0 paquets mis à jour, 25 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 15,9 Mo d'archives. Après dépaquetage, 46,9 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libgfortran3 i386 4.4.5-8 [238 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libblas3gf i386 1.2-8 [211 kB]
[...]
%%
Passons à Wah!cade: la version actuelle de Wah!cade que je vais télécharger est la "0.99pre8". Vérifiez la version disponible sur [[http://www.anti-particle.com/wahcade_dl.shtml la page de téléchargement]] et adaptez au besoin:
%%
root@mamecab:~# wget -c "http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb"
--2011-03-25 11:11:09-- http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb
Résolution de www.anti-particle.com... 83.170.91.181
Connexion vers www.anti-particle.com|83.170.91.181|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 859782 (840K) [text/plain]
Sauvegarde en : «wahcade_0.99pre8_all.deb»
100%[=============================================================================>] 859 782 97,3K/s ds 12s
2011-03-25 11:21:29 (73,0 KB/s) - «wahcade_0.99pre8_all.deb» sauvegardé [859782/859782]
%%
L'installation se déroule très rapidement en spécifiant manuellement le paquet que l'on vient de télécharger:
%%
root@mamecab:~# dpkg -i wahcade_0.99pre8_all.deb
Sélection du paquet wahcade précédemment désélectionné.
(Lecture de la base de données... 49679 fichiers et répertoires déjà installés.)
Dépaquetage de wahcade (à partir de wahcade_0.99pre8_all.deb) ...
Paramétrage de wahcade (0.99pre8) ...
%%
Une fois le paquet installé, n'oublions surtout pas de supprimer le paquet d'installation et surtout **quitter le compte ##root##** avec la commande ##exit##:
%%
root@mamecab:~# rm -f wahcade_0.99pre8_all.deb
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
%%
=== IX.b Configuration ===
La configuration peut se faire dans l'environnement graphique. Lançons à nouveau le serveur X manuellement:
%%
puckman@mamecab:~/mame$ startx
%%
Vous devez être sous environnement graphique dans le terminal X ##xterm##. Continuons avec ##wahcade-setup##:
%%
puckman@mamecab:~/mame$ wahcade-setup
%%
La fenêtre se lance mais sans bordures ni titre de fenêtre. Pas de panique, c'est normal car on n'a pas installé de gestionnaire de fenêtre (KDE, GNOME, etc.) mais qui en a besoin sur une borne? Je vous ai mis les capture d'écran ci-dessous avec les champs à vérifier:
@@
{{image url="/_extra_/mamecab_wahcfg01.jpg" title="configuration" alt="screenshot"}}
Cliquez sur l'onglet "Emulators", puis dans la zone de saisie "Application" il faut renseigner le chemin vers le
binaire MAME. Vous pouvez saisir ##/home/puckman/mame/mame## ou plus simplement utiliser le
raccourci "~" qui pointe automatiquement vers le dossier de votre utilisateur courant, à savoir
"/home/puckman/" dans notre cas. Ce qui donne en version courte ##~/mame/mame##!
{{image url="/_extra_/mamecab_wahcfg03.jpg" title="configuration" alt="screenshot"}}
Plus bas dans "List Generation" saisir le chemin vers les ROMs ##~/mame/roms/##
{{image url="/_extra_/mamecab_wahcfg04.jpg" title="configuration" alt="screenshot"}}
Toujours dans l'onglet "Emulators", dans la section "Artwork", renseignez dans l'ordre les chemins vers
les captures d'écran ##~/mame/snaps##, les panneaux de contrôle ##~/mame/cpanel## puis les
bandeaux lumineux ##~/mame/marquees##
{{image url="/_extra_/mamecab_wahcfg02.jpg" title="configuration" alt="screenshot"}}
Passer ensuite sur l'onglet "M.A.M.E. Only" et faites travailler vos petits doigts agiles:
##~/mame/mameinfo.xml## pour le fichier XML, ##~/mame/catver.ini## pour les catégories,
##~/mame/history.dat## pour l'historique des jeux puis ##~/mame/controls.ini## pour les contrôleurs.
{{image url="/_extra_/mamecab_wahcfg05.jpg" title="configuration" alt="screenshot"}}
Sauvons ensuite tout cela par le menu ##File## et ##Enregistrer##. Puis ##Quitter## pour sortir proprement.
@@
Après avoir quitté le gestionnaire de configuration, nous devons sortir de l'environnement X avec la commande ##exit##:
%%
puckman@mamecab:~/mame$ exit
%%
==== X. FINALISATION ====
todo: autostart, passwords, etc.
Additions:
puckman@mamecab:~/mame$ cd /tmp
puckman@mamecab:/tmp$ wget "http://www.progettoemma.net/public/ccount/click.php?id=6" -O catver.zip
--2011-03-25 14:38:55-- http://www.progettoemma.net/public/ccount/click.php?id=6
Résolution de www.progettoemma.net... 62.149.130.187
Connexion vers www.progettoemma.net|62.149.130.187|:80...connecté.
requête HTTP transmise, en attente de la réponse...302 Moved Temporarily
Emplacement: http://www.progettoemma.net/public/cat/catveren.zip [suivant]
--2011-03-25 14:38:56-- http://www.progettoemma.net/public/cat/catveren.zip
Réutilisation de la connexion existante vers www.progettoemma.net:80.
Longueur: 106438 (104K) [application/x-zip-compressed]
Sauvegarde en : «catver.zip»
100%[=============================================================================>] 106 438 19,7K/s ds 5,3s
2011-03-25 14:39:02 (19,7 KB/s) - «catver.zip» sauvegardé [106438/106438]
puckman@mamecab:/tmp$ unzip catver.zip
Archive: catver.zip
inflating: Catver.ini
inflating: leggimi.txt
inflating: readme.txt
puckman@mamecab:/tmp$ cp Catver.ini ~/mame/catver.ini
puckman@mamecab:/tmp$ wget "http://www.progettoemma.net/public/ccount/click.php?id=6" -O catver.zip
--2011-03-25 14:38:55-- http://www.progettoemma.net/public/ccount/click.php?id=6
Résolution de www.progettoemma.net... 62.149.130.187
Connexion vers www.progettoemma.net|62.149.130.187|:80...connecté.
requête HTTP transmise, en attente de la réponse...302 Moved Temporarily
Emplacement: http://www.progettoemma.net/public/cat/catveren.zip [suivant]
--2011-03-25 14:38:56-- http://www.progettoemma.net/public/cat/catveren.zip
Réutilisation de la connexion existante vers www.progettoemma.net:80.
Longueur: 106438 (104K) [application/x-zip-compressed]
Sauvegarde en : «catver.zip»
100%[=============================================================================>] 106 438 19,7K/s ds 5,3s
2011-03-25 14:39:02 (19,7 KB/s) - «catver.zip» sauvegardé [106438/106438]
puckman@mamecab:/tmp$ unzip catver.zip
Archive: catver.zip
inflating: Catver.ini
inflating: leggimi.txt
inflating: readme.txt
puckman@mamecab:/tmp$ cp Catver.ini ~/mame/catver.ini
Deletions:
Additions:
==== VIII. EXTRAS ====
=== VIII.a Catégories ===
todo: catver.ini
=== VIII.b Illustrations ===
todo: snaps, marquees, cpanel
=== VIII.a Historique ===
todo: history.dat
=== VIII.a Contrôleurs ===
todo: controls.ini
==== IX. WAH!CADE ====
=== IX.a Installation ===
=== IX.b Configuration ===
==== X. FINALISATION ====
todo: autostart, passwords, etc.
=== VIII.a Catégories ===
todo: catver.ini
=== VIII.b Illustrations ===
todo: snaps, marquees, cpanel
=== VIII.a Historique ===
todo: history.dat
=== VIII.a Contrôleurs ===
todo: controls.ini
==== IX. WAH!CADE ====
=== IX.a Installation ===
=== IX.b Configuration ===
==== X. FINALISATION ====
todo: autostart, passwords, etc.
Deletions:
=== VIII.a Installation ===
=== VIII.b Configuration ===
==== IX. EXTRAS ====
todo: autostart, artworks, chds, cheats, etc + conf mame & wah!cade successives
Additions:
Cliquez sur l'onglet "Emulators", puis dans la zone de saisie "Application" il faut renseigner le chemin vers le
binaire MAME. Vous pouvez saisir ##/home/puckman/mame/mame## ou plus simplement utiliser le
raccourci "~" qui pointe automatiquement vers le dossier de votre utilisateur courant, à savoir
"/home/puckman/" dans notre cas. Ce qui donne en version courte ##~/mame/mame##!
Plus bas dans "List Generation" saisir le chemin vers les ROMs ##~/mame/roms/##
Toujours dans l'onglet "Emulators", dans la section "Artwork", renseignez dans l'ordre les chemins vers
les captures d'écran ##~/mame/snaps##, les panneaux de contrôle ##~/mame/cpanel## puis les
bandeaux lumineux ##~/mame/marquees##
Passer ensuite sur l'onglet "M.A.M.E. Only" et faites travailler vos petits doigts agiles:
##~/mame/mameinfo.xml## pour le fichier XML, ##~/mame/catver.ini## pour les catégories,
##~/mame/history.dat## pour l'historique des jeux puis ##~/mame/controls.ini## pour les contrôleurs.
binaire MAME. Vous pouvez saisir ##/home/puckman/mame/mame## ou plus simplement utiliser le
raccourci "~" qui pointe automatiquement vers le dossier de votre utilisateur courant, à savoir
"/home/puckman/" dans notre cas. Ce qui donne en version courte ##~/mame/mame##!
Plus bas dans "List Generation" saisir le chemin vers les ROMs ##~/mame/roms/##
Toujours dans l'onglet "Emulators", dans la section "Artwork", renseignez dans l'ordre les chemins vers
les captures d'écran ##~/mame/snaps##, les panneaux de contrôle ##~/mame/cpanel## puis les
bandeaux lumineux ##~/mame/marquees##
Passer ensuite sur l'onglet "M.A.M.E. Only" et faites travailler vos petits doigts agiles:
##~/mame/mameinfo.xml## pour le fichier XML, ##~/mame/catver.ini## pour les catégories,
##~/mame/history.dat## pour l'historique des jeux puis ##~/mame/controls.ini## pour les contrôleurs.
Additions:
{{image url="/_extra_/mamecab_wahcfg01.jpg" title="configuration" alt="screenshot"}}
{{image url="/_extra_/mamecab_wahcfg02.jpg" title="configuration" alt="screenshot"}}
{{image url="/_extra_/mamecab_wahcfg03.jpg" title="configuration" alt="screenshot"}}
{{image url="/_extra_/mamecab_wahcfg04.jpg" title="configuration" alt="screenshot"}}
{{image url="/_extra_/mamecab_wahcfg05.jpg" title="configuration" alt="screenshot"}}
Sauvons ensuite tout cela par le menu ##File## et ##Enregistrer##. Puis ##Quitter## pour sortir proprement.
{{image url="/_extra_/mamecab_wahcfg02.jpg" title="configuration" alt="screenshot"}}
{{image url="/_extra_/mamecab_wahcfg03.jpg" title="configuration" alt="screenshot"}}
{{image url="/_extra_/mamecab_wahcfg04.jpg" title="configuration" alt="screenshot"}}
{{image url="/_extra_/mamecab_wahcfg05.jpg" title="configuration" alt="screenshot"}}
Sauvons ensuite tout cela par le menu ##File## et ##Enregistrer##. Puis ##Quitter## pour sortir proprement.
Deletions:
Additions:
La configuration peut se faire dans l'environnement graphique. Lançons à nouveau le serveur X manuellement:
Vous devez être sous environnement graphique dans le terminal X ##xterm##. Continuons avec ##wahcade-setup##:
todo: screenshots.
Vous devez être sous environnement graphique dans le terminal X ##xterm##. Continuons avec ##wahcade-setup##:
todo: screenshots.
Deletions:
Vous devez être sous environnement graphique dans le terminal X #xterm##. Continuons:
Additions:
Document rédigé en Mars 2011. Vous trouverez un [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 premier document]] datant de mi-2008 mais qui n'est évidemment plus à jour.
Une fois le serveur X installé, n'oublions surtout pas de **quitter le compte ##root##** avec la commande ##exit##:
Bienvenue sur MAME! Vous devriez obtenir l'interface d'accueil avec le choix des jeux qu'il a trouvé.
Vous pouvez utiliser les flèches #%HAUT#%/#%BAS#%, #%ENTREE#% pour lancer le jeu et #%ECHAP#% pour quitter.
Avertissement. Vous pouvez le passer en saisissant "ok" ou les flèches #%GAUCHE#% puis #%DROITE#%.
Bien que MAME seul soit parfaitement capable de lancer les jeux depuis sa propre liste, il est préférable d'utiliser un "front-end". Son travail est de vous montrer les jeux disponibles avec captures d'écrans, animations vidéo, catégories, tri et divers filtres. Certains vont même jusqu'à gérer différents émulateurs à la fois (MAME, ZSnes, Gens, etc.), un mode Juke Box, des skins, etc. Bref, dans le souci de toujours bien séparer les choses, je vous propose d'installer le front-end [[http://www.anti-particle.com/wahcade.shtml Wah!Cade]], version libre de MAMEWah. Vous trouverez [[http://www.anti-particle.com/wahcade_scr.shtml quelques captures d'écran ici]].
=== VIII.a Installation ===
Wah!cade fournit gracieusement un paquet d'installation pour Debian. Nous devons toutefois installer au préalable les librairies Python nécessaires au fonctionnement de Wah!cade en tant que "super-utilisateur" ##root##:
root@mamecab:~# aptitude install python-gtk2 python-chardet python-imaging python-glade2 python-gst0.10 python-pygame
libblas3gf{a} libffi5{a} libgfortran3{a} libglade2-0{a} libgstreamer-plugins-base0.10-0{a} libgstreamer0.10-0{a}
liblapack3gf{a} liblcms1{a} libmikmod2{a} libpython2.6{a} libsdl-image1.2{a} libsdl-mixer1.2{a} libsmpeg0{a}
libvorbisfile3{a} python-cairo{a} python-chardet python-glade2 python-gobject{a} python-gst0.10 python-gtk2
python-imaging python-libxml2{a} python-numpy{a} python-pygame ttf-freefont{a}
0 paquets mis à jour, 25 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 15,9 Mo d'archives. Après dépaquetage, 46,9 Mo seront utilisés.
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libgfortran3 i386 4.4.5-8 [238 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libblas3gf i386 1.2-8 [211 kB]
Passons à Wah!cade: la version actuelle de Wah!cade que je vais télécharger est la "0.99pre8". Vérifiez la version disponible sur [[http://www.anti-particle.com/wahcade_dl.shtml la page de téléchargement]] et adaptez au besoin:
root@mamecab:~# wget -c "http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb"
--2011-03-25 11:11:09-- http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb
Résolution de www.anti-particle.com... 83.170.91.181
Connexion vers www.anti-particle.com|83.170.91.181|:80...connecté.
Longueur: 859782 (840K) [text/plain]
Sauvegarde en : «wahcade_0.99pre8_all.deb»
100%[=============================================================================>] 859 782 97,3K/s ds 12s
2011-03-25 11:21:29 (73,0 KB/s) - «wahcade_0.99pre8_all.deb» sauvegardé [859782/859782]
L'installation se déroule très rapidement en spécifiant manuellement le paquet que l'on vient de télécharger:
root@mamecab:~# dpkg -i wahcade_0.99pre8_all.deb
Sélection du paquet wahcade précédemment désélectionné.
(Lecture de la base de données... 49679 fichiers et répertoires déjà installés.)
Dépaquetage de wahcade (à partir de wahcade_0.99pre8_all.deb) ...
Paramétrage de wahcade (0.99pre8) ...
Une fois le paquet installé, n'oublions surtout pas de supprimer le paquet d'installation et surtout **quitter le compte ##root##** avec la commande ##exit##:
root@mamecab:~# rm -f wahcade_0.99pre8_all.deb
=== VIII.b Configuration ===
La configuration peut se faire dans l'environnement graphique. Lançons à nouveau le serveur X manuellement puis ##wahcade-setup##:
Vous devez être sous environnement graphique dans le terminal X #xterm##. Continuons:
puckman@mamecab:~/mame$ wahcade-setup
La fenêtre se lance mais sans bordures ni titre de fenêtre. Pas de panique, c'est normal car on n'a pas installé de gestionnaire de fenêtre (KDE, GNOME, etc.) mais qui en a besoin sur une borne? Je vous ai mis les capture d'écran ci-dessous avec les champs à vérifier:
Après avoir quitté le gestionnaire de configuration, nous devons sortir de l'environnement X avec la commande ##exit##:
todo: autostart, artworks, chds, cheats, etc + conf mame & wah!cade successives
Une fois le serveur X installé, n'oublions surtout pas de **quitter le compte ##root##** avec la commande ##exit##:
Bienvenue sur MAME! Vous devriez obtenir l'interface d'accueil avec le choix des jeux qu'il a trouvé.
Vous pouvez utiliser les flèches #%HAUT#%/#%BAS#%, #%ENTREE#% pour lancer le jeu et #%ECHAP#% pour quitter.
Avertissement. Vous pouvez le passer en saisissant "ok" ou les flèches #%GAUCHE#% puis #%DROITE#%.
Bien que MAME seul soit parfaitement capable de lancer les jeux depuis sa propre liste, il est préférable d'utiliser un "front-end". Son travail est de vous montrer les jeux disponibles avec captures d'écrans, animations vidéo, catégories, tri et divers filtres. Certains vont même jusqu'à gérer différents émulateurs à la fois (MAME, ZSnes, Gens, etc.), un mode Juke Box, des skins, etc. Bref, dans le souci de toujours bien séparer les choses, je vous propose d'installer le front-end [[http://www.anti-particle.com/wahcade.shtml Wah!Cade]], version libre de MAMEWah. Vous trouverez [[http://www.anti-particle.com/wahcade_scr.shtml quelques captures d'écran ici]].
=== VIII.a Installation ===
Wah!cade fournit gracieusement un paquet d'installation pour Debian. Nous devons toutefois installer au préalable les librairies Python nécessaires au fonctionnement de Wah!cade en tant que "super-utilisateur" ##root##:
root@mamecab:~# aptitude install python-gtk2 python-chardet python-imaging python-glade2 python-gst0.10 python-pygame
libblas3gf{a} libffi5{a} libgfortran3{a} libglade2-0{a} libgstreamer-plugins-base0.10-0{a} libgstreamer0.10-0{a}
liblapack3gf{a} liblcms1{a} libmikmod2{a} libpython2.6{a} libsdl-image1.2{a} libsdl-mixer1.2{a} libsmpeg0{a}
libvorbisfile3{a} python-cairo{a} python-chardet python-glade2 python-gobject{a} python-gst0.10 python-gtk2
python-imaging python-libxml2{a} python-numpy{a} python-pygame ttf-freefont{a}
0 paquets mis à jour, 25 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 15,9 Mo d'archives. Après dépaquetage, 46,9 Mo seront utilisés.
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libgfortran3 i386 4.4.5-8 [238 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libblas3gf i386 1.2-8 [211 kB]
Passons à Wah!cade: la version actuelle de Wah!cade que je vais télécharger est la "0.99pre8". Vérifiez la version disponible sur [[http://www.anti-particle.com/wahcade_dl.shtml la page de téléchargement]] et adaptez au besoin:
root@mamecab:~# wget -c "http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb"
--2011-03-25 11:11:09-- http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb
Résolution de www.anti-particle.com... 83.170.91.181
Connexion vers www.anti-particle.com|83.170.91.181|:80...connecté.
Longueur: 859782 (840K) [text/plain]
Sauvegarde en : «wahcade_0.99pre8_all.deb»
100%[=============================================================================>] 859 782 97,3K/s ds 12s
2011-03-25 11:21:29 (73,0 KB/s) - «wahcade_0.99pre8_all.deb» sauvegardé [859782/859782]
L'installation se déroule très rapidement en spécifiant manuellement le paquet que l'on vient de télécharger:
root@mamecab:~# dpkg -i wahcade_0.99pre8_all.deb
Sélection du paquet wahcade précédemment désélectionné.
(Lecture de la base de données... 49679 fichiers et répertoires déjà installés.)
Dépaquetage de wahcade (à partir de wahcade_0.99pre8_all.deb) ...
Paramétrage de wahcade (0.99pre8) ...
Une fois le paquet installé, n'oublions surtout pas de supprimer le paquet d'installation et surtout **quitter le compte ##root##** avec la commande ##exit##:
root@mamecab:~# rm -f wahcade_0.99pre8_all.deb
=== VIII.b Configuration ===
La configuration peut se faire dans l'environnement graphique. Lançons à nouveau le serveur X manuellement puis ##wahcade-setup##:
Vous devez être sous environnement graphique dans le terminal X #xterm##. Continuons:
puckman@mamecab:~/mame$ wahcade-setup
La fenêtre se lance mais sans bordures ni titre de fenêtre. Pas de panique, c'est normal car on n'a pas installé de gestionnaire de fenêtre (KDE, GNOME, etc.) mais qui en a besoin sur une borne? Je vous ai mis les capture d'écran ci-dessous avec les champs à vérifier:
Après avoir quitté le gestionnaire de configuration, nous devons sortir de l'environnement X avec la commande ##exit##:
todo: autostart, artworks, chds, cheats, etc + conf mame & wah!cade successives
Deletions:
[[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 Un document]] a été écrit mi-2008 mais n'est plus à jour.
Une fois le serveur X installé, n'oublions surtout pas de **color hex="#dd0000" text="quitter le compte ##root##"** avec la commande ##exit##:
Bienvenue sur MAME! Vous devriez obtenir l'interface d'accueil avec le choix des jeux qu'il a trouvé. Vous pouvez utiliser les flèches #%HAUT#%/#%BAS#%, #%ENTREE#% pour lancer le jeu et #%ECHAP#% pour quitter.
Avertissement que vous pouvez passer la première fois en saisissant "ok" ou les flèches #%GAUCHE#% puis #%DROITE#%.
todo: dépendances
todo: install .deb
todo: artworks, chds, cheats, etc + conf ini successives
Additions:
LE PREMIER JEU MAME, woohoo!!
Il n'y a pas que le boulot dans la vie! je vous laisse un moment de détente avec //X// et la vidéo //soft//...
#%ECHAP#% pour quitter.
Après avoir quitté MAME, nous devons sortir de l'environnement X avec la commande ##exit##:
Il n'y a pas que le boulot dans la vie! je vous laisse un moment de détente avec //X// et la vidéo //soft//...
#%ECHAP#% pour quitter.
Après avoir quitté MAME, nous devons sortir de l'environnement X avec la commande ##exit##:
Deletions:
Je vous laisse vous détendre un peu avec X et la vidéo" soft". #%ECHAP#% pour quitter.
Une fois quitté MAME, nous pouvons sortir de l'environnement X avec la commande ##exit##:
Additions:
À partir de maintenant, nous travaillerons donc **dans le dossier ##/home/puckman/mame##** ou ##/home/nom_utilisateur/mame## selon votre installation.
Les ROMs seront donc par défaut recherchées dans le dossier ##roms## d'où est exécuté MAME. Nous le créerons dans le prochain chapitre :
%%(text;9;mame.ini)
%%(text;163;mame.ini)
Nous y voilà, commençons par créer le dossier des ROMs comme paramétré dans le fichier de configuration ##mame.ini## vu ci-dessus:
puckman@mamecab:~/mame$ mkdir roms
mame mameinfo.xml mame.ini roms
Quelques éditeurs ont libéré les droits de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces bonnes initiatives nous allons pouvoir lancer nos premiers jeux!
La plupart de ces ROMs sont tout simplement regroupées dans [[http://mamedev.org/roms/ la section "roms" du site officiel de MAME]]. Récupérons par exemple l'excellent [[http://mamedev.org/roms/teetert/ Teeter Torture]] (Exidy) et [[http://mamedev.org/roms/gridlee/ Gridlee]] (Videa) depuis le dossier ##roms##:
puckman@mamecab:~/mame$ cd roms
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/teetert/teetert.zip"
--2011-03-25 08:37:52-- http://mamedev.org/roms/teetert/teetert.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 24907 (24K) [application/zip]
Sauvegarde en : «teetert.zip»
100%[=============================================================================>] 24 907 14,3K/s ds 1,7s
2011-03-25 08:37:55 (14,3 KB/s) - «teetert.zip» sauvegardé [24907/24907]
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/gridlee/gridlee.zip"
--2011-03-25 08:38:24-- http://mamedev.org/roms/gridlee/gridlee.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 26154 (26K) [application/zip]
Sauvegarde en : «gridlee.zip»
100%[=============================================================================>] 26 154 24,8K/s ds 1,0s
2011-03-25 08:38:26 (24,8 KB/s) - «gridlee.zip» sauvegardé [26154/26154]
Vérifions que les ROMs sont bien là et quittons le dossier ##roms## sans décompresser les ZIP, MAME va s'en charger à la volée lors du lancement du jeu:
puckman@mamecab:~/mame/roms$ ls
gridlee.zip teetert.zip
puckman@mamecab:~/mame/roms$ cd ..
mame mameinfo.xml mame.ini roms
Une fois le serveur X installé, n'oublions surtout pas de **color hex="#dd0000" text="quitter le compte ##root##"** avec la commande ##exit##:
{{image url="/_extra_/mamecab_xorg01.jpg" title="mame" alt="screenshot"}}
Bienvenue sur MAME! Vous devriez obtenir l'interface d'accueil avec le choix des jeux qu'il a trouvé. Vous pouvez utiliser les flèches #%HAUT#%/#%BAS#%, #%ENTREE#% pour lancer le jeu et #%ECHAP#% pour quitter.
{{image url="/_extra_/mamecab_xorg02.jpg" title="mame" alt="screenshot"}}
Avertissement que vous pouvez passer la première fois en saisissant "ok" ou les flèches #%GAUCHE#% puis #%DROITE#%.
{{image url="/_extra_/mamecab_xorg03.jpg" title="mame" alt="screenshot"}}
Les informations sur l'émulation audio, CPU et vidéo. Remarquez la résolution 256x256 en 60Hz.
{{image url="/_extra_/mamecab_xorg04.jpg" title="mame" alt="screenshot"}}
LE PREMIER JEU, woohoo!!
{{image url="/_extra_/mamecab_xorg05.jpg" title="mame" alt="screenshot"}}
Je vous laisse vous détendre un peu avec X et la vidéo" soft". #%ECHAP#% pour quitter.
Une fois quitté MAME, nous pouvons sortir de l'environnement X avec la commande ##exit##:
puckman@mamecab:~/mame$ exit
Les ROMs seront donc par défaut recherchées dans le dossier ##roms## d'où est exécuté MAME. Nous le créerons dans le prochain chapitre :
%%(text;9;mame.ini)
%%(text;163;mame.ini)
Nous y voilà, commençons par créer le dossier des ROMs comme paramétré dans le fichier de configuration ##mame.ini## vu ci-dessus:
puckman@mamecab:~/mame$ mkdir roms
mame mameinfo.xml mame.ini roms
Quelques éditeurs ont libéré les droits de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces bonnes initiatives nous allons pouvoir lancer nos premiers jeux!
La plupart de ces ROMs sont tout simplement regroupées dans [[http://mamedev.org/roms/ la section "roms" du site officiel de MAME]]. Récupérons par exemple l'excellent [[http://mamedev.org/roms/teetert/ Teeter Torture]] (Exidy) et [[http://mamedev.org/roms/gridlee/ Gridlee]] (Videa) depuis le dossier ##roms##:
puckman@mamecab:~/mame$ cd roms
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/teetert/teetert.zip"
--2011-03-25 08:37:52-- http://mamedev.org/roms/teetert/teetert.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 24907 (24K) [application/zip]
Sauvegarde en : «teetert.zip»
100%[=============================================================================>] 24 907 14,3K/s ds 1,7s
2011-03-25 08:37:55 (14,3 KB/s) - «teetert.zip» sauvegardé [24907/24907]
puckman@mamecab:~/mame/roms$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/gridlee/gridlee.zip"
--2011-03-25 08:38:24-- http://mamedev.org/roms/gridlee/gridlee.zip
Résolution de mamedev.org... 67.210.100.31
Connexion vers mamedev.org|67.210.100.31|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 26154 (26K) [application/zip]
Sauvegarde en : «gridlee.zip»
100%[=============================================================================>] 26 154 24,8K/s ds 1,0s
2011-03-25 08:38:26 (24,8 KB/s) - «gridlee.zip» sauvegardé [26154/26154]
Vérifions que les ROMs sont bien là et quittons le dossier ##roms## sans décompresser les ZIP, MAME va s'en charger à la volée lors du lancement du jeu:
puckman@mamecab:~/mame/roms$ ls
gridlee.zip teetert.zip
puckman@mamecab:~/mame/roms$ cd ..
mame mameinfo.xml mame.ini roms
Une fois le serveur X installé, n'oublions surtout pas de **color hex="#dd0000" text="quitter le compte ##root##"** avec la commande ##exit##:
{{image url="/_extra_/mamecab_xorg01.jpg" title="mame" alt="screenshot"}}
Bienvenue sur MAME! Vous devriez obtenir l'interface d'accueil avec le choix des jeux qu'il a trouvé. Vous pouvez utiliser les flèches #%HAUT#%/#%BAS#%, #%ENTREE#% pour lancer le jeu et #%ECHAP#% pour quitter.
{{image url="/_extra_/mamecab_xorg02.jpg" title="mame" alt="screenshot"}}
Avertissement que vous pouvez passer la première fois en saisissant "ok" ou les flèches #%GAUCHE#% puis #%DROITE#%.
{{image url="/_extra_/mamecab_xorg03.jpg" title="mame" alt="screenshot"}}
Les informations sur l'émulation audio, CPU et vidéo. Remarquez la résolution 256x256 en 60Hz.
{{image url="/_extra_/mamecab_xorg04.jpg" title="mame" alt="screenshot"}}
LE PREMIER JEU, woohoo!!
{{image url="/_extra_/mamecab_xorg05.jpg" title="mame" alt="screenshot"}}
Je vous laisse vous détendre un peu avec X et la vidéo" soft". #%ECHAP#% pour quitter.
Une fois quitté MAME, nous pouvons sortir de l'environnement X avec la commande ##exit##:
puckman@mamecab:~/mame$ exit
Deletions:
Les ROMs seront donc par défaut recherchées dans le dossier ##roms## d'où est exécuté MAME:
%%(text;9)
%%(text;163)
Quelques éditeurs ont libéré les droits d'utilisation de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces personnes nous pouvons tester notre configuration! La plupart de ces ROMs sont tout simplement regroupées dans [[http://mamedev.org/roms/ la section "roms" du site officiel de MAME]]. Récupérons par exemple l'excellent [[http://mamedev.org/roms/teetert/ Teeter Torture]] (Exidy) et [[http://mamedev.org/roms/gridlee/ Gridlee]] (Videa):
puckman@mamecab:~/mame$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/teetert/teetert.zip"
Une fois le serveur X installé, n'oublions surtout pas de {{color hex="#dd0000" text="quitter le compte ##root##"}} avec la commande ##exit##:
todo: screenshot, commandes pour quitter MAME et X.
Additions:
Pour éviter de tout mélanger, nous laisserons les sources de côté et copierons le binaire ##mame## dans un dossier ##/home/puckman/mame/##. Nous y placerons également la configuration de MAME, les ROMs, snapshots, sauvegardes, etc., bref ce sera le dossier principal de MAME:
À partir de maintenant, nous travaillerons donc {{color hex="#dd0000" text="dans le dossier ##/home/puckman/mame##*"}} ou ##/home/nom_utilisateur/mame## selon votre installation.
Et éditons-le afin de vérifier au minimum le chemin des ROMs et le mode vidéo:
Les ROMs seront donc par défaut recherchées dans le dossier ##roms## d'où est exécuté MAME:
%%(text;9)
#
# CORE SEARCH PATH OPTIONS
#
rompath roms
Et la vidéo est gérée par la couche logicielle, sans prise en charge d'accélération OpenGL (très bien pour un premier lancement!):
%%(text;163)
#
# VIDEO OPTIONS
#
video soft
Quelques éditeurs ont libéré les droits d'utilisation de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces personnes nous pouvons tester notre configuration! La plupart de ces ROMs sont tout simplement regroupées dans [[http://mamedev.org/roms/ la section "roms" du site officiel de MAME]]. Récupérons par exemple l'excellent [[http://mamedev.org/roms/teetert/ Teeter Torture]] (Exidy) et [[http://mamedev.org/roms/gridlee/ Gridlee]] (Videa):
puckman@mamecab:~/mame$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/teetert/teetert.zip"
À partir de maintenant, nous travaillerons donc {{color hex="#dd0000" text="dans le dossier ##/home/puckman/mame##*"}} ou ##/home/nom_utilisateur/mame## selon votre installation.
Et éditons-le afin de vérifier au minimum le chemin des ROMs et le mode vidéo:
Les ROMs seront donc par défaut recherchées dans le dossier ##roms## d'où est exécuté MAME:
%%(text;9)
#
# CORE SEARCH PATH OPTIONS
#
rompath roms
Et la vidéo est gérée par la couche logicielle, sans prise en charge d'accélération OpenGL (très bien pour un premier lancement!):
%%(text;163)
#
# VIDEO OPTIONS
#
video soft
Quelques éditeurs ont libéré les droits d'utilisation de leurs jeux d'arcade pour une utilisation non commerciale. Grâce à ces personnes nous pouvons tester notre configuration! La plupart de ces ROMs sont tout simplement regroupées dans [[http://mamedev.org/roms/ la section "roms" du site officiel de MAME]]. Récupérons par exemple l'excellent [[http://mamedev.org/roms/teetert/ Teeter Torture]] (Exidy) et [[http://mamedev.org/roms/gridlee/ Gridlee]] (Videa):
puckman@mamecab:~/mame$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/roms/teetert/teetert.zip"
Deletions:
À partir de maintenant, nous travaillerons donc **dans le dossier ##/home/puckman/mame##** (ou ##/home/nom_utilisateur/mame## selon votre installation).
Et éditons-le afin de spécifier au minimum le chemin des ROMs, le mode vidéo et placer le clavier en Français:
- ROMs officielles libres de droits + rally
Additions:
Une fois le serveur X installé, n'oublions surtout pas de {{color hex="#dd0000" text="quitter le compte ##root##"}} avec la commande ##exit##:
**Note sur la prise en charge d'OpenGL**: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], {{color hex="#dd0000" text="Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D"}}. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
**Note sur la prise en charge d'OpenGL**: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], {{color hex="#dd0000" text="Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D"}}. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
Deletions:
__Note sur la prise en charge d'OpenGL__: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], **Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D**. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
Additions:
=== VII.a Installation ===
- ##xfonts-base## et ""ttf-liberation"" fournissant des jeux de police TrueType par défaut et Libres
Ces installations se font avec le compte ##root##, passer en mode "super-utilisateur" au préalable avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install xserver-xorg-core xfonts-base ttf-liberation xterm xinit x11-xserver-utils
libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} ttf-liberation x11-utils{a}
x11-xserver-utils xbitmaps{a} xinit xterm
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libxcb-atom1 i386 0.3.6-1 [9 526 B]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libxv1 i386 2:1.0.5-1 [17,1 kB]
Une fois le serveur X installé, n'oublions surtout pas de quitter le compte ##root## avec la commande ##exit##:
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
__Note sur la prise en charge d'OpenGL__: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], **Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D**. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
=== VII.b Premier lancement MAME ===
>>Attention, ous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>> Ceux qui ont suivi jusque là l'ont bien mérité, il est temps de lancer MAME! Nous allons donc exécuter la commande manuelle ##startx## pour lancer notre environnement graphique (oui, on aura même un curseur de souris) puis ##mame##:
puckman@mamecab:~/mame$ startx
Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le fameux ##xterm## installé précédemment. Lançons donc enfin notre émulateur préféré:
puckman@mamecab:~/mame$ ./mame
todo: screenshot, commandes pour quitter MAME et X.
- ##xfonts-base## et ""ttf-liberation"" fournissant des jeux de police TrueType par défaut et Libres
Ces installations se font avec le compte ##root##, passer en mode "super-utilisateur" au préalable avec la commande ##su -## (le mot de passe pour l'utilisateur ##root## ne sera pas affiché lors de la saisie):
puckman@mamecab:~/mame$ su -
Mot de passe :
root@mamecab:~# aptitude install xserver-xorg-core xfonts-base ttf-liberation xterm xinit x11-xserver-utils
libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} ttf-liberation x11-utils{a}
x11-xserver-utils xbitmaps{a} xinit xterm
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main libxcb-atom1 i386 0.3.6-1 [9 526 B]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libxv1 i386 2:1.0.5-1 [17,1 kB]
Une fois le serveur X installé, n'oublions surtout pas de quitter le compte ##root## avec la commande ##exit##:
root@mamecab:~# exit
logout
puckman@mamecab:~/mame$
__Note sur la prise en charge d'OpenGL__: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], **Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D**. MAME est toutefois utilisable sous environnement X avec le mode vidéo "soft" comme nous allons le voir ci-dessous :)
=== VII.b Premier lancement MAME ===
>>Attention, ous somme repassé sous le compte "puckman", et non "root" utilisé le temps de l'installation des paquets>> Ceux qui ont suivi jusque là l'ont bien mérité, il est temps de lancer MAME! Nous allons donc exécuter la commande manuelle ##startx## pour lancer notre environnement graphique (oui, on aura même un curseur de souris) puis ##mame##:
puckman@mamecab:~/mame$ startx
Vous devez être sous environnement graphique maintenant, mais dans un terminal X, le fameux ##xterm## installé précédemment. Lançons donc enfin notre émulateur préféré:
puckman@mamecab:~/mame$ ./mame
todo: screenshot, commandes pour quitter MAME et X.
Deletions:
root@mamecab:~# aptitude install xserver-xorg-core xfonts-base xterm xinit x11-xserver-utils
libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} x11-utils{a} x11-xserver-utils
xbitmaps{a} xinit xterm
Après l'installation des paquets, les modules doivent être chargés au démarrage. Il est temps de rebooter! Pressez simplement #%CTRL#%+#%ALT#%+#%SUPPR#%.
__Note sur la prise en charge d'OpenGL__: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], **Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D**. MAME est toutefois utilisable comme nous allons le voir ci-dessous :)
todo: premier test mame!
Additions:
root@mamecab:~# aptitude install xserver-xorg-core xfonts-base xterm xinit x11-xserver-utils
Les NOUVEAUX paquets suivants vont être installés :
libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} x11-utils{a} x11-xserver-utils
xbitmaps{a} xinit xterm
0 paquets mis à jour, 9 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 1 019 ko d'archives. Après dépaquetage, 3 486 ko seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Après l'installation des paquets, les modules doivent être chargés au démarrage. Il est temps de rebooter! Pressez simplement #%CTRL#%+#%ALT#%+#%SUPPR#%.
__Note sur la prise en charge d'OpenGL__: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], **Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D**. MAME est toutefois utilisable comme nous allons le voir ci-dessous :)
Les NOUVEAUX paquets suivants vont être installés :
libutempter0{a} libxcb-atom1{a} libxv1{a} libxxf86dga1{a} x11-utils{a} x11-xserver-utils
xbitmaps{a} xinit xterm
0 paquets mis à jour, 9 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 1 019 ko d'archives. Après dépaquetage, 3 486 ko seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Après l'installation des paquets, les modules doivent être chargés au démarrage. Il est temps de rebooter! Pressez simplement #%CTRL#%+#%ALT#%+#%SUPPR#%.
__Note sur la prise en charge d'OpenGL__: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], **Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D**. MAME est toutefois utilisable comme nous allons le voir ci-dessous :)
Deletions:
__Note sur la prise en charge d'OpenGL__: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], **Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D**.
todo: reboot pour charger les modules nécessaires
Additions:
puckman@mamecab:~/mame$ pico mame.ini
Additions:
docs makefile mame obj src whatsnew.txt
Toujours dans un souci de ne pas tout mélanger, nous laisserons les sources de côté et copierons le binaire ##mame## dans un dossier ##/home/puckman/mame/## (où nous placerons également notre configuration, les ROMs, snapshots, sauvegardes, etc.):
puckman@mamecab:~/sources/mame0141$ mkdir /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cp ./mame /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cd /home/puckman/mame/
puckman@mamecab:~/mame$ ls
mame
À partir de maintenant, nous travaillerons donc **dans le dossier ##/home/puckman/mame##** (ou ##/home/nom_utilisateur/mame## selon votre installation).
=== VI.d Configuration ===
Commençons par générer le fichier XML contenant l'ensemble des ROMs utilisables par cette version 0.141 (patience, cela peut prendre un peu de temps):
puckman@mamecab:~/mame$ ./mame -listxml > mameinfo.xml
puckman@mamecab:~/mame$ ls
mame mameinfo.xml
Générons ensuite le fichier de configuration ##mame.ini##:
puckman@mamecab:~/mame$ ./mame -createconfig
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini
Et éditons-le afin de spécifier au minimum le chemin des ROMs, le mode vidéo et placer le clavier en Français:
=== VI.e Les ROMs ===
- ROMs officielles libres de droits + rally
TODO: aptitude install xserver-xorg-core xfonts-base xterm xinit x11-xserver-utils
todo: reboot pour charger les modules nécessaires
todo: premier test mame!
todo: dépendances
todo: install .deb
todo: artworks, chds, cheats, etc + conf ini successives
Toujours dans un souci de ne pas tout mélanger, nous laisserons les sources de côté et copierons le binaire ##mame## dans un dossier ##/home/puckman/mame/## (où nous placerons également notre configuration, les ROMs, snapshots, sauvegardes, etc.):
puckman@mamecab:~/sources/mame0141$ mkdir /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cp ./mame /home/puckman/mame/
puckman@mamecab:~/sources/mame0141$ cd /home/puckman/mame/
puckman@mamecab:~/mame$ ls
mame
À partir de maintenant, nous travaillerons donc **dans le dossier ##/home/puckman/mame##** (ou ##/home/nom_utilisateur/mame## selon votre installation).
=== VI.d Configuration ===
Commençons par générer le fichier XML contenant l'ensemble des ROMs utilisables par cette version 0.141 (patience, cela peut prendre un peu de temps):
puckman@mamecab:~/mame$ ./mame -listxml > mameinfo.xml
puckman@mamecab:~/mame$ ls
mame mameinfo.xml
Générons ensuite le fichier de configuration ##mame.ini##:
puckman@mamecab:~/mame$ ./mame -createconfig
puckman@mamecab:~/mame$ ls
mame mameinfo.xml mame.ini
Et éditons-le afin de spécifier au minimum le chemin des ROMs, le mode vidéo et placer le clavier en Français:
=== VI.e Les ROMs ===
- ROMs officielles libres de droits + rally
TODO: aptitude install xserver-xorg-core xfonts-base xterm xinit x11-xserver-utils
todo: reboot pour charger les modules nécessaires
todo: premier test mame!
todo: dépendances
todo: install .deb
todo: artworks, chds, cheats, etc + conf ini successives
Deletions:
total 161024
drwxr-xr-x 5 puckman puckman 4096 24 mars 09:19 .
drwxr-xr-x 4 puckman puckman 4096 23 mars 16:32 ..
drwxr-xr-x 2 puckman puckman 4096 31 déc. 18:30 docs
-rw-r--r-- 1 puckman puckman 18182 29 déc. 22:50 makefile
-rwxr-xr-x 1 puckman puckman 49182604 24 mars 09:20 mame
-rw-r--r-- 1 puckman puckman 17092788 1 janv. 15:17 mame0141s.zip
-rw-r--r-- 1 puckman puckman 98351486 31 déc. 18:31 mame.zip
drwxr-xr-x 3 puckman puckman 4096 23 mars 16:17 obj
drwxr-xr-x 9 puckman puckman 4096 31 déc. 18:30 src
-rw-r--r-- 1 puckman puckman 30852 31 déc. 17:01 whatsnew.txt
VI.d Configuration
./mame -listxml > mameinfo.xml
./mame -createconfig
- Keyb FR
- Video soft
VI.e ROMs
- dl free MAME ROMs + rally
aptitude install xserver-xorg-core xfonts-base xterm xinit x11-xserver-utils
- reboot pour charger les modules nécessaires
- test mame
xxx
- artworks, chds, cheats, etc + conf ini
Additions:
./mame -listxml > mameinfo.xml
./mame -createconfig
- Keyb FR
- Video soft
VI.e ROMs
- dl free MAME ROMs + rally
- ##xserver-xorg-core##, le serveur X "[[http://www.x.org/wiki/ X.Org]]"
- ##xfonts-base## fournissant un jeu de polices par défaut
aptitude install xserver-xorg-core xfonts-base xterm xinit x11-xserver-utils
__Note sur la prise en charge d'OpenGL__: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], **Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D**.
- reboot pour charger les modules nécessaires
- test mame
==== VIII. WAH!CADE ====
==== IX. EXTRAS ====
- artworks, chds, cheats, etc + conf ini
./mame -createconfig
- Keyb FR
- Video soft
VI.e ROMs
- dl free MAME ROMs + rally
- ##xserver-xorg-core##, le serveur X "[[http://www.x.org/wiki/ X.Org]]"
- ##xfonts-base## fournissant un jeu de polices par défaut
aptitude install xserver-xorg-core xfonts-base xterm xinit x11-xserver-utils
__Note sur la prise en charge d'OpenGL__: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]], **Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D**.
- reboot pour charger les modules nécessaires
- test mame
==== VIII. WAH!CADE ====
==== IX. EXTRAS ====
- artworks, chds, cheats, etc + conf ini
Deletions:
- ##xfonts-base##, un jeu de polices par défaut
__Note sur la prise en charge d'OpenGL__: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]]. Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D.
-
-
-
-
Additions:
VI.d Configuration
xxx
==== VII. SERVEUR X ====
Il est nécessaire d'installer un serveur graphique minimal appelé "serveur X", sans pour autant charger barre des tâches et autres menus (pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc). Nous aurons par ailleurs besoin de quelques outils et dépendances:
- ##xserver-xorg-core##, le serveur [[http://www.x.org/wiki/ X.Org]] dérivé de la série XFree86 4.x des serveurs X
- ##xfonts-base##, un jeu de polices par défaut
- ##xterm## pour avoir un terminal graphique
- ##xinit## qui fourni le lanceur de session graphique ##startx##
- ##x11-xserver-utils## regroupant de nombreux utilitaires pour X
__Note sur la prise en charge d'OpenGL__: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]]. Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D.
-
-
-
-
xxx
==== VII. SERVEUR X ====
Il est nécessaire d'installer un serveur graphique minimal appelé "serveur X", sans pour autant charger barre des tâches et autres menus (pris en charge par des gestionnaires de bureau comme [[http://fr.kde.org/ KDE]], [[http://www.gnome.org/ GNOME]], [[http://www.xfce.org/ Xfce]], [[http://www.enlightenment.org/ Enlightenment]], etc). Nous aurons par ailleurs besoin de quelques outils et dépendances:
- ##xserver-xorg-core##, le serveur [[http://www.x.org/wiki/ X.Org]] dérivé de la série XFree86 4.x des serveurs X
- ##xfonts-base##, un jeu de polices par défaut
- ##xterm## pour avoir un terminal graphique
- ##xinit## qui fourni le lanceur de session graphique ##startx##
- ##x11-xserver-utils## regroupant de nombreux utilitaires pour X
__Note sur la prise en charge d'OpenGL__: selon que vous ayez une carte graphique ATI, NVidia ou Intel et que vous choisissiez les pilotes libres ou propriétaires il vous faudra installer et configurer différents éléments que je vous laisse le soin de découvrir sur l'excellent [[http://wiki.debian.org/fr/GraphicsCard Wiki DEBIAN consacré à ce sujet]]. Autrement vous ne pourrez pas bénéficier de l'accélération graphique 3D.
-
-
-
-
Additions:
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)>> Le dossier ##mame0141## contient maintenant les sources MAME 0.141 avec un fichier ##makefile## qui va permettre à l'ensemble des utilitaires de fonctionner de concert pour produire l'exécutable ##mame## avec différentes options selon votre système. N'hésitez pas à consulter le contenu du fichier ##makefile## si vous en avez envie!
Deletions:
Le dossier ##mame0141## contient maintenant les sources MAME 0.141 avec un fichier ##makefile## qui va permettre à l'ensemble des utilitaires de fonctionner de concert pour produire l'exécutable ##mame## avec différentes options selon votre système. N'hésitez pas à consulter le contenu du fichier ##makefile## si vous en avez envie!
Additions:
>>Note 1: Je lance un ##make clean## quand cela est possible pour nettoyer toute trace d'une précédente compilation.
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)>>
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)>>
Deletions:
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)<< ::c::
Additions:
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)<< ::c::
Deletions:
::c::
No Differences
Additions:
Tout s'est bien déroulé, **rendez-vous dans le dossier ##mame0141## avant de passer à la suite**:
Deletions:
Additions:
Tout s'est bien déroulé, rendez-vous dans le dossier ##mame0141##:
=== VI.c Construction du binaire ===
Le dossier ##mame0141## contient maintenant les sources MAME 0.141 avec un fichier ##makefile## qui va permettre à l'ensemble des utilitaires de fonctionner de concert pour produire l'exécutable ##mame## avec différentes options selon votre système. N'hésitez pas à consulter le contenu du fichier ##makefile## si vous en avez envie!
La compilation qui suit va prendre pas mal de temps, c'est le moment de la B.A. du jour: rangement du bureau!
<<Note 1: Je lance un ##make clean## quand cela est possible pour nettoyer toute trace d'une précédente compilation.
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)<<
::c::
=== VI.c Construction du binaire ===
Le dossier ##mame0141## contient maintenant les sources MAME 0.141 avec un fichier ##makefile## qui va permettre à l'ensemble des utilitaires de fonctionner de concert pour produire l'exécutable ##mame## avec différentes options selon votre système. N'hésitez pas à consulter le contenu du fichier ##makefile## si vous en avez envie!
La compilation qui suit va prendre pas mal de temps, c'est le moment de la B.A. du jour: rangement du bureau!
<<Note 1: Je lance un ##make clean## quand cela est possible pour nettoyer toute trace d'une précédente compilation.
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)<<
::c::
Deletions:
La compilation va prendre pas mal de temps, c'est le moment de la B.A. du jour: rangement du bureau!
Note 1: Je lance un ##make clean## quand cela est possible pour nettoyer toute trace d'une précédente compilation.
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)
Additions:
puckman@mamecab:~/sources$ unzip mame0141s.zip
inflating: mame.zip
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous le décompresserons dans un dossier nommé ##mame0141## pour bien séparer les choses:
puckman@mamecab:~/sources$ unzip mame.zip -d mame0141
creating: mame0141/docs/
extracting: mame0141/docs/config.txt
extracting: mame0141/docs/license.txt
extracting: mame0141/src/version.c
extracting: mame0141/whatsnew.txt
mame0141 mame0141s.zip mame.zip
Le dossier ##mame0141## contient maintenant les sources MAME 0.141 avec un fichier ##makefile## qui va permettre à l'ensemble des utilitaires de fonctionner de concert pour produire l'exécutable ##mame## avec différentes options selon votre système. Rendez-vous donc dans le dossier ##mame0141##:
puckman@mamecab:~/sources$ cd mame0141
puckman@mamecab:~/sources/mame0141$ ls
docs makefile src whatsnew.txt
Note 1: Je lance un ##make clean## quand cela est possible pour nettoyer toute trace d'une précédente compilation.
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)
puckman@mamecab:~/sources/mame0141$ make clean
puckman@mamecab:~/sources/mame0141$ make
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source/mame0141/##:
puckman@mamecab:~/sources/mame0141$ ls -la
inflating: mame.zip
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip##. Nous le décompresserons dans un dossier nommé ##mame0141## pour bien séparer les choses:
puckman@mamecab:~/sources$ unzip mame.zip -d mame0141
creating: mame0141/docs/
extracting: mame0141/docs/config.txt
extracting: mame0141/docs/license.txt
extracting: mame0141/src/version.c
extracting: mame0141/whatsnew.txt
mame0141 mame0141s.zip mame.zip
Le dossier ##mame0141## contient maintenant les sources MAME 0.141 avec un fichier ##makefile## qui va permettre à l'ensemble des utilitaires de fonctionner de concert pour produire l'exécutable ##mame## avec différentes options selon votre système. Rendez-vous donc dans le dossier ##mame0141##:
puckman@mamecab:~/sources$ cd mame0141
puckman@mamecab:~/sources/mame0141$ ls
docs makefile src whatsnew.txt
Note 1: Je lance un ##make clean## quand cela est possible pour nettoyer toute trace d'une précédente compilation.
Note 2: Au lieu de la commande ##make## seule, vous pouvez utiliser ##make -j3## pour profiter pleinement de votre processeur multi-coeurs lors de la compilation :)
puckman@mamecab:~/sources/mame0141$ make clean
puckman@mamecab:~/sources/mame0141$ make
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source/mame0141/##:
puckman@mamecab:~/sources/mame0141$ ls -la
Deletions:
inflating: mame.zip
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip## à décompresser de nouveau:
puckman@mamecab:~/sources$ unzip mame.zip
creating: docs/
extracting: docs/config.txt
extracting: docs/license.txt
extracting: src/tools/unidasm.c
extracting: src/version.c
extracting: whatsnew.txt
docs makefile mame0141s.zip mame.zip src whatsnew.txt
Note: au lieu de la commande ##make## seule ci-dessous, vous pouvez utiliser ##make -j3## pour profiter de votre processeur multi-coeur :)
puckman@mamecab:~/sources$ make clean
puckman@mamecab:~/sources$ make
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source##:
puckman@mamecab:~/sources$ ls -la
Deletions:
libasound2-dev{a} libasyncns0{a} libatk1.0-0{a} libatk1.0-data{a} libatk1.0-dev{a} libaudio-dev{a} libaudio2{a}
libaudiofile-dev{a} libaudiofile0{a} libavahi-client-dev{a} libavahi-common-dev{a} libcaca-dev{a} libcaca0{a}
libcairo2{a} libcairo2-dev{a} libcroco3{a} libcurl3-gnutls{a} libdatrie1{a} libdbus-1-dev{a} libdbus-glib-1-2{a}
libdirectfb-1.2-9{a} libdirectfb-dev{a} libdirectfb-extra{a} libdpkg-perl{a} liberror-perl{a} libesd0{a}
libesd0-dev{a} libexpat1-dev libflac8{a} libfont-freetype-perl{a} libfontconfig1{a} libfontconfig1-dev{a}
libfreetype6-dev{a} libgconf2-4 libgconf2-dev libgl1-mesa-dev{a} libgl1-mesa-glx{a} libglib2.0-dev{a}
libglu1-mesa{a} libglu1-mesa-dev{a} libgtk2.0-0 libgtk2.0-bin{a} libgtk2.0-common{a} libgtk2.0-dev libice-dev{a}
libidl-dev{a} libidl0{a} libjasper1{a} libjpeg62{a} libjpeg62-dev{a} libmail-sendmail-perl{a} libncurses5-dev{a}
libogg0{a} liborbit2{a} liborbit2-dev{a} libpango1.0-0{a} libpango1.0-common{a} libpango1.0-dev{a}
libpixman-1-dev{a} libpng12-0{a} libpng12-dev{a} libpthread-stubs0{a} libpthread-stubs0-dev{a}
libpulse-browse0{a} libpulse-dev{a} libpulse-mainloop-glib0{a} libpulse0{a} libsdl-ttf2.0-0 libsdl-ttf2.0-dev
libsdl1.2-dev libsdl1.2debian libsdl1.2debian-alsa{a} libslang2-dev{a} libsm-dev{a} libsndfile1{a}
libstdc++6-4.4-dev{a} libsvga1{a} libsvga1-dev{a} libsys-hostname-long-perl{a} libsysfs-dev{a} libsysfs2{a}
libthai-data{a} libthai0{a} libtiff4{a} libtimedate-perl{a} libts-0.0-0{a} libunistring0{a} libvorbis0a{a}
libvorbisenc2{a} libx11-dev{a} libx86-1{a} libxau-dev{a} libxcb-render-util0{a} libxcb-render-util0-dev{a}
libxcb-render0{a} libxcb-render0-dev{a} libxcb1-dev{a} libxcomposite-dev{a} libxcursor-dev{a} libxcursor1{a}
libxdamage-dev{a} libxdmcp-dev{a} libxext-dev{a} libxfixes-dev{a} libxft-dev{a} libxft2{a} libxi-dev{a} libxi6{a}
libxinerama-dev libxinerama1 libxml2-utils{a} libxrandr-dev{a} libxrender-dev{a} libxt-dev{a} libxtst6{a}
libxxf86vm1{a} mesa-common-dev{a} orbit2{a} pkg-config{a} po-debconf{a} rsync{a} tsconf{a} ttf-dejavu-core{a}
unzip x-ttcidfont-conf{a} x11proto-composite-dev{a} x11proto-core-dev{a} x11proto-damage-dev{a}
x11proto-fixes-dev{a} x11proto-input-dev{a} x11proto-kb-dev{a} x11proto-randr-dev{a} x11proto-render-dev{a}
Additions:
libpulse-browse0{a} libpulse-dev{a} libpulse-mainloop-glib0{a} libpulse0{a} libsdl-ttf2.0-0 libsdl-ttf2.0-dev
libsdl1.2-dev libsdl1.2debian libsdl1.2debian-alsa{a} libslang2-dev{a} libsm-dev{a} libsndfile1{a}
libstdc++6-4.4-dev{a} libsvga1{a} libsvga1-dev{a} libsys-hostname-long-perl{a} libsysfs-dev{a} libsysfs2{a}
libthai-data{a} libthai0{a} libtiff4{a} libtimedate-perl{a} libts-0.0-0{a} libunistring0{a} libvorbis0a{a}
libvorbisenc2{a} libx11-dev{a} libx86-1{a} libxau-dev{a} libxcb-render-util0{a} libxcb-render-util0-dev{a}
libxcb-render0{a} libxcb-render0-dev{a} libxcb1-dev{a} libxcomposite-dev{a} libxcursor-dev{a} libxcursor1{a}
libxdamage-dev{a} libxdmcp-dev{a} libxext-dev{a} libxfixes-dev{a} libxft-dev{a} libxft2{a} libxi-dev{a} libxi6{a}
libxinerama-dev libxinerama1 libxml2-utils{a} libxrandr-dev{a} libxrender-dev{a} libxt-dev{a} libxtst6{a}
libxxf86vm1{a} mesa-common-dev{a} orbit2{a} pkg-config{a} po-debconf{a} rsync{a} tsconf{a} ttf-dejavu-core{a}
unzip x-ttcidfont-conf{a} x11proto-composite-dev{a} x11proto-core-dev{a} x11proto-damage-dev{a}
x11proto-fixes-dev{a} x11proto-input-dev{a} x11proto-kb-dev{a} x11proto-randr-dev{a} x11proto-render-dev{a}
x11proto-xext-dev{a} x11proto-xinerama-dev{a} xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 164 nouvellement installés, 0 à enlever et 0 non mis à jour.
Voulez-vous continuer ? [Y/n/?] y
libsdl1.2-dev libsdl1.2debian libsdl1.2debian-alsa{a} libslang2-dev{a} libsm-dev{a} libsndfile1{a}
libstdc++6-4.4-dev{a} libsvga1{a} libsvga1-dev{a} libsys-hostname-long-perl{a} libsysfs-dev{a} libsysfs2{a}
libthai-data{a} libthai0{a} libtiff4{a} libtimedate-perl{a} libts-0.0-0{a} libunistring0{a} libvorbis0a{a}
libvorbisenc2{a} libx11-dev{a} libx86-1{a} libxau-dev{a} libxcb-render-util0{a} libxcb-render-util0-dev{a}
libxcb-render0{a} libxcb-render0-dev{a} libxcb1-dev{a} libxcomposite-dev{a} libxcursor-dev{a} libxcursor1{a}
libxdamage-dev{a} libxdmcp-dev{a} libxext-dev{a} libxfixes-dev{a} libxft-dev{a} libxft2{a} libxi-dev{a} libxi6{a}
libxinerama-dev libxinerama1 libxml2-utils{a} libxrandr-dev{a} libxrender-dev{a} libxt-dev{a} libxtst6{a}
libxxf86vm1{a} mesa-common-dev{a} orbit2{a} pkg-config{a} po-debconf{a} rsync{a} tsconf{a} ttf-dejavu-core{a}
unzip x-ttcidfont-conf{a} x11proto-composite-dev{a} x11proto-core-dev{a} x11proto-damage-dev{a}
x11proto-fixes-dev{a} x11proto-input-dev{a} x11proto-kb-dev{a} x11proto-randr-dev{a} x11proto-render-dev{a}
x11proto-xext-dev{a} x11proto-xinerama-dev{a} xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 164 nouvellement installés, 0 à enlever et 0 non mis à jour.
Voulez-vous continuer ? [Y/n/?] y
Deletions:
libsdl1.2debian-alsa{a} libslang2-dev{a} libsm-dev{a} libsndfile1{a} libstdc++6-4.4-dev{a} libsvga1{a}
libsvga1-dev{a} libsys-hostname-long-perl{a} libsysfs-dev{a} libsysfs2{a} libthai-data{a} libthai0{a} libtiff4{a}
libtimedate-perl{a} libts-0.0-0{a} libunistring0{a} libvorbis0a{a} libvorbisenc2{a} libx11-dev{a} libx86-1{a}
libxau-dev{a} libxcb-render-util0{a} libxcb-render-util0-dev{a} libxcb-render0{a} libxcb-render0-dev{a}
libxcb1-dev{a} libxcomposite-dev{a} libxcursor-dev{a} libxcursor1{a} libxdamage-dev{a} libxdmcp-dev{a}
libxext-dev{a} libxfixes-dev{a} libxft-dev{a} libxft2{a} libxi-dev{a} libxi6{a} libxinerama-dev libxinerama1
libxml2-utils{a} libxrandr-dev{a} libxrender-dev{a} libxt-dev{a} libxtst6{a} libxxf86vm1{a} mesa-common-dev{a}
orbit2{a} pkg-config{a} po-debconf{a} rsync{a} tsconf{a} ttf-dejavu-core{a} unzip x-ttcidfont-conf{a}
x11proto-composite-dev{a} x11proto-core-dev{a} x11proto-damage-dev{a} x11proto-fixes-dev{a} x11proto-input-dev{a}
x11proto-kb-dev{a} x11proto-randr-dev{a} x11proto-render-dev{a} x11proto-xext-dev{a} x11proto-xinerama-dev{a}
xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 162 nouvellement installés, 0 à enlever et 0 non mis à jour.
Voulez-vous continuer ? [Y/n/?] y
Additions:
La compilation va prendre pas mal de temps, c'est le moment de la B.A. du jour: rangement du bureau!
Note: au lieu de la commande ##make## seule ci-dessous, vous pouvez utiliser ##make -j3## pour profiter de votre processeur multi-coeur :)
Compiling src/emu/cpu/z8/z8dasm.c...
Compiling src/emu/cpu/superfx/sfx_dasm.c...
Archiving obj/sdl/mame/libdasm.a...
Linking mame...
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source##:
puckman@mamecab:~/sources$ ls -la
total 161024
drwxr-xr-x 5 puckman puckman 4096 24 mars 09:19 .
drwxr-xr-x 4 puckman puckman 4096 23 mars 16:32 ..
drwxr-xr-x 2 puckman puckman 4096 31 déc. 18:30 docs
-rw-r--r-- 1 puckman puckman 18182 29 déc. 22:50 makefile
-rwxr-xr-x 1 puckman puckman 49182604 24 mars 09:20 mame
-rw-r--r-- 1 puckman puckman 17092788 1 janv. 15:17 mame0141s.zip
-rw-r--r-- 1 puckman puckman 98351486 31 déc. 18:31 mame.zip
drwxr-xr-x 3 puckman puckman 4096 23 mars 16:17 obj
drwxr-xr-x 9 puckman puckman 4096 31 déc. 18:30 src
-rw-r--r-- 1 puckman puckman 30852 31 déc. 17:01 whatsnew.txt
Note: au lieu de la commande ##make## seule ci-dessous, vous pouvez utiliser ##make -j3## pour profiter de votre processeur multi-coeur :)
Compiling src/emu/cpu/z8/z8dasm.c...
Compiling src/emu/cpu/superfx/sfx_dasm.c...
Archiving obj/sdl/mame/libdasm.a...
Linking mame...
Tadaam, nous voilà avec un bel exécutable ##mame## dans notre dossier ##source##:
puckman@mamecab:~/sources$ ls -la
total 161024
drwxr-xr-x 5 puckman puckman 4096 24 mars 09:19 .
drwxr-xr-x 4 puckman puckman 4096 23 mars 16:32 ..
drwxr-xr-x 2 puckman puckman 4096 31 déc. 18:30 docs
-rw-r--r-- 1 puckman puckman 18182 29 déc. 22:50 makefile
-rwxr-xr-x 1 puckman puckman 49182604 24 mars 09:20 mame
-rw-r--r-- 1 puckman puckman 17092788 1 janv. 15:17 mame0141s.zip
-rw-r--r-- 1 puckman puckman 98351486 31 déc. 18:31 mame.zip
drwxr-xr-x 3 puckman puckman 4096 23 mars 16:17 obj
drwxr-xr-x 9 puckman puckman 4096 31 déc. 18:30 src
-rw-r--r-- 1 puckman puckman 30852 31 déc. 17:01 whatsnew.txt
Deletions:
Additions:
Ok, là c'est le moment de la B.A. en rangeant un peu votre bureau le temps de la compilation :)
Deletions:
Additions:
- ##libsdl-ttf2.0-0## et ##libsdl-ttf2.0-dev## pour permettre à la librairie SDL d'utiliser les polices TrueType,
Rien que ça..? Oui :) Et en une ligne de commande:
root@mamecab:~# aptitude install unzip build-essential libsdl1.2debian libsdl1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
docs makefile mame0141s.zip mame.zip src whatsnew.txt
Ok, time to go!
puckman@mamecab:~/sources$ make clean
Deleting object tree obj/sdl/mame...
Deleting mame...
Deleting testkeys romcmp chdman jedutil unidasm ldresample ldverify regrep srcclean src2html split ...
puckman@mamecab:~/sources$ make
mkdir -p obj/sdl/mame
mkdir -p obj/sdl/mame/build
mkdir -p obj/sdl/mame/emu/audio
Rien que ça..? Oui :) Et en une ligne de commande:
root@mamecab:~# aptitude install unzip build-essential libsdl1.2debian libsdl1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
docs makefile mame0141s.zip mame.zip src whatsnew.txt
Ok, time to go!
puckman@mamecab:~/sources$ make clean
Deleting object tree obj/sdl/mame...
Deleting mame...
Deleting testkeys romcmp chdman jedutil unidasm ldresample ldverify regrep srcclean src2html split ...
puckman@mamecab:~/sources$ make
mkdir -p obj/sdl/mame
mkdir -p obj/sdl/mame/build
mkdir -p obj/sdl/mame/emu/audio
Deletions:
root@mamecab:~# aptitude install unzip build-essential libsdl1.2debian libsdl1.2-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
Additions:
Archive: mame0141s.zip
inflating: mame.zip
mame0141s.zip mame.zip
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip## à décompresser de nouveau:
puckman@mamecab:~/sources$ unzip mame.zip
Archive: mame.zip
creating: docs/
extracting: docs/config.txt
extracting: docs/license.txt
extracting: src/tools/unidasm.c
extracting: src/version.c
extracting: whatsnew.txt
inflating: mame.zip
mame0141s.zip mame.zip
Le fichier ##mame0141s.zip## contient en fait à nouveau un fichier ZIP ##mame.zip## à décompresser de nouveau:
puckman@mamecab:~/sources$ unzip mame.zip
Archive: mame.zip
creating: docs/
extracting: docs/config.txt
extracting: docs/license.txt
extracting: src/tools/unidasm.c
extracting: src/version.c
extracting: whatsnew.txt
Additions:
=== VI.a Préparation des outils ===
=== VI.b Récupération des sources MAME ===
=== VI.b Récupération des sources MAME ===
Deletions:
=== VI.b RÉCUPÉRATION DES SOURCES MAME ===
Additions:
@@{{image url="/_extra_/mamecab_dolphin.jpg" title="samba" alt="screenshot"}}@@
Deletions:
Additions:
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple).
Ici, je fais le test depuis la propre borne (pas très utile mais ça fonctionne) :
ou depuis le poste de travail:
@@{{image url="/_extra_/mamecab_dolpnin.jpg" title="samba" alt="screenshot"}}@@
Ici, je fais le test depuis la propre borne (pas très utile mais ça fonctionne) :
ou depuis le poste de travail:
@@{{image url="/_extra_/mamecab_dolpnin.jpg" title="samba" alt="screenshot"}}@@
Deletions:
Additions:
=== VI.a PRÉPARATION DES OUTILS ===
[...]
=== VI.b RÉCUPÉRATION DES SOURCES MAME ===
[...]
=== VI.b RÉCUPÉRATION DES SOURCES MAME ===
Deletions:
(...)
=== a. Récupération des sources ===
Additions:
==== VI. MAME ====
=== a. Préparation des outils ===
Avant d'installer MAME ou même les outil dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##:
root@mamecab:~# aptitude install unzip build-essential libsdl1.2debian libsdl1.2-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
Les NOUVEAUX paquets suivants vont être installés :
autopoint{a} build-essential bzip2{a} dbus-x11{a} debhelper{a} defoma{a} dpkg-dev{a} esound-common{a}
fontconfig{a} fontconfig-config{a} g++{a} g++-4.4{a} gconf2{a} gconf2-common{a} gettext{a} git{a}
hicolor-icon-theme{a} html2text{a} intltool-debian{a} libaa1{a} libaa1-dev{a} libalgorithm-diff-perl{a}
libalgorithm-diff-xs-perl{a} libalgorithm-merge-perl{a} libartsc0{a} libartsc0-dev{a} libasound2{a}
libasound2-dev{a} libasyncns0{a} libatk1.0-0{a} libatk1.0-data{a} libatk1.0-dev{a} libaudio-dev{a} libaudio2{a}
libaudiofile-dev{a} libaudiofile0{a} libavahi-client-dev{a} libavahi-common-dev{a} libcaca-dev{a} libcaca0{a}
libcairo2{a} libcairo2-dev{a} libcroco3{a} libcurl3-gnutls{a} libdatrie1{a} libdbus-1-dev{a} libdbus-glib-1-2{a}
libdirectfb-1.2-9{a} libdirectfb-dev{a} libdirectfb-extra{a} libdpkg-perl{a} liberror-perl{a} libesd0{a}
libesd0-dev{a} libexpat1-dev libflac8{a} libfont-freetype-perl{a} libfontconfig1{a} libfontconfig1-dev{a}
libfreetype6-dev{a} libgconf2-4 libgconf2-dev libgl1-mesa-dev{a} libgl1-mesa-glx{a} libglib2.0-dev{a}
libglu1-mesa{a} libglu1-mesa-dev{a} libgtk2.0-0 libgtk2.0-bin{a} libgtk2.0-common{a} libgtk2.0-dev libice-dev{a}
libidl-dev{a} libidl0{a} libjasper1{a} libjpeg62{a} libjpeg62-dev{a} libmail-sendmail-perl{a} libncurses5-dev{a}
libogg0{a} liborbit2{a} liborbit2-dev{a} libpango1.0-0{a} libpango1.0-common{a} libpango1.0-dev{a}
libpixman-1-dev{a} libpng12-0{a} libpng12-dev{a} libpthread-stubs0{a} libpthread-stubs0-dev{a}
libpulse-browse0{a} libpulse-dev{a} libpulse-mainloop-glib0{a} libpulse0{a} libsdl1.2-dev libsdl1.2debian
libsdl1.2debian-alsa{a} libslang2-dev{a} libsm-dev{a} libsndfile1{a} libstdc++6-4.4-dev{a} libsvga1{a}
libsvga1-dev{a} libsys-hostname-long-perl{a} libsysfs-dev{a} libsysfs2{a} libthai-data{a} libthai0{a} libtiff4{a}
libtimedate-perl{a} libts-0.0-0{a} libunistring0{a} libvorbis0a{a} libvorbisenc2{a} libx11-dev{a} libx86-1{a}
libxau-dev{a} libxcb-render-util0{a} libxcb-render-util0-dev{a} libxcb-render0{a} libxcb-render0-dev{a}
libxcb1-dev{a} libxcomposite-dev{a} libxcursor-dev{a} libxcursor1{a} libxdamage-dev{a} libxdmcp-dev{a}
libxext-dev{a} libxfixes-dev{a} libxft-dev{a} libxft2{a} libxi-dev{a} libxi6{a} libxinerama-dev libxinerama1
libxml2-utils{a} libxrandr-dev{a} libxrender-dev{a} libxt-dev{a} libxtst6{a} libxxf86vm1{a} mesa-common-dev{a}
orbit2{a} pkg-config{a} po-debconf{a} rsync{a} tsconf{a} ttf-dejavu-core{a} unzip x-ttcidfont-conf{a}
x11proto-composite-dev{a} x11proto-core-dev{a} x11proto-damage-dev{a} x11proto-fixes-dev{a} x11proto-input-dev{a}
x11proto-kb-dev{a} x11proto-randr-dev{a} x11proto-render-dev{a} x11proto-xext-dev{a} x11proto-xinerama-dev{a}
xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 162 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 63,9 Mo/64,1 Mo d'archives. Après dépaquetage, 190 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main x11proto-core-dev all 7.0.16-1 [92,2 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libice-dev i386 2:1.0.6-2 [58,5 kB]
(...)
Paramétrage de g++ (4:4.4.5-1) ...
update-alternatives: utilisation de « /usr/bin/g++ » pour fournir « /usr/bin/c++ » (c++) en mode automatique.
Paramétrage de build-essential (11.5) ...
Oui oui, on arrive enfin à la partie MAME :)
=== a. Préparation des outils ===
Avant d'installer MAME ou même les outil dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##:
root@mamecab:~# aptitude install unzip build-essential libsdl1.2debian libsdl1.2-dev libexpat1 libexpat1-dev zlib1g zlib1g-dev libxinerama1 libxinerama-dev libgconf2-4 libgconf2-dev libgtk2.0-0 libgtk2.0-dev
Les NOUVEAUX paquets suivants vont être installés :
autopoint{a} build-essential bzip2{a} dbus-x11{a} debhelper{a} defoma{a} dpkg-dev{a} esound-common{a}
fontconfig{a} fontconfig-config{a} g++{a} g++-4.4{a} gconf2{a} gconf2-common{a} gettext{a} git{a}
hicolor-icon-theme{a} html2text{a} intltool-debian{a} libaa1{a} libaa1-dev{a} libalgorithm-diff-perl{a}
libalgorithm-diff-xs-perl{a} libalgorithm-merge-perl{a} libartsc0{a} libartsc0-dev{a} libasound2{a}
libasound2-dev{a} libasyncns0{a} libatk1.0-0{a} libatk1.0-data{a} libatk1.0-dev{a} libaudio-dev{a} libaudio2{a}
libaudiofile-dev{a} libaudiofile0{a} libavahi-client-dev{a} libavahi-common-dev{a} libcaca-dev{a} libcaca0{a}
libcairo2{a} libcairo2-dev{a} libcroco3{a} libcurl3-gnutls{a} libdatrie1{a} libdbus-1-dev{a} libdbus-glib-1-2{a}
libdirectfb-1.2-9{a} libdirectfb-dev{a} libdirectfb-extra{a} libdpkg-perl{a} liberror-perl{a} libesd0{a}
libesd0-dev{a} libexpat1-dev libflac8{a} libfont-freetype-perl{a} libfontconfig1{a} libfontconfig1-dev{a}
libfreetype6-dev{a} libgconf2-4 libgconf2-dev libgl1-mesa-dev{a} libgl1-mesa-glx{a} libglib2.0-dev{a}
libglu1-mesa{a} libglu1-mesa-dev{a} libgtk2.0-0 libgtk2.0-bin{a} libgtk2.0-common{a} libgtk2.0-dev libice-dev{a}
libidl-dev{a} libidl0{a} libjasper1{a} libjpeg62{a} libjpeg62-dev{a} libmail-sendmail-perl{a} libncurses5-dev{a}
libogg0{a} liborbit2{a} liborbit2-dev{a} libpango1.0-0{a} libpango1.0-common{a} libpango1.0-dev{a}
libpixman-1-dev{a} libpng12-0{a} libpng12-dev{a} libpthread-stubs0{a} libpthread-stubs0-dev{a}
libpulse-browse0{a} libpulse-dev{a} libpulse-mainloop-glib0{a} libpulse0{a} libsdl1.2-dev libsdl1.2debian
libsdl1.2debian-alsa{a} libslang2-dev{a} libsm-dev{a} libsndfile1{a} libstdc++6-4.4-dev{a} libsvga1{a}
libsvga1-dev{a} libsys-hostname-long-perl{a} libsysfs-dev{a} libsysfs2{a} libthai-data{a} libthai0{a} libtiff4{a}
libtimedate-perl{a} libts-0.0-0{a} libunistring0{a} libvorbis0a{a} libvorbisenc2{a} libx11-dev{a} libx86-1{a}
libxau-dev{a} libxcb-render-util0{a} libxcb-render-util0-dev{a} libxcb-render0{a} libxcb-render0-dev{a}
libxcb1-dev{a} libxcomposite-dev{a} libxcursor-dev{a} libxcursor1{a} libxdamage-dev{a} libxdmcp-dev{a}
libxext-dev{a} libxfixes-dev{a} libxft-dev{a} libxft2{a} libxi-dev{a} libxi6{a} libxinerama-dev libxinerama1
libxml2-utils{a} libxrandr-dev{a} libxrender-dev{a} libxt-dev{a} libxtst6{a} libxxf86vm1{a} mesa-common-dev{a}
orbit2{a} pkg-config{a} po-debconf{a} rsync{a} tsconf{a} ttf-dejavu-core{a} unzip x-ttcidfont-conf{a}
x11proto-composite-dev{a} x11proto-core-dev{a} x11proto-damage-dev{a} x11proto-fixes-dev{a} x11proto-input-dev{a}
x11proto-kb-dev{a} x11proto-randr-dev{a} x11proto-render-dev{a} x11proto-xext-dev{a} x11proto-xinerama-dev{a}
xtrans-dev{a} zlib1g-dev
0 paquets mis à jour, 162 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 63,9 Mo/64,1 Mo d'archives. Après dépaquetage, 190 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] y
Prendre : 1 http://ftp.nc.debian.org/debian/ squeeze/main x11proto-core-dev all 7.0.16-1 [92,2 kB]
Prendre : 2 http://ftp.nc.debian.org/debian/ squeeze/main libice-dev i386 2:1.0.6-2 [58,5 kB]
(...)
Paramétrage de g++ (4:4.4.5-1) ...
update-alternatives: utilisation de « /usr/bin/g++ » pour fournir « /usr/bin/c++ » (c++) en mode automatique.
Paramétrage de build-essential (11.5) ...
Oui oui, on arrive enfin à la partie MAME :)
Deletions:
Avant d'installer les outils dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##:
==== VII. MAME ====
On y arrive :)
Additions:
root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig
root@mamecab:~# pico /etc/samba/smb.conf
==== VI. UTILITAIRES ====
Avant d'installer les outils dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##:
root@mamecab:~# aptitude update
Atteint http://ftp.nc.debian.org squeeze Release.gpg
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-fr
Atteint http://ftp.nc.debian.org squeeze-updates Release.gpg
Prendre : 1 http://security.debian.org squeeze/updates Release.gpg [835 B]
Ign http://security.debian.org/ squeeze/updates/main Translation-en
Ign http://security.debian.org/ squeeze/updates/main Translation-fr
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-fr
Prendre : 2 http://security.debian.org squeeze/updates Release [38,4 kB]
Atteint http://ftp.nc.debian.org squeeze Release
Atteint http://ftp.nc.debian.org squeeze-updates Release
Atteint http://ftp.nc.debian.org squeeze/main Sources
Atteint http://ftp.nc.debian.org squeeze/main i386 Packages
Atteint http://ftp.nc.debian.org squeeze-updates/main Sources/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages
Atteint http://security.debian.org squeeze/updates/main Sources
Prendre : 3 http://security.debian.org squeeze/updates/main i386 Packages [68,8 kB]
108 ko téléchargés en 2s (43,8 ko/s)
Une fois la liste des paquets disponibles à jour, nous installerons:
- ##unzip## pour décompresser le fichier des sources MAME,
- ##build-essential## pour compiler depuis les sources le binaire MAME,
- ##libsdl1.2debian## et son paquet de développement ##libsdl1.2-dev## car la version MAME pour Linux utilise la librairie SDL (affichage vidéo, périphériques de contrôle, son, etc.),
- ##libexpat1## et ##libexpat1-dev## pour permettre à MAME de parcourir les fichiers XML,
- ##zlib1g## et ##zlib1g-dev## afin que MAME décompresse les fichiers zippés,
- ##libxinerama1## et ##libxinerama-dev## pour l'affichage et la gestion des écrans multiples,
- ##libgconf2-4## et ##libgconf2-dev## permettant à MAME de gérer les préférences des applications,
- ##libgtk2.0-0## et ##libgtk2.0-dev## permettant d'utiliser l'interface GTK+.
C'est parti:
==== VII. MAME ====
On y arrive :)
root@mamecab:~# pico /etc/samba/smb.conf
==== VI. UTILITAIRES ====
Avant d'installer les outils dont nous aurons besoin pour la suite, il faut mettre à jour la liste des paquets Debian avec la commande ##aptitude update##:
root@mamecab:~# aptitude update
Atteint http://ftp.nc.debian.org squeeze Release.gpg
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze/main Translation-fr
Atteint http://ftp.nc.debian.org squeeze-updates Release.gpg
Prendre : 1 http://security.debian.org squeeze/updates Release.gpg [835 B]
Ign http://security.debian.org/ squeeze/updates/main Translation-en
Ign http://security.debian.org/ squeeze/updates/main Translation-fr
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-en
Ign http://ftp.nc.debian.org/debian/ squeeze-updates/main Translation-fr
Prendre : 2 http://security.debian.org squeeze/updates Release [38,4 kB]
Atteint http://ftp.nc.debian.org squeeze Release
Atteint http://ftp.nc.debian.org squeeze-updates Release
Atteint http://ftp.nc.debian.org squeeze/main Sources
Atteint http://ftp.nc.debian.org squeeze/main i386 Packages
Atteint http://ftp.nc.debian.org squeeze-updates/main Sources/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages/DiffIndex
Atteint http://ftp.nc.debian.org squeeze-updates/main i386 Packages
Atteint http://security.debian.org squeeze/updates/main Sources
Prendre : 3 http://security.debian.org squeeze/updates/main i386 Packages [68,8 kB]
108 ko téléchargés en 2s (43,8 ko/s)
Une fois la liste des paquets disponibles à jour, nous installerons:
- ##unzip## pour décompresser le fichier des sources MAME,
- ##build-essential## pour compiler depuis les sources le binaire MAME,
- ##libsdl1.2debian## et son paquet de développement ##libsdl1.2-dev## car la version MAME pour Linux utilise la librairie SDL (affichage vidéo, périphériques de contrôle, son, etc.),
- ##libexpat1## et ##libexpat1-dev## pour permettre à MAME de parcourir les fichiers XML,
- ##zlib1g## et ##zlib1g-dev## afin que MAME décompresse les fichiers zippés,
- ##libxinerama1## et ##libxinerama-dev## pour l'affichage et la gestion des écrans multiples,
- ##libgconf2-4## et ##libgconf2-dev## permettant à MAME de gérer les préférences des applications,
- ##libgtk2.0-0## et ##libgtk2.0-dev## permettant d'utiliser l'interface GTK+.
C'est parti:
==== VII. MAME ====
On y arrive :)
Deletions:
%%root@mamecab:~# pico /etc/samba/smb.conf%%
==== VI. MAME ====
Additions:
Dé-commenter la ligne n°102 (enlever le "#") en s'y rendant avec le raccourci #%CTRL#%+#%_#% :
puckman@mamecab:~/sources$ ls
mame0141s.zip
puckman@mamecab:~/sources$ unzip mame0141s.zip
puckman@mamecab:~/sources$ ls
mame0141s.zip
puckman@mamecab:~/sources$ unzip mame0141s.zip
Deletions:
Additions:
N'ayant plus de tâches administratives à effectuer pour le moment, il faut quitter l'accès super-utilisateur et se connecter avec l'utilisateur ##puckman##. On peut effectuer une nouvelle connexion depuis la machine de bureau:
ludo@kanumera:~$ ssh puckman@192.168.100.223
puckman@192.168.100.223's password:
/usr/bin/xauth: creating new authority file /home/puckman/.Xauthority
puckman@mamecab:~$
ou alors passer à l'utilisateur ##puckman## depuis le super-utilisateur ##root##:
root@mamecab:~# su - puckman
puckman@mamecab:~$
Préparer le dossier de travail:
puckman@mamecab:~$ mkdir sources
puckman@mamecab:~$ cd sources
puckman@mamecab:~/sources$
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html (pour ma part la version actuelle est la 0.141 : http://mamedev.org/downloader.php?file=releases/mame0141s.zip)
puckman@mamecab:~/sources$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/downloader.php?file=releases/mame0141s.zip" -O mame0141s.zip
--2011-03-22 22:36:06-- http://mamedev.org/downloader.php?file=releases/mame0141s.zip
Resolving mamedev.org... 67.210.100.31
Connecting to mamedev.org|67.210.100.31|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://mamedev.thiswebhost.com/releases/mame0141s.zip [following]
--2011-03-22 22:36:07-- http://mamedev.thiswebhost.com/releases/mame0141s.zip
Resolving mamedev.thiswebhost.com... 67.225.136.222
Connecting to mamedev.thiswebhost.com|67.225.136.222|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17092788 (16M) [application/zip]
Saving to: `mame0141s.zip'
13% [======> ] 2,385,353 76.3K/s eta 4m 12s
On décompresse le fichier ZIP téléchargé:
ludo@kanumera:~$ ssh puckman@192.168.100.223
puckman@192.168.100.223's password:
/usr/bin/xauth: creating new authority file /home/puckman/.Xauthority
puckman@mamecab:~$
ou alors passer à l'utilisateur ##puckman## depuis le super-utilisateur ##root##:
root@mamecab:~# su - puckman
puckman@mamecab:~$
Préparer le dossier de travail:
puckman@mamecab:~$ mkdir sources
puckman@mamecab:~$ cd sources
puckman@mamecab:~/sources$
Les sources de MAME sont disponibles sur http://mamedev.org (site officiel). Je conseille de travailler avec les sources stables "release" plutôt que les "updates" intermédiaires qui sont des versions de développement. Il faut récupérer le lien du fichier ZIP depuis la page http://mamedev.org/release.html (pour ma part la version actuelle est la 0.141 : http://mamedev.org/downloader.php?file=releases/mame0141s.zip)
puckman@mamecab:~/sources$ wget -U "Mozilla (wiki.ludomatic.fr)" "http://mamedev.org/downloader.php?file=releases/mame0141s.zip" -O mame0141s.zip
--2011-03-22 22:36:06-- http://mamedev.org/downloader.php?file=releases/mame0141s.zip
Resolving mamedev.org... 67.210.100.31
Connecting to mamedev.org|67.210.100.31|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://mamedev.thiswebhost.com/releases/mame0141s.zip [following]
--2011-03-22 22:36:07-- http://mamedev.thiswebhost.com/releases/mame0141s.zip
Resolving mamedev.thiswebhost.com... 67.225.136.222
Connecting to mamedev.thiswebhost.com|67.225.136.222|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17092788 (16M) [application/zip]
Saving to: `mame0141s.zip'
13% [======> ] 2,385,353 76.3K/s eta 4m 12s
On décompresse le fichier ZIP téléchargé:
Deletions:
Additions:
[[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 Un document]] a été écrit mi-2008 mais n'est plus à jour.
Deletions:
Ce document "Google Docs" a été écrit mi-2008 et est en cours d'actualisation ci-dessous :
Additions:
===== DEBIAN + MAME + ARCADE BOX = MAMECAB =====
Voir [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 le document Google existant]].
Ce document "Google Docs" a été écrit mi-2008 et est en cours d'actualisation ci-dessous :
==== I. NOTE ====
Description de l'installation d'une MAMECab avec:
- Un PC qui servira à faire tourner la borne en remplacement de la carte mère d'origine,
- Le système Debian Squeeze
- La compilation de MAME depuis les sources
- L'installation d'un front-end
- Une borne d'arcade d'occasion,
- Quelques tweaks et l'interface avec les différentes entrées/sorties de la borne
Document rédigé en Mars 2011.
==== II. PRÉPARATIFS ====
Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- choisir la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement choisir l'image d'installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai choisi la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Vous voici prêt à installer le système de base!
==== III. SYSTÈME DE BASE ====
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
@@
{{image url="/_extra_/mamecab01.jpg" title="accueil" alt="screenshot"}}
Accueil lors du boot sur le CDROM d'installation de Debian 6.0 Squeeze: j'ai choisi l'installation en mode "console"
{{image url="/_extra_/mamecab02.jpg" title="accueil" alt="screenshot"}}
Choix de la langue
{{image url="/_extra_/mamecab03.jpg" title="accueil" alt="screenshot"}}
Situation géographique
{{image url="/_extra_/mamecab04.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab05.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab06.jpg" title="accueil" alt="screenshot"}}
Chargement des composants et détection du réseau: {{color hex="#DD0000" text="je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une"}}.
{{image url="/_extra_/mamecab07.jpg" title="accueil" alt="screenshot"}}
Choix du nom de la borne: {{color hex="#DD0000" text="notez-le bien si vous le modifiez"}}.
{{image url="/_extra_/mamecab08.jpg" title="accueil" alt="screenshot"}}
Entrez le nom de domaine local
{{image url="/_extra_/mamecab09.jpg" title="accueil" alt="screenshot"}}
Saisie du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
{{image url="/_extra_/mamecab10.jpg" title="accueil" alt="screenshot"}}
Choix de l'utilisateur, je l'ai appelé "puckman": {{color hex="#DD0000" text="notez bien son nom si vous en choisissez un autre"}}.
{{image url="/_extra_/mamecab11.jpg" title="accueil" alt="screenshot"}}
Saisie de son mot de passe
{{image url="/_extra_/mamecab12.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab13.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le partitionnement du disque entier: {{color hex="#DD0000" text="tout le disque sera formaté"}}!
{{image url="/_extra_/mamecab14.jpg" title="accueil" alt="screenshot"}}
Je n'ai qu'un disque à sélectionner
{{image url="/_extra_/mamecab15.jpg" title="accueil" alt="screenshot"}}
J'ai simplement choisi une unique partition pour le système et les données utilisateur
{{image url="/_extra_/mamecab16.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab17.jpg" title="accueil" alt="screenshot"}}
Attention, {{color hex="#DD0000" text="pas de retour en arrière une fois le disque formaté"}}!
{{image url="/_extra_/mamecab18.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab19.jpg" title="accueil" alt="screenshot"}}
Choisir un dépôt de paquets proche de votre lieu géographique
{{image url="/_extra_/mamecab20.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab21.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab22.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils. Concernant les gestionnaire de bureau tels KDE ou GNOME, nous nous contenterons simplement du serveur graphique X.
{{image url="/_extra_/mamecab23.jpg" title="accueil" alt="screenshot"}}
Installation des paquets
{{image url="/_extra_/mamecab24.jpg" title="accueil" alt="screenshot"}}
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous disposez de plusieurs postes connectés.
{{image url="/_extra_/mamecab25.jpg" title="accueil" alt="screenshot"}}
Installation du chargeur de démarrage GRUB
{{image url="/_extra_/mamecab26.jpg" title="accueil" alt="screenshot"}}
Fin de l'installation
{{image url="/_extra_/mamecab27.jpg" title="accueil" alt="screenshot"}}
Retirer le CDROM avant le re-démarrage
{{image url="/_extra_/mamecab28.jpg" title="accueil" alt="screenshot"}}
Reboot
{{image url="/_extra_/mamecab29.jpg" title="accueil" alt="screenshot"}}
Moment émouvant du premier boot ;-)
{{image url="/_extra_/mamecab30.jpg" title="accueil" alt="screenshot"}}
Bienvenue!
@@
Pour simplifier les choses dans la suite mon installation, j'utilise une connexion distante par SSH depuis un poste de travail, libre à vous de continuer sur la machine locale.
Pour établir une connexion SSH distante, il faut récupérer l'adresse IP de la borne (passez cette étape si vous avez spécifié une IP fixe):
- il faut se connecter en tant qu'usager "root" et saisir le mot de passe que vous avez bien noté lors de l'installation,
- taper ##ifconfig## pour obtenir l'adresse IP de la machine sur le réseau. Ici ##192.168.100.233##, à remplacer par la vôtre dans la suite du document.
@@
{{image url="/_extra_/mamecab31.jpg" title="accueil" alt="screenshot"}}
@@
==== IV. CONNEXION DISTANTE ====
Sur mon poste de travail, je peux dès lors me connecter via SSH sur la borne (à l'adresse récupérée ci-dessus) avec la commande "ssh utilisateur@machine":
%%
ludo@kanumera:~$ ssh root@192.168.100.223
The authenticity of host '192.168.100.223 (192.168.100.223)' can't be established.
RSA key fingerprint is f9:ed:b1:36:8a:dd:bd:e6:6d:5c:38:42:0e:5a:d5:c0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.223' (RSA) to the list of known hosts.
root@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 22 15:48:24 2011
/usr/bin/xauth: creating new authority file /root/.Xauthority
root@mamecab:~#
%%
==== V. PARTAGE DE FICHIERS ====
Je vais activer le partage de fichiers avec SAMBA avec authentification. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
%%root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig%%
Puis j'édite ce fichier:
%%root@mamecab:~# pico /etc/samba/smb.conf%%
Dé-commenter la ligne n°102 (enlever le "#") :
%%(ini;96;/etc/samba/smb.conf)
####### Authentication #######
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
# security = user
%%
modifié en:
%%(ini;102;/etc/samba/smb.conf)
security = user
%%
Et passer le partage des dossiers utilisateurs en mode lecture/écriture (ligne 242) :
%%(ini;234;/etc/samba/smb.conf)
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = yes
%%
modifié:
%%(ini;242;/etc/samba/smb.conf)
read only = no
%%
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico".
Répondre "O" à la question de l'éditeur: "//Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ?//", et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Demander à SAMBA de recharger sa configuration:
%%
root@mamecab:~# /etc/init.d/samba reload
Reloading /etc/samba/smb.conf: smbd only.
%%
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le passe sans qu'il s'affiche à l'écran) :
%%
root@mamecab:~# smbpasswd -a puckman
New SMB password:
Retype new SMB password:
Added user puckman.
%%
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple). Ici, je fais le test depuis la propre machine :
%%
root@mamecab:~# smbclient -U puckman //localhost/puckman
Enter puckman's password:
Domain=[LUDOMATIC] OS=[Unix] Server=[Samba 3.5.6]
smb: \> dir
. D 0 Tue Mar 22 12:06:45 2011
.. D 0 Tue Mar 22 12:04:34 2011
.bash_logout H 220 Tue Mar 22 12:04:34 2011
.bashrc H 3184 Tue Mar 22 12:04:34 2011
.bash_history H 23 Tue Mar 22 12:06:45 2011
.profile H 675 Tue Mar 22 12:04:34 2011
61026 blocks of size 65536. 43188 blocks available
smb: \> exit
%%
==== VI. MAME ====
=== a. Récupération des sources ===
xx
Voir [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 le document Google existant]].
Ce document "Google Docs" a été écrit mi-2008 et est en cours d'actualisation ci-dessous :
==== I. NOTE ====
Description de l'installation d'une MAMECab avec:
- Un PC qui servira à faire tourner la borne en remplacement de la carte mère d'origine,
- Le système Debian Squeeze
- La compilation de MAME depuis les sources
- L'installation d'un front-end
- Une borne d'arcade d'occasion,
- Quelques tweaks et l'interface avec les différentes entrées/sorties de la borne
Document rédigé en Mars 2011.
==== II. PRÉPARATIFS ====
Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- choisir la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement choisir l'image d'installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai choisi la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Vous voici prêt à installer le système de base!
==== III. SYSTÈME DE BASE ====
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
@@
{{image url="/_extra_/mamecab01.jpg" title="accueil" alt="screenshot"}}
Accueil lors du boot sur le CDROM d'installation de Debian 6.0 Squeeze: j'ai choisi l'installation en mode "console"
{{image url="/_extra_/mamecab02.jpg" title="accueil" alt="screenshot"}}
Choix de la langue
{{image url="/_extra_/mamecab03.jpg" title="accueil" alt="screenshot"}}
Situation géographique
{{image url="/_extra_/mamecab04.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab05.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab06.jpg" title="accueil" alt="screenshot"}}
Chargement des composants et détection du réseau: {{color hex="#DD0000" text="je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une"}}.
{{image url="/_extra_/mamecab07.jpg" title="accueil" alt="screenshot"}}
Choix du nom de la borne: {{color hex="#DD0000" text="notez-le bien si vous le modifiez"}}.
{{image url="/_extra_/mamecab08.jpg" title="accueil" alt="screenshot"}}
Entrez le nom de domaine local
{{image url="/_extra_/mamecab09.jpg" title="accueil" alt="screenshot"}}
Saisie du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
{{image url="/_extra_/mamecab10.jpg" title="accueil" alt="screenshot"}}
Choix de l'utilisateur, je l'ai appelé "puckman": {{color hex="#DD0000" text="notez bien son nom si vous en choisissez un autre"}}.
{{image url="/_extra_/mamecab11.jpg" title="accueil" alt="screenshot"}}
Saisie de son mot de passe
{{image url="/_extra_/mamecab12.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab13.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le partitionnement du disque entier: {{color hex="#DD0000" text="tout le disque sera formaté"}}!
{{image url="/_extra_/mamecab14.jpg" title="accueil" alt="screenshot"}}
Je n'ai qu'un disque à sélectionner
{{image url="/_extra_/mamecab15.jpg" title="accueil" alt="screenshot"}}
J'ai simplement choisi une unique partition pour le système et les données utilisateur
{{image url="/_extra_/mamecab16.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab17.jpg" title="accueil" alt="screenshot"}}
Attention, {{color hex="#DD0000" text="pas de retour en arrière une fois le disque formaté"}}!
{{image url="/_extra_/mamecab18.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab19.jpg" title="accueil" alt="screenshot"}}
Choisir un dépôt de paquets proche de votre lieu géographique
{{image url="/_extra_/mamecab20.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab21.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab22.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils. Concernant les gestionnaire de bureau tels KDE ou GNOME, nous nous contenterons simplement du serveur graphique X.
{{image url="/_extra_/mamecab23.jpg" title="accueil" alt="screenshot"}}
Installation des paquets
{{image url="/_extra_/mamecab24.jpg" title="accueil" alt="screenshot"}}
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous disposez de plusieurs postes connectés.
{{image url="/_extra_/mamecab25.jpg" title="accueil" alt="screenshot"}}
Installation du chargeur de démarrage GRUB
{{image url="/_extra_/mamecab26.jpg" title="accueil" alt="screenshot"}}
Fin de l'installation
{{image url="/_extra_/mamecab27.jpg" title="accueil" alt="screenshot"}}
Retirer le CDROM avant le re-démarrage
{{image url="/_extra_/mamecab28.jpg" title="accueil" alt="screenshot"}}
Reboot
{{image url="/_extra_/mamecab29.jpg" title="accueil" alt="screenshot"}}
Moment émouvant du premier boot ;-)
{{image url="/_extra_/mamecab30.jpg" title="accueil" alt="screenshot"}}
Bienvenue!
@@
Pour simplifier les choses dans la suite mon installation, j'utilise une connexion distante par SSH depuis un poste de travail, libre à vous de continuer sur la machine locale.
Pour établir une connexion SSH distante, il faut récupérer l'adresse IP de la borne (passez cette étape si vous avez spécifié une IP fixe):
- il faut se connecter en tant qu'usager "root" et saisir le mot de passe que vous avez bien noté lors de l'installation,
- taper ##ifconfig## pour obtenir l'adresse IP de la machine sur le réseau. Ici ##192.168.100.233##, à remplacer par la vôtre dans la suite du document.
@@
{{image url="/_extra_/mamecab31.jpg" title="accueil" alt="screenshot"}}
@@
==== IV. CONNEXION DISTANTE ====
Sur mon poste de travail, je peux dès lors me connecter via SSH sur la borne (à l'adresse récupérée ci-dessus) avec la commande "ssh utilisateur@machine":
%%
ludo@kanumera:~$ ssh root@192.168.100.223
The authenticity of host '192.168.100.223 (192.168.100.223)' can't be established.
RSA key fingerprint is f9:ed:b1:36:8a:dd:bd:e6:6d:5c:38:42:0e:5a:d5:c0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.223' (RSA) to the list of known hosts.
root@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 22 15:48:24 2011
/usr/bin/xauth: creating new authority file /root/.Xauthority
root@mamecab:~#
%%
==== V. PARTAGE DE FICHIERS ====
Je vais activer le partage de fichiers avec SAMBA avec authentification. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
%%root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig%%
Puis j'édite ce fichier:
%%root@mamecab:~# pico /etc/samba/smb.conf%%
Dé-commenter la ligne n°102 (enlever le "#") :
%%(ini;96;/etc/samba/smb.conf)
####### Authentication #######
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
# security = user
%%
modifié en:
%%(ini;102;/etc/samba/smb.conf)
security = user
%%
Et passer le partage des dossiers utilisateurs en mode lecture/écriture (ligne 242) :
%%(ini;234;/etc/samba/smb.conf)
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = yes
%%
modifié:
%%(ini;242;/etc/samba/smb.conf)
read only = no
%%
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico".
Répondre "O" à la question de l'éditeur: "//Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ?//", et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Demander à SAMBA de recharger sa configuration:
%%
root@mamecab:~# /etc/init.d/samba reload
Reloading /etc/samba/smb.conf: smbd only.
%%
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le passe sans qu'il s'affiche à l'écran) :
%%
root@mamecab:~# smbpasswd -a puckman
New SMB password:
Retype new SMB password:
Added user puckman.
%%
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple). Ici, je fais le test depuis la propre machine :
%%
root@mamecab:~# smbclient -U puckman //localhost/puckman
Enter puckman's password:
Domain=[LUDOMATIC] OS=[Unix] Server=[Samba 3.5.6]
smb: \> dir
. D 0 Tue Mar 22 12:06:45 2011
.. D 0 Tue Mar 22 12:04:34 2011
.bash_logout H 220 Tue Mar 22 12:04:34 2011
.bashrc H 3184 Tue Mar 22 12:04:34 2011
.bash_history H 23 Tue Mar 22 12:06:45 2011
.profile H 675 Tue Mar 22 12:04:34 2011
61026 blocks of size 65536. 43188 blocks available
smb: \> exit
%%
==== VI. MAME ====
=== a. Récupération des sources ===
xx
Deletions:
Voir [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 le document Google existant]].
Ce document "Google Docs" a été écrit mi-2008 et est en cours d'actualisation ci-dessous :
===== SQUEEZE + MAME 0.140 =====
==== Note ====
Document rédigé en mars 2011.
==== Préparatifs ====
Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- choisir la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement choisir l'image d'installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai choisi la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Vous voici prêt à installer le système de base!
==== Installation du système ====
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
@@
{{image url="/_extra_/mamecab01.jpg" title="accueil" alt="screenshot"}}
Accueil lors du boot sur le CDROM d'installation de Debian 6.0 Squeeze: j'ai choisi l'installation en mode "console"
{{image url="/_extra_/mamecab02.jpg" title="accueil" alt="screenshot"}}
Choix de la langue
{{image url="/_extra_/mamecab03.jpg" title="accueil" alt="screenshot"}}
Situation géographique
{{image url="/_extra_/mamecab04.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab05.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab06.jpg" title="accueil" alt="screenshot"}}
Chargement des composants et détection du réseau: {{color hex="#DD0000" text="je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une"}}.
{{image url="/_extra_/mamecab07.jpg" title="accueil" alt="screenshot"}}
Choix du nom de la borne: {{color hex="#DD0000" text="notez-la bien si vous la modifiez"}}.
{{image url="/_extra_/mamecab08.jpg" title="accueil" alt="screenshot"}}
Entrez le nom de domaine local
{{image url="/_extra_/mamecab09.jpg" title="accueil" alt="screenshot"}}
Saisie du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
{{image url="/_extra_/mamecab10.jpg" title="accueil" alt="screenshot"}}
Choix de l'utilisateur, je l'ai appelé "puckman": {{color hex="#DD0000" text="notez bien son nom si vous en choisissez un autre"}}.
{{image url="/_extra_/mamecab11.jpg" title="accueil" alt="screenshot"}}
Saisie de son mot de passe
{{image url="/_extra_/mamecab12.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab13.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le partitionnement du disque entier: {{color hex="#DD0000" text="tout le disque sera formaté"}}!
{{image url="/_extra_/mamecab14.jpg" title="accueil" alt="screenshot"}}
Je n'ai qu'un disque à sélectionner
{{image url="/_extra_/mamecab15.jpg" title="accueil" alt="screenshot"}}
J'ai simplement choisi une unique partition pour le système et les données utilisateur
{{image url="/_extra_/mamecab16.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab17.jpg" title="accueil" alt="screenshot"}}
Attention, {{color hex="#DD0000" text="pas de retour en arrière une fois le disque formaté"}}!
{{image url="/_extra_/mamecab18.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab19.jpg" title="accueil" alt="screenshot"}}
Choisir un dépôt de paquets proche de votre lieu géographique
{{image url="/_extra_/mamecab20.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab21.jpg" title="accueil" alt="screenshot"}}
{{image url="/_extra_/mamecab22.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils. Concernant les gestionnaire de bureau tels KDE ou GNOME, nous nous contenterons simplement du serveur graphique X.
{{image url="/_extra_/mamecab23.jpg" title="accueil" alt="screenshot"}}
Installation des paquets
{{image url="/_extra_/mamecab24.jpg" title="accueil" alt="screenshot"}}
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous disposez de plusieurs postes connectés.
{{image url="/_extra_/mamecab25.jpg" title="accueil" alt="screenshot"}}
Installation du chargeur de démarrage GRUB
{{image url="/_extra_/mamecab26.jpg" title="accueil" alt="screenshot"}}
Fin de l'installation
{{image url="/_extra_/mamecab27.jpg" title="accueil" alt="screenshot"}}
Retirer le CDROM avant le re-démarrage
{{image url="/_extra_/mamecab28.jpg" title="accueil" alt="screenshot"}}
Reboot
{{image url="/_extra_/mamecab29.jpg" title="accueil" alt="screenshot"}}
Moment émouvant du premier boot ;-)
{{image url="/_extra_/mamecab30.jpg" title="accueil" alt="screenshot"}}
Bienvenue!
@@
Pour simplifier les choses dans la suite mon installation, j'utilise une connexion distante par SSH depuis un poste de travail, libre à vous de continuer sur la machine locale.
Pour établir une connexion SSH distante, il faut récupérer l'adresse IP de la borne (passez cette étape si vous avez spécifié une IP fixe):
- il faut se connecter en tant qu'usager "root" et saisir le mot de passe que vous avez bien noté lors de l'installation,
- taper ##ifconfig## pour obtenir l'adresse IP de la machine sur le réseau. Ici ##192.168.100.233##, à remplacer par la vôtre dans la suite du document.
@@
{{image url="/_extra_/mamecab31.jpg" title="accueil" alt="screenshot"}}
@@
==== Connexion distante ====
Sur mon poste de travail, je peux dès lors me connecter via SSH sur la borne (à l'adresse récupérée ci-dessus) avec la commande "ssh utilisateur@machine":
%%
ludo@kanumera:~$ ssh root@192.168.100.223
The authenticity of host '192.168.100.223 (192.168.100.223)' can't be established.
RSA key fingerprint is f9:ed:b1:36:8a:dd:bd:e6:6d:5c:38:42:0e:5a:d5:c0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.223' (RSA) to the list of known hosts.
root@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 22 15:48:24 2011
/usr/bin/xauth: creating new authority file /root/.Xauthority
root@mamecab:~#
%%
==== Partage de fichiers ====
Je vais activer le partage de fichiers avec SAMBA avec authentification. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
%%root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig%%
Puis j'édite ce fichier:
%%root@mamecab:~# pico /etc/samba/smb.conf%%
Dé-commenter la ligne n°102 (enlever le "#") :
%%(text;96;/etc/samba/smb.conf)
####### Authentication #######
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
# security = user
%%
modifié en:
%%(bash;102;/etc/samba/smb.conf)
security = user
%%
Et passer le partage des dossiers utilisateurs en mode lecture/écriture (ligne 242) :
%%(text;234;/etc/samba/smb.conf)
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = yes
%%
modifié:
%%(bash;242;/etc/samba/smb.conf)
read only = no
%%
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico".
Répondre "O" à la question de l'éditeur: "//Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ?//", et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Demander à SAMBA de recharger sa configuration:
%%
root@mamecab:~# /etc/init.d/samba reload
Reloading /etc/samba/smb.conf: smbd only.
%%
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le passe sans qu'il s'affiche à l'écran) :
%%
root@mamecab:~# smbpasswd -a puckman
New SMB password:
Retype new SMB password:
Added user puckman.
%%
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple). Ici, je fais le test depuis la propre machine :
%%
root@mamecab:~# smbclient -U puckman //localhost/puckman
Enter puckman's password:
Domain=[LUDOMATIC] OS=[Unix] Server=[Samba 3.5.6]
smb: \> dir
. D 0 Tue Mar 22 12:06:45 2011
.. D 0 Tue Mar 22 12:04:34 2011
.bash_logout H 220 Tue Mar 22 12:04:34 2011
.bashrc H 3184 Tue Mar 22 12:04:34 2011
.bash_history H 23 Tue Mar 22 12:06:45 2011
.profile H 675 Tue Mar 22 12:04:34 2011
61026 blocks of size 65536. 43188 blocks available
smb: \> exit
%%
==== MAME ====
=== Récupération et préparation des sources ===
xx
Additions:
Accueil lors du boot sur le CDROM d'installation de Debian 6.0 Squeeze: j'ai choisi l'installation en mode "console"
Entrez le nom de domaine local
Saisie du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
Saisie de son mot de passe
Je n'ai qu'un disque à sélectionner
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils. Concernant les gestionnaire de bureau tels KDE ou GNOME, nous nous contenterons simplement du serveur graphique X.
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous disposez de plusieurs postes connectés.
Moment émouvant du premier boot ;-)
- taper ##ifconfig## pour obtenir l'adresse IP de la machine sur le réseau. Ici ##192.168.100.233##, à remplacer par la vôtre dans la suite du document.
Sur mon poste de travail, je peux dès lors me connecter via SSH sur la borne (à l'adresse récupérée ci-dessus) avec la commande "ssh utilisateur@machine":
Dé-commenter la ligne n°102 (enlever le "#") :
modifié en:
%%(bash;102;/etc/samba/smb.conf)
security = user
Et passer le partage des dossiers utilisateurs en mode lecture/écriture (ligne 242) :
%%(bash;242;/etc/samba/smb.conf)
read only = no
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico".
Répondre "O" à la question de l'éditeur: "//Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ?//", et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Entrez le nom de domaine local
Saisie du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
Saisie de son mot de passe
Je n'ai qu'un disque à sélectionner
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils. Concernant les gestionnaire de bureau tels KDE ou GNOME, nous nous contenterons simplement du serveur graphique X.
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous disposez de plusieurs postes connectés.
Moment émouvant du premier boot ;-)
- taper ##ifconfig## pour obtenir l'adresse IP de la machine sur le réseau. Ici ##192.168.100.233##, à remplacer par la vôtre dans la suite du document.
Sur mon poste de travail, je peux dès lors me connecter via SSH sur la borne (à l'adresse récupérée ci-dessus) avec la commande "ssh utilisateur@machine":
Dé-commenter la ligne n°102 (enlever le "#") :
modifié en:
%%(bash;102;/etc/samba/smb.conf)
security = user
Et passer le partage des dossiers utilisateurs en mode lecture/écriture (ligne 242) :
%%(bash;242;/etc/samba/smb.conf)
read only = no
Puis #%CTRL#%+#%X#% pour fermer l'éditeur "pico".
Répondre "O" à la question de l'éditeur: "//Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ?//", et #%ENTRÉE#% pour valider le nom du fichier. Nous voilà revenus au prompt.
Deletions:
Paramètres régionaux
Clavier
Choix du nom de domaine local
Choix du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
Choix de son mot de passe
Chargement des composants
Le choix est simple car je n'ai qu'un disque
Récap.
Préparation pour installer le système de base une fois le disque formaté
Mise à jour de la liste des paquets disponibles
Configuration d'un système minimal
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils.
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous avez plusieurs postes.
Moment émouvant du premier boot :)
- taper "**ifconfig**" pour obtenir l'adresse IP de la machine sur le réseau. Ici **192.168.100.233**, à remplacer par la vôtre dans la suite du document.
Sur mon poste de travail je peux dès lors me connecter via SSH sur la borne à l'adresse récupérée ci-dessus avec la commande "ssh root@192.168.100.233"
Dé-commenter la ligne (enlever le "#") :
%%security = user%%
Et passer le partage des dossiers utilisateurs en mode lecture/écriture:
%%read only = no%%
Puis CTRL+X pour fermer l'éditeur "pico". Répondre "O" à la question de l'éditeur: "Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ? " et [ENTRÉE] pour valider le nom du fichier. Nous voilà revenus au prompt.
root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig
root@mamecab:~# pico /etc/samba/smb.conf
Additions:
%%(text;234;/etc/samba/smb.conf)
Puis CTRL+X pour fermer l'éditeur "pico". Répondre "O" à la question de l'éditeur: "Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ? " et [ENTRÉE] pour valider le nom du fichier. Nous voilà revenus au prompt.
Demander à SAMBA de recharger sa configuration:
root@mamecab:~# /etc/init.d/samba reload
Reloading /etc/samba/smb.conf: smbd only.
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le passe sans qu'il s'affiche à l'écran) :
root@mamecab:~# smbpasswd -a puckman
New SMB password:
Retype new SMB password:
Added user puckman.
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple). Ici, je fais le test depuis la propre machine :
root@mamecab:~# smbclient -U puckman //localhost/puckman
Enter puckman's password:
Domain=[LUDOMATIC] OS=[Unix] Server=[Samba 3.5.6]
smb: \> dir
. D 0 Tue Mar 22 12:06:45 2011
.. D 0 Tue Mar 22 12:04:34 2011
.bash_logout H 220 Tue Mar 22 12:04:34 2011
.bashrc H 3184 Tue Mar 22 12:04:34 2011
.bash_history H 23 Tue Mar 22 12:06:45 2011
.profile H 675 Tue Mar 22 12:04:34 2011
61026 blocks of size 65536. 43188 blocks available
smb: \> exit
==== MAME ====
=== Récupération et préparation des sources ===
xx
Puis CTRL+X pour fermer l'éditeur "pico". Répondre "O" à la question de l'éditeur: "Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ? " et [ENTRÉE] pour valider le nom du fichier. Nous voilà revenus au prompt.
Demander à SAMBA de recharger sa configuration:
root@mamecab:~# /etc/init.d/samba reload
Reloading /etc/samba/smb.conf: smbd only.
Et ajouter notre compte utilisateur "puckman" (choisi lors de l'installation du système) aux comptes autorisés à se connecter via SAMBA (il sera demandé de saisir deux fois le passe sans qu'il s'affiche à l'écran) :
root@mamecab:~# smbpasswd -a puckman
New SMB password:
Retype new SMB password:
Added user puckman.
Et voilà! Je peux me connecter au dossier de l'utilisateur "puckman" sur la machine "galaga" (192.168.100.223) depuis le réseau (qui peut être un PC ou un boîtier multimédia par exemple). Ici, je fais le test depuis la propre machine :
root@mamecab:~# smbclient -U puckman //localhost/puckman
Enter puckman's password:
Domain=[LUDOMATIC] OS=[Unix] Server=[Samba 3.5.6]
smb: \> dir
. D 0 Tue Mar 22 12:06:45 2011
.. D 0 Tue Mar 22 12:04:34 2011
.bash_logout H 220 Tue Mar 22 12:04:34 2011
.bashrc H 3184 Tue Mar 22 12:04:34 2011
.bash_history H 23 Tue Mar 22 12:06:45 2011
.profile H 675 Tue Mar 22 12:04:34 2011
61026 blocks of size 65536. 43188 blocks available
smb: \> exit
==== MAME ====
=== Récupération et préparation des sources ===
xx
Deletions:
puis CTRL+X pour fermer l'éditeur "pico". Répondre "O" à la question de l'éditeur: "Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ? " et [ENTRÉE] pour valider le nom du fichier. Nous voilà revenus au prompt.
Additions:
%%(text;96;/etc/samba/smb.conf)
####### Authentication #######
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
# security = user
%%security = user%%
%%(text;15;/etc/samba/smb.conf)
%%read only = no%%
puis CTRL+X pour fermer l'éditeur "pico". Répondre "O" à la question de l'éditeur: "Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ? " et [ENTRÉE] pour valider le nom du fichier. Nous voilà revenus au prompt.
####### Authentication #######
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
# security = user
%%security = user%%
%%(text;15;/etc/samba/smb.conf)
%%read only = no%%
puis CTRL+X pour fermer l'éditeur "pico". Répondre "O" à la question de l'éditeur: "Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ? " et [ENTRÉE] pour valider le nom du fichier. Nous voilà revenus au prompt.
Deletions:
%% security = user%%
%% read only = no%%
puis CTRL+X, répondre "O" à la question de l'éditeur: "Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ? " et [ENTRÉE] pour valider le nom du fichier. Nous voilà revenus au prompt.
Additions:
Je vais activer le partage de fichiers avec SAMBA avec authentification. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
Dé-commenter la ligne (enlever le "#") :
%%# security = user%%
modifié:
%% security = user%%
Et passer le partage des dossiers utilisateurs en mode lecture/écriture:
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = yes
modifié:
%% read only = no%%
puis CTRL+X, répondre "O" à la question de l'éditeur: "Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ? " et [ENTRÉE] pour valider le nom du fichier. Nous voilà revenus au prompt.
root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig
root@mamecab:~# pico /etc/samba/smb.conf
Dé-commenter la ligne (enlever le "#") :
%%# security = user%%
modifié:
%% security = user%%
Et passer le partage des dossiers utilisateurs en mode lecture/écriture:
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = yes
modifié:
%% read only = no%%
puis CTRL+X, répondre "O" à la question de l'éditeur: "Sauver l'espace modifié (RÉPONDRE « Non » EFFACERA LES CHANGEMENTS) ? " et [ENTRÉE] pour valider le nom du fichier. Nous voilà revenus au prompt.
root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig
root@mamecab:~# pico /etc/samba/smb.conf
Deletions:
Additions:
Sur mon poste de travail je peux dès lors me connecter via SSH sur la borne à l'adresse récupérée ci-dessus avec la commande "ssh root@192.168.100.233"
==== Partage de fichiers ====
Je vais activer le partage de fichiers avec SAMBA. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
%%root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig%%
Puis j'édite ce fichier:
%%root@mamecab:~# pico /etc/samba/smb.conf%%
==== Partage de fichiers ====
Je vais activer le partage de fichiers avec SAMBA. Pour cela je commence par une copie de sauvegarde du fichier de configuration original:
%%root@mamecab:~# cp /etc/samba/smb.conf /etc/samba/smb.conf_orig%%
Puis j'édite ce fichier:
%%root@mamecab:~# pico /etc/samba/smb.conf%%
Deletions:
Additions:
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en couleur rouge.
Sur mon poste de travail je peux dès lors me connecter sur la borne à l'adresse récupérée ci-dessus: **192.168.100.233**
Sur mon poste de travail je peux dès lors me connecter sur la borne à l'adresse récupérée ci-dessus: **192.168.100.233**
Deletions:
Sur mon poste de travail je peux dès lors me connecter sur la borne à l'adresse récupérée: **192.168.100.233**
%%(bash)
Additions:
Chargement des composants et détection du réseau: {{color hex="#DD0000" text="je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une"}}.
Choix du nom de la borne: {{color hex="#DD0000" text="notez-la bien si vous la modifiez"}}.
Choix du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
Choix de l'utilisateur, je l'ai appelé "puckman": {{color hex="#DD0000" text="notez bien son nom si vous en choisissez un autre"}}.
J'ai choisi le partitionnement du disque entier: {{color hex="#DD0000" text="tout le disque sera formaté"}}!
Attention, {{color hex="#DD0000" text="pas de retour en arrière une fois le disque formaté"}}!
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils.
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous avez plusieurs postes.
Bienvenue!
{{image url="/_extra_/mamecab31.jpg" title="accueil" alt="screenshot"}}
Pour simplifier les choses dans la suite mon installation, j'utilise une connexion distante par SSH depuis un poste de travail, libre à vous de continuer sur la machine locale.
Pour établir une connexion SSH distante, il faut récupérer l'adresse IP de la borne (passez cette étape si vous avez spécifié une IP fixe):
- il faut se connecter en tant qu'usager "root" et saisir le mot de passe que vous avez bien noté lors de l'installation,
- taper "**ifconfig**" pour obtenir l'adresse IP de la machine sur le réseau. Ici **192.168.100.233**, à remplacer par la vôtre dans la suite du document.
==== Connexion distante ====
Sur mon poste de travail je peux dès lors me connecter sur la borne à l'adresse récupérée: **192.168.100.233**
%%(bash)
ludo@kanumera:~$ ssh root@192.168.100.223
The authenticity of host '192.168.100.223 (192.168.100.223)' can't be established.
RSA key fingerprint is f9:ed:b1:36:8a:dd:bd:e6:6d:5c:38:42:0e:5a:d5:c0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.223' (RSA) to the list of known hosts.
root@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 22 15:48:24 2011
/usr/bin/xauth: creating new authority file /root/.Xauthority
root@mamecab:~#
%%
Choix du nom de la borne: {{color hex="#DD0000" text="notez-la bien si vous la modifiez"}}.
Choix du mot de passe "root": {{color hex="#DD0000" text="notez-le bien"}}!
Choix de l'utilisateur, je l'ai appelé "puckman": {{color hex="#DD0000" text="notez bien son nom si vous en choisissez un autre"}}.
J'ai choisi le partitionnement du disque entier: {{color hex="#DD0000" text="tout le disque sera formaté"}}!
Attention, {{color hex="#DD0000" text="pas de retour en arrière une fois le disque formaté"}}!
J'ai choisi le "{{color hex="#DD0000" text="Serveur de fichiers"}}" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "{{color hex="#DD0000" text="Serveur SSH"}}" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "{{color hex="#DD0000" text="Utilitaires standard du système"}}" pour bénéficier d'un minimum d'outils.
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). {{color hex="#DD0000" text="Mettez celui approprié à votre réseau"}} si vous avez plusieurs postes.
Bienvenue!
{{image url="/_extra_/mamecab31.jpg" title="accueil" alt="screenshot"}}
Pour simplifier les choses dans la suite mon installation, j'utilise une connexion distante par SSH depuis un poste de travail, libre à vous de continuer sur la machine locale.
Pour établir une connexion SSH distante, il faut récupérer l'adresse IP de la borne (passez cette étape si vous avez spécifié une IP fixe):
- il faut se connecter en tant qu'usager "root" et saisir le mot de passe que vous avez bien noté lors de l'installation,
- taper "**ifconfig**" pour obtenir l'adresse IP de la machine sur le réseau. Ici **192.168.100.233**, à remplacer par la vôtre dans la suite du document.
==== Connexion distante ====
Sur mon poste de travail je peux dès lors me connecter sur la borne à l'adresse récupérée: **192.168.100.233**
%%(bash)
ludo@kanumera:~$ ssh root@192.168.100.223
The authenticity of host '192.168.100.223 (192.168.100.223)' can't be established.
RSA key fingerprint is f9:ed:b1:36:8a:dd:bd:e6:6d:5c:38:42:0e:5a:d5:c0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.223' (RSA) to the list of known hosts.
root@192.168.100.223's password:
Linux mamecab 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 22 15:48:24 2011
/usr/bin/xauth: creating new authority file /root/.Xauthority
root@mamecab:~#
%%
Deletions:
Choix du nom de la borne: **notez-la bien si vous la modifiez**.
Choix du mot de passe "root": **notez-le bien**!
Choix de l'utilisateur, je l'ai appelé "puckman": **notez bien son nom si vous en choisissez un autre**.
J'ai choisi le partitionnement du disque entier: **tout le disque sera formaté**!
Attention, **pas de retour en arrière une fois le disque formaté**!
J'ai choisi le "**Serveur de fichiers**" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "**Serveur SSH**" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "**Utilitaires standard du système**" pour bénéficier d'un minimum d'outils.
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). **Mettez celui approprié à votre réseau** si vous avez plusieurs postes.
Bienvenue !
Additions:
==== Préparatifs ====
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Vous voici prêt à installer le système de base!
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en caractères gras.
Chargement des composants et détection du réseau: **je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une**.
Choix du nom de la borne: **notez-la bien si vous la modifiez**.
Choix du mot de passe "root": **notez-le bien**!
Choix de l'utilisateur, je l'ai appelé "puckman": **notez bien son nom si vous en choisissez un autre**.
J'ai choisi le partitionnement du disque entier: **tout le disque sera formaté**!
Le choix est simple car je n'ai qu'un disque
J'ai simplement choisi une unique partition pour le système et les données utilisateur
Attention, **pas de retour en arrière une fois le disque formaté**!
J'ai choisi le "**Serveur de fichiers**" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "**Serveur SSH**" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "**Utilitaires standard du système**" pour bénéficier d'un minimum d'outils.
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). **Mettez celui approprié à votre réseau** si vous avez plusieurs postes.
Passer par le BIOS de la machine au besoin pour faire booter le PC sur le CDROM avant le disque-dur. Vous voici prêt à installer le système de base!
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en caractères gras.
Chargement des composants et détection du réseau: **je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une**.
Choix du nom de la borne: **notez-la bien si vous la modifiez**.
Choix du mot de passe "root": **notez-le bien**!
Choix de l'utilisateur, je l'ai appelé "puckman": **notez bien son nom si vous en choisissez un autre**.
J'ai choisi le partitionnement du disque entier: **tout le disque sera formaté**!
Le choix est simple car je n'ai qu'un disque
J'ai simplement choisi une unique partition pour le système et les données utilisateur
Attention, **pas de retour en arrière une fois le disque formaté**!
J'ai choisi le "**Serveur de fichiers**" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "**Serveur SSH**" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "**Utilitaires standard du système**" pour bénéficier d'un minimum d'outils.
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers"). **Mettez celui approprié à votre réseau** si vous avez plusieurs postes.
Deletions:
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en rouge.
Chargement des composants et détection du réseau. Je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une
Choix du nom de la borne
Choix du mot de passe "root", notez-le bien!
Choix de l'utilisateur, je l'ai appelé "puckman", notez bien son nom si vous en choisissez un autre
J'ai choisi le partitionnement du disque entier : tout le disque sera formaté!
Je n'ai qu'un disque
J'ai choisi simplement une unique partition pour le système et les données utilisateur
Pas de retour en arrière une fois le disque formaté!
J'ai choisi le "Serveur de fichiers" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "Serveur SSH" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "Utilitaires standard du système" pour bénéficier d'un minimum d'outils.
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers")
Additions:
Document rédigé en mars 2011.
Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- choisir la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement choisir l'image d'installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en rouge.
@@
{{image url="/_extra_/mamecab01.jpg" title="accueil" alt="screenshot"}}
Accueil, j'ai choisi l'installation en mode "console"
{{image url="/_extra_/mamecab02.jpg" title="accueil" alt="screenshot"}}
Choix de la langue
{{image url="/_extra_/mamecab03.jpg" title="accueil" alt="screenshot"}}
Situation géographique
{{image url="/_extra_/mamecab04.jpg" title="accueil" alt="screenshot"}}
Paramètres régionaux
{{image url="/_extra_/mamecab05.jpg" title="accueil" alt="screenshot"}}
Clavier
{{image url="/_extra_/mamecab06.jpg" title="accueil" alt="screenshot"}}
Chargement des composants et détection du réseau. Je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une
{{image url="/_extra_/mamecab07.jpg" title="accueil" alt="screenshot"}}
Choix du nom de la borne
{{image url="/_extra_/mamecab08.jpg" title="accueil" alt="screenshot"}}
Choix du nom de domaine local
{{image url="/_extra_/mamecab09.jpg" title="accueil" alt="screenshot"}}
Choix du mot de passe "root", notez-le bien!
{{image url="/_extra_/mamecab10.jpg" title="accueil" alt="screenshot"}}
Choix de l'utilisateur, je l'ai appelé "puckman", notez bien son nom si vous en choisissez un autre
{{image url="/_extra_/mamecab11.jpg" title="accueil" alt="screenshot"}}
Choix de son mot de passe
{{image url="/_extra_/mamecab12.jpg" title="accueil" alt="screenshot"}}
Chargement des composants
{{image url="/_extra_/mamecab13.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le partitionnement du disque entier : tout le disque sera formaté!
{{image url="/_extra_/mamecab14.jpg" title="accueil" alt="screenshot"}}
Je n'ai qu'un disque
{{image url="/_extra_/mamecab15.jpg" title="accueil" alt="screenshot"}}
J'ai choisi simplement une unique partition pour le système et les données utilisateur
{{image url="/_extra_/mamecab16.jpg" title="accueil" alt="screenshot"}}
Récap.
{{image url="/_extra_/mamecab17.jpg" title="accueil" alt="screenshot"}}
Pas de retour en arrière une fois le disque formaté!
{{image url="/_extra_/mamecab18.jpg" title="accueil" alt="screenshot"}}
Préparation pour installer le système de base une fois le disque formaté
{{image url="/_extra_/mamecab19.jpg" title="accueil" alt="screenshot"}}
Choisir un dépôt de paquets proche de votre lieu géographique
{{image url="/_extra_/mamecab20.jpg" title="accueil" alt="screenshot"}}
Mise à jour de la liste des paquets disponibles
{{image url="/_extra_/mamecab21.jpg" title="accueil" alt="screenshot"}}
Configuration d'un système minimal
{{image url="/_extra_/mamecab22.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le "Serveur de fichiers" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "Serveur SSH" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "Utilitaires standard du système" pour bénéficier d'un minimum d'outils.
{{image url="/_extra_/mamecab23.jpg" title="accueil" alt="screenshot"}}
Installation des paquets
{{image url="/_extra_/mamecab24.jpg" title="accueil" alt="screenshot"}}
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers")
{{image url="/_extra_/mamecab25.jpg" title="accueil" alt="screenshot"}}
Installation du chargeur de démarrage GRUB
{{image url="/_extra_/mamecab26.jpg" title="accueil" alt="screenshot"}}
Fin de l'installation
{{image url="/_extra_/mamecab27.jpg" title="accueil" alt="screenshot"}}
Retirer le CDROM avant le re-démarrage
{{image url="/_extra_/mamecab28.jpg" title="accueil" alt="screenshot"}}
Reboot
{{image url="/_extra_/mamecab29.jpg" title="accueil" alt="screenshot"}}
Moment émouvant du premier boot :)
{{image url="/_extra_/mamecab30.jpg" title="accueil" alt="screenshot"}}
Bienvenue !
@@
Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] :
- choisir la version "Network installation" (Netinst) si vous avez accès à Internet lors de votre installation de la MAMECab,
- autrement choisir l'image d'installation complète (plus longue à télécharger mais contenant tous les paquets nécessaires à l'installation).
L'installation "classique" est détaillée ci-dessous en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman". Les points importants sont en rouge.
@@
{{image url="/_extra_/mamecab01.jpg" title="accueil" alt="screenshot"}}
Accueil, j'ai choisi l'installation en mode "console"
{{image url="/_extra_/mamecab02.jpg" title="accueil" alt="screenshot"}}
Choix de la langue
{{image url="/_extra_/mamecab03.jpg" title="accueil" alt="screenshot"}}
Situation géographique
{{image url="/_extra_/mamecab04.jpg" title="accueil" alt="screenshot"}}
Paramètres régionaux
{{image url="/_extra_/mamecab05.jpg" title="accueil" alt="screenshot"}}
Clavier
{{image url="/_extra_/mamecab06.jpg" title="accueil" alt="screenshot"}}
Chargement des composants et détection du réseau. Je n'ai pas utilisé d'adresse IP fixe mais vous pouvez en spécifier une
{{image url="/_extra_/mamecab07.jpg" title="accueil" alt="screenshot"}}
Choix du nom de la borne
{{image url="/_extra_/mamecab08.jpg" title="accueil" alt="screenshot"}}
Choix du nom de domaine local
{{image url="/_extra_/mamecab09.jpg" title="accueil" alt="screenshot"}}
Choix du mot de passe "root", notez-le bien!
{{image url="/_extra_/mamecab10.jpg" title="accueil" alt="screenshot"}}
Choix de l'utilisateur, je l'ai appelé "puckman", notez bien son nom si vous en choisissez un autre
{{image url="/_extra_/mamecab11.jpg" title="accueil" alt="screenshot"}}
Choix de son mot de passe
{{image url="/_extra_/mamecab12.jpg" title="accueil" alt="screenshot"}}
Chargement des composants
{{image url="/_extra_/mamecab13.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le partitionnement du disque entier : tout le disque sera formaté!
{{image url="/_extra_/mamecab14.jpg" title="accueil" alt="screenshot"}}
Je n'ai qu'un disque
{{image url="/_extra_/mamecab15.jpg" title="accueil" alt="screenshot"}}
J'ai choisi simplement une unique partition pour le système et les données utilisateur
{{image url="/_extra_/mamecab16.jpg" title="accueil" alt="screenshot"}}
Récap.
{{image url="/_extra_/mamecab17.jpg" title="accueil" alt="screenshot"}}
Pas de retour en arrière une fois le disque formaté!
{{image url="/_extra_/mamecab18.jpg" title="accueil" alt="screenshot"}}
Préparation pour installer le système de base une fois le disque formaté
{{image url="/_extra_/mamecab19.jpg" title="accueil" alt="screenshot"}}
Choisir un dépôt de paquets proche de votre lieu géographique
{{image url="/_extra_/mamecab20.jpg" title="accueil" alt="screenshot"}}
Mise à jour de la liste des paquets disponibles
{{image url="/_extra_/mamecab21.jpg" title="accueil" alt="screenshot"}}
Configuration d'un système minimal
{{image url="/_extra_/mamecab22.jpg" title="accueil" alt="screenshot"}}
J'ai choisi le "Serveur de fichiers" pour permettre l'accès à des dossiers locaux depuis un poste distant (pour la copie des ROMs par exemple), le "Serveur SSH" pour la maintenance à distance (le clavier ne sera pas nécessaire sur la borne) et les "Utilitaires standard du système" pour bénéficier d'un minimum d'outils.
{{image url="/_extra_/mamecab23.jpg" title="accueil" alt="screenshot"}}
Installation des paquets
{{image url="/_extra_/mamecab24.jpg" title="accueil" alt="screenshot"}}
Choix du groupe de travail pour le partage de fichier avec Samba (installé avec NFS suite au choix du "Serveur de fichiers")
{{image url="/_extra_/mamecab25.jpg" title="accueil" alt="screenshot"}}
Installation du chargeur de démarrage GRUB
{{image url="/_extra_/mamecab26.jpg" title="accueil" alt="screenshot"}}
Fin de l'installation
{{image url="/_extra_/mamecab27.jpg" title="accueil" alt="screenshot"}}
Retirer le CDROM avant le re-démarrage
{{image url="/_extra_/mamecab28.jpg" title="accueil" alt="screenshot"}}
Reboot
{{image url="/_extra_/mamecab29.jpg" title="accueil" alt="screenshot"}}
Moment émouvant du premier boot :)
{{image url="/_extra_/mamecab30.jpg" title="accueil" alt="screenshot"}}
Bienvenue !
@@
Deletions:
Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] : choisir la version "Netinst" si vous aurez accès à Internet lors de votre installation de la MAMECab, autrement choisir l'image d'installation complète (plus longue à télécharger mais qui contient tous les paquets nécessaires à l'installation).
Installation "classique" en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman"
{{image url="url" title="text" alt="text"}}
Additions:
Voir [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 le document Google existant]].
Ce document "Google Docs" a été écrit mi-2008 et est en cours d'actualisation ci-dessous :
===== SQUEEZE + MAME 0.140 =====
==== Note ====
Document écrit en mars 2011.
==== Pré-requis ====
Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] : choisir la version "Netinst" si vous aurez accès à Internet lors de votre installation de la MAMECab, autrement choisir l'image d'installation complète (plus longue à télécharger mais qui contient tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai choisi la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso
==== Installation du système ====
Installation "classique" en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman"
{{image url="url" title="text" alt="text"}}
Ce document "Google Docs" a été écrit mi-2008 et est en cours d'actualisation ci-dessous :
===== SQUEEZE + MAME 0.140 =====
==== Note ====
Document écrit en mars 2011.
==== Pré-requis ====
Obtenir la version Squeeze (stable à ce jour) depuis [[http://www.debian.org/distrib/ la page officielle Debian]] : choisir la version "Netinst" si vous aurez accès à Internet lors de votre installation de la MAMECab, autrement choisir l'image d'installation complète (plus longue à télécharger mais qui contient tous les paquets nécessaires à l'installation).
Pour la suite de cette installation j'ai choisi la Netinst 32 bits http://cdimage.debian.org/debian-cd/6.0.1/i386/iso-cd/debian-6.0.1a-i386-netinst.iso
==== Installation du système ====
Installation "classique" en client DHCP, avec formatage du disque entier et une unique partition, création du compte utilisateur "puckman"
{{image url="url" title="text" alt="text"}}
Deletions:
Additions:
Voir [[http://docs.google.com/View?id=ajg584hp2vsd_8cktwc6 le document Google existant]] à transplanter et actualiser!