Forums Casio - Projets de programmation

Index du Forum | Projets de programmation | C.Basic Projets
Sentaro21
Hors ligne
Membre
Niveau: Aucun
Points: 96
Défis: 0
Message
Posté le 30/04/2017 11:08

C.Basic Projets :

Hello, everyone.

I am Sentaro21, and I am developing C.Basic, a Basic interpreter that allows high-speed execution of Basic programs while maintaining compatibility with genuine Casio Basic.

Here is an English site, by Krtyski, about the C.Basic project (I helped him with the translation, but it's still unfinished) :
http://egadget2.web.fc2.com/CBasic/Interpreter/CBasic_interpreter.html

The articles and various programs from this site served as a reference to evaluate the compatibility level of C.Basic. Results were not good every time I tested them, but compatibility increased over time.

These programs have been ported experimentally. Many thanks to their authors.

Block Tower (C.Basic version)
http://pm.matrix.jp/CB/CB_BlockTower.zip

Sudoku (C.Basic version)
http://pm.matrix.jp/CB/CB_Sudoku.zip

Maze Generator (C.Basic version)
http://pm.matrix.jp/CB/CB_Mazegene.zip

Graph 3D (C.Basic version)
http://pm.matrix.jp/CB/CB_Graph3D.zip

Tokitori (C.Basic version 3/6/2017)
http://pm.matrix.jp/CB/CB_Tokitori.zip

Here are examples of programs that reach near-C performance :

BallGame (C.Basic version)
http://pm.matrix.jp/CB/CB_BallGame.zip

Asprin (C.Basic version)
http://pm.matrix.jp/CB/CB_Aspirin.zip


The C.Basic project is still yet to be completed, thus I would like to get your feedback.

This is the latest beta version of C.Basic 1.62beta for Graph 35+USB/75/85/95 (SD) : http://pm.matrix.jp/CB/CBASIC162beta.zip (updated 13/8/2017)

Currently C.Basic exists thanks to this site.
Thank you very much.



Pages: 1, 2 | Suivante

Lephenixnoir
En ligne
Administrateur
Niveau: Confirmé
Points: 10298
Défis: 130
Message
Citer : Posté le 30/04/2017 11:25 | #
I had known a few things about this project for a while, but I admittedly never looked for the details. This website is really interesting. But how do you plan to get C:Basic 10 times faster if some of the C.Basic-ported programs already near C performance ? =p

So if I get it correctly, C.Basic is a Basic interpreter, and it is the first stage of a larger project, which is C:Basic, a Basic compiler ? That would be a very interesting work.

If you don't mind, I could improve the English translation of this post and, if it can ever help, of some parts of the website.
----------------------------------
Watch me, as I build my empire with my own hands.
Cakeisalie5
En ligne
Administrateur
Niveau: Confirmé
Points: 1485
Défis: 8
Message
Citer : Posté le 30/04/2017 12:00 | #
I had a look at the time, but I was disappointed by one thing : you didn't keep the controls from the original PRGM application from CASIO (that are in my physical memory). Did you correct this ?
----------------------------------
Informatichien au poil. Je fais danser des bytes quand ça me chante.
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Sentaro21
Hors ligne
Membre
Niveau: Aucun
Points: 96
Défis: 0
Message
Citer : Posté le 30/04/2017 12:48 | #
Lephenixnoir a écrit :
I had known a few things about this project for a while, but I admittedly never looked for the details. This website is really interesting. But how do you plan to get C:Basic 10 times faster if some of the C.Basic-ported programs already near C performance ? =p

So if I get it correctly, C.Basic is a Basic interpreter, and it is the first stage of a larger project, which is C:Basic, a Basic compiler ? That would be a very interesting work.

Thanks Lephenixnoir,

Yes,
The final goal is C:Basic that is including native Basic compiler.
Therefore current C.Basic is harfway down the road to goal.
(I think about the compilation only for subprograms now.)

Lephenixnoir a écrit :
If you don't mind, I could improve the English translation of this post and, if it can ever help, of some parts of the website.

I am very grateful,best regards.



Cakeisalie5 a écrit :
I had a look at the time, but I was disappointed by one thing : you didn't keep the controls from the original PRGM application from CASIO (that are in my physical memory). Did you correct this ?

Thanks Cakeisalie5,

Does it mean that C.Basic treat original PRGM application directly ?
Then it is not yet.

Sorry,
Would you explain it in more detail?
Cakeisalie5
En ligne
Administrateur
Niveau: Confirmé
Points: 1485
Défis: 8
Message
Citer : Posté le 30/04/2017 12:54 | #
For example, in the original PRGM application, when I want to access Locate, I'm doing Shift, vars, F6, F4, F1, and I'm used to that combination. But that's something I can't use in C.Basic, as the combinations are different. :/

Also, is there no way to use the main memory instead of the storage memory?
----------------------------------
Informatichien au poil. Je fais danser des bytes quand ça me chante.
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Ninestars
Hors ligne
Membre
Niveau: Confirmé
Points: 1815
Défis: 22
Message
Citer : Posté le 30/04/2017 13:23 | #
Hey ! I am the author of Block Tower, so i am glad my game was useful to this project !

So I tried to launch my game with C.Basic, but I have a syntax error.
I downloaded the G1A C.Basic and the four G1M on the storage memory, I open BLOCKT from C.Basic.
the syntax error appers at "Deg:", I replaced : by a new line but still have a syntax error.

Contrary to Cakeisalie5, the editor is very user friendly ! The way to find functions is clear and quick. Also there are a lot of new features, like the scrolling indicator, locking A<>a, MonochromeLib, jumping on line X, new fonctions.
But also bugs... CONT Trce, Step, ... raise a syntaxe error, Skp(bottom arrow) sometimes does not work and switch the tab.
What is the difference when the top line is black or white ?
----------------------------------
Lephenixnoir
En ligne
Administrateur
Niveau: Confirmé
Points: 10298
Défis: 130
Message
Citer : Posté le 30/04/2017 14:27 | # | Fichier joint
The website states that C.Basic is compatible with both fx-9860G and fx-9860G II. If I'm not wrong, it means that it can run on both SH7355/SH7337 and SH7305. Is it right?

Sentaro21 a écrit :
Lephenixnoir a écrit :
If you don't mind, I could improve the English translation of this post and, if it can ever help, of some parts of the website.

I am very grateful,best regards.

Ok, I just rephrased your post here.

I also attached to this post is an "improved" (or so I hope) version of the English text found on the page you linked. I believe that I was able to make it at least clearer; feel free to pick up any part of it if you like.
----------------------------------
Watch me, as I build my empire with my own hands.
Sentaro21
Hors ligne
Membre
Niveau: Aucun
Points: 96
Défis: 0
Message
Citer : Posté le 30/04/2017 15:21 | #
Cakeisalie5 a écrit :
For example, in the original PRGM application, when I want to access Locate, I'm doing Shift, vars, F6, F4, F1, and I'm used to that combination. But that's something I can't use in C.Basic, as the combinations are different. :/

Yes, understood.
The command input method comes from fx-5800P that's popular in Japan.
If there are many agreement of the original command input method, I'll consider it.

Cakeisalie5 a écrit :
Also, is there no way to use the main memory instead of the storage memory?

I'm considering implementing it.


Ninestars a écrit :
Hey ! I am the author of Block Tower, so i am glad my game was useful to this project !

Thanks Ninestars
I might not implement DrawStat without your Brock Tower and article.
Thanks very much!

As for the cause to become the error, is a version of C.Basic old?
Please try it with the recent version.
(The most recent version is 1.42beta)

Ninestars a écrit :
What is the difference when the top line is black or white ?

White is normal.
Black is indication of the debugging mode.



Lephenixnoir a écrit :
The website states that C.Basic is compatible with both fx-9860G and fx-9860G II. If I'm not wrong, it means that it can run on both SH7355/SH7337 and SH7305. Is it right?

Yes!
C.BASIC supports from 9860G(SH3) to 9860GII-2(SH4A).

Lephenixnoir a écrit :
Ok, I just rephrased your post here.

Thanks very much.

Lephenixnoir a écrit :
I also attached to this post is an "improved" (or so I hope) version of the English text found on the page you linked. I believe that I was able to make it at least clearer; feel free to pick up any part of it if you like.

English site that Krtyski of my friend manages and makes, presently,updates are suspended.because he is very busy now.
I'll tell him it.
Thanks very much again.

Ajouté le 07/05/2017 à 09:33 :
Bonjour,

I implemented command input-style same as original (fx-9860G style).

http://pm.matrix.jp/CB/CBASIC150beta.zip

v1.50beta 2017.5.7
-supported Standard command input method.
You can select Standard(fx-9860G) method or C.Basic(fx-5800P) method from the setup.
Please refer to Command_List.txt for the command that is supported.

-supported *Row,*Row+,Row+
Cakeisalie5
En ligne
Administrateur
Niveau: Confirmé
Points: 1485
Défis: 8
Message
Citer : Posté le 07/05/2017 21:24 | #
Nice! A little hidden, but still cool. Do you think you can use the standard function keys from the system, in order to let the calculator manage the localization, and eventually put the C.Basic ones in a G1N? Here is the documentation to use it:

- 19x8 pixels, encoded as 28x8 pixels;
- Simon Lothar - auxiliary functions
- (missing a function key -- role correspondance, I'll ask Simon about that)
----------------------------------
Informatichien au poil. Je fais danser des bytes quand ça me chante.
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Sentaro21
Hors ligne
Membre
Niveau: Aucun
Points: 96
Défis: 0
Message
Citer : Posté le 08/05/2017 05:24 | #
Thanks Cakeisalie5

It is a very good plan.
Here is C.Basic program to display the standard function keys icon.
http://pm.matrix.jp/CB/FKEYICON.txt
It seem to be able to do.

I'll update it in the next version.
Thank you for the valuable proposal.

Nemhardy
Hors ligne
Grand maître des Traits d'Esprit
Niveau: Confirmé
Points: 1102
Défis: 54
Message
Citer : Posté le 08/05/2017 07:00 | #
I don't know if that is what you meant by “function key -- role correspondance”, but I did this chart some time ago, I admit that's not the more practical presentation though.

(http://www.planet-casio.com/Fr/forums/topic13553-1-[C]_-_Les_Fkeys_Icons.html)
----------------------------------
Mes programmes
Cliquer pour enrouler
Équilibrer des coefficients stœchiométriques en moins de 2500 octets sur ta Prizm : Ekisto
Ma version du moteur de calcul symbolique libre Eigenmath
Projets supportés !
Entres autres
ColorLib de Lancelot
Zelda de SmashMaster
FiXos de Kristaba
The Lingering Terror
Mes Projets futurs
(pour un futur plus ou moins proche ceci-dit…

Finir mon D.M. dans l'immédiat.
C'est hyper important
Oui
«Ceux qui exercent la profession d'herboriste-botaniste, lesquels sont de tous temps en possession de vendre des herbes ou plantes, seront soumis à la visite et inspection des gardes des apothicaires»
-- Arrêté du Conseil d'État, 30 oct. 1767

Tournois de pile ou face gratuit sur www.pilejegagnefacejegagne.com ; mon code de parrainage : aprèslundionnemhardy pour avoir 20 pièces moins chères que gratuites.

Cakeisalie5
En ligne
Administrateur
Niveau: Confirmé
Points: 1485
Défis: 8
Message
Citer : Posté le 08/05/2017 12:04 | #
That's exactly it! Nemhardy, the hero of our time <3

By the way sentaro21, do you manage this project publicly somewhere, using a VCS?
----------------------------------
Informatichien au poil. Je fais danser des bytes quand ça me chante.
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Sentaro21
Hors ligne
Membre
Niveau: Aucun
Points: 96
Défis: 0
Message
Citer : Posté le 08/05/2017 15:37 | #
Nemhardy a écrit :
I don't know if that is what you meant by “function key -- role correspondance”, but I did this chart some time ago, I admit that's not the more practical presentation though.

(http://www.planet-casio.com/Fr/forums/topic13553-1-[C]_-_Les_Fkeys_Icons.html)

I have seen that picture before.
I'm sorry. because I had been developing with only original Fkey icon for a long time, I fogot it.
Haowever,the system Fkey icon is necessary now,
It is very convenient.
Tnanks Nemhardy

Cakeisalie5 a écrit :
By the way sentaro21, do you manage this project publicly somewhere, using a VCS?

I'm sorry, I haven't thought about that yet.

About G1N,
I don't understand G1N system well.
I'll try it in the same way as the expansion of the command.

Cakeisalie5
En ligne
Administrateur
Niveau: Confirmé
Points: 1485
Défis: 8
Message
Citer : Posté le 08/05/2017 15:39 | #
Normally you don't have to manage G1N yourself, the system manages them, and you can select the current one as you can select the current language : in the "Message Language" menu (settings), select F6, the "Menu Language" is basically the used G1N.
----------------------------------
Informatichien au poil. Je fais danser des bytes quand ça me chante.
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Sentaro21
Hors ligne
Membre
Niveau: Aucun
Points: 96
Défis: 0
Message
Citer : Posté le 08/05/2017 16:05 | #
I got it. Thanks

Ajouté le 11/05/2017 à 15:02 :
Here is new version.
http://pm.matrix.jp/CB/CBASIC151beta.zip

v1.51beta 2017.5.11
-To changed the icon of the function keys to the system icon.
-supported GCD(,LCM(

There is no change in the icon of the extended command.


Ajouté le 16/05/2017 à 16:18 :
A bug was found,
Here is updated version.
http://pm.matrix.jp/CB/CBASIC152beta.zip

v1.52beta 2017.5.16
-Fixed bugs, When "" double quotation was not closed in Locate and Text command, the following program became handled as character string.
-supported RanNorm#(,RanBin#(

If there's anything you are unclear on,
Please feel free to ask more.


Ajouté le 27/05/2017 à 12:02 :
Some new bugs was found,
Here is updated version.
http://pm.matrix.jp/CB/CBASIC153beta.zip

v1.53beta 27/05/2017
-Fixed StrRight bugs
(example) StrRight("12345",0)
It was right to become the null string, but became "5".
-Fixed acos bugs for list calc.
-Fixed Graph Y=Yn bugs.
-Fixed text conversion bugs when double quotes(") was escaped by character string.
-To be able to use the small letter for The Lbl command.

Ajouté le 03/06/2017 à 11:59 :
Bonjour,
Here is new updated version.
http://pm.matrix.jp/CB/CBASIC154beta.zip

v1.54beta 03/06/2017
-Fixed the multiplication of the Matrix. ( It always became the integer result )
-Fixed 2 Plot & Line bugs.
-To stored Pict file in the hidden RAM area.
-To added setting & command option to store at the same time to storage memory by Pict file preservation.
(sample) Pict #20
This prefix(#) is store to storage memory option.
-To displayed the progress bar at the conversion from text file.


I ported Toritori.
Tokitori (C.Basic version)
http://pm.matrix.jp/CB/CB_Tokitori.zip

Because I am stranded with the sixth side, the later operation check is not done.

The advantage of C.Basic can reduce the power consumption at Getkey->Getkey2.
It becomes the about the same consumption with the idle.

Ajouté le 11/06/2017 à 12:43 :
Here is new updated version.
http://pm.matrix.jp/CB/CBASIC155beta.zip

v1.55beta 12/06/2017
-Added ? command option function.
(usage) ?([x][,y][,width][,SpaceChar][,R])
(example) "A="?()->A
dispay "A=" then wait for input A value. this is like "Input" by TI-Basic.
(example) "A="?(,,,,R)->A
dispay "A=" then wait for input A value reversed display.
(example) "A="?(,,8,,R)->A
dispay "A=" then wait for input A value only 8 digits reversed display.
(example) ?(3,4,5,">")A
dispay "A=" then wait for input A value at(X=3,Y=4) only 5 digits and the blank is made up in ">".
(example) ?(3,4,5,,R)A
dispay "A=" then wait for input A value at(X=3,Y=4) only 5 digits reversed display.

-Fixed AxesOn bugs.
-Fixed _PixelTest bug.(updated)
Cakeisalie5
En ligne
Administrateur
Niveau: Confirmé
Points: 1485
Défis: 8
Message
Citer : Posté le 11/06/2017 12:51 | #
Sorry for not following your project as much as it deserves, I'm doing things on my side and stuff, but thanks a lot for making this!
----------------------------------
Informatichien au poil. Je fais danser des bytes quand ça me chante.
Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Sentaro21
Hors ligne
Membre
Niveau: Aucun
Points: 96
Défis: 0
Message
Citer : Posté le 11/06/2017 13:07 | #
Thank you for your kind comments.

There is a long way to go.
I will do my best.

Merci beaucoup.

Ajouté le 01/07/2017 à 04:44 :
Bonjour,
Here is new updated version.
http://pm.matrix.jp/CB/CBASIC156beta.zip

v1.56beta 30/06/2017
-Added the setting that no updating screen by setting 0 to the RefrshTime.
You can use it by setup and the command.
(example) RefrshCtrl 2
RefrshTime 0
The text and graphics command do not update a screen.

-Added the TicksWait command that waited by 1/128s ticks.
(The TicksWait command connects both "Ticks" and "Wait" command.)
(concerning this, changed part of key assignment.)
(example) TicksWait 128
Wait 1 second.
(example) TicksWait -128
Wait for 1 second from the last TicksWait command run.
When it has been already over 1 second, to the next processing without waiting.
(example) TicksWait -4
Wait for 4/128 second from the last TicksWait command run.
You can make 32fps of loops just to use one this command in the loop.
Zezombye
En ligne
Membre
Niveau: Confirmé
Points: 756
Défis: 9
Message
Citer : Posté le 01/07/2017 05:14 | #
Hi, your project seems to be doing well

I'm working on a similar thing (B2C) which, instead of interpreting basic, compiles basic to C in order to run even faster. I think it's more or less as advanced as yours (supports lists, matrices, strings, basic operators and instructions) though I will probably abandon it since I don't know how to code a parser (I've been stuck on implicit multiplication because of spaghetti code).

I was wondering if you modified the strings to run in O(1) instead of O(n), this could increase the speed. I think you already know what I'm speaking about but to be sure, let's take the string "p¤s". In casio encoding it gives "0x70, 0xE5, 0x9B, 0x73" since '¤' is 0xE59B. The string is composed of 4 bytes but only 3 characters, so it can't have access to the n-th character like an array because the characters aren't all of the same size. So StrMid(Str 1, 1, 1) is quicker than StrMid(Str 1, 240, 1).

The solution is simply to have the strings store characters as shorts (2 bytes) instead of 1/2 bytes. This allows more speed, at the cost of more storage space (but it's only 255 bytes more at most).

If you want you can see my code here: http://git.planet-casio.com/Zezombye/B2C/blob/master/B2C/src/B2CFunctions.c

Also, what kind of optimisations do you do? Do you rely on the casio interpreter for operations or do you implement the algorithm yourself?

If you want I could work with you on this project, parsing casio basic is hard to do with all the opcodes and the weird encoding
----------------------------------
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Sentaro21
Hors ligne
Membre
Niveau: Aucun
Points: 96
Défis: 0
Message
Citer : Posté le 02/07/2017 11:05 | #
Zezombye a écrit :
Hi, your project seems to be doing well

I'm working on a similar thing (B2C) which, instead of interpreting basic, compiles basic to C in order to run even faster. I think it's more or less as advanced as yours (supports lists, matrices, strings, basic operators and instructions) though I will probably abandon it since I don't know how to code a parser (I've been stuck on implicit multiplication because of spaghetti code).

Hi,
I saw your B2C and BIDE project.
I feel it to be very stouthearted as a comrade going to a similar thing.
About the parser.I think that an expression evaluation is the most difficult.


Zezombye a écrit :
I was wondering if you modified the strings to run in O(1) instead of O(n), this could increase the speed. I think you already know what I'm speaking about but to be sure, let's take the string "p¤s". In casio encoding it gives "0x70, 0xE5, 0x9B, 0x73" since '¤' is 0xE59B. The string is composed of 4 bytes but only 3 characters, so it can't have access to the n-th character like an array because the characters aren't all of the same size. So StrMid(Str 1, 1, 1) is quicker than StrMid(Str 1, 240, 1).

The solution is simply to have the strings store characters as shorts (2 bytes) instead of 1/2 bytes. This allows more speed, at the cost of more storage space (but it's only 255 bytes more at most).

If you want you can see my code here: http://git.planet-casio.com/Zezombye/B2C/blob/master/B2C/src/B2CFunctions.c

You're right.
Because encoding of Casio Basic is a burden of the speedups,the processing speed of the string does not pursue it.
However I think that it is a good plan to keep the size information of the character code.
I will refer to it.


Zezombye a écrit :
Also, what kind of optimisations do you do? Do you rely on the casio interpreter for operations or do you implement the algorithm yourself?

Because C.Basic was all binary arithmetic operation (not decimal),and pursuit of the speed,
I simulated pure specifications originally without depending on the casio interpreter.
I try some temporizing optimization.
But it is limited for compatibility of Casio Basic.


Zezombye a écrit :
If you want I could work with you on this project, parsing casio basic is hard to do with all the opcodes and the weird encoding

You're very kind.
Please let the work on this project by exchanging the status reports with each other.
If there is a code to be usable in the source of C.Basic (better than an assembler..), please use it.
Thank you in advance for your help.
Zezombye
En ligne
Membre
Niveau: Confirmé
Points: 756
Défis: 9
Message
Citer : Posté le 02/07/2017 11:39 | #
Because C.Basic was all binary arithmetic operation (not decimal),and pursuit of the speed,
I simulated pure specifications originally without depending on the casio interpreter.
I try some temporizing optimization.
But it is limited for compatibility of Casio Basic.


If I understand correctly you are doing binary operations instead of decimal operations? This is very dangerous, because it means that 0.1+0.2 != 0.3 (see http://0.30000000000000004.com/). This could lead to bugs from big programs.

Please let the work on this project by exchanging the status reports with each other.
If there is a code to be usable in the source of C.Basic (better than an assembler..), please use it.
Thank you in advance for your help.


All the code you need is here: http://git.planet-casio.com/Zezombye/B2C/blob/master/B2C/src/B2CFunctions.c
The rest of B2C is just compiling basic to C, it's the parser.
I suggest you put your code on our gitlab : git.planet-casio.com that way I could have a look at it and suggest optimisations.

About the parser.I think that an expression evaluation is the most difficult.

Indeed it is, and there are a lot of weird opcodes (see http://www.planet-casio.com/Fr/programmes/programme1984-last-clonelab-ne0tux-a3.html which pushes basic to its limits).

From what I've seen you also want to do a compiler? I think it should be some kind of both (pre-compiling basic programs), doing both an interpreter and a compiler would cost too much time.
Optimisations could be like storing the lines of conditions/loops and gotos/lbls, that way when the interpreter encounters "goto 10" it knows where the lbl 10 is and jumps to it immediately. I think that's why the for loops are so slow.
----------------------------------
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Lephenixnoir
En ligne
Administrateur
Niveau: Confirmé
Points: 10298
Défis: 130
Message
Citer : Posté le 02/07/2017 13:12 | #
I don't know of the obscure details of Basic's exotic opcodes and syntax, but I am fairly sure that a properly-implemented typical LR(1) parser for the following kind of grammar could work very well on most (if not all) kinds of expressions.

<expr>    -> <value>
<expr>    -> ( <expr> )
<expr>    -> <unary> <expr>
<expr>    -> <expr> <binary> <expr>

<unary>   -> (-) | Not | etc.
<binary>  -> + | - | × | ÷ | And | Or | etc.
<value>   -> <integer> | <literal-string> | /[A-Zθr]/ | etc.
/* and so on */

Think about how opcodes are operators, and most often right-to-left unary operators followed by the operand. Is there anything this method would miss?

Edit : It seems that @Zezombye has implemented quite the naive parser. No wonder you'd find it difficult.
----------------------------------
Watch me, as I build my empire with my own hands.

Pages: 1, 2 | Suivante

Index du Forum | Projets de programmation | C.Basic Projets
Publicité et partenaires
Casio Education
Casio éducation

TI-Planet
Casiopeia
Casiopeia
CasioFan, la communauté ClassPad
CasioFan
CodeWalrus
CodeWalrus

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2017 | Il y a 70 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Rugby Manager | Jeu de basket | Jeu de handball | Jeu de tennis | Nova Raider | Réparation téléphone | Soccer Rush | Tasty Tale

Planète Casio est un site communautaire indépendant, géré bénévolement et n'est donc pas affilié à Casio | Toute reproduction de Planète Casio, même partielle, est interdite
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des licences ou des copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd