Gamoover

[move]Pour vous aussi la chipo ne sera jamais qu'un bootleg de merguez (c)sushy18 ? Alors soyez les bienvenus sur Gamoover ! [/move]

Menu

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Voir les contributions Menu

Sujets - MaKoTo

#1
Cabs From Scratch / [WIP] Bartop à écran rotatif !
Mercredi 13 Janvier 2016, 17:47:07 PM
Je suis en train de travailler sur une nouvelle borne  8)

J'ai déjà écrit une bafouille là dessus, je vous invite à la lire ici :
http://burogu.makotoworkshop.org/index.php?post/2015/08/31/bartop01




Je vais poster ci-après les mises à jours au fil le l'eau  <:)
#2
2eme Bordel en cours de tri / [WIP] G2N - USB Version
Lundi 15 Juillet 2013, 00:46:19 AM
Je vais détailler ici l'avancée de mes travaux sur le G2N d'Aganyte.

Le but est de réaliser un flingue Infra-Rouge dans sa version PC, donc en interfaçant le G2N avec un joystick USB + le logiciel pour Windows : Joystick to mouse.
Ensuite je prévoirais d'intégrer le hard du joystick analogique USB à la PCB.


Les schémas structurels sont dessinés avec Kicad; je fournirais le projet complet lorsque la CAO sera terminée.





Ces version ne sont pas définitives !
À suivre...

Voici enfin la suite !
mieux vaut tard que jamais...
Vous trouverez donc un résumé des aventures sur les billets suivant :
http://burogu.makotoworkshop.org/index.php?post/2013/06/25/g2n
http://burogu.makotoworkshop.org/index.php?post/2013/11/14/g2n2
Une suite devrait voir le jour concernant ce prototype.
Quant à la version améliorée et définitive avec carte d'extension incluant un stick analogique, ce ne sera pas pour tout de suite... vraiment pas, donc considérez cette idée comme perdue, mais qui sait un jour peut-être  <:)

Voici les sources pour Kicad (CAO électronique).
http://burogu.makotoworkshop.org/public/electronique/G2N/G2N_Makoto_26-12-2013.zip
#3
Le Bistrot de l'Arcade / Y'a du taf chez MO5.com !!
Mercredi 28 Novembre 2012, 20:31:18 PM
MO5.com vous le savez sûrement est toujours à la recherche d'adhérents supplémentaires pour financer son association et peser plus lourd auprès du gouvernement pour la création d'un musé permanent du jeux vidéo.

Être adhérent implique aussi la possibilité de participer à la vie de l'association, pour par exemple inventorier le matériel, préparer les expos et les événements, etc.
Ce que l'on sait moins, c'est que la carte de membre donnant accès aux locaux le samedi et les vacances scolaires aux adhérents, il est possible de participer plus activement en apportant ses compétences pour faire aboutir de multiples projets.
Le besoin en techniciens compétent se fait parfois sentir, et à l'époque ou j'ai visité les locaux, on m'a clairement fait comprendre que les bornes (parfois en sale état) stockées au fond à gauche auraient besoin d'une bonne restauration.
Il y a des tubes cathodique à réviser ou remplacer, de la menuiserie à faire, de la peinture, etc.

Bref, depuis lors j'ai laissé courir pensant finir mon projet à la maison et passer à l'association pour voir quoi faire plus tard... Sauf que je me rend bien compte que je n'en aurais pas le temps...
Et depuis lors, je ne sais pas si quelqu'un s'est penché sur ces bornes... Peut-être y a t'il un membre de l'assoc ici, qui pourra en dire plus.

Il y a aussi des tas de trucs à réparer, de l'ordinateur, en passant par des mac (une team spéciale d'applemaniaque) et les consoles...

Voilà, si vous avez du temps + solides compétences + motivation altruiste, et que vous habitez en région parisienne, n'hésitez pas !   <:)


#4
Pour qui :
Ce tuto s'adresse aux gens qui cherchent à comprendre un peu plus comment fonctionne l'affichage en 15kHz sur un ordinateur, et à ceux qui souhaiteraient customiser leur système d'exploitation pour avoir une utilisation particulière de leurs émulateurs.

