Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » C.Basic Projets
Sentaro21Hors ligneMembrePoints: 564 Défis: 0 Message

C.Basic Projets

Posté le 30/04/2017 11:08

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)

Electricity (C.Basic version 10/2/2019)
https://pm.matrix.jp/CB/CB_Electric.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 version of C.Basic 2.28 beta for Graph 35+USB/35+EII/75/85/95 (SD)
https://pm.matrix.jp/CB/CBASIC228beta.zip (updated 10/9/2019)

This is the latest version of C.BasicCG 1.28 beta for Graph90+E/fx-CG10/20/50:
https://pm.matrix.jp/CB/CBASICCG128beta.zip (updated 10/9/2019)

C.Basic manuals
https://gitlab.com/sentaro21/cbasic

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


Pages : Précédente1 ... , 9, 10, 11, 12, 13, 14, 15, 16Suivante
LephenixnoirHors ligneAdministrateurPoints: 15483 Défis: 136 Message

Citer : Posté le 15/08/2019 15:09 | #


Thanks for pointing out my mistake, I edited my message.
Sentaro21Hors ligneMembrePoints: 564 Défis: 0 Message

Citer : Posté le 16/08/2019 02:44 | #


Newly found bug in Int÷.
I updaed again.

2.22 beta for Graph 35+USB/35+EII/75/85/95 (SD)
https://pm.matrix.jp/CB/CBASIC222beta.zip (re-uploaded)

1.22 beta for Graph90+E/fx-CG10/20/50
https://pm.matrix.jp/CB/CBASICCG122beta.zip (re-uploaded)
-Fixed Int÷ bug in double/complex mode.
(False) -5 Int/ 3->2
(True ) -5 Int/ 3->1

Ajouté le 18/08/2019 à 07:32 :
Here is new updated version.

2.23 beta for Graph 35+USB/35+EII/75/85/95 (SD)
https://pm.matrix.jp/CB/CBASIC223beta.zip

1.23 beta for Graph90+E/fx-CG10/20/50
https://pm.matrix.jp/CB/CBASICCG123beta.zip
-Fixd the bug that not worked when the control variable of For~Next is different from the execution mode.
(Example) '#CBDBL
For 1-> I% To 6
Disp I%
Next

-Changed 4bit matrix specification to unsigned from signed.

Ajouté le 19/08/2019 à 08:14 :
Sorry,there was a bug left in fixing For~Next in 2.23.
If use an integer variable for the control variable,
Fixed a bug that the end value and step value were expression evaluation in integer mode.
'#CBDBL
6->E
For 1-> I% To E
Disp I%
Next

The variable E should be evaluated with the double variable, but it was evaluated with the integer variable E%.

So, It was fixed and re-uploaded.
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
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.
CaptainluigiHors ligneMembrePoints: 456 Défis: 0 Message

Citer : Posté le 26/08/2019 12:26 | #


Is there one command to change the size of bits in matrix ?
( i want change the 64 to 8 , for example )
Jouez à Mario sans arrêt sur votre Casio !

Cliquez pour découvrir
Cliquez pour recouvrir
City Heroes
Piano Casio
Micro GIMP
Merci d'avoir lu.
De rien !
Super !

M'en fout
C'est pas très bien ...
Sentaro21Hors ligneMembrePoints: 564 Défis: 0 Message

Citer : Posté le 26/08/2019 13:21 | #


Yes!
{8,4}->Dim Mat A     // 64bit
{64,4}->Dim Dim Mat A.B     //change to 8bit
or
{8,32}->Dim Dim Mat A.B     //change to 8bit



Ajouté le 29/08/2019 à 14:34 :
Here is new updated version.
The main feature of this update is that the monochrome version can be used to acquire voltage.

