Born to be wired
712023 visites
Uptime 45 days

Archive pour la catégorie ‘Projet Arcade’

 Le step, c’est la santé !

 24 juin 2013  Projet Arcade  Aucun commentaire
11 kilos de bonheur à l'état brut !

La plupart des publicités vous le diront : pour rester en bonne santé, pratiquez une activité physique régulière, évitez de manger trop gras, trop sucré, trop salé, mangez au moins 5 fruits et légumes par jour, buvez au moins un litre d’eau sur la même période, évitez le mauvais cholestérol, consommez l’alcool avec modération, augmentez vos défenses naturelles, dites non au tabac et à la drogue, sortez couvert, ne traversez pas en dehors de clous, et faites-vous palper la prostate à intervalles réguliers.

Tout un programme qu’il est difficile d’appliquer à la lettre ! Aussi est-il judicieux de prendre dans un premier temps ces conseils dans l’ordre et de commencer par appliquer le premier d’entre eux : l’activité physique.

Cela tombe bien, car j’ai justement récupéré un outil de taille, parfait pour cela : un tapis de danse métal TX-4000 qui m’a été gracieusement cédé par Maxime, un énorme merci à lui !

11 kilos de bonheur à l'état brut !

11 kilos de bonheur à l’état brut !

Je ne sais pas comment c’est arrivé, mais il y a toujours eu d’énormes disparités dans la famille au sujet du matériel qui nous tombe dans les bras. Alors que mon frère trouve des écrans plats et des oscilloscopes fonctionnels dans les poubelles, ou se voit remettre une Xbox360 comme lot d’un concours, j’ai plutôt pour ma part eu tendance à récupérer des objets significativement plus volumineux, comme des bornes d’arcade ou un flipper pesant 10 fois mon poids, ou ce fort joli tapis métal qui ne rentrait dans ma voiture qu’après avoir enlevé les banquettes arrière.

Quoi qu’il en soit, il sera parfait pour tenir compagnie à son petit cousin le TX-2000 et permettra j’en suis certain de se tirer la bourre sur des parties endiablées de Stepmania dans les règles de l’art.

J’espère pouvoir le tester cet été, à condition de trouver la place au sol nécessaire pour aligner deux tapis côte à côte.

C’est tout pour aujourd’hui. Dans mon prochain article, je présenterai une technique de bricolage à base de houblon pour coller les plinthes.

 Une racing cab custom WipEout-like

 15 août 2010  Bricolage, Projet Arcade  Aucun commentaire
wipeout-like-racer

D’habitude je n’aime pas trop colporter bêtement toutes les vidéos qui sont diffusées à foison via d’autres blogs. D’abord parce que si je le faisais, un lecteur avisé remarquerait que le news n’est pas de la plus belle fraicheur, mais aussi parce que je considère un peu que poster des vidéos à foison sur un blog sans réel commentaire à côté est un signe avant-coureur de sécheresse éditoriale. Et si je peux me permettre un commentaire purement gratuit et strictement personnel, le réchauffement climatique semble également être en mesure de propager peu à peu la sécheresse sur le PBF (paysage blogosphérique francophone).

Voila, c’est fait, je vais me faire plein d’amis blogueurs. Mais je m’en fiche puisque je ne tiens pas un blog mais un CMS :p

Une fois n’est pas coutume, je vais rentrer dans le moule et masquer ma flemme rédactionnelle et le manque de contenu actuel de ce site en postant à mon tour une vidéo dont la fraicheur laisse à désirer.

Il s’agit d’une personne qui a eu l’idée un peu folle de bâtir une racing cab un peu particulière puisqu’elle retransmet les images capturées par une caméra miniature positionnée sur un petit véhicule motorisé, et piloté sur un circuit réel par le joueur. Je ne peux que m’extasier d’admiration devant un tel montage, eu égard à l’originalité du concept, l’ingéniosité du montage, et l’inspiration WipEout’esque du circuit. Et pour cause, WipEout est un des jeux qui m’aura le plus scotché devant un écran dans ma prime jeunesse (en dehors de Street Fighter II’), le plus fait pulser d’adrénaline jusqu’au cerveau, et le plus conforté dans l’idée qu’on pouvait écouter la B.O. d’un jeu vidéo en boucle (ce qui soit dit en passant était assez difficilement concevable à l’époque pour des personnes normales).

Ce concept récolte donc mon coup de cœur ainsi que la retransmission des vidéos qui vont avec.

Racer v0.1

Racer v0.2

Plus d’infos sur le site officiel.

 Étiquettes monnayeurs pour flipper Gold Wings

 12 mars 2010  Projet Arcade  4 commentaires
