Rustboyadvance-ng
Nintendo GameBoy Advance TM émulateur et débogueur, écrit en rouille. Démo de l'assemblage Web: https://michelhe.github.io/rustboyadvance-ng/ Pour commencer,...
Choisir une liste...
RustBoyAdvance-NG
Nintendo GameBoy Advance TM émulateur et débogueur, écrit en rouille.
Démo de l'assemblage Web: https://michelhe.github.io/rustboyadvance-ng/
Structure du projet
core/- Principale caisse d'émulateur qui relie toutarm7tdmi/- Emulation du processeur Arm7tdmi.platform/- Contient des exécutables et une application construite avecrustboyadvance-coreplatform/rustbodyadvance-wasm- Emulateur Web alimenté par WebAssemblyplatform/rustbodyadvance-sdl2- Application bureau avec sdl2platform/rustbodyadvance-minifb- Application bureau avec minifb, non entretenu.platform/rustbodyadvance-jni- JNI pour l'émulateur.platform/rustbodyadvance-term- Un frontend interminal complet implémenté via crossterm et viuer par @FRoith.platform/android- Une application PoC Android.
Progrès accomplis

Emulation Todo:
- CGB audio (4 canaux générateurs d'ondes)
Construction et utilisation (Application de Desktop)
Pour commencer, vous devez obtenir un chaîne à outils en rouille stable de la version Rust 1.51 ou ultérieure,
Linux build dépendances
Installer les dépendances SDL2
sudo apt-get -y install libsdl2-dev libsdl2-image-dev
Windows build dépendances
Les binaires d'exécution SDL2 sont inclus dans ce dépôt, aucune configuration supplémentaire nécessaire.
macOS
Installer les dépendances SDL2
brew install SDL2 SDL2_image
export LIBRARY_PATH="$LIBRARY_PATH:/opt/homebrew/lib"
Construire et utiliser
Vous devez obtenir un binaire de gba bios. Une bios d'ACS open source est également disponible et pris en charge.
Placer le fichier bios dans la racine du dépôt et le nommer gba_bios.bin (ou -b option ligne de commande)
Construire et exécuter en mode de sortie (performance est terrible dans le dev profil)
$ cargo run --release -- path/to/rom
Vous pouvez également glisser & déposer des fichiers rom ou tout fichier zip contenant .gba fichiers à l'intérieur de la fenêtre de l'émulateur et un nouveau rom sera chargé.
Fixations clés
Actuellement, les liaisons de clé ne sont pas configureables.
Reliure des clés de l'ACS :
Clavier - Oui. - Oui. Plus haut Descente Gauche Droite Bouton B Un bouton Début Sélectionner C'est ce qu'il a dit. S. R.
Caractères spéciaux des clés Fonction de la clé - Oui. Récapitulatif Désactiver l'espace (retenu) Débogueur personnalisé (nécessite --débogueur de caractéristiques) (expérimetnal, nécessite --caractéristiques gdb) Enregistrer le fichier instantané Charger le fichier instantané
Application Android
Le projet android est placé à l'intérieur platform/android.
Pour le construire, ouvrez-le avec Android Studio.
Vous devez également installer la rouille pour construire des cibles androïdes avec NDK.
TODO - instructions
Autres captures d'écran

Liens et attribution
- Manuel de référence technique ARM7TDMIManuels de référence techniques amusant.
- GABÈTEUne page unique écrite par Pas de gba le développeur Martin Korth. Cette page a presque tout. Sérieusement, c'est le meilleur.
- TONNESUn guide complet de l'ACS que j'ai utilisé par lots pour comprendre le système de l'ACS. Livré avec des démos soignées qui m'ont vraiment aidé pendant le développement et le débogage.
- NanoboyAdvanceUn émulateur GameBoy Advance écrit en C++17 par une personne sympathique appelée fleroviux. J'ai utilisé ça pour le débogage.
- Gba-suite avant l'oeufSuite de test incroyable pour l'interprète arm7tdmi que j'utilise, écrit par Julian Smolka.