Pinball Xperience
P-ROC

P-ROC

P-ROC, pour Pinball Remote Operations Controller, est un système de contrôle développé par Multimorphic à partir de 2009 afin de permettre à un ordinateur d'exécuter un nouveau logiciel sur un véritable flipper. Première carte de contrôle pour flipper commercialisée directement au public selon Multimorphic, elle pouvait remplacer le CPU de machines Williams WPC et WPC-95, Sega et Stern Whitestar ainsi que Stern SAM, tout en conservant leur électronique de puissance existante. Son architecture séparait déjà le logiciel de haut niveau, exécuté sur un ordinateur connecté en USB, du contrôle temps réel assuré par un FPGA directement sur la P-ROC. Cette philosophie ouverte a joué un rôle important dans l'essor du développement homebrew et constitue la fondation technologique dont naîtra ensuite le système P3-ROC.

P-ROC | Multimorphic

P-ROC occupe une place importante dans l’histoire du flipper programmable moderne. Lorsqu’il apparaît en 2009, modifier profondément le comportement d’une machine commerciale reste une opération complexe : électronique, logiciel et protocoles des grands constructeurs sont encore étroitement liés. Multimorphic développe P-ROC pour rompre cette dépendance et permettre à un ordinateur moderne de prendre le contrôle d’un véritable flipper sans imposer la reconstruction complète de son électronique. Plutôt que de créer une architecture destinée exclusivement à de nouvelles machines, P-ROC peut remplacer le processeur original de plusieurs générations existantes et devenir l’interface entre leur électronique historique et un ordinateur externe. Le logiciel du jeu devient ainsi indépendant du CPU installé à l’origine. Une machine peut conserver son plateau, ses bobines, ses switches, son affichage et une grande partie de ses cartes de puissance tout en exécutant un code entièrement différent, ouvrant directement la voie aux recodes, aux rethemes et à de nombreux projets homebrew.

Une architecture séparant logiciel et temps réel

Le principe fondamental de P-ROC repose sur la séparation entre l’ordinateur hôte et le contrôle matériel temps réel. Le logiciel principal fonctionne sur un ordinateur connecté à la carte en USB et prend en charge les règles, le scoring, les modes et les autres fonctions de haut niveau, tandis que P-ROC assure l’interface avec la machine physique. Cette séparation répond directement aux contraintes du flipper : un batteur, un slingshot ou un bumper ne peut pas dépendre uniquement du temps nécessaire à un système d’exploitation généraliste pour recevoir un événement, le traiter puis renvoyer une commande. P-ROC dispose donc d’une logique matérielle capable de gérer localement certaines relations entre switches et drivers. Le logiciel définit le comportement attendu, puis l’électronique peut l’exécuter avec une latence minimale lorsque la situation l’exige.

Le FPGA au cœur du système

La carte P-ROC intègre un FPGA, Field Programmable Gate Array, chargé d’une partie importante des fonctions matérielles. Contrairement à un processeur généraliste exécutant successivement des instructions, un FPGA peut être configuré pour réaliser plusieurs opérations logiques en parallèle. Cette architecture répond particulièrement bien aux exigences d’un flipper, où de nombreux switches peuvent changer d’état tandis que des drivers fonctionnent et que d’autres systèmes poursuivent simultanément leur activité. Le FPGA permet ainsi à P-ROC de traiter ces opérations de bas niveau sans demander à l’ordinateur principal de gérer chaque détail électrique en temps réel. Cette répartition des responsabilités devient l’une des bases de la philosophie technologique de Multimorphic et restera présente dans les évolutions ultérieures de son architecture.

Une plateforme conçue pour les machines existantes

La vocation initiale de P-ROC reste fortement liée aux architectures historiques. Le système peut remplacer le CPU de plusieurs familles majeures, notamment Williams WPC et WPC-95, Sega et Stern Whitestar ainsi que Stern SAM. Cette compatibilité permet de conserver les cartes de puissance et une grande partie du câblage déjà présents dans la machine. P-ROC traduit alors les commandes provenant de l’ordinateur vers l’environnement électronique attendu par le flipper. L’objectif dépasse largement celui d’une simple carte de remplacement reproduisant le fonctionnement du système original : la machine peut désormais exécuter un logiciel entièrement nouveau. Un WPC peut ainsi conserver son plateau et son hardware tout en devenant, sur le plan logiciel, une machine radicalement différente.

Recode et retheme

Cette capacité donne à P-ROC une place centrale dans le développement des recodes et des rethemes. Un créateur peut partir d’un flipper existant, conserver sa mécanique et reconstruire son environnement logiciel autour de nouvelles règles ou d’un nouvel univers. La transformation peut être profonde sans nécessiter le développement préalable d’une architecture électronique complète. Pour les créateurs indépendants, cette possibilité réduit considérablement la barrière technologique séparant la modification avancée d’une machine de la création d’une expérience originale. P-ROC devient ainsi un pont entre le modding et la conception de flippers programmables : le plateau conserve ses contraintes physiques, mais son identité logicielle peut être entièrement reconstruite. Cette ouverture participe directement à l’émergence d’une communauté capable d’aborder le flipper comme une plateforme de développement.

