Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Emulateur Graph 90+E from scratch
ZezombyeHors ligneRédacteurPoints: 1572 Défis: 12 Message

Emulateur Graph 90+E from scratch

Posté le 20/12/2018 18:12

Maintenant que j'ai ma G90, pour le développement ça va être chiant : y'a pas de SDK, et je ne me soumettrai pas au workflow du "brancher la calto, attendre que la connexion se fasse, transférer le fichier, éjecter la calto dans windows, ouvrir le g3a" è_é

Du coup, et aussi pour perfectionner un peu mes skills en bas niveau, je suis partant pour émuler le hardware de la G90, soit le proco (le plus dur), la ram (char ram[200000000] enfin je sais plus combien ça a de ram une G90), l'écran, le clavier, et le reste. Ah et vous allez être heureux : je fais pas ça en java mais en C++ (Qt ça irait bien ?)

- Est ce qu'on a assez d'informations sur le proco pour émuler fidèlement la calto ?
- Est ce qu'il y a un dump de l'OS (si non ça va être assez chaud, je vais devoir émuler les fonctions de l'OS )


LephenixnoirHors ligneAdministrateurPoints: 13558 Défis: 136 Message

Citer : Posté le 20/12/2018 18:23 | #


Ma première réaction, et je pense la plus importante, est : utilise QEMU.

QEMU est un système d'émulation capable de recompilater de l'assembleur just-in-time. C'est très puissant et surtout très performant, et cela t'évite de recoder le processeur comme la RAM.

Tu peux construire ton émulateur par-dessus QEMU, c'est d'ailleurs ce qui s'est passé quand des gens (je ne sais plus qui) ont essayé de construire un émulateur pour la Prizm.

Le plus compliqué à émuler c'est certainement la mémoire et les I/O, c'est-à-dire le MMU et le mapping en mémoire des registres du matériel. Une solide connaissance de la doc hardware te sera nécessaire pour comprendre ceci.

Voici enfin mes réponses à tes questions :
Oui, bien que ce n'est pas le proco mais tout ce qu'il y a autour qui compte vraiment.
Pas à ma connaissance, mais si tu tentes d'émuler le hardware tu vas très vite comprendre comment en obtenir trivialement une copie avec un add-in.
Rise.
CritorHors ligneAdministrateurPoints: 1051 Défis: 0 Message

Citer : Posté le 20/12/2018 18:26 | #


Voilà un autre superbe projet de ta part.

La partie OS de la ROM, tu peux l'extraire du logiciel de mise à jour. Même méthode que pour la fx-CP400 :
https://the6p4c.github.io/2018/01/15/hacking-the-gc-part-1.html

Ou bien tu peux installer l'add-in Insight :
https://tiplanet.org/forum/archives_voir.php?id=394716
TeamFX a écrit :
- start Insight and press [F1] for the memory viewer
- press [F1] again and type in 80000000, press [EXE]
- press [F2] and type in 00200000 (this is the maximum file size), press [EXE]
- this will now take almost 3.5 minutes (205 sec) to complete
- now leave Insight and connect the calculator to the PC (or rather here, connect to another calculator if USB doesn't work, send the file below, and then connect the other calculator to the PC to move the file)
- move the file MEMORY.BKP onto your Desktop and rename it to M1.BKP
- then disconnect the calculator

- now this has to be repeated another five times...
- start Insight memory viewer
- press [F1], type in 80200000 ... press [F2] and type in 00200000 ... name the desktop file M2.BKP
- press [F1], type in 80400000 ... press [F2] and type in 00200000 ... name the desktop file M3.BKP
- press [F1], type in 80600000 ... press [F2] and type in 00200000 ... name the desktop file M4.BKP
- press [F1], type in 80800000 ... press [F2] and type in 00200000 ... name the desktop file M5.BKP
- press [F1], type in 80A00000 ... press [F2] and type in 00200000 ... name the desktop file M6.BKP

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 22 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire et n'est donc pas affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd