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 » fxSDK / Gint "extension" to support fx-CP400/500(+E) - Utopia or Not ?
Slyvtt En ligne Maître du Puzzle Points: 2308 Défis: 17 Message

fxSDK / Gint "extension" to support fx-CP400/500(+E) - Utopia or Not ?

Posté le 21/11/2023 09:46

Hi Guys,

following the upload of CPBoy on Planete Casio, a program working with the Hollyhock-II hook and considering that the base architecture of fx-CP400/500 is very similar to what we can find either on fx-CG50/Graph90+E or on Prizms (fxCG10/20), it is maybe achievable to extend the scope of the fxSDK/gint to support this machine. For sure there is a strong interest in creating links with the ClassPadNet Team to share experience and knowhow.

From a technical point of view, ClassPad is running on a SH4 also (SH7305), so many stuff can be directly reused. There are some parts that are actually different (screen with touchscreen capabitlities, memory, keyboard) from the usual Graph (Mono or Color). Specific drivers would then be certainly required for these elements.

Would some of you interested in checking what is available or not and what would be the amount of energy needed to put on the project to add full support of FXCP ?

Today, Addins are not supported officially, so third parties programs (Homebrews) are launched through a Hook. We need to compile a bin that is loaded into memory by the hook and launched. This is close to what is currently done on fxCGs with the "Addin Push".

Please let us know in the comment section if you are interested in working on this.

Many additionnal information can be found here : ClassPadNet

Phoebe Hors ligne Membre Points: 2 Défis: 0 Message

Citer : Posté le 21/11/2023 10:45 | #


Quite an interesting idea ! From what I've checked there are a lot of similarities between the CG50 and the CP400 from the GInt drivers address. Some of them are found here : https://classpaddev.github.io/wiki/dev/notes/
But most of them are yet to be discovered. There is the HexEditor tool that will help you browsing the memory for specific address or value, and also try writing to some sections (https://github.com/SnailMath/CPhexEditor)

Parts of the touchscreen are already known, like where to read the touch position. Still, I've no idea how difficult it would be to port GInt as I never used it nor know all of its internals. But if you know it enough (I'm pretty sure some of you here do) I think most is doable!

If you have questions, need help or testing, I'll be glad to help ! Feel free to reach me over discord (I'm on the classpaddev team)
Slyvtt En ligne Maître du Puzzle Points: 2308 Défis: 17 Message

Citer : Posté le 21/11/2023 11:11 | #

On Gint side, there are lot of stuff already well documented with identified addresses here : MPU headers
I had a (brief) look yesterday at CPClock program which contains a RTC.h file and it was absolutely similar to one of fxCG50.

So definitely a lot of stuff is common, and considereing we are talking of SH70305 in both cases this is aboslutely expected.

Regarding screen, Gint is already able to manage 3 types of screen (T6K11 rev 1 (old monochromes) and 2 (fx9860GIII/G35+EII) and R61524 of Prizms/fxCG50), adding one more should not be a strong issue as everything is modular (Lephe, correct me if I am wrong). As usual, the tricky part is to understand how it works and to get accurate documentation. Extra-stuff like touchscreen can be added in a model-related module. This is definitely easy (for example the "Gray Engine" aiming at "blinking" very quickly the screen to give the illusion of 4 gray tones instead of just B&W is only activated when the model is a Monochrome calculator).

I guess we need to start with an inventory and then think on what can be reused. I am a bit busy with work at the moment and will be off for ~10day, but will try to do that at my return in early december.

The part far is a bit far from my confort zone is all the stuff dealig with memory allocation and filesystem cause it is a pain. But for sure Lephe and Yatis could be of great help on this.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Lephenixnoir En ligne Administrateur Points: 24199 Défis: 170 Message

Citer : Posté le 21/11/2023 11:25 | #

I'd like to try. I'm optimistic because it's the same SH7305, so loading a program should be a matter of specifying the memory layout and done. Then if we're lucky only the display and keyboard drivers will need changes... which I'm hoping should be a lot less work than the drivers we get in exchange, ie. timers, CPG, USB...

A few weeks ago I'd have said I didn't want to get into the CP because getting code to run felt like a lot of work and too much of a side quest. But since Hollyhock gives us this, it is really tempting indeed.

(I've long given up on trying to tell people how to pronounce it, but at least FYI the preferred capitalization is "gint").

Being a man of constantly too many projects, I'm hoping to have a look in December. I'd like to say cleaning up my list of projects is my priority, but this post is proving otherwise x)
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Slyvtt En ligne Maître du Puzzle Points: 2308 Défis: 17 Message

Citer : Posté le 21/11/2023 11:31 | #

Sure, will stop using capital "G"

There is definitely not hurry. Let's evaluate the situation and then check the size of such a project. I will first try to install the CP SDK on my PC to dig a bit more on what's inside.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...

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:
 :)  ;)  :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 40 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