etiquette-monnayeur-flipper-5fr

Après être enfin rentré chez moi et avoir fouillé au fin fond des entrailles de mon disque dur, j’ai pu retrouver in extremis le modèle d’étiquettes sur lesquelles j’avais travaillé et qui m’a été demandé ici. J’ai ensuite imprimé ces étiquettes pour les positionner derrière les boutons poussoirs des monnayeurs du Gold Wings.

Étiquette 10 Fr

Étiquette 10 Fr

Le travail a réaliser n’était pas trop important :

  • Je suis parti du scan d’une étiquette d’origine, de 1 franc.
  • J’ai utilisé quelques filtres pour supprimer la majorité des poussières blanches.
  • J’ai augmenté un peu les contrastes.
  • J’ai reconstitué les chiffres 5 et 0 à partir d’une police qui m’a parue proche (Arial 100 Bold). J’ai conservé le chiffre 1 existant car je n’ai pas trouvé de chiffre qui ressemblait à l’original dans mon set de polices.
  • J’ai dupliqué les nouveaux chiffres sous leur calque original et appliqué un flou gaussien de 1.4 pixels, afin de créer une sorte de léger halo lumineux, que l’on voit bien autour du texte « PUSH TO REJECT » par exemple.

Puis hop, impression pour les modèles 5F et 10F et positionnement sur le flipper.

Edition du 13/03/2010 : amélioration de l’étiquette 10F et ajout de celle de 5F.

 C’est Noël Théo, c’est l’époque des miracles

 29 décembre 2009  Projet Arcade  Aucun commentaire
hans-gruber

Hans Grüber l’avait bien dit dans Piège de Cristal, et il ne pouvait pas être plus proche de la vérité : « C’est Noël Théo, c’est l’époque des miracles. »

Et en cette période de miracles, celui-ci me fait vraiment plaisir : Mon flipper Gold Wings est revenu à la vie !

Les ennuis avaient démarré en mai, avec une panne au niveau des afficheurs. La série noire avait continué en juin, avec un blackout total sur le flipper. Et pour couronner le tout, je n’avais pas eu le temps de m’occuper de ces problèmes, à part vérifier un par un tous les fusibles sur les conseils des membres de Gamoover.

Le problème était à la fois simpliste et vicieux, puisque la rouille avait recouvert un des fusibles de l’alimentation principale ainsi que son support, empêchant ainsi le passage du courant en position normale, alors que le fusible donnait un résultat positif au testeur… C’est papa AlphaK qui à trouvé la panne ;)

Malheureusement, la remise en route de la machine n’a pas ressuscité les afficheurs par la même occasion. Mais on avance… Lorsque j’aurai un peu de temps, j’irai vérifier les connecteurs et les niveaux de tension avec les schémas électriques sous la main, avec l’espoir de régler de manière définitive tous les problèmes sur ce flip…

 Nouveau matos pour la Mamecab

 15 décembre 2009  Projet Arcade  Aucun commentaire
Un bureau complet et réactif pour 30 Mo et sans disque dur, que demande le peuple ?

Lorsque je parlais de nouveau PC dans l’article précédent, avec un petit air de ne pas y toucher, j’étais en réalité déjà dans le vrai. La faute à un nouveau venu qui s’ajoute au capharnaüm de mon appartement : un PC à la config plus qu’honorable généreusement donné par Flo, que je remercie chaleureusement.

Une très belle bête à base d’Athlon 64 3500+, GeForce 6600 LE, 1 Go de RAM DDR1.

Même le boîtier en jette !

Même le boîtier en jette !

Ça serait presque trop pour une Mamecab, mais j’ai bien envie de faire un comparatif avec la config actuelle pour voir si ça booste dans les jeux les plus gourmands.

La config actuelle, qui n’est pas trop à la ramasse, comprend un Athlon XP 1800+, une GeForce 6200, avec entre 512 Mo et 1 Go de RAM DDR1. Donc à mon avis, ça risque de booster sévère. Mais je préfère ne pas m’emballer, les résultats des tests me permettront de prendre une décision mûrement pesée.

En attendant, juste pour le fun, j’ai booté la machine dépourvue de disque dur sur un Live CD de Damn Small Linux, que j’utilise aussi sur ce projet, et je n’ai pas attendu longtemps pour voir un bureau apparaître. Bureau + terminal + navigateur démarrés, la conso mémoire est en dessous de 30 Mo. C’est donc vraiment une distro idéale pour les petites configs orientées bureautique et navigation internet.

Un bureau complet et réactif pour 30 Mo et sans disque dur, que demande le peuple ?

Un bureau complet et réactif pour 30 Mo et sans disque dur, que demande le peuple ?

