cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 1258|回复: 7

[fx-9860/9750系列] [Add-in] PythonExtra---卡西欧平台的python扩展addin

[复制链接]
发表于 2025-11-4 22:09:17 | 显示全部楼层 |阅读模式
计算器程序
程序名称: PythonExtra
平台: fx-9860GII fx-9860G & Slim fx-9750GII fx-9750G系列 其他 
系统/软件要求:
版本号: v0.4 beta
类型: 其他 
作者: Sébastien Michelland(Lephenixnoir)
大小(K): 636.51
更新日期: 2025-07-01
描述: -
已知缺陷: -
源代码: 开源/部分开源 » MIT
本帖最后由 ilm 于 2025-11-11 06:36 编辑

转载于TI-Planet与casio-planet

原网址https://tiplanet.org/forum/archives_voir.php?id=3578679

https://www.planet-casio.com/Fr/ ... ta-pythonextra.html

原介绍:

Description
Un interpréteur Micropython étendu pour :
- graphiques monochromes Graph 35+E II et fx-9750/9860GIII (fichier .g1a)
- graphiques couleurs Graph 90+E et fx-CG50 (fichier .g3a)
- graphiques Classwiz couleurs Graph Math+ fx-CG100 fx-1AU Graph (fichier .g3a, via l'installation de MPM)
- formelles couleurs fx-CP400/CG500 (fichier .bin, via l'installation de Hollyhock-2)
Permet entre bien d'autres choses les tests de touches pressés pour la création de jeux ou interfaces graphiques.

https://gitea.planet-casio.com/Lephenixnoir/PythonExtra

PythonExtra est un add-in Python alternatif pour (à ce stade) Graph 35+E II, Prizm et Graph 90+E. L'objectif est de fournir plus de fonctionnalités : modules standard, getkey(), fonctions de dessin plus performantes, etc.

Version Bêta 0.4 (Changelog)
Graph 35+E II / Prizm / Graph 90+E / Math+ / ClassPad : PythonExtra-pe-0.4.0-beta.zip


Aperçu de PythonExtra sur Graph 90+E. (Cliquez pour agrandir)


Aperçu de PythonExtra sur Graph 35+E II (FxPyEdit par Mb88)
Description sommaire des fonctionnalités :
  • Compile pour Graph 90+E (fx-CG 10/20/50) et Graph 35+E II (fx-9860G III)
  • Peu de RAM sur Graph 35+E II (c'est difficile d'en trouver sur ce modèle)
  • Un shell pas trop mal (saisie rapide, scrolling) avec de bonnes performances
  • Plein de modules standard
    • array, builtins, cmath, collections, io, math, random, struct, sys, time
  • Le module spécifique CASIO : casioplot (fidèle à part sur les polices)
  • Un nouveau module gint avec les fonctionnalités avancées de gint :
    • Pour l'instant, une bonne partie de <gint/display.h> et <gint/keyboard.h>
    • Donc getkey() (attente de touche) ainsi que keydown() (test instantané) !
    • Et des fonctions de dessin rapides comme dline() ou drect()


Le plan actuel :
  • Être sensiblement compatible avec l'appli Python officielle.
  • Pousser les fonctionnalités ajoutées pour vraiment relever le niveau de Python !
  • Si du temps de développement se débloque : support autres Graph mono (pas de promesses).

Updates et screenshots à venir. Je n'ai pas l'intention d'implémenter un million de fonctionnalités, juste ce qu'il faut pour s'assurer que ça ne finisse pas mal documenté et non maintenu comme CasioPython.

Dépôt Git : https://gitea.planet-casio.com/Lephenixnoir/PythonExtra
PythonExtra est notamment possible grâce à l'aide précieuse de Mb88.

Comparaison directe

Dans l'exemple ci-dessous (réalisé par Mb88), un Flappy Bird déjà bien optimisé (dessin partiel etc, à gauche) est accéléré un bon gros coup en utilisant PythonExtra et le module gint pour le dessin (à droite).


Contexte historique

Aux journées APMEP 2022, redgl0w racontait comment le port MicroPython pour Numworks n'était finalement pas super difficile. Moi je parlais de comment un port maison résoudrait le problème de getkey(), et Critor m'a convaincu d'essayer sur-le-champ.

En fin de compte, j'ai clôné MicroPython Dimanche à midi et à 1 heure du matin j'avais un port fonctionnel avec getkey() sur ma Graph 90+E (que j'ai d'ailleurs montré à CASIO Lundi, pour la démo). Comme quoi, des fois ça marche tout seul !

(Enfin, le début marche tout seul. Faire une bonne UI et gérer tous les détails ensuite c'est une autre paire de manches !)
机翻:

描述
一个扩展版的MicroPython解释器,用于:
- 单色图形 Graph 35+E II 和 fx-9750/9860GIII(.g1a 文件)
- 图形色彩 Graph 90+E 和 fx-CG50(.g3a 文件)
- 图形类 Classwiz 颜色 图形数学+ fx-CG100 fx-1AU 图形(通过安装 MPM 的 .g3a 文件)
- 正式色彩FX-CP400/CG500(.bin文件,通过安装Hollyhock-2)
它允许(除其他功能外)进行按键测试,用于游戏或图形界面的开发。
https://gitea.planet-casio.com/Lephenixnoir/PythonExtra
PythonExtra 是一款替代性 Python 插件,目前适用于 Graph 35+E II、Prizm 和 Graph 90+E 等型号。其目标是提供更多功能:包括标准模块、getkey()、更高效的绘图函数等。

Beta 0.4 版本(更新日志)

Graph 35+E II / Prizm / Graph 90+E / Math+ / ClassPad:PythonExtra-pe-0.4.0-beta.zip

在 Graph 90+E 上运行 PythonExtra 的预览(点击放大)

在 Graph 35+E II 上运行 PythonExtra 的预览(由 Mb88 开发的 FxPyEdit)

功能简要说明:

- 支持为 Graph 90+E(fx-CG 10/20/50)和 Graph 35+E II(fx-9860G III)编译
- Graph 35+E II 内存较小(该型号内存有限,优化较为困难)
- 一个性能不错的 Shell(支持快速输入和滚动)
- 大量标准模块array、builtins、cmath、collections、io、math、random、struct、sys、time
- 卡西欧专用模块:casioplot(除字体外基本保持一致)
- 新增 gint 模块,支持 gint 的高级功能:目前包括大部分
"<gint/display.h>" 和
"<gint/keyboard.h>" 的功能因此支持 getkey()(等待按键)以及 keydown()(即时检测)!还有快速绘图函数,如 dline() 或 drect()

当前计划:

- 基本兼容官方 Python 应用
- 推动新增功能,真正提升 Python 的水平!
- 如果开发时间允许:支持其他单色屏 Graph 型号(不保证实现)

后续将提供更新和截图。我不打算实现过多功能,只确保不会像 CasioPython 那样最终缺乏文档和维护。

Git 仓库:"https://gitea.planet-casio.com/Lephenixnoir/PythonExtra" (https://gitea.planet-casio.com/Lephenixnoir/PythonExtra)

PythonExtra 的实现离不开 Mb88 的重要帮助。

直接对比

以下示例(由 Mb88 提供)展示了一个已经优化过的 Flappy Bird 游戏(左侧使用部分绘图等技术),而右侧通过 PythonExtra 和 gint 模块进行绘图,速度大幅提升。

历史背景

在 2022 年 APMEP 活动上,redgl0w 分享了如何为 Numworks 移植 MicroPython 并不算太困难。而我则谈到,一个自制的移植版本可以解决 getkey() 的问题,Critor 当场说服我尝试一下。

结果,我在周日中午克隆了 MicroPython,到凌晨 1 点就已经在 Graph 90+E 上成功移植并实现了 getkey() 功能(周一我还向卡西欧展示了这个 demo)。看来,有时候事情就是这么顺利!

(当然,开始顺利不代表后续轻松。设计一个优秀的用户界面并处理所有细节,那就是另一回事了!)

简单来说就是一个提供更多库的python解释器
注意它不带python编辑器,你需要在别的地方编辑好再运行
我试到支持的库:array,builtins,cmath,collections,io,math,random,struct,sys,time,casioplot,gint,turtle,matplotl,gc,micropython
(matplotl太大了,无法在fx-9860上运行)

顺带一提这个支持文件读写


这里有一个示例:https://www.planet-casio.com/Fr/ ... en-pythonextra.html

这里有在这个addin新添加的绘图模块gint的教程:https://git.planet-casio.com/Lep ... cs/sh/modgint-en.md

PythonExtra_pe_0.4.0_beta.zip

636.51 KB, 下载次数: 75

插件+示例代码

发表于 2025-11-7 21:28:02 | 显示全部楼层
支持
回复 支持 1 反对 0

使用道具 举报

发表于 2025-11-9 12:28:25 | 显示全部楼层
成功把python从玩具变成了好玩的玩具
发表于 2025-12-11 00:02:41 | 显示全部楼层
这个好
以前闲着用自带的python写了很多东西,但还是感觉限制太大了
发表于 2025-12-11 13:59:56 | 显示全部楼层
pythonExtra在电脑上有可用的ide吗
 楼主| 发表于 2025-12-12 12:19:45 | 显示全部楼层
starise 发表于 2025-12-11 13:59
pythonExtra在电脑上有可用的ide吗

我是直接拿计算器自带的python写的
发表于 2026-2-17 22:09:38 | 显示全部楼层
我把卡西欧cg50在系统更新到2.81.0202后,PythonExtra就无法打开了
 楼主| 发表于 2026-2-22 21:24:52 | 显示全部楼层
chengg 发表于 2026-2-17 22:09
我把卡西欧cg50在系统更新到2.81.0202后,PythonExtra就无法打开了

这个项目已经很久没更新过了。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|cnCalc计算器论坛

GMT+8, 2026-7-19 06:37 , Processed in 0.016781 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表