Atelier Arcade

publicité
Atelier Arcade
1ère Partie :
Arcade, Raspberry Pi et Raspicade
Yann Morère - 2015
But de l'atelier
●
●
Connaître un peu le monde de l'arcade
Se familiariser avec le/les Raspberry Pi et le
système d'exploitation Linux
●
Comprendre les émulateurs et les roms
●
Comprendre le fonctionnement de Raspicade
●
●
Connaître les composants d'une borne et le
câblage
Créer sa borne arcade
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
2
Retrogaming
●
●
●
●
« activité qui consiste à jouer à des jeux vidéo
anciens et à les collectionner ( consoles de jeu,
micro-ordinateurs, bornes d'arcades) ».
jeux vidéo « anciens » → jeux vidéo sortis pendant
les quatre premières générations de consoles de
jeux, soit depuis le début des années 1970 → 1995
pratique des jeux anciens s'est développée sur les
PC modernes → création d'émulateurs d'anciennes
plates-formes.
Diffusion de jeux abandogiciels tolérés par certains
ayants droit
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
3
Salle d'Arcade
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
4
Petite histoire de l'Arcade
●
Préhistoire :
–
1777-1930 → Table bagatelle
–
1869 → premier flipper moderne
–
1931 → Marble games : Gottlieb crée la
société Baffle Ball
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
5
Petite histoire de l'Arcade
●
L’age de fer : 1950- 1968
–
Ben Laposky créé le premier « Computer Art »
avec un oscilloscope
–
1958 : Willy Higinbotham créé « Tennis for
Two »
–
1961 : Spacewar! est programmé au MIT par
le TMRC (Tech Model Railroad Club)
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
6
Petite histoire de l'Arcade
●
L’age de bronze : 1968- 1978
–
1968 : Sega lance son premier jeu, Periscope,
un jeu d’arcade électromécanique.
–
1971 – Nolan Bushnell & Nutting Associates
lancent Computer Space, la premiere borne
d’arcade : meuble, PCB (Printed Circuit
Board), un écran, un panneau de controle
control panel, HPs, logo illuminé (le Marquee).
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
7
Petite histoire de l'Arcade
●
L’age de bronze : 1968- 1978
–
1972 :Collossal Cave Adventure : premier jeu
d’aventure en textes ;
–
1974 : Atari lance Gran Trak 10, premier jeu
video avec un volant et un levier de vitesse
–
1975 – Gun Fight est le premier jeu utilisant
un microprocesseur
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
8
Petite histoire de l'Arcade
●
L’age de bronze : 1968- 1978
–
1976 : Nolan Bushnell conçoit « Breakout ».
Programmation réalisée un certain Steve Jobs.
Jobs confia la plupart du travail à son ami Steve
Wozniak contre la somme de $ 350. (Alors que
Steve Jobs toucha $5000 pour le projet !!!). Vous
aimez toujours Apple ?
–
Exidy lance le jeu « Death Race », premier jeu vidéo
controversé, car considéré comme violent à
l’époque. Le but du jeu est de conduire une voiture
et de heurter des personnages sur l’écran. Et on
nous embête avec GTA ?
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
9
Petite histoire de l'Arcade
●
L’age d’or : 1978- 1984
–
1978 : Space Invaders est lancé (Shoot vertical) →
dérivés : galaxian, Galaga …
–
1979 – « Warrior » est le premier jeu de combat «
face à face »,
–
Oct 1979 : Galaxian, le premier jeu d’arcade en
couleur (RGB) : avant, couleurs simulées au
moyen d’overlays en plastiques
–
Nov 1979 : , Atari lance « Asteroids ». il introduit
les lois physiques du monde réel dans un monde
virtuel
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
10
Petite histoire de l'Arcade
●
L’age d’or : 1978- 1984
–
1980 : Rogue, premier jeu d’immersion dans un
donjon/labyrinthe (Dungeon crawl),
–
Création de la société Activision
–
Atari lance « Red baron » premier jeu de simulation de vol
à la 1ère personne
–
Asteroids d’Atari et Lunar Lander sont les deux premiers
jeux enregistrés sous Copyright
–
Pac man est lancé et est le premier jeu populaire auprés
des femmes
–
Battlezone est lancé : premier jeu 3D à paysages
environnemental
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
11
Petite histoire de l'Arcade
●
L’age d’or : 1978- 1984
–
1981 : lancement de Ms Pacman
–
« Scramble » de Konami est lancé : nouveau genre de jeu de shoot /
bombing avec un défilement (scrolling) horizontal en continu (R-Type)
–
Atari lance Centipède, premier jeu entièrement designé par une
femme.
–
« Vanguard » est lancé par SNK Corp. au Japon, premier jeu avec la
possibilitée de « continuer » le jeu
–
Donkey Kong sera un immense succés pour Nintendo aux US
–
Tempest est le premier jeu à proposer ce qu’Atari appellera le « Skill
Step », permettant aux joueurs de sélectionner leur niveau de
démarrage et de difficulté
–
Namco lance le fameux « Galaga », une suite de galaxian, avec son
lots de nouveautés comme le bonus « Challenging Stage »
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
12
Petite histoire de l'Arcade
●
L’age d’or : 1978- 1984
–
1982 : Mystery House est le premier jeu d’aventures en texte
auquel s’ajoute des graphismes
–
Sega lance « Astron Belt », premier jeu sur laserdisque au
Japon.
–
« Zaxxon » premier jeu en pseudo 3D avec une vue isométrique
en 3/4.
–
« Moon Patrol » premier jeu à proposer un scrolling « parallax »
–
Bally/Midway lance « Tron », basé sur le film du meme nom
–
« Joust », jeu de plateforme/combat est lancé par Williams
–
« Journey » est lancé, premier jeu à utiliser des sprites
digitalisées
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
13
Petite histoire de l'Arcade
●
L’age d’or : 1978- 1984
–
1983 : « Dragon’s Lair », premier jeu sur laserdisque
rentable !
–
Exidy lance « Crossbow » leur premier jeu de pistolet «
Lightgun »
–
« Tapper » est lancé : c’est le premier jeu lancé dans
différentes versions afin de correspondre aux différentes
classes d’ages
–
1984 : « Marble Madness » : beautée des graphismes, 3D
isométrique surréaliste, premier jeu avec une bande musicale
complete en stéréo,
–
Data East lance « Karate Champ », une référence et un
modèle pour les jeux de combats futurs
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
14
Petite histoire de l'Arcade
●
L’ère du plastique : 1985-1994
–
1985 : « Hang-On » sort et est nommé comme « premier jeu de
simulation »… certainement à cause du fait que c’est le premier jeu
à utiliser un objet physique pour simuler une activitée
–
1986 : Nintendo lance « Super mario Bros », succés planétaire
–
1987 : « R-Type » ré-invente le shoot-them-up avec un design de
niveaux soigné, des graphismes et des armes de haut niveau…
–
1989 : « Exterminator », premier jeu avec des graphismes
entierement digitalisés
–
1992 : Midway lance « Mortal Kombat », reconnus comme le
premier jeu de combat à utiliser des personnages digitalisés et du
sang
–
1994 : « Killer Instinct » arrive sur le marché : c’est le premier jeu
avec un disque dur,
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
15
Système d'Arcade
●
●
●
●
Architecture : processeur central, un processeur ou
chipset sonore, processeur graphique (système
récent).
normalement commercialisés dans un meuble :
borne d'arcade → alimentation électrique, écran,
manettes de jeu et monnayeur.
Des connectiques standard comme le JAMMA ou le
JVS facilitent les adaptations de matériel.
Peut fonctionner sans borne à l'aide d'un supergun
couplé à une télévision, une alimentation électrique
et une manette de jeu.
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
16
Système d'Arcade
Marquee
Side
Bezel
Panel
T-Molding
Monnayeur
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
17
Système d'Arcade
●
JAMMA : standardisation mise en place par Japan
Amusement Machinery Manufacturers Association
–
interchanger les cartes d'arcade sans avoir à changer la borne →
réduction de coûts
–
connecteur doté de 56 broches (deux rangées de 28 broches) →
peigne JAMMA
–
standard définit les connexions : deux joysticks à huit directions,
deux boutons start et six boutons de contrôle (trois par joueur), le
flux vidéo, l'alimentation électrique, support du son
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
18
Système d'Arcade
●
MVS - Multi Video System : système de jeux vidéo pour
borne d'arcade compatible JAMMA destiné aux salles
d'arcade et créé par la société japonaise SNK en 1990
–
utilisation de cartouches (comme pour les consoles) →
changement rapide de jeux
–
possibilité de mettre plusieurs cartouches et donc plusieurs
jeux, dans une même borne
–
version console du système, appelée Neo-Geo AES, pour que
les particuliers
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
19
Raspberry Pi
●
Le Raspberry Pi est un nano-ordinateur monocarte à
processeur ARM conçu par le créateur de jeux vidéo
David Braben, dans le cadre de sa fondation
Raspberry Pi
–
taille d'une carte de crédit
–
encourager l'apprentissage de la programmation
informatique
–
exécution de plusieurs variantes du système d'exploitation
libre GNU/Linux et des logiciels compatibles
–
fourni nu (carte mère seule, sans boîtier, alimentation,
clavier, souris ni écran) → diminuer les coûts et permettre
l'utilisation de matériel de récupération.
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
20
Raspberry Pi
●
Les Différents Raspberry Pi
A
B+
17/12/2015
A+
B512 rev2
Pi2 B
Atelier Arcade : Raspberry Pi et Raspicade
Pi zero
21
Raspberry Pi
●
Caractéritiques :
–
700 MHz ARM1176JZF-S core, 1 GHz ARM1176JZF-S
core, 900 MHz quadricœur ARM Cortex-A7
–
Broadcom VideoCore IV, OpenGL ES 2.0, MPEG-2 et
VC-1, 1080p30 h.264/MPEG-4 AVC high-profile
decodeur et encodeur
–
256 Mo, 512 Mo, 1 Go
–
8 × GPIO, 17 × GPIO, 17 × GPIO, UART, I²C bus, SPI
bus avec deux chip selects, I²S audio, +3.3 V, +5 V
–
HDMI et Composite
–
SD, Micro SD
–
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
22
Raspberry Pi
●
Système d'exploitation:
–
Debian « jessie » est recommandé par la fondation Raspberry Pi avec sa version
dédiée Raspbian (Raspberry & Debian) ;
–
Fedora « Raspberry Pi Fedora remix » ;
–
Arch Linux est fonctionnel avec sa version ARM pour Raspberry Pi ;
–
Gentoo est utilisable classiquement ;
–
Slackware est également utilisable classiquement ;
–
Suse est fonctionnel avec sa version ARM pour Raspberry Pi ;
–
Firefox OS (anciennement Boot to Gecko), le système d'exploitation mobile
développé par Mozilla a été annoncé comme fonctionnel par l'association ;
–
RISC OS ;
–
NetBSD ;
–
OpenELEC (en), dans sa version ARM, permet l'utilisation de Kodi Entertainment
Center ;
–
Windows 10 , Microsoft a annoncé que la version de leur nouveau système
d'exploitation est compatible pour le Pi2.
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
23
Raspberry Pi
●
Matériel supplémentaire :
–
Ecran ou téléviseur : HDMI et Composite
(convertisseur HDMI-VGA requis pour écrans
d'ordinateur) ;
–
Clavier / souris usb ;
–
Carte mémoire SD / Micro SD contenant un
système d'exploitation compatible ;
–
Alimentation. Attention : B+ et Pi2 requièrent un
alimentation 2A :
–
Horloge matérielle (HTR ou RTC : real time clock).
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
24
Raspberry Pi
●
Connexions
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
25
Raspberry Pi
●
Module caméra spécifique
–
Attention au sens de branchement
–
Activation de la camera sur le SE
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
26
Raspberry Pi
●
GPIO
–
Ports GPIO (General Purpose Input/Output) → ports
d'entrée/sortie très utilisés dans le monde des
microcontrôleurs et de l'électronique embarquée ;
–
connecteur GPIO → offre à une carte électronique la
possibilité de communiquer avec d'autres circuits
électroniques ;
–
Raspberry Pi : être utilisé à la fois en ordinateur personnel,
et en carte contrôleur pour des applications purement
électroniques
–
Bibliothèques facilitent la programmation des connecteurs
GPIO : wiringPi - langage C, Rpi.GPIO-Python, Pi4J-Java.
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
27
Raspberry Pi
●
GPIO
17/12/2015
Pin Function
Function Pin
Atelier Arcade : Raspberry Pi et Raspicade
28
Raspberry Pi
●
GPIO
–
Un connecteur GPIO peut être configuré : entrée (réception
d'un signal) ou sortie (émission d'un signal).
–
Un connecteur GPIO ne peut traiter que des signaux
numériques, 1 ou 0, une connexion sur un support
analogique nécessitera un CAN/CNA comme le MCP300816.
–
Les périphériques GPIO peuvent également produire des
interruptions et des événements d'accès direct à la
mémoire (EDMA).
–
Un connecteur GPIO est généralement alimenté en 3.3Vcc
et ne peut émettre que des courants de faible intensité,
allant de 3mA à 50mA.
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
29
Raspberry Pi
●
GPIO
–
Certains connecteurs peuvent être reconfigurés en
liaison série, bus I2C ou SPI
–
I2C (Inter-Integrated Circuit) est un bus de données.
La connexion est réalisée par l'intermédiaire de
deux lignes :
●
●
●
SDA (Serial Data Line) : ligne de données
bidirectionnelle,
SCL (Serial Clock Line) : ligne d'horloge de
synchronisation bidirectionnelle.
Il ne faut également pas oublier la masse qui doit être
commune aux équipements.
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
30
Raspberry Pi
●
GPIO
–
SPI : Serial Peripheral Interface → bus de données
série synchrone en mode Full-duplex
–
Les circuits communiquent selon un schéma
maître-esclaves, où le maître s'occupe totalement
de la communication
–
Le bus SPI utilise quatre signaux logiques :
●
●
●
●
SCLK — Serial Clock, Horloge (généré par le maître)
MOSI — Master Output, Slave Input (généré par le maître)
MISO — Master Input, Slave Output (généré par l'esclave)
SS — Slave Select, Actif à l'état bas (généré par le maître)
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
31
Logiciel OpenSource
●
La compilation
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
32
Le projet GNU
Les logiciels libres
–
1983 Richard Stallman démarre le projet
GNU
–
Fondation de la FSF (Free SoftWare
Fondation) basées sur 4 libertés
●
●
●
●
17/12/2015
Exécution
Modification
Redistribution
Amélioration
Atelier Arcade : Raspberry Pi et Raspicade
33
Linux
●
Linux au sens strict = Un noyau
–
couche de base du SE (gestion mémoire,
accès périphériques, gestion bus, SMP)
–
Noyau multi-utilisateurs et multi-tâches
–
Multi plates-formes (Intel, Sparc, Alpha,
Motorola...)
–
GPL et POSIX
–
Fiable, sécurisé, stable (du fait de son
appartenance au monde libre)
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
34
Distribution Linux
Noyau seul = impossible de travailler
Noyau à l'intérieur d'une distribution
Ensemble cohérent de :
–
Noyau
–
Programmes libres (majorité)
–
Méthode d'(dés)installation des
programmes
–
Programme d'installation du SE
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
35
Linux
1991 développement d'un noyau pour i386
par Linus Torvald
–
téléchargement libre des sources sur
internet
–
version 0.12 en GPL 1992
Originalité = pas de but commercial
–
Licence GPL
Création de distribution Linux
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
36
Caractéristiques de Linux
Systèmes d'exploitation très proches des
Unices classiques
–
Multi-tâches, multi-utilisateurs, fiable,
robuste, puissant
–
Support standard des protocoles réseaux
–
Sécurité accrue grâce à la transparence du
code source
–
Cloisonnement des espaces mémoires
–
Noyau entièrement configurable
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
37
Quelle distribution
Contenu quasiment identique
Orientée utilisateur
–
Ubuntu, Fedora, Suse
Orientée serveur/utilisateur avancé
–
Debian, Gentoo, RedHat, Slackware,
Archlinux
Différences coté interface graphique et
assistant d'installation.
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
38
Les émulateurs
●
« Un émulateur de système de jeux vidéo est
un programme informatique qui permet à un
ordinateur ou à une console de jeux vidéo
d'émuler le comportement d'une autre console
de jeux vidéo, ou d'un système d'arcade. »
wikipedia
–
Surtout utilisés pour le retrogaming
–
émulation des systèmes inclus dans les bornes
d'arcade
–
Le plus connu est MAME Multiple Arcade Machine
Emulator.
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
39
Les émulateurs
●
Projet libretro : un frontal pour tous les émulateurs. Chaque émulateur
est une bibliothèque partagée chargée par le programme retroarch
–
Unification des configurations → simplification
●
Mame4all-Pi : portage de MAME 0.37b5 pour ARM
●
Advmame 1.4, version modifiée de mame compilable sur Raspberry Pi
●
●
●
●
●
PiFBA : portage de FinalBurn pour les jeux Neo-Geo, Capcom, Konami
et Cave.
GnGeo : émulateur des consoles de jeux vidéo Néo Géo - Neo-Geo
MVS et Neo-Geo AES.
Pisnes : emulateur SNES portage de SNES9X 1.39.
Picodrive emulateur Megadrive / Genesis / Sega CD / Mega CD
emulator écrit pour l'architecture ARM
PCSX ReARMed émultaeur PlayStation 1 (PSX)
●
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
40
Les émulateurs
●
●
Portage des emulateurs sur ARM
Puissance limitée du Pi implique des
limitations sur l'émulation
–
Pas d'interface graphique lourde
–
Version ancienne des émulateurs
–
Jeux récents non jouables même avec un Pi2
●
Avec le Pi2 utilisation accrue de libretro
●
Utilisation d'advmame plus récent
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
41
Les ROMs
●
●
●
●
●
Consoles/Bornes, Jeu et système enregistrés sur des
mémoires mortes (ROM - Read Only Memory).
L'émulateur permet techniquement de faire
fonctionner le jeu sans utiliser la console
Contenu des ROM n'est pas fourni avec l'émulateur pour des raisons de droit d'auteur
La copie de ROM est autorisée si la durée du
copyright est passée.
Les auteurs de l'émulateur MAME recommandent
d'attendre au minimum 3 ans depuis le début de la
commercialisation du jeu
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
42
Les ROMs
●
Pour jouer à un jeu en particulier, MAME utilise un
ensemble de ROM (appelé ROM set) contenant toutes
les données du jeu original.
–
●
A une version de MAME donnée, correspond un rom set.
Il existe trois types de ROM sets :
–
Le ROM set du jeu original : les fichiers ROM pour ces jeux
contiennent tout ce qui est nécessaire au fonctionnement
du jeu (BIOS excepté).
–
Les ROM sets clones, qui sont différentes versions ou
variantes d'un même jeu.
–
Les ROM sets du BIOS, qui sont les ROM communes
utilisées par tous les jeux d'une même machine.
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
43
Raspicade
●
Pourquoi raspicade ?
–
D'autres distribution existait : piplay, retropie
–
Maintenant il y en a d'autres : recalbox
–
Orientée intégration arcade → support du
module arcade xinmo largement utilisé
–
Comprendre et mettre en œuvre le Pi
–
Jouer à Galaxian et Scramble:)
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
44
Raspicade
●
Raspicade c'est quoi?
–
Distribution linux prête pour l'arcade
–
Basée sur Moebius Linux, puis MiniBian
●
Pas d'environnement graphique → strict minimum
pour minimiser l'empreinte mémoire
–
Emulateurs « standalone » et optimisés,
patchés pour xinmo
–
Projet libretro aussi intégré quand il est
utilisable (pb de puissance du Pi)
–
Support des 2 Pi
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
45
Raspicade
●
Raspicade c'est quoi?
–
Pimenu, EmulationStation 1 et 2 : frontal de
sélection d'émulateur
–
Emulateurs présents :
●
Mame4all-Pi, PiFBA, GnGeo, Advmame (Pi2),
picodrive, pcsxrearmed, mupen64plus (Pi2), et
différents emulateurs libretro : meteor, fba, fceunext, gambatte, vecx, mupen64plus, pcsxrearmed,
picodrive, Scummvm (nes, snes, N64, megadrive,
PS1, GB, GBA, atari, vectrex)
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
46
Raspicade
●
Raspicade c'est quoi?
–
Téléversement simplifié de fichiers (serveur Samba)
–
Support complet 2 joueurs pour tous les émulateurs
–
Complètement pilotable au panel
–
Utilisable avec des gamepads ou "hack" gamepads
–
Support du module Arcade Xin-Mo 1 joueur et 2 joueurs
–
Support clavier, Kade, module pikeydx16/32 et GPIO
–
Support manettes xbox/PS filaires et non filaires
–
Serveur SSH, FTP pour gestion à distance
–
WIFI "ready" pour configuration réseau WPA/WPA
–
Emulateurs en mode "scanline"
–
Affichage en FullHD
–
Possibilité d'afficher sur TV ou écran PC
–
Mode vertical et Cocktail (Mame/Advmame)
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
47
EmulationStation
●
●
Frontal graphique pour la sélection de vos
émulateurs
Thèmes disponibles
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
48
Mise en Oeuvre de Raspicade
●
Téléchargement image
●
Création carte SD
●
Configuration
●
Place à la pratique...
17/12/2015
Atelier Arcade : Raspberry Pi et Raspicade
49
Téléchargement