Gestion des switches

P-ROC propose plusieurs configurations pour gérer les switches et s’adapter aux architectures qu’il remplace. La carte dispose d’entrées directes tout en pouvant travailler avec une matrice. Une configuration classique peut associer 32 entrées directes à une matrice 8 × 8, tandis qu’une autre conserve 24 entrées directes en étendant la matrice à 8 × 16. Cette flexibilité est essentielle pour une plateforme devant communiquer avec plusieurs générations de machines dont l’organisation des capteurs n’est pas nécessairement identique. Selon la configuration matérielle employée, la capacité globale peut atteindre 256 switches, laissant une marge importante pour gérer des machines particulièrement complexes.

Drivers et contrôle de puissance

P-ROC peut également gérer un nombre important de drivers, avec une capacité pouvant atteindre 208 sorties selon l’environnement utilisé. Ses sorties et les cartes de puissance complémentaires peuvent commander les principaux éléments électromécaniques d’un flipper : batteurs, slingshots, bumpers, kickers, drop targets, diverters, aimants, moteurs, flashers, éclairages et différents périphériques. La plateforme propose plusieurs comportements d’activation afin de répondre aux exigences de mécanismes très différents. Une bobine peut recevoir une impulsion brève et puissante, fonctionner avec une logique de maintien ou utiliser une modulation permettant d’adapter la puissance dans le temps. P-ROC peut ainsi reproduire le comportement attendu des architectures historiques tout en offrant au développeur une liberté de programmation beaucoup plus importante.

Règles matérielles et réactivité

L’une des fonctions essentielles de P-ROC réside dans la possibilité d’associer directement un événement provenant d’un switch à une action de driver. Cette relation peut être programmée au niveau matériel puis exécutée sans attendre que l’ordinateur traite chaque événement individuellement. Le comportement des batteurs en constitue l’exemple le plus évident : lorsqu’un joueur appuie sur le bouton, la bobine doit être activée presque immédiatement afin de préserver une réponse naturelle. Slingshots et bumpers répondent aux mêmes contraintes, quelques millisecondes supplémentaires pouvant modifier la réaction de la bille. P-ROC permet donc au logiciel de définir ces comportements, puis à l’électronique de prendre directement en charge leur exécution lorsque la latence doit rester minimale.

Affichage et compatibilité avec les DMD

P-ROC reste profondément lié aux architectures de son époque et prend en charge les DMD monochromes traditionnels. La carte peut transmettre directement les données nécessaires à leur fonctionnement, permettant à un projet de conserver l’affichage présent sur une machine WPC ou Stern compatible. Cette capacité est particulièrement intéressante pour les rethemes et les recodes, puisqu’un créateur peut reconstruire entièrement le logiciel sans devoir remplacer le DMD par un LCD ou modifier profondément le fronton. P-ROC peut également fonctionner avec des afficheurs alphanumériques ou être associé à différentes solutions modernisées selon le projet. Cette compatibilité illustre directement sa vocation initiale : remplacer l’intelligence d’un flipper tout en préservant autant que possible son infrastructure physique.

Cartes PDB et machines personnalisées

P-ROC ne reste pourtant pas limité au remplacement des CPU existants. Multimorphic développe également des cartes complémentaires permettant de construire une architecture plus personnalisée autour du contrôleur. La famille PDB ajoute notamment des possibilités pour les drivers, les matrices et l’éclairage, permettant d’utiliser P-ROC dans des projets qui se rapprochent beaucoup plus d’un véritable homebrew construit à partir de composants sélectionnés par son créateur. Cette extension est importante dans l’évolution du système : P-ROC commence à dépasser son rôle d’interface pour WPC ou Stern et devient progressivement une infrastructure ouverte pouvant accompagner plusieurs formes de développement.

Un logiciel volontairement ouvert

Multimorphic ne construit pas P-ROC autour d’un moteur de jeu obligatoire. La plateforme expose son hardware à l’ordinateur tout en laissant au développeur le choix de son environnement logiciel. Cette ouverture favorise rapidement l’apparition d’outils communautaires, dont pyprocgame, l’un des premiers environnements importants permettant de développer en Python des logiciels destinés aux machines équipées de P-ROC. Le créateur peut alors concentrer une part beaucoup plus importante de son travail sur les règles, les modes et l’expérience de jeu sans devoir reconstruire directement toute la couche de communication avec le hardware. Cette philosophie ouverte participe largement à l’influence de P-ROC au-delà des seules capacités de sa carte électronique.

Le rôle dans la naissance de Mission Pinball Framework

