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 » Comment cree son OS
Et7f3 Hors ligne Membre Points: 176 Défis: 1 Message

Comment cree son OS

Posté le 28/10/2016 01:41

Bonjour,
je vais d'abord expliquer mes motivations:
j'ai une graph 35+E devenue 75+E
quand j ai effectué cette opération j'ai vu l'os est un simple fichier binaire.(bonne nouvelle je croyais que c'était plusieur fichier pour un os comme sur Windows ou Mac os)

deux minute apres avoir obtenue ma 75+E je me suis empressé pour chercher des add ins au format g1a
d'apres ce que j ai lu sur le forum il faut un sdk et pour activer le sdk il faut le code sur la 85+E(je n'ai pas encore tester de rentrer un code de la 35+E mon ordi est eteind je suis sur tablette)
j'ai lu que les g1a devait aller dans la memoire de stockage
j ai donc ouvert fa-124 memoire de stockage importer je ne trouvais plus mon g1a.
j'ai ete decus.

Si j'ai bien compris on a un OS de base et on peut lui apporter des modifications (addins)

Les addins sont en c/c++ donc la calculatrice lit le c/c++
la syntaxe du basic casio est lamentable (aucune norme avec ou sans parenthèses, mot clee qui s enchaine, pas de fonction,...)

Je voulais donc savoir s'il est possible de cree un nouvel OS de l'implanter sur nos calto.

@les personnes qui pensent que c'est un travail enorme
je suis pret a le faire je considerai ca comme un defi j'adore programmer (faudrait que je propose mes compétences au site d'aillieurs)

@les personnes qui ont trouver un moyen d'installer des addins sur 35+e
je prendrai bien les tuto mais je garderai mon objectif

@tout le monde
On pourra ce faire un OS de malade qui simplifierait grandement la creation de jeu (animation pres concu ou nouvel fonction que sais-je). Les eventuel personnes qui voudront collaborer pourront mettre ca dans le CV. On pourrait creer un systeme d'echange intercalto. On pourrait augmenter la puissance de calcul ou plutot la précision des resultats. Bref l'os casio plus tout ce que les gens voudront rajouter en un simple un clic(je pensais d'ailleurs a un OS personalisable où l'ont choisis les snippet qui seront dans notre os par exemple un formulaire et un script php genere l'OS correspondant. on s'encombre pas des modes finances qu'on ne va jamais utilisé par exemple).

Voila si je vous ai fait rever n'hesitez pas a me proposer des pistes de travail. Ne serais-ce pas un defi technique interessant.


Julese50 Hors ligne Gourou Points: 315 Défis: 16 Message

Citer : Posté le 28/10/2016 06:06 | #


Réponse courte pour l'OS : non.
Réponse pour installer un addin : Retourne dans la mémoire de stockage, et réimporte ton addin, tu devrais pouvoir le transférer. Tu peux aussi regarder le tuto de fa-124 ici : http://www.planet-casio.com/Fr/logiciels/voir_un_logiciel_casio.php?logiciel=Fa_124_pour_graph_85_logiciel_transfert&showid=16
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 28/10/2016 07:50 | #


Regarde du côté de FixOS
Lephenixnoir Hors ligne Administrateur Points: 24579 Défis: 170 Message

Citer : Posté le 28/10/2016 10:12 | #


Long et compliqué ? Oui, mais encore un peu plus que ça. Allez, liste non exhaustive des choses que tu dois savoir parfaitement si tu veux espérer pouvoir y arriver :
- La programmation C (et pas en superficie)
- De l'Assembleur (tu n'y couperas pas)
- La notion de drivers, de registres, d'interruptions, et autres choses de bas niveau
- La doc du MPU que tu utilises
- Le principe général d'un compilateur, assembleur, éditeur de liens
- Ah oui, et développer sous Linux si t'as l'intention d'y arriver
Le fait que tu mentionnes le SDK pour installer des add-ins et la "lecture" du C/C++ par la calculatrice laisse à penser que tu peux encore t'améliorer sur ces quelques points.

En vrai, la tâche est au-dessus du simple défi technique. Je me permets de mentionner gint, un projet à moi qui consistait d'abord à implémenter un gestionnaire d'interruptions et qui prend par moments des allures de kernel à peu près free-standing. J'ai commencé à coder ça il y a près de deux ans je pense (avec tout le côté "recherche" qu'il a fallu mener) et c'est loin, très loin de faire un OS.

FixOS cherche la compatibilité POSIX (tout autre type de défi), et si malheureusement les principales têtes du projet n'ont plus le temps de s'en occuper, la travail fourni reste colossal et le programme pas encore fini.

Dernière difficulté : on n'a rien pour reprogrammer la ROM excepté la partie de l'OS de Casio utilisée pour les mises à jour, donc au premier raté ta calculatrice est inutilisable. Peu de gens voudront prendre ce risque...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 28/10/2016 12:02 | #


