ndPython est un composant du SDK Nanodesktop, et permet aux développeurs de programmer en langage Python pour la PSP.
Le développeur Pegasus2000 publie sur nos forums la première version publique de ndPython. Ceci est un composant de Nanodesktop, mais il peut également être utilisé à part entière.
Qu'est-ce que Nanodesktop ?
Nanodesktop est un kit de développement destiné à faciliter le développement d'homebrews pour la PSP. Pour plus d'informations sur Nanodesktop, référez-vous à l'article traitant de la dernière version 0.4 de celui-ci.
Qu'est-ce que ndPython ?
Comme indiqué plus haut, il s'agit d'un module de Nanodesktop, mais il s'agit surtout d'un programme destiné à faire tourner du code Python sur la PSP. Tout comme le LUA, la PSP ne sait pas lire le Python, et il faut donc utiliser un interpréteur pour que le processeur de la PSP sache exécuter le code Python sans problèmes.
Qu'est-ce que le Python ? (citation Wikipédia)
Python est un langage de programmation interprété multi-paradigme. Il favorise la programmation impérative structurée, et orientée objet. Il est doté d'un typage dynamique fort, d'une gestion automatique de la mémoire par ramasse-miettes et d'un système de gestion d'exceptions ; il est ainsi similaire à Perl, Ruby, Scheme, Smalltalk et Tcl.
Le langage Python est placé sous une licence libre proche de la licence BSD et fonctionne sur la plupart des plates-formes informatiques.
ndPython est un travail dérivé de Stackless Python Interpreter, et sort en version S252N04V04 (Stackless Python 2.52 - Nanodesktop 0.4 - Vers. 04). ndPython fonctionne grâce aux technologies développées pour le SDK Nanodesktop, et il intègre donc de nombreuses fonctionnalités de celui-ci :
- Un environnement de fenêtres complet
- Support de 13 formats d'images différents
- Supprt des claviers virtuels
- Support du décodage WAV/MP3 via Media Engine
- Support des sprites, des winsprites et des objets de bureau
- Support des polices TrueType
- Support des fonctionnalités réseau
De même, l'interpréteur supporte de nombreux modules standards du Python (comme le module réseau), il est accéléré matériellement, et utilise le VFPU automatiquement, il est optimisé et stable. Cet interpréteur a été créé pour suivre tous les standards et pour être vraiment portable (il utilise le Nanodesktop HAL - Hardware Abstraction Layer).
ndPython est formé de 3 composants :
- l'interpréteur interactif qui exécute les instructions Python tapées par l'utilisateur de manière interactive (à l'aide d'un clavier virtuel par exemple)
- le compilateur qui peut créer un fichier byte-code exécutable (.pyc) à partir d'un fichier source Python (.py)
- l'exécuteur qui peut exécuter des programmes en byte-code
Grâce à un wrapper spécial nommé ndWrapper, le développeur peut utiliser toutes les fonctionnalités proposées par Nanodesktop 0.4 : il est même possible d'utiliser une routine Python comme un callback Nanodesktop.
Pour débuter dans la programmation Python sur PSP, vous pouvez vous référer au chapitre 35 de la documentation de Nanodesktop, ou encore vous référer aux différentes documentations incluses dans les archives.
Réservé aux développeurs
Interpréteur ndPython
Téléchargement, instructions et mode d'emploi disponibles
dans la fiche de téléchargement ci-dessous.
Compilateur ndPython
Téléchargement, instructions et mode d'emploi disponibles
dans la fiche de téléchargement ci-dessous.
Exécuteur ndPython
Téléchargement, instructions et mode d'emploi disponibles
dans la fiche de téléchargement ci-dessous.