Forums Casio - Projets de programmation

Index du Forum > Projets de programmation > C.Basic Projets
Sentaro21
Hors ligne
Membre
Points: 154
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) :
https://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)
https://pm.matrix.jp/CB/CB_BlockTower.zip

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

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

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

Ice slider (C.Basic version 25/11/2018)
https://pm.matrix.jp/CB/CB_IceSlider.zip
(added Save/Load feature)

Clonelab (C.Basic version 25/11/2018)
https://pm.matrix.jp/CB/CB_Clonlab.zip
(added Save/Load feature)

Arkenstone (C.Basic version 25/11/2018)
https://pm.matrix.jp/CB/CB_Arkenstone.zip
(added Save/Load feature)

Aventura (C.Basic version 25/11/2018)
https://pm.matrix.jp/CB/CB_Aventura.zip
(added Save/Load feature)


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

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

Asprin (C.Basic version)
https://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.89beta for Graph 35+USB/75/85/95 (SD) : https://pm.matrix.jp/CB/CBASIC189beta.zip (updated 11/12/2018)

This is the latest alpha version of C.Basic for Graph90+E/fx-CG10/20/50:
https://pm.matrix.jp/CB/CBASICCG062.zip (updated 11/12/2018)

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



Sentaro21
Hors ligne
Membre
Points: 154
Défis: 0
Message
Dernier message de la page précédente :Posté le 04/10/2018 08:26 |
It is an error by Serial_ReadOneByte of SysCall.
but its detail is not well known.
It may be a bit error on the cables, but my program may be wrong.
I'm not familiar with the serial communication.
If there is a solution, I want to know it.
Is there any information regarding this?



Pages: Précédente | 1, 2, 3, 4, 5 | Suivante

Lephenixnoir
Hors ligne
Administrateur
Points: 13150
Défis: 136
Message
Citer : Posté le 04/10/2018 15:53 | #
I don't know of any bug about the serial syscalls, maybe @Dark Storm is more familiar?

Given that his transfer utility can handle files as large as the storage memory, he may have seen this issue.

Also, you may be able to silently resend the message or restart the communication in case of error.
----------------------------------
Rise.
Sentaro21
Hors ligne
Membre
Points: 154
Défis: 0
Message
Citer : Posté le 05/10/2018 10:23 | #
Thanks

I changed serial command routine that cleared a serial buffer by the end of executed command.
As a result, the error seemed to disappear.

new updated version 1.83beta
https://pm.matrix.jp/CB/CBASIC183beta.zip

The CG version supported serial command, too.
https://pm.matrix.jp/CB/CBASICCG057.zip
Lephenixnoir
Hors ligne
Administrateur
Points: 13150
Défis: 136
Message
Citer : Posté le 05/10/2018 19:07 | #
Amazing, good job! Did you try this out, @Lightmare?
----------------------------------
Rise.
Redeyes
Hors ligne
Membre
Points: 227
Défis: 1
Message
Citer : Posté le 06/10/2018 12:45 | #
Hi Sentaro21!
I'm really surprised by the efficiency of C.Basic, and I would like to congratulate you very much for the work that you've done!
I regret not knowing enough about it, but I want to support you and encourage you for the next of the project. Really, that's amazing!!

I hope to have the opportunity to use it in my projects, I feel that I will not regret it!
----------------------------------
Be perseverant in all that you undertake, and get stronger everytime... Shining hope
Sentaro21
Hors ligne
Membre
Points: 154
Défis: 0
Message
Citer : Posté le 07/10/2018 08:24 | #
Hi Lephenixnoir
The error was not given for the moment,
but I can't feel safe yet.
Thanks.


Hi Redeyes
Thanks very much for your supporting.
Time passes after the beginning of development of C.Basic,
but I'm sorry that the information of how to use C.Basic is insufficient.

I will be glad if you use it.
Feel free to contact me with any questions.