À la prochaine pour le résultat des tests.

PS : je sais, mes photos brûlent toujours les yeux, j’attends que les périodes de Noël soient terminées pour m’offrir un pur appareil photo à prix abordable.

 Pong Clock, le spin-off

 18 novembre 2009  Bricolage, Projet Arcade  5 commentaires
Pour un peu, on pourrait croire que je prône mon propre culte de la personnalité...

Angoissé par la peur de l’échec dans la reconversion du PC portable en horloge Pong, je cherchais depuis un moment des idées alternatives de recyclage, histoire de me replier sur un autre projet qui permettrait de sauver l’ordinosaure d’une lente agonie.

Jusqu’au jour où l’idée de génie fut apportée par Sylvain : un cadre photo numérique !

Aujourd’hui je peux dire que l’idée est pleinement exploitable sur ce type de machine. SVGAlib est fait pour ça. Mieux, le programme qui contenait les lib SVGA compilées pour DSL, nommé zgv, est, si vous vous rappelez du billet précédent, un visualiseur d’images ! Cerise sur le gâteau, il peut même afficher des diaporamas !

J’ai fait le test en 10 minutes : sur le portable, si je ne force pas un affichage en 320×240, mes images s’affichent, mais sont parfois décalées de quelques pixels sur la droite pour une raison inconnue. Éventuellement à tweaker légèrement en fonction du portable. Pour info, zgv a un pendant sous X11 nommé xzgv.

J’enregistre mes réglages sur DSL de la manière suivante (force la résolution, le nombre de couleurs, et les paramètres de zoom) :

alias zgv='/opt/zgv/zgv2 -p -j -z -m "320 240 8"'

Je peux ensuite lancer un diaporama avec la commande suivante :

