recursal/Fanatic-Fandom huggingface dataset:
Commands/System

Returns the internal information of the calculator.

## Syntax

* `System(<type>)`
* `System(10000,<file-no.>)`

## Parameters

`-22` returns the 4-digit build number of the current OS. (OS x.xx.**XXXX**)
`-7` returns boolean value that whether C.Basic is in an emulator or not.
`-5` returns the remaining size of memory.
`-4` returns the remaining size of heap.
`-3` returns the total heap size.
`-2` returns current OS version.
`-1` returns the calculator model number.
`0` returns the current C.Basic version.
`1` returns the address of VRAM.
`2` returns the address of text VRAM.
`3` returns the address of graphic VRAM.
`4` returns address of work buffer.
`10` returns the address of clip buffer.
`10000`

Reads C.Basic internal settings file (located in @MainMem\@CBASIC) and stores it into Mat Ans.
`file-no.``1..3`

`1` reads CBasic.g1m/g3m.
`2` reads CBasic2.g1m/g3m.
`3` reads CBasic3.g1m/g3m.
Commands/StrBase

## StrBase

### Type

Function

Converts a string expressed in any base to be displayed in another base.

## Syntax

`StrBase("string",<original-base>,<output-base>)`

## Parameters

`string``any string containing only 0..9, A..Z, a..z, θ and/or π`

String to be converted.
A list of each accepted character corresponding to base-10 value:
* A~Z: 10-35.
* a~z: 36-61.
* θ: 62.
* π: 63.

`original-base``2..64`

Base of the original string.
`output-base``2..64`

Base of the output string.
## Examples

* `StrBase("579",15,12)`

Outputs 87312.
* `StrBase("Az7u",62,10)`

Outputs 261825410.
FX 1.00 beta 2

## Change\_J