Ajouté le 10/10/2018 à 10:29 :
Some new bug was found thanks to the triconcours.
Here is new updated version.
https://pm.matrix.jp/CB/CBASIC184beta.zip
-Reduced check of [AC] key in the executing loop.
As a result, Break On and Break Off became the about the same speed.
(SH3 ) about 10% faster than previous version.
(SH4A) about 2~3% faster than previous version.

-Fixed automatic guaranteed of List[].
-Fixed the expression of Y(grapf)/fn with argument.
(false) "X+5"->fn1
return value of fn1(7) is (X+5)*7.
(true) "X+5"->fn1
return value of fn1(7) is (7+5).


for fx-CG10/20/50/Graph90+E.
https://pm.matrix.jp/CB/CBASICCG058.zip

Ajouté le 11/10/2018 à 08:43 :
for fx-CG10/20/50/Graph90+E.
-Fixed Screen.OT bug that transfer error bottom of 2 line.

Ajouté le 16/10/2018 à 14:22 :
A enbug was found in BmpSave,
I updated 0.58 again.

-Fixed jump bug of editor that might not jump at the bottom end.
-Fixed BmpSave bug that enbug in 0.57.
-Optimized _Hscroll/_Vscroll (50% up)

Ajouté le 21/10/2018 à 12:26 :
Here is newly supported fx-9860G Slim now.
C.Basic was able to support all 9860G series.
https://pm.matrix.jp/CB/CBASIC185beta.zip
Lightmare
Hors ligne
Membre de CreativeCalc
Points: 319
Défis: 0
Message
Citer : Posté le 03/11/2018 16:41 | #
Hi Sentaro21 ! i tested some of the bmp functions, and used BmpLoad(). But i got a problem : there is a black column of pixels on the right side of the sprite ( which is not basically in the picture ).
----------------------------------
While 1
WhileEnd

une boucle encore plus optimisée que celle de Kikoodx
Hackcell
Hors ligne
Membre
Points: 892
Défis: 6
Message
Citer : Posté le 03/11/2018 16:49 | #
I don't really know how BmpLoad() work, but often when you give some dimensions, that are larger than the sprite dimensions, it fill what is lacking with black
----------------------------------
I usually spend meow time cosplaying as a diligent student...
So it can get pretty stressful.
That's exactly why PC is such a happy place for meow to be ⭐
Lightmare
Hors ligne
Membre de CreativeCalc
Points: 319
Défis: 0
Message
Citer : Posté le 03/11/2018 17:04 | #
it's what i thought too, but the picture has exactly the same size than the sprite
----------------------------------
While 1
WhileEnd

une boucle encore plus optimisée que celle de Kikoodx
Lephenixnoir
Hors ligne
Administrateur
Points: 13150
Défis: 136
Message
Citer : Posté le 03/11/2018 20:44 | #
Can you show us the original sprite file?
----------------------------------
Rise.
Sentaro21
Hors ligne
Membre
Points: 154
Défis: 0
Message
Citer : Posté le 04/11/2018 08:11 | #
Sorry,it was BmpLoad bug.
So I updated.
Will it work in this?

