recursal/Fanatic-Fandom huggingface dataset:
FX 1.00 beta 1

* 2017.0117.1717 (?)

## Change\_J

 2017.1.18 ・Fixed a bug in \_Vertical.
 - Fixed an issue where a system error would occur when running the program for the first time on OS2.09.

 2017.1.17 - Fixed an issue where lowercase matrix abbreviations (a[1], a2, etc.) could not be used.

 - For the string variable Str, if the index start value is 0, Str 0 can now be used.
 (Example) '#Mat 0
 　　　"String"→Str 0

 -Added the "MatBase(" function, which returns the starting index of a matrix.
 (Example) '#Mat 0
 　　　10→Mat A
 　　　MatBase( Mat A )
 Returns 0.

 - Fixed a bug where the "ElemSize(", "RowSize(", and "ColSize(") commands could not be converted to text.

 - The "DotPut(" and "Sprintf(") commands overlapped with the original commands, so the intermediate code was changed.
 DotPut( = DotP : 0xF94B -> 0xF74B
 Sprintf( = Vct : 0xF73E -> 0xF743

 　In this version, the code is automatically changed when the source is loaded, so you can run and edit the source created with the previous version as is.
 　"DotTrim(" and "DotGet(") also support automatic changes.

 - Added support for MonochromeLib, an ultra-high-speed graphics library for the fx-9860G series.
 　https://wiki.planet-casio.com/fr/MonochromeLib
 　\_ClrVram
 　\_ClrScreen
 　\_DispVram
 　\_Pixel
 　\_Point
 　\_PixelTest(
 　\_Line
 　\_Horizontal
 　\_Vertical
 　\_Rectangle
 　\_Polygon
 　\_FillPolygon
 　\_Circle
 　\_FillCircle
 　\_Elips
 　\_FillElips
 　\_ElipsInRct
 　\_FElipsInRct
 　\_Hscroll
 　\_Vscroll
 　\_Bmp
 　\_Bmp8
 　\_Bmp16

 　This is a separate system of commands that is closely related to the hardware and is independent of CasioBasic's graphics command specifications.
 　These commands only manipulate the current VRAM, so in order to display the drawing results, you need to transfer the LCD (screen update) using a command such as PutoDispDD.
 　Please refer to the manual for how to use the commands.
FX 1.76

* 2018.0515.0930

## Change\_J

​​2018.5.13 Beta version (interpreter only)

```
       - Compatible with complex numbers.

```

```
       - Enabled clipboard for single line input.
       - Fixed an issue where the display of uppercase/lowercase icons could not be switched when starting one line input.

```

```
       ・It is now possible to obtain the SDK key code using Getkey1/2.
       (Format) Getkey@1
       (Format) Getkey@2
       　Returns the SDK key code by adding the [@] option.

```

```
       -Added a matrix with 4-bit elements.
       (*Unlike matrices of 8 bits or more, this is a 1-bit matrix specification in which {mn} and {X,Y} are reversed.) The
       　type is specified by N in Nibble.
       (Format) {16,8}->Dim Mat AN

```

```
       ・Fixed a bug where the list display name was incorrect on the list list screen.
       - Added support for list clipboard.
       - Fixed a bug where securing a queue from [F5] was always DBL.

```

```
       - If an error occurs with the input value of SysCall, it will now be displayed as an error before executing the command.
       - Enabled [AC] key when executing Sigma and Seq commands.

```

```
       - Fixed a bug where when initializing a matrix with a string, if there was a space at the beginning of the second string, the space was disabled.

```

```
       ・Fixed an issue where, when in lowercase mode, entering uppercase letters from [F5] (CHAR) would result in lowercase letters.

```

```
       -Improved the issue where the result was not zero when the argument of sin was an integer multiple of pi.
       　I fixed the cos as well.
       (Example) sin pi
       (Example) cos (pi/2)

```

```
       /Rounding with decimal places specified A Sci option has been added to RndFix that rounds with significant digits specified.
       (Format) RndFix(formula, number of Sci digits)
       (Example) RndFix(1.23456789e-123,Sci 5)
       　Returns 1.2346e-123.

```

## Fixes

1. ↑ https://community.casiocalc.org/topic/7637-cbasic-international-release/page-4#entry61718
FX 0.90

* 2016.0101.1616

## Change\_J

 - For constant values, you can now use hexadecimal and binary notation up to 32 bits by adding a prefix (0X or 0B) similar to C language.
 (Example) 0XFF,0B1010011

 - It is now possible to insert line breaks and spaces in the Mat matrix initialization command [[ ]].
 (example)
 　[[0B11001100,
 　　0B00110011,
 　　0B11001100,
 　　0B00110011,
 　]]→Mat AB

 - The file list will no longer be reloaded if the file is not rewritten, deleted, or renamed.
 　You will no longer have to wait unnecessarily for the file list display when the file is not changed.

## Fixes

* Fixed an issue where the game would freeze when entering numbers or file names. (v0.90a)
FX 2.45 beta 11

* 2020.0301.2052

## Changes

* Improved the search mode in file mode.
	+ Press the alphabet key to open the search window and enter search mode.
	+ In the search window, normal input is possible.
	+ Press [EXIT] to cancel the search window.
	+ Cursor up and down, [EXE], [F1](EXE), [F2](EDIT), [F3](NEW) key can be worked without closing the search window.

## Fixes

* Fixed the bug that an error occured when continuous execution of Screen#/Screen%.
* Fixed the bug that the value is invalid when store List Ans of Screen#/Screen%.
FX 1.00 beta 3

* 2017.0121.1945 (?)
* 2017.0125.1141 (SD)

## Change\_J

 2017.1.21
 -Fixed an issue where the free space display was incorrect when using an SD card larger than 4GB.

 2017.1.20 - In the SD version, files to be executed/edited can now be used on the SD.
 　Please specify from setup. (SD can be specified only for SD version)
FX 0.99j

## Change\_J

- Added jump function to editor.
 　As a result, some of the function key assignments have been changed.

 　-[F1] (TOP) Jump to the beginning of the file.
 　-[F2] (BTM) Jump to the end of the file.

 　↓↓↓↓↓↓↓↓

 　-[F1] (JUMP) Displays the jump submenu.
 　 [F1] (TOP) Jump to the beginning of the file.
 　 [F2] (BTM) Jump to the end of the file.
 　　　[F3] (GOTO) Jump to any line in the file.
 　　　[F5] (Skip↑) Skips up by the number of pages (set in setup).
 　　　[F6] (Skip↓) Skip down by the number of pages (set in setup).
 　-[F2] (SRC) Enters string search mode.

 - Added the ability to skip any number of pages to the jump function, so the Page Up/Down function has been partially changed.

 　[SHIFT]+{UP] Page up by one page (6 lines).
 　[SHIFT]+[DOWN] Page down by one page (6 lines).

 - It is now possible to restart from the popup when breaking with the [AC] key.
 You can resume using the [F1][EXE] key.
FX 2.22

* 2019.0816.0826

## Change\_J

2019.8.16 Beta version (interpreter only)

```
       - Fixed a bug in the Int÷ command in DBL/CPLX mode.
       (Error) -5 Int ÷3->2
       (correct) -5 Int÷3->1

```

```
        2019.8.15 Beta version (interpreter only)
       /Integer mode MOD (command bug fixed.
       (Incorrect) MOD(-5,3)->5
       (Correct) MOD(-5,3)->1

```

```
       ・Fixed a bug where garbage appeared at the end of the program when using the indentation function in a program on the main memory. Did.

```
FX 2.45 beta 16

* 2020.0419.1007

## Additions

* Added fx-9860GIII to the model judgment in System(-1).
	+ Returns 5.

## Changes

* Improved auto-indenting function of Switch~Case~SwitchEnd.
* The System() command sample program created by Krtyski was updated to the version for fx-9860GIII.

## Fixes

* Fixed the bug in which a comment was made immediately after the If/ElseIf command, which was terminated when the next command was If.
* Fixed the bug that the program was terminated when the next command is "If" when a comment follows If/ElseIf.
* Fixed the bug in the assignment from a string variable to a string variable that was not assigned after intializing Mat.
* Fixed the bug that infinite loop occurs when imaginary numbers are used in non-CPLX mode.
* Fixed the bug of omitted multiplication.
FX 0.89

## Change\_J

 ・Entering a space at the beginning of a line no longer causes an error.
 　You can make it easier to read by adding an indent.

 - Added ElseIf command.
 (example)
 If A:Then
 Locate 1,1,"A"
 ElseIf B:Then
 Locate 1,2,"B"
 End If

 ・You can select whether to generate an error if there is no IfEnd corresponding to If in the setup.
 　If you turn on the check in the setup, an error will occur at the part of the If command that does not have a corresponding IfEnd when executed.

 - Added Switch command. Like C language, fall-through is possible. However, if Default is not the last option, it will not work as expected.
 　The new commands are Switch, Case, Default, and SwitchEnd. Break is a legacy command.
 (example)
 Switch A:
 Case 1:Locate 1,1,"A"
 Break
 Case 2:Locate 1,2,"B"
 Case 3:Locate 1,3,"C"
 Break
 Default
 Break
 SwitchEnd
FX 1.70

## Change\_J

2018.2.10 Beta (interpreter only)

```
       The [AC] key can now be used to enable/disable Break in the program.
       (e.g.) '#Break0 // [AC] key disabled
       (e.g.) '#Break1 // [AC] key enabled (default)

```

```
       ・ Added the ability to enter the key code of the GetKey command by pressing [SHIFT]+[3] in the editor.

```

```
       2018.2.2 - External fonts can now be installed with external font files. (See manual for details)

```

```
       The editor font can now be switched to an external font. (See manual for details.) The editor font can be switched to an external font from the Setup menu.

```

```
       Fixed a bug in Prog~Return that caused the return value of the Return command to be invalid.

```

```
       Added a setting to prevent the setup settings from being changed programmatically.
       　The SetupRecover item allows you to set whether or not the stock CasioBasic compatible settings will be restored after the program exits.
       　The affected settings are the following stock compatible settings
       　　Angle
       　　DrawType
       　　Coord
       　　Grid
       　　Axes
       　　Label
       　　Derivative
         　Plot/LineColor
       　　Sketch Line
         　Display Fix/Sci/Norm/Eng

```

```
       　Other settings extended in C.Basic are restored to their original settings after execution, even if they are changed in the program.

```

```
       Fixed a bug that the number of characters displayed in the title and item text display of the Menu command was shortened when special characters were used.

```

```
       The internal clock is no longer changed by assigning Ticks(%) to the timer variable.
       (Example: 0->Ticks)
       　Previously, the internal clock was also initialized to 00:00:00, but only the C.Basic timer variable is reset to 0.
       　This change in specification means that only the DATE and TIME commands can be used to change the clock.

```

```
       Lbl can now also use the Alias function. In addition, the name of the AliasVar command has been changed to Alias.
       （Example: Alias A=_ABCD
       (Example) Alias Mat A=_ABCD
       (Example) Alias Lbl A=_ABCD

```

```
       The specification has been changed so that time measurement is paused while GetKey1/2 is being executed.
       　You can select to pause the measurement or reset and restart the measurement in Setup.
       　The related commands are
       (format) '#GetKeyC
        　Default measurement pause and continue mode.
       (format) '#GetKeyR
       　The timekeeping will reset and restart after the execution of GetKey1/2.

```

```
       In matrix initialization, it is now possible to avoid clearing 0 when re-initializing an already allocated matrix area.
       (However, the maximum area to be used by the matrix must first be allocated.)
       (Format) {12,20}->Dim Dim Mat A
       (Example) 1,2,3[4,5,6]]->Mat A
        　　　{2,2}->Dim Dim Mat A
       　The contents of Mat A are [[1,2][3,4]].

```

```
       In the StrSrc(command, when the search start position was specified, the result was off by one.

```
Commands/WriteGraph

## WriteGraph

### Type

Function

Draw graph from matrix data.

## Syntax

`WriteGraph <x>,<y>,<dx>,<dy>,Mat < >|Mat < >[a,b],<type>,[overlap]`

## Parameters

`type``N|R|M`

Determines the drawing mode.
`N` uses normal color.
`R` uses inverted color.
`M` applies mesh layer.
`overlap``X|O|A`

Determines the overlapping mode.
* `X` uses XOR logic.
* `O` uses OR logic.
* `A` uses AND logic.

If omitted, write over the pixels.
Assessment of Clinical Competency

**Domains of clinical competence**

Competence builds on a foundation of basic clinical skills, scientific knowledge, and moral development. It has several different domains;

* Cognitive function: acquiring and using knowledge to solve problems.

* Integrative function: using biomedical and psychosocial data in clinical reasoning.
* Relational function: communicating effectively to patients, carers, and colleagues.
* Affective and moral function: willingness, patience, emotional awareness to use these skills judiciously and humanely.

The central features of assessing clinical competence are to:

* Establish the range of knowledge, skill, and understanding that an individual should have achieved at a certain stage of their career.

* Design tasks that appropriately and accurately sample and estimate level of competence.
* Establish cut off points to separate the competent from the not yet or barely competent.

https://www.thelancet.com/journals/lancet/article/PIIS0140-6736(00)04221-5/fulltext

**Assessment of clinical competence**

**Millers pyramid**

Miller’s pyramid (1990) shows a of ranking clinical competence for both educational settings and in the workplace.

It distinguishes between knowledge at the lower levels and action in the higher levels.

In order to truly understand where students or employees stand with certain subjects/tasks, they should be assessed in the setting that we expect them to be delivered.

https://www.stemlynsblog.org/better-learning/educational-theories-you-must-know-st-emlyns/educational-theories-you-must-know-millers-pyramid-st-emlyns/

Level 1 and 2

* “Assessment of knowledge”

* This is generally performed using by traditional assessment tools such as written and oral tests.
* In medical, surgical, and the majority of secondary care specialties this is assessed by the written examinations of the Royal Colleges involving:

* multiple choice questions (MCQs),
* best of five questions,
* extended matching,

* short answer questions.

Level 3

* For medical specialties, this level is currently assessed by practical clinical examinations including:

* objective structured clinical examinations (OSCEs)
* mini-clinical evaluation exercise (mini-CEX)

* and/or performance evaluation guides.

* This type of assessment can be used in a formative or a summative fashion provided the content of the tasks are tailored to the purpose of the examination.

https://pmj.bmj.com/content/80/940/63
FX 1.62

* 2017.0814.2042

## Change\_J

 - Fixed an issue where the date and time display on the setup screen was sometimes displayed in unrelated locations.

 -Added a setting to return to the file list without returning to the editor when a program is interrupted during execution.
 　You can set it from setup.

 - Command usage history can now be displayed when entering a command.
 　Press the [MENU] key to display the past 32 commands.
 　Furthermore, if you press the cursor [←][→], the list will be sorted and displayed in descending order of frequency of use.

 - Added a mode that allows dot editing in matrix editing.
 　If you press the [OPTN] key while displaying the matrix, it becomes the dot editor.
 　Whether the dot is black or white is determined by whether the value of each element in the matrix is ​​0 or not.

 - It is now possible to copy and paste matrix data to the clipboard.
 　In matrix editing mode, you can copy with [SHIFT] + [8] (CLIP) and paste with [SHIFT] + [9].
 (C.Basic) format, so matrix data can be pasted in the editor.

 - Supports reading and writing of BMP format. (1 bit, monochrome only)
 (Example) BmpSave "TEST",Mat A
 　Save the data of matrix A in BMP format to "TEST.bmp".
 (Example) BmpLoad("TEST")->Mat A
 　Load the data of "TEST.bmp" into matrix A.

 - Added DrawMat command. (This is the ML command specification for the conventional DotPut command.)
 (Format) DrawMat Mat A[px,py], x, y, width, height [,horizontal enlarged width][,vertical enlarged width][,color][,probability]
 (Example) DrawMat Mat A, 0, 0, 128, 64
 (Example) DrawMat Mat A[10,5], 0, 0, 40, 30, %150, %250 , 4, %50

 - Supported Capture files. Can read and write to storage memory. Up to 99 files can be used.
 (Example) StoCapt 20
 (Example) RclCapt 20

 - The file size of Pict files has been halved from 2KB to 1KB.

 ・StrRepl(command added.
 (Format) StrRepl(string, search string, replacement string [, search start position])

```
       		(Example) StrRepl("Hello World","World","Earth") -> "Hello Earth"
       		(Example) StrRepl("abcabc","ab","ff",3) = "abcffc"
       		(Example) StrRepl("abcabc","ab","ff") = "ffcffc"

```

 - Fixed a bug where 0 could not be selected when Base was 0 when selecting any matrix in the Mat editor.

 - Disabled returning to the OS using the [MENU] key during interrupt operation. (When the cursor blinks, etc.)
FX 2.46

## Change\_J

```
   (build03)   2023.10.26

```

 -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)

```
   (build02)   2023.10.25

```

 -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 GIII Model)
 　(If the file size is smaller, the previous file is erased and a new file is saved.)

```
   (build01)   2023.10.23

```

 -Changed to create [CBasic] folder only at first startup and use it as the default save and load folder.(Only for GIII Model)
 -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.
Commands/Rename

Renames a specified file in **SMEM**.

## Parameters

`name.ext`

Name and file extension of the file.
Attempting to rename a non-existent file will result in *Can't Rename file* error message with code -1.
Attempting to rename the same file as `Delete` is at will result in *Can't Rename file* error message with code -13.
## Examples

`Rename "foo.g1m","bar.g1m"`

Renames foo.g1m to bar.g1m.
FX 0.70

**FX 0.70** added debugging and text search functions. It was reuploaded twice to fix bugs.

## Program editor

* Added the ability to resumes the program from the current position of the cursor F6.
	+ Available once the program is paused by AC/ON.

SHIFT

* Added text search function F6.
* Due to the addition of text search, the key procedure of hidden "8queen" and "Asciit4" benchmarks has been changed to ^.

## General

### Error handling

* Added new error messages:
	+ "Not found Prog"
	+ "Too many SubProg"

### Matrix editor

* Changed the description of double type matrix from "(double)" to "(Dbl)".

## Fixes

**2015.1115.1947**

* Fixed various unknown bugs.

**2015.1116.0838**

* Some garbled characters appear in the screen while running a program.
FX 0.51

**FX 0.51** was an undocumented update that added matrix editor and favorites priority keys.

## File manager

SHIFT

* Added favorites priority keys.
	+ F4 moves the selected favourited program upward.
	+ F5 moves the selected favourited program downward.
* Added matrix editor F2.
* Updated favorites icon to .

## General

### Matrix editor

* Only Mat A~Z are editable at this time.
* F1 deletes the selected matrix.
* F2 deletes all matrices.
* F3 creates the selected matrix with specified dimension.
FX 1.53

## Change\_J

 - Fixed a bug in the StrRight command.
 (Example) StrRight("12345",0)
 　The result should have been a null string, but it was "5".

 - Fixed a bug where acos was set to cos during List operation.
 - Fixed a bug where the Yn variable could not be used with the Grpah Y= command.
 (Example) "sin X"->Y1
 　　　Graph Y=Y1
 - Fixed a bug where text conversion would be incorrect if a quotation mark was used as an escape character in a string.
 (This seems to be strange even with fx-CG10/20.)

 - Lowercase letters can now be used in label names with the Lbl command.
FX 1.41

## Change\_J

 - Added setting to not initialize Mat matrix &List when starting C.Basic when using hidden RAM. (Setup required)
 　In that case, if you close C.Basic, use other functions or add-ins, and then start C.Basic again, the Mat matrix &List at the time of last termination will be restored.
 　(If no other add-ins are using hidden RAM)

 -Fixed an issue where numerical key input was not possible in the MENU command.
FX 1.96

## Change\_J

2019.4.21 Beta version (interpreter only)

```
       - Added the ability to display Help when entering commands in the editor. Set during setup. Found
       　in the HELP folder in zip ~~HELP1.txt /~~HELP1.g1m file is a Help file.

```

　　　　　　　　　　　　　Please put it in the root folder or the same folder as the program. -

```
       Added nCr/nPr.

```

```
       - Fixed a problem where the file name display was abnormal when converting from text to g1m. Fixed.
       - Fixed a bug where external fonts were not loaded.

```

```
       - The default save folder for PICT/CAPT files has been changed to "PICT" and "CAPT" in all uppercase letters.
       - The folder status of the file mode has been saved. - Fixed a bug
       where it was not possible to save even though there was free area in the main memory.
       - Fixed a bug where List1 to List6 could not be used.
       - 1 bit Fixed an issue where element addresses were incorrectly obtained for 4-bit matrices.
       - Fixed an issue with continuous operations on matrices and Lists. - Fixed an issue
       where the result was different when using a negative argument in StrShift. ( Example
       ) StrShift("1234567", -2)->" 12345"
       ・Partially corrected the graph drawing command.

```
Commands/Screen

## Screen

### Type

Function

Controls the display memories.

## Syntax

* `Screen`
* `+Screen`
* `Screen<mode>`
* `Screen#<vw-x>,<vw-y>,[vw-Xmin],[vw-Xmax],[vw-Ymin],[vw-Ymax]`
* `Screen%<gx>,<gy>,[vw-Xmin],[vw-Xmax],[vw-Ymin],[vw-Ymax]`

## Parameters

* `Screen`

Switches between the text and graphic VRAM mode.
* `+Screen`

Returns the current status of `Screen`.

`T`, `t` or `0` switches to text VRAM.
`G`, `g` or `1` switches to graphic VRAM.
`O` synthesizes the text VRAM with the graph VRAM during screen transfer.
`OT` disables the update to VRAM after screen transfer.
`N` switches to normal mode.
`R` inverts the whole display.
`V` restores to the default VRAM.
`VT` changes the drawing target to the saved area of text VRAM.
`VG` changes the drawing target to the saved area of graphic VRAM.
* `Screen#`

Converts ViewWindow graph coordinate to graphic coordinate.
* `Screen%`

Converts graphic coordinate to ViewWindow graph coordinate.
* `vw-x,wv-y`

Sets the ViewWindow graph coordinate.
* `gx,gy``FX1..127,1..63``CG0..378,0..186`

Sets the postion of the ending point.
FX 1.56

## Change\_J

 -Added a setting to stop the screen from updating by specifying 0 for the RefrshTime value in the LCD drawing refresh control.
 　Can be specified in setup and commands.
 (Example) RefrshCtrl 2
 　　　RefrshTime 0
 　All text and graphics drawing commands will no longer update the screen immediately after the command is executed.

 -Added the TicksWait command to wait in 1/128 second units.
 　(This is a technique that combines the Ticks and Wait commands in succession. The command input key assignment has been partially changed in connection with this.)
 (Example) TicksWait 128
 　Wait 1 second.
 (Example) TicksWait -128
 　Waits for 1 second since the last execution of the TicksWait command. If it has already exceeded 1 second, it will move on to the next process without waiting.
 (Example) TicksWait -4
 　Waits 4/128 seconds since the last execution of the TicksWait command. Just by writing this command in a loop, you can create a loop 32 times per second.
FX 0.99

## Change\_J

 - Added debug mode to step through the program.
 　Enter debug mode by pressing [SHIFT]+[F6] in file mode.
 　It also enters debug mode after suspending with [AC] or with the ACBreak command.
 　[F1]: Resume the program. Same as conventional Cont.
 　[F2]: Step execution. After executing the step, you will immediately return to the editor screen.
 　[F6]: Display the screen (graphics/text) before the program was interrupted.
 To switch between the graphic screen and text screen, press [SHIFT]+[F6].

 - You can now optionally specify the Mat matrix that is the substance of the Str character variable.
 　This will be described in the comment section before using the Str variable.
 (Example) '#Str A
 　Secure the Str variable as Mat A.
 　{20,65}→Dim Mat AB
 　is the same as
 (Example) '#Str B,30,256
 　Reserve 30 Str variables as Mat B, allowing up to 255 characters.

 - Added Ticks in addition to % as a timer variable for 1/128s. Functionally they are exactly the same.
FX 2.39

* 2019.1201.1049

FX 2.39 is an update to C.Basic FX, released on November 29, 2019.

## Changes

* "Withot" in some error messages has been changed to "w/o".
* Increased the maximam number of stored cursor positions from 7 to 16.
* mproved error messages.

## Fixes

* Fixed the problem that [EXIT] does not cancel the debug mode when the Help function is enabled.
* Fixed a bug when using List as an argument in the DrawGraph command.
FX 2.20

* 2019.0805.1756

## Change\_J

2019.8.5 Beta version (interpreter only)

```
       Fixed a bug that occurred when a program with the same name already existed when creating a new program.

```

```
        2019.8.4 Beta version (interpreter only)
       - Added indentation function to the editor.
       　If you press [EXE], the indentation (space) at the beginning of the current line will continue to the next line.

```

```
       - In the setup settings, indentation is automatically added when loading a program. (Edit Indent+)
       　Programs that have already been indented will not be added.
       　You can also remove spaces, including indents, when saving. (=Convert to CasioBasic compliant source.)
       　The following command adds indentation.
       　　If-Else-ElseIf-IfEnd
       　　For-To-Step-Next
       　　While-WhileEnd
       　　Do-LpWhile
       　　Switch-SwithEnd

```

```
       ・Fixed a bug where Dim List1 using the old command List1 did not work.

```
FX 2.42

FX 2.42 is an update to C.Basic FX, released on January 6, 2020. This update mainly fixes some bugs on calculus.

## Changes

* Changed the specification of the integration command so that the initial calculation precision is valid 5 digits and the result is not rounded.

## Fixes

* Fixed the bug of ML command when there is a drawing range outside the screen.
* Fixed the bug when the integral calculation formula causes Math error.
FX 1.10

## Change\_J

2017.3.11 Beta 2 version (interpreter only)

```
       2017.3.5 Beta 1 version (interpreter only)
       - Supported list function.
       ・Support commands
       　List Ans
       　{1,2,3,4,5}->List 1
       　10->Dim List 1
       　Dim List 1
       　Seq( X^2, X, 1, 10, 2 )->List 2
       　Augment(List1,List2)->List3
       　Mat>List( Mat A, 2) -> List 1
       　List>Mat( List 1, List 2,..) -> List 9
       　Fill(3,List1)
       　Min(List1)
       　Max(List1)
       　Mean(List 1)
       　SortA(List1)
       　SortB(List1)
       　Sum List1
       　Prod List1
       　Sigma (formula, control variable, initial value, final value, increment)

```

```
       - Supports operations involving lists (four arithmetic operations and functional operations).
       　Supported A + List 1[B-1] * List 2[C+1]
       　Supported A + List 1 + A - B * Cos C * List 2
       　Supported Sin List 1 + Cos List 2 * log List 3

```

```
       ・DrawStat command and Graph(X,Y)=( command are partially supported.
       　As a related command,
       　BG-None, BG-Pict, G-Connect, G-Plot
       　S-Gph1, S-Gph2, S-Gph3, DrawOn, DrawOff, Scatter, xyLine, Square, Cross, Dot
       　Adding commands and
       　TθMin
       　TθMax
       　TθPtch
       　Now supports reading and writing of these ViewWindow setting variables.

```

```
       - Added file Delete command.
       (Example) Delete "TEST.txt"
       　Delete "TEST.txt".
       (Example) Delete "TEST.txt", 1
       　Confirm before deleting.

```

```
       -Fixed an issue where [F1] (JUMP) jump submenu [F6] Skip down did not work in debug mode.

```

```
       -Fixed an issue where the final value of the control variable exceeded the value in the For~Next command.

```

```
       - The value of Ans was always the result of the expression (→), but it has been changed to the original specification where Ans is not updated if there is an assignment.

```

```
       - Fixed a bug where an error would occur if there was a space before the Then in the If~Then command when there was a space at the beginning of a line.

```

```
       - Fixed a bug where the [AC] break would not work if there was a loop structure in one line.
       (Example) While GetKey<>31:WhileEnd

```

```
       - Fixed a bug where the subprogram would not terminate with the Stop command.

```

```
       - The default matrix used for string variables has been changed from s (lowercase) to r for additional variables.

```

```
       -Added a wait function that slows down the overall execution speed. Set with setup and Wait commands.
       　If set during setup, all programs will be affected.
       　If you want to adjust individual programs, use the Wait command.
       　(Example) Wait 100
       　　Set the weight value to 100.
       　　The speed reduction is the same for both SH3 and SH4 aircraft.
       　　A weight value of 10 is approximately 1/2, and a weight value of around 100 is approximately 1/10 the speed. (The degree of speed reduction varies depending on the program.)

```
Commands/FillRect

## FillRect

### VRAM

Graphic

Draws a filled rectangle on the screen.

## Parameters

`@`

Ignores VRAM restriction.
`x1,y1,x2,y2``FX1..127,1..63``CG0..378,0..186`

Sets the position of the starting and ending points.
`C`

Clears a specified rectangular area on the screen.
`X`

In C.Basic for FX, reverses the display of a specified area of pixels.
In C.Basic for CG, draws a rectangle with a mesh layer.
FX 0.40

**FX 0.40** added support for probability commands, a new setting, and fixed a few issues. It was reuploaded to fix an unknown issue.

## General

### Evaluation

* Input routine now supports 2-byte character.

### Settings

* Added `Break Stop`.
	+ Determine whether AC/ON breaks the program.

## Fixes

* Unable to use CATALOG after executing the program.
* The graph display is off by one dot.
FX 1.20

## Change\_J

 - Some operations on arrays (matrix) are now possible by extending the four arithmetic operations on lists.
 　Only addition and subtraction between matrices and matrix and scalar operations are compatible with pure matrices.
 (Example) Mat A + Mat B
 (Example) Mat A \* B + Int Mat C

 - Improved compatibility of BG-None and BG-Pict commands.

 - Corrected a conversion error of Exp(-) when converting from a text source.
 (Incorrect) Exp(-)9 -> Exp(-)9
 (Correct) Exp(-)9 -> e-9

 - The Getkey1 and Getkey2 commands used to return to the main menu with the [MENU] key, but now they no longer return as with the original Getkey.
FX 2.46 beta 1

## File manager

* Now creates "[CBasic]" folder at the first startup and set it as the default save folder.[*GIII/35+EII Only*]

## Fixes

-Fixed an issue where the final values ​​of control variables for For~Next in integer mode were not compatible.
 - Fixed a bug where assignment of longer strings would fail when the string length was limited.
 　(Length - 1 is the maximum number of characters that can be stored.)
 - Fixed a bug in the Pol()Rect() function where no answer was returned to ListAns[0]ListAns[1] when MatBase was 0.
 -Fixed the rounding process for ENG display.
 -Fixed a bug that caused the app to freeze when using the Ref and Rref functions.
 - Added and corrected commands that could not be input with C.Basic command input.
FX 0.88

## Change\_J

 - Fixed a bug where the editor would freeze when using kana characters.
 - Fixed an issue where the first character was not input in continuous character input mode.
 - Fixed an issue where the program's time measurement (TimeDsp) became inaccurate when the time variable % was changed within the program.

 - Added display specification for Locate command.
 　Use [,R] at the end of the command to highlight it.
 (Example) Locate 1,2,"Test",R
 　　"Test" appears in reverse video at text coordinates (1,2).

 - Added display specification for Text command.
 　At the end of the command, press [,R] to display a reverse image, [,O] to display an or, and [,V] to display a reverse or.
 　[.N] Normal
 　[.R] Reverse
 　[,O] Or
 　[,V] reVerse or
 (Example) Text 20,80,"Test",R
 　　"Test" appears in reverse video at graphical coordinates (80,20).

 - Added the LocateYX command, which displays the same characters as Locate on the graphics screen.
 　When specifying coordinates, the Y coordinate comes first, just like with the Text command.
 　Use [,R] at the end of the command to highlight it.
 (Example) LocateYX 20,80,"Test",R
 　　"Test" appears in reverse video at graphical coordinates (80,20).

 - Added the ReadGraph (command) to read the bitmap data on the graphic screen bit by bit.
 (Format 1) ReadGraph(px1,py1,px2,py2)→Mat A
 　　Imports the range (px1,py1)-(px2,py2) on the graphic screen into a Mat A matrix (forcibly specified byte).
 　　There is no need to reserve a line in advance. Automatically allocates appropriate matrix size.
 　　The data can be used as is with the WriteGraph command.

 - Added WriteGraph command to display bitmap data.
 　Input the bitmap data into a Mat matrix in advance.
 (Format 1) WriteGraph x,y,dx,dy,Mat A,P1[,P2]
 　　Draws the data of Mat A in the range of width dx and height dy from the coordinates (x, y) of the graphic screen.
 　　P1 is the processing specification before displaying the data; [,N] is no processing, [,R] is inversion, [,M] is mesh processing,
 　　If P2 is not specified, it will be overwritten, [,A] will display And, [,O] will display Or, and [,X] will display Xor.
 (Example) 1,2,4,8,16,32,64,128→Mat A
 　　WriteGraph 80,20, 8,8, Mat A, N
 　　A diagonal line [/] will be drawn from the coordinates (80,20) on the graphics screen.

 (Format 1) WriteGraph x,y,dx,dy,Mat A[m,n],P1[,P2]
 　　Draws the data from [m,n] of Mat A in the range of width dx and height dy from coordinates (x,y) on the graphic screen.
 (Example) [[16,32,64,128][128,64,32,16]]→Mat A
 　　WriteGraph 80,20, 4,4, Mat A[1,1], N
 　　WriteGraph 80,24, 4,4, Mat A[2,1], N
 　　A [<] shape is drawn from the coordinates (80,20) on the graphics screen.

 　　WriteGraph 80,20, 4,8, Mat A, N
 　　But the result is the same.

 Bitmap data is in 8-bit units and the upper left is the standard.
FX 2.43

* 2020.0115.1647 (?)
* 2020.0120.1327

FX 2.43 is an update to C.Basic FX, released on January 11, 2020 and reuploaded on January 20, 2020. This update mainly fixes some bugs.

## Changes

* Changed specification to not switch to the same mode when switching the memory mode (storage memory/main memory).

## Fixes

* Fixed the bug that [SHIFT]+[F6](debug) failed to debug mode when "Force Return" was set in setup.
* Fixed the bug that Alias for extension variables did not cause an error.

## Reupload

FX 2.43 was reuploaded 9 days later to fix one bug.

* Fixed the bug that Version command returns 242 wrongly.
FX 1.71

* 2018.0219.0005 (?)
* 2018.0221.2023

## Change\_J

2018.2.21 Beta (interpreter only)

```
       Added StrAsc(command to get the ASCII code of a character.　[Shift]+[VARS](PRGM)-[F6]-[F6]-[F3](ExStr)-[F6]-[F2](StrAsc)
       (Example) StrAsc("Ascii")
       　Returns the ASCII character code 65 (0x41) for the first 'A' in the string.

```

```
       Fixed a bug that caused closing parentheses to be skipped in the StrLen(, StrCmp(, and StrSrc( commands.
       (Example) (10-StrLen("ABC"))*2
       　The correct value was (10-3)*2, which should have been 14, but one closing bracket was skipped and the value was interpreted as (10-StrLen("ABC")*2, which was 4.

```

```
       2018.2.18 - Fixed extended variable names and label names starting with an underscore being converted to command names when converting from text.

```

```
       Fixed a bug that could cause a system error when displaying Gaiji/Kana characters.

```

```
       A high-resolution 1/32768s timer was added to the Ticks and % timer variables. (*This is an extension for the SH4A version only.)
       　Adding % after the command will set the resolution to 1/32768s.
       (Example: Ticks%) Ticks%Wait
       （Ticks%Wait
       (Example) %%%Wait
       (Example) %%Wait

```

```
       A high-resolution 1/32768s timer can now be selected for the program execution time measurement function. (Set in Setup.)
       　Measurement can be made to 4 decimal places. (*This is an extension for the SH4A version only.)

```
FX 1.91

* 2019.0102.1154

## Change\_J

2019.1.

```
       - Fixed a bug where the subroutine call was inside a loop and the Goto command was used outside of the loop inside the subroutine.

```

```
       2018.12.31 - You can now jump outside the loop with the Goto command without any options. (This is a trial implementation.)
       　(The (-) option with 1.90 is no longer valid.)

```
FX 1.79

* 2018.0612.1554

## Change\_J

2018.6.11 Beta version (interpreter only)

```
       - Fixed a bug where the [DEL] key was not working in the editor's Clip mode.
       - Main memory ( Main Memory) program files can now be used.If
       　you select main memory during setup, file save destinations and file operations will target program files in main memory.When
       　saving or copying files , You can change the save destination from Main Memory to Storage/SD, or from Storage/SD to Main Memory.When
       　in Storage/SD memory mode, select [F1] (Main Memory) to change the copy destination and save destination. This will be Main Memory.
       　If you select [F2] (g1m) in Main Memory mode, the copy destination and save destination will be storage/SD memory.
       - PICT files in the main memory can now be used with genuine compatibility specifications.
       ・The specifications of the CAPT file have been changed so that only the main memory is supported, just like the original version.
       - Fixed a bug where the List->Mat command was not working.
       ・Fixed the issue where the condition judgment was reverted to integer judgment in If, While, and Do commands in DBL mode from 0.50, which introduced complex numbers.
       - Fixed an issue where when reassigning a matrix by specifying an address, the assignment destination data would sometimes be changed.
       (*Columns secured by addressing are marked with * in the list display.)
       - The use of external fonts can now be set using commands.
       (*The setting will take effect when EnableExFont is set to On during setup.)
       (*If EnableExFont is set to Off during setup, it will remain Off and will not take effect.)
       (Format) SetFont 0This
       　command After that, you will no longer be able to use external fonts.
       (Format) SetFont 1
       　After this command, external fonts can be used.
       - It is now possible to obtain the heap area size and OS version using the System variable.
       　System(-2) returns the OS version as a 3-digit integer value. Version 2.09 returns 209.
       　System(-1) returns the model determination.
       　9860G:0 9860GII(SH3):2 9860GII(SH4A):3

```

## Fixes

1. ↑ https://community.casiocalc.org/topic/7637-cbasic-international-release/page-4#entry61770
2. ↑ https://community.casiocalc.org/topic/7637-cbasic-international-release/page-4#entry61772
Commands/Norm

Configures exponential display range.

## Parameters

`1`

Display values in scientific notation when the value is smaller than 10^-2 or larger than 10^10.
`2`

Display values in scientific notation when the value is smaller than 10^-9 or larger than 10^10.
`-1`

Returns the status of `**Norm**`.
## Examples

* When under `Norm 1` mode, `Norm -1` returns 1.
* When under `Fix 10` mode, `Norm -1` returns -1.
FX 0.98

## Change\_J

 - Supported text command display of kana characters + symbol characters.
 　If you press [OPTN] on the character selection screen, the characters will be displayed using the Text command.

 - You can now use $ in addition to & when handling Mat matrix strings.
 (Example) $Mat A[1] &Mat A[2]

 ・As a string function compatible with CasioBasic,
 + Concatenation between strings
 StrJoin(

```
                        StrLen
                        StrCmp(
                        StrSrc(
                        StrLeft(
                        StrRight(
                        StrMid(
                        Exp(
                        StrUpr(
                        StrDwr(
                        StrInv(
                        StrShift(
                        StrRotate(
                        Str 1-20

```

 　Added.
 　It is almost compatible with the original specifications, but there are some differences.
 　Str 1-20 implicitly uses s (lowercase) in the Mat matrix.
 　If you do not specify anything to initialize the Str string, the Mat s matrix will be initialized automatically as shown below.
 　{20,65}→Dim Mat s
 　So,
 　Str 3 is synonymous with $Mat s[3] or &Mat s[3].
 　The default Str string is 20, and the number of strings that can be stored is up to 64 1-byte characters.
 　Beforehand
 　{30,256}→Dim Mat s
 　If you initialize it like this, you can use Str strings from 1 to 30, and the string that can be stored is up to 255 characters.

 　The characters used in fx-9860GII are 1-byte characters and 2-byte characters.
 　Some functions, symbols, special characters, and kana characters are double-byte characters, so
 　Internally, 1-byte and 2-byte characters are mixed, but character functions treat them all as 1 character, just like in the original.
 　When directly accessing a matrix containing strings, be careful of the position of the characters.

 -Exp( is the same as the previous Eval(, so Eval( was deleted.

 - Added Sprintf( from the C language specification) as an additional string function.
 (Specification) Sprintf( "format specifier", argument 1[, argument 2, argument 3])
 (Example) Sprintf("A=%4d B=%3.2f",%A,#B)→Str 1
 　 If A=1234,B=45.678,
 　The string assigned to Str 1 is
 　"A=1234 B=45.68"
 　It becomes.
 　The format specification is compatible with sprintf in C language, or rather, it follows the C language specifications as is.

```
                         Up to three arguments can be specified, and can be integers, real numbers, or strings.

```

 　The % prefix specifies an integer, and the # prefix specifies a real number.

```
                         If the prefix is ​​omitted, the current execution mode (real number/integer) will be used.
                         There is no error checking for format specifications and argument correspondence, so if an error occurs with the Sprintf command, you may need to reset or restart.

```
FX 0.99h

## Change\_J

 - Added popup & top right busy marker display when loading file list.

 - Added a guide marker to the right edge of the editor to indicate the current position of the file.
 -Fixed a bug that could cause the editor to freeze at the end of the search.
 -Added RollUp and RollDown functions in the editor.
 　[SHIFT]+{UP] RollUp 50 steps.
 　[SHIFT]+[DOWN] Roll Down 50 steps.

 - Fixed a bug where multiplication between parentheses and combination of functions caused an error.
 (Example) (1+2)(3+4)^3

 -Fixed a bug where graphs that would go off the screen were not drawn when displayed as graphs.
FX 0.99c

## Change\_J

 - 0 can now be selected as the initial value of matrix elements.
 　You can select the start of the matrix by setting up or writing in the comment field.
 (Example) #Mat 1
 　　It starts from 1 as before.
 (Example) #Mat 0
 　　{3,2}→Dim Mat A
 　The matrices to be secured are A[0,0] to A[2,1].

 　At the same time, screen coordinates are also valid up to 0. The entire screen will now be the drawing area.
 (Example) Pxlon 0,0

 - The matrix type (1 bit, byte, word, longword, real number) can now be changed arbitrarily after the matrix is ​​secured.
 (Example) [[1,2,3,4][5,6,7,8]]→Mat AB
 　　　Mat A→Dim Mat AW
 　You can change a byte type Mat A matrix to a word type.
 　The number of elements changes depending on the changed type size.
 　[[0x12,0x34][0x56,0x78]]→Mat AW
 　will give the same result.

 (Note) When changing from a 1-bit matrix or to a 1-bit matrix, the rows and columns will be reversed.
 　This is because the 1-bit type matrix is ​​implemented as X and Y types, so it has a transposed matrix relationship with normal m and n type matrices.
 　{128,64}→Dim Mat AP
 　Reserved as a buffer for the LCD screen.
 　Mat A→Dim Mat AB
 　If you change it to a byte type matrix,
 　The element size will be {64,16}.
FX 0.97

* 2016.0125.2144

## Change\_J

 -Supports string assignment and initialization to Mat matrix.
 (Example) ["ABC","TEST","1+3+5"]→Mat A
 　Automatically allocates a byte-type Mat A[3,6] matrix and places a string in each element.
 　Mat A[1,1]="ABC"
 　Mat A[2,1]="TEST"
 　Mat A[3,1]="1+3+5"
 　It becomes.
 　To access "ABC" with a string-compatible command, use &Mat A, or &Mat A[1], or &Mat A[1,1].
 　To access "1+3+5", use &Mat A[3], or &Mat A[3,1].
 (Example) Locate 1,1,&Mat A
 　Same as Locate 1,1,"ABC".
 (Example) Locate 1,1,&Mat A[3,3]
 　Same as Locate 1,1,"3+5".

 This is a command that supports strings in the current version. Use &Mat format instead of "".
 ・””
 (Example) &Mat A[1]
 　　Same as "ABC".
 ・?
 (example)? →&Mat A
 　Enter a string into the matrix Mat A. The number of characters is limited by the number of secured elements.
 ・Locate
 ・Text
 ・LocateYX
 ・Eval(
 (Example) Eval("1+2+3")→6
 (Example) Eval(&Mat[3,3])→8
 Evaluates a string as a formula and returns the value.

 - Added ACBreak command.
 　The result is the same as suspending the program with [AC].
 　You can enable/disable the ACBreak command during setup.
 　When disabled (off), it is passed through and has no effect on program execution.

 - Added Copy function in file mode.
 　Copies the selected file with a different file name. If they have the same name, nothing will be done.
 　Some of the function key assignments have been changed due to a lack of function keys.

(a)
 - Fixed a bug where it would become impossible to do anything when the number of subprograms increased (more than 15).
 　The number of subprograms that can be opened simultaneously has been increased from 15 to 30.

 - Added a function to get the size of a matrix.
 ・ElemSize(
 　Returns the size (bits) of one element.
 (Example) ElemSize( Mat A )
 ・ColSize(
 　Returns m and row size of {m,n}.
 ・RawSize(
 　Returns n of {m,n}, column size.
FX 1.90

* 2018.1230.1309

## Change\_J

2018.12.30 Beta version (interpreter only)

```
       - Fixed a bug where Sci in display format specification was abnormal. did. (Enbugged in 1.84)

```

```
       2018.12.29 - You can now jump outside the loop with the Goto command. (This is a trial implementation.)
       (Format) Goto (-) Label name
       　(-) is a minus sign.
       (Example)
        Lbl A
        While 1
          Goto (-)A
        WhileEnd

```

```
       ・Rows and columns can now be selected when initializing the vector (Vct).
       - Fixed a bug where indirect specification of vector (Vct) was not working.

```