Posté le 30/04/2017 11:08
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 240 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 22/10/2023 22:26 | #
https://gitlab.com/sentaro21/cbasic/-/blob/master/FX/Manual_EN.txt?ref_type=heads#L1265
Do:Getkey→K
LpWhile Not K
Lbl 0
'/TicksWait -1
Dsz N
Getkey=K⇒Goto 0
128-N→N
also works in normal basic, tho it runs a little too fast; 0.8sec instead of 1sec
but you could always just stick a bunch of random instructions in the middle to slow it down
doing N→N:N→N:N→N almost slows it down perfectly on my calc
Citer : Posté le 23/10/2023 12:51 | #
Very sorry for lete update.
Here is the new version.
C.Basic for FX v2.46β (build01)
https://pm.matrix.jp/CB/CBASIC246beta01.zip
C.Basic for CG v1.46β (build01)
https://pm.matrix.jp/CB/CBASICCG146beta01.zip
-Changed to create [CBasic] folder only at first startup and use it as the default save and load folder.
-Fixed a bug that the value of the control variable at the end of For~Next in integer mode was incompatible.
-Fixed a problem in which assignment of a string longer than the limit length failed when the length of the string is limited.
(Length-1 is the maximum number of characters that can be stored.)
-Fixed a bug in Pol()Rect() function that ListAns[0]ListAns[1] did not return an answer when MatBase was 0.
-Fixed rounding of ENG display.
-Fixed a fatal bug when using Ref and Rref functions, because they were not supported.
-Fixed a bug in which a command that could not be input by C.Basic command input mode was added and corrected.
(note)C.BasicCG execution speed is slowed by up to 50% on fx-CG50 OS 3.80.0212.( 3.70 is recommended for C.BasicCG.)
Graph90+E does not experience any slowdown even at 3.80.
@Lephenixnoir
@Slyvtt
I appreciate your warm comments.
I am amazed at the advances in add-ins over the past few years. I find gint wonderful to take full advantage of the capabilities of CASIO calculators. I look forward to its further development.
@Dimartino
If the calculators are in the normal clock, communication is possible simply by adjusting the baud-rate.
Please remember to activate the receiving side first.
@Redcmd
Thank you for your precise support.
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 23/10/2023 13:15 | #
Very good, a brand new version of C.Basic just landing !!
That's a wonderful news !!
The slowdown observed on fxCG50 is really strange, especially if it is not observed on Graph 90+E.
There are definitely differences between both models, especially when geared with OS 3.80.1 (3.80.0212).
The visible difference is the appearance of the "CALCUL" in slot 1 in addition to "EXE/MAT" now push to slot I for G90+E while fx-CG50 is unchanged. We may have some deeper changes that could create issues with some addins. But we just scratched the vernish, without checking what's deep under the carpet.
Citer : Posté le 23/10/2023 14:09 | #
I was reading and writing files several times on CG50 and the slowdown suddenly went away.
What was happening is a mystery, as this phenomenon did not exist before.
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 23/10/2023 16:00 | #
The storage is weird. You should also be aware that C.Basic has been seen to cause storage memory glitches with varying severity, but always difficult to deal with (I assume you've seen this before). I don't know whether C.Basic itself is responsible, but overall please keep in mind that storage memory is fragile so avoiding read/writes to files when possible is generally a good idea.
Another random piece of info : in Fugue (G-III / fx-CG), reserving chunks is slow, so creating files or appending to the end of files is slow. If a file already exists and the new version of the file is as long or longer, it is quite a bit faster to overwrite the existing file rather than delete it and create it anew.
Citer : Posté le 24/10/2023 05:35 | #
Thanks for the good advice.
Storage optimization was mandatory on previous models but is no longer required on newer models.
It looks like C.Basic will need a new way to store files.
and
It seems to me that C.Basic users should operate on main memory as much as possible to reduce storage usage.
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 24/10/2023 09:36 | #
@Sentaro21
(I tried to post this on e-Gadget but failed many times even though I've checked the verification code carefully. Is it because of the FC2 server auth error? Anyway I will post here instead.)
Thanks for the attempt to fix the [@MainMem] bug, but I still don't understand the way C.Basic saves file. You see, normally in a folder in PC, we right-click the blank space and go to "New" section to create a new file, and it is saved in the current folder. Right-clicking the folder there does not show the "New" section. But in C.Basic, creating a new file while the cursor position is on a folder saves the file inside that folder instead of the current location. That's what I mean "counterintuitive" in the previous comment on e-Gadget. (^^;
Also, currently C.Basic does not support viewing nested folders inside another folder well. Rather, for instance, when clicking "folder2" in "folder1", the path becomes "root\folder2" instead of "root\folder1\folder2". This suggests that path variable might not be working properly.
It appears that C.Basic's filesystem is based on WSC & FVM. It should be noted that it only works for the legacy CASIOWIN filesystem, which supports only 1 level of folder. The support for viewing subfolders has been previously done by gbl08ma in his Utilities add-in for Prizm calculators (https://github.com/gbl08ma/utilities), so you may take a look at its source code.
Citer : Posté le 24/10/2023 13:10 | #
@Calcloverhk
Yes, C.Basic file read/write is based on WSC & FVM.
So the corresponding folder hierarchy is up to 1 levels.
The new GIII and CG versions allow folder access up to 2 levels by changing the default root.
This is an extension from the previous specification, so we are aware that this is an impossible implementation.
In the CG and GIII models, folders up to 3 levels can be created, but in the current C.Basic, only 2 levels can be accessed.
Reading and writing files does nothing if the file is not modified.
If a file is to be saved, it is erased and then saved. It does not overwrite files with the same name.
I'm basing my decision on the fact that it is flash memory that is accessed, so the number of accesses for both is the same thing,
If there is a better way, I am open to improvement.
I am not opposed to improving it if there is a better way to do it, though it is a specification that when you create a new file on a folder, the file is created in that folder,
It is also a shortcut for moving to a folder and then creating a new file.
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 24/10/2023 18:46 | #
If a file is to be saved, it is erased and then saved. It does not overwrite files with the same name.
I'm basing my decision on the fact that it is flash memory that is accessed, so the number of accesses for both is the same thing,
If there is a better way, I am open to improvement.
The number of accesses isn't quite the same, I believe. The number of clusters written is likely the same, but if you delete the old files its backing clusters are "released" and then when creating it again you have to allocate new clusters. AFAIK this is a lot slower than the actual writing.
Hence, it is preferable to overwrite the existing file in order to reuse existing allocated clusters. If the new version of the file is shorter, this leaves data at the end, which may not be desirable (I don't know whether there is a file truncation function). However, if the version of the file is as long as or longer than the original, overwriting will generate the same result as recreating while saving cluster allocations. From the limited testing I have made (when saving games in CGDoom) I believe this is always a better option.
If you ever try it out, I would be interested to see your results to check whether my analysis is correct.
It is also a shortcut for moving to a folder and then creating a new file.
So how do you save to the root folder of the storage memory if you have only folders at the root?
Citer : Posté le 25/10/2023 06:32 | #
@Lephenixnoir
Thanks again for all the useful advice.
I would like to try the overwrite, but I am stopping at where and how to change it.
There is no overwrite option for Bfile_WriteFile(, right?
The workaround is to enter the full path of the file name...(\\forder\filename)
I added this short-cut for good reason, but it seems to have been an unnecessary help.
I will fix it in the next update.
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 25/10/2023 13:00 | #
I would like to try the overwrite, but I am stopping at where and how to change it.
There is no overwrite option for Bfile_WriteFile(, right?
With Fugue (G-III / fx-CG), files behave mostly like normal files on a PC. If you write while the cursor is not positioned at the end of the file, existing content is overwritten. After opening the file, the cursor is at the start of the file (unless you use append mode). Therefore, the normal sequence of opening, writing and closing works equally when creating a new file and overwriting an existing one.
I will fix it in the next update.
Maybe if you have an F-key left available, you could keep both?
Citer : Posté le 25/10/2023 16:07 | #
@ephenixnoir
Thank you very much for your sound advice.
(Like the new ClassWiz)
C.Basic for FX v2.46β (updated 25/10/2023)
https://pm.matrix.jp/CB/CBASIC246beta02.zip
C.Basic for CG v1.46β (updated 25/10/2023)
https://pm.matrix.jp/CB/CBASICCG146beta02.zip
(build02)
-Changed the specification so that a new file is created in the current folder when the cursor is on a folder in the file list.
-Changed to overwrite a file if it is larger in size than the previous file.(Only for CG/GIII Model)
(If the file size is smaller, the previous file is erased and a new file is saved.)
As for the slowdown earlier, it seems that the operating mode was CPLX. Sorry for the trouble.
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 25/10/2023 22:56 | # | Fichier joint
C.Basic seems to have trouble with deciphering the difference between lowercase and uppercase letters in program names
if you create a new program "A"
then try to create another new program "a"
it just takes you to the first program "A"
if you go to [F6][F6][F5] (→Mai). Main Memory
its possible to create 2 programs with the same letter (lower and uppercase)
but the Fav system can get corrupted
Create a program "A" and a 2nd one "a"
Fav both of them
now try to edit one of them
save and exit
notice that now both Fav items have the same name and point to the same program
but their filesizes are different
editing the other program will change both of them again
Citer : Posté le 26/10/2023 07:17 | #
Thanks.
I have confirmed that bug.
The specification is case-insensitive in storage memory, but it seems it was also working in main memory.
Here are the updated versions with fixed the bug.
C.Basic for FX v2.46β (updated 26/10/2023)
https://pm.matrix.jp/CB/CBASIC246beta03.zip
C.Basic for CG v1.46β (updated 26/10/2023)
https://pm.matrix.jp/CB/CBASICCG146beta03.zip
(build03)
-Fixed a bug in the main memory favorites function for files with the same name, where only upper and lower case letters differed.
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 26/10/2023 11:35 | #
That was very quick
thank you
would you mind looking at https://www.planet-casio.com/Fr/forums/topic14738-27-cbasic-projets.html#selform2
List Ans and Mat Ans should be seperate
but currently they are not
TicksWait -N seems to wait 1 extra tick more than it should
For 0→X To 128
TicksWait -4
Next
Ticks
but instead waits 128*5⇒640 ticks
TicksWait -128
I cant seem to build the binary
I keep getting multiple errors like:
CBZ_setup.c(1368) : C2225 (E) Undeclared name "VarListRange"
CB_GraphFunc.c does not exist
Undefined external symbol "_StoreGraphXt"
Undefined external symbol "_CB_VarList"
etc
and Thanks again for this amazing Addin
Citer : Posté le 26/10/2023 12:59 | #
@Redcmd
Thanks again.
In the meantime, I would be happy if you would let me use the specification that MatAns and ListAns are common, as memory space is tight on the early 9860G.
Fixed the problem of not being able to build, replaced and updated build03.
C.Basic for FX v2.46β (updated 26/10/2023)
https://pm.matrix.jp/CB/CBASIC246beta03.zip
C.Basic for CG v1.46β (updated 26/10/2023)
https://pm.matrix.jp/CB/CBASICCG146beta03.zip
(build03)
-Fixed a bug in the main memory favorites function for files with the same name, where only upper and lower case letters differed.
-Fixed a bug that caused the TicksWait count to be 1 too high.
(Before) TicksWait 4 was the same as TicksWait 5.
-Fixed a bug that prevented builds due to incomplete source files included in the package.
-Fixed a bug that prevented returning to the folder position. (build01 enbug)
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 31/10/2023 11:05 | #
not sure how far you want to support it
but C.Basic doesn't support CASIO's Base mode commands very much
Genuine CASIO Base Mode
notice the B in the top right corner
pressing [F2] (BASE) when creating a new program
when opening the program in C.Basic:
and, or and xor have extra spaces around them
xnor doesn't
not is all lowercase rather than PascalCase (Not)
dhbo, DecHexBinOct, Dec▶Hex▶Bin▶Oct▶ and ABCDEF currently isn't supported and just returns syntax error (same as Genuine CASIO in normal mode) [works as intended?]
xnor also returns syntax error [missing feature]
Neg and not causes the calto to hang [bug]
and, or and xor works perfectly fine [ ]
if I use C.Basic to copy the Base mode commands over to a normal basic program (casio's Base mode disables copy&paste).
only the binary operators work in Genuine CASIO basic
everything else results in syntax error or argument error
Citer : Posté le 01/11/2023 13:51 | #
Sorry, Base mode is currently unsupported.
Commands that freeze must be eliminated. I will fix it in the next update.
I hope you can use C.Basic's own extended commands for hexadecimal, binary, and n-based numbers.
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 09/12/2023 13:03 | #
Here is the new updated version.
C.Basic for FX v2.47β (updated 10/12/2023)
https://pm.matrix.jp/CB/CBASIC247beta01.zip
C.Basic for CG v1.47β (updated 10/12/2023)
https://pm.matrix.jp/CB/CBASICCG147beta01.zip
(build01)
-Added a catalog function dedicated to C.Basic commands.([Shift]+[5] for FX version)
-Added mini-font display in file mode.
-Added ? Minifont display of command and variable display. (newly FX version)
(format)?([@][x][,y][,width][, "blank character"][,number of input digits][,R])
(Example) ?(@30,40,5,">",5)A
The value of A is displayed in mini-font at the current VRAM pixel coordinates (X=30,Y=40)
and waits for input. Blank spaces are filled with ">".
-Fixed a bug that the program freezes when using unsupported commands (internal code 0x7Fxx).
-Error display has been changed. Missing WhileEnd" and "Missing Switch".(ref.ErrorCode_List.txt)
-Disabled initialization of hidden RAM for non-GII models.
-Beep command can be interrupted by AC key.
-Fixed a bug in matrix and list initialization that caused an error if the RGB()HSV()HSL() command was the first one. (1.45 Embuged)
(Example) {RGB(255,0,255),123,456}
-Fixed a bug in which a file exceeding 4096 bytes could only be loaded with the Load(command.
-The Locate command and drawing specifications such as Text can now be specified as mathematical formulas by writing them in parentheses.
(Format 1) Locate x,y,Value/Strings[,N/O/R/V].
(Format 2) Locate x,y,Value/Strings[,(drawing specification)].
N:0 'normal
O:1 'or
R:2 'reverse
V:3 'reverse or
(Example) Locate 2,3,"ABC",(2)
Locate 2,3,"ABC",(R) ' R=2
Either
Locate 2,3,"ABC",R
are the same as
-FKeyMenu can now be used to specify formulas by writing the drawing specification in parentheses.
(Format 1) FKeyMenu( n[~m], "string"/icon number [,C/M/N/R/I/S/U/L [,icon color [,icon background color]]] )
(Format 2) FKeyMenu( n[~m], "string"/icon number [,(drawing specification) [,icon color [,icon background color]]] )
Numeric value (0-4) in basic drawing specification
C:( 0)Erase.
N:( 1)Normal white icon. (may be omitted)
R:( 2)Black icon with missing lower right corner.
I:( 3)Square black icon.
S:( 4) Black icon with border
The following modifiers are added to the basic drawing specification values.
U:( 16)Display string one dot above.
L:( 32)Extend the display range by 2 dots to the left and right.
M:( 64)Mask processing.
M:(128)Masks only the border. (FX version only)
(Example) FKeyMenu (1, "string",NULM)
FKeyMenu (1, "string",(1+16+32+64))
The above two will produce the same result.
Is there a function to disable the catalog function of the FX calc?
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 11/12/2023 11:08 | #
Here is bug fixed version.
C.Basic for FX v2.47β (updated 11/12/2023)
https://pm.matrix.jp/CB/CBASIC247beta02.zip
C.Basic for CG v1.47β (updated 11/12/2023)
https://pm.matrix.jp/CB/CBASICCG147beta02.zip
(build02) 2023.12.11
-Fixed a bug that [EXIT] did not return to the catalog after history.
-Fixed a bug that files in a folder could not be accessed when the Load( command was used in a program in main memory.
-Fixed a bug that the cursor in file manager was not correct position. (FX version only).
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 11/12/2023 11:09 | #
I don't think so - AFAIK this is a built-in feature of GetKey(). Maybe if you write your own GetKey() and handle other combinations (backlight, menu, setup, etc) manually, you could.