Pour les autres :
Et je pense directement à ceux que la compilation de noyau rebute, ou pour qui le tuto se passerait mal (interruption inexpliquée de la compilation...) je vous propose de télécharger le linux que j'ai compilé et testé sur Debian Wheezy et sur Ubuntu 12.04LTS
http://makotoworkshop.org/packages/linux-image-3.2.32-patched15khz_i386.deb
Pour l'installer, suffit d'utiliser dpkg avec les droits root ou via un sudo :
dpkg -i linux-image-3.2.32-patched15khz_i386.deb


Notes :
- Quand je dis «Linux» je parle bien entendu du noyau (kernel) et non de la distribution GNU/Linux (debian, Ubuntu, RedHat...)
- L'image iso «GroovyArcade Linux» http://code.google.com/p/groovyarcade/ fournie par l'équipe de Calamity comporte déjà un Linux Patché, utilisable seulement avec la distribution fournie.
- Le caractère # signifie qu'on est logué en root où que les droits root sont nécessaires (sudo).
- Le caractère $ signifie qu'on est logué en utilisateur.

Introduction :
Il est en fait déjà possible d'afficher une image en 15kHz sur un téléviseur grâce à Xorg configuré à l'ancienne avec xorg.conf, avec xrandr, ou maintenant avec KMS.
MAJ - 06-01-2013 : C'était vrai avant sous debian, à partir du noyau 3.2.0.4 l'installation du paquet paquet « firmware-linux-nonfree » est désormais nécessaire.
Avec Ubuntu, ça reste vrai quelque soit la version du noyau, puisque le paquet « linux-firmware » est installé par défaut !


Il suffit pour cela de passer un modeline au pilote libre ATI (radeon) ou nVidia (nouveau).
Voici un exemple de fichier xorg.conf qui fonctionne à tous les coups :

Section "Device"
   Identifier  "ATI"
   Driver      "radeon"
EndSection

Section "Monitor"
       Identifier   "TV"
       HorizSync    15.0 - 20.0
       VertRefresh  50.0 - 60.0
# Le modeline TV @15kHz
   Modeline "768x288x50.08"  15.375000  768 792 880 964 288 288 288 322  -HSync -VSync
EndSection

Section "Screen"
   Identifier "Default Screen"
   Device     "ATI"
   Monitor    "TV"
   DefaultDepth     24
   SubSection "Display"
   Depth     24
   Modes    "768x288x50.08"
   EndSubSection
EndSection


Donc on affiche une image progressive de 768x288 avec un PixelClock de 15.375 Hz.

Pourquoi Patcher Linux alors ?
Pour afficher une image plus petite, le PixelClock sera donc plus petit, de l'ordre de 6 ou 7 Hz...
Et bien tests à l'appuis, force est de constater que les pilotes libres contenus dans Linux ne sont pas capables de gérer un faible PixelClock !
Impossible donc d'afficher une image à 320x240.

L'équipe de Calamity fournit des patchs pour modifier les sources de n'importe quel Linux qu'il faut ensuite compiler et installer sur sa distribution préférée.

Les voici rassemblés ici par mes soins :
http://makotoworkshop.org/sources/patch15khz/

Pour l'exemple, je vais compiler un Linux sur Debian Wheezy qui tourne pour le moment avec un kernel 3.2 :
_____________________________________________________________________________________________________________
Prérequis

Installer les programmes nécessaires à la compilation :

# apt-get install build-essential kernel-package debconf-utils dpkg-dev debhelper ncurses-dev fakeroot zlib1g-dev

_____________________________________________________________________________________________________________
Préparation et récupération des sources

Aller dans son répertoire personnel et Créer le répertoire de travail :

$ cd
$ mkdir src
$ cd src
~/src$


_____________________________________________________________________________________________________________
Obtenir les sources à partir des dépôts

Connaître les sources disponibles pour votre système :

$ aptitude search linux-source
Renverra quelque chose du genre :
v   linux-source                         - Linux kernel source (meta-package)
p   linux-source-2.6                     - Linux kernel source (dummy package)
p   linux-source-3.2                   - Linux kernel source for version 3.2 with Debian patches


Pour obtenir les sources, il suffit de se placer dans votre répertoire ~/src et de taper la commande :