2.24 beta for Graph 35+USB/35+EII/75/85/95 (SD)
https://pm.matrix.jp/CB/CBASIC224beta.zip
-Added BatteryStatus command that return battery voltage.(Thanks to Simon's document sample program.)
[VARS]-[F3](extd)-[F6](BatteryStatus)
(Example) BatteryStatus
retrun value is 516, it is 5.16V
*Supported all models.
-Fixed the response of the Getkey command when overclocking to 88MHz or higher in 9860G Slim.
-Changed specification that return value of the Getkey in 9860G Slim.
[HELP] ->11
[LIGHT]->21

1.24 beta for Graph90+E/fx-CG10/20/50
https://pm.matrix.jp/CB/CBASICCG124beta.zip
-Fixed the BatteryStatus command bug that not worked in comlex mode.
-Changed the return value of the BatteryStatus command up 10% in CG50/Graph90+E.

--Same update--
-Fixed the bug that not change to the storege memory from main memory in file mode [F6]-[F6]-[F4](->SMEM).
-Fixed Load command bug that can not load the string variable.
(Example) Load "Sample"->Str 1
-Added battery voltage display in version popup of setup.
-Added specification that CSV text file can be edit.(trial ver.)
[F2](edit)
-Added specification that plain text file can be edit.(trial ver.)
[SHIFT]+[X^2] (extended)


Now updated for fx-CG Manager.
Please re-download 1.24 for fx-CG-Maneger.

Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
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.
RedcmdHors ligneMembrePoints: 134 Défis: 2 Message

Citer : Posté le 03/09/2019 10:54 | #


Found a bug D:
PlotOff draws a white pixel to the plot screen
and it writes the X & Y cords to the X & Y variables
If the pixel is off the pixel screen e.g. ViewWindow 1, 127, 0, 63, 1, 0 and PlotOff -5, -5
The pixel is not drawn to the pixel screen and it does not write X & Y cords to the variables
C.BASIC still writes X & Y cords to the variables

ViewWindow 1, 127, 0, 63, 1, 0
20 -> V~Y
PlotOff -5, -5
X -> V : Y -> W
PlotOff 5, 5

When the code is run
Genuine BASIC: X & Y will be 5 and V & W will be 20
C.BASIC: X & Y will be 5 and V & W will be 5
RedCMD#4299 - Discord
Mandelbrot SNKEmini Minesweeper Sudoku
LightmareHors ligneMembre de CreativeCalcPoints: 506 Défis: 0 Message

Citer : Posté le 03/09/2019 11:03 | #


I found also some bugs in the latest version of C.Basic :

When I wanted to run my pokemon project, the application didn't found the sub-program that was in the same folder ( the command was Prog "POKEMAP", so I tried to do Prog "POKEBETA/POKEMAP", but it doesn't work as well).

Also when there is an error in the program and you press the arrows to see where it blocks, you can't edit the program to correct the bug : it makes a "Memory full error".
42
RedcmdHors ligneMembrePoints: 134 Défis: 2 Message

Citer : Posté le 03/09/2019 11:15 | #


I was running the program from Main Memory and the Prog "" command was running perfectly fine

I too got the "Memory full error", exiting the program and editing it again, would fix it
I did manage to slightly corrupt a program, even when I went back into normal BASIC, I still got the memory error, and a few commands at the bottom were missing and replaced with 7's and there was a word at the bottom 'CLIP' (I think it was? cant remember)
RedCMD#4299 - Discord
Mandelbrot SNKEmini Minesweeper Sudoku
Sentaro21Hors ligneMembrePoints: 564 Défis: 0 Message

Citer : Posté le 03/09/2019 12:01 | #


@Redcmd
Thanks for bug report.
That bug was discovered by your Démineur.

@Lightmare
I haven't confirmed any bugs in subfolders.
The memory full error was confirmed.

Please try this update version.

2.25 beta for Graph 35+USB/35+EII/75/85/95 (SD)
https://pm.matrix.jp/CB/CBASIC225beta.zip