2017.1.25 Beta 2 version (interpreter only)
 ・Fixed a bug where the StrLeft (command) could not be used.
 ・ScreenG→Screen.G Fixed errors in the manual and sample program.

 2017.1.19 Beta 2 version (interpreter only)
 - Fixed an incompatibility where a 1-dot line at the top of the font drawn with the Text command was drawn.
 (It was based on the SDK's PrintMini display specifications.)
FX 2.31

* 2019.1015.1706 (?)
* 2019.1016.1647 (?)
* 2019.1017.0852

## Change\_J

2019.10.17 Beta version (interpreter only)

```
       ・? Fixed a bug where initialization input to Mat/List/Vct was not possible using commands. (This is an enbug in 2.29.)

```

```
        2019.10.16 - Fixed a bug that caused memory shortage when repeating matrix/List/Vct initialization.

```

```
        2019.10.15 - Fixed a bug where if the cursor was moved outside the screen after [DEL], the cursor position would not return when executing UNDO.
       - Fixed a bug where the program size was not changed in UNDO after [PASET].

```

```
        2019.10.13 - Added UNDO function to the editor. After DEL, press [ALPHA]+[DEL] to return to the state before deletion. (You can only go back one step)

```

```
       - Improved efficiency by not using Ans memory during matrix/List/Vct initialization.

```
FX 1.00 beta 7

* 2017.0203.2121

## Change\_J

 - Default variables can now be accessed with different variable names.
 　Added AliasVar command.
 　You can use up to 10 alias variables using this command.
 　Variable names that can be used for replacement are only single-character characters that can be selected with [CHAR].
 　Both the variable name and matrix name are changed at the same time.
 　If different variable names are assigned to the same variable, the variable name of the AliasVar command executed later becomes effective.
 (Example) AliasVar A=α
 　　　α+100→α
 　After executing the AliasVar command, variable A can be used as α.
 　Since the substance of α is A,
 　Same as A+100→A.
Commands/Disp

Display the result of an expression in the rightmost position. If `**Disp**` or `" "` is previously executed, the output will appear under it. When the display has 7 rows of result, it will be pushed up by 1 row to free up the space for the result, i.e. `**Disp**` will not occupy the 8th row of the display.

## Syntax

`Disp []*exp1*,[*exp2*],[*exp3*],...`

* - enter @ only
* *exp* - numerical expression

```
For 1->A To 10
 Disp 3A 'display the multiple of 3 in the rightmost position
 TicksWait -32 'limit the program to display 4 values per second
Next

```
FX 0.99p

## Change\_J

 - Supports genuine CasioBasic compatible passwords.
 　You can enter a password using [F1] when entering a new file name.
 　You can set/cancel the password by pressing [SHIFT]+[F4] in file list mode.
 　A password-protected file has no effect on execution, but you will need to enter the password when editing or debugging.
FX 1.92

## Change\_J

2019.1.18 Beta version (interpreter only)

```
       - Hidden RAM is now used by default when starting for the first time. (SH4A only)

```

```
       - Fixed a bug where the results of inverse matrices of 4 or more dimensions were sometimes incorrect.
       (Incorrect example) [[0,0,0,1][27,9,3,1][216,36,6,1][512,54,8,1]]^(-1)

```

```
       ・Complex number Fixed a bug where hexadecimal input did not work in mode.

```

```
       - Fixed an issue where when drawing on the right edge with the Text command, it would wrap to the left edge.

```

```
       - Fixed a bug when a Goto command inside a loop was executed before the loop repeated.

```
FX 0.99b

## Change\_J

 - Expanded debug mode.
 　Enter debug mode by pressing [SHIFT]+[F6] in file mode.
 　[F1]: Resumes the program from the cursor position. Same as conventional Cont.
 　[F2]: Execute trace from cursor position. After executing the command, you will immediately return to the editor screen.
 　[F3]: Trace + step over from cursor position. Subroutines are executed all at once. After executing the step, you will immediately return to the editor screen.
 　[F4]: Step out from the cursor position. Executes all at once until the end of the subroutine. After executing the step, you will immediately return to the editor screen.
 　[F5]: Switch between editor list display and program execution screen. The execution screen is maintained even after switching, so debug operations [F1]-[F4] can be performed without changing the execution screen.
 　[F6]: Toggle between debug menu and editor menu. If the execution screen (graphic/text) is displayed, the function menu will be displayed.
 To switch between the graphic screen and text screen, press [SHIFT]+[F6].

 - Changed the processing when an error occurs.
 　Previously, the program stopped all execution and returned to the editor, but now it interrupts execution and returns to the editor in debug mode.
 　After correcting the error location, it is now possible to return to the program from the interrupted location.

 - Added functionality to ACBreak command.

```
                       　By adding the Stop command immediately after, it becomes ACBreakStop, but
                       　Cancels all subsequent ACBreak commands.
                       　Same as canceling in setup.

```

 - Added backlight command. Only fx-9860GII with backlight is supported.
 (Format) Backlight n
 　n=0 Backlight off
 　n=1 Backlight on
 　n=2 Backlight inversion
 (Format) Backlight
 　Returns the backlight status.
FX 1.63

## Change\_J

 2017.9.26
 - Fixed a genuine incompatibility when the subprogram is at the end of the program.
 - Corrected the processing on the 7th line of the character string display.

 2017.9.6
 -Fixed a bug where files could not be displayed if there were special characters in the file name.
 (Kana characters cannot be used. They will be automatically converted to "~".)

 2017.8.20
 - Supported serial communication. (Although the command has the same name as the original, it is not compatible with the original.)
 (Format) Send( variable[,baud rate])
 (Format) Recv(variable[,baud rate])
 (Format) Send38K variable[,number of bytes transferred]
 (Format) Receive38k variable[,number of transferred bytes]
 (Format) OpneComport38K[,baud rate][,transfer mode]
 (Format) CloseComport38K
 The data that can be transferred are variables, matrices, and lists.
 The data types must match between the source and destination.
 Send38K/Receive38k will transfer binary data if you specify 0 for [Transfer mode] in OpenComport38K.
 [Baud rate value]: 0=300, 1=600, 2=1200, 3=2400, 4=4800, 5=9600, 6=19200, 7=38400 (default), 8=57600, 9=115200 baud
 [Transfer mode] 0: Binary transfer mode 1: Data format automatic detection mode (default)
 Send( and Recv() can be transferred using the command alone, but Send38K/Receive38k requires OpenComport38K/CloseComport38K.

 (Example) Send(A)
 (Example) Recv(A)
 (Example) Send(Mat A)
 (Example) Recv(Mat A)

 (Example) OpneComport38K,9,0
 　　　Send38K List 1
 　　　CloseComport38K
 (Example) OpneComport38K,9,0
 　　　Receive38k List 1
 　　　CloseComport38K

 Fixed a bug in the line number display of the editor that was implemented experimentally from .1.60.
FX 1.88

* 2018.1126.1344

## Change\_J

Nov. 26, 2018 Beta (interpreter only)

```
       -Add System(-5) to get the current amount of free memory.
       (e.g. System(-5))

```

v1.88 Beta 2018.11.25 - Eliminated limit of 255 characters for strings. The upper limit is only a memory limit.

```
       (Example) '#Str <r>,30,1000
       　Str 1 to Str 30 can be processed up to 999 characters in length. <r> is [ALPHA]+[X^2].

```

```
       Fixed a problem in which the same matrix that had been previously allocated was not deleted when an address was specified in the "Reallocate Matrix" function.

```

```
       Added .bin extension to files displayed in the root folder.
       　Files to be displayed (g1m,txt,bmp,bin)
       All files are displayed in sub folders.

```

```
       The restrictions on Copy/Rename of files have been loosened.
       　Files such as bin can be copied/renamed.

```

```
       Fixed a bug in the Mat/List/Vct list screen that the list was displayed incorrectly when ListFile was 2 or more.

```

```
       The number of elements in the matrix was reduced when allocating Str, Graph(Y), and fn variables.
       （Example: "CDE"->Str 5
        　Str 1, Str 2, Str 3, Str 4, Str 5 are allocated.
       （Example: "ABC"->Str 1
        　Only Str 1 was allocated.

```

```
       Fixed a bug that prevented returning to the editor unless [EXIT] was pressed multiple times when a Stack Error occurred.

```
FX 0.99g

## Change\_J

 - Array initialization commands similar to those of fx-5800P can now be used.
 (Example) 100→Dim Z
 　{100,1}→Dim Mat Z
 　will be the same as
 (Example) 0→Dim Z
 　Same as ClrMat Z.

 　Same as fx-5800P when converting from text
 　100→DimZ
 　It is OK to write.

 -Fixed an issue where the error handling for insufficient memory errors and subroutines not found when loading a program was not working properly.
FX 0.82

**FX 0.82** added compatibility feature, a new command, and fixed a few issues.

## Commands

* Expanded `'`.
	+ Syntax: `''<statement>`
	+ C.Basic will execute statement after this argument, while Casio Basic still treats it as a comment.
* Added `DotLife`.
	+ The command is dedicated to Conway's Game of Life program.
	+ Syntax 1: `DotLife(Mat A,x1,y1,x2,y2)→Mat B`
		- Calculates the life of dots surrounded by the specified range of coordinates of Mat A and assigns the result to Mat B.
		- Mat A and Mat B must have the same dimensions and type.
	+ Syntax 2: `DotLife(Mat A,L,R,T,B)→Mat B`
		- Integer variable L: leftmost coordinate -1
		- Integer variable R: rightmost coordinate +1
		- Integer variable T: top coordinate -1
		- Integer variable B: bottom coordinate +1

## File manager

* Now shows "Not enough SMEM" if attempting to save or rename a file, whereas the storage memory does not have enough space for it.

## Fixes

* Files are corrupted when saving or renaming them with a file name with the length of 8 characters.
* `RanInt#` tends to output certain number more frequently than others.
FX 2.00

## Change\_J

2019.6.15 Beta version (interpreter only)

```
       - Exception handling commands Try~Except~TryEnd commands have been added and IsError() has been abolished.
       (Format) Try <Program>
       (Format) Except error code 1
               <Processing in case of error-1>
       (Format) Except error code 2
               <Processing in case of error-2>
       (Format) TryEnd
       　There must be no error in <program>. In this case, processing will proceed after TryEnd.
       　If error 1 occurs, after executing <Processing in case of error-1>, the process moves on after TryEnd.
       　If error 2 occurs, after executing <Processing for error 2>, the process moves on after TryEnd.
       　If error 3 occurs, there is no corresponding Except, so an error popup will appear.

```

```
       (Format) Except
       　without an argument corresponds to all errors.

```

```
       (Example) Try 3*4+
       　　　Except 1
       　　　"Syntax Error"
       　　　TryEnd
       　"3*4+" has incorrect syntax, so "Syntax Error" corresponding to SyntaxError number = 1 will be executed.

```

```
       (Example) Try 3*4/0
       　　　Except 1
       　　　"Syntax Error"
       　　　Except 40
       　　　"Divide by Zero"
       　　　TryEnd
       　"3*4/0" corresponds to division error by 0 = 40 "Divide by Zero" is executed .

```

```
       (Example) Try 3*4/0
       　　　Except 1
       　　　"Syntax Error"
       　　　Except
       　　　"Error" If there is no Except that corresponds to
       　　　the TryEnd
       　error, "Error" will be executed because an Except without an argument corresponds to all errors.

```

```
       The sample program is located in CBasic_sample/Try_Except.
       Please refer to ErrorCode_List.txt for error codes.

```

```
       - Fixed a bug where the line feed was omitted even if a line feed continued after a code from 0x01 to 0x2F other than 0x0C (Disps).

```
FX 0.99v

## Change\_J

2017.1.11 Test version (interpreter only)
 - If the matrix that is the substance of the variable in A0 to A9 notation is not secured, it is now automatically secured.
 (Example) A1+123→B5
 　If Mat A and Mat B are not allocated, when the variable is accessed,
 　9→Dim A
 　9→Dim B
 　The same initialization is automatically performed, and A1 to A9 and B1 to B9 can be used.

 (Example) '#Mat 0
 　A1+123→B5
 　In the case of , if Mat A and Mat B are not secured,
 　10→Dim A
 　10→Dim B
 　The same initialization is automatically performed, and A0 to A9 and B0 to B9 can be used.

 (Example) '#Mat 0
 　2→Dim B
 　A1+123→B5
 　In the case of,
 　10→Dim A
 　Only Mat A is initialized and Mat B is not reallocated, so an error occurs when accessing B5.
 　In this case, A0 to A9 and B0 to B1 can be used.

 2017.1.9 Test version (interpreter only)
 ・As a method of accessing matrices, I made it possible to write numbers directly in variables as subscripts.
 　Mat is a further abbreviation of A[1,1] written as A[1]. However, the subscripts are only numbers 0 to 9.

```
                       　A[1, 1]→A[1]→A1
                       　A[2,1]→A[2]→A2
                       　A[3,1]→A[3]→A3
                       　A[4,1]→A[4]→A4
                       　A[5,1]→A[5]→A5
                       　A[6,1]→A[6]→A6
                       　A[7,1]→A[7]→A7
                       　A[8,1]→A[8]→A8
                       　A[9,1]→A[9]→A9

```

```
                       (Example) '#Mat 1

```

 　10→Dim A

```
                       　10→A1
                       　20→A2
                         A1+A2

```

```
                       　0 can be used as a subscript only when the initial value of the matrix index is specified as 0.

```

```
                       　A[0,0]→A[0]→A0
                       　A[1,0]→A[1]→A1
                       　A[2,0]→A[2]→A2
                       　A[3,0]→A[3]→A3
                       　A[4,0]→A[4]→A4
                       　A[5,0]→A[5]→A5
                       　A[6,0]→A[6]→A6
                       　A[7,0]→A[7]→A7
                       　A[8,0]→A[8]→A8
                       　A[9,0]→A[9]→A9

```

```
                       (Example) '#Mat 0
                         10→Dim A
                       　10→A0
                       　20→A1
                         A0+A1

```
FX 1.58

## Change\_J

 - You can now use the editor with mini font display.
 - Added setting to prevent debug mode when execution is interrupted.
 - Folders can now be deleted using [DEL] in file mode.
 -Fixed a bug where if you press the DEL key consecutively in a new file, the file will be filled with W and the file will become abnormal.
 - Fixed a bug where files in subfolders could not be read in the Prog command. (Enbugged in ver.1.00 beta 5)
Commands/Try

Try-statement handles an expected error without leading to a Casio Basic error pop-up.

## Syntax

```
Try <statement>
    Except [errorcode1]
        [errorcode1-statements]
    Except [errorcode2]
        [errorcode2-statements]
    ...
TryEnd

```

## Properties

Execution tests the statement and returns error code if any error occurs, then proceeds with the matching `Except` case **nearest** to `Try <statement>` and executes its statements, then jumps to the statements following `TryEnd`. At least one Except-statement must be present.

* If there is no error otherwise, execution jumps to the statement following `TryEnd`.
* When an error occurs but there is no matching `Except` case, a corresponding Casio Basic error pop-up appears.
* `Except` without `errorcode` corresponds to all errors.

## Examples

```
Try ?@()→A
    Except
TryEnd

```

In Casio Basic, when attempting to assign a wrong data type into variable A, `Syntax ERROR` pop-up appears and after pressing EXIT , user will be prompted to re-enter the data.

In C.Basic, when the ?-statement is in Try-statement and user does so, execution will skip the pop-up display and immediately prompt user to re-enter. This is useful because when it is executed in Graphics VRAM without Try-statement, pressing EXIT switches back to Text VRAM.
FX 1.10 beta 2

## Change\_J

```
       - Supported list function in integer mode.

```

```
       - When displaying a Mat matrix, press the [OPTN] key to change to list display. You can now display and input strings using the [VARS] key.

```

```
       - Fixed a bug where #'CBINT and #'CBDBL did not function when used multiple times in a program.

```

```
       - Fixed a text conversion error for strings containing "Char".

```

```
       - When Pict is set to the heap area, if a Pict image file with the same number exists in the current directory or Pict folder, it will be loaded automatically.
       　If Pict is set to the S.Mem area, only the Pict folder on the current drive will be accessed.
       (Example) If the Pict10.g1m file exists in the current directory or Pict folder, the image will be automatically loaded into the Pict area of ​​the heap when Pict10 is accessed for the first time.
       　　　If it does not exist, a memory error will occur.

```

　　　　　　　　　　　　　　　If the image exists, only heap access will be performed from the next Pict10 access.

```
       -You can check the image by pressing [EXE] on the Pict file on the file list screen.

```

```
       ・Fixed an incompatibility in the For~Next command where if the initial value exceeded the final value, it would pass through the loop.

```
FX 0.91

## Change\_J

 - Fixed an issue where the file list was showing a different file name when changing the file name or creating a new file.

 - (Test feature) It is now possible to display binary and hexadecimal numbers in the Mat matrix editor.
 　In matrix editing mode, press [F5] to display binary numbers, and [F6] to display hexadecimal numbers.
 　To return to decimal display, press [F5][F6] again.
 　However, the binary number display is limited to byte (1 byte) and word type (2 byte) matrices.
FX 0.83

**FX 0.83** is a minor update.

## Change\_J

The function key "=>" has been added to the function keys on the command input "CMD" screen.
　All six types of comparison operators can be found by pressing the [SHIFT] key.

The case where "'" (comment) is immediately followed by "'" (comment) is changed to "=>".
　The case where "'" (comment) is immediately followed by "/" has been changed to the case where "'" (comment) is immediately followed by "'" (comment).
　The "'/" and after are executed as a command, not as a comment.

Fixed processing when "=>" command ends with "false" of "true/false".

Translated with DeepL

(a)
fatal bug that prevents you from changing to integer mode in the program.

(b)
Changed SDK compilation to specify SPEED option.
About 5% faster than v0.83.

## General

### Error handling

* Added "Then without If" error message.
* Renamed "Can't open file" to "Can't find file".
Commands/RefrshTime

Controls the frequency of refreshing VRAM.

## Syntax

* `RefrshTime <ticks>`
* `+RefrshTime`

## Parameters

`ticks``0..128`

Sets the screen refresh interval to specified value per 128 ticks.
If the value is set to 0, disables screen update when meeting text and/or graphic commands.
`+RefrshTime`

Returns the current status of `RefrshTime`.
FX 0.99e

* 2016.0229.1844

## Change\_J

 - When converting from Basic to text, temporary output commands are converted to "Disps", but line breaks are not done, so line feeds (CR, LF) are added.
 　However, if the next line after the temporary output command is a line feed, the line feed (CR, LF) is not added.
 - When converting from Text to Basic, some commands require a space after the command, but now conversion can be done even if there is no space.
 　Not all commands are supported. Only the following commands support conversion without spaces.
 Then Abs sin sinh
 Else Int cos cosh
 Default Frac tan tanh
 Save Log sin^-1 sinh^-1
 Plot ln cos^-1 cosh^-1
 Prog Sqrt tan^-1 tanh^-1

 - The command names of DotPut, DotGet, and DotLife were changed to dotPut, dotGet, and dotLife because they were confused with the Do command due to text conversion. This has been changed back.
 -Fixed an issue where it was not possible to move from the bottom of the favorites list to the top.
FX 2.38

FX 2.38 is an update to C.Basic FX, released on November 19, 2019.

## Fixes

* Fixed the bug that the order of files with period characters in the name was reversed.
* Fixed the editor bug that the screen is shifted down when pasting on the 6th line when the upper status bar is displayed in the editor.
* Fixed the editor bug that could not be edited when the stored cursor position was after the end of the file.
* Fixed the RclPict bug that full 2KB Pict loading from storage memory.
Commands/TIME

Shows and changes the internal time variable.

## Syntax

* `"hh:mm:ss"→TIME`
* `TIME`

## Parameters

`hh:mm:ss`

Time in *hh:mm:ss* format to be assigned.
`TIME`

Outputs the stored time.
## Examples

```
"00:00:00"→TIME
While 1
 Locate 1,1,TIME
WhileEnd

```

Creates the pseudo count-up (up to 24 hours) timer.
It is recommended to use `Ticks` for timer instead as `**TIME**` changes the internal time settings while the former command does not.
FX 1.61

## Change\_J

 - When using hidden RAM, you can use up to 99 Pict files and up to 1040 Lists. Specify in setup.
 ・It is now possible to display a single character abbreviation for List and Mat. You can select inverted letters and bold fonts for L and M in the setup.

 - Angle specification and vertex specification have been added to the "\_Circle" command of the Monochrome library commands.
 (Format)\_Circle x,y,radius,color[,chance][,width][,Angle initial value][,Angle end value][,Number of vertices]
 (Example) \_Circle 64,32,20,4,0.5,3
 3x3dot 50% circle
 (Example) \_Circle 64,32,20,1,,3,0,90
 to draw 3x3dot 1/4 circle
 (Example)\_Circle 64,32,20,1,,,0,360,5
 to draw pentagon ( to have an effect on setting of Draw Type )
 (Example) \_Circle 64,32,20,1,,,20,380,5
 to draw shifted pentagon

 - Added the "\_Test" command option to the Monochrome library commands to count the number of black dots inside a shape.
 (Support commands) \_Point \_Line \_Rectangle \_Circle \_Polygon
 　It works if you add "\_Test" before the support command.
 (Example)\_Test\_Rectangle 0,0,127,63
 　Returns the number of black dots in the (0,0)-(127,63) area.
 (Example)\_Test\_Circle 62,32,20
 (Example)\_Test\_Point 10,10,5
 (Example)\_Test\_Line 10,10,100,30

 - Added "\_BmpZoom" and "\_BmpRotate" commands that add scaling and rotation processing to the Monochrome library commands and display bitmaps.
 (We are using a program from Planet-Casio where Ninestars added functions to the Monochrome library.)
 (Format) \_BmpZoom &Mat , x, y, width, height [,Horizontal enlarged width] [,Vertical enlarged width] [,color][,Probability]
 (Format)\_BmpRotate &Mat, x, y, width, height, rotation angle (degrees) [,color][,probability]
 (Example)\_BmpZoom &Mat A, 0, 0, 20, 10, 1.5, 2.5
 (Example)\_BmpZoom &Mat A, 0, 0, 20, 10, %150, %250 , 4, %50
 (Example)\_BmpRotate &Mat A, 0, 0, 20, 10, 45

 - Added "M" option to the Getkey command to read multiple keys simultaneously. Results are returned in list format.
 (Example) GetkeyM->List 1
 If you press [EXE] and [F1] at the same time, {79,31} will be returned.

 -Added list comparison command "ListCmp(").
 　Comparisons can be made between lists and lists, and between lists and values.
 (Example) ListCmp({1,2,3},{1,2,3})
 　1 is returned.
 (Example) ListCmp({1,2,3},{1,3})
 　Returns 0.
 (Example) ListCmp({1,2,3},{1,3,2})
 　Returns 0.
 (Example) ListCmp({1,2,3},2)
 　1 is returned.
 (Example) ListCmp({1,2,3},4)
 　Returns 0.

 ・The SortA(,SortD() command, which sorts lists, can now be used in formulas.
Commands/Sprintf

Outputs a formatted string.

## Syntax

`Sprintf("%[flags][width][.<precision>][length]<specifier>[%...][%...]",<input>,[...],[...])`

## Parameters

`-` left-justifies within the specified input width. **(Default: right)**
`+` prefixes the positive value with a plus sign "+".
Note that `-|+` must be inputted from Character Picker and not directly from the keyboard keys - and +, otherwise they will not be successfully parsed.
`(space)` inserts a blank space before the value.
`#` formats the output according to `specifier`.
Applies prefixes 0, 0x and 0X respectively to the output for `o|x|X`.
Adds a decimal point to the output even if there no digits would follow for `e|E|f`.
For `g|G`, the output is the same as with `e|E` but trailing zeros are not removed. **(Default: no decimal point is drawn if no digits follow)**
`0` left-pads the value with zeroes instead of blank spaces.
`width``0..127|*`

`0..127` sets the minimum number of characters to be printed.
If the value to be printed is shorter than this number, the result is padded with blank spaces.
`*` indicates the width is not specified in the format string, but as an additional integer value argument preceding the argument that has to be formatted.
`precision``0..16|*`

`0..16`
For `e|E|f`, sets the number of digits to be printed after the decimal point.
For `g|G`, sets the maximum number of significant digits to be printed.
For `s`, sets the maximum number of characters to be printed.
No effect when `c` is specified.
`length``h|l|L`

`c|%` character
`d|i` signed decimal integer
`e|E` scientific notation
`f` decimal floating point
`g` shorter of %e or %f
`G` shorter of %E or %f
`o` signed octal
`s` string of characters
`u` unsigned decimal integer
`x` unsigned hexadecimal integer
`X` unsigned hexadecimal integer (capital letters)
`p` pointer address
`n` nothing printed
## Examples

* `Sprintf("A=%4d B=%3.2f",%A,#B)`

Outputs "A=1234 N=45.68" if A=1234 and B=45.68.
* `Sprintf("%g%s",#1.234,"sec")→Str 1`

Assigns the string output "1.234sec" to Str 1.
* `Sprintf("Result=%08.3f",#123.45)`

Outputs "Result=0123.450".
* Displays a minimum of 8 digits.
* Displays 3 digits after the decimal point.
* Pads with zero.

* `Sprintf ("%e",#123456.78)`

Outputs "1.234568E5" or "1.234568x105".
* `Sprintf("%.3e",#123456.78)`

Outputs "1.235E5" or "1.235x105".
Colaboracion IDENTIDAD DIGITAL

Identidad 2.0, también llamada identidad digital, es la revolución anticipada de la verificación de la identidad en línea utilizando tecnologías emergentes centradas al usuario tales como el standard OpenID o Microsoft Windows CardSpace. Se encuentra dentro de la teoría de la Web 2.0, donde enfatiza en un modo simple y abierto método de identificación en transacciones cuyo proceso es similar al mundo real, como por ejemplo una licencia de conducir.

La identidad digital es lo que somos para otros en la Red o, mejor dicho, lo que la Red dice que somos a los demás. No está definida a priori y se va conformando con nuestra participación, directa o inferida, en las diferentes comunidades y servicios de Internet. Las omisiones, al igual que las acciones, constituyen también parte de nuestra identidad por lo que dejamos de hacer. Los datos, por supuesto, nos identifican. También las imágenes, su contexto y el lugar donde estén accesibles proporcionan nuestro perfil online.[1]
Commands/FKeyMenu

Draws a Casio-styled function key icon in the bottom of the display.

## Syntax

* C.Basic for FX

`FKeyMenu(start[~<end>],"string"|<icon-code>,[icon-style]`
* C.Basic for CG

`FKeyMenu(<start>[~<end>],"string"|<icon-code>,[icon-style],[color1],[color2])`
## Parameters

`start``1..6 and ≥ end`

Sets the (beginning) F-key position of the icon.
`end``1..6 and ≤ start`

Sets the ending F-key position of the icon.
Ineffective when `icon-code` is specified.
`icon-code``FX0..1155``CG0..1406`

Draws a Casio's built-in function key icon.
`0` clears the corresponding function key icon display.
Inputs that exceed this range will create a garbled icon.

Sets the style of the function key icon.
* `C` clears the icon.
* `N` applies default icon (hollow with black outline).
* `R` applies list icon (solid with rounded corners and notch).
* `I` applies solid icon
* `S` applies hollow icon with full border.
* `M` applies mesh effect to icon.
* `m``FX` applies mesh effect to icon frame.

`N`,`R`,`I`,`S` and `M`, `m` are mutually exclusive. If they are included together, only the last letter is effective.
e.g. In `RIS`, only `S` is effective.
* `U``CG` uplifts the string by 1 dot.
* `L``CG` moves the string 1 dot to the left.

Compare:
Only works when there are 5 or more string characters.
`icon-code` only works with `M` or `m`.
`color1``CG`

Sets the icon color.
`color2``CG`

Sets the text and background color.
C.Basic Wiki

Welcome to the C.Basic Wiki!
This is the most comprehensive wiki for all things related to C.Basic.
264 pages created since June 24, 2020. Anyone can contribute!

About C.Basic
*C.Basic* is a **Casio BASIC** program interpreter add-in created by **Sentaro21**. It was initially released on October 12, 2015, and officially released on January 17, 2017.

C.Basic can access most Casio BASIC programs in both main memory and storage memory, without requiring you to manually change their codes. It also integrates an IDE for easier programming solely on your calculator. The add-in includes many extended commands, while still maintaining the syntax style of Casio BASIC so that you can adapt to the programming environment of C.Basic quickly.

C.Basic is a part of C:Basic Project. At the moment, C.Basic is only an interpreter. In the future, C:Basic will include a complier to further increase the processing speed.

Latest version
**C.Basic for FX   FX 2.47 beta 1**

**C.Basic for CG   CG 1.47 beta 1**

User interfaces
* **File manager**

Access, favourite and manage your programs.
* **Program editor**

Built-in IDE that helps you program easier.
* **Variable editor**

View all variables at a glance.
* **Matrix editor**

Manage all matrices, vectors and lists.
* **Character picker**

Pick Greek, Russian, Chinese or Japanese characters and other special symbols.
* **Setup page**

Adjust the global settings of C.Basic.

Features
* **Execution modes**

Information on G1M and G3M modes in C.Basic.
* **Calculation modes**

Information on integer, real and complex modes in C.Basic.
* **Data containers**

Information on variables, matrices, lists, vectors and strings in C.Basic.
* **VRAMs**

Information on VRAMs in C.Basic.
* **Fonts**

Information on fonts in C.Basic.
* **Commands**

Information on extended commands in C.Basic.

Links
**Source code & bug tracker**

* C.Basic Gitea repository

**Help centers**

* e-Gadget C.Basic thread (Japanese)
* Universal Casio Forum (English)
* Planetè-Casio (French)
* cnCalc (Chinese)

**Technical materials**

* Inside Casio Basic
* SuperH investigation
* WSC & FVM
* MonochromeLib
* WikiPrizm

 Applications
Identidad Digital Wiki

## Que es la Identidad Digital?

Wood y Smith (2005) definen la identidad como "una construcción compleja, personal y social, consistente en parte en quien creemos ser, como queremos que los demás nos perciban, y como de hecho, nos perciben" y los mismos autores afirman que en la comunicación electrónica lo que prima es la imagen que se quiere mostrar a terceros.

Fuente: Universidad Alicante

## Características

1. Es **social**. Se construye navegando por las redes sociales a partir del reconocimiento de los demás sin ni siquiera llegar a comprobar si esa identidad es real o no.
2. Es **subjetiva**. Depende de cómo los demás perciban a esa persona a través de las informaciones que genera.
3. Es **valiosa**. A veces personas y empresas navegan por las redes sociales para investigar la identidad digital de un candidato o una candidata y tomar decisiones sobre él o ella.
4. Es **indirecta**. No permite conocer a la persona directamente sino las referencias publicadas de esa persona.
5. Es **compuesta**. La identidad digital se construye por las aportaciones de la misma persona y también por otras personas sin la participación o consentimiento de esa persona..
6. Es **real**. La información de la identidad digital puede producir efectos positivos y negativos en el mundo real.
7. Es **dinámica**. La identidad digital no es una foto instantánea sino que está en constante cambio o modificación.

Fuente : Universidad Alicante

**¿No estás seguro por dónde comenzar?**

* Revisa **Ayuda:Comenzando este wiki** para conocer algunos consejos
* Si eres un novato respecto a los wikis, revisa **Ayuda:Empezando**

Las imágenes y videos son una gran manera de atraer lectores a tu wiki. ¡No olvides colocar uno u otro!

Archivo:Placeholder
FX 2.37

## Change\_J

```
       - Fixed a bug where the file size was 2080 bytes (correctly 2068 bytes) when StoPict was sent to the main memory.
       - Fixed an issue where StoPict would not work if the save destination was in storage mode.
       ・Remove spaces when saving with indent - Fixed a bug where spaces in comments were also removed when setting Save.
       - Fixed a bug where if the name given to List was 8 characters, an error could occur when copying to a character variable.

```
FX 2.45 beta 19

* 2020.0521.1538

## Additions

* Extended Screen command.

 `Screen.VG` | Sets the graphics VRAM as the drawing target.

* Extended System command.
	+ Executing System(-1) in fx-9750GIII returns 6.

## Changes

* Changed the specification of the ReadGraph/WriteGraph/DotGet/DotPut command to work on the current VRAM.
* Updated System command sample program to support fx-9750GIII.

## Fixes

* Fixed the bug that AC/ON and `ACBreak` did not work after escaping from Try-structured command with Break command.
Tutorials/Things to know

Before using C.Basic, make sure you have read the following precautions.

## Compatibility with Casio BASIC commands

C.Basic does not include all of the original Casio BASIC commands. Besides, some commands in C.Basic have intentional differences compared to those in Casio BASIC. Refer to Commands for more information.

## Numerical errors

C.Basic uses **double-precision floating-point** format to perform operations instead of **binary-coded decimal** format that Casio BASIC uses. While C.Basic can represent values ranging from **±2-1024** to **±21024**, keep in mind that handling non-integers may cause numerical errors.

## CPU overclocking for fx-CG10/20

To increase the refresh rate of fx-CG10/20, C.Basic overclocks their CPU (IFC) to **117.96MHz** by default. You can disable this function in the setup page.

## Data safety

As C.Basic is an add-in that uses lots of system calls, there is a chance that the data in your calculator can be unexpectedly damaged or destroyed. **Hence, it is strongly recommended that you back up all data before using C.Basic to prevent possible data loss.**

Besides, it is possible that C.Basic might encounter some unknown bugs and thus making the storage memory completely uneditable. Execute **Syscall(0x205)** in C.Basic as a last resort if you cannot figure out which files are corrupted. This method, in theory, only works on the **FX series** calculators, and is only confirmed to be working on fx-9750GIII and fx-9860GIII.

**WARNING! Syscall is a system-level command and can be very dangerous if handling it incorrectly. Use it at your own risk. Moreover, avoid executing this syscall in the CG series calculators or Graph 90+E as it is completely different from the same code in the FX series calculators.**

### **Key procedures for Syscall command**

* **Standard** command input mode (default): SHIFTVARSF6F6F5F1
* **C.Basic** command input mode: F3◀▼▼1

Refer to Commands/Syscall for more detailed usages of Syscall command.

 Applications
Commands/PopUpWin

## PopUpWin

### Type

Function

Draws a Casio style pop-up window.

## Syntax

* `PopUpWin(0|<size>|9)`
* `PopUpWin(10|11,"text1",["text2"])`

## Parameters

`0`

Stores the current VRAM to the screen buffer.
`size``1..6`

Draws a pop-up window with different widths.

`9`

Restores from the screen buffer.
`10`

Draws a Yes/No pop-up window.
Returns 1 for pressing F1 and 0 for F6.

`11`

Draws a confirmation pop-up window.
Always returns 1 for pressing EXIT.

`text1`

Primary text.
`text2`

Secondary text.
Commands/Switch

Imported from the C programming language, the *Switch*-statement selects the case matching to the test value and runs the statements below it.

## Syntax

```
Switch test\_value
 Case case\_value1
 statement
 [Break]
 Case case\_value2
 statement
 [Break]

 'multiple cases are acceptable
 [Default
 statement]
SwicthEnd

```

* *test\_value*, *case\_value* - numerical expression

## Parameters

C.Basic will match the value of *exp* with the corresponding *case\_value* below, then jump to the position of the matching case and execute the statement below. If *Break* is met, C.Basic will jump to *SwitchEnd*, otherwise follow through the next case if any.

*Default*-statement is always executed regardless of the value of *exp*, but only when there is no *Break* above any *Case*-statement.

*Case*-statement and *Default*-statement require an additional nest.

*Default* should be placed before *SwitchEnd*, although technically it can be anywhere within the *Switch*-statement. For instance, *Default*-statement in between *Case*-statements is acceptable.
FX 1.94

## Change\_J

2019.2.3 Beta version (interpreter only)

```
       Fixed a bug where [AC] break did not work in programs that frequently called subprograms.
       - Corrected the behavior at the end of the loop when Next/WhileEnd/LpWhile follows the => command in For~Next, While~WhileEnd, Do~LpWhile.
       - Fixed a bug where the subname of List n[0] could not be displayed with the Locate/Text command.
       ・? Fixed a bug where inputting ->fn1,?->Y1 was causing an error.

```
FX 0.61

**FX 0.61** added timer and fixed an issue.

## Commands

* Added 128-tick timer function to `%`.
	+ Syntax: `%`
* Can now directly copy the content of a Mat to another Mat with the same dimension and byte size.
	+ Syntax: `Mat A→Mat B`

## Program editor

* Added `DotP(` to OPTN prompt. It has no functionality at this time.

## General

### Error handling

* Added new error messages:
	+ "String Too Long"
	+ "No Matrix array"

## Fixes

* Fixed the overflow issue on `Locate` and `Text` string buffers.
FX 2.21

## Change\_J

2019.8.7 Beta version (interpreter only)

```
       - Fixed "Range Error" when the ViewWindow variable was specified individually.
       : The usable hidden memory size of Graph 35+E II has been changed from 128KB to approximately 188KB. (2.10 or later)
       - Fixed a bug where the SDK emulator could not be started after initialization.

```
FX 1.59

## Change\_J

 - Added replace function to editor search. If you press [F2] when entering a search, you can enter a replacement string.
 　There are two modes for replacement: confirm while replacing [F2] and replace all at once [F4].
 - It is now possible to create a new file while the cursor is on a folder.
 - Fixed a bug where it was not possible to enter strings in search from clip selection.
 - Fixed a bug where StrInv( did not work properly.
Commands/Ticks

## Ticks

### Input

VARSF3F1 (Ticks)

Control the internal 128-tick and 32768-tick RTCs.

## Syntax

`Ticks[%]` `*tick\_count*→Ticks[%]`

* *tick\_count* - integer
* % - ALPHA(-)

## Parameters

#### Ticks%

Return the value of 32768-tick timer.[*SH4A Only*]
Note that the 128-tick and 32768-tick timers are independent of each other.

```
Do
 Locate 1,1,Ticks÷128
 Locate 1,2,Ticks%÷32768
LpWhile 1

```

#### *tick\_count*

Assign *tick\_count* to the 128-tick/32768-tick timer.

```
0->Ticks 'initialize the 128-tick timer
32768->Ticks 'set the 32768-tick timer to 1 second

```
FX 0.65

## FX 0.65

**FX 0.65** was a minor update. It was reuploaded to fix a bug.

## General

### Matrix editor

* Added matrix↔array toggle F5.
	+ indicates the XY mode (X columns × Y rows).
	+ indicates the MN mode (M rows × N columns).
	+ Affects the matrix viewer and new matrix dimension prompt.

## Fixes

**2015.1114.1905**

* `?` does not work with `#` and `%`.
FX 0.99r

* 2016.0721.2035
* 2016.0724.1915

## Change\_J

2016.7.24 Test version (interpreter only)
 - When using hidden RAM, it is now possible to allocate space from the heap area if the hidden RAM area is used up.

 2016.7.21 - Fixed a problem in the processing when the matrix could not be secured when using hidden RAM.

 2016.7.20 - Hidden RAM is now used in the program and Mat matrix area.
 　The total allocation for the program area and matrix area is 256KB.
 　The file list buffer is fixed to the heap area.

 - The free area of ​​storage memory and the number of file lists are now displayed at the top of the list display.
 　Storage memory decreases when saving programs, copying, renaming, etc., so optimization is required when the remaining memory becomes low.

 -Fixed an issue where it was not possible to erase the entire matrix with ClrMat.

 -The Int function was changed to an Intg function, so I added the Intg function and modified the Int function.
Naclorians

## **Overview**

Naclorians are a pacifist race from the tropical planet of Naclora. They rely on their wits and talking to get themselves out of trouble. Naclorians can release pheromones containing dopamine, which they often use to help persuade adversaries or potential enemies. Naclorians have an average height of 6 feet and an average weight of 150 pounds. Their leathery skin can be green, grey, brown, or red depending on what part of the planet they come from.

Naclorian name generator.
Wymyślone Nowe Miejscowości Wiki

# Witamy na Wymyślone Nowe Miejscowości Wiki!

Jesteśmy społecznością, którą każdy, wliczając w to ciebie, może tworzyć i rozwijać. Wiki takie jak ta zależą od zaangażowania czytelników oraz dodawania treści. Kliknij na przycisk „DODAJ NOWĄ STRONĘ” lub „EDYTUJ” by rozpocząć!

## Ważne artykuły

Strona o tematyce wikiNajważniejsza postaćPierwszy odcinek serialuWażna lokacjaKluczowe wydarzenieIstotny przedmiot

*Potrzebujesz pomocy z rozwojem społeczności?*

* Podstawy
* Jak edytować?
* Zarządzaj swoją nową społecznością
* Zawartość
* Wszystkie strony pomocy

Możesz stać się również częścią większej rodziny społeczności Fandomu. Odwiedź Centrum Społeczności!

*Do założycieli społeczności*: Napiszcie tutaj ciekawy akapit o tematyce tej wiki. Pozwolicie w ten sposób czytelnikom łatwiej się w niej odnaleźć i dodacie do niej kilka podstawowych informacji. Następnie odwiedźcie panel administratora po więcej wskazówek.
FX 1.00 beta 5

* 2017.0129.2139

## Change\_J

 - The specifications have been changed so that when running/editing from a text file, only the text file is changed.
 　In that case, you can select whether to save the CasioBasic standard file format (g1m) at the same time through setup.

 - Due to the above specification changes, it is now possible to operate C.Basic using only text files, including subprograms.

 - Fixed an issue where the file list screen movement was slow in the SD version. (Maybe not.)
FX 0.80

**FX 0.80** overhauled evaluation of expressions.

Revision **2015.1210.1101**, which identifies itself as **FX 0.76** in the version pop-up, is an unreleased version that was included in the first version of CBasicFX01-99.zip archive by accident. It is also the only version that was packaged in the RAR format. Note that although its compilation date is between the original and reupload version of FX 0.81, its content is much closer to FX 0.80.

Revision **2015.1210.2020**, despite showing **FX 0.80**, contains similar changes from the reupload version of FX 0.81.

## Commands

* `If` now caches jump destinations to increase execution speed.

## General

### Evaluation

* Converted evaluation from unsigned to signed-based.
* Up to twice as fast as before for the simple expressions with up to 2 terms, but may be slower for those with 3 terms or more.
	+ The workaround to minimize this drawback is to use parentheses ( ) and × so that they have higher evaluation priorities.

Example: `A+(B*C)` is faster than `A+BC`.
FX 0.99d

## Change\_J

 - Supported conversion from text files to C.Basic source files.
 　If you place a text file with the extension (.txt) on the storage memory, it will be displayed in the file list and can be handled in the same way as a G1M file.
 　The extension of G1M files, which are Basic source files, is not displayed, but the extension (.txt) of text files is displayed.
 　It can be edited and executed as is, just like G1M files. (It will take some time as there will be conversion time.)
 　If you only want to convert a file, press [F6]+[F1] in file mode to start the conversion.
 　Converts text files to G1M and G1M files to text files.
 　Command conversion rules comply with fx-CG20 and fx-FD10Pro.

 - The command names of DotPut, DotGet, and DotLife have been changed to dotPut, dotGet, and dotLife to avoid confusion with the Do command due to text conversion.
FX 1.87

* 2018.1115.1416

## Change\_J

2018.11.15 Beta version (interpreter only)

```
       - Changed the method of securing Str, Graph(Y), and fn variables.
       　At the same time, the default maximum number of reservations has been increased from 20 to 127.
       (Example) "ABC"->Str 1
        　Only Str 1 is reserved.
       (Example) "CDE"->Str 5
        　Str 1,Str 2,Str 3,Str 4,Str 5 will be secured.

```

```
       - The default matrix that is the substance of the fn variable has been changed to z (lower case).
       　Str variable default: <r>
       　Graph(Y) variable default: θ
       　fn variable default: z

```

```
       ・ClrVct Fixed a bug where variable names did not work.

```

```
       2018.11.12 - Fixed a bug where ClrVct did not work.

```

```
       - Fixed the behavior of Graph(Y) and fn arguments.
       (Incorrect)
       　　　The value returned by "X+5"->fn1 fn1(X=7) is (1)+5
       (Correct)
       　　　The value returned by "X+5"->fn1 fn1(X=7) is (7+ 5)

```

```
       ・Fixed an incompatibility with StrShift(.
       ・Fixed a bug where 0 was not returned when the search start position of the StrSrc(command was greater than or equal to the string length.
       ・StrMid(The second argument in the command Fixed a bug where the returned string was not a NULL string when was 0. - Fixed a bug where the
       StrLen(, StrCmp(, StrSrc(.Exp) command could not omit multiplication.

```

```
       - Corrected the display of Ans/r/Theta of List in Mat/List/Vct display.
       - Fixed a bug when the closing parenthesis of List "}" was omitted.
       - Character variable in List label name Corrected a bug where ``could not be used*.*

```

```
       ・Fixed a bug where And, Or, and Not operations were incorrect for complex numbers.
       ・Fixed a bug where And and Or for real numbers less than 1 were incompatible.
       (Incorrect) 0.1 And 0.2 -> 0
       (Correct) 0.1 And 0.2 -> 1

```

```
       - BGPict now fills in spaces when the specified Pict file is less than 1024 bytes.

```