https://pm.matrix.jp/CB/CBASIC186beta.zip
-Fixed BmpLoad( bug that right-side processing became 8 dots unit in the load to VRAM.
-Fixed name of Vct bug of Mat/List/Vct screen.
-Added support File of List.(use hidden RAM required.)
It becomes the list file by 52.
(example) File 2
to select File 2
List 1 (File 2) use same as List 53(File 1)
the number of File which is necessary for setup required.
(example) File 0
to use the list of consecutive numbers as well as previous version.
-Added inequality & integration graphing.( onry one graph supported now.)
-Fixed enbug of Trn command.
-Fixed StrRotate bug that rotatory direction was reverse.


for Graph+90E/CG10/20/50
https://pm.matrix.jp/CB/CBASICCG059.zip


Due to this update,
following super basic games became able to work.
Ice slider
CloneLab
Arkenstone
(by Ne0tux)
But, still incomplete.
Lephenixnoir
Hors ligne
Administrateur
Points: 13150
Défis: 136
Message
Citer : Posté le 04/11/2018 10:47 | #
Wow, porting games from @Ne0tux is really impressive! I'll get a moment to try them on fx-CG 50.
----------------------------------
Rise.
Lightmare
Hors ligne
Membre de CreativeCalc
Points: 319
Défis: 0
Message
Citer : Posté le 04/11/2018 14:04 | #
@Sentaro21 : It works ! now the picture is perfectly printed to the screen !
But is possible to convert a matrix to a bmp file ?
----------------------------------
While 1
WhileEnd

une boucle encore plus optimisée que celle de Kikoodx
Sentaro21
Hors ligne
Membre
Points: 154
Défis: 0
Message
Citer : Posté le 04/11/2018 14:18 | # | Fichier joint
@Lephenixnoir
Thanks!
[Fichier joint] is files testing in CG50.
Only IceSlider moves well.

Ajouté le 04/11/2018 à 14:27 :
@Lightmare
I'm glad to work well.

Lightmare a écrit :
But is possible to convert a matrix to a bmp file ?

(example) BmpSave "TEST",Mat A
to save "TEST.bmp" from Mat A.
Lightmare
Hors ligne
Membre de CreativeCalc
Points: 319
Défis: 0
Message
Citer : Posté le 04/11/2018 14:33 | #
Wow great ! now i know how to make my sprites ! thank you !
----------------------------------
While 1
WhileEnd

une boucle encore plus optimisée que celle de Kikoodx
Sentaro21
Hors ligne
Membre
Points: 154
Défis: 0
Message
Citer : Posté le 12/11/2018 14:24 | #
Hi
here is new updated version.
There were some incompatible bugs.

https://pm.matrix.jp/CB/CBASIC187beta.zip
-Fixed ClrVct not worked bug.

-Fixef GraphY(),fn() argument bug
(exapmle) "X+5"->fn1
fn1(X=7)
(false) return value is (1)+5
(ture) return value is (7+5)

-Fixed StrShift bug that not compatible.
-Fixed StrSrc( bug that when a search start position were more than a character string length, return value is not 0.
-Fixed StrMid( bug that when second argument value is 0, return strings is not NULL.
-Fixed StrLen(,StrCmp(,StrSrc(.Exp( that can not omit the multiplication sign.

-Fixed Ans/r/theta of List name bug of Mat/List/Vct screen.
-Fixed omit the List "}" bug.
-Fixed List name strings bug that can not use Str variable.

-Fixed And,Or,Not of complex number bug that not correct.
-Fixed And,Or of real number bug that not compatible.
(false) 0.1 And 0.2 -> 0
(true) 0.1 And 0.2 -> 1

-Fixed BG-Pict bug that when file size is less than 1024,


for Graph+90E/CG10/20/50
https://pm.matrix.jp/CB/CBASICCG060.zip


Ajouté le 12/11/2018 à 14:44 :
Thanks for waiting.
Because they did not work well only by update of C.Basic,
I added a little program correction.
(I do not completely confirm it)

It became able to play the game in Graph90+E.

Ice slider (@Ne0tux)
https://pm.matrix.jp/CB/CB_IceSlider.zip
Arkenstone (@Ne0tux)
https://pm.matrix.jp/CB/CB_Arkenstone.zip

Aventura, le Royaume Poudingue (@Drak)
https://pm.matrix.jp/CB/CB_Aventura.zip

Thanks very much for having contributed to evolution of C.Basic


Ajouté le 15/11/2018 à 11:52 :
here is updated.
https://pm.matrix.jp/CB/CBASIC187beta.zip (re-uploaded)
https://pm.matrix.jp/CB/CBASICCG060.zip (re-uploaded)
-Changed specification of Str,GraphY,fn memory allocation method.
and changed default maximam allocation unit number is 20 to 127.
(example) "ABC"->Str 1
Only Str 1 is available.
(example) "CDE"->Str 5
Str 1,Str 2,Str 3,Str 4,Str 5 are available.

-Changed specification of the default Mat of the substance of fn.
Str :<r>
GraphY:Theta
fn :z

-Fixed ClrVct with variable name not worked bug.
Lightmare
Hors ligne
Membre de CreativeCalc
Points: 319
Défis: 0
Message
Citer : Posté le 21/11/2018 17:42 | #
Hello ! it's me again ! i have a little problem : i installed the most recent version of C.Basic. And when i launch it for the first time and launch my program for the first time too, it looks like an infinite loop... And when i did an AC/Break, i saw that the program is blocked at the instruction Prog "TEST"
----------------------------------
While 1
WhileEnd

une boucle encore plus optimisée que celle de Kikoodx
Sentaro21
Hors ligne
Membre
Points: 154
Défis: 0
Message
Citer : Posté le 24/11/2018 09:58 | #
Hi,
Thanks for try new version.
I'm sorry that an error occurs.
In such cases,
Please delete the <@CBASIC> folder of the main memory.
So C.Basic is initialized.

Ajouté le 25/11/2018 à 14:09 :
Hi,
here is new updated version.
There are new feature & bug fix.

https://pm.matrix.jp/CB/CBASIC188beta.zip
-Added supported Str,GraphY,fnc string more than 255 characters.
(example)'#Str <r>,30,1000
Str 1-30 of maximam 999 characters. <r>:[ALPHA]+[X^2]

-Fiexd MAT/LIST re-allocate initialization bug that same Mat/List was not cleared.

-Added <.bin> to the extension of the file to display in the root folder.
and display all files in the subfolder.

-Enabled all file type of Rename/Copy.

-Fixed name of List ans/<r>/theta bug of Mat/List/Vct screen when ListFile No is more than 2.

-Fixed Str,GraphY,fn memory allocation bug that number of elements decreased.
(example) "CDE"->Str 5
Str 1,Str 2,Str 3,Str 4,Str 5 are available.
(example) "ABC"->Str 1
Only Str 1 is available.(false)
Str 1,Str 2,Str 3,Str 4,Str 5 are available.(true)

-Fixed stack error bug that was hard to return to the editor.


for Graph+90E/CG10/20/50
https://pm.matrix.jp/CB/CBASICCG061.zip



The following is the games that optimized in C.Basic added new feature of Save/Load game data.
(a few modification.)

Ice slider (@Ne0tux)
https://pm.matrix.jp/CB/CB_IceSlider.zip
Clonelab (@Ne0tux)
https://pm.matrix.jp/CB/CB_Clonlab.zip
Arkenstone (@Ne0tux)
https://pm.matrix.jp/CB/CB_Arkenstone.zip

TokiTori (@Riptor)
https://pm.matrix.jp/CB/CB_Tokitori.zip

Aventura, le Royaume Poudingue (@Drak)
https://pm.matrix.jp/CB/CB_Aventura.zip

Thanks very much for having contributed to evolution of C.Basic again.
Drak
Hors ligne
Rédacteur
Points: 1918
Défis: 38
Message
Citer : Posté le 25/11/2018 22:09 | #
Hey, I can't help but notice you used my own game in your project ! That's cool, I should try it !
----------------------------------
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Sentaro21
Hors ligne
Membre
Points: 154
Défis: 0
Message
Citer : Posté le 26/11/2018 06:35 | #
Thanks Drak
Your super program helped the debugging of the string function very much.

Because I do not play completion to the last, bug may be still left.

Merit of C.Basic version,
-Faster speed.
-Larger program area.
-More convenient command function.
-Consumption electricity reduction of the key waiting.

And this is the biggest merit.
-g1m program work equally in 90+E.
Lightmare
Hors ligne
Membre de CreativeCalc
Points: 319
Défis: 0
Message
Citer : Posté le 26/11/2018 08:47 | #
hi sentaro ! i did what you said, but the problem persists...
Also, the command "DispVram" sometimes needs a -Disp- command to be executed.
Don't be sorry ! i'm glad to help your project !
----------------------------------
While 1
WhileEnd

une boucle encore plus optimisée que celle de Kikoodx

Pages: Précédente | 1, 2, 3, 4, 5 | Suivante

Index du Forum > Projets de programmation > C.Basic Projets

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2018 | Il y a 25 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

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