CEmu : Un émulateur TI-83 Premium CE / TI-84 Plus CE !
Posted: 30 Dec 2015, 09:42
CEmu: what is it?
To sum up: a portable and open-source TI-84 Plus CE and TI-83 Premium CE emulator.
The 84+CE and 83PCE (TI-eZ80 series) hit the market over half a year ago. However, there was no third-party emulator, and the official emulator in TI-SmartView CE does not provide the features most community programmers have come to expect from well-behaved emulators: an accurate emulation core, a debugger with a way to inspect and modify registers and memory, a disassembler, etc. Teachers, who are SmartView's main target audience, hardly need such features.
The lack of a proper emulator is a significant roadblock to making TI-eZ80 native code programming popular in the community, which is a shame because the platform is a great improvement over the 84+CSE: faster CPU, more RAM, etc. Therefore, for the community’s sake, such a situation shouldn’t last for long - hence, the making of an emulator
CEmu is open source (and even free software, under the GPLv3), like nearly all community-made emulators, and made in C/C++. A native code emulator makes perfect sense for both efficiency and versatility; in the longer term, retargeting the code at browsers (JavaScript, WebAssembly) is possible nowadays, thanks to Emscripten.
The team behind CEmu
Matt “MateoConLechuga” Waltz started the project and remains the main contributor.
More recently, Jacob "jacobly" Young was invited to join the fun, and he has so far worked quite a bit on improving the CPU and ASIC core (as well as integration thereof with the UI), mainly.
The CEmu code base leverages both Firebird (TI-Nspire emulator) and z80e (TI-Z80 emulator for KnightOS, and to which jacobly is a contributor) open-source projects.
There are also other contributions, from non-TI-(e)Z80 experts: Adrien “Adriweb” Bertrand, Lionel Debroux, Fabian “Vogtinator” Vogt.
And in the future… well, potentially anyone with sufficient knowledge, that’s precisely part of the power of open source
If you want to chat, we're on IRC (EFNet), on channels such as #ez80-dev and #cemu-dev
Features
What it looks like
Here is what a recent build looks like (edited for late 2016 update)
Short-term todo list
In the future…
Conclusion
To sum up: CEmu is the community's open-source, native, portable, TI-84 Plus CE / TI-83 Premium CE emulator, that has been developed over the past few weeks, and of course, still is currently under development.
We all hope you'll enjoy it
Download : archives_voir.php?id=133742
Source code on GitHub : https://github.com/CE-Programming/CEmu/
In the meantime, you can simply build one yourself from the source code (instructions here)
Merry (belated) Christmas!
To sum up: a portable and open-source TI-84 Plus CE and TI-83 Premium CE emulator.
The 84+CE and 83PCE (TI-eZ80 series) hit the market over half a year ago. However, there was no third-party emulator, and the official emulator in TI-SmartView CE does not provide the features most community programmers have come to expect from well-behaved emulators: an accurate emulation core, a debugger with a way to inspect and modify registers and memory, a disassembler, etc. Teachers, who are SmartView's main target audience, hardly need such features.
The lack of a proper emulator is a significant roadblock to making TI-eZ80 native code programming popular in the community, which is a shame because the platform is a great improvement over the 84+CSE: faster CPU, more RAM, etc. Therefore, for the community’s sake, such a situation shouldn’t last for long - hence, the making of an emulator
CEmu is open source (and even free software, under the GPLv3), like nearly all community-made emulators, and made in C/C++. A native code emulator makes perfect sense for both efficiency and versatility; in the longer term, retargeting the code at browsers (JavaScript, WebAssembly) is possible nowadays, thanks to Emscripten.
The team behind CEmu
Matt “MateoConLechuga” Waltz started the project and remains the main contributor.
More recently, Jacob "jacobly" Young was invited to join the fun, and he has so far worked quite a bit on improving the CPU and ASIC core (as well as integration thereof with the UI), mainly.
The CEmu code base leverages both Firebird (TI-Nspire emulator) and z80e (TI-Z80 emulator for KnightOS, and to which jacobly is a contributor) open-source projects.
There are also other contributions, from non-TI-(e)Z80 experts: Adrien “Adriweb” Bertrand, Lionel Debroux, Fabian “Vogtinator” Vogt.
And in the future… well, potentially anyone with sufficient knowledge, that’s precisely part of the power of open source
If you want to chat, we're on IRC (EFNet), on channels such as #ez80-dev and #cemu-dev
Features
- Portable emulation core written in C
- Decent emulation accuracy yielding the ability to boot TI’s 5.1 OS, browse around it, execute self test successfully, and more
- Portable GUI written in C++ using Qt (making it run natively on Windows, Mac OS X, and Linux !)
- Docks/Tabs-based graphical UI (which you are able to customize)
- Integrated setup wizard with ROM dumper for your calculator (there’s another one in TILP beta)
- Debugger (read CPU registers, flags, ASIC state) and port monitor/writer
- Animated (GIF) and still (PNG) screenshots
What it looks like
Here is what a recent build looks like (edited for late 2016 update)
Short-term todo list
- Continue implementing the ASIC emulation core: remaining devices/ports, etc.
- Implement file transfers (implementing USB is not an easy task, so that will probably take a while)
- Make the debugger more useful: disassembly view, stepping, breakpoints…
- Finish 83PCE support (e.g. keypad and skin - emulating the 83PCE already works)
- Test the emulator and hunt bugs, even more!
In the future…
- Provide more translations (for now, it's available in English and French). If you want to help, tell us, or send patches / pull requests!
- Make a web-based version of CEmu, like there’s a web-based version of z80e for trying out KnightOS. Compiling the CEmu core to JavaScript (and later WebAssembly), using Emscripten, is already known to work: Adriweb has been able to get an Emscriptened CEmu core to boot a ROM and get to the home screen (confirmed by dumping the LCD buffer)
- Think about CEmu's core’s integration on third-party projects, like TI-Planet's Project Builder - for instance, in C projects, in order to directly test the program, and eventually (if someone has enough time…) have live source-level debugging!
- Look at this gdb-z80 project (code from 2011...); try to see if it can be updated for eZ80, and used with a CEmu GDB stub. Mainlining such code is highly preferable.
- ...
Conclusion
To sum up: CEmu is the community's open-source, native, portable, TI-84 Plus CE / TI-83 Premium CE emulator, that has been developed over the past few weeks, and of course, still is currently under development.
We all hope you'll enjoy it
Download : archives_voir.php?id=133742
Source code on GitHub : https://github.com/CE-Programming/CEmu/
In the meantime, you can simply build one yourself from the source code (instructions here)
Merry (belated) Christmas!
CEmu: qu’est-ce que c’est ?
En résumé: Un émulateur portable et open source de TI-84 Plus CE et TI-83 Premium CE.
Les 83PCE et 84+CE (famille TI-eZ80) sont arrivées sur le marché il y a plus de 6 mois. Cependant, il n’y avait pas d’émulateur réalisé par des tierces parties, et l’émulateur officiel dans TI-SmartView CE ne fournit pas les fonctionnalités que la plupart des programmeurs de la communauté attend maintenant d’un émulateur convenable: un coeur fidèle d’émulation, un debugger permettant d’inspecter et de modifier les registres et la mémoire, un désassembleur, etc. Les enseignants, qui sont la principale cible du SmartView, ont rarement besoin de telles fonctionnalités.
L’absence d’un émulateur convenable rend difficile la popularisation de la programmation en code natif pour TI-eZ80, ce qui est fort dommage, car la plate-forme est une grosse amélioration par rapport à la 84+CSE: un CPU plus rapide, plus de mémoire, etc. Par conséquent, pour le bien de la communauté, cette situation ne doit pas durer longtemps - et c’est pour ça qu’un émulateur est en train d’être réalisé
CEmu est un logiciel ouvert (et même libre, sous la GPLv3), comme presque tous les émulateurs de la communauté, écrit en C/C++. Un émulateur en code natif est une très bonne chose pour l’efficacité et la flexibilité; à plus long terme, cibler les navigateurs (JavaScript, WebAssembly) est possible de nos jours, grâce à Emscripten.
L’équipe de CEmu
Matt “MateoConLechuga” Waltz a démarré le projet et reste le principal contributeur.
Plus récemment, Jacob "jacobly" Young a été invité à se joindre à l’équipe, et il a pas mal travaillé sur l’amélioration du CPU et de l’ASIC (et leur intégration avec l’interface utilisateur), principalement.
Le code de CEmu tire parti des projets open source Firebird (émulateur de TI-Nspire) et de z80e (émulateur de TI-Z80 emulator pour KnightOS, auquel jacobly contribue).
Il y a également d’autres contributions de personnes non-expertes en TI-(e)Z80: Adrien “Adriweb” Bertrand, Lionel Debroux, Fabian “Vogtinator” Vogt.
Et dans le futur… eh bien, potentiellement n’importe qui qui possède suffisamment de connaissances, ça fait précisément partie de la puissance de l’open source
Si vous voulez discuter, nous sommes sur IRC (EFNet), sur des channels comme #ez80-dev et #cemu-dev
Fonctionnalités
A quoi ça ressemble
Voici des captures d’une build récente (update 2016):
Todo list à court terme
Dans le futur…
Conclusion
En résumé: CEmu est l’émulateur communautaire open source, natif, portable de TI-84 Plus CE / TI-83 Premium CE, qui a été développé au cours des dernières semaines, et est bien sûr toujours en développement.
Nous espérons tous que vous l’apprécierez
Téléchargement : archives_voir.php?id=133742
Code source sur GitHub : https://github.com/CE-Programming/CEmu/
En attendant, vous pouvez simplement compiler le code source vous-mêmes, en utilisant les SDKs Qt (instructions ici)
Et puis joyeux Noël en retard !
En résumé: Un émulateur portable et open source de TI-84 Plus CE et TI-83 Premium CE.
Les 83PCE et 84+CE (famille TI-eZ80) sont arrivées sur le marché il y a plus de 6 mois. Cependant, il n’y avait pas d’émulateur réalisé par des tierces parties, et l’émulateur officiel dans TI-SmartView CE ne fournit pas les fonctionnalités que la plupart des programmeurs de la communauté attend maintenant d’un émulateur convenable: un coeur fidèle d’émulation, un debugger permettant d’inspecter et de modifier les registres et la mémoire, un désassembleur, etc. Les enseignants, qui sont la principale cible du SmartView, ont rarement besoin de telles fonctionnalités.
L’absence d’un émulateur convenable rend difficile la popularisation de la programmation en code natif pour TI-eZ80, ce qui est fort dommage, car la plate-forme est une grosse amélioration par rapport à la 84+CSE: un CPU plus rapide, plus de mémoire, etc. Par conséquent, pour le bien de la communauté, cette situation ne doit pas durer longtemps - et c’est pour ça qu’un émulateur est en train d’être réalisé
CEmu est un logiciel ouvert (et même libre, sous la GPLv3), comme presque tous les émulateurs de la communauté, écrit en C/C++. Un émulateur en code natif est une très bonne chose pour l’efficacité et la flexibilité; à plus long terme, cibler les navigateurs (JavaScript, WebAssembly) est possible de nos jours, grâce à Emscripten.
L’équipe de CEmu
Matt “MateoConLechuga” Waltz a démarré le projet et reste le principal contributeur.
Plus récemment, Jacob "jacobly" Young a été invité à se joindre à l’équipe, et il a pas mal travaillé sur l’amélioration du CPU et de l’ASIC (et leur intégration avec l’interface utilisateur), principalement.
Le code de CEmu tire parti des projets open source Firebird (émulateur de TI-Nspire) et de z80e (émulateur de TI-Z80 emulator pour KnightOS, auquel jacobly contribue).
Il y a également d’autres contributions de personnes non-expertes en TI-(e)Z80: Adrien “Adriweb” Bertrand, Lionel Debroux, Fabian “Vogtinator” Vogt.
Et dans le futur… eh bien, potentiellement n’importe qui qui possède suffisamment de connaissances, ça fait précisément partie de la puissance de l’open source
Si vous voulez discuter, nous sommes sur IRC (EFNet), sur des channels comme #ez80-dev et #cemu-dev
Fonctionnalités
- Coeur d’émulation portable écrit en C
- Précision d’émulation acceptable, permettant de booter l’OS 5.1 de TI et de naviguer dedans, d’exécuter le self test avec succès, et davantage
- Interface utilisateur graphique portable GUI écrite en C++ avec Qt (permettant de tourner nativement sous Windows, Mac OS X, et Linux !)
- Utilisation de docks et onglets (paramétrables) dans l’interface utilisateur
- Assistant de paramétrage avec un ROM dumper pour la calculatrice (il en existe un autre dans TILP beta)
- Debugger (lecture des registres CPUs, flags, ports de l’ASIC) et port monitor/writer
- Capture d'écran animée (GIF) et statique (PNG)
A quoi ça ressemble
Voici des captures d’une build récente (update 2016):
Todo list à court terme
- Continuer l’implémentation du coeur de l’ASIC: émuler les périphériques / ports manquants, etc.
- Implémenter les transferts de fichiers (implémenter l’USB n’est pas une tâche facile, donc ça va probablement prendre un moment)
- Rendre le debugger plus utile: désassembleur, pas à pas, breakpoints…
- Finir la gestion des 83PCE (par exemple clavier et skin - l’émulation de la 83PCE fonctionne déjà)
- Tester encore plus l’émulateur et chasser les bugs !
Dans le futur…
- Fournir plus de traductions (pour l’instant, il est disponible en anglais et en français). Si vous voulez aider, dites-le nous, ou envoyez des patches / pull requests !
- Faire une version Web de CEmu, comme il y a une version Web de z80e pour essayer KnightOS. On sait déjà que compiler le coeur de CEmu en JavaScript (et plus tard WebAssembly), avec Emscripten, fonctionne: Adriweb a pu faire booter une ROM au coeur Emscripten-isé, jusqu’à l’écran home (confirmé en dumpant le buffer écran)
- Réfléchir à l’intégration du coeur de CEmu dans d’autres projets, comme le Project Builder TI-Planet - par exemple, dans les projets C, pour permettre le test direct du programme, et peut-être un jour (si quelqu’un a le temps…) le debug en temps réel avec les sources !
- Examiner ce projet gdb-z80 (code de 2011...) ; voir s’il peut être mis à jour pour l’eZ80, et utilisé avec un stub GDB CEmu. Il est nettement préférable de contribuer un tel code à GDB upstream.
- ...
Conclusion
En résumé: CEmu est l’émulateur communautaire open source, natif, portable de TI-84 Plus CE / TI-83 Premium CE, qui a été développé au cours des dernières semaines, et est bien sûr toujours en développement.
Nous espérons tous que vous l’apprécierez
Téléchargement : archives_voir.php?id=133742
Code source sur GitHub : https://github.com/CE-Programming/CEmu/
En attendant, vous pouvez simplement compiler le code source vous-mêmes, en utilisant les SDKs Qt (instructions ici)
Et puis joyeux Noël en retard !