Joypad-os
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...
Choisir une liste...
Système d'exploitation Joypad
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 comme
usb2usb,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
- Téléchargerdernière
.uf2deReleases - Saisissez bootloader:
- USB-2-PCE / NUON / 3DO: tenir BOOT + connecter USB-C
- USB GC: Connectez simplement USB-C (pas de bouton)
- Faites glisser
.uf2fichier versRPI-RP2lecteur - Fait !Conduire les auto-éjections une fois terminé
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.
Documentation
- Installation Guide- Firmware clignotant, dépannage
- Hardware Compatibility- Contrôleurs supportés, planches, bricolage construit
- Build Guide- Configuration du développeur, architecture
Sortie USB & Config Web
- USB Output Modes- Mode de commutation, prise en charge Xbox 360, configuration web àconfig.joypad.ai
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
- Discorde:community.joypad.ai- Chat communautaire
- Enjeux:GitHub Issues- Rapports de bogue
- Courriel: [email protected] - Support produit
Remerciements
- Ha Thach- OuiTinyUSB
- David Shadoff- OuiPCEMousefondation
- FCare- OuiUSBTo3DOMise en œuvre du protocole 3DO
- mackieks- OuiMaplePadÉrable de rêve Mise en œuvre des bus
- Ryzee119- Ouitusb_xinput
- SelvinPL- Ouilufa-hid-parser
- JonnyHaystack- Ouijoybus-pio
- OpenStickCommunity- OuiGP2040-CEModes de sortie du périphérique USB
Licence
Joypad OS est sous licenceLicence Apache-2.0.
LesC'est la joienom et marque sont des marques de commerce de Joypad Inc.