$ cd
$ mkdir src
$ su -
mot de passe:
# apt-get install linux-source-3.2
# cp /usr/src/linux-source-3.2.tar.bz2 /home/votre_user/src
# chown votre_user:votre_user /home/votre_user/src/linux-source-3.2.tar.bz2
# exit
$


_____________________________________________________________________________________________________________
Préparer la compilation du noyau

Une fois les paquets installés il va falloir décompresser les sources de votre futur noyau. Il est conseillé de déléguer les tâches de configuration du noyau à un utilisateur. Pour cela, l'utilisateur doit appartenir au groupe src.
Pour ajouter par exemple l'utilisateur laurent au groupe src :

$ su -
# adduser laurent src
Adding user `laurent' to group `src' ...
Adding user laurent to group src
Done.
# exit



Décompresser et dépaqueter les sources :

~/src$ tar xvjf linux-3.2.tar.bz2


On ajoute enfin le lien symbolique linux qui pointe vers le répertoire de vos sources. Ainsi suivant la version de nos sources on sait qu'elles se trouveront toujours dans le répertoire ~/src/linux :

~/src$ cd /usr/src

Remarque: Il est possible que le lien symbolique existe déjà, auquel cas il faudra l'effacer...

/usr/src# ln -s ~/src/linux-3.2 linux
/usr/src$ cd ~/src                                                        
~/src$ ln -s ~/src/linux-3.2 linux



_____________________________________________________________________________________________________________
Patcher les sources

Se rendre dans votre home :

~/src$ cd ~/

Télécharger le TarGz de patch correspondant à votre noyau, ici le fichier patch-3.2.tar.gz pour le noyau 3.2, puis les extraires :

~$ wget makotoworkshop.org/sources/patch15khz/patch-3.2.tar.gz
~$ tar xvf patch-3.2.tar.gz


se rendre dans le dossier linux

~$ cd src/linux

Patcher les sources successivement avec ces 3 commandes :

~/src/linux$ patch -p1 < ~/patch-3.2/ati9200_pllfix-3.4.diff
~/src/linux$ patch -p1 < ~/patch-3.2/avga3000-3.4.diff
~/src/linux$ patch -p1 < ~/patch-3.2/linux-3.4.diff


Astuce : patch -p1 --dry-run <[fichier-patch] pour tester le patch sans l'appliquer

_____________________________________________________________________________________________________________
Récupérer la configuration du noyau

~/src/linux$ cp -vi /boot/config-`uname -r` .config

mettre à jour la configuration avec "make oldconfig".

~/src/linux$ make oldconfig

Puisqu'on compile la même version que le noyau actuel, la commande ne doit constater aucune différence, et donc ne poser aucune question.

_____________________________________________________________________________________________________________
Nettoyage

~/src/linux$ make-kpkg clean

_____________________________________________________________________________________________________________
La compilation

~/src/linux$ fakeroot make-kpkg --initrd --append-to-version "-pached15khz"  kernel-image kernel-headers

La commande ci-dessus vous sortira un paquet nommé "linux-image-3.2-patched15khz_3.2-patched15khz-10.00.Custom_i386.deb" La commande fakeroot permet de simuler l'environnement root au programme make-kpkg pour que ce dernier puisse générer les paquets de votre futur noyau. Cela a l'avantage d'éviter de faire la compilation en tant que root.

La compilation sur une machine puissante dure à peine 30 minutes. Cela peut dépasser plusieurs heures en fonction de votre configuration.
Astuce : Il peut alors être utile d'utiliser VirtualBox pour compiler le noyau sur un PC puissant, puis de récupérer le paquet compilé pour aller l'installer sur sa vieille machine de récup destinée à la borne.

_____________________________________________________________________________________________________________
Installation  du noyau

~/src/linux$ su -
mot de passe:
# dpkg -i linux-image-3.2-patched15khz_3.2-patched15khz-10.00.Custom_i386.deb


Redémarrer l'ordinateur !
_____________________________________________________________________________________________________________
Désinstallation

Si pour une raison ou une autre vous n'arrivez pas à démarrer sur votre nouveau noyau et que vous souhaitiez le désinstaller. Redémarrez sur le dernier noyau opérationnel, puis :

~$ su -
Mot de passe :
root@Squeeze:~# apt-get remove --purge linux-image-3.2-patched15khz_3.2-patched15khz-10.00.Custom_i386.deb


