Rustboyadvance-ng

michelhe michelhe
Dépôt créer le : 21/06/2019
Forks: 32 Watcher: 0 650
Choisir une liste...
FR

RustBoyAdvance-NG

licenseBuild

Nintendo GameBoy Advance TM émulateur et débogueur, écrit en rouille.

icon_cropped_small.png

Démo de l'assemblage Web: https://michelhe.github.io/rustboyadvance-ng/ Deploy

Structure du projet

  • core/ - Principale caisse d'émulateur qui relie tout
  • arm7tdmi/ - Emulation du processeur Arm7tdmi.
  • platform/ - Contient des exécutables et une application construite avec rustboyadvance-core
    • platform/rustbodyadvance-wasm - Emulateur Web alimenté par WebAssembly
    • platform/rustbodyadvance-sdl2 - Application bureau avec sdl2
    • platform/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

Pokemon Emerald

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

Kirby - Nightmare in Dreamland Dragon Ball - Legacy of Goku 2

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.

Contributeurs GitHub

operagxoksana
operagxoksana
2 contributions
michelhe
michelhe
526 contributions
dependabot-preview[bot]
dependabot-preview[bot]
633 contributions
xTibor
xTibor
11 contributions
sapir
sapir
8 contributions
Jongy
Jongy
4 contributions
FRoith
FRoith
3 contributions
tamirzb
tamirzb
1 contributions
wissammm
wissammm
1 contributions