Sameboy

LIJI32 LIJI32
Dépôt créer le : 01/04/2016
Release du : 25/02/2026 SameBoy v1.0.2
Forks: 245 Watcher: 0 2017
Choisir une liste...
FR

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

Read more.

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.
  • Courirvcvars64.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)
  • libretro
  • bootroms
  • tester

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.

Contributeurs GitHub

MaddTheSane
MaddTheSane
9 contributions
bentley
bentley
1 contributions
ISSOtm
ISSOtm
1 contributions
nadiaholmquist
nadiaholmquist
3 contributions
LIJI32
LIJI32
2397 contributions
andres-asm
andres-asm
11 contributions
inactive123
inactive123
5 contributions
max-m
max-m
14 contributions
meithecatte
meithecatte
39 contributions
RobLoach
RobLoach
11 contributions
orbea
orbea
16 contributions
nununoisy
nununoisy
8 contributions
SiliconA-Z
SiliconA-Z
7 contributions
Rangi42
Rangi42
1219 contributions
JL2210
JL2210
2 contributions
jverkoey
jverkoey
5 contributions
SimpleTease
SimpleTease
5 contributions
SnowyMouse
SnowyMouse
5 contributions
Jan200101
Jan200101
5 contributions
yo-wotop
yo-wotop
4 contributions
logicalmoody
logicalmoody
4 contributions
lior-halphon
lior-halphon
3 contributions
ZenithMDC
ZenithMDC
3 contributions
Buggem
Buggem
3 contributions
rzumer
rzumer
1 contributions
webgeek1234
webgeek1234
3 contributions
leiradel
leiradel
2 contributions
Tatsuya79
Tatsuya79
7 contributions
Ryunam
Ryunam
2 contributions
remind-me-later
remind-me-later
2 contributions