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 » Etude du format C1A
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Etude du format C1A

Posté le 01/11/2013 17:19

Comme vous le savez sûrement, la ClassPad 330 PLUS ne supporte pas le même format d'addins que les ClassPad 300/300+/330. Avant un kit de développement permettait de générer des addins au format cpa. Désormais le format des addins est le C1A, et à ce jour aucun logiciel permettant de compiler ce format ou de transformer un cpa en C1A n'a été publié publiquement.

Cependant "steps in logic" propose son application algy 2 aux deux formats ainsi que pour la ClassPad 400 (en couleur).

Simon Lothar a commencé à étudier ce format :

SimLo a écrit :
fx-CP, C1A-structure
CLASSPAD

virtual start address: 0x00300000
virtual RAM address: 0x08100000
syscall table entry: the address at 0x08100000 (obviously initialized by the system before starting the add-in.)
It has been observed that the static RAM starts at 0x081000CC.
The file format is similar to the G3A file format.

Standardheader
All file formats that are read or written by the calculator share a common header format. This header is inverted before being written and read, so a description of the inverted file data make more sense than the normal file data. The C1A-header seems to be identical to that of a G3A.

Addin subheader
Upon execution, the addin-code starting at file offset 0x1000 is virtually mapped to 0x00300000, and the OS jumps to address 0x00300000 (“Addin code”). The virtual RAM-address is still 0x08100000. But it seems, that at 0x08100000 the address to the syscall-table is stored.

Addin subheader fields (items, which differ from the G3A-structure, are printed in red)




Si vous trouvez d'autres choses, merci de m'en faire part.

Màj du 05/11/13 : remplacement de mon analyse par celle de Simon Lothar, plus complète.


1, 2 Suivante
Binary_man Hors ligne Ancien rédacteur Points: 1344 Défis: 19 Message

Citer : Posté le 02/11/2013 21:55 | #


Essai de voir par rapport à l'assembleur SH4 si tu trouves des instructions ressemblantes dans la partie source. Pour ce qui est du header, rien d'étonnant.
Calculettes : Graph 75, Graph 95, classpad 330 et FX-CG20 !!
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 02/11/2013 22:00 | #


Ce qui est bizarre c'est que le header des cpa est bien différent.
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 02/11/2013 22:28 | #


J'avais déjà vu un truc comme sur casiopeia, au moment où algy 2 est sorti pour cp330+
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 02/11/2013 22:48 | #


Ce qui est très étonnant, c'est que le fichier C1A est exactement le même que le fichier C2A qu'ils donnent pour la FxCP400, Pour les deux on a :
SHA256: ff3a2b9474e091b3b82ae6ae43a841e4fedd469d2ff0947a6313200b7bf71ab2
Bon un petit tour d'editeur hexadecimal et on voit que dans le fichier on a un endroit où c'est écrit "algy2.C1A", je pense donc que la version du C2A est fausse ? Faudrait le tester, et contacter la société d'Algy si c'est bien une erreur, mais j'ai pas réussi à importer des fichiers sur l'emulateur. Mais ce C2A m'intrigue, dans le C1A, il semble y avoir du code binaire, alors en toute logique le C2A devrait être un addin aussi, et donc il supporterais les addins.

Les fichier C1A et CPA sont quand même totalement différents : rien que la taille, respectivement 218ko et 70ko. La différence d'entete en soit n'est pas choquante, sachant que le format change, l'entete change, c'est normal. Par contre que la taille change autant alors que les calculatrices sont très proches materielement et que les programmes sont les mêmes, ça c'est étonnant.

Elle commence où la partie binaire dans les CPA ?
Purobaz Hors ligne Membre d'honneur Points: 2690 Défis: 110 Message

Citer : Posté le 02/11/2013 23:40 | #


On en avait déjà parlé :
SimonLothar a écrit :
Algy2.C2A obviously is kinda pseudo-addin. The cp400 checks the filename and some checksums to decide, if the Algy 2 icon is shown in the menu. I tried an empty, checksum-adjusted Algy2.C2A, which surprisingly did not crash on start, but (even more surprising) showed the Algy 2 start screen! The only explanation is, that the Algy 2 program resides inside of the OS. It is to fear, that the cp400 does not support addins at all. What a waste! What an incredible waste!