zgv /path/to/my/pictures/*

Et voila, la preuve en image, un cadre photo numérique artisanal réalisé sans effort. :)

Pour un peu, on pourrait croire que je prône mon propre culte de la personnalité...

Pour un peu, on pourrait croire que je prône mon propre culte de la personnalité…

PS : pas de panique, pour le moment ma roadmap en ce qui concerne le laptop est toujours l’horloge Pong. ;)

 Le pixel infernal

 17 novembre 2009  Bricolage, Projet Arcade  3 commentaires
Mince, figlet me dit que je devrais aller me coucher !

Dans l’article précédent, je détaillais mes premières étapes de la transformation d’un vieil ordinateur portable en horloge Pong, à savoir l’installation d’un Damn Small Linux sur le système.

L’étape suivante n’est pas de tout repos, puisqu’il faut maintenant afficher à l’écran les graphismes de mon choix. En l’occurrence, un terrain, deux raquettes carrées, une balle carrée, et un score qui évolue en fonction de l’heure. Mais ne plaçons pas la charrue avant les bœufs, autant commencer doucement, et tenter d’afficher dans un premier temps un modeste pixel.

Car à ce stade, DSL démarre en mode console.

Elle est belle, ma console, elle est belle !

Elle est belle, ma console, elle est belle !

Après un peu de nettoyage dans les scripts de démarrage de DSL, j’obtiens beaucoup moins d’erreurs lors du boot. À terme, mon but est d’avoir un affichage le moins verbeux possible pendant le boot, histoire de donner à la future horloge un petit côté appliance. Comprenez par là que les messages affichés pendant la phase de démarrage sont totalement inutiles aux yeux des non-informaticiens, il sera donc intéressant d’en diminuer le nombre, tout en gardant la possibilité de les afficher moyennant la manipulation appropriée (un paramètre passé au noyau, par exemple). Mais ceci est purement cosmétique et ne constitue pas la priorité n°1.

Nous sommes donc en mode console. Le mode console, c’est une division de l’écran en 80 colonnes et 25 lignes, chaque case située à leur intersection pouvant afficher exactement un caractère, ni plus ni moins. C’est donc fait pour afficher du texte, de manière (quasi) exclusive.

Alors, grâce à des bidouilles comme figlet, déjà utilisé sur mon minitel, il est possible de dessiner avec les caractères de la console, mais on est très loin de maîtriser ce qui sera affiché au pixel près.

Mince, figlet me dit que je devrais aller me coucher !

Mince, figlet me dit que je devrais aller me coucher !

Alors, comment diable afficher un simple pixel sur l’écran ? Linux utilise généralement un serveur X11 pour tout ce qui touche au mode graphique. C’est sur X11 que vient se greffer le gestionnaire de fenêtres qui affiche à l’utilisateur un bureau ergonomique et coloré. Bien que le gestionnaire de fenêtres sur DSL soit extrêmement léger, le pauvre portable avec ses 8 Mo de RAM n’a pas les ressources suffisantes pour en profiter. J’ai quand même fait le test pour rigoler, je peux afficher un bureau (640×480, 16 couleurs) en moins de 3 minutes, le tout étant suivi par une interminable période de swap, pendant laquelle il est inutile d’espérer lancer la moindre commande. En définitive, on abandonne complètement l’idée.

Le bureau, c'est possible, à condition d'avoir le temps...

Le bureau, c’est possible, à condition d’avoir l’éternité devant soi…

Dans mon cas, le salut ne sera pas apporté par X11. Il me faut quelque chose de plus léger pour afficher mon pixel. Quelque chose qui me permette de programmer des applications graphiques sans passer par X11. Quelque chose comme SVGAlib.

Caution - Geek content

Attention, à partir d’ici, ça devient un poil plus technique. Le passage qui va suivre est susceptible de déclencher des nausées, voire des vomissements, chez les non-informaticiens. Je décline toute responsabilité.

SVGAlib est une bibliothèque graphique de bas niveau pour Linux. Tout à fait dans l’esprit de ce dont j’ai besoin. En plus, le site fourmille d’exemples. Je recopie le code permettant d’afficher un simple pixel à l’écran et le compile dans la foulée.

#include <stdlib.h>
#include <vga.h>

int main(void)
{
	vga_init();
	vga_setmode(G320x200x256); // Passe l'écran en résolution 320x200, 256 couleurs
	vga_setcolor(4); // On sélectionne la couleur rouge
	vga_drawpixel(10, 10); // On dessine le fameux pixel

	sleep(5); // On attend 5 secondes...
	vga_setmode(TEXT); // On repasse en mode console

	return EXIT_SUCCESS; // Et on sort fièrement dans la bonne humeur
}

À ce stade, transférer le programme compilé pour le tester sur le portable est une activité relativement chronophage. Rappelez-vous : pas de lecteur CD, pas de carte réseau.

Je décide donc d’installer une copie de DSL dans une machine virtuelle (qui elle est équipée d’une carte réseau virtuelle) et sur laquelle je peux transférer mes versions compilées à grands coups de netcat.

Bien que la compilation (en environnement Debian) se passe sans trop de problèmes bloquants, la première exécution du programme dans la machine virtuelle ne se termine pas par un franc succès. Les libs SVGA sont absentes par défaut dans DSL. Qui pourrait en faire un reproche, s’agissant d’une distrib allégée ?

À tout hasard, je choisis de copier les libs de ma Debian dans DSL. Cette solution barbare fait lamentablement planter le programme avec pour toute sortie la célèbre Segmentation Fault. Je ne saurais pas expliquer exactement pourquoi, il existe de nombreuses raisons pour que cette opération ne fonctionne pas. Les libs ne sont pas optimisées pour 486, elles ne sont pas compilées pour fonctionner sur un noyau 2.4, elles sont compilées avec des options propres à Debian, etc… Un coup dans l’eau.

À cet instant, je suis confronté au moment d’angoisse que tout développeur a connu, quand il sait que toutes les solutions simples n’ont pas fonctionné, et qu’il va falloir sortir l’artillerie lourde sans savoir dans quelle direction tirer. J’en profite pour remercier tipeon, qui a toujours de bonnes idées lorsque je lance des appels à l’aide à la cantonade sur les forums ;)

Je commence à envisager de cross-compiler ces libs moi-même, quand, au détour d’une recherche sur le net, entre deux sites pornographiques, je découvre sur cette page un visualiseur d’images utilisant SVGAlib et porté sur DSL : ZGV. Les libs étant comprises dans l’archive, je les déploie sur ma machine virtuelle, relance mon programme, et constate avec le plus grand bonheur un écran vierge, à l’exception d’un petit pixel rouge en haut à gauche de l’écran. Bingo ! :)

C’est un petit pixel pour le geek, mais un bitmap géant pour la communauté.

À partir de ce moment, le concept est démontré, il est donc possible d’utiliser SVGAlib pour afficher de manière instantanée à peu près n’importe quel graphisme sur commande à partir de la console. La preuve avec ce second exemple qui sera plus parlant qu’un bête pixel rouge :

Un joli dégradé de bleu, merci SVGAlib !

Un joli dégradé de bleu, merci SVGAlib !

Voila qui termine la partie qui à mon sens pouvait poser le plus de difficultés. Le reste, bien que pas forcément évident au premier abord, pourra se résumer à un peu de programmation et un peu de bon sens. Mais je ne manquerai pas de le détailler.

À bientôt pour la suite des aventures du laptop qui ne voulait pas mourir ;)