Posté le 09/09/2018 10:44
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 290 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
Citer : Posté le 19/09/2018 12:53 | #
Y'a pas besoin de connaître mes sources : me faut juste un malloc qui utilise les 256k des SH4 (si ça détecte que c'est une SH4, à l'aide du syscall OSGetVersionAsInt) en plus des 48k normaux
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 19/09/2018 13:01 | #
Si c'est juste ça
Je le ferai bien, mais là j'essaie de faire de la POO en C99, donc je suis un peu occupé...
Citer : Posté le 03/01/2019 15:08 | #
Heu, le bloc de 256k il sert à quoi sur les SH3 ?
Parce que là j'ai foiré ma comparaison et il assume toujours que c'est une SH4 (alors que l'émulateur est bien en SH3, avec un OS de 01.03.0000), mais CasioPython a aucun problème à allouer 256k sur la zone de 0x88040000 (avec le script de critor) :
Il semble y avoir vraiment plus de mémoire, avec la mémoire normale (j'alloue que 32k) il peut pas calculer fact(500) mais là il peut. Par contre quand il calcule fact(1000), il peut pas, et quand je retourne à l'éditeur ça crashe, donc doit y avoir un bug quelque part.
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 03/01/2019 15:19 | #
Le bloc en question n'existe pas sur les anciennes révisions matérielles. Son apparition a toujours été liée à celle des SH4 dans la documentation que j'ai vue, mais même si certains modèles SH3 l'avaient, tu ne pourrais pas trop faire de généralités.
L'émulateur, comme d'habitude, est une exception parmi les exceptions comme en tout ce qui traite de bas niveau. Il n'existe probablement aucune calculatrice physique qui se comporte exactement comme l'émulateur. Tu peux y mettre toute la bonne volonté du monde, le comportement de l'émulateur ne peut pas être pris comme référence pour tester les SH3. Utilise une calculatrice physique - si tu n'en as pas, je peux le faire de temps en temps.
Citer : Posté le 03/01/2019 19:30 | #
Ben justement sur ma calto physique SH3 ça a l'air de marcher, mais il y a un peu moins de mémoire dispo pour une quelconque raison :o
Sur SH4 j'arrive à calculer jusqu'à fact(674) alors que sur ma SH3 (graph 95 SD) j'arrive à calculer jusqu'à fact(646).
Voilà l'addin si tu veux tester : https://puu.sh/Cr8ur.g1a
La mémoire disponible se calcule avec gc.mem_free()+gc.mem_alloc() et le script de factoriel est le suivant :
if n==0:
return 1
else:
return n*f(n-1)
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 03/01/2019 19:43 | #
Eh bien, on dirait que cette zone existe bien sur ma SH3 également.
Le GC indique 258048 octets de mémoire libre, et j'arrive à calculer jusqu'à f(676), encore que j'ai utilisé la fonction suivante (peut-être qu'on gagne quelques octets) :
return 1 if n==0 else n*f(n-1)
Sauf que le problème reste : on ne sait pas comment détecter les calculatrices qui ont la zone en question...
Ajouté le 03/01/2019 à 19:45 :
J'ai oublié de signaler que j'ai rencontré trois fois un bug où le curseur est une ligne plus bas que le texte que j'écris. Très bizarre.
Citer : Posté le 03/01/2019 23:12 | #
Ben justement : est ce qu'il y a une calculette SH3 qui ne dispose pas de cette zone ? L'émulateur l'a alors qu'il est assez ancien.
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 04/01/2019 06:40 | #
I test a simple existence of the real memory in C.Basic.
How is this method?
volatile unsigned int *NorRAM=(volatile unsigned int*)0xA8000000; // Nomarl RAM TOP (no cache area)
volatile unsigned int *HidRAM=(volatile unsigned int*)0x88040000; // Hidden RAM TOP (cache area)
int a,b;
int K55=0x55555555;
int KAA=0xAAAAAAAA;
char * HidAddress=NULL;
IsHiddenRAM=0;
a= *NorRAM;
b= *HidRAM;
*NorRAM=K55;
*HidRAM=KAA;
if ( *NorRAM != *HidRAM ) {
HidAddress=(char*)HidRAM; // Hidden RAM Exist
IsHiddenRAM=1;
}
*NorRAM=a;
*HidRAM=b;
return HidAddress;
}
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Citer : Posté le 04/01/2019 09:05 | #
Are you absolutely sure that the address space at 0x88040000 wraps around to the start of the RAM when the hidden area does not exist?
Citer : Posté le 04/01/2019 10:32 | #
I can't confirm it, but I think that no problem if C.Basic works well on the real calculator.
fx-9860G(Graph 85) and Slim are sure to don't have the hidden area,
but I don't know it how about early SH3 model of fx-9750GII(Grpah 35+).
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Citer : Posté le 04/01/2019 10:53 | #
I can't confirm it, but I think that no problem if C.Basic works well on the real calculator.
The thing is, currently in CasioPython if space does not wrap around then the main memory will be overwritten by the add-in. This is quite dangerous!
but I don't know it how about early SH3 model of fx-9750GII(Grpah 35+).
I consider it fair if we say that CasioPython is not compatible with these old models. But it's better if we have a detection method that prints an error instead of wrecking the memory.
Citer : Posté le 04/01/2019 12:15 | #
That means,
Is it a problem of the CasioPython?
I think the hidden memory judgment to be all right by how to use in C.Basic.
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Citer : Posté le 04/01/2019 17:38 | #
Currently CasioPython always assumes the hidden area exists.
I think the hidden memory judgment to be all right by how to use in C.Basic.
Your technique looks reliable. Did you try it on a calculator without the hidden area?
I think your solution is great. I will probably use it in a program of mine, if you allow it.
Citer : Posté le 04/01/2019 18:40 | #
No, it always assume it exists only on the test version I linked, the actual version assumes it doesn't exist if the calculator is SH3
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 04/01/2019 20:45 | #
You should consider using Sentaro's method then.
Citer : Posté le 05/01/2019 06:04 | #
@Lephenixnoir
Thanks!
I test it in fx-9860G(SH3) and Slim(SH3).
I cannot give a test with fx-9750GII(SH3),
however i think that it is all right.
@Zezombye
CasioPython is so great!!
I'm happy that languages to be usable with fx increase.
Please feel free to use the hidden memory judgment method in C.Basic.
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Citer : Posté le 05/01/2019 12:01 | #
I test it in fx-9860G(SH3) and Slim(SH3).
I cannot give a test with fx-9750GII(SH3),
Ooh, I did not understand this. Thanks for contributing this very useful method (even more so if most SH3 have the hidden area)!
Citer : Posté le 05/01/2019 14:11 | #
Thanks
Do you know when Graph35+ of first SH3 model released?
Could it be that Graph35+ have 512KB RAM same as the Graph75 at first?
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Citer : Posté le 05/01/2019 14:12 | #
If it even works on fx-9860G/Graph 85, I think we can simply assume all SH3 Casio calculators have those 256K too then.
Great news, thanks !
Ajouté le 05/01/2019 à 14:16 :
Thanks
Do you know when Graph35+ of first SH3 model released?
If I'm not mistaken :
- the Graph 85 / fx-9860G was released for back to school 2005
- the SH3 Graph 35+USB ( > fx-9750GII ) and Graph 75/95 ( = fx-9860GII ) were released for back to school 2009
- the SH3 Graph 25+Pro ( = fx-7400GII ) was released for back to school 2010
Citer : Posté le 05/01/2019 14:35 | #
Thanks Critor.
It is mostly decided that all Graph35+ has 512KB RAM from release time.
It works well on fx-9860G/Slim, but the hidden RAM (+256KB) does not detect it.
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.