_____________________________________________________________________________________________________________
Ressources : http://www.isalo.org/wiki.debian-fr/index.php?title=Compiler_et_patcher_son_noyau

_____________________________________________________________________________________________________________
Pour tester le noyau avec xorg.conf,

Modifier ou créer le fichier :

# nano /etc/X11/xorg.conf

et modifier le modeline pour celui-ci en 320x240 (testé compatible ATI Radeon 9000 et 9200 et nVdia TNT2 Model 64 et Elsa Erazor X)

Section "Device"
   Identifier  "ATI"
   Driver      "radeon"
EndSection

Section "Monitor"
       Identifier   "TV"
       HorizSync    15.0 - 20.0
       VertRefresh  50.0 - 60.0
# Le modeline TV @15kHz
   Modeline "320x240"  6.452  320 344 376 408 240 242 245 264  -HSync -VSync
EndSection

Section "Screen"
   Identifier "Default Screen"
   Device     "ATI"
   Monitor    "TV"
   DefaultDepth     24
   SubSection "Display"
   Depth     24
   Modes    "320x240"
   EndSubSection
EndSection


Pour une carte nvidia, remplacer   simplement :
  Driver      "radeon"
par
  Driver      "nouveau"

Démarrer X :

$ startx

Enjoy  <:)

Note de MAJ du 06-01-2013 : Le patch rendant possible l'utilisation d'un téléviseur l'installation du paquet paquet « firmware-linux-nonfree » pourrait paraitre inutile, mais elle reste indispensable pour permettre l'utilisation du Direct Rendering par la carte graphique (sinon, c'est cisaillement dans l'image (tearing) et crénelage sévères des contours).
C'est inutile avec Ubuntu, voir au début du tuto...


_____________________________________________________________________________________________________________
Pour tester le noyau avec Xrandr, sans fichier xorg.conf
(oui ce fichier n'est plus nécessaire de nos jours. Son absence n'empêchera par X de démarrer)

Démarrer X :

$ startx

Xrandr permet de changer de la résolution d'X par une simple commande.
Elle permet aussi d'ajouter des modelines en plus; Taper :

$ xrandr

Et apparait alors la liste des résolutions disponibles, donc en 31kHz !
Une astérisque repère la résolution en cour...

Pour ajouter le modeline d'exemple, taper ceci :

$ xrandr --newmode "320x240" 6.452 320 344 376 408 240 242 245 264 -hsync -vsync

Taper à nouveau xrandr permet de voir que le mode a été créé, mais il n'est pas encore utilisable en l'état !

 320x240 (0x1da)    6.0MHz
       h: width   320 start  344 end  376 total  408 skew    0 clock   14.7KHz
       v: height  240 start  242 end  245 total  264           clock   55.7Hz


En effet, il faut l'associer à une sortie de la carte graphique (selon la carte, VGA-0 ou DVI-0 avec ATI)

$ xrandr --addmode DVI-0 "320x240"

Un nouveau xrandr listera maintenant la résolution disponible.

Reste donc à basculer dessus avec :

$ xrandr --output DVI-0 --mode "320x240"

L'affichage bascule en 320x240, débrancher vite l'écran VGA et connecter le téléviseur sur la carte graphique...


Enjoy  <:)

De là il est bien sûr possible d'automatiser cela avec un script bash, histoire de ne pas avoir à se repalucher les lignes de commande !
Genre comme ça :
#!/bin/sh
xrandr --newmode "256x264" 5.356 256 272 296 328 264 265 268 278 -hsync -vsync
xrandr --newmode "304x240" 6.208 304 328 360 392 240 243 246 264 -hsync -vsync
xrandr --newmode "320x240" 6.452 320 344 376 408 240 242 245 264 -hsync -vsync
xrandr --newmode "384x288" 7.851 384 408 448 496 288 289 292 309 -hsync -vsync
xrandr --newmode "640x288" 13.125 640 680 744 832 288 289 292 309 -hsync -vsync
xrandr --addmode DVI-0 "256x264"
xrandr --addmode DVI-0 "304x240"
xrandr --addmode DVI-0 "320x240"
xrandr --addmode DVI-0 "384x288"
xrandr --addmode DVI-0 "640x288"