Ceux d'entre nous qui grandissent dans l’âge d’or des jeux vidéo d’arcade dans les années 80 me souviens avec émotion la fascination que nous étions avec des jeux comme space invaders, pacman et défenseur. Eh bien, les bonnes nouvelles sont SBCs modernes comme le jury de haut est tout à fait capable d’émuler ces jeux classiques à une fraction du coût de l’achat d’un original. Je vais aller à travers quelques-unes des étapes que j’ai vécu pour faire une réplique table de cocktail pacman machine à l’aide d’un Comité de haut.
Voici une liste complète des matériaux, des objets et des outils que je devais créer cette machine de jeu pacman :
- ubilinux™ logiciel
- Le Conseil
- I-PAC 2 Conseil
- Contrôles du jeu (ultimarc.com)
- Câble CAT5
- Ancien moniteur LCD
- contre-plaqué de 18mm
- 2.1 haut-parleurs
- Feuille de MDF de 12mm
- Banc de scie
- Scie sauteuse
- Routeur
- HDMI vers VGA et adaptateur audio
- Peinture noir brillant
- Peinture en aérosol bleue, jaune et blanche
- Perceuse
- Vis
- Tournevis
- Bouche-pores
- Colle PVA
- Papier sablé
Logiciel
La pièce principale du logiciel pour jeux d’arcade classiques est un excellent package appelé MAME, ou Multiple Arcade Machine Emulator. Ce paquet est disponible gratuitement et installer c’est aussi facile que typingapt-get install mame
sudo apt-get installer mame -y sur ubilinux ou Ubuntu.
Maintenant tandis que MAME fait un excellent travail émulant l’original arcade jeux, vous devez toujours fournir une image ROM mame exécuter. Ce ne sont pas librement accessibles car ils sont dans de nombreux cas sont toujours sous copyright d’entreprises qui leur ai écrit initialement. Si vous recherchez l’internet même si vous pouvez trouver les endroits où ces ROMs peuvent être téléchargés à partir. Mais une fois que vous avez réussi à mettre la main sur images fichier ROM pour votre favori classique jeu, vous pouvez simplement copier les fichiers dans /usr/games/mame/roms et lorsque vous exécutez MAME vous obtiendrez un menu répertoriant les jeux installés.
AutoStart et configuration du logiciel
Si vous voulez juste jouer aux jeux, alors la meilleure chose à faire, c’est juste lancer MAME de votre gestionnaire de fenêtre X. MAME détecte qu’il s’exécute sous X et utiliser quelque mode graphique est utilisé par votre bureau. Vous pouvez exécuter avec la «-maximiser » drapeau pour qu’il puisse exécuter plein écran.
Pour moi, j’ai voulu créer un système clé en main qui démarre directement dans MAME dès qu’il est en marche. Je ne voulais pas avoir n’importe quel clavier ou une souris, donc vous connectant à une session X n’était pas une option. Bien sûr, il est possible d’obtenir un gestionnaire de fenêtres pour connecter un utilisateur et exécuter une application automatiquement, mais il semble exagéré pour moi d’utiliser un gestionnaire de fenêtres juste pour créer un environnement pour exécuter des graphiques depuis les années 1980. Une autre option consiste à exécuter MAME depuis la ligne de commande. Si vous faites cela, alors MAME utilise « SDL » ou Simple Directmedia Layer. SDL est une bibliothèque conçue pour donner accès direct de bas niveau de matériel audio et graphiques et il fonctionne bien quand les apps SDL sont lancés directement depuis une console texte. Soutien pour SDL utilisé à travers un projet distinct appelé SDLMAME mais cela a été fusionnée dans la main MAME codebase maintenant tellement juste le paquet standard de MAME est tout dont vous avez besoin.
La première étape pour obtenir une console de texte consiste à désactiver le système X de démarrer. ubilinux utilise le gestionnaire de fenêtre de lightdm. Mon premier essai à désactiver cela devait exécuter « update-rc lightdm supprimer ». Cette commande supprime la commande pour démarrer lightdm de chacun des répertoires démarrage runlevel, mais quand j’ai redémarré, je fus à nouveau présenté à l’écran de connexion graphique lightdm. Il s’avère qu’une autre étape est nécessaire et si je suis entré dans la commande :
sudo systemctl ensemble par défaut multi-user.target
Cela n’a désactivé avec succès la connexion graphique et une fois j’ai redémarré, j’ai eu une seule connexion console de texte comme nécessaires à l’utilisation de SDL.
Tout en construisant l’installation d’essai initiale, j’ai utilisé un 4k Philips TV comme moniteur. Le jury de haut est le premier SBC j’ai utilisé qui permet de piloter un afficheur k 4 donc je l’utilise principalement juste parce que je peux ! Malheureusement, en cours d’exécution un rendu bitmap non accéléré à 3840 x 2160 avéré pour être trop lent pour exécuter certains jeux. Le rendu par défaut dans /etc/mame/mame.ini est « mou » qui utilise le logiciel pour rendre des images bitmap, qui va être lent. J’ai regardé en utilisant OpenGL et en utilisant le package « mesa » qui contient OpenGL sur linux. Malheureusement, celui-ci utilise aussi X, donc dans mon cas, ce serait pas améliorée. Je sais que cela ne va pas être un problème avec le moniteur proprement, que j’ai l’intention d’utiliser pour le cabinet, étant donné que ce moniteur n’est pas capable de tout près en résolution 4 k, mais la lenteur était ennuyeux moi alors j’ai regardé comment y remédier.
Après quelques recherches, j’ai trouvé que le noyau d’ubilinux supporte « KMS » (Kernel Mode Setting). Utilisez ceci, j’ai ajouté « vidéo = 1920 x 1080 à la ligne. Cela force Linux d’utiliser une résolution inférieure à la meilleure fourni par le moniteur. Le paramètre spécifie la résolution horizontale de 1920, verticale de 1080 et taux de rafraîchissement de 60Hz, qui est encore tout à fait une résolution élevée, et certainement beaucoup plus élevé que ce qui est nécessaire pour jouer à des jeux qui nécessitent uniquement 240 x 320 ou similaire, mais il fait le tour. J’ai essayé des résolutions inférieures, comme 800 x 600, mais cette cause MAME à accrocher. Je na pas enquêter pourquoi, qui peut être un exercice pour un autre jour. Bien sûr, lorsque vous effectuez ce changement, il est déconseillé de modifier directement le grub.cfg pour remédier à cela que j’ai édité/etc/default/grub comme suit :
sudo vim /etc/default/grub
Et ajoutez les options de ligne de commande du noyau à la variable GRUB_CMDLINE_LINUX comme suit :
GRUB_CMDLINE_LINUX = "vidéo = 1920 x 1080
La dernière étape a été d’installer MAME se lance automatiquement. La meilleure façon de procéder est d’ajouter une ligne dans/etc/rc.local. J’invoque MAME du fichier rc.local en utilisant la commande :
sudo vim /etc/rc.local
Et ajoutez cette ligne avant sortie 0 :
/usr/Games/mame – - maximiser – - ror
Les options – maximiser et ror – doivent courir plein écran et rotation droite respectivement. La rotate droite consiste à exécuter des jeux dans l’orientation portrait, que j’ai utilisé pour monter mon moniteur.
Une fois que tout cela est fait, configurer grub et redémarrer :
sudo update-grub & & sudo reboot
Et votre planche vers le haut, devrait démarrer directement dans MAME.
Contrôles
J’ai acheté tous les contrôles de jeu de Ultimarc (www.ultimarc.com). L’interface à la carte vers le haut est par l’entremise du I-PAC 2. Ce Conseil peu maniable je voudrais câbler tous les boutons et manettes de jeu à un moment donné et se connecter au Conseil UP via USB. La partie vraiment sympa sur ce forum, c’est qu’elle se présente comme un périphérique HID de clavier à ubilinux. Et encore plus agréable est à nouveau que les boutons génèrent rapidement sur la touche qui correspond à la séquence de touches par défaut dans MAME. Donc aucun logiciel supplémentaire requis et aucun changement de configuration n’est nécessaires. Ça marche.
Les manettes sont les modèles de « Stik Mag » qui sont 4-8 chemin des manettes de jeu commutables. Je suis allé pour le dessus de la balle donner une sensation de machine pacman plus authentique. Les boutons sont des commutateurs de bouton poussoir simple feuille d’or. Les commutateurs et les manettes sont câblés directement sur la carte I-PAC 2 à l’aide d’un câble CAT5 vieux bon. Avec le recul je dois vraiment ont a dépensé quelques euros supplémentaires et acheté un faisceau de câbles préfabriqués, mais ce que j’ai fonctionne très bien.
Moniteur
Le moniteur est un vieux LCD que personne ne voulait parce qu’il n’est pas le grand écran. Mais qui convient très bien pour une enceinte de jeu. J’ai rompu le plastique entourant et jeté les boutons et le support jusqu'à ce que je suis juste restée avec un écran nu. J’ai vissé ensemble quelques morceaux de contre-plaqué de 18mm et couper des fentes permettant à l’écran comme vous pouvez le voir ici.
Haut-parleurs
Pour l’audio, j’ai utilisé un ensemble bon marché de 2.1 haut-parleurs que j’ai dû traîner. J’ai aussi utilisé certaines découpes de contreplaqué pour contenir les enceintes gauche et droite. Le « subwoofer » peut se trouver juste vaguement à l’intérieur du cadre.
Armoire
Le cabinet se compose principalement de morceaux provenant d’une seule feuille de MDF de 12mm. À l’aide de contreplaqué plus qu’une image, venez d’attacher les panneaux sur les deux côtés et en avant, l’arrière et en bas. J’ai utilisé une scie à table pour les bords droits et une scie sauteuse pour les découpes et les coins arrondis. J’ai aussi utilisé un routeur pour arrondir les bords du panneau supérieur. Les panneaux latéraux sont vissés à la structure, tandis que le cadre supérieur est articulé pour permettre à moi pour l’ouvrir.
Puissance et adaptateurs
Divers éléments ont besoin d’alimentation dans l’armoire. Le jury de l’UP a besoin d’une alimentation de 5V. Le moniteur a son propre adaptateur DC et donc fait le 2.1 haut-parleur définie. J’ai utilisé un connecteur bande comme un répartiteur de puissance et monté un interrupteur d’alimentation secteur prise et la puissance de Maplin du cabinet aussi bien. Une des alimentations était une verrue de mur donc j’ai rompu juste son "logement pour obtenir son ' mène dans le connecteur de la bande.
J’ai également besoin d’utiliser un HDMI vers VGA et adaptateur audio. Parce que la
moniteur, j’ai utilisé était vieux, il n’avait pas un HDMI (ou même un DVI) d’entrée. Mais les adaptateurs sont bon marché et facilement disponible. Celui que j’ai utilisé a également une sortie audio jack.
Peinture
Une fois assemblé j’ai apprêté et peint tous les panneaux avec peinture noir brillant. Ajout de quelques graphiques simples était un cas de faire des découpes de carton et à l’aide de quelques pas cher bleu, blanc et jaune, peinture en aérosol de Aldi. J’ai utilisé un CD comme modèle pour pacman et le centre de la Conférence du désarmement pour les points.
Boîtier de commande
Les boîtes pour le joystick et les boutons étaient un peu plus complexes. Les manettes peuvent faire l’objet de beaucoup de force de joueurs enthousiastes il est donc important qu’ils sont bien boulonnés au sol. Les raccords « trou borgne » aussi d’ultimarc sont très bonnes et solides. Ils sont montés de dessous. Après avoir monté les récipients de la face inférieure de la MDF, je remplis les trous de forage albums woodfiller et poncé il plat pour les cacher. J’ai découpé des trous pour 5 boutons à droite de la manette de jeu et aussi un bouton de démarrage vers la gauche. J’ai défenseur à l’esprit qui a cinq contrôles button, incendie, Poussée, hyperespace et smart bomb et bien sûr, inverser, à côté de la manette. Il y a peut-être d’autres jeux qui ont besoin d’encore plus de boutons, mais je suis très bien avec cinq. Juste mettre un start bouton signifie avoir un bouton de démarrage de chaque côté de l’armoire. Avec le recul il aurait pu plus logique de mettre sur pied les deux boutons sur un côté, mais cet arrangement fonctionne très bien pour moi. J’ai fait deux d'entre eux, bien sûr, un de chaque côté. Tous les forages et fait par le haut pour nettoyer les bords de coupe.
Ensuite, j’ai monté le MDF pour certains plus contreplaqué et utilisé des vis pour maintenir le lot ensemble comme vous pouvez le voir sur les photos.
J’ai ensuite les vis à tête fraisée et remplir les trous avec un mastic bois plus.
Une fois sec, j’ai poncé, apprêtée avec PVA et peint en noir brillant.
Une fois la peinture sèche il s’agissait simplement d’ajouter dans les contrôles.
Cette étape est très simple. Les manettes de jeu chaque ont quatre boulons qui serrent de dessous et le push boutons sont filetés avec une lunette qui visse du dessus.
Fin
Enfin, c’était juste une affaire de tout le raccordement et l’essayer. Et il fonctionne très bien ! Prochaine étape : construire une version verticale.