Un interpréteur et éditeur complet de Brainfuck pour Nintendo DS, écrit en Lua (via DSLua ou MicroLua), destiné à fonctionner en tant que homebrew NDS.
- ✔️ Éditeur de code interactif avec écran tactile
- ✔️ Coloration syntaxique pour Brainfuck
- ✔️ Numérotation des lignes automatique
- ✔️ Curseur clignotant et navigation fluide
- ✔️ Clavier virtuel AZERTY complet
- ✔️ Sauvegarde automatique du code
- ✔️ Interpréteur Brainfuck 100% compatible
- ✔️ Exécution pas-à-pas pour le débogage
- ✔️ Visualiseur de mémoire en temps réel
- ✔️ Gestion des entrées/sorties complète
- ✔️ Détection d'erreurs avancée
- ✔️ Optimisations de code automatiques
- ✔️ Interface double écran optimisée
- ✔️ Thèmes personnalisables (système modulaire)
- ✔️ Navigation intuitive (D-pad, boutons, tactile)
- ✔️ Messages d'état informatifs
- ✔️ Splash screen animé
- ✔️ Chargement/sauvegarde depuis la carte SD
- ✔️ Exemples inclus (Hello World, Fibonacci, Mandelbrot)
- ✔️ Configuration persistante
- ✔️ Support des fichiers .bf
brainfuck_ds/
├── 📁 source/ # Code source Lua
│ ├── 🧠 bf_interpreter.lua # Moteur Brainfuck
│ ├── ✏️ editor.lua # Éditeur de texte
│ ├── ⌨️ clavier.lua # Clavier virtuel
│ ├── 🖼️ gui.lua # Interface utilisateur
│ ├── 🎮 keys.lua # Gestion des touches
│ ├── 💾 fs.lua # Système de fichiers
│ ├── 🔧 utils.lua # Utilitaires
│ └── 🇫🇷 interpréteur.lua # Interface française
├── 📁 themes/ # Thèmes visuels
│ └── 🎨 default.lua # Thème par défaut
├── 📁 examples/ # Exemples de programmes
│ ├── 👋 hello_world.bf # Hello World classique
│ ├── 🔢 fibonacci.bf # Suite de Fibonacci
│ └── 🌀 mandelbrot.bf # Fractale de Mandelbrot
├── 📁 gfx/ # Ressources graphiques
│ ├── 🖼️ icon.bmp # Icône de l'application
│ └── 🌟 splash.png # Écran de démarrage
├── 📁 data/ # Données du projet
│ └── 📁 fonts/ # Polices de caractères
├── 📁 build/ # Scripts de build
│ └── 🔨 build.lua # Script de build avancé
├── 🚀 main.lua # Point d'entrée principal
├── ⚙️ Makefile # Système de build
├── 📖 README.md # Ce fichier
├── 📚 GUIDE_UTILISATEUR.md # Guide utilisateur complet
├── 🛠️ DEVELOPPEMENT.md # Guide de développement
└── 💿 brainfuck.nds # ROM compilée (générée)
- devkitARM installé et configuré
- Lua 5.1+ pour les scripts de build
- ndstool pour la création de ROM
- Love2D NDS (love.nds) dans le répertoire racine
# Clone du projet
git clone https://github.com/brainfuck-ds/brainfuck-ds.git
cd brainfuck-ds
# Build de release
make release
# Test de la ROM
make test# Copie vers votre flashcart
make install DEST=/path/to/your/flashcart| Bouton | Action |
|---|---|
| D-Pad | Navigation dans l'éditeur |
| A | Confirmer/Sélectionner |
| B | Nouvelle ligne |
| X | Supprimer caractère |
| START | Exécuter le programme |
| SELECT | Menu principal |
| Écran tactile | Clavier virtuel |
- Démarrage : Lancez brainfuck.nds sur votre DS
- Édition : Utilisez le clavier tactile ou les boutons pour écrire
- Exécution : Appuyez sur START pour lancer votre programme
- Débogage : Observez la mémoire sur l'écran du haut
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.Ce programme affiche "Hello World!"
make dev # Build sans optimisations
make watch # Rebuild automatique
make lint # Analyse statique
make format # Formatage du code- Modulaire : Chaque composant est indépendant
- Extensible : Système de thèmes et plugins
- Optimisé : Performance adaptée à la Nintendo DS
- Documenté : Code commenté et guides complets
- Fork du projet
- Création d'une branche feature
- Développement avec tests
- Pull request avec description
Voir DEVELOPPEMENT.md pour plus de détails.
- 📖 Guide Utilisateur - Manuel complet d'utilisation
- 🛠️ Guide Développeur - Documentation technique
- 🧠 Référence Brainfuck - Spécification du langage
- Validation syntaxique automatique
- Statistiques d'utilisation des instructions
- Détection de boucles infinies potentielles
- Optimisation de code (suppression de redondances)
- Exécution pas-à-pas avec contrôle fin
- Visualisation mémoire en temps réel
- Points d'arrêt sur instructions
- Historique d'exécution
- Thèmes visuels personnalisables
- Configuration sauvegardée automatiquement
- Raccourcis clavier configurables
- Interface adaptable
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.Programme calculant la suite de Fibonacci et affichant les résultats.
Générateur de fractale de Mandelbrot en ASCII art.
- Issues GitHub pour les bugs et suggestions
- Discussions pour l'aide et les questions
- Wiki pour la documentation communautaire
- Communauté homebrew DS pour les outils et ressources
- Créateurs de DSLua/MicroLua pour le runtime Lua
- Développeurs Brainfuck pour l'inspiration
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
- 🏠 Site Web
- 📦 Releases
- 🐛 Issues
- 💬 Discussions
Fait avec ❤️ pour la communauté Nintendo DS homebrew
Brainfuck DS - Programmation ésotérique sur console portable 🧠🎮