Actualité
python 0

ndPython : exécutez du langage Python sur PSP

par
Source: Forums PSPGEN

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.

dl

Compilateur ndPython

Téléchargement, instructions et mode d'emploi disponibles
dans la fiche de téléchargement ci-dessous.

dl

Exécuteur ndPython

Téléchargement, instructions et mode d'emploi disponibles
dans la fiche de téléchargement ci-dessous.

dl

 

Commenter 7 commentaires

evilsmagots
c'est vraie que c'est pas mal je vais essayer.
sinon Furior blender a un interpréteur python mais il n'est pas progammer en phython et pour faire tout se que gère blender je te souhaite bien du courage pour le faire tourner sur psp (si tu souhaites faire un clone de blender) :D :D
Signaler Citer
Mon ouïe
À part qu'il y a quelque chose de très important qu'il faut comprendre : Les bibliothèques Python ne sont que TRÈS rarement programmées en Python. Dans la quasi totalité des cas, elles sont codées dans un langages comme C ou autre sans penser au Python, puis quelqu'un crée un wrapper en utilisant la bibliothèque de Python.

Vous imaginez le temps que ça prendrait de reprogrammer tout Qt en Python ? Déjà que l'écriture des wrappers est longue...

Il faudrait donc porter Qt pour la PSP, or c'est quasi-impossible, puisqu'il faudrait un gestionnaire de fenêtre, etc.

Quoique, en relisant la news, s'il va jusqu'à réimplémenter HAL...
Signaler Citer