Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Emulateur Graph 90+E from scratch
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 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 )


Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 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.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Critor Hors ligne Administrateur Points: 2570 Défis: 18 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

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 94 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes 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