Joypad-os

joypad-ai joypad-ai
Dépôt créer le : 18/09/2022
Release du : 25/02/2026 Joypad v1.9.0
Forks: 46 Watcher: 0 1209
Choisir une liste...
FR

Système d'exploitation Joypad

Joypad OS

joypad-os build.yml

Fondement du firmware universel pour les adaptateurs, les contrôleurs et les systèmes d'entrée.

Joypad OS est une plate-forme firmware modulaire et performante pour les adaptateurs de contrôleur de construction, les contrôleurs personnalisés et les ponts d'entrée/sortie sur les protocoles USB, Bluetooth et console de jeu native.

Autrefois connu commeUSBRetro, ce projet sert maintenant de couche de firmware de baseC'est la joieécosystème — une plate-forme universelle pour étendre le fonctionnement, la connexion et l'évolution des contrôleurs.

Joypad OS se concentre sur le contrôleur en temps réel E/S, la traduction de protocole et le routage flexible, ce qui facilite la construction de tout, des adaptateurs de console classiques aux dispositifs d'entrée de prochaine génération, fonctionnels et augmentés par l'IA.

Ce que Joypad OS permet

  • Traduction universelle entrée/sortie— Convertir les périphériques USB HID en protocoles de console native et vice versa.
  • Applications firmware modulaires— Construire des ponts spécifiques commeusb2usb,usb2gc,snes2usb, les adaptateurs passants, les entrées fusionnées et les appareils hybrides — tous sur un noyau partagé.
  • Routage et passage flexibles— Prise en charge des contrôleurs multi-sorties, fusion d'entrées, dispositifs de chaîne et mods avancés.
  • Fondation matérielle-agnostique— Conçu pour traverser la RP2040 aujourd'hui, avec portabilité future sur les plateformes ESP32 et nRF.
  • Fondation pour l'accessibilité et le jeu d'assistance— Permet des contrôleurs personnalisés et des extensions d'entrée pour les joueurs ayant des besoins variés.

Joypad OS est le système nerveux en temps réel de la plateforme Joypad.

Produits soutenus

Caractéristiques Documentation -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- AutresAppareil USBHID Gamepad, XInput, Xbox OG, Xbox One, XAC, PS3, PS4, PS Classic, SwitchDocsAutres AutresPCEngine / TurboGrafx-16Multitap (5 joueurs), Souris, 2/3/6-boutonDocsAutres AutresGameCube / WiiProfils, Rumble, Mode clavierDocsAutres AutresSega Dreamcast~~~mulation VMU~~~, Humble, ProfilsDocsAutres AutresLecteurs DVD NuonContrôleur, Spinner (Tempest 3000), IGRDocsAutres AutresMultijoueur interactif 3DO8 joueurs, Souris, Extension passthroughDocsAutres AutresNeo Geo / SuperGunProfils 1L6BDocsAutres AutresCasio Loopy4 joueurs (expérimental)DocsAutres

Dispositifs d'entrée pris en charge

Contrôleurs USB:

  • Xbox (OG/360/One/Series X-S, 360 adaptateur sans fil)
  • PlayStation (Classique/DS3/DS4/DualSense)
  • Nintendo (Switch Pro, Switch 2 Pro, NSO GameCube, adaptateur GameCube)
  • 8BitDo (PCE 2.4g, M30, BT Adaptateurs)
  • Hori (Horipad, Tournoi Pokken)
  • Logitech Wingman
  • Sega Astro City Mini
  • Google Stadia
  • Adaptateurs Raphnet (PCEngine, etc.)
  • Les gamepads HID génériques

Contrôleurs Bluetooth (via dongle USB ou Pico W):

  • PlayStation (DS3/DS4/DualSense)
  • Nintendo (Switch Pro, Switch 2 Pro, Wii U Pro, Wiimote)
  • Xbox (modèles Bluetooth One/Series)
  • Google Stadia

Périphériques

  • Dongles Bluetooth USB (connectez les contrôleurs BT via un hôte USB)
  • Claviers USB (support HID complet)
  • Mice USB (Mouse PCEngine, Nuon spinner, souris 3DO)
  • Hubs USB (jusqu'à 8 périphériques pour 3DO)

Complete hardware compatibility list

Pour les utilisateurs: Mise à jour du firmware

Flash rapide

  1. Téléchargerdernière.uf2deReleases
  2. Saisissez bootloader:
    • USB-2-PCE / NUON / 3DO: tenir BOOT + connecter USB-C
    • USB GC: Connectez simplement USB-C (pas de bouton)
  3. Faites glisser .uf2fichier versRPI-RP2lecteur
  4. Fait !Conduire les auto-éjections une fois terminé

Full installation guide

Pour les développeurs : Bâtir un micrologiciel

Démarrer rapidement

# Install ARM toolchain (macOS)
brew install --cask gcc-arm-embedded cmake git

# Clone and initialize
git clone https://github.com/joypad-ai/joypad-os.git
cd joypad-os && make init

# Build specific product
make usb2pce_kb2040   # PCEngine adapter
make usb2gc_kb2040    # GameCube adapter
make usb2dc_kb2040    # Dreamcast adapter
make usb2nuon_kb2040  # Nuon adapter

Construire des commandes

make init          # Initialize submodules (one-time setup)
make all           # Build all products
make clean         # Clean build artifacts

# Console adapters (USB/BT input)
make usb2pce_kb2040       # PCEngine (KB2040)
make usb2gc_kb2040        # GameCube (KB2040)
make usb2gc_rp2040zero    # GameCube (RP2040-Zero)
make usb2dc_kb2040        # Dreamcast (KB2040)
make usb2nuon_kb2040      # Nuon (KB2040)
make usb2loopy_kb2040     # Casio Loopy (KB2040)
make usb23do_rp2040zero   # 3DO (RP2040-Zero)

# Native controller adapters
make n642dc_kb2040        # N64 → Dreamcast (KB2040)
make n642usb_kb2040       # N64 → USB (KB2040)
make snes2usb_kb2040      # SNES → USB (KB2040)
make snes23do_rp2040zero  # SNES → 3DO (RP2040-Zero)

# USB/BT passthrough
make usb2usb_feather      # USB → USB (Feather USB Host)
make usb2usb_rp2040zero   # USB → USB (RP2040-Zero)
make usb2usb_rp2350usba   # USB → USB (Waveshare RP2350-USB-A)
make bt2usb_pico_w        # Bluetooth → USB (Pico W)

Les fichiers firmware de sortie apparaissent dansreleases/répertoire.

Complete build guide

Documentation

Sortie USB & Config Web

Guides spécifiques à la console

  • GameCube/Wii- Profils, mode clavier, rouble
  • PCEngine/TurboGrafx-16- Modes multitap, souris, boutons
  • Sega Dreamcast- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • Nuon- Contrôleur, Tempest 3000 spinner, IGR
  • 3DO- support 8 joueurs, souris, profils
  • Neo Geo / SuperGun- Profils, arcades
  • Casio Loopy- Soutien expérimental

Architecture

Joypad OS utilise une architecture modulaire:

  • RP2040- Microcontrôleur ARM Cortex-M0+ double cœur
  • Petit USB- Pile d'hôte USB pour les périphériques USB de sondage
  • PIO- E/S programmables pour les protocoles de console critiques au moment
  • Dual Core: Core 0 gère l'entrée USB, Core 1 exécute la sortie console
  • Routeur- Routage flexible en entrée→sortie (SIMPLE/MERGE/BROADCAST)
  • Applications- Configuration par produit (routeur, profils, caractéristiques)

VoirCLAUDE.mdpour une architecture détaillée

Communauté et soutien

Remerciements

Licence

Joypad OS est sous licenceLicence Apache-2.0.

LesC'est la joienom et marque sont des marques de commerce de Joypad Inc.

Contributeurs GitHub

RobertDaleSmith
RobertDaleSmith
841 contributions
joypad-bot
joypad-bot
48 contributions
dshadoff
dshadoff
41 contributions
herzmx
herzmx
20 contributions
bestie
bestie
5 contributions
djwormlight
djwormlight
1 contributions
olleolleolle
olleolleolle
1 contributions