1.25 beta for Graph90+E/fx-CG10/20/50
https://pm.matrix.jp/CB/CBASICCG125beta.zip
-Fixed MOD( command bug that the result was wrong when both arguments were negative.
(False) MOD(-5,-5)->5 MOD(-5,-1)->1
(True) MOD(-5,-5)->0 MOD(-5,-1)->0

-Fixed the bug that memory was insufficient when editing by interrupting a subprogram.

-Fixed the bug that automatic assignment to X and Y variables after Plot command even outside the drawing range.


Ajouté le 03/09/2019 à 14:31 :
@Lightmare
The sub-program not found bug has been confirmed in the latest version.
Please wait for a while.

Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
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.
CaptainluigiHors ligneMembrePoints: 456 Défis: 0 Message

Citer : Posté le 03/09/2019 15:32 | #


Does the last version work with Graph 35+E II with the updated OS (3.10 I think) ?
Jouez à Mario sans arrêt sur votre Casio !

Cliquez pour découvrir
Cliquez pour recouvrir
City Heroes
Piano Casio
Micro GIMP
Merci d'avoir lu.
De rien !
Super !

M'en fout
C'est pas très bien ...
RedcmdHors ligneMembrePoints: 134 Défis: 2 Message

Citer : Posté le 03/09/2019 22:54 | #


someone been playing my Sweeper
Thx for fixing it!
I'll try to slow it down for C.BASIC

So it writes the cords to X & Y variable only when the cords are on the screen? (that is what it should do)

The ■ symbol is one pixel bigger in graphing mode
Which miss aligns everything in my MineSweeper
3x3 vs 4x4

When will Complex numbers be added?
If it is already added, what is the setting to enable it

RedCMD#4299 - Discord
Mandelbrot SNKEmini Minesweeper Sudoku
Sentaro21Hors ligneMembrePoints: 564 Défis: 0 Message

Citer : Posté le 04/09/2019 03:15 | #


@Lightmare
Fixed the bug that could not be loaded sub-program.

@Captainluigi
Yes!
C.Basic work on 35+E II from 2.10 or later.

@Redcmd
Thanks!
Your Basic Casio program is packed with techniques that helped finding C.Basic bugs.

To adjust the speed in C.Basic,
Easy to use TicksWait.
TicksWait 10      // 10/128s waiting


And to work with the same file as Basic Casio,
it is possible to execute commands only in C.Basic.
'/TicksWait 10

Since it is a comment in Basic Casio,it is not executed.
However,it is executed in C.Basic.

Although the specifications of the Plot command are not well understood,
In C.Basic it assign of coordinate values to the XY variablea only inside the screen.


Here is re-updated.

2.25 beta for Graph 35+USB/35+EII/75/85/95 (SD)
https://pm.matrix.jp/CB/CBASIC225beta.zip
-Fixed the bug that fail loading of sub-program.

Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
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.
RedcmdHors ligneMembrePoints: 134 Défis: 2 Message

Citer : Posté le 04/09/2019 07:48 | #


Your very fast with fixing these bugs
The Plot command and memory error fixes worked

MineSweeper is now compatible with C.BASIC!
I used '/TicksWait 1 and it works perfectly
Code works with both the BASIC's and I improved the key handling a bit too

Generatoring a 31x10 map with 301 mines, takes 2min
While in C.BASIC, it only takes 2sec!

■ symbol is still 1 pixel too big
While in a menu (run via the menu command) pressing [MENU] doesn't exit to the main casio menu
Pasting code via [SHIFT] + [9] moves the screen down everytime
'TicksWait 1' writes the time to Ans variable (Ticks command should, but not TicksWait)

Running the code
"TEXT 123"
Displays the text "TEXT 123" to the screen
but if the string is exactly 21 characters long
"012345678901234567890"
The last character isn't displayed
When making a custom map in Minesweeper, the '2' is missing from "=====MINESWEEPER===v2"


RedCMD#4299 - Discord
Mandelbrot SNKEmini Minesweeper Sudoku
Sentaro21Hors ligneMembrePoints: 564 Défis: 0 Message

Citer : Posté le 04/09/2019 13:58 | #


Thanks very much for supporting Minesweeper in C.Basic.
It works very well.

Fixed some newly discovered bugs.

2.26 beta for Graph 35+USB/35+EII/75/85/95 (SD)
https://pm.matrix.jp/CB/CBASIC226beta.zip
-Fixed Menu command bug that pressing [MENU]key did not return to OS menu.
-Fixed TicksWait command bug that rewrited Ans variable.
-Fixed "strings" command bug that the 21st character is not displayed when 21 characters are used.
-Corrected mini font (0xE69E, 0xE6A5, 0xE6A6) that not compatible genuine Casio Basic.

Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
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.
CaptainluigiHors ligneMembrePoints: 456 Défis: 0 Message

Citer : Posté le 04/09/2019 17:58 | #


I tried my Mario Galaxy Run on my Graph 35 +E II ,and it looks 10x quicker , anything to set speed ( I think it's the new CPU on the motherboard ... )
Jouez à Mario sans arrêt sur votre Casio !

Cliquez pour découvrir
Cliquez pour recouvrir
City Heroes
Piano Casio
Micro GIMP
Merci d'avoir lu.
De rien !
Super !

M'en fout
C'est pas très bien ...
LightmareHors ligneMembre de CreativeCalcPoints: 506 Défis: 0 Message

Citer : Posté le 04/09/2019 20:21 | #


@Sentaro21 : sorry for the late reply, but the update corrects all the bugs ! all is fine !
I have just one question about serial communication : Is it actually possible to make a fully functional real-time multiplayer game in C.Basic ? because I tried it and failed several times.
42
RedcmdHors ligneMembrePoints: 134 Défis: 2 Message

Citer : Posté le 04/09/2019 21:32 | #


The visual pixels on the ■ symbol are now 3x3, which is good
but the character dimensions are still 1 pixel too big: 5x6 vs 4x6 (4wide)
RedCMD#4299 - Discord
Mandelbrot SNKEmini Minesweeper Sudoku
LephenixnoirHors ligneAdministrateurPoints: 15483 Défis: 136 Message

Citer : Posté le 04/09/2019 21:37 | #


Redcmd a écrit :
The visuals on the ■ symbol are now 3x3, which is good
but the character itself is still 1 pixel to big 5x6 vs 4x6 (4wide)

I see this character is causing some problems. Good luck with that.
RedcmdHors ligneMembrePoints: 134 Défis: 2 Message

Citer : Posté le 04/09/2019 22:52 | #


Lephenixnoir a écrit :
I see this character is causing some problems. Good luck with that.

Once that bug is fixed, I wont need 2 different minesweeper files for each BASIC
As one version can be played on both BASIC's
RedCMD#4299 - Discord
Mandelbrot SNKEmini Minesweeper Sudoku
Sentaro21Hors ligneMembrePoints: 564 Défis: 0 Message

Citer : Posté le 05/09/2019 06:47 | #


@Captainluigi
The 10x speed difference is a little strange.
The speed increase with 35+E II CPU is about 20% in C.Basic.
Perhaps the new 35+E II may read storage memory faster.

@Lightmare
It was good that the problem was solved.
I'm sorry. My serial communication skills are quite low.
How about using SyScall directly?

@Redcmd
@Lephenixnoir
Thanks!
I fixed mini-font width.
It is wonderful that both C.Basic and Basic Casio work with the same porgram.

Here is additional update.

2.26 beta for Graph 35+USB/35+EII/75/85/95 (SD)
https://pm.matrix.jp/CB/CBASIC226beta.zip
-Fixed the cursor position of after clip&paste in editor.

1.26 beta for CG10/20/50/Graph90+E.
https://pm.matrix.jp/CB/CBASICCG126beta.zip
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
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.
RedcmdHors ligneMembrePoints: 134 Défis: 2 Message

Citer : Posté le 05/09/2019 07:22 | #


Thx for fixing everything
Minesweeper is now 100% compatible with C.BASIC

You didn't change the version number
RedCMD#4299 - Discord
Mandelbrot SNKEmini Minesweeper Sudoku
Sentaro21Hors ligneMembrePoints: 564 Défis: 0 Message

Citer : Posté le 05/09/2019 08:03 | #


Thanks very much!
This is the first time for CG version 1.26, so the FX version stayed at 2.26.
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
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.
Pages : Précédente1 ... , 9, 10, 11, 12, 13, 14, 15, 16Suivante

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 51 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