Steps in logic travaillerait - il pour Casio ? Un peu comme le CAS de la graph 100, dont Casio n'était pas propriétaire.

Personnellement je me suis fais un avis
I'll be back !
pour plus de fun
mes programmes fun
de technique
mes projets
et de Swag
les projets que je soutiens
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 02/11/2013 23:48 | #


Hmm ouais en même temps, ça expliquerais le fait que le C2A soit le même que le C1A, si, peut importe le contenu, il active l'addin qui est dans l'OS tant que les checksum sont bons. La seule possibilité serait donc de recup une image de l'OS et de chercher à la modifier pour qu'elle accepte les addin. (mine de rien on a déjà une base pour lui faire accepter les addin, puisqu'elle est capable d'analyser les fichiers en mémoire, pour voir si c'est des addin et de créer un icone pour le lancer). Si ca se trouve lors de l'indexage des addins, ils ont modifié à la dernière minute pour que, dans la table où est enregistré la liste des addin, au lieu de mettre l'addresse du point d'entré du fichier, ils mettent celui d'Algy2 qui est dans l'OS et donc on pourrait eventuelement modifier ça. Bon j'ai pas le temps mais ça pour être faisable via un flash de l'OS.

Et ouais, je pense qu'ils ont eu un contrat si l'addin est carrément dans l'OS, mais là c'est bien plus officiel que pour le CAS de la G100
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 03/11/2013 13:19 | #


Je ne pense pas que l'add-in soit directement dans l'OS, on retrouve dans le C1A toutes les chaînes de caractères apparaissant dans l'add-in et donc probablement le code aussi mais je n'y connais rien donc je peux pas lire ce code. Si ça ne faisait qu'activer l'add-in dans l'OS le fichier ne serait pas plus gros que le C1A.
Par contre il n'est pas exclu qu'ils aient un contrat avec Casio puisqu'eux seuls arrivent à développer ces applications... c'esr louche.
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 03/11/2013 14:20 | #


Si je ne me trompe pas, Louloux, là Ziqumu est en train de parler de l'OS des CP400 et donc des C2A, plutôt que des C1A
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 03/11/2013 16:13 | #


Ah oui ok.
Dans tous les cas si le fichier pour les C2A ne fait qu'activer un add-in qui est déjà dans le système pourquoi s'être encombrés avec tout ce code en plus qui serait donc inutile ?
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 03/11/2013 18:01 | #


Aucune idée..
Ce que tu pourrais faire louloux, pour qu'on en sache plus sur les C1A : il y a sans doute des checksum, ou du moins des outils pour vérifier l'intégrité du fichier. Sans ces outils, on ne sera pas capable de générer des C1A, il faudrait que tu trouves où est situé cette (ou ces) valeur(s) et que tu fasses quelques modifs pour voir si la calculatrice l'accepte. Fait gaffe quand même si tu modifie la partie binaire, ils pourrait y avoir des conséquences inattendues ..
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 03/11/2013 18:02 | #


Je veux bien essayer mais j'y connais vraiment rien en assembleur, checksums, etc.
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 03/11/2013 18:09 | #


Et on a que ce fichier là sous format C1A ? Parce que ça serait plus pratique d'en avoir d'autres..
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 03/11/2013 18:10 | #


A ma connaissance oui...
Dark storm Hors ligne Labélisateur Points: 11631 Défis: 176 Message

Citer : Posté le 04/11/2013 17:44 | #


C'est ce que j'allais dire : y'a un checksum ? Quand t'a modifié le nom de l'addin et son icône, t'a eu un pb ou pas ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 04/11/2013 19:09 | #


Ouais en faisant trop de modifications dans l'entête j'arrivais plus à le lancer...

Ajouté le 04/11/2013 à 19:13 :
Mail au support Casio Europe :
Louloux a écrit :

Bonjour,

Dans votre page de présentation de la ClassPad 330 PLUS, vous mettez en valeur la possibilité d’ajouter des applications additionnelles sur ces modèles.

J’ai récemment acquis à la suite d’un échange avec la page Facebook Casio Calculatrices gérée par Open2Europe ce modèle de calculatrice, et je développe déjà des applications additionnelles pour les Casio Graph 75/85/95 grâce au kit de développement que vous distribuez sur Internet.

Les applications additionnelles pour les modèles de ClassPad 300/300+/330 étaient développées sur un kit de développement que vous distribuez également, sous le format cpa. Or le nouveau format d'applications additionnelles pour la ClassPad 330 PLUS est le format C1A, que le kit de développement ne permet pas de compiler, ce qui rend incompatibles toutes les applications additionnelles développées jusque-là, et surtout empêche de développer de nouvelles applications.

Cependant, le site "steps in logic" distribue une application additionnelle dans ce format cpa mais aussi C1A, et la radicale différence entre les deux fichiers est relativement étonnante.

J'en arrive donc aux conclusions qu'il existe un outil permettant de développer ces applications additionnelles, ou de transformer les applications pour les anciens modèles, qui n'aurait pas été actuellement distribué publiquement.

Pouvez-vous m'éclairer sur l'existence d'un tel outil et, si c'est le cas, me permettre de l'acquérir ?

Cordialement,


Réponse :
I. Hassam a écrit :

Bonjour monsieur,

Il n'existe malheureusement pas de SDK pour le Classpad 330+. Une conversion des anciennes applications n'est pas possible.

Salutations distinguées


Mais ils se fichent de nous ?!
Dark storm Hors ligne Labélisateur Points: 11631 Défis: 176 Message

Citer : Posté le 04/11/2013 19:31 | #


Je crois :

Moi a écrit :
Bonjour,
Ayant récemment acquis un ClassPad 330+, j'ai voulu y installer des applications C (addins), mais ceux existant pour les ClasspPas des versions antérieures ne sont pas compatibles avec le CP330+.
En effet, le format habituel pour ce genre d'application est le .cpa, tandis que mon modèle ne supporte que le .c1a.
Toutefois, après une série de recherches, je n'ai trouvé aucune information concernant les .c1a, ni aucun addin sous ce format.

Y'a t'il possibilité de convertir les anciens addins, ou d'avoir des informations sur les différences entre .cpa et .c1a ?
Certains addins communautaires comme Physium me serai très utiles pour mes études.

Bonne journée,
L. *****


Réponse (du 16 octobre)
french_support<at>casio.de a écrit :
Bonjour monsieur,

Les anciens add-in ne sont pas compatible avec votre calculatrice. Il n'existe malheureusement pas de SDK pour le Classpad 330+. Une conversion n'est pas possible.


Salutations distinguées


Ajouté le 04/11/2013 à 19:31 :
Ca doit être un adepte du "copier-coller"
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Tsuneo Hors ligne Membre Points: 973 Défis: 51 Message

Citer : Posté le 04/11/2013 20:35 | #


C'est vraiment dommage que Casio prenne aussi peu de soin pour ceux qui soutiennent leurs produits. Je ne sais pas ce qu'ils ont à gagner à brider leurs machines comme ça. Ils se rendent pas compte qu'à cause de ça on cherche seulement à acheter de l'occasion et pas des nouvelles car elles sont totalement bridées et inutilisables pour les programmeurs ? Qu'un projet de calculatrice libre voit le bout du tunnel, ça, ça serait vraiment le bonheur.

Calculatrices : Graph 35+ USB tweakée et Classpad 330
Suivez moi et mon humour dévastateur ici focliquéla
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 04/11/2013 20:41 | #


en même temps, de leur point de vue, les programmeurs ne représentent qu'une très mince portion de leurs client (même pas 1%), alors qu'un client "normal" ne vas pas se soucier de savoir si il peut avoir des add-ins dessus, il va juste vérifier qu'il peut faire des calculs dessus...
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Tsuneo Hors ligne Membre Points: 973 Défis: 51 Message

Citer : Posté le 04/11/2013 20:51 | #


C'est sûr. Société de meeeeerde. Quand je pense qu'on est les seuls à s'intéresser vraiment à leur boulot en plus.

Calculatrices : Graph 35+ USB tweakée et Classpad 330
Suivez moi et mon humour dévastateur ici focliquéla
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 04/11/2013 21:03 | #


Le problème est qu'ils ont un moyen de développer des add-ins compatibles mais qu'ils ne veulent pas nous en parler...
1, 2 Suivante

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