L’écosystème développé autour de P-ROC joue également un rôle dans l’histoire de Mission Pinball Framework. MPF apparaît au début des années 2010 dans un contexte où les développeurs cherchent à rendre la programmation d’un flipper plus accessible et moins dépendante d’un hardware particulier. P-ROC fournit un environnement adapté à cette approche puisqu’il sépare déjà clairement le logiciel de haut niveau du contrôle physique de la machine. Mission Pinball Framework étendra ensuite cette philosophie à d’autres systèmes électroniques, mais P-ROC reste directement associé à l’émergence de cette génération d’outils de développement. Son influence dépasse ainsi les seules machines physiquement équipées de la carte.

Watchdog et sécurité matérielle

Une architecture dans laquelle un ordinateur généraliste contrôle des bobines puissantes nécessite également des protections indépendantes du logiciel. P-ROC intègre un watchdog matériel chargé de surveiller le fonctionnement de la communication. Si l’ordinateur cesse de répondre normalement, le système peut empêcher qu’un driver reste activé indéfiniment. Cette sécurité est essentielle pour les bobines, susceptibles de chauffer rapidement ou d’être endommagées lorsqu’elles restent alimentées trop longtemps. Le watchdog illustre parfaitement la séparation des responsabilités qui structure P-ROC : le logiciel peut fonctionner dans un environnement informatique généraliste et gérer une logique complexe, tandis que certaines protections indispensables restent directement assurées par le hardware.

Une architecture évolutive

P-ROC repose également sur un firmware évolutif et un FPGA programmable, permettant à certaines fonctions de progresser sans imposer systématiquement le remplacement de la carte. Cette capacité prend une importance particulière pour une plateforme destinée aux développeurs indépendants, dont les besoins peuvent évoluer rapidement avec l’arrivée de nouveaux frameworks, périphériques ou méthodes de développement. La possibilité de faire évoluer le contrôleur contribue ainsi à prolonger sa durée de vie et lui permet d’accompagner des projets plus ambitieux que ceux envisagés lors de son lancement.

Une rupture importante en 2009

L’importance historique de P-ROC apparaît pleinement lorsqu’on replace son lancement dans le contexte de 2009. Le marché du flipper est alors beaucoup plus fermé, les solutions électroniques accessibles aux développeurs indépendants restent rares et les petits ordinateurs abordables qui deviendront courants durant la décennie suivante ne sont pas encore disponibles. Utiliser un ordinateur généraliste pour reprogrammer intégralement une machine physique constitue donc une démarche particulièrement avancée. P-ROC rend cette approche beaucoup plus accessible en permettant de conserver la partie physique d’un flipper tout en remplaçant presque entièrement son intelligence logicielle. La machine devient une véritable plateforme programmable, rapprochant l’électronique traditionnelle du flipper et les méthodes modernes de développement logiciel.

Les limites d’une architecture héritée

La force de P-ROC devient également sa principale limite. Le système reste profondément marqué par sa compatibilité avec les architectures historiques. Ses interfaces, ses matrices et ses capacités d’affichage doivent pouvoir reproduire les comportements attendus par WPC, Whitestar ou SAM. Cette polyvalence est extrêmement utile pour les recodes et les rethemes, mais devient moins pertinente lorsqu’un constructeur souhaite développer une machine entièrement nouvelle sans reprendre cet héritage électronique. Multimorphic développe alors P3-ROC, une nouvelle génération directement pensée pour la construction de nouveaux flippers. La différence entre les deux systèmes ne correspond donc pas simplement à une augmentation de puissance. Elle traduit un changement de perspective : P-ROC part d’une machine existante pour lui donner une nouvelle intelligence, tandis que P3-ROC permet de construire l’électronique d’une nouvelle machine autour d’une architecture distribuée.

L’héritage de P-ROC

P-ROC reste une plateforme fondatrice dans l’histoire du flipper indépendant. Elle démontre qu’il est possible de dissocier le logiciel d’une machine de son architecture électronique originale et de confier la logique du jeu à un ordinateur moderne. Cette approche transforme profondément la manière dont un développeur peut envisager un flipper : hardware et logiciel n’ont plus nécessairement besoin d’être conçus ensemble par un seul constructeur. Le système ouvre la voie aux recodes, aux rethemes, aux frameworks indépendants et à une génération de développeurs capables d’utiliser le flipper comme une véritable plateforme interactive programmable.

Dans la classification Pinball Xperience, P-ROC | Multimorphic | depuis 2009 représente ainsi l’une des architectures fondatrices du flipper moderne indépendant. Sa vocation historique reste principalement liée à la transformation et au recodage de machines existantes, tandis que P3-ROC prolongera cette philosophie en l’adaptant directement à la conception de nouveaux flippers. P-ROC constitue ainsi le système qui a permis de dissocier durablement l’intelligence logicielle du flipper de l’électronique historique qui l’avait vu naître.

Flippers de ce système

1 flippers