De une, on ne requiert plus de SDK depuis quoi, six mois, un an ? Enfin, sous MS-Windows si, mais sous GNU/Linux, on a libéré suffisamment de logiciel pour avoir tout ce qu'il faut pour construire des add-ins. (et puis on a gcc qui supporte le sh3, ce qui est un énorme avantage.)

Ensuite, saches que tu n'es effectivement largement pas le premier à avoir pensé à ça. Comme l'a dit Lephé, il y a FiXOS, mais celui-ci est effectivement abandonné depuis un moment, et ne supporte pas les calculatrices dotées d'un processeur SH-4A (qui fleurissent depuis ~2009/2011). Et il y a gint, qui est une lib permettant aux add-ins (compilés avec gcc uniquement, le SDK étant bien merdique) d'avoir un bien meilleur contrôle sur le matériel existant, cf. Arena qui l'utilise, et qui peut servir de base à un nouveau projet (si tant est qu'on en comprend le contenu !).

De plus :
Et7f3 a écrit :
l'os est un simple fichier binaire.(bonne nouvelle je croyais que c'était plusieur fichier pour un os comme sur Windows ou Mac os)


Beh en fait, le kernel est toujours un simple fichier, l'OS est ce kernel + les programmes en userspace par-dessus (interpréteur de Basic CASIO, etc). Sauf que là, on est sur de l'embedded (systèmes intégrés), donc il est compliqué de faire un truc propre avec un filesystem et tout ce qui appartient à l'userspace dedans (programmes, paramètres, données et tout) -- ce que CASIO a à moitié fait avec la MCS et FLS0 (les 1.5 Mo à la fin de la mémoire flash).

Et le kernel, c'est compliqué à faire, surtout quand on n'a pas la documentation pour le matériel. En fait, on a des documentations gravitant autour de celle manquante (de la doc pour des microprocesseurs similaires, la doc de Simon Lothar, dieu de la rétro-ingénierie autour de ce qui est calculatrices CASIO, qui répertorie tout ce qui est modules externes et adresses des modules internes au MPU, etc).

Donc si tu veux vraiment continuer dans ce projet, bon courage !

N.B : Techniquement, on peut n'effacer que l'OS et garder le bootcode, car comme dit ici, le bootcode contient un duplicata des fonctions de transferts et supporte la commande 0x56 (upload et exécution). Encore faut-il savoir se servir du module de flash (non documenté, par choix apparemment).
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Et7f3 Hors ligne Membre Points: 176 Défis: 1 Message

Citer : Posté le 28/10/2016 12:10 | #


Ok (je vien de perdre tout mes reves ) merci
bon bah je vais retourner apprendre
- De l'Assembleur (tu n'y couperas pas)
- La notion de drivers, de registres, d'interruptions, et autres choses de bas niveau
(je sais ce que est un drivers un registre mas bon je vais apprendre les interruption)
- La doc du MPU que tu utilises
- Le principe général d'un compilateur, assembleur, éditeur de liens
- Ah oui, et développer sous Linux si t'as l'intention d'y arriver


Et si on cree un OS pour l'emulateur?
"l'impossible n'est pas français", Je suis français je suis donc capable de tout.
Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 28/10/2016 12:12 | #


Ne t'inquiète pas, on est tous passé (en tout cas moi) par ce moment troll ou on pense que comme on est motivé et on a du temps on va avoir des supers pouvoir de codeur ... mais en fait non
1337
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 28/10/2016 12:22 | #


Non mais, c'est bien d'avoir des rêves... mais il faut se donner les moyens de les réaliser si tu veux les réaliser. Et dans le cas d'un kernel/OS, bah, c'est long.
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Lephenixnoir Hors ligne Administrateur Points: 24579 Défis: 170 Message

Citer : Posté le 28/10/2016 13:18 | #


Je voudrais saluer la prouesse technique de Cake, qui a réussi à résumer 7 liens bourrés d'informations techniques et intéressantes en deux mots bien choisis.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

Citer : Posté le 31/10/2016 14:39 | #


Pour quelque points importants :
-Le C n’est pas un langage interprété. La calculatrice ne lit pas le C, elle exécute des programmes binaires, qu’on appelle couramment ici les addins, qui sont certe faits à partir de C, mais qui sont surtout du code machine.
-Le basic casio est assez dégueu en effet, mais les seules alternatives sont :
-coder en C/C++ sur ton ordi pour faire des programmes pour ta calculette
-coder en Lua, de préférence sur pc parce que c’est vraiment c**** sur calculette, pour éxecuter les programmes avec LuaFX sur ta calto

Dans Z/1Z, 42==666
Coïncidence ? Je ne pense pas.

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 174 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