Sameboy
SameBoy est un émulateur de Game Boy (DMG) et Game Boy Color (CGB), écrit en C portable. Il a un frontend natif Cocoa pour macOS, un frontend SDL pour d'autres...
Choisir une liste...
Même garçon
SameBoy est un émulateur de Game Boy (DMG) et Game Boy Color (CGB), écrit en C portable. Il a un frontend natif Cocoa pour macOS, un frontend SDL pour d'autres systèmes d'exploitation, et un noyau libretro. Il comprend également un débogueur texte avec un évaluateur d'expression. Visitethe website.
Caractéristiques
Caractéristiques communes aux versions Cocoa et SDL:
- Supporte l'émulation de Game Boy (DMG) et Game Boy Color (CGB)
- Permet de choisir le modèle que vous voulez émuler indépendamment de ROM
- Audio de haute qualité 96KHz
- Prise en charge de la batterie
- Enregistrer les états
- Comprend les ROM de démarrage DMG et CGB open source:
- Appui complet (et documentation)touspalettes spécifiques au jeu dans le ROM de démarrage CGB, pour une émulation précise des jeux Game Boy sur une couleur Game Boy
- Prend en charge la sélection manuelle des palettes avec des combinaisons de touches, avec 4 nouvelles palettes supplémentaires (A + B + direction)
- Prise en charge de la sélection de palettes dans un jeu CGB, le forçant à exécuter en mode DMG 'paletted', si ROM le permet.
- Prise en charge des jeux avec logo non Nintendo dans l'en-tête
- Pas de longue animation dans le démarrage DMG
- Débogueur texte avancé avec évaluateur d'expression, démonteur, points d'arrêt conditionnels, points de veille conditionnels, rétrotraçage et autres fonctionnalités
- Précision extrêmement élevée
- ÉmulePCM_12 and PCM_34 registers
- L'émulation précise du cycle en T des effets de chronométrage LCD, supportant l'astuce Demotronic, Prehistorik Man,GBVideoPlayeret autres démos technologiques
- Emulation d'horloge en temps réel
- Support d'affichage Retina/High DPI, permettant une gamme plus large de facteurs d'échelle sans artefacts
- Mélange de cadre en option (nécessite OpenGL 3.2 ou supérieur)
- Plusieursscaling algorithms(y compris les algorithmes exclusifs comme OmniScale et Anti-Aliased Scale2x; Nécessite OpenGL 3.2 ou supérieur ou Métal)
Fonctions actuellement supportées uniquement avec la version Cocoa:
- Interface Native Cocoa, avec prise en charge de toutes les fonctionnalités du système, telles que la drag-and-drop et les barres de titre intelligentes
- Support de la caméra de jeu Boy
Compatibilité
SameBoy passe tousblargg's test ROMstousmooneye-gb'stests (Certains tests nécessitent les ROM de démarrage d'origine), et tous lesWilbert Pol's tests. SameBoy devrait travailler avec la plupart des jeux et des démos, s'il vous plaîtreporttous les ROM cassés. Les derniers résultats pour le testeur automatique de SameBoy sont disponibleshere.
Contribution
SameBoy est un projet open-source sous licence Expat (avec une exception supplémentaire pour le dossier iOS), et vous êtes invités à contribuer en créant des problèmes, en implémentant de nouvelles fonctionnalités, en améliorant la précision de l'émulation et en corrigeant les problèmes ouverts existants. Vous pouvez lirecontribution guidelinespour vous assurer que vos contributions sont aussi efficaces que possible.
Recueil
SameBoy nécessite les outils et bibliothèques suivants pour construire:
- clang (Recommandé; requis pour macOS) ou GCC
- marque
- macOS Cocoa frontend: macOS SDK et Xcode (Pour les outils en ligne de commande et ibtool)
- Frontend SDL : libsdl2
- rgbds, pour la compilation ROM de démarrage
- cppp, pour nettoyer les en-têtes lors de la compilation de SameBoy comme bibliothèque
Sur Windows, SameBoy nécessite également:
- Studio visuel (pour les en-têtes, etc.)
- Git Bashou une autre distribution d'utilitaires Unix de base
- Git Bash n'inclut pas make, vous pouvez l'obtenirhere.
- Courir
vcvars64.batouvcvarsx86_amd64.batavant de courir faire. Assurez-vous que tous les outils, bibliothèques et en-têtes requis sont dans %PATH%, %lib% et %include%`, respectivement. (voirBuild FAQpour plus de détails sur la compilation de Windows)
Pour compiler, lancez simplementmake. Les objectifs sont les suivants :
cocoa(Défaut pour macOS)sdl(Défaut pour tout le reste)lib(Crée libsameboy.o et libsameboy.a pour relier statiquement SameBoy, ainsi qu'un répertoire d'en-têtes avec des en-têtes correspondants; actuellement pas pris en charge sur Windows en raison des limitations de linker)ios(Plain iOS .app bundle),ios-ipa(archive iOS IPA pour le chargement latéral),ios-deb(paquet de déb iOS pour les appareils jailbroken)libretrobootromstester
Vous pouvez également spécifierCONF=debug(par défaut),CONF=release,CONF=native_releaseouCONF=fat_releasecontrôler l'optimisation, les symboles et les multi-architectures.native_releaseest plus rapide querelease, mais est optimisé au processeur de l'hôte et n'est donc pas portable.fat_releaseest exclusif à macOS et construit des binaires gras x86-64 et ARM64; cela nécessite l'utilisation d'un assez récentclanget macOS SDK en utilisantxcode-select, ou les définir explicitement avecCC=etSYSROOT=, respectivement. Toutes les autres configurations seront construites dans votre architecture hôte, à l'exception des cibles iOS. Vous pouvez réglerBOOTROMS_DIR=...à un répertoire contenant des fichiers ROM de démarrage précompilés, sinon le système de compilation compilera et utilisera les propres ROM de démarrage de SameBoy.
Le port SDL cherchera des fichiers ressources avec un chemin relatif à l'exécutable et à l'intérieur du répertoire spécifié par leDATA_DIRvariable. Si vous êtes en train d'emballer SameBoy, vous voudrez peut-être outrepasser ceci en définissant leDATA_DIRvariable pendant la compilation vers le chemin cible du répertoire contenant tous les fichiers (à part l'exécutable, ce n'est pas nécessaire) de labuild/bin/SDLrépertoire dans l'arborescence source. Assurez-vous que la variable se termine par un/caractère. Sur les environnements FreeDesktop,DATA_DIRsera par défaut à/usr/local/share/sameboy/.PREFIXetDESTDIRsuivre leur utilisation standard et par défaut à une chaîne vide/usr/localrespectivement
Linux, BSD et d'autres utilisateurs FreeDesktop peuvent exécutersudo make installpour installer SameBoy en tant qu'application GUI et en ligne de commande.
SameBoy est compilé et testé sur macOS, Ubuntu et 64 bits Windows 10.