Restarted branch because of accidental email leak

This commit is contained in:
CalcLoverHK 2024-01-16 03:36:05 +08:00
parent 109f989eb3
commit e18fdeefd1
311 changed files with 181688 additions and 119 deletions

531
CREDIT.md Normal file
View File

@ -0,0 +1,531 @@
# Credit
C.Basic would not be possible without the following open source softwares and websites. We express our greatest appreciation to these authors.
We tried our best to gather the license information of all materials we used, but unfortunately we cannot retrieve some of them due to inaccessibility at the time of writing this CREDIT.md or difficulty in contacting authors for further confirmation.
If you are one of the copyright holders of these materials and would like to inform us of your license information, please open a issue ticket to do so. We apologize for the inconveniences caused.
### Lead developer
* Sentaro21
### Application developers
* Colon - Font File Manager, Font Editor, System Manager
* Tsuru - Font Editor
### Documentation helpers
* Krtyski - Japanese documentation
* Lephenixnoir - French documentation
* CalcLoverHK - English and Chinese documentation, C.Basic Wiki
# Website and documentation
## Katakana font
[Homepage (archived)](https://web.archive.org/web/20160408224416/http://baticadila.dip.jp/fx_sdk_005.html)
<details><summary>License</summary>
Adapted from _グラフ関数電卓 fx-9860G SDKグラフィック表示_ by Baticadila, 2013.
</details>
## e-Gadget
[Homepage](https://egadget.blog.fc2.com)
<details><summary>License</summary>
Copyright (c) 2013 Krtyski/e-Gadget - プログラム関数電卓. All rights reserved.
</details>
## fxReverse
[Homepage](https://bible.planet-casio.com/simlo/fxreverse/fxReverse2.pdf)
<details><summary>License</summary>
Copyright (c) 2008 Andreas Bertheussen, Simon Lothar.
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-nd/3.0.
</details>
# Software and program
## fx-9860G SDK
<details><summary>License</summary>
Copyright (c) 2006 CASIO Co., Ltd. All right reserved.
</details>
## miniSDK
<details><summary>License</summary>
Copyright (c) 2011 Simon Lothar. All right reserved.
</details>
## WSC and FVM
[GitHub page](https://github.com/merrymercy/WSC-and-FVM)
<details><summary>License</summary>
The MIT License (MIT)
Copyright (c) 2016 Mercy
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</details>
## Sprintf
<details><summary>License</summary>
Excerpt from snprintf.cpp:
```
/*
* Copyright Patrick Powell 1995
* This code is based on code written by Patrick Powell (papowell@astart.com)
* It may be used for any purpose as long as this notice remains intact
* on all source code distributions
*/
```
</details>
## MonochromeLib
[Homepage](https://www.planet-casio.com/Fr/logiciels/voir_un_logiciel_casio.php?showid=86)
<details><summary>License</summary>
Excerpt from MonochromeLib.h:
```
/*************************************************************/
/** MonochromeLib - monochrome graphic library for fx-9860G **/
/** MonochromeLib is free software **/
/** **/
/** @author Pierre "PierrotLL" Le Gall **/
/** @contact legallpierre89@gmail.com **/
/** **/
/** @file MonochromeLib.h **/
/** Include header for MonochromeLib **/
/** **/
/** @date 11-22-2011 **/
/*************************************************************/
```
</details>
## Gauss-Kronrod Quadrature
[Reference](https://community.casiocalc.org/topic/7637-cbasic-international-release/page-14#entry62978)
<details><summary>License</summary>
Adapted from the HP41 INTDIFFEQ module by Jean-Marc Baillard (https://hp41programs.yolasite.com), by acapde @ Universal Casio Forum, 2020. Adapted with permission.
</details>
## Ptune2
[Homepage](https://pm.matrix.jp/ftune2e.html)
<details><summary>License</summary>
GNU General Public License
_Version 2, June 1991_
_Copyright © 1989, 1991 Free Software Foundation, Inc.,_
_51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA_
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
### Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: **(1)** copyright the software, and
**(2)** offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
### TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
**0.** This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The “Program”, below,
refers to any such program or work, and a “work based on the Program”
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term “modification”.) Each licensee is addressed as “you”.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
**1.** You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
**2.** You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
* **a)** You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
* **b)** You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
* **c)** If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
**3.** You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
* **a)** Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
* **b)** Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
* **c)** Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
**4.** You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
**5.** You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
**6.** Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
**7.** If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
**8.** If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
**9.** The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and “any
later version”, you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
**10.** If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
### NO WARRANTY
**11.** BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
**12.** IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
### How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the “copyright” line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w` and `show c` should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w` and `show c`; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a “copyright disclaimer” for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
</details>
## QSort
<details><summary>License</summary>
Modified BSD License
_Copyright © 1992, 1993, The Regents of the University of California_
_All rights reserved._
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the University nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</details>

117
LICENSE
View File

@ -1,117 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice

336
LICENSE.md Normal file
View File

@ -0,0 +1,336 @@
GNU General Public License
==========================
_Version 2, June 1991_
_Copyright © 1989, 1991 Free Software Foundation, Inc.,_
_51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA_
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
### Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: **(1)** copyright the software, and
**(2)** offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
### TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
**0.** This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The “Program”, below,
refers to any such program or work, and a “work based on the Program”
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term “modification”.) Each licensee is addressed as “you”.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
**1.** You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
**2.** You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
* **a)** You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
* **b)** You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
* **c)** If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
**3.** You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
* **a)** Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
* **b)** Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
* **c)** Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
**4.** You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
**5.** You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
**6.** Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
**7.** If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
**8.** If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
**9.** The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and “any
later version”, you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
**10.** If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
### NO WARRANTY
**11.** BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
**12.** IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
### How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the “copyright” line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w` and `show c` should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w` and `show c`; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a “copyright disclaimer” for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View File

@ -1,3 +1,32 @@
# C.Basic
# C.Basic - Casio Basic IDE add-in for fx-9860 and fx-CG graphing calculators
A Casio Basic interpreter add-in for fx-9860 and fx-CG graphing calculators
[English](README_en.md) | [Français](README_fr.md) | [日本語](README_ja.md) | [中文(简体)](README_zh-Hans.md)
C.Basic (pronounce "c-dot-basic") is the reference implementation of Casio Basic, written in Casio SDK for fx-9860 and miniSDK for fx-CG.
The add-in is designed for programmers who want to incorporate SDK-exclusive features to their Casio Basic programs, without having to use their PC to compile an add-in and worry about the error-prone debugging environment of C/C++.
C.Basic is only an interpreter at the current stage. In the future, C.Basic will evolve into C:Basic ("c-colon-basic") which includes a compiler.
## Features
* Achieve add-in like performance with little to no modifications to existing Casio Basic programs
* Access and edit programs directly in SMEM and SD card
* Robust editor with features from modern IDE — syntax highlighting, indentation, variable/matrix lookup and debugging
* Extended commands with Casio Basic style syntax
* Emulate G1M programs in fx-CG calculators
## Things to know
* If you are an fx-CG10 or fx-CG20 user, C.Basic will ask whether you want it to overclock your calculator to increase the performance on the screen transfer.
* The mechanic is based on [Ptune2](https://pm.matrix.jp/ftune2e.html), an overclocking add-in made by the same author of C.Basic. This prompt will increase your processor core clock (IFC) from 58.98 MHz to 117.96 MHz.
* Since overclocking could be potentially dangerous, use it at your own risk. You can disable this prompt in the settings at anytime.
* As C.Basic is written in C/C++, it uses floating point to express numbers instead of binary-coded decimal that Casio Basic uses. As such, handling non-integers may cause numerical errors. You are advised not to use C.Basic for applications involving serious calculations.
## License, credit and wiki
C.Basic is licensed under the GNU General Public License, version 2. See [LICENSE.md](LICENSE.md) for the full license text.
See [CREDIT.md](CREDIT.md) for the credit list.
Check out the official C.Basic Wiki by clicking the `Wiki` tab in the navigation bar.

2670
doc-cg/ChangeCG_EN.txt Normal file

File diff suppressed because it is too large Load Diff

4666
doc-cg/ChangeCG_J.txt Normal file

File diff suppressed because it is too large Load Diff

1236
doc-cg/Command_List_CG.txt Normal file

File diff suppressed because it is too large Load Diff

60
doc-cg/ErrorCode_List.txt Normal file
View File

@ -0,0 +1,60 @@
Error Code List
------------------------------
1: Syntax ERROR
2: Ma ERROR
3: Go ERROR
4: Nesting ERROR
5: Stack ERROR
6: Memory ERROR
7: Argument ERROR
8: Dimension ERROR
9: Range ERROR
11: Non-Real ERROR
20: Com ERROR
21: Transmit ERROR
22: Receive ERROR
28: Too Much Data
33: Missing Next
34: Missing For
35: Missing WhileEnd
36: Missing While
37: Missing LpWhile
38: Missing Do
39: Not Loop ERROR
40: Zero Division
41: Undefined Label
42: Not Enough Memory
43: String Too Long
44: No Matrix array
45: Invalid Ary Size
46: Prog Not Found
47: Too Many SubProg
48: Missing IfEnd
49: Missing If
50: Missing Switch
51: Missing Switch
52: Missing SwitchEnd
53: Missing Switch
54: File Not Found
55: Illegal Element
56: Com Opened
57: Com Closed
58: Invalid Type
59: Out of Domain
60: Var Undefined
61: Func Undefined
62: Not Supported
63: VarLimit Exceeded
64: Duplicate Def
65: Address Align ERR
66: Time Out
70: Missing Except
71: Missing Try
72: Missing Try73: Can not Support (#003F)
74: Can not Support (#041F)
75: Can not Support (#F820)
76: Can not Support (#FC00)

View File

@ -0,0 +1,160 @@
---------------------------------------------------------------------------------
C.Basic for CG Ver 1.00beta Extended Opcode List
Last edited by sentaro21/Colon, 15 Jun 2019(UTC)
---------------------------------------------------------------------------------
0x00A7 "not " // Not -> not
0x009A " xor " // add space
0x00AA " or " // add space
0x00BA " and " // add space
0x00FA "Gosub "
0x7F58 "ElemSize("
0x7F59 "ColSize("
0x7F5A "RowSize("
0x7F5B "MatBase("
0x7F5C "ListCmp("
0x7F5D "GetRGB(" // for CG
0x7F5E "RGB(" // for CG
0x7F5F "Ticks"
0x7F9F "KeyRow("
0x7FCF "System("
0x7FDF "Version"
0x7FF5 "IsExist("
0x7FF6 "Peek("
0x7FF8 "VarPtr("
0x7FFA "ProgPtr("
0xF70C "Return " // add space
0xF70F "ElseIf "
0xF717 "ACBreak"
0xF737 "Try "
0xF738 "Except "
0xF739 "TryEnd"
0xF73B "DotPut("
0xF73D "DotTrim("
0xF73E "DotGet("
0xF79D "StoCapt"
0xF7DD "Beep "
0xF7DE "BatteryStatus" // for CG
0xF7DF "Delete "
0xF7E0 "DotLife("
0xF7E1 "Rect "
0xF7E2 "FillRect "
0xF7E3 "LocateYX "
0xF7E4 "Disp "
0xF7E8 "ReadGraph("
0xF7E9 "WriteGraph "
0xF7EA "Switch "
0xF7EB "Case "
0xF7EC "Default "
0xF7ED "SwitchEnd"
0xF7EE "Save "
0xF7EF "Load("
0xF7F0 "DotShape("
0xF7F1 "Local "
0xF7F2 "PopUpWin("
0xF7F4 "SysCall("
0xF7F5 "Call("
0xF7F6 "Poke("
0xF7F8 "RefrshCtrl "
0xF7FA "RefrshTime "
0xF7FB "Screen"
0xF7FC "PutDispDD"
0xF7FD "FKeyMenu("
0xF7FE "BackLight "
0xF90E "Const "
0xF90F "Alias " // AliasVar -< Alias
0xF940 "ToStr(" // Str( -> ToStr(
0xF941 "DATE"
0xF942 "TIME"
0xF943 "Sprintf("
0xF944 "StrChar("
0xF945 "StrCenter("
0xF946 "Hex("
0xF947 "Bin("
0xF948 "StrBase("
0xF949 "StrRepl("
0xF94D "StrSplit("
0xF94F "Wait "
0xF950 "StrAsc("
0xF960 "GetFont("
0xF961 "SetFont "
0xF962 "GetFontMini("
0xF963 "SetFontMini "
0xF999 "Plot/Line-Color " // for CG
0xF99B "Black " // for CG
0xF99C "White " // for CG
0xF99D "Magenta " // for CG
0xF99E "Cyan " // for CG
0xF99F "Yellow " // for CG
0xF9BE "Back-Color " // for CG
0xF9BF "Transp-Color " // for CG
0xF9C0 "_ClrVram"
0xF9C1 "_ClrScreen"
0xF9C2 "_DispVram"
0xF9C3 "_Contrast"
0xF9C4 "_Pixel "
0xF9C5 "_Point "
0xF9C6 "_PixelTest("
0xF9C7 "_Line "
0xF9C8 "_Horizontal "
0xF9C9 "_Vertical "
0xF9CA "_Rectangle "
0xF9CB "_Polygon "
0xF9CC "_FillPolygon "
0xF9CD "_Circle "
0xF9CE "_FillCircle "
0xF9CF "_Elips "
0xF9D0 "_FillElips "
0xF9D1 "_ElipsInRct "
0xF9D2 "_FElipsInRct "
0xF9D3 "_Hscroll "
0xF9D4 "_Vscroll "
0xF9D5 "_Bmp "
0xF9D6 "_Bmp8 "
0xF9D7 "_Bmp16 "
0xF9D8 "_Test"
0xF9D9 "_BmpZoom "
0xF9DA "_BmpRotate "
0xF9DB "BmpSave "
0xF9DC "BmpLoad("
0xF9DD "DrawMat "
0xF9DE "_BmpZmRotate "
0xF9DF "_Paint " // for CG
0x7F3A "MOD(" // SDK emu not support OS 2.00 or later
0x7F3C "GCD(" // SDK emu not support OS 2.00 or later
0x7F3D "LCM(" // SDK emu not support OS 2.00 or later
0x7F84 "Vct" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later
0x7F87 "RanInt#(" // SDK emu not support OS 2.00 or later
0x7F88 "RanList#(" // SDK emu not support OS 2.00 or later
0x7FB4 " Xor " // SDK emu not support OS 2.00 or later
0x7FBC " Int/ " // SDK emu not support OS 2.00 or later
0x7FBD " Rmdr " // SDK emu not support OS 2.00 or later
0xF79E "Menu " // SDK emu not support OS 2.00 or later
0xF930 "StrJoin(" // SDK emu not support OS 2.00 or later
0xF931 "StrLen(" // SDK emu not support OS 2.00 or later
0xF932 "StrCmp(" // SDK emu not support OS 2.00 or later
0xF933 "StrSrc(" // SDK emu not support OS 2.00 or later
0xF934 "StrLeft(" // SDK emu not support OS 2.00 or later
0xF935 "StrRight(" // SDK emu not support OS 2.00 or later
0xF936 "StrMid(" // SDK emu not support OS 2.00 or later
0xF937 "Exp>Str(" // SDK emu not support OS 2.00 or later
0xF938 "Exp(" // SDK emu not support OS 2.00 or later
0xF939 "StrUpr(" // SDK emu not support OS 2.00 or later
0xF93A "StrLwr(" // SDK emu not support OS 2.00 or later
0xF93B "StrInv(" // SDK emu not support OS 2.00 or later
0xF93C "StrShift(" // SDK emu not support OS 2.00 or later
0xF93D "StrRotate(" // SDK emu not support OS 2.00 or later
0xF93E "ClrVct" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later
0xF93F "Str " // SDK emu not support OS 2.00 or later
0xF94A "CrossP(" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later
0xF94B "DotP(" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later
0xF95B "Norm(" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later
0xF95E "UnitV(" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later
0xF96D "Angle" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later

BIN
doc-cg/JIS_to_GB_Tbl.txt Normal file

Binary file not shown.

2773
doc-cg/ManualCG_EN.txt Normal file

File diff suppressed because it is too large Load Diff

2813
doc-cg/ManualCG_FR.txt Normal file

File diff suppressed because it is too large Load Diff

3229
doc-cg/ManualCG_J.txt Normal file

File diff suppressed because it is too large Load Diff

175
doc-cg/Mat_Vct_List.txt Normal file
View File

@ -0,0 +1,175 @@
------------------------------------------------------------
Mat n Vct n List n
1: Mat A
2: Mat B
3: Mat C
4: Mat D
5: Mat E
6: Mat F
7: Mat G
8: Mat H
9: Mat I
10: Mat J
11: Mat K
12: Mat L
13: Mat M
14: Mat N
15: Mat O
16: Mat P
17: Mat Q
18: Mat R
19: Mat S
20: Mat T
21: Mat U
22: Mat V
23: Mat W
24: Mat X
25: Mat Y
26: Mat Z
Vct A
Vct B
Vct C
Vct D
Vct E
Vct F
Vct G
Vct H
Vct I
Vct J
Vct K
Vct L
Vct M
Vct N
Vct O
Vct P
Vct Q
Vct R
Vct S
Vct T
Vct U
Vct V
Vct W
Vct X
Vct Y
Vct Z
List 1
List 2
List 3
List 4
List 5
List 6
List 7
List 8
List 9
List 10
List 11
List 12
List 13
List 14
List 15
List 16
List 17
List 18
List 19
List 20
List 21
List 22
List 23
List 24
List 25
List 26
27: Mat a Vct a List 27
28: Mat b Vct b List 28
29: Mat c Vct c List 29
30: Mat d Vct d List 30
31: Mat e Vct e List 31
32: Mat f Vct f List 32
33: Mat g Vct g List 33
34: Mat h Vct h List 34
35: Mat i Vct i List 35
36: Mat j Vct j List 36
37: Mat k Vct k List 37
38: Mat l Vct l List 38
39: Mat m Vct m List 39
40: Mat n Vct n List 40
41: Mat o Vct o List 41
42: Mat p Vct p List 42
43: Mat q Vct q List 43
44: Mat r Vct r List 44
45: Mat s Vct s List 45
46: Mat t Vct t List 46
47: Mat u Vct u List 47
48: Mat v Vct v List 48
49: Mat w Vct w List 49
50: Mat x Vct x List 50
51: Mat y Vct y List 51
52: Mat z Vct z List 52
53: Mat 53 Vct 53 List 53 List 1: file 1
54: Mat 54 Vct 54 List 54
55: Mat 55 Vct 55 List 55
56: Mat 56 Vct 56 List 56
57: Mat 57 Vct 57 List 57
58: Mat 58 Vct 58 List 58
59: Mat 59 Vct 59 List 59
60: Mat 60 Vct 60 List 60
61: Mat 61 Vct 61 List 61
62: Mat 62 Vct 62 List 62
63: Mat 63 Vct 63 List 63
64: Mat 64 Vct 64 List 64
65: Mat 65 Vct 65 List 65
66: Mat 66 Vct 66 List 66
67: Mat 67 Vct 67 List 67
68: Mat 68 Vct 68 List 68
69: Mat 69 Vct 69 List 69
70: Mat 70 Vct 70 List 70
71: Mat 71 Vct 71 List 71
72: Mat 72 Vct 72 List 72
73: Mat 73 Vct 73 List 73
74: Mat 74 Vct 74 List 74
75: Mat 75 Vct 75 List 75
76: Mat 76 Vct 76 List 76
77: Mat 77 Vct 77 List 77
78: Mat 78 Vct 78 List 78
79: Mat 79 Vct 79 List 79 List 1: file 2
80: Mat 80 Vct 80 List 80
81: Mat 81 Vct 81 List 81
82: Mat 82 Vct 82 List 82
83: Mat 83 Vct 83 List 83
84: Mat 84 Vct 84 List 84
85: Mat 85 Vct 85 List 85
86: Mat 86 Vct 86 List 86
87: Mat 87 Vct 87 List 87
88: Mat 88 Vct 88 List 88
89: Mat 89 Vct 89 List 89
90: Mat 90 Vct 90 List 90
91: Mat 91 Vct 91 List 91
92: Mat 92 Vct 92 List 92
93: Mat 93 Vct 93 List 93
94: Mat 94 Vct 94 List 94
95: Mat 95 Vct 95 List 95
96: Mat 96 Vct 96 List 96
97: Mat 97 Vct 97 List 97
98: Mat 98 Vct 98 List 98
99: Mat 99 Vct 99 List 99
100: Mat 100 Vct 100 List 100
101: Mat 101 Vct 101 List 101
102: Mat 102 Vct 102 List 102
103: Mat 103 Vct 103 List 103
104: Mat 104 Vct 104 List 104
105: Mat 105 Vct 105 List 105 List 1: file 3
106: Mat 106 Vct 106 List 106
107: Mat 107 Vct 107 List 107
<r>: Mat <r> Vct <r> List <r>
Į : Mat Į Vct Į List Į
Ans: Mat Ans Vct Ans List Ans
------------------------------------------------------------
Last edited by sentaro 2020/02/05(UTC)
------------------------------------------------------------

183
doc-cg/Message.txt Normal file
View File

@ -0,0 +1,183 @@
------------------------------- File list message
"Font Reading....."
"File Reading....."
"------Favorites------"
"Can't find file"
"Can't load file"
"Can't delete file"
"Can't delete fldr"
"Can't create file"
"Can't open file"
"Can't create Dir"
"Program Name"
"Overwrite OK?"
"Save Name?"
"Save Text Name?"
"New Program Name?"
"Password?"
" Mismatch"
"Set Password"
"Unlock password"
"Delete file?"
"Delete folder?"
"Folder Name"
"Can't make folder"
"Rename Folder ?"
"Rename File ?"
"Can't Rename file"
"Rename File Name?"
"Copy File Name?"
------------------------------- Editor message
"Search For Text"
"Replacement Text"
" Not Found "
"[AC]:Stop"
"Hit GetKey Code"
"== Command Select =="
"==STD GR FN STR EX=="
"===Continuous Select= C.Basic ="
"===Character Select== C.Basic ="
"===Continuous Select= Default ="
"===Character Select== Default ="
"==Continuous Select=="
"==Character Select==="
"===Character Select== GB code 0xA0** =="
"===Continuous Select= GB code 0xA0** =="
------------------------------- Matrix message
"Goto Element"
"Dimension mxn"
"Dimension XxY"
"Init Matrix array"
"Goto Element"
"CLip Buffer Over"
"Mat to Clip Ok!"
"List to Clip Ok!"
"[1bit]"
"[VRAM]"
"[nibl]"
"[byte]"
"[word]"
"[long]"
"[Dbl]"
"[CPLX]"
-------------------------------- Casio Basic Compatible error message
" Syntax ERROR"
" Math ERROR"
" Go ERROR"
" Nesting ERROR"
" Stack ERROR"
" Memory ERROR"
" Argument ERROR"
" Dimension ERROR"
" Range ERROR"
" Too Much Data"
" Com ERROR"
" Transmit ERROR"
" Receive ERROR"
" Non-Real ERROR"
-------------------------------- extended error message
"Next without For"
"For without Next"
"While w/o WEnd"
"WEnd w/o While"
"LpWhile w/o Do"
"Do w/o LpWhile"
"Not Loop ERROR"
"Division By Zero"
"Undefined Label"
"Not enough Memory"
"String Too Long"
"No Matrix array"
"Illegal Ary size"
"Not found Prog"
"Too many SubProg"
"If without IfEnd"
"Then without If"
"Case w/t Switch"
"Default w/o Swtch"
"Switch w/o S.End"
"S.End w/o Switch"
"Can't find file"
"Illegal Element"
"Already Open ERR"
"Com Not Open ERR"
"Type Mismatch ERR"
"Out of Domain ERR"
"Undefined Var"
"Undefined Func"
"Not Support ERR"
"Too many Var ERR"
"Duplicate Def ERR"
"Address Align ERR"
"Try w/t Except "
"Except w/t Try "
"TryEnd w/t Try "
"File ERROR"
------------------------------- Setup message
"Angle :"
"Draw Type :"
"Coord :"
"Grid :"
"Axes :"
"Label :"
"Derivative :"
"Background :"
"Plot/LineCol:"
"Sketch Line :"
"Display :"
"Exp Display :"
"SetupRecover:"
"Command Inpt:"
"EnableExFont:"
"Edit ExtFont:"
"Edit GB Font:"
"EditFontSize:"
"Edit LineNum:"
"EditListChar:"
"Edit-backCol:"
"Edit-baseCol:"
"E-NumericCol:"
"E-CommandCol:"
"Ed-QuotColor:"
"E-CommentCol:"
"E-LineNumCol:"
"Use Hidn RAM:"
"HidnRAM Init:"
"Max Pict No :"
"Max List No :"
"AT DebugMode:"
"Break Stop :"
"Exec TimeDsp:"
"IfEnd Check :"
"ACBreak :"
"Force Return:"
"Key 1st time:"
"Key Rep time:"
"SkipUp/Down :"
"Mat Dsp mode:"
"Matrix base :"
"Pict mode :"
"Auto file save:"
"Force g1m save:"
"Direct GB cnvt:"
"RefrshCtl DD:"
"Wait count :"
"G1M/G3M mode:"
"Execute mode:"
"Select Number"
"SkipUp/Dw Number"
"RefrshTime n/128s"

680
doc-cg/ReadmeCG_EN.txt Normal file
View File

@ -0,0 +1,680 @@
Please look at this site that made by Krtyski.(e-Gadget administrator)
https://egadget2.web.fc2.com/CBasic/Interpreter/CBasic_interpreter.html
This site and following text is translated by Krtyski(e-Gadget administrator) & Lephenixnoir(Planet-Casio administrator).
Thanks very much for your support.
===============================================================================
Add-In Casio Basic Interpreter (& Compiler) for CG ver. 1.x beta version
copyright(c)2015-2017-2020 by sentaro21
e-mail sentaro21@pm.matrix.jp
last updated by Krtyski/sentaro21, 9 Feb 2020
===============================================================================
**If you feel your Casio Basic programs are not running fast enough, C.Basic can free you of that frustration!**
Get started with genuine Casio Basic programs, then enjoy extended commands that Casio Basic alone cannot perform.
- Currently **C.Basic for CG** (Basic interpreter) runs on Prizm fx-CG10 and fx-CG20 and fx-CG50 / Graph 90+E
- **C.Basic for CG** will evolve into a Casio Basic compiler "**C:Basic for CG**", which will run programs much faster than C.Basic (10 times from the looks of it).
All the instructions supported by C.Basic are listed in the `"Command_List_CG.txt"` and `"ManualCG_EN.txt"` files included in the distribution package.
======= CAUTION !!! ========
In order to support Prizm fx-CG10 and fx-CG20, the over clock feature was built in because of its slower screen refresh.
58.98MHz(default) -> 117.96Mhz (nearly Ptune2 [F3] preset)
============================
## Pros
- C.Basic is mostly compatible with genuine Casio Basic.
- Programs run at least 10 times faster in C.Basic.
- C.Basic's List and File editors are easier to use than the usual ones.
- Can execute programs from storage memory, and supports sub-folder structures.
- Some Casio Basic commands are extended for more features.
- Newly-implemented commands for more powerful and flexible programming.
## Cons
- C.Basic does not cover all of the original Basic commands.
- Calculations don't yield the same results as the usual interpreter because C.Basic use double-precision floating point instead of fixed-point BCD.
- C.Basic stores PICT files in storage memory, hence using them is slower (at least until version 0.87 which uses the heap area from the main memory).
- There must be some bugs, unfortunately ^^ Please provide us with a bug report if you find any.
## Almost compatible with vanilla Casio Basic
Flawless compatibility is our goal, but some differences are intentional:
- `?` and `?→` input commands are displayed on a single line. Displaying a string longer than 21 characters will result in horizontal scroll instead of line wrap.
- When a graphing sketch commands is followed by the multi-statement command `:`, the screen is not refreshed.
- Program running time is displayed when the program ends. This function can be triggered in the setup page.
- Comment delimiters `'` are allowed before carriage returns and Disps (output), and `:` can be included in the comment string.
C.Basic also takes in user-friendly features of fx-5800P:
- C.Basic supports a `"?A"` command as fx-5800P, as opposed to fx-9860G / fx-9860GII / fx-CG series which only support `"?→A"`.
- String output command `" "` is fully compatible with fx-5800P thus a but different from fx-9860G / fx-9860GII. See [Topic](http://egadget.blog.fc2.com/blog-entry-520.html) for details.
======= CAUTION !!! ========
We don't believe that C.Basic could damage your calculator, but the main memory could still be unexpectedly damaged or destroyed, which would require a whole memory reset. Hence it is strongly recommended that you backup your main and storage memory data. Please be aware that you should only use C.Basic at your sole risk.
============================
======= Disclaimer of Warranty =======
Use of C.Basic and C:Basic (hereinafter SOFTWARE) is at users sole risk. All materials, information, products, software, programs and service provided “as is”, with no warranties or guarantees whatsoever. Creators of SOFTWARE and support team who provide support documents, support web site, information and sample programs (hereinafter DEVELOPMENT TEAM) expressly disclaim to the fullest extent permitted by law, all express, implied, statutory, and other warranties, guarantees, or representations, including, without limitation, the warranties of merchantability, fitness for a particular purpose, and non-infringement of proprietary and intellectual property rights. Without limitation, DEVELOPMENT TEAM makes no warranty or guarantee that development of SOFTWARE will be uninterrupted, timely, secure, or error-free.
======================================
-------------------------------------------------------------------------------
# Starting up C.Basic
To start up **C.Basic**, press `[MENU]`, select the C.Basic icon, then press `[EXE]`.
There are two ways for copying a program file (`g1m` file) developed for the original Casio Basic interpreter into the File List in C.Basic:
## Using the pre-installed memory manager
- To start up the memory manager, press `[MENU]`, select the memory manager icon and press `[EXE]`.
- Press `[F1]` to display the contents of the main memory.
- Move the cursor down to `<PROGRAM>` and press `[EXE]`. You should now be seeing the list of all Basic Casio programs currently installed for the usual interpreter.
- Select the program file that you want to copy.
- Press `[F1](SEL)` then `[F2](COPY)`.
- Select `"ROOT"`, press `[EXE]`; the calculator will ask you for a file name.
- Enter an appropriate file name or just `"A"`, then press `[EXE]`.
- Press the `[MENU]` key to go back to the main menu.
- Start C.Basic.
- In the File List select the name you just entered, press `[F6]` and then `[F2](REN)`.
- You will be prompted with `[Rename file Name?]`, and the original file name will be displayed (even though you typed in `"A"`). Press `[EXE]`.
- Now the file name has been corrected.
(*Ver.0.53 or later)
-Added setting of the setup to use the program file of MCS(main memory) directly.
You can change the destination from MCS from storage, storage to MCS in preservation and the copy of the file.
At the storage memory mode, copying, a destination become MCS when they choose [F3](MCS).
Copying, a destination become the storage memory when they choose [F1](g3m)[F2](g1m) at the MCS mode.
=================================================================================
Quick Manual - Development Environment of C.Basic
=================================================================================
---------------------------------------------------------------------------------
File List Page
---------------------------------------------------------------------------------
-[UP] Move cursor to the previous file.
-[DOWN] Move cursor ro the next file.
Pressing A to Z, cursor jumps to a file name which starts with the pressed alphabet.
This feature is fx-5800P compatible but not fx-CG.
Press [.] key to jump to a file name which starts with "~".
Press [EXP(x10)]key to jump to top of folder list.
-[F1] (EXE) Run selected file.
-[F2] (EDIT) Edit selected file.
-[F3] (NEW) Create new file.
-[F4] (COPY) Copy selected file.
-[F5] (DELETE) Deleted selected file.
-[F6] ( > ) Move to next menu.
[F1] (>txt) Convert selected source file to text file.
[F2] (RENAME) Rename file.
[F3] (Fav.) Set/Reset selected file to/from "Favorite".
[F4] (Fv.up) Move upward selected Favorite file.
[F5] (Fv.dw) Move downward selected Favorite file.
[F6] ( > ) Move to previous menu.
[F1] (MKEFLDR) Make new Folder
[F2] (RENFLDR) Rename Folder
[F6] ( > ) Move to the first menu.
-[EXE] Run the selected file.
-[SHIFT]+
[EXIT](QUIT) Move back to root from sub-folder.
[UP] Move upward selected Favorite file.
[DOWN] Move downward selected Favorite file.
[F1] (Var) Go to Variables Review Page.
[F2] (Mat) Go to Mat Variables Review Page.
[F3] (V-W) Go to ViewWindow setting value review page.
[F4] (Pass) Set/Reset pass word.
[F6] (Debug) Start Debug mode & open Editor page.
-[VARS] (Variables Review Page)
[F1] (A<>a) Switch between display of capital and small letter variables.
[F2] (Init) Initialize all the displayed variables.
[F3] (D<>I) Siwitch between Integer and Double variables.
[F6] (>Hex/>Dec) Switch display of values between in Hex and Dec.
[SHIFT]+[UP]/[DOWN] Scroll single page up and down.
※ Local variabe is marked with "=".
-[SHIFT]
[MENU] (SETUP) Go to Setup page.
[MENU][F6] Pop up Version information.
-[OPTN] Set/Reset selected file to/from "Favorite".
-[EXIT] Move cursor back to first file in the list.
When cursor is at the first file in sub-folder, move back to root.
-------------------------------------------------------------------------------
Editor Page
-------------------------------------------------------------------------------
Guide marker displayed in very right of Editor Page indicates cursor position in source file.
-[F1] (JUMP) Display JUMP Sub-menu.
[F1] (TOP) Jump to top line of source file.
[F2] (BTM) Jump to end line of source file.
[F3] (GOTO) Jump to a line where you want to go.
[F5] (SkipUp) Skip lines (preset # of line is available in Setup page) toward to top.
[F6] (SkipDw) Skip lines (preset # of line is available in Setup page) toward to end.
-[F2] (SRC) Go to String Search / Replacement page.
-[F3] (CMD) Go to Command Select page. (this is like fx-5800P command list)(fx-5800P mode)
(MENU)) SelectCommand (fx-CG mode)
-[F4] (A<>a) Switch between Capital and small letter.
-[F5] (CHAR) Go to Character Select page.
-[F6] (EXE) Run program or restart program when it's in pause.
-[SHIFT]+
[EXIT](QUIT) Go back to File List page.
[LEFT] Change font size & line spacing smaller.
[RIGHT] Change font size & line spacing bigger.
[UP] Scroll 1 page (6 lines) up to top.
[DOWN] Scroll 1 page (6 lines) down to end.
[F1] (Var) Go to Variables page.
[F2] (Mat) Go to Mat Variables page.
[F3] (V-WIN) Go to ViewWindow page.
[F4] (SKTCH) Select Command. (fx-CG mode)
(Dump)/(List) Switch between "Basic List" and "Hex Dump" display.(fx-5800P mode)
[F5] (A<>a) Switch between Capital and small letter.
[F6] (CHAR) Go to Character Select page. (fx-CG mode)
(G<>T) Switch Graphics and Text screen.(fx-5800P mode)
[3] Input keycode of Getkey command.
[6] Pop up Color Picker to input color code.
-[OPTN] Pop up Command List supported by [OPTN] of fx-CG.(fx-5800P mode)
Select Command. (fx-CG mode)
-[VARS] Pop up Comamnd List supported by [VARS] of fx-CG.(fx-5800P mode)
Select Command. (fx-CG mode)
-[MENU] Command input history (chronological order/input frequency order is changed by right and left key.)
[AC/ON] Erase history
-[SHIFT][VARS] (PRGM) Pop up Command List supported by [PRGM] of fx-CG.
-[SHIFT][MENU] (SETUP) Go to Setup page.(fx-5800P mode)
(SETUP) Select Command. (fx-CG mode)
-[ALPH][DEL] (UNDO) Delete or Paste operations are restored to the previous state.(only once)
-[EXIT] Go back to previous page, cancel clip mode or go back to File List page.
-------------------------------------------------------------------------------
Debug Mode Editor Page
-------------------------------------------------------------------------------
Debug mode page comes up when program is broken intentionally or by error. Right example above shows Debug Mode Edotr Page that mini-font is applied in setup page.
In Degub Mode, status line is getting inverted on C.Basic for FX or becomes cyan color background.
-[F1](Cont) Continue program from cursor position.
-[F2](TRACE) Trace program from cursor position and come back to Editor page in Debug Mode right after the traced command runs, .
-[F3](STEPS) Trace and Step Over comamnd from cursor position and come back to Editor page in Debug Mode right after the command runs. When sub-routine runs, the sub-routine is executed to the end.
-[F4](S.Out) Step Out from cursor position and come back to Editor page in Debug Mode right after the command runs. When the sursor is in sub-routine the sub-routine is executed to the end.
-[F5](L<>S) Switch Editor page and program running screen. When the program running screen is displayed, debug operaiton with [F1] - [F4] is still available.
-[F6]( > ) Switch Debug manu and Editor menu. When program running screen is displayed, pressing [F6](>) displays Debug menu.
-[EXIT] Go back to previous page, cancel clip mode or go back to normal (not in Debug mode) Editor page.
(*In the debug mode, status line becomes cyan color background.)
-------------------------------------------------------------------------------
Program Running Page
-------------------------------------------------------------------------------
During program is running;
-[AC] Stop program.
[EXIT] Go to Editor in Debug mode. Cursor locates at break point.
[Left/Right] Go to Editor in Debug mode. Cursor locates at break point.
[F1] Resume program.
[EXE] Resume program.
When program is halted by ▲ command (- Disp - is displayed on screen);
-[SHIFT]+
[F1](Var) Go to Variables Page
[F2](Mat) Go to Mat/List Page
[F3](V-W) Go to ViewWindow Page
[F6](G<>T) Switch between Graphics and Text screen
-[EXE] Resume program.
-------------------------------------------------------------------------------
Mat/List/Vct Page
-------------------------------------------------------------------------------
In Mat/List Page you can review and edit Mat or List or Vct. Operation procedure of Mat and List and Vct is consistant, since List is internaly implemented as Mat.
(The Mat marked by * in this page is alocated by addressing.)
[Operation in Review Mode]
-[F1] (DEL) Delete selected Mat/List.
-[F2] (DEL-ALL) Delete all Mat/List.
-[F3] (DIM) Set dimension, element size and start index of selected Mat/List/Vct.
-[F4] (INITIAL) Initialize all elements of selected Mat/List/Vct.
-[F5] (Mat#/Lst#/Vct#) Select a number and jump to Mat/List/Vct of the number in alphabetical order.
-[F6] (A<>a) Switch between capital letter and small letter of Mat name.
-[EXE] Enter to Edit Mode of Mat/List/Vct. (in details see below)
-[SHIFT]+[F1] (>Mat) Select Mat
-[SHIFT]+[F2] (>List) Select List
-[SHIFT]+[F3] (>Vct) Select Vct
-[OPTN] Switch showing between Mat and List.
-[VARS] Switch showing between Mat and Vct.
-[LEFT] backword 26.
-[RIGHT] forword 26.
-[SHIFT]+[UP][DOWN] page scroll
[Operation in Edit Mode]
[SHIFT]+[8](CLIP) All data of selected Mat/List/Vct is clipped in buffer.
[SHIFT]+[9](PASTE) Clipped data is pasted to selected Mat/List/Vct from buffer.
to edit numerical value;
-[F1] (EDIT) Edit the element of the Mat/List/Vct.
-[F2] (GO) Go to element set by row and column.
-[F3] (INITIAL) Initialize all elements.
-[F4] (>x,y / >m,n) Switch Matrix indication between [m,n] and [x,y].
-[SHIFT]+[F5] or [F5] Switch element values between in decimal and binary.
(applied only to nybble (4 bits), byte (1 byte) and word (2 bytes))
-[SHIFT]+[F6] or [F6] Switch element values between in decimal and hexadecimal.
(not applied to 1 bit and a complex number (16 bytes), double number (8 bytes) just displays internal data)
-[SHIFT]+[F2] or [OPTN] Enter to Dot Editor Mode.
-[SHIFT]+[F3] or [VARS] Enter to Character Strings Edit Mode.
Only for g3m mode on C.Basic for CG (excluding 1 bit Mat/List/Vct);
-[SHIFT]
[5] Input 4 bit color value in nibble (4 bits) or 16 bits color value in other element number type.
[6] Input 16 bits color value (excluding nibble (4 bits) Mat/List/Vct).
to edit Dots;
Each element value of matrix can be handled as color code.
- Using in 1 bit matrix or in g1m mode, 0(zero) = black and 1 = white.
- Using in nibble (4 bits matrix), 4 bits color value is applied.
-[F1] (0 <> 1) Switch element value between 0 and 1.(1 bit Mat or g1m mode)
-[F1] Change to the color displayed by the function menu. (other than the 1 bit Mat of the g3m mode)
*It change to black as same color
Only as for the following, g3m mode (except the 1 bit Mat/List)
-[SHIFT]
[5] Input a 16 bits color other than it with a 4 bits color in the nibble (4 bits).
[6] Input a 16 bits color. (except the nibble (4 bits) Mat/List)
-------------------------------------------------------------------------------
Search/Replace for Text
-------------------------------------------------------------------------------
[Search character string]
Operatin procedure;
1. Input character string and press [F1](SEARCH) or [EXE].
2. To search next, press [F1](SEARCH) or [EXE] again.
3. Press [F6](RETRY) to back to search page.
[Replace character string]
Operatin procedure;
1. Input character string to search, and press [F2](REPL).
2. Then input character string to be replaced with, and press [F1](SEARCH), [F2](REPL) or [EXE].
3. To search more for replacement, press [F1](SEARCH) or [EXE] again.
4. Then press [F2](REPL) to replace again.
5. To replace all, press [F3](ALL) or [F4](ALL+). To quit replacement, press [AC/ON].
When pressing [F4] (ALL+), progress status is not dusplayed.
-------------------------------------------------------------------------------
Incompatible Spec against genuine Casio Basic
-------------------------------------------------------------------------------
Compatibility with genuine Casio Basic is our target, but not 100%;
An input line by command "?" and "?->" are only in single line. A string of characters more than 21 columns is displayed still in the horizontal single line by scrolling, not in multiple lines.
When ":" (Multi-statement Command) comes right after graphing sketch command, graphic screen is not re-drawn.
Program running time is displayed after the program quit. This function can be set on or off in setup page.
A Comment Text Delimiter ' is available for comment-out before Carriage Return or Disps (output), but ":" (Multi-statement Command) can be included the commented out string.
C.Basic also takes in user-friendly feature of fx-5800P;
C.Basic does support a script "?A" supported by fx-5800P. This is not supported by fx-CG (script "?->A" only is supported).
Function of string output command " " is fully compatible with fx-5800P in details but not exactly compatible with fx-CG. See Topics in details.
-------------------------------------------------------------------------------
Select Character Page
-------------------------------------------------------------------------------
In addition to character set of genuine Casio Basic, more characters are supported.
In "Character Select" page;
[F6] ASCII, Kana, external character can be applied.
[SHIFT]/[F1][F6] Continuous input is available.
[OPTN] Switch between mini-font and normal font.
[VARS] - C.Basic for FX Switch between OS supported the mini-font and normal font.
[VARS] - C.Basic for CG Switch between C.Basic font and OS supported font.
When OS supported font is displayed, special character can be input without escape.
(about GB font)
In order to use GB font, in "Setup" page "Edit GB Font" setting should be "On" or "Full". Then
[x^2] to switch between "GB code input mode" and other font input mode.
[F1] Jump to beginning 0xA0**.
[F2] Go back 16 pages.
[F3] Go back 1 page.
[F4] Go forward 1 page.
[F5] Go forward 16 pages.
[F6] Jump to end 0xFE**.
*At the time of GB code indication, escape(0x5C) may be necessary to display special character.
*Character with the escape(0x5C) is shown with yellow background.
===============================================================================
Setup Page
===============================================================================
Setup items - compatible with genuine Casio Basic
Angle :Deg/Rad/Gra
Complex Mode:Real/a+bi/r∠θ
Draw Type :Connect/Plot
Coord :on/off
Grid :on/off/Line
Axes :on/off/Scale
Label :on/off
Derivative :on/off
Background :None / Pict1-20
Plot/LineCol:Black etc.
Sketch Line :Normal/Thick/Broken/Dot/Thin
---------------------------------------------------
Setup items - newly provided and extended for C.Basic
-------------------------------------------------------------------------------
Display: Fix / Sci / Nrm / Eng
Max number of digit after decimal point can be 15. Setting 0 (zero) max digit is 16.
Nrm1 or Nrm2 is fully compatible with genuine Casio Basic and max digit is 10.
- Nrm1: -0.01<x<0.01
- Nrm2: -0.000000001<x<0.000000001
- Other number (0 or 3 - 15) is to set max number of digit.
Eng: select among Eng Off, Eng On (/E) and 3 digit separator (/3)
※ Related command: Eng, Norm, Fix, Sci
-------------------------------------------------------------------------------
Exp Display : E / Stdx10 / Allx10
   select exponent character.
   E: -1.23e99  previous character.
Stdx10: -1.23(x10)99 new character only standard font size.
Allx10: -1.23(x10)99 new character all font size.
- Related command: '#exp 0 // previous character.
'#exp 1 // new character only standard font size.
'#exp 2 // new character all font size.
-------------------------------------------------------------------------------
Syntax Help : On/Off
the help dispyay at the command input of editor.
-------------------------------------------------------------------------------
SetupRecover : On/Off
set it whether you return setting compatible with genuine CasioBasic after a program in SetupRecover.
-------------------------------------------------------------------------------
Command Input :C.Basic/Standard/>5800/>9800
Select Standard(fx-CG) method or C.Basic(fx-5800P) method.
You can change the mode of "" output specifications compatible with fx-5800P and FX/CG.
- Related command: '#58
'#98
-------------------------------------------------------------------------------
[X]character : [0x90]/[X]
To select character of [X/Theta/T]key.
-------------------------------------------------------------------------------
EnableExFont : on/off
Set to use external font.
-------------------------------------------------------------------------------
Edit Indent+ : Off/1/2/4 Save-
enable auto indent in editor.
Off: diable auto indent.
1 : Set indent width to 1.
2 : Set indent width to 1.
4 : Set indent width to 1.
Save-: delete blank spaces including indents when saving program. (=to compatible with Casio Basic)
-------------------------------------------------------------------------------
Edit ExtFont : On/Off
enable external font in editor.
-------------------------------------------------------------------------------
Edit GB Font : On/Off/Full
To select GB font display on editor.
Off : normal. not display GB font.
On : display GB font without F7xx,F9xx,E5xx,E6xx,E7xx
Full: display all GB font.
-------------------------------------------------------------------------------
EditFontSize : Standard/Mini/MiniMini/MiniMiniFX /+Fixed pitch/+Gap
Set to Editor font size.
-------------------------------------------------------------------------------
Edit Indent+ : Off/1/2/4 Save-
enable auto indent in editor.
Off: diable auto indent.
1 : Set indent width to 1.
2 : Set indent width to 1.
4 : Set indent width to 1.
Save-: delete blank spaces including indents when saving program. (=to compatible with Casio Basic)
-------------------------------------------------------------------------------
Edit LineNum :on/off
Set to line number display.
-------------------------------------------------------------------------------
EditListChar : List / reverseL / Thick L
Select List display character.
-------------------------------------------------------------------------------
Edit-backCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
select back color of editor.
-------------------------------------------------------------------------------
Edit-baseCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
select base color of editor.
-------------------------------------------------------------------------------
E-NumericCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
select numeric color of editor.
-------------------------------------------------------------------------------
E-CommandCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
select command color of editor.
-------------------------------------------------------------------------------
Ed-QuotColor : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
select strings color of editor.
-------------------------------------------------------------------------------
E-CommentCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
select comment color of editor.
-------------------------------------------------------------------------------
E-LineNumCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
select line number color of editor.
-------------------------------------------------------------------------------
Auto OverClk : on/off
Set auto overclock for CG10/20
-------------------------------------------------------------------------------
Heap RAM Size : 96KB/117KB/127KB/SIZE
Set maximam heap size of C.Basic use.
(* You cannot change it at the time of the program editing.)
-------------------------------------------------------------------------------
Use Hidden RAM: on / off
Set if C.Basic uses hidden RAM or not.
-------------------------------------------------------------------------------
HiddenRAM Init: on / off
When use the hidden RAM, Mat&List at the time of C.Basic start, to initialize or not.
-------------------------------------------------------------------------------
Max Pict No: 20~99
When use the hidden RAM, you can use more pict file.
(*)When you change a value, Pict&Mat&List is reset.
(*) This setting is invalid.
-------------------------------------------------------------------------------
Max List No: 52~1040
When use the hidden RAM, you can use more List.
(*)When you change a value, Pict&Mat&List is reset.
-------------------------------------------------------------------------------
AT DebugMode : on / off
When [AC] break, debug mode on/off.
-------------------------------------------------------------------------------
ExitDM Popup : on / off
Set to popup of exit Debug Mode.
-------------------------------------------------------------------------------
Break Stop: on / off
Set if [AC] key break is accepted or not.
When it's off, you cannot break program by [AC] key.
- Related command: '#Break0 '#Break1
-------------------------------------------------------------------------------
Exec TimeDsp: on / off /reset /%HR
Set if program running time is displayed or not after the program quits.
Timer starts at first line of program. ? or Disps command reset the timer.
In the case of Getkey1/2, the timer is suspended and starts after command again.
on reset: The timer is reset and starts again after Getkey1/2.
%HR: use 1/32768s timer
- Related command: '#GetkeyC '#GetkeyR
-------------------------------------------------------------------------------
IfEnd Check: on / off
Set if one-to-one correspondence of "If" and "IfEnd" statement is chacked or not.
-------------------------------------------------------------------------------
ACBreak: on / off
Set ACBreak command to be enable or disable.
- Related command: ACBreak
-------------------------------------------------------------------------------
Force Return:None/ F1/ EXE/ F1&EXE
force return to file mode at [AC]break.
(Example) Force Return set to [F1]key
-File list→[F1](EXE)→[AC]→[EXIT]… Returns to the file list.
-File list→[EXE]→[AC]→[EXIT] …… Returns to the editor.
-File list→[F1](EXE]→[AC]→[EXE](restart)→[AC]→[EXIT] …… Returns to the file list.
(The operation depends on which key is pressed first.)
-------------------------------------------------------------------------------
Key 1st time: 25 ms - 1000 ms (default value is 500 ms)
Set time before key repeat starts (in 25 ms interval)
-------------------------------------------------------------------------------
Key Rep time: 25 ms - 500 ms (default value is 125 ms)
Set key repeat duration time (in 25 ms interval)
-------------------------------------------------------------------------------
SkipUp/Down: 1 - 9999
Set number of skipping page for SkipUp ([SHIFT][Up]) or SkipDown ([SHIFT][Down]).
-------------------------------------------------------------------------------
Mat Dsp mode: [m,n] / [X,Y]
Set matrix display format in Matrix Editor page.
Format [m,n] and [X,Y] are in transposed matrix each other, but just only the apperance on screen is different. The internal matrix data is still same, won't be changed.
-------------------------------------------------------------------------------
Matrix base: 0 / 1
Set index of matrix starts with 0 or 1.
When the start index is set to 0, lfet-top pixel comes to be available to use and left-yop coordinate of device coordinates can be (0, 0).
- Related command: '#Mat 0, '#Mat 1
-------------------------------------------------------------------------------
DATE: 2017/01/17 TUE
Set date of internal RTC. A day of the week is autmatically set.
-------------------------------------------------------------------------------
TIME: 23:59:59
Set time of internal RTC
- Related command: DATE, TIME
-------------------------------------------------------------------------------
Favorite Col : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16bit Color
select favorite file color of editor.
-------------------------------------------------------------------------------
Auto file Save:on/off
Set to auto save without a popup.
-------------------------------------------------------------------------------
Force g1m save: on / off
Set "save automatically" or "not save" g1m file, after run or edit of text file.
-------------------------------------------------------------------------------
Direct GB cnvt : on/off
Set GB code without text conversion.
(* conversion supports The GB mode of the editor.)
-------------------------------------------------------------------------------
Pict mode: S.Mem / Heap / Both
- S.Mem: Pict file is created in storage memory and it takes a bit longer.
- Heap: Pict file is not actually created, but compatible file is allocaed in main memory. (recommend)
- Both: Stored always in storage memory/SD.
- Clear:Deletes the Pict compatible file created in main memory at program start every time.
-------------------------------------------------------------------------------
Storage mode: S.Mem / MainMem
S.Mem: Files in storage memory is used for run and edit.
Main mem: Files in MCS(Mein Memory) is used for run and edit.
-------------------------------------------------------------------------------
RefrshCtl DD: off / Grp / All
Set how to refresh screen at running of display and draw command.
Off: No extra refresh control is carried out, which is compatible with genuine Casio Basic.
Grp: Only graphics draw commands make screen refreshed, excepting ClrText, Locate, Text, LocateYX, " " (this exception is compatible with former version of C.basic).
All: All the display and draw commands male screen refreshed. PutDispDD should be used as may be necessary.
Time: Set refresh control tme in interval of 1/128 sec. Defalt value is 3 then refresh control is every 1/42 sec.
It is not refreshed when 0 is set.
- Related command: RefrshCtrl, RefrshTime
-------------------------------------------------------------------------------
Wait count : 09999
Set to wait for slowdown execution speed.
- Related command:Wait
-------------------------------------------------------------------------------
G1M/G3M mode : auto/g3m/g1m
Set to execute mode as default.
- Related command:
'#G1M
'#g1m
'#G3M
'#g3m
-------------------------------------------------------------------------------
Execute mode: Dbl# / Int% / CPLX
Set running mode as default.
- Related command: '#CBasic, '#CBASIC, '#CBINT, '#CBint '#CBCPLX '#CBcplx
-------------------------------------------------------------------------------
===============================================================================
Acknowledgment
===============================================================================
To investigate and implement internal specification,
"SuperH-based fx calculators (version 20)"
gave useful information.
This add-in program is compiled by miniSDK1.09.
If there was not miniSDK, this add-in would not be born.
Allow me to use this opportunity to offer my thanks.
For file handling in C.Basic,
https://community.casiocalc.org/topic/6836-wsc-fvm-v12-casio-fx-9860-series-on-calc-c-compiler/
Wsc & Fvm V1.2 - Casio Fx-9860 Series On-calc C Compiler"
gave useful information.
For Japanese Kana Fonts, font data and output routine in the following site is used;
http://www.d-b.ne.jp/~k-kita/fx_sdk_005.html"
For detailed feature and function of original Casio Basic, following site is referenced;
e-Gadget - Programming Calculator by Krtyski
https://egadget.blog.fc2.com/
(almost contents are in Japanese).
http://community.casiocalc.org/topic/7637-cbasic-international-release/
https://codewalr.us/index.php?topic=1818.0
https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html
https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15240
There opinions were very useful.
I am grateful for everyone's cooperation.
by sentaro21
===============================================================================
related link
===============================================================================
https://egadget2.web.fc2.com/CBasic/Interpreter/CBasic_interpreter.html
https://egadget.blog.fc2.com/blog-entry-630.html (part1)
https://egadget.blog.fc2.com/blog-entry-658.html (part2)
https://egadget.blog.fc2.com/blog-entry-664.html (part3)
http://community.casiocalc.org/topic/7637-cbasic-international-release/
https://codewalr.us/index.php?topic=1818.0
https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html
https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15240
===============================================================================
Licensing
===============================================================================
This software is free software, in accordance with GPLv2.

622
doc-cg/ReadmeCG_FR.txt Normal file
View File

@ -0,0 +1,622 @@
Veuillez consulter ce site créé par Krtyski. (Administrateur du gadget électronique)
http://egadget2.web.fc2.com/CBasic/Interpreter/CBasic_interpreter.html
Ce site et le texte suivant ont été traduits par Krtyski (administrateur du gadget électronique) & Lephenixnoir (administrateur de Planet-Casio).
Merci beaucoup pour votre aide.
===============================================================================
Complément Casio Basic Interpreter (&Compiler) Version 1.x beta
copyright (c) 2015-2017-2020 de sentaro21
courriel sentaro21@pm.matrix.jp
derničre mise ŕ jour par sentaro21 le 9/2/2020
===============================================================================
** Si vous pensez que vos programmes Casio Basic ne tournent pas assez vite, C.Basic peut vous libérer de cette frustration! **
Commencez avec les programmes Casio Basic authentiques, puis profitez de commandes étendues que Casio Basic seul ne peut pas exécuter.
- Actuellement, **C.Basic** (interpréteur de base) fonctionne sur les modčles fx-9860G (SH3), fx-9860GII (SH3) et fx-9860GII (SH4A), mais la prise en charge de Prizm fx-CG10 et fx-CG20 est planifiée.
- **C.Basic** deviendra un compilateur Casio Basic "**C:Basic**", qui exécutera des programmes beaucoup plus rapidement que C.Basic (10 fois son apparence).
Toutes les instructions prises en charge par C.Basic sont répertoriées dans les fichiers `" Command_List.txt "` et `" Manual_EN.txt "` inclus dans le package de distribution.
## Avantages
- C.Basic est principalement compatible avec les produits Casio Basic authentiques.
- Les programmes sont exécutés au moins 10 fois plus rapidement dans C.Basic.
- Les éditeurs de listes et de fichiers de C.Basic sont plus faciles ŕ utiliser que les habituels.
- Peut exécuter des programmes ŕ partir de la mémoire de stockage / mémoire principale et supporte les structures de sous-dossiers.
- Certaines commandes Casio Basic sont étendues pour davantage de fonctionnalités.
- Commandes nouvellement implémentées pour une programmation plus puissante et plus flexible.
## Les inconvénients
- C.Basic ne couvre pas toutes les commandes de base d'origine.
- Les calculs ne donnent pas les męmes résultats que l'interpréteur habituel car C.Basic utilise une virgule flottante double précision au lieu de BCD ŕ virgule fixe.
- C.Basic stocke les fichiers PICT dans la mémoire de stockage, ce qui les ralentit (du moins jusqu'ŕ la version 0.87, qui utilise la zone de mémoire de la mémoire principale).
- Il doit y avoir des bugs, malheureusement ^^ Merci de nous fournir un rapport de bogue si vous en trouvez.
# # Presque compatible avec la vanille Casio Basic
Notre objectif est une compatibilité sans faille, mais certaines différences sont intentionnelles:
- Les commandes d'entrée `?` et `??` `sont affichées sur une seule ligne. L'affichage d'une chaîne de plus de 21 caractčres entraînera un défilement horizontal au lieu d'un retour ŕ la ligne.
- Quand une commande d'esquisse graphique est suivie d'une commande ŕ instructions multiples `:`, l'écran n'est pas actualisé.
- La durée du programme est affichée ŕ la fin du programme. Cette fonction peut ętre déclenchée dans la page de configuration.
- Les délimiteurs de commentaires `'` sont autorisés avant les retours ŕ la ligne et Disps (sortie), et `:` peuvent ętre inclus dans la chaîne de commentaire.
C.Basic intčgre également les fonctionnalités conviviales de fx-5800P:
- C.Basic supporte une commande `"?A"` comme fx-5800P, par opposition ŕ fx-9860G / fx-9860GII qui ne supporte que `"?->A"`.
- La commande de sortie de chaîne `" "` est entičrement compatible avec le fx-5800P, ce qui en fait un différent du fx-9860G / fx-9860GII. Voir [Sujet] (http://egadget.blog.fc2.com/blog-entry-520.html) pour plus de détails.
======= ATTENTION !!! =========
Nous ne pensons pas que C.Basic pourrait endommager votre calculatrice, mais la mémoire principale pourrait tout de męme ętre endommagée ou détruite de maničre inattendue, ce qui nécessiterait une réinitialisation complčte de la mémoire. Par conséquent, il est fortement recommandé de sauvegarder vos données de mémoire principale et de mémoire de stockage. Sachez que vous ne devez utiliser C.Basic qu'ŕ vos risques et périls.
===============================
======= Décharge de garantie =========
Lutilisation de C.Basic et C: Basic (ci-aprčs SOFTWARE) est ŕ la seule risque de lutilisateur. Tous les matériaux, informations, produits, logiciels, programmes et services fournis sont fournis «en létat», sans aucune garantie. Les créateurs de LOGICIEL et déquipe dassistance fournissant des documents dassistance, un site Web dassistance, des programmes dinformation et des exemples de programmes (ci-aprčs «ÉQUIPE DE DÉVELOPPEMENT») déclinent expressément toutes les garanties expresses, implicites, statutaires ou autres, y compris, sans limitation, les garanties de qualité marchande, d'adéquation ŕ un usage particulier et de non-violation des droits de propriété et des droits de propriété intellectuelle. Sans aucune limitation, DEVELOPMENT TEAM ne garantit pas que le développement du LOGICIEL sera ininterrompu, rapide, sécurisé ou sans erreur.
======================================
-------------------------------------------------------------------------------
# Démarrer C.Basic
Pour démarrer ** C.Basic **, appuyez sur `[MENU]`, sélectionnez l'icône C.Basic, puis appuyez sur `[EXE]`.
Il existe deux maničres de copier un fichier de programme (fichier `g1m`) développé pour l'interpréteur Casio Basic d'origine dans la liste des fichiers en C.Basic:
## Utilisation du gestionnaire de mémoire pré-installé
- Pour démarrer le gestionnaire de mémoire, appuyez sur `[MENU]`, sélectionnez l'icône du gestionnaire de mémoire et appuyez sur `[EXE]`.
- Appuyez sur `[F1]` pour afficher le contenu de la mémoire principale.
- Déplacez le curseur vers le bas sur `<PROGRAM>` et appuyez sur `[EXE]`. Vous devriez maintenant voir la liste de tous les programmes Basic Casio actuellement installés pour l'interpréteur habituel.
- Sélectionnez le fichier programme que vous souhaitez copier.
- Appuyez sur `[F1] (SEL)` puis `[F2] (COPY)`.
- Sélectionnez `" ROOT "`, appuyez sur `[EXE]`; la calculatrice vous demandera un nom de fichier.
- Entrez un nom de fichier approprié ou simplement «A», puis appuyez sur «[EXE]».
- Appuyez sur la touche `[MENU]` pour revenir au menu principal.
- Démarrer C.Basic.
- Dans la liste des fichiers, sélectionnez le nom que vous venez d'entrer, appuyez sur `[F6]` puis `[F2] (REN)`.
- On vous demandera `[Renommer le nom du fichier?]` Et le nom du fichier d'origine sera affiché (męme si vous avez tapé le signe "" A "`). Appuyez sur `[EXE]`.
- Maintenant, le nom du fichier a été corrigé.
## Utilisation du logiciel PC Link (FA-124)
FA-124 est un logiciel de liaison PC inclus dans les packages de fx-9860G et fx-9860G II. Pour des instructions détaillées, veuillez vous reporter ŕ son manuel.
Une fois que vous avez téléchargé le fichier source d'un programme (fichier `g1m`), vous pouvez utiliser le logiciel de liaison PC pour le copier dans la liste des fichiers de C.Basic.
=================================================================================
Guide rapide - Environnement de développement de C.Basic
=================================================================================
---------------------------------------------------------------------------------
Page de liste de fichiers
---------------------------------------------------------------------------------
- [UP] Déplace le curseur vers le fichier précédent.
- [DOWN] Déplace le curseur sur le fichier suivant.
En appuyant sur A ŕ Z, le curseur passe ŕ un nom de fichier commençant par l'alphabet enfoncé.
Cette fonctionnalité est compatible avec fx-5800P mais pas avec fx-9860G / fx-9860GII.
En appuyant sur [.] passez ŕ un nom de fichier commençant par "~".
En appuyant sur [EXP(x10)] la touche pour accéder au haut de la liste des dossiers.
- [F1] (EXE) Exécuter le fichier sélectionné.
- [F2] (EDIT) Édite le fichier sélectionné.
- [F3] (NEW) Créer un nouveau fichier.
- [F4] (COPY) Copie le fichier sélectionné.
- [F5] (DEL) Supprimez le fichier sélectionné.
- [F6] ( > ) Permet de passer au menu suivant.
  [F1] (Texte) Convertit le fichier source sélectionné (fichier g1m) en fichier texte.
  [F2] (REN) Renomme le fichier.
  [F3] (Fav.) Définissez / réinitialisez le fichier sélectionné dans / ŕ partir de "Favori".
  [F4] (Fv.up) Déplace le fichier favori sélectionné vers le haut.
  [F5] (Fv.dw) Déplace le fichier favori sélectionné vers le bas.
  [F6] ( > ) Revient au menu précédent.
  [F1] (MK.F) Créer un nouveau dossier
  [F6] ( > ) Revient au menu précédent.
- [EXE] Exécuter le fichier sélectionné.
- [SHIFT] +
  [EXIT] (QUIT) Revenez ŕ la racine du sous-dossier.
  [GAUCHE] Contraste (ps) (* fonction interne du systčme d'exploitation)
  [RIGHT] Contraste (up) (* fonction interne du systčme d'exploitation)
  [F1] (Var) Aller ŕ la page de révision des variables.
  [F2] (Mat) Aller ŕ la page de révision des variables de mat.
  [F3] (V-W) Aller ŕ la page de révision de la valeur du paramčtre ViewWindow.
  [F4] (Pass) Définir / réinitialiser le mot de passe.
  [F6] (Debg) Démarrer le mode Debug & ouvrir la page de l'éditeur.
- [VARS] (page de révision des variables)
  [F1] (A<>a) Basculer l'affichage des variables majuscules et minuscules.
  [F2] (Init) Initialise toutes les variables affichées.
  [F3] (D<>I) Siwitch variables entičres et doubles.
  [F6] (>Hex/>Dec) Commute l'affichage des valeurs en Hex et Dec.
- [SHIFT] [MENU] (SETUP) Réglages initiaux
  [MENU] Aller ŕ la page de configuration.
  [MENU] [F6] Pop up Information sur la version.
- [OPTN] Définir / Réinitialiser le fichier sélectionné dans / depuis "Favori".
- [EXIT] Déplace le curseur vers le premier fichier de la liste.
         Lorsque le curseur est sur le premier fichier du sous-dossier, revenez ŕ la racine.
-------------------------------------------------------------------------------
Page de l'éditeur
-------------------------------------------------------------------------------
Le repčre de guide affiché ŕ l'extręme droite de la page d'édition indique la position du curseur dans le fichier source.
- [F1] (JUMP) Affiche le sous-menu JUMP.
  [F1] (TOP) Aller ŕ la premičre ligne du fichier source.
  [F2] (BTM) Aller ŕ la derničre ligne du fichier source.
  [F3] (GOTO) Passez ŕ une ligne oů vous voulez aller.
  [F5] (SkipUp) Ignore les lignes (le nombre de lignes prédéfini est disponible dans la page de configuration) vers le haut.
  [F6] (SkipDw) Ignore les lignes (le nombre de lignes prédéfini est disponible dans la page de configuration) vers la fin.
- [F2] (SRC) Aller ŕ la page de recherche / remplacement de chaînes.
- [F3] (CMD) Allez ŕ la page de sélection de commande. (c'est comme la liste des commandes fx-5800P) (mode fx-5800P)
      (MENU)) SelectCommand (mode fx-9860G)
- [F4] (A<>a) Commutez majuscule et minuscule.
- [F5] (CHAR) Aller ŕ la page de sélection de personnage.
- [F6] (EXE) Exécuter un programme ou le redémarrer lorsqu'il est en pause.
- [SHIFT] +
  [EXIT] (QUIT) Retournez ŕ la page de la liste des fichiers.
  [GAUCHE] Contraste (ps) (* fonction interne du systčme d'exploitation)
  [RIGHT] Contraste (up) (* fonction interne du systčme d'exploitation)
  [UP] Faites défiler 1 page (6 lignes) vers le haut.
  [BAS] Faites défiler 1 page (6 lignes) jusqu'ŕ la fin.
  [F1] (Var) Aller ŕ la page Variables.
  [F2] (Mat) Aller ŕ la page Variables Mat.
  [F3] (V-W) Allez ŕ la page ViewWindow.
       (VWIN) Sélectionnez Command. (mode fx-9860G)
     [F5] (Dump) / (List) Bascule entre les affichages "Basic List" et "Hex Dump".
     [F6] (G <> T) Permet de changer décran de graphiques et de texte.
  [F4] (SKTCH) Sélectionnez Command. (mode fx-9860G)
  [F4] (Dump) / (List) Affiche les affichages "Basic List" et "Hex Dump" (mode fx-5800P).
  [F5] (Dump) / (List) Bascule entre les affichages "Basic List" et "Hex Dump".
  [F6] (CHAR) Aller ŕ la page de sélection de personnage. (mode fx-9860G)
  [F6] (G <> T) Permet de changer décran de texte et graphique (mode fx-5800P).
- [OPTN] Liste de commandes contextuelle prise en charge par [OPTN] de fx-9860G / GII (mode fx-5800P)
         Sélectionnez Commande. (mode fx-9860G)
- [VARS] Liste déroulante de liste déroulante prise en charge par [VARS] de fx-9860G / GII (mode fx-5800P)
         Sélectionnez Commande. (mode fx-9860G)
- [MENU] Historique de saisie de commande (ordre chronologique / ordre de fréquence d'entrée modifié par les touches gauche et droite.)
  [AC/ON] Effacer l'historique
- [SHIFT] [VARS] (PRGM) Liste de commande contextuelle prise en charge par [PRGM] de fx-9860G / GII.
- [SHIFT] [MENU] (SETUP) Allez ŕ la page Setup (mode fx-5800P)
               (SETUP) Sélectionnez Command. (mode fx-9860G)
- [ALPH] [DEL] (UNDO) Supprimer ou coller les opérations sont restaurées dans l'état précédent. (une seule fois)
- [EXIT] Revenir ŕ la page précédente, annuler le mode Clip ou revenir ŕ la page de la liste des fichiers.
-------------------------------------------------------------------------------
Page de l'éditeur de mode de débogage
-------------------------------------------------------------------------------
- [F1] (Cont) Continue le programme ŕ partir de la position du curseur.
- [F2] (Trce) Tracez le programme ŕ partir de la position du curseur et revenez ŕ la page Editeur en mode débogage juste aprčs l'exécution de la commande tracée,.
- [F3] (Step) Trace and Step Over (Commencer et suivre) ŕ partir de la position du curseur et revenir ŕ la page de l'éditeur en mode débogage juste aprčs l'exécution de la commande. Lorsque la sous-routine est exécutée, la sous-routine est exécutée jusqu'ŕ la fin.
- [F4] (S.Out) Sortez de la position du curseur et revenez ŕ la page Editeur en mode Debug juste aprčs l'exécution de la commande. Lorsque le sursor est en sous-routine, la sous-routine est exécutée jusqu'ŕ la fin.
- [F5] (L<>S) Basculez la page de l'éditeur et l'écran du programme en cours. Lorsque l'écran d'exécution du programme est affiché, les opérations de débogage avec [F1] - [F4] sont toujours disponibles.
- [F6] (>) Basculez le menu Debug manu and Editor. Lorsque l'écran d'exécution du programme est affiché, appuyez sur [F6] (>) pour afficher le menu Débogage.
- [EXIT] Revenez ŕ la page précédente, annulez le mode Clip ou revenez ŕ la page d'édition normale (pas en mode débogage).
-------------------------------------------------------------------------------
Écran de fonctionnement du programme
-------------------------------------------------------------------------------
Pendant le programme est en cours d'exécution;
- [AC] Arręte le programme.
   [EXIT] Aller ŕ l'éditeur en mode débogage. Le curseur se situe au point de rupture.
   [Gauche] Allez ŕ l'éditeur en mode débogage. Le curseur se situe au point de rupture.
   [F1] Reprendre le programme.
   [EXE] Reprendre le programme.
Quand le programme est arręté par la commande Disps (- Disp - est affiché ŕ lécran);
- [SHIFT] +
   [F1] (Var) Aller ŕ la page des variables
   [F2] (Mat) Aller ŕ la page des variables de tapis
   [F3] (V-W) Aller ŕ la page ViewWindow
   [F6] (G <> T) Écran Changer graphisme et texte
- [EXE] Reprendre le programme.
-------------------------------------------------------------------------------
Écran Mat / List Editor
-------------------------------------------------------------------------------
[Écran Mat / List / Vct (la méthode dopération est commune.)
(Le tapis que vous avez obtenu en adressant la marque * en le listant.)
- [F1] (DEL) Supprimer un tapis / une liste.
- [F2] (DEL-ALL) Supprimer tout Mat / Liste.
- [F3] (DIM) Définissez la dimension, la taille de l'élément, une valeur initiale d'index du Mat / List.
- [F4] (INITIAL) Initialise tous les éléments du Mat / List of selected.
- [F5] (Mat#/Lst#/Vct#) Sélectionnez un numéro et sautez.
- [F6] (A<>a) Commutez majuscule et minuscule.
- [EXE] Entrez dans l'écran d'édition Mat / List. (détaillé plus tard)
- [SHIFT][F1] (Mat) Sélectionnez Mat
- [SHIFT][F2] (Liste) Sélectionnez Liste
- [SHIFT][F3] (Vct) Sélectionnez Vct
- [OPTN] Commutateur saffichant entre Mat et List.
- [VARS] Commutateur montrant entre Mat et Vct.
- [LEFT] backword 26.
- [RIGHT] mot dordre 26.
- [SHIFT]+[UP/DOWN] défilement de page
[Écran d'édition Mat / List]
[SHIFT]+[8] (CLIP) Vous pouvez extraire toutes les données Mat / List dans le tampon de clips.
[SHIFT]+[9] (PASTE) Vous pouvez coller des données Mat / List ŕ partir du tampon de clips.
(mode d'édition de valeur numérique)
 - [F1] (EDIT) Modifie l'élément du Mat / List.
 - [F2] (GO) Aller ŕ l'élément.
 - [F3] (INITIAL) Initialise tous les éléments.
 - [F4] (>x,y / >m,n) Changement d'indication [m,n]/[x,y].
 - [SHIFT]+[F5] ou [F5] Modifier l'affichage décimal <> binaire. (uniquement pour nybble (4 bits), octet (1 octet), le mot (2 octets))
 - [SHIFT]+[F6] ou [F6] Change laffichage décimal <> hexadécimal. (autre que 1 bit et un nombre complexe (16 octets), le double (8 octets) affiche uniquement les données internes)
 - [SHIFT]+[F2] ou [OPTN] Passer ŕ l'éditeur de points.
 - [SHIFT]+[F3] ou [VARS] Passer ŕ l'affichage de la chaîne de caractčres.
 Seulement comme pour ce qui suit, mode g3m (sauf le bit / liste 1 bit)
 -[DÉCALAGE]
    [5] Saisissez une couleur de 16 bits différente de celle avec une couleur de 4 bits dans le quartet (4 bits).
    [6] Entrez une couleur de 16 bits. (sauf le nibble (4 bits) Mat / List)
(éditeur de points)
 traiter la valeur de chaque élément du tapis comme un code de couleur.
 blanc = 1, noir = 0 avec 1 bit Mat et le mode g1m.
 C'est une couleur de 4 bits dans le nibble (4 bits Mat).
 - [F1] (0<>1) Modifiez la valeur de l'élément avec 0 <> 1. (Mode 1 bit Mat et g1m)
 - [F1] Passez ŕ la couleur affichée par le menu de fonctions. (autre que le bit 1 Mat du mode g3m)
   * Il change en noir comme męme couleur
 Seulement comme pour ce qui suit, mode g3m (sauf le bit / liste 1 bit)
 -[DÉCALAGE]
    [5] Saisissez une couleur de 16 bits différente de celle avec une couleur de 4 bits dans le quartet (4 bits).
    [6] Entrez une couleur de 16 bits. (sauf le nibble (4 bits) Mat / List)
-------------------------------------------------------------------------------
Rechercher / Remplacer du texte
-------------------------------------------------------------------------------
[Recherche chaîne de caractčres]
-Vous entrez une chaîne de caractčres, puis appuyez sur [F1] (SEARCH) ou sur [EXE].
-Vous appuyez ŕ nouveau sur [F1] (SEARCH) ou [EXE] pour rechercher ensuite.
- [F6] (RETRY) Permet de revenir ŕ l'écran de recherche.
[Remplacer la chaîne de caractčres]
-Vous saisissez une chaîne de caractčres avant le remplacement, puis appuyez sur [F2] (REPL).
-Alors vous entrez une chaîne de caractčres aprčs le remplacement et appuyez sur [F1] (SEARCH), [F2] (REPL) ou [EXE].
-Vous appuyez ŕ nouveau sur [F1] (SEARCH) ou [EXE] pour rechercher ensuite.
-Vous appuyez sur [F2] (REPL) pour le remplacer.
-Vous appuyez sur [F3] (ALL) ou [F4] (ALL +) pour tout remplacer. Je pousse [AC] pour l'arręter.
-Vous naffichez pas la progression en cours de remplacement dans [F4] (ALL+).
-------------------------------------------------------------------------------
Spécification incompatible avec l'original CasioBasic
-------------------------------------------------------------------------------
Notre objectif est la compatibilité avec les produits Casio Basic authentiques, mais pas ŕ 100%.
Une ligne de saisie par la commande "?" et "? ->" ne sont que sur une seule ligne. Une chaîne de caractčres de plus de 21 colonnes est toujours affichée sur la ligne horizontale unique par défilement et non sur plusieurs lignes.
Lorsque ":" (commande ŕ instructions multiples) vient juste aprčs la commande de croquis, l'écran graphique n'est pas redessiné.
La durée du programme est affichée aprčs la fermeture du programme. Cette fonction peut ętre activée ou désactivée dans la page de configuration.
Un séparateur de texte de commentaire 'est disponible pour les commentaires avant Carriage Return ou Disps (sortie), mais ":" (commande ŕ instructions multiples) peut ętre inclus dans la chaîne commentée.
C.Basic intčgre également la fonctionnalité conviviale de fx-5800P;
C.Basic supporte un script "? A" supporté par fx-5800P. Ceci n'est pas supporté par fx-9860G / fx-9860GII (le script "? -> A" seulement est supporté).
La fonction de sortie de chaîne "" est totalement compatible avec fx-5800P dans les détails mais pas exactement compatible avec fx-9860G / fx-986GII. Voir les sujets en détail.
===============================================================================
Menu de Configuration
===============================================================================
Options compatibles avec le Basic Casio :
Angle :Deg/Rad/Gra
Complex Mode:Real/a+bi/rtheta
Draw Type :Connect/Plot
Coord :on/off
Grid :on/off/Line
Axes :on/off/Scale
Label :on/off
Derivative :on/off
Background :None / Pict1-20
Plot/LineCol:Black etc.
Sketch Line :Normal/Thick/Broken/Dot/Thin
Nouvelles options fournies par C.Basic :
-------------------------------------------------------------------------------
Display: Fix / Sci / Nrm / Eng
Le nombre maximal de chiffres possibles est augmenté ŕ 15. Indiquer 0 le pousse ŕ 16.
Nrm1 et Nrm2 sont identiques au Basic Casio et affichent jusqu'ŕ 10 chiffres.
Nrm1: -0.01<x<0.01
Nrm2: -0.000000001<x<0.000000001
Indiquer un autre paramčtre (0 ou 3..15) modifie le nombre maximum de chiffres.
Other number (0 or 3 - 15) is to set max number of digit.
Eng peut ętre configuré ŕ Eng Off, Eng On (/E) et séparateur de milliers (/3)
Commandes liées : Eng, Norm, Fix, Sci
-------------------------------------------------------------------------------
Exp Display : E / Stdx10 / Allx10
sélectionnez le caractčre de l'exposant.
E: -1.23e99 caractčre précédent.
Stdx10: -1.23(x10)99 nouveau caractčre uniquement taille de police standard.
Allx10: -1.23(x10)99 nouveau caractčre de toute la taille de la police.
- Commandes lieés : '#exp 0 // caractčre précédent.
'#exp 1 // nouveau caractčre uniquement taille de police standard.
'#exp 2 // new character all font size.
-------------------------------------------------------------------------------
Syntax Help : On/Off
Aide ŕ la commande dans l'éditeur
-------------------------------------------------------------------------------
SetupRecover : On/Off
Activer cette option restaure automatiquement, aprčs la sortie d'un programme, tous les paramčtres du Basic Casio ŕ leur valeur d'avant l'exécution.
-------------------------------------------------------------------------------
Command Input : C.Basic/Standard/>5800/>9800
Choisit le mode d'entrée de commandes : Standard (fx-9860G) ou C.Basic (fx-5800P).
Vous pouvez choisir le fonctionnement de "" : soit fx-5800P, soit fx-CG.
- Commandes lieés : '#58
'#98
-------------------------------------------------------------------------------
[X]character : [0x90]/[X]
Pour sélectionner le caractčre de la touche [X/Theta/T].
-------------------------------------------------------------------------------
Max Mem Mode : on/off
Utiliser toute la mémoire disponible.
-------------------------------------------------------------------------------
EnableExFont : on/off
Activer l'utilisation de la police externe.
-------------------------------------------------------------------------------
Edit ExtFont : On/Off
Activer l'éditeur de polices externes.
-------------------------------------------------------------------------------
Edit GB Font : On/Off/Full
Pour sélectionner la police GB affichée sur léditeur.
  Off : normal. pas afficher la police GB.
  On : affichage de la police de caractčres sans F7xx, F9xx, E5xx, E6xx, E7xx
  Full: affiche toutes les polices GB.
-------------------------------------------------------------------------------
EditFontSize : Standard/Mini/MiniMini/MiniMiniFX /+Fixed pitch/+Gap
Sélectionne la taille de police de l'éditeur.
-------------------------------------------------------------------------------
EditFontSize : Standard/Mini/Mini_rev/Mini UnderCursor/Mini_rev_UnderCSR
Sélectionne la taille de police de l'éditeur.
-------------------------------------------------------------------------------
Edit Indent+ : Off/1/2/4 Save-
activer l'indent automatique dans l'éditeur.
Off: diable auto indent.
1 : Définir la largeur de l'endent eden à 1.
2 : Définir la largeur de l'endente à 1.
4 : Définir la largeur de l'endent eden à 1.
Enregistrer : supprimez les espaces vides, y compris les indents lors de l'enregistrement du programme. (à compatible avec Basic Casio)
-------------------------------------------------------------------------------
Edit LineNum :on/off
Configure l'affichage des numéros de ligne.
-------------------------------------------------------------------------------
EditListChar : List / reverseL / Thick L
Sélectionne le mode d'affichage des listes.
-------------------------------------------------------------------------------
Edit-backCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
Sélectionne le couleur de fond de l'éditeur.
-------------------------------------------------------------------------------
Edit-baseCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
Sélectionne le couleur de base de l'éditeur.
-------------------------------------------------------------------------------
E-NumericCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
Sélectionne le couleur numérique de l'éditeur.
-------------------------------------------------------------------------------
E-CommandCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
select command color of editor.
Sélectionne le couleur de commande de l'éditeur.
-------------------------------------------------------------------------------
Ed-QuotColor : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
Sélectionne le couleur des chaînes de l'éditeur.
-------------------------------------------------------------------------------
E-CommentCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
Sélectionne le couleur des commentaires de l'éditeur.
-------------------------------------------------------------------------------
E-LineNumCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White
select line number color of editor.
Sélectionne le couleur du numéro de ligne de l'éditeur.
-------------------------------------------------------------------------------
Auto OverClk : on/off
Régler l'overclockage automatique pour CG10/20.
-------------------------------------------------------------------------------
Heap RAM Size : 96KB/117KB/127KB/SIZE
Définissez la taille de segment maximale de l'utilisation C.Basic.
  (* Vous ne pouvez pas le changer au moment de l'édition du programme.)
-------------------------------------------------------------------------------
Use Hidden RAM : on / off
Utiliser la mémoire supplémentaire cachée.
-------------------------------------------------------------------------------
HiddenRAM Init : on / off
Initialiser la mémoire supplémentaire cachée avant l'exécution.
-------------------------------------------------------------------------------
Max Pict No : 20~99
Lorsque la mémoire cachée est utilisée, le nombre de Picture peut ętre augmenté.
(*) Changer cette valeur réinitialise les Picture, matrices et listes !
(*) Ce paramčtre n'est pas valide.
-------------------------------------------------------------------------------
Max List No : 52~1040
Lorsque la mémoire cachée est utilisée, le nombre de listes peut ętre augmenté.
(*) Changer cette valeur réinitialise les Picture, matrices et listes !
-------------------------------------------------------------------------------
AT DebugMode : on / off
Active le debugger lorsque [AC/ON] est utilisé pour interrompre le programme.
-------------------------------------------------------------------------------
ExitDM Popup : on / off
Afficher une popup quand le debugger se ferme.
-------------------------------------------------------------------------------
Break Stop : on / off
Accepte ou refuse les interruptions par la touche [AC/ON].
Quand cette option est ŕ off, vous ne pouvez pas quitter un programme en appuyant sur [AC/ON].
- Commandes liées : '#Break 0 '#Break 1
-------------------------------------------------------------------------------
Exec TimeDsp : on / off /reset /%HR
Affiche le temps d'exécution du programme une fois le programme terminé.
Le timer est lancé ŕ la premičre ligne du programme. Les commandes ? et Disps le réinitialisent.
Les fonctions Getkey1/2 mettent le timer en pause et le redémarrent ensuite.
En cas de reset, le timer est réinitialisé est reprend au premier appel de Getkey1/2.
%HR: Utilise le timer ŕ 1/32768s (SH4A uniquement)
- Commandes liées : '#GetKeyC '#GetKeyR
-------------------------------------------------------------------------------
IfEnd Check : on / off
Vérifie strictement la correspondance entre chaque "If" et chaque "IfEnd".
-------------------------------------------------------------------------------
ACBreak : on / off
Active ou désactive la commande ACBreak.
- Commandes liées : ACBreak
-------------------------------------------------------------------------------
Force Return : None/ F1/ EXE/ F1&EXE
Force le retour ŕ l'éditeur lors d'une interruption avec [AC/ON].
(Exemple) Retour de force réglé à [F1]key
-Liste de fichiers→[F1](EXE)→[AC]→[EXIT]... Retourne à la liste de fichiers.
-Liste de fichiers→[EXE][AC]→[EXIT] ...... Retourne à l'éditeur.
-Liste de fichiers→[F1](EXE]→[AC]→[EXE](restart)→[AC]→[EXIT] ...... Retourne à la liste de fichiers.
(L'opération dépend de la clé qui est pressée en premier.)
-------------------------------------------------------------------------------
Key 1st time : 25 ms - 1000 ms (valeur par défaut : 500 ms)
Durée avant qu'une touche soit répétée pour la premičre fois (multiple de 25 ms)
-------------------------------------------------------------------------------
Key Rep time : 25 ms - 500 ms (valeur par défaut : 125 ms)
Durée avant qu'une touche qui a déjŕ été répétée soit répétée de nouveau (multiple de 25 ms)
-------------------------------------------------------------------------------
SkipUp/Down : 1 - 9999
Nombre d'écrans parcourus pour chaque pression de SkipUp ([SHIFT][UP]) ou SkipDown ([SHIFT][DOWN]) dans l'éditeur.
-------------------------------------------------------------------------------
Mat Dsp mode : [m,n] / [X,Y]
Sélectionne le format d'affichage de matrices dans l'éditeur de matrices.
Les formats [m,n] et [X,Y] sont transposés l'un de l'autre. Ce n'est qu'un paramčtre d'affichage, les données de la matrice restent stockées dans l'ordre original.
-------------------------------------------------------------------------------
Matrix base : 0 / 1
Indice de début pour la numérotation des éléments de matrices. Il faut ętre en mode 0 pour utiliser la premičre ligne et la premičre colonne de la VRAM.
- Commandes liées : '#Mat 0, '#Mat 1
-------------------------------------------------------------------------------
DATE : 2017/01/17 TUE
Change la date de la RTC (horloge du systčme). Le jour de la semaine est calculé automatiquement.
-------------------------------------------------------------------------------
TIME : 23:59:59
Change l'heure de la RTC.
- Commandes liées : DATE, TIME
-------------------------------------------------------------------------------
Root folder:/ (Seul le Graph 35+E II est valide.)
[F1]: pour définir le dossier racine.
[F2]: pour définir le dossier actuel.
- Commandes liées :
'#R/ // pour définir le dossier racine.
'#R. // pour définir le dossier actuel.
-------------------------------------------------------------------------------
Favorite Col : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16bit Color
Sélectionne le couleur de fichier préférée de l'éditeur.
-------------------------------------------------------------------------------
Auto file Save : on/off
Désactive la popup de confirmation ŕ la sauvegarde dans l'éditeur.
-------------------------------------------------------------------------------
Force g1m save : on / off
Permet de sauvegarder automatiquement les fichiers g1m quand les programmes textes sont édités.
-------------------------------------------------------------------------------
Direct GB cnvt : on/off
Définir le code GB sans conversion de texte.
  (* conversion supporte le mode GB de l'éditeur.)
-------------------------------------------------------------------------------
Pict mode: S.Mem / Heap / Both
- S.Mem : Les Picture sont créées dans la mémoire de stockage (petit surcoűt temporel)
- Heap : Les Picture ne sont pas vraiment créées, juste stockée temporairement dans la RAM
- Both : Les deux.
- Clear : Supprime le fichier compatible Pict créé dans la mémoire de tas au démarrage du programme ŕ chaque fois.
-------------------------------------------------------------------------------
Storage mode: S.Mem / SD / MainMem
Sélectionne le stockage temporaire pour le code pendant l'édition et l'exécution.
S.Mem : Mémoire de stockage
SD : Carte SD (Graph 95 SD uniquement)
Main mem : Mémoire principale
-------------------------------------------------------------------------------
RefrshCtl DD: off / Grp / All
Sélectionne le niveau de restriction du rafraîchissement automatique de l'écran.
Off : Aucune restriction particuličre (comme en Basic Casio).
Grp : Seules les commandes graphiques et ClrText, Locate, Text, LocateYX et "" provoquent le rafraîchissement de l'écran (ces exceptions sont en rétro-compatibilité avec les précédentes versions de C.Basic).
All : Aucune commande ne rafraîchit l'écran automatiquement. PutDispDD doit ętre utilisé.
Time : Sélectionne la durée de rafraîchissement automatiquement en unités de 1/128 s. La valeur par défaut est 3, ce qui donne environ 1/42 s de fréquence de rafraîchissement.
Par défaut, la valeur est 0.
- Commandes liées : RefrshCtrl, RefrshTime
-------------------------------------------------------------------------------
Wait count : 0~9999
Délai contrôlant la vitesse d'exécution globale.
- Commandes liées : Wait
-------------------------------------------------------------------------------
G1M/G3M mode : auto/g3m/g1m
Définir pour exécuter le mode par défaut.
- Commandes liées : '#G1M, '#g1m, '#G3M, '#g3m
-------------------------------------------------------------------------------
Execute mode: Dbl# / Int% / CPLX
Définit le mode de variables numériques par défaut.
- Commandes liées: '#CBasic, '#CBASIC, '#CBINT, '#CBint '#CBCPLX '#CBcplx
-------------------------------------------------------------------------------
===============================================================================
Reconnaissance
===============================================================================
Pour étudier et mettre en śuvre la spécification interne,
"Calculatrices fx basées sur SuperH (version 20)"
a donné des informations utiles.
Pour la gestion des fichiers dans C.Basic,
"https://community.casiocalc.org/topic/6836-wsc-fvm-v12-casio-fx-9860-series-on-calc-c-compiler/
Wsc & Fvm V1.2 - Compilateur C sur calcul série Casio Fx-9860 "
a donné des informations utiles.
Pour les polices Kana japonaises, les données de police et la routine de sortie du site suivant sont utilisées;
"http://www.d-b.ne.jp/~k-kita/fx_sdk_005.html"
Pour les fonctionnalités détaillées de Casio Basic dorigine, le site suivant est référencé;
Gadget électronique - Calculatrice de programmation de Krtyski
"https://egadget.blog.fc2.com/"
(presque le contenu est en japonais).
https://community.casiocalc.org/topic/7637-cbasic-international-release/
https://codewalr.us/index.php?topic=1818.0
https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html
Leurs avis ont été trčs utiles.
Je suis reconnaissant pour la coopération de tous.
par sentaro21
===============================================================================
lien connexe
===============================================================================
https://egadget2.web.fc2.com/CBasic/Interpreter/CBasic_interpreter.html
https://egadget.blog.fc2.com/blog-entry-630.html (part1)
https://egadget.blog.fc2.com/blog-entry-658.html (part2)
https://egadget.blog.fc2.com/blog-entry-664.html (part3)
http://community.casiocalc.org/topic/7637-cbasic-international-release/
https://codewalr.us/index.php?topic=1818.0
https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html
https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15240
===============================================================================
Licence
===============================================================================
Ce logiciel est un logiciel libre, conforme ŕ GPLv2.

721
doc-cg/ReadmeCG_J.txt Normal file
View File

@ -0,0 +1,721 @@
===============================================================================
アドイン版 Casio Basic Interpreter (& Compiler) for CG ver 1.x β版
copyright(c)2015-2017-2020 by sentaro21
e-mail sentaro21@pm.matrix.jp
最終更新日2020/2/9(JST)
最終更新者Krtyski/sentaro21
===============================================================================
Casio Basic インタプリタのアドイン版、略してC:Baisc現状インタプリタのみなのでC.BasicのCG版のとりあえず動く版です。
・特徴
 純正Casio Basic互換を目指しています
 純正Casio Basicよりも高速動作10倍以上
 操作方法はほぼCasio Basic準拠です。
 純正Casio Basic互換の新規ソースファイルの作成、編集が可能です。
 ソースファイルはメインメモリではなくストレージメモリに置かれます。サブフォルダは1階層まで対応しています。
 純正Casio Basic上位互換で独自拡張機能を随時追加していきます。
 fx-9860Gシリーズのg1mと、fx-CGシリーズのg3mに対応しています。
・欠点
 現在のところ、CG50のみフル動作可能でCG10/20では一部機能が動作しませんが将来的には両機種完全対応します。
 純正Casio Basicのサブセットです。全部の命令が使えません。というか一部の基本的な命令のみのサポートです。
 数値演算はCの倍精度2進演算により精度誤差が若干違います。
 PICTがメインメモリ上だけで使えます。
 現状とりあえず動く版なので間違いなくバグが大量に残っています(^^;…ので、バグ報告&追加機能の要望などよろしくお願いします。
========================== 注意!!! ============================================
このツールの使用によって電卓が破壊される可能性はまず無いと思いますが、
予期せぬバグ等でメインメモリが破壊されオールリセットになる可能性はあります。
このツールの使用はメインメモリ&ストレージメモリのバックアップをとった上でお願いいたします。
作者はこのツールの使用の結果においていかなる責任も負わないものとさせていただきます。
===============================================================================
========================== 注意!!!その2 ======================================
CG10/20では画面更新が遅いのでPtune2で100MHz以上に上げないと画面描画が間に合わず上手く動作しません。
その場合、Ptune2での[F4]プリセットではシステムエラーになる場合があります。
ROMタイミング不足ですのでPtune2でのROMアクセスタイミングを一段階緩めて下さい。
乗算キー[X]を押すとROMタイミングが増えます。
デフォルトクロックで起動した場合は自動的にオーバークロックします。58MHz->118MHz
===============================================================================
-------------------------------------------------------------------------------
C.Basic の起動
-------------------------------------------------------------------------------
起動すると、ファイルリスト画面になります。ここでファイルを選択します。
純正Casio Basicで既に作成しているBasicファイルを、このファイルリストに追加するには、
メインメモリにある元のBasicファイルをストレージメモリへコピーします。
(単一ファイルに限ります。複数ソースファイルをまとめたファイルは未対応です。)
Ver 0.53以降、MCS(メインメモリ)のプログラムファイルを使用できるようになりました。
※セットアップでメインメモリを選択すると、ファイルの保存先、ファイル操作はメインメモリのプログラムファイルが対象になります。
※ファイルの保存時やコピー時はメインメモリからストレージ、ストレージからメインメモリへと保存先を変更することが可能です。
===============================================================================
クイックマニュアル - C.Basic の開発環境
===============================================================================
-------------------------------------------------------------------------------
ファイルリスト画面Casio Basic準拠っぽく…ちょっと違っています
-------------------------------------------------------------------------------
-[UP] 一つ前のファイルを選択します。
-[DOWN] 一つ後のファイルを選択します。
ファイル選択画面ではA-Zのキーを押すとそれを先頭とするファイルにジャンプします。fx-5800P/fx-CG準拠です
[.]キーで"~"を先頭とするファイルにジャンプします。)
[EXP(x10)]キーでフォルダリストの先頭(ファイルリストの最後の次)にジャンプします。)
-[F1] (EXE) 選択ファイルを実行します。
-[F2] (EDIT) 選択ファイルを編集します。
-[F3] (NEW) 新規ファイルを作成します。
-[F4] (COPY) ファイルをコピーします。
-[F5] (DELETE) 選択ファイルを削除します。
-[F6] ( > ) 次のメニューに移動します。
  [F1] (>txt/CONVERT) 選択されたBasicソースファイルをテキストファイル⇔g1mファイル/g3mファイル/MCSの間で変換します。
  [F2] (RENAME)ファイル名を変更します。
  [F3] (Fav.) 選択ファイルをお気に入りに追加、解除します。
  [F4] (Fv.↑) お気に入りを一つ上に移動します。
  [F5] (Fv.↓) お気に入りを一つ下に移動します。
  [F6] ( > ) 次のメニューに移動します。
  [F1] (MKEFLDR) フォルダを作成します。
  [F2] (RENFLDR) フォルダ名を変更します。
  [F6] ( > ) 前のメニューに移動します。
-[EXE] プログラムを実行します。
-[SHIFT]
[EXIT](QUIT) サブフォルダからルートに戻ります。
[UP] お気に入りを一つ上に移動します。
[DOWN] お気に入りを一つ下に移動します。
  [F1] (Var) 変数画面
  [F2] (MAT) Mat変数画面
  [F3] (V-WIN)ViewWindow表示
  [F4] (Pass) パスワード設定/解除
  [F6] (Debug) デバッグモードでエディタを起動します。
-[VARS] 変数画面
  [F1] (A<>a) 大文字変数と小文字変数、任意英数字名変数の表示切替え
  [F2] (INITIAL) 表示変数の一括初期化
  [F3] (D<>I) 整数変数と実数変数の表示切替え
  [F6] (->Hex/->Dec) 16進数/10進数表示に切り替え
  [SHIFT]+[UP]/[DOWN] 1ページずつスクロール
※ローカル変数の場合は=を反転表示します。
-[SHIFT]
[MENU] (SETUP) 初期設定
   [F6] バージョン情報表示
-[OPTN] 選択ファイルをお気に入りに追加、解除します。
-[EXIT] ファイルリストの最初に戻ります。
すでにファイルリストの最初の場合はルートに戻ります。
-------------------------------------------------------------------------------
エディタ編集画面Casio Basic準拠っぽく…ちょっと違っています
-------------------------------------------------------------------------------
・ファイル内のカーソルの現在位置を示すスクロールバーが右端に表示されます。
-[F1] (JUMP) ジャンプサブメニューを表示します。
[F1] (TOP↑) ファイル先頭にジャンプします。
[F2] (BTM↓) ファイル末尾にジャンプします。
  [F3] (GO) ファイルの任意の行にジャンプします。(画面上での見た目上での行数です)
  [F5] (Skip↑) (セットアップで設定された)ページ数スキップアップします。
  [F6] (Skip↓) (セットアップで設定された)ページ数スキップダウンします。
-[F2] (SEARCH) 文字列サーチ/置換モードに入ります。
-[F3] (COMMAND) コマンド選択画面fx-5800P準拠モードここで選択できるコマンドがサポートされています
(MENU) コマンド選択モードfx-CG/9860G準拠モード
-[F4] (A<>a) 大文字小文字切り替え
-[F5] (CHAR) キャラクタ選択画面
-[F6] (EXE) プログラムを実行します。一時停止状態であれば再開します。
-[SHIFT]
[EXIT](QUIT) ファイルリスト画面に戻ります。
[LEFT] エディタの表示文字の大きさおよび行間隔を小さくします。
[RIGHT] エディタの表示文字の大きさおよび行間隔を大きくします。
[UP]  (セットアップで設定された)ページ数スキップアップします。
[DOWN] (セットアップで設定された)ページ数スキップダウンします。
  [F1] (Var) 変数画面
  [F2] (MAT) Mat変数画面
  [F3] (V-WIN) ViewWindow表示
  [F4] (Dump)/(List) Basicリスト表示/16進ダンプ表示切替fx-5800P準拠モード
   (SKTCH)コマンド選択モードfx-CG/9860G準拠モード
  [F5] (A<>a) 大文字小文字切り替え
  [F6] (G<>T) グラフィックス画面とテキスト画面の切替fx-5800P準拠モード
   (CHAR) キャラクタ選択画面fx-CG/9860G準拠モード
[3] Getkeyコマンドのキーコードを入力します。
[6] カラーピッカーを起動します。
-[OPTN] OPTN対応コマンド入力画面ここで選択できるコマンドがサポートされています
-[VARS] VARS対応コマンド入力画面ここで選択できるコマンドがサポートされています
-[MENU] コマンド入力履歴(左右キーで時系列⇔入力頻度順を切り替えられます。)
[AC/ON] 入力履歴を削除します。
-[SHIFT][VARS] (PRGM) PRGM対応コマンド入力画面ここで選択できるコマンドがサポートされています
-[SHIFT][MENU] (SETUP) 各種設定 後述fx-5800P準拠モード
  [F6] バージョン情報表示fx-5800P準拠モード
            SETUP対応コマンド入力画面ここで選択できるコマンドがサポートされていますfx-CG/9860G準拠モード
-[ALPHA][DEL] (UNDO) 削除とPasteを一回だけ元に戻しまします。
-[EXIT] サブメニューからメインメニュー、クリップモードのキャンセル、またはファイルリスト画面に戻ります。
-------------------------------------------------------------------------------
デバッグモード編集画面 (通常エディタと違う部分)
-------------------------------------------------------------------------------
-[F1](Cont):カーソル位置よりプログラムを再開します。
-[F2](TRACE):カーソル位置よりトレース実行。コマンド実行後、即エディタ画面に戻ります。
-[F3](STEPS):カーソル位置よりトレース+ステップオーバー。サブルーチンの場合は一気に実行されます。ステップ実行後、即エディタ画面に戻ります。
-[F4](S.Out):カーソル位置よりステップアウト。サブルーチンの終了まで一気に実行します。ステップ実行後、即エディタ画面に戻ります。
-[F5](L<>S):エディタリスト表示とプログラム実行画面の切替をします。切替後も実行画面が維持されるので実行画面そのまま[F1]-[F4]のデバッグ動作が可能です。
-[F6]( > ) :デバッグメニューとエディタメニューを切り替えます。実行画面(グラフィック/テキスト)の場合はファンクションメニュー表示をします。
-[EXIT] サブメニューからメインメニュー、クリップモードのキャンセル、または通常エディタ画面に戻ります。
※デバッグモード時、ステータスラインの背景がシアンになります。
-------------------------------------------------------------------------------
プログラム実行時ほぼCasio Basic準拠…です
-------------------------------------------------------------------------------
-[AC] プログラム実行を中止します。
[EXIT] デバッグモードのエディット画面に戻ります。カーソルは中断箇所を示します。
[←/→] デバッグモードのエディット画面に戻ります。カーソルは中断箇所を示します。
[F1] プログラムに復帰します。
[EXE] プログラムに復帰します。
▲一時停止コマンドで停止した時(- Disp - 表示の時)
-[SHIFT]
  [F1] 変数画面
  [F2] Mat変数画面
  [F3] ViewWindow表示
  [F6] グラフィックス画面とテキスト画面の切り替え
-[EXE] プログラムを再開します。
-------------------------------------------------------------------------------
行列エディタ画面
-------------------------------------------------------------------------------
・行列一覧画面操作方法はMat、List、Vct共通です。
※アドレス指定で確保した行列は一覧表示で*マークが付きます。
-[F1] (DEL) 選択されている行列/リスト/ベクトルを消去します。
-[F2] (DEL-ALL) すべての行列/リスト/ベクトルを消去します。
-[F3] (DIM) 行列/リスト/ベクトルの次元、要素サイズ、インデックス開始値を設定します。
-[F4] (INITIAL) 選択されている行列/リスト/ベクトルのすべての要素を初期化します。
-[F5] (Mat#/Lst#/Vct#) 番号を指定してジャンプします。
-[F6] (A<>a) 大文字小文字(リストの場合は 1-26 と 27-52を切り替えます。
-[EXE] 行列編集画面に入ります。(詳細後述)
-[SHIFT]+[F1] (>Mat) 行列一覧に切り替えます。
-[SHIFT]+[F2] (>List) リスト一覧に切り替えます。
-[SHIFT]+[F3] (>Vct) ベクトル一覧に切り替えます。
-[OPTN] Mat<>Listの切り替えをします。
-[VARS] Mat<>Vctの切り替えをします。
-[LEFT] 26戻ります。
-[RIGHT] 26進みます。
-[SHIFT]+[UP]/[DOWN] 1ページ分スクロールします。
・ 行列編集画面
※行列編集モード時に[SHIFT]+[8](CLIP)でコピー、[SHIFT]+[9]でペースト出来ます。
 C.Basic形式なのでエディタにて行列データをペースト出来ます。
※[SHIFT]+カーソルキーで改ページ出来ます。
(数値編集モード)
-[F1] (EDIT) 行列の要素を編集します。
-[F2] (GO) 要素を指定してジャンプします。
-[F3] (INITIAL) すべての要素を初期化します。
-[F4] (>x,y / >m,n) 表示形式を切り替えます。
-[SHIFT]+[F5] (>Bin / >Dec) 10<>2進数表示を切り替えますニブル(4ビット)、バイト1バイト、ワード2バイト型行列で有効
[F5]でショートカットできます。)
-[SHIFT]+[F6] (>Hex / >Dec) 10<>16進数表示を切り替えます1ビット、複素数16バイト型以外で有効、実数8バイト型は内部データをそのまま表示
[F6]でショートカットできます。)
-[SHIFT]+[F2] (DotEd) 数値編集モード<>ドットエディタを切り替えます。 ([OPTN] でショートカットできます。)
-[SHIFT]+[F3] (StrEd) 数値編集モード<>文字列編集モードを切り替えます。([VARS] でショートカットできます。)
以下、g3mモードのみ1ビット行列を除く
-[SHIFT]
[5] ニブル4ビットでは4ビットカラー値を、それ以外では16ビットカラー値を入力します。
[6] 16ビットカラー値を入力します。ニブル4ビット行列を除く
(ドットエディタ)
※数値編集モードとの相違点のみ説明します。
・行列の各要素の値をカラーコードとして扱います。
 1ビット行列およびg1mモードでは0が白、1が黒です。
 ニブル4ビット行列では4ビットカラー値です。
-[F1] (0<>1) 要素の値を0<>1で切り替えます。1ビット行列およびg1mモード
-[F1] ファンクションメニューに表示されている色に切り替えます。g3mモードかつ1ビット行列以外
   ※既にその色である場合は黒に切り替えます。
-[SHIFT]+[F1] (↓) 選択している要素の色を [F1] に設定します。g3mモードかつ1ビット行列以外
-------------------------------------------------------------------------------
文字列サーチ/置換モード
-------------------------------------------------------------------------------
[文字列を検索する]
・文字列を入力し、[F1](SEARCH)または[EXE]を押します。
・次を検索するには、再度[F1](SEARCH)または[EXE]を押します。
・[F6](RETRY)で、検索画面に戻ります。
[文字列を置換する]
・置換前の文字列を入力し、[F2](REPL)を押します。
・次に、置換後の文字列を入力し、[F1](SEARCH)、[F2](REPL)、または[EXE]を押します。
・次を検索するには、再度[F1](SEARCH)または[EXE]を押します。
・置換するには、[F2](REPL)を押します。
・すべて置換するには、[F3](ALL)または[F4](ALL+)を押します。中断するには[AC]を押します。
 [F4](ALL+)では置換の途中経過を表示しません。
-------------------------------------------------------------------------------
キャラクタ選択画面
-------------------------------------------------------------------------------
・純正より多くの文字がサポートされています。
・[F6]でASCII、仮名、外字を入力できます。
・[SHIFT]または[F1][F6]を押すことで、連続入力ができます。
・[OPTN]でノーマルフォント<>ミニフォントを切り替えます。
・[VARS]で選択画面で表示するフォントをC.Basic<>OSで切り替えます。
 OSのフォントで表示している間は、特殊文字をエスケープなしで入力できます。
GB文字について
GB文字を使用できます。
・GB文字をを使用すうるためには、SETUPページで "Edit GB Font"を "On" か "Full" に設定します。
・その上で、[x^2]を押してGB文字入力モードに入ります。
-[F1] 先頭の0xA0**にジャンプします。
-[F2] 16ページ戻ります。
-[F3] 1ページ戻ります。
-[F4] 1ページ進みます。
-[F5] 16ページ進みます。
-[F6] 最後の0xFE**にジャンプします。
※GB文字表示時、特殊文字を表示するためにはエスケープ(0x5C)が必要になることがあります。
 エスケープ付きの文字は背景が黄色で表示されます。
===============================================================================
Casio Basicとの相違点
===============================================================================
基本的には全く同じ動作になるように作成されていますが、動作の違う部分があります。
・?コマンドの入力部分は1ラインのみで横スクロールします。
・描画コマンドの直後が:区切りコードだと画面書換え更新をしません。グラフィック命令、Locate,Text等
・プログラム終了時に実行時間を表示することができます。(セットアップで設定)
・行頭やコマンド間に空白を入れてもエラーになりません。
・コメント文の終了は改行と▲一時停止コマンドのみです。:(区切りコード)では終了となりません。
さらに同じCasio Basicが動作するプログラム関数電卓のfx-5800Pの便利な部分を取り込んでいます。
・?コマンドで?A形式を追加サポートしています。
・文字列出力コマンド " " の出力仕様はfx-5800P準拠とfx-9860G/fx-9860GII/fx-CG準拠を選択できます。
 セットアップで設定できます。
 fx-5800Pとfx-9860G/fx-9860GII/fx-CGのCasio Basic仕様の違いについては、
 やす(Krtyski)様のサイトに詳細な解説がありますので参照して下さい。
 https://egadget.blog.fc2.com/blog-entry-170.html
===============================================================================
-[SHIFT][MENU] (SETUP) セットアップでの設定
===============================================================================
Angle :Deg/Rad/Gra
Complex Mode:Real/a+bi/r∠θ
Draw Type :Connect/Plot
Coord :on/off
Grid :on/off/Line
Axes :on/off/Scale
Label :on/off
Derivative :on/off
Background :None / Pict120
Plot/LineCol:Black etc.
Sketch Line :Normal/Thick/Broken/Dot/Thin
----------------------------ここまで純正Casio Basic互換です。
-------------------------------------------------------------------------------
Display :Fix/Sci/Nrm/Eng
小数以下の桁数は15桁まで。0を指定した場合は16桁となります。
Nrmに関してはNrm1とNrm2のみCasio Basic互換10桁表示仕様です。
Nrm10.01以下は指数表示
Nrm20.000000001以下は指数表示
それ以外は桁数指定となります。
Eng ENGオフ、ENGオン(/E)、3桁区切り(/3)の切り替えとなります。
・関連コマンド Fix,Sci,Norm,EngOn,EngOff,Eng
-------------------------------------------------------------------------------
Exp Display : E / Stdx10 / Allx10
    指数表示の記号を選択します。
   E: -1.23e99 従来の表示形式です。
Stdx10: -1.23(x10)99 スタンダードフォントのみ切り替わります。
Allx10: -1.23(x10)99 すべてのフォントサイズで切り替わります。
・関連コマンド '#exp 0 // 従来の表示形式です。
'#exp 1 // スタンダードフォントのみ切り替わります。
'#exp 2 // すべてのフォントサイズで切り替わります。
-------------------------------------------------------------------------------
Syntax Help : On/Off
エディタでコマンドのヘルプ表示の有効/無効を設定します。
-------------------------------------------------------------------------------
SetupRecover : on/off
すでにセットアップで設定してある上記の純正Casio Basic互換設定をプログラム終了後に復帰するかどうかを設定します。
-------------------------------------------------------------------------------
Command Inpt : C.Basic/Standard/>5800/>9800
コマンド入力方法をC.Basic(fx-5800P)方式とStandard(fx-9860G)方式を選択できます。
" "出力仕様をfx-5800P互換モードとFX/CG互換モードの切り替えができます。
・関連コマンド '#58
'#98
-------------------------------------------------------------------------------
[X]character : [0x90]/[X]
[X,θ,T]キーで入力できる文字を選択します。
-------------------------------------------------------------------------------
EnableExFont : on/off
外部フォントの使用を設定します。
・関連コマンド SetFont 0 // 外部フォント無効
SetFont 1 // 外部フォント有効
-------------------------------------------------------------------------------
Edit Indent+ : Off/1/2/4 Save-
自動インデントを設定します。
Off: 自動インデントを使用しません。
1  インデント幅を1に設定します。
2  インデント幅を2に設定します。
4  インデント幅を4に設定します。
Save-保存時にインデントを含むコマンド間の空白を削除します。CasioBasic準拠ソースに変換します。
-------------------------------------------------------------------------------
Edit ExtFont : on/off
エディタ上で外部フォント表示を使用します。
-------------------------------------------------------------------------------
Edit GB Font : on/off/Full
エディタ上でのGBフォントの表示を設定します。
off:GBフォントを表示しません。通常のモードです。
on:コマンド特殊文字と重なるF7xx,F9xx,E5xx,E6xx,E7xxのGBコードを除いて表示します。
※文字列に0x03A8コードがあればそれ以後の文字列はFull表示になります。文字列コマンドの終了でon表示に戻ります。
Full:内蔵のすべてのGBフォントを表示します。GBコードと重なる一部コマンドがGBフォントに化けます。
(※この設定はエディタとテキスト変換で有効になります。プログラム内での制御は以下のコマンドを使用して下さい。)
・関連コマンド '#GB0 GBフォントを表示しません。従来のモードです。
'#GB1 以後、コマンド特殊文字と重なるF7xx,F9xx,E5xx,E6xx,E7xxを除いてGBコードとして表示します。
'#GB2 以後、内蔵のすべてのGBコードを表示します。
-------------------------------------------------------------------------------
EditFontSize : Std/Mini/MiniMini/MiniMiniFX /+Fixed pitch/+Gap
表示文字の大きさおよび行間隔を変更します。
-------------------------------------------------------------------------------
Edit LineNum : on/off
行番号表示を選択します。
-------------------------------------------------------------------------------
EditListChar : List / 反転L / ボールドL
ListとMat表示を短縮表示1文字の反転とボールドに切り替えます。
-------------------------------------------------------------------------------
Edit-backCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー
エディタの背景色を設定します。
-------------------------------------------------------------------------------
Edit-baseCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー
エディタの基本色を設定します。
-------------------------------------------------------------------------------
E-NumericCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー
エディタの数値表示色を設定します。
-------------------------------------------------------------------------------
E-CommandCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー
エディタのコマンド表示色を設定します。
-------------------------------------------------------------------------------
Ed-QuotColor : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー
エディタの文字列表示色を設定します。
-------------------------------------------------------------------------------
E-CommentCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー
エディタのコメント表示色を設定します。
-------------------------------------------------------------------------------
E-LineNumCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー
エディタの行番号表示色を設定します。
-------------------------------------------------------------------------------
Auto OverClk : on/off
自動オーバークロックを有効/無効の設定をします。
-------------------------------------------------------------------------------
Heap RAM Size : 96KB/117KB/127KB/SIZE
C.Basicで使用する最大ヒープメモリサイズを指定します。
※プログラム編集時は変更できません。
-------------------------------------------------------------------------------
Use Hidn RAM : on/off
隠しRAMをC.Basicで使用するかどうかを設定します。fx-CG10/20は未対応です。
fx-CG50では8MBのRAMが搭載されており、そのうち6MBはOS未使用領域となっているためにこれをプログラム領域と行列領域として利用できるようにします。
-------------------------------------------------------------------------------
HidnRAM Init : on/off
隠しRAM使用時に、Mat行列&ListをC.Basic起動時に初期化するかどうかを設定します。fx-CG10/20は未対応です。
初期化しない場合は、Mat行列&Listの結果が消えないで残ります。
※注意 ただし、CG50では電源オフから1時間でメモリがクリアされてしまうので、C.Basicが再起動します。
-------------------------------------------------------------------------------
Max Pict No : 20 20
CGシリーズでは無効です。20から変更できません。
-------------------------------------------------------------------------------
Max List No : 52 1040
隠しRAM使用時に、Listの上限を増やせます。
設定を変更するとPictMatListデータが初期化されます。
-------------------------------------------------------------------------------
AT DebugMode : on/off
[AC]で中断した時にデバッグモードの有効/無効を設定します
-------------------------------------------------------------------------------
ExitDM Popup : on/off
デバッグモードから[EXIT]で抜ける場合の確認PopUpを設定します。
-------------------------------------------------------------------------------
Break Stop :on/off
[AC]キーによる中断の有無。
offの場合は[AC]キーによる中断が出来ません。
・関連コマンド '#Break0 // [AC]キー無効
'#Break1 // [AC]キー有効 (デフォルト)
-------------------------------------------------------------------------------
Exec TimeDsp : on/off/%HR/on reset
プログラム終了時にプログラムの実行時間を表示します。
計測開始はプログラムの最初の行からですが、途中?コマンドや一時停止コマンドがあった場合はそれまでの計測時間はリセットされます。
Getkey1/2の場合は計測が一時停止になり、コマンド実行後に再スタートします。
on resetは、Getkey1/2実行後に計測がリセットされ再スタートします。
%HR:計測に1/32768sタイマーを使います。
・関連コマンド '#GetkeyC // Getkey1/2実行後に時間計測を一時停止、リスタートします。デフォルト
'#GetkeyR // Getkey1/2実行後に時間計測がリセットリスタートします。
-------------------------------------------------------------------------------
IfEnd Check : on/off
IfとIfEndが一対一で対応しているかどうかをチェックします。
-------------------------------------------------------------------------------
ACBreak : on/off
ACBreakコマンドの有効/無効を切り替えます。
・関連コマンド ACBreak
-------------------------------------------------------------------------------
Force Return : None/F1/EXE/F1&EXE
プログラム実行中の中断でエディタに戻るかファイルリストに戻るかを選択できます。
Force Return: F1 の場合、
・ ファイルリスト画面 → [F1](EXE) → [AC] → [EXIT] …… ファイルリスト画面に戻ります。
・ ファイルリスト画面 → [EXE] → [AC] →[EXIT] …… エディタに戻ります。
・ ファイルリスト画面 → [F1](EXE) → [AC] → [EXE](再開) → [AC] → [EXIT] …… ファイルリスト画面に戻ります。
     (初めにどちらのキーを押したかによって動作が決まります。)
-------------------------------------------------------------------------------
Key 1st time : 25ms1000ms(デフォルト値 500ms)
リピート開始までの時間 (25ms単位)
Key Rep time : 25ms500ms(デフォルト値 125ms)
リピート継続時間 (25ms単位)
-------------------------------------------------------------------------------
SkipUp/Down : 19999
SkipUp/SkipDownでの一回分の改ページ数を指定します。
※改行ごとに一行増える論理行ではなく画面上での見た目上での物理行数です。
-------------------------------------------------------------------------------
Mat Dsp mode : [m,n]/[X,Y]
行列エディタ画面での表示形式を指定します。
それぞれ転置行列の関係になりますが、行列内部は何も変化なく表示上だけの指定です。
Matrix base : 0/1
行列インデックスの初期値を0か1が指定します。
初期値に0を指定した場合は、グラフィック座標が左上端の(0,0)から有効になります。
・関連コマンド '#Mat 0 // 行列のインデックス開始値を0にします。
'#Mat 1 // 行列のインデックス開始値を1にします。デフォルト
-------------------------------------------------------------------------------
DATE : 2017/01/17 MON
TIME : 23:59:59
内蔵RTCを設定します。曜日は自動設定されます。
・関連コマンド DATE、TIME
-------------------------------------------------------------------------------
Root Folder : /
ファイルアクセスの基本となるルートフォルダを設定します。
[F1]:ストレージメモリのルートフォルダに設定します。
[F2]:カレントフォルダを以後ルートフォルダに設定します。
・関連コマンド '#R/ // ストレージメモリのルートフォルダに設定します。
'#R. // カレントフォルダをルートフォルダに設定します。
-------------------------------------------------------------------------------
Favorite Col : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー
ファイルリストのお気に入りの色を設定します。
-------------------------------------------------------------------------------
Auto file save : on/off
編集後、自動的に保存するかどうか設定します。
-------------------------------------------------------------------------------
Force g1m save : on/off
テキストファイル編集実行後に同時にg1m形式でも保存するかどうかを設定します。
-------------------------------------------------------------------------------
Direct GB cnvt : on/off
プログラム内のGBコードをテキスト変換無しでそのままテキストファイルに保存するかどうかを設定します。
※変換無しでテキストファイルにした場合はGB2312対応エディタではそのまま表示できます。
※変換対象GBコードはエディタのGBコード表示モードに対応しています。
-------------------------------------------------------------------------------
Pict mode : S.Mem/Heap/Both
(S.Mem) Pictファイルをストレージメモリ上に作ります。若干時間がかかります。
(Heap) Pictファイルとしては作成されずにメモリ上に互換ファイルが作成されます。推奨設定です
(Both) HeapモードでもPictファイルが常にストレージメモリ上に作成されます。
(Clear) メモリ上に作成されるPict互換ファイルをプログラム開始時に削除します。
-------------------------------------------------------------------------------
Storage mode : S.Mem/Main Mem
ファイルの保存先、ファイル操作の対象を選択します。
-------------------------------------------------------------------------------
RefrshCtl DD : off/Grph/All
描画コマンドにおける画面の更新を設定できます。
Offリフレッシュコントロール無し。表示においては純正互換仕様です。
Grphグラフィックコマンドのみリフレッシュコントロール有り。ClrText,Locate,Text,LocateYX," "は無しで以前のバージョン互換です。
Allすべての描画コマンドがリフレッシュコントロールされた表示となります。必要に応じてPutDispDDコマンドが必須となります。
Timeリフレッシュコントール時間を設定します。n/128秒単位で画面更新します。デフォルトは3で約1/42秒での更新となっています。
   0を指定するとリフレッシュされなくなります。
・関連コマンド RefrshCtrl/RefrshTime
-------------------------------------------------------------------------------
Wait count : 09999
C.Basic全体の実行速度を調整します。
・関連コマンド Wait
-------------------------------------------------------------------------------
G1M/G3M mode : Auto/g3m/g1m
デフォルトのプログラムの実行モードを切り替えます。
・関連コマンド '#G1M
'#g1m
'#G3M
'#g3m
-------------------------------------------------------------------------------
Execute mode : DBL#/INT%/CPLX
デフォルトのプログラムの実行モードを切り替えます。
・関連コマンド '#CBasic
'#CBASIC
'#CBDBL
'#CBdbl
'#CBINT
'#CBint
'#CBCPLX
'#CBcplx
===============================================================================
謝辞
===============================================================================
プログラム内部仕様&情報は
SuperH-based fx calculators (version 20)
Cemetech WikiPrizm,
を参考にさせていただいています。(一部プログラム引用させていただいています。)
基本ソース部分はfx-9860Gシリーズ版のC.Basicからの移植です。
CASIO公式SDK1.00に基づくminiSDK1.09によりコンパイルされています。
このツールのファイル操作部分は、
https://community.casiocalc.org/topic/6836-wsc-fvm-v12-casio-fx-9860-series-on-calc-c-compiler/
Wsc & Fvm V1.2 - Casio Fx-9860 Series On-calc C Compiler
を参考にさせていただいています。(一部引用)
g1mモードにおけるカナフォントはこちらのサイトよりカナフォントデータおよび表示ルーチンを引用させていただいています。
http://www.d-b.ne.jp/~k-kita/fx_sdk_005.html
g3mモードの外部フォントはIPAフォントを使わせていただいております。
PierrotLL氏とNinestars作成のMonochromeLibをCG対応版として修正して使わせていただいています。
Patrick Powell氏のオリジナルsprintfを改良したsprintfソースを利用させていただいています。
純正Casio Basicとの動作互換性チェックにおいて大変有用なプログラムをたくさん掲載されているPlanet-Casioと作者の皆様に感謝いたします。
プログラム実行時の細かい動作に関しては、
やす(Krtyski)様の
e-Gadget - プログラム関数電卓
プログラム電卓の濃い話: 今は fx-5800P / fx-9860GII と Casio Basicプログラミングが中心
https://egadget.blog.fc2.com/
を参考にさせていただいています。
C.Basicが誕生するきっかけとなったサイトです。
管理人様および、ガノー様(FX版)、ツル様(FX+CG版)、iron2様(CG版)、Colon様(CG版)
には対応アプリの開発+バグ出しで大変お世話になっております。
いつもありがとうございます。
これからもよろしくお願いいたします。
最後にとても興味深いグラフ電卓を発売してくださったCASIO計算機に感謝いたします。
このアドインプログラムが皆様のお役に立つことがあれば幸いです。
===============================================================================
ライセンス
===============================================================================
このソフトウエアはフリーソフトウエアです。
ライセンスはGPLv2に準じます。
===============================================================================
ご質問、ご要望、バグ報告等
===============================================================================
やす(Krtyski)様のサイトにてC.Basic for CG プロジェクト専用エントリを作成していただいています。
C.Basic for CG 開発が始動
https://egadget.blog.fc2.com/blog-entry-630.html
C.Basic for CG 開発が始動 - Part 2 (Ver 0.38α以降)
https://egadget.blog.fc2.com/blog-entry-658.html
C.Basic for CG 開発が始動 - Part 3 (Ver 0.56α以降)
https://egadget.blog.fc2.com/blog-entry-664.html
ご質問、ご要望、バグ報告等ありましたらコメント欄にて随時受け付けています。
UCF (C.Basic - International Release)
https://community.casiocalc.org/topic/7637-cbasic-international-release/
Planet-Casio (C.Basic Projets)
https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html
===============================================================================
更新履歴
===============================================================================
ChangeCG_J.txtを参照して下さい。

121
doc-cg/Setup_format.txt Normal file
View File

@ -0,0 +1,121 @@
--------------------------------------------------------
CBasic setup format ver.0.56
--------------------------------------------------------
offset type name
--------------------------------------------------------
00 char "CB.config00"
11 char CB_G1MorG3MDefault
12 char ExtendPict
13 char UseHiddenRAM
14 char ExtendList
15 char CB_INTDefault
16-17 short RefreshCtrl
18 char EditListChar
19 char DrawType
20 char CB_fx5800P // 0.55 new
21 char Refreshtime
22 char ForceReturnMode
23 char Coord
24 char CB_RecoverSetup
25 char ENG
26 char EditExtFont
27 char Grid
28 char CB_Round.ExpTYPE
29 char CB_Round.MODE
30 char MaxHeapRam // 0.49 new
31 char Axes
32-33 short CB_Round.DIGIT-1
34 char DirectGBconvert // 0.49 new
35 char Label
36-37 short DefaultWaitcount
38 char CB_disableOC // 0.52 new
39 char Derivative
40 char XInputMethod
41 char CommandInputMethod
42 char ExitDebugModeCheck // 0.55 new
43 char S_L_Style
44 char EnableExtFont // 0.48 new
45 char ForceG1Msave
46 char ComplexMode // 0.51 new
47 char Angle
48 char EditGBFont // 0.49 new
49 char StorageMode & 1 // 0.53 new
50 char StorageMode & 2 // 0.53 new
51 char BreakCheckDefault
52-53 short PageUpDownNum
54 char (reserved)
55 char TimeDsp
56 char (reserved)
57 char 1-MatBaseDefault
58 char (reserved)
59 char MatXYmode
60 char (reserved)
61 char CheckIfEnd
62 char (reserved)
63 char PictMode
64-71 double Xfct
72-79 double Yfct
80-543 double REG.A...z.real
544-631 double REG.VWIN
640-871 int REGINT.A...z
872-873 short KeyRepeatFirstCount
874-875 short KeyRepeatNextCount
880-883 char Favoritesfiles[0].filesize
884-887 char Favoritesfiles[1].filesize
888-891 char Favoritesfiles[2].filesize
892-895 char Favoritesfiles[3].filesize
896-899 char Favoritesfiles[4].filesize
900-903 char Favoritesfiles[5].filesize
904-907 char Favoritesfiles[6].filesize
908- 920 char Favoritesfiles[0].filename
921- 929 char Favoritesfiles[0].folder
930- 942 char Favoritesfiles[1].filename
943- 951 char Favoritesfiles[1].folder
952- 964 char Favoritesfiles[2].filename
965- 973 char Favoritesfiles[2].folder
974- 986 char Favoritesfiles[3].filename
987- 995 char Favoritesfiles[3].folder
996-1008 char Favoritesfiles[4].filename
1009-1017 char Favoritesfiles[4].folder
1018-1030 char Favoritesfiles[5].filename
1031-1039 char Favoritesfiles[5].folder
1040-1052 char Favoritesfiles[6].filename
1053-1061 char Favoritesfiles[6].folder
1062-1074 char (reserved)
1075 char AutoSaveMode
1076 char EditTopLine
1077 char EditFontSize
1078 char DisableDebugMode
1079 char 0
1080 short CB_ColorIndexPlot
1082 short CB_ColorIndexEditBack
1084 short CB_ColorIndexEditBase
1086 short CB_ColorIndexEditCMD
1088 short CB_ColorIndexEditQuot
1090 short CB_ColorIndexEditComt
1092 short CB_ColorIndexEditLine
1094 short CB_ColorIndexEditNum
1096 short CB_FavoriteColorIndex // 0.56 new
1098-1279 char (reserved)
1278-1279 short version (0.56 -> 56) // 0.56 new
--------------------------------------------------------
CBasic2 setup format
--------------------------------------------------------
offset type name
--------------------------------------------------------
00 char "CB.config60"
11-47 char (reserved)
48-511 double REG.A...z.image

2221
doc-fx/Change_EN.txt Normal file

File diff suppressed because it is too large Load Diff

3417
doc-fx/Change_J.txt Normal file

File diff suppressed because it is too large Load Diff

1154
doc-fx/Command_List.txt Normal file

File diff suppressed because it is too large Load Diff

57
doc-fx/ErrorCode_List.txt Normal file
View File

@ -0,0 +1,57 @@
Error Code List
------------------------------
1: Syntax ERROR
2: Ma ERROR
3: Go ERROR
4: Nesting ERROR
5: Stack ERROR
6: Memory ERROR
7: Argument ERROR
8: Dimension ERROR
9: Range ERROR
11: Non-Real ERROR
20: Com ERROR
21: Transmit ERROR
22: Receive ERROR
28: Too Much Data
33: Missing Next
34: Missing For
35: Missing WhileEnd
36: Missing While
37: Missing LpWhile
38: Missing Do
39: Not Loop ERROR
40: Zero Division
41: Undefined Label
42: Not Enough Memory
43: String Too Long
44: No Matrix array
45: Invalid Ary Size
46: Prog Not Found
47: Too Many SubProg
48: Missing IfEnd
49: Missing If
50: Missing Switch
51: Missing Switch
52: Missing SwitchEnd
53: Missing Switch
54: File Not Found
55: Illegal Element
56: Com Opened
57: Com Closed
58: Invalid Type
59: Out of Domain
60: Var Undefined
61: Func Undefined
62: Not Supported
63: VarLimit Exceeded
64: Duplicate Def
65: Address Align ERR
66: Time Out
70: Missing Except
71: Missing Try
72: Missing Try

View File

@ -0,0 +1,160 @@
---------------------------------------------------------------------------------
C.Basic for CG Ver 1.00beta Extended Opcode List
Last edited by sentaro21/Colon, 15 Jun 2019(UTC)
---------------------------------------------------------------------------------
0x00A7 "not " // Not -> not
0x009A " xor " // add space
0x00AA " or " // add space
0x00BA " and " // add space
0x00FA "Gosub "
0x7F58 "ElemSize("
0x7F59 "ColSize("
0x7F5A "RowSize("
0x7F5B "MatBase("
0x7F5C "ListCmp("
0x7F5D "GetRGB(" // for CG
0x7F5E "RGB(" // for CG
0x7F5F "Ticks"
0x7F9F "KeyRow("
0x7FCF "System("
0x7FDF "Version"
0x7FF5 "IsExist("
0x7FF6 "Peek("
0x7FF8 "VarPtr("
0x7FFA "ProgPtr("
0xF70C "Return " // add space
0xF70F "ElseIf "
0xF717 "ACBreak"
0xF737 "Try "
0xF738 "Except "
0xF739 "TryEnd"
0xF73B "DotPut("
0xF73D "DotTrim("
0xF73E "DotGet("
0xF79D "StoCapt"
0xF7DD "Beep "
0xF7DE "BatteryStatus" // for CG
0xF7DF "Delete "
0xF7E0 "DotLife("
0xF7E1 "Rect "
0xF7E2 "FillRect "
0xF7E3 "LocateYX "
0xF7E4 "Disp "
0xF7E8 "ReadGraph("
0xF7E9 "WriteGraph "
0xF7EA "Switch "
0xF7EB "Case "
0xF7EC "Default "
0xF7ED "SwitchEnd"
0xF7EE "Save "
0xF7EF "Load("
0xF7F0 "DotShape("
0xF7F1 "Local "
0xF7F2 "PopUpWin("
0xF7F4 "SysCall("
0xF7F5 "Call("
0xF7F6 "Poke("
0xF7F8 "RefrshCtrl "
0xF7FA "RefrshTime "
0xF7FB "Screen"
0xF7FC "PutDispDD"
0xF7FD "FKeyMenu("
0xF7FE "BackLight "
0xF90E "Const "
0xF90F "Alias " // AliasVar -< Alias
0xF940 "ToStr(" // Str( -> ToStr(
0xF941 "DATE"
0xF942 "TIME"
0xF943 "Sprintf("
0xF944 "StrChar("
0xF945 "StrCenter("
0xF946 "Hex("
0xF947 "Bin("
0xF948 "StrBase("
0xF949 "StrRepl("
0xF94D "StrSplit("
0xF94F "Wait "
0xF950 "StrAsc("
0xF960 "GetFont("
0xF961 "SetFont "
0xF962 "GetFontMini("
0xF963 "SetFontMini "
0xF999 "Plot/Line-Color " // for CG
0xF99B "Black " // for CG
0xF99C "White " // for CG
0xF99D "Magenta " // for CG
0xF99E "Cyan " // for CG
0xF99F "Yellow " // for CG
0xF9BE "Back-Color " // for CG
0xF9BF "Transp-Color " // for CG
0xF9C0 "_ClrVram"
0xF9C1 "_ClrScreen"
0xF9C2 "_DispVram"
0xF9C3 "_Contrast"
0xF9C4 "_Pixel "
0xF9C5 "_Point "
0xF9C6 "_PixelTest("
0xF9C7 "_Line "
0xF9C8 "_Horizontal "
0xF9C9 "_Vertical "
0xF9CA "_Rectangle "
0xF9CB "_Polygon "
0xF9CC "_FillPolygon "
0xF9CD "_Circle "
0xF9CE "_FillCircle "
0xF9CF "_Elips "
0xF9D0 "_FillElips "
0xF9D1 "_ElipsInRct "
0xF9D2 "_FElipsInRct "
0xF9D3 "_Hscroll "
0xF9D4 "_Vscroll "
0xF9D5 "_Bmp "
0xF9D6 "_Bmp8 "
0xF9D7 "_Bmp16 "
0xF9D8 "_Test"
0xF9D9 "_BmpZoom "
0xF9DA "_BmpRotate "
0xF9DB "BmpSave "
0xF9DC "BmpLoad("
0xF9DD "DrawMat "
0xF9DE "_BmpZmRotate "
0xF9DF "_Paint " // for CG
0x7F3A "MOD(" // SDK emu not support OS 2.00 or later
0x7F3C "GCD(" // SDK emu not support OS 2.00 or later
0x7F3D "LCM(" // SDK emu not support OS 2.00 or later
0x7F84 "Vct" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later
0x7F87 "RanInt#(" // SDK emu not support OS 2.00 or later
0x7F88 "RanList#(" // SDK emu not support OS 2.00 or later
0x7FB4 " Xor " // SDK emu not support OS 2.00 or later
0x7FBC " Int/ " // SDK emu not support OS 2.00 or later
0x7FBD " Rmdr " // SDK emu not support OS 2.00 or later
0xF79E "Menu " // SDK emu not support OS 2.00 or later
0xF930 "StrJoin(" // SDK emu not support OS 2.00 or later
0xF931 "StrLen(" // SDK emu not support OS 2.00 or later
0xF932 "StrCmp(" // SDK emu not support OS 2.00 or later
0xF933 "StrSrc(" // SDK emu not support OS 2.00 or later
0xF934 "StrLeft(" // SDK emu not support OS 2.00 or later
0xF935 "StrRight(" // SDK emu not support OS 2.00 or later
0xF936 "StrMid(" // SDK emu not support OS 2.00 or later
0xF937 "Exp>Str(" // SDK emu not support OS 2.00 or later
0xF938 "Exp(" // SDK emu not support OS 2.00 or later
0xF939 "StrUpr(" // SDK emu not support OS 2.00 or later
0xF93A "StrLwr(" // SDK emu not support OS 2.00 or later
0xF93B "StrInv(" // SDK emu not support OS 2.00 or later
0xF93C "StrShift(" // SDK emu not support OS 2.00 or later
0xF93D "StrRotate(" // SDK emu not support OS 2.00 or later
0xF93E "ClrVct" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later
0xF93F "Str " // SDK emu not support OS 2.00 or later
0xF94A "CrossP(" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later
0xF94B "DotP(" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later
0xF95B "Norm(" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later
0xF95E "UnitV(" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later
0xF96D "Angle" // SDK emu not support OS 2.00(for CG) / 2.04(for FX) or later

2488
doc-fx/Manual_EN.txt Normal file

File diff suppressed because it is too large Load Diff

2502
doc-fx/Manual_FR.txt Normal file

File diff suppressed because it is too large Load Diff

2780
doc-fx/Manual_J.txt Normal file

File diff suppressed because it is too large Load Diff

175
doc-fx/Mat_Vct_List.txt Normal file
View File

@ -0,0 +1,175 @@
------------------------------------------------------------
Mat n Vct n List n
1: Mat A
2: Mat B
3: Mat C
4: Mat D
5: Mat E
6: Mat F
7: Mat G
8: Mat H
9: Mat I
10: Mat J
11: Mat K
12: Mat L
13: Mat M
14: Mat N
15: Mat O
16: Mat P
17: Mat Q
18: Mat R
19: Mat S
20: Mat T
21: Mat U
22: Mat V
23: Mat W
24: Mat X
25: Mat Y
26: Mat Z
Vct A
Vct B
Vct C
Vct D
Vct E
Vct F
Vct G
Vct H
Vct I
Vct J
Vct K
Vct L
Vct M
Vct N
Vct O
Vct P
Vct Q
Vct R
Vct S
Vct T
Vct U
Vct V
Vct W
Vct X
Vct Y
Vct Z
List 1
List 2
List 3
List 4
List 5
List 6
List 7
List 8
List 9
List 10
List 11
List 12
List 13
List 14
List 15
List 16
List 17
List 18
List 19
List 20
List 21
List 22
List 23
List 24
List 25
List 26
27: Mat a Vct a List 27
28: Mat b Vct b List 28
29: Mat c Vct c List 29
30: Mat d Vct d List 30
31: Mat e Vct e List 31
32: Mat f Vct f List 32
33: Mat g Vct g List 33
34: Mat h Vct h List 34
35: Mat i Vct i List 35
36: Mat j Vct j List 36
37: Mat k Vct k List 37
38: Mat l Vct l List 38
39: Mat m Vct m List 39
40: Mat n Vct n List 40
41: Mat o Vct o List 41
42: Mat p Vct p List 42
43: Mat q Vct q List 43
44: Mat r Vct r List 44
45: Mat s Vct s List 45
46: Mat t Vct t List 46
47: Mat u Vct u List 47
48: Mat v Vct v List 48
49: Mat w Vct w List 49
50: Mat x Vct x List 50
51: Mat y Vct y List 51
52: Mat z Vct z List 52
53: Mat 53 Vct 53 List 53 List 1: file 1
54: Mat 54 Vct 54 List 54
55: Mat 55 Vct 55 List 55
56: Mat 56 Vct 56 List 56
57: Mat 57 Vct 57 List 57
58: Mat 58 Vct 58 List 58
59: Mat 59 Vct 59 List 59
60: Mat 60 Vct 60 List 60
61: Mat 61 Vct 61 List 61
62: Mat 62 Vct 62 List 62
63: Mat 63 Vct 63 List 63
64: Mat 64 Vct 64 List 64
65: Mat 65 Vct 65 List 65
66: Mat 66 Vct 66 List 66
67: Mat 67 Vct 67 List 67
68: Mat 68 Vct 68 List 68
69: Mat 69 Vct 69 List 69
70: Mat 70 Vct 70 List 70
71: Mat 71 Vct 71 List 71
72: Mat 72 Vct 72 List 72
73: Mat 73 Vct 73 List 73
74: Mat 74 Vct 74 List 74
75: Mat 75 Vct 75 List 75
76: Mat 76 Vct 76 List 76
77: Mat 77 Vct 77 List 77
78: Mat 78 Vct 78 List 78
79: Mat 79 Vct 79 List 79 List 1: file 2
80: Mat 80 Vct 80 List 80
81: Mat 81 Vct 81 List 81
82: Mat 82 Vct 82 List 82
83: Mat 83 Vct 83 List 83
84: Mat 84 Vct 84 List 84
85: Mat 85 Vct 85 List 85
86: Mat 86 Vct 86 List 86
87: Mat 87 Vct 87 List 87
88: Mat 88 Vct 88 List 88
89: Mat 89 Vct 89 List 89
90: Mat 90 Vct 90 List 90
91: Mat 91 Vct 91 List 91
92: Mat 92 Vct 92 List 92
93: Mat 93 Vct 93 List 93
94: Mat 94 Vct 94 List 94
95: Mat 95 Vct 95 List 95
96: Mat 96 Vct 96 List 96
97: Mat 97 Vct 97 List 97
98: Mat 98 Vct 98 List 98
99: Mat 99 Vct 99 List 99
100: Mat 100 Vct 100 List 100
101: Mat 101 Vct 101 List 101
102: Mat 102 Vct 102 List 102
103: Mat 103 Vct 103 List 103
104: Mat 104 Vct 104 List 104
105: Mat 105 Vct 105 List 105 List 1: file 3
106: Mat 106 Vct 106 List 106
107: Mat 107 Vct 107 List 107
<r>: Mat <r> Vct <r> List <r>
Į : Mat Į Vct Į List Į
Ans: Mat Ans Vct Ans List Ans
------------------------------------------------------------
Last edited by sentaro 2020/02/05(UTC)
------------------------------------------------------------

588
doc-fx/README_EN.txt Normal file
View File

@ -0,0 +1,588 @@
Please look at this site that made by Krtyski.(e-Gadget administrator)
http://egadget2.web.fc2.com/CBasic/Interpreter/CBasic_interpreter.html
This site and following text is translated by Krtyski(e-Gadget administrator) & Lephenixnoir(Planet-Casio administrator).
Thanks very much for your support.
===============================================================================
Add-In Casio Basic Interpreter (& Compiler) Ver. 2.x beta version
Copyright(c)2015-2020 by sentaro21
E-mail sentaro21@pm.matrix.jp
Last updated by sentaro21/Krtyski/CalcLoverHK 10/02/2020
===============================================================================
**If you feel your Casio Basic programs are not running fast enough, C.Basic can free you of that frustration!**
Get started with genuine Casio Basic programs, then enjoy extended commands that Casio Basic alone cannot perform.
- Currently **C.Basic** (Basic interpreter) runs on fx-9860G(SH3), fx-9860GII(SH3), fx-9860GII(SH4A), and fx-CG10/20/50.
- **C.Basic** will evolve into a Casio Basic compiler "**C:Basic**", which will run programs much faster than C.Basic (10 times from the looks of it).
All the instructions supported by C.Basic are listed in the "Command_List.txt" and "Manual_EN.txt" files included in the distribution package.
## Pros
- C.Basic is mostly compatible with genuine Casio Basic.
- Programs run at least 10 times faster in C.Basic.
- C.Basic's List and File editors are easier to use than the usual ones.
- Can execute programs from storage memory/main memory, and supports sub-folder structures.
- Some Casio Basic commands are extended for more features.
- Newly-implemented commands for more powerful and flexible programming.
## Cons
- C.Basic does not cover all of the original Basic commands.
- Calculations don't yield the same results as the usual interpreter because C.Basic use double-precision floating point instead of fixed-point BCD.
- C.Basic stores PICT files in storage memory, hence using them is slower (at least until version 0.87 which uses the heap area from the main memory).
- There must be some bugs, unfortunately (; Please provide us with a bug report if you find any.
## Almost compatible with vanilla Casio Basic
Flawless compatibility is our goal, but some differences are intentional:
- `?` and `?->` input commands are displayed on a single line. Displaying a string longer than 21 characters will result in horizontal scroll instead of line wrap.
- When a graphing sketch commands is followed by the multi-statement command `:`, the screen is not refreshed.
- Program running time is displayed when the program ends. This function can be triggered in the setup page.
- Comment delimiters `'` are allowed before carriage returns and Disps (output), and `:` can be included in the comment string.
C.Basic also takes in user-friendly features of fx-5800P:
- C.Basic supports a `"?A"` command as fx-5800P, as opposed to fx-9860G / fx-9860GII which only support `"?->A"`.
- String output command `" "` is fully compatible with fx-5800P thus a but different from fx-9860G / fx-9860GII. See [Topic](http://egadget.blog.fc2.com/blog-entry-520.html) for details.
======= CAUTION !!! ========
We don't believe that C.Basic could damage your calculator, but the main memory could still be unexpectedly damaged or destroyed, which would require a whole memory reset. Hence it is strongly recommended that you backup your main and storage memory data. Please be aware that you should only use C.Basic at your sole risk.
============================
======= Disclaimer of Warranty =======
Use of C.Basic and C:Basic (hereinafter SOFTWARE) is at user's sole risk. All materials, information, products, software, programs and service provided as is・ with no warranties or guarantees whatsoever. Creators of SOFTWARE and support team who provide support documents, support web site, information and sample programs (hereinafter DEVELOPMENT TEAM) expressly disclaim to the fullest extent permitted by law, all express, implied, statutory, and other warranties, guarantees, or representations, including, without limitation, the warranties of merchantability, fitness for a particular purpose, and non-infringement of proprietary and intellectual property rights. Without limitation, DEVELOPMENT TEAM makes no warranty or guarantee that development of SOFTWARE will be uninterrupted, timely, secure, or error-free.
======================================
-------------------------------------------------------------------------------
# Starting up C.Basic
To start up **C.Basic**, press `[MENU]`, select the C.Basic icon, then press `[EXE]`.
There are two ways for copying a program file (`g1m` file) developed for the original Casio Basic interpreter into the File List in C.Basic:
## Using the pre-installed memory manager
- To start up the memory manager, press `[MENU]`, select the memory manager icon and press `[EXE]`.
- Press `[F1]` to display the contents of the main memory.
- Move the cursor down to `<PROGRAM>` and press `[EXE]`. You should now be seeing the list of all Basic Casio programs currently installed for the usual interpreter.
- Select the program file that you want to copy.
- Press `[F1](SEL)` then `[F2](COPY)`.
- Select `"ROOT"`, press `[EXE]`; the calculator will ask you for a file name.
- Enter an appropriate file name or just `"A"`, then press `[EXE]`.
- Press the `[MENU]` key to go back to the main menu.
- Start C.Basic.
- In the File List select the name you just entered, press `[F6]` and then `[F2](REN)`.
- You will be prompted with `[Rename file Name?]`, and the original file name will be displayed (even though you typed in `"A"`). Press `[EXE]`.
- Now the file name has been corrected.
## Using the PC link software (FA-124)
FA-124 is a PC link software which is included in the packages of fx-9860G and fx-9860GII. For detailed instructions, please refer to its manual.
Once you have downloaded a program's source file (`g1m` file), you can use the PC link software to copy it into C.Basic's File List.
=================================================================================
Quick Manual - Development Environment of C.Basic
=================================================================================
---------------------------------------------------------------------------------
File List Page
---------------------------------------------------------------------------------
-[UP] Move cursor to the previous file.
-[DOWN] Move cursor ro the next file.
Pressing A to Z, cursor jumps to a file name which starts with the pressed alphabet.
This feature is fx-5800P compatible but not fx-9860G / fx-9860GII.
Press [.] key to jump to a file name which starts with "~".
Press [EXP(x10)]key to jump to top of folder list.
-[F1] (EXE) Run selected file.
-[F2] (EDIT) Edit selected file.
-[F3] (NEW) Create new file.
-[F4] (COPY) Copy selected file.
-[F5] (DEL) Deleted selected file.
-[F6] ( > ) Move to next menu.
[F1] (>Txt) Convert selected source file (g1m file) to text file.
[F2] (REN) Rename file.
[F3] (Fav.) Set/Reset selected file to/from "Favorite".
[F4] (Fv.up) Move upward selected Favorite file.
[F5] (Fv.dw) Move downward selected Favorite file.
[F6] ( > ) Move to previous menu.
[F1] (MK.F) Make new Folder
[F2] (RN.F) Rename Folder
[F6] ( > ) Move to the first menu.
-[EXE] Run the selected file.
-[SHIFT]+
[EXIT](QUIT) Move back to root from sub-folder.
[LEFT] Contrast(dw) (*internal function of OS)
[RIGHT] Contrast(up) (*internal function of OS)
[F1] (Var) Go to Variables Review Page.
[F2] (Mat) Go to Mat Variables Review Page.
[F3] (V-W) Go to ViewWindow setting value review page.
[F4] (Pass) Set/Reset pass word.
[F6] (Debg) Start Debug mode & open Editor page.
-[VARS] (Variables Review Page)
[F1] (A<>a) Switch between display of capital and small letter variables.
[F2] (Init) Initialize all the displayed variables.
[F3] (D<>I) Siwitch between Integer and Double variables.
[F6] (>Hex/>Dec) Switch display of values between in Hex and Dec.
[SHIFT]+[UP]/[DOWN] Scroll single page up and down.
※ Local variabe is marked with "=".
-[SHIFT][MENU] (SETUP) Initial Settings
[MENU] Go to Setup page.
[MENU][F6] Pop up Version information.
-[OPTN] Set/Reset selected file to/from "Favorite".
-[EXIT] Move cursor back to first file in the list.
When cursor is at the first file in sub-folder, move back to root.
-------------------------------------------------------------------------------
Editor Page
-------------------------------------------------------------------------------
Guide marker displayed in very right of Editor Page indicates cursor position in source file.
-[F1] (JUMP) Display JUMP Sub-menu.
[F1] (TOP) Jump to top line of source file.
[F2] (BTM) Jump to end line of source file.
[F3] (GOTO) Jump to a line where you want to go.
[F5] (SkipUp) Skip lines (preset # of line is available in Setup page) toward to top.
[F6] (SkipDw) Skip lines (preset # of line is available in Setup page) toward to end.
-[F2] (SRC) Go to String Search / Replacement page.
-[F3] (CMD) Go to Command Select page. (this is like fx-5800P command list)(fx-5800P mode)
(MENU)) SelectCommand (fx-9860G mode)
-[F4] (A<>a) Switch between Capital and small letter.
-[F5] (CHAR) Go to Character Select page.
-[F6] (EXE) Run program or restart program when it's in pause.
-[SHIFT]+
[EXIT](QUIT) Go back to File List page.
[LEFT] Contrast(dw) (*internal function of OS)
[RIGHT] Contrast(up) (*internal function of OS)
[UP] Scroll 1 page (6 lines) up to top.
[DOWN] Scroll 1 page (6 lines) down to end.
[F1] (Var) Go to Variables page.
[F2] (Mat) Go to Mat Variables page.
[F3] (V-WIN) Go to ViewWindow page.
[F4] (SKTCH) Select Command. (fx-9860G mode)
(Dump)/(List) Switch between "Basic List" and "Hex Dump" display.(fx-5800P mode)
[F5] (Dump)/(List) Switch between "Basic List" and "Hex Dump" display.
[F6] (CHAR) Go to Character Select page. (fx-9860G mode)
(G<>T) Switch Graphics and Text screen.(fx-5800P mode)
[3] Input keycode of Getkey command.
-[OPTN] Pop up Command List supported by [OPTN] of fx-9860G/GII.(fx-5800P mode)
Select Command. (fx-9860G mode)
-[VARS] Pop up Comamnd List supported by [VARS] of fx-9860G/GII.(fx-5800P mode)
Select Command. (fx-9860G mode)
-[MENU] Command input history (chronological order/input frequency order is changed by right and left key.)
[AC/ON] Erase history
-[SHIFT][VARS] (PRGM) Pop up Command List supported by [PRGM] of fx-9860G/GII.
-[SHIFT][MENU] (SETUP) Go to Setup page.(fx-5800P mode)
(SETUP) Select Command. (fx-9860G mode)
-[ALPH][DEL] (UNDO) Delete or Paste operations are restored to the previous state.(only once)
-[EXIT] Go back to previous page, cancel clip mode or go back to File List page.
-------------------------------------------------------------------------------
Debug Mode Editor Page
-------------------------------------------------------------------------------
Debug mode page comes up when program is broken intentionally or by error. Right example above shows Debug Mode Edotr Page that mini-font is applied in setup page.
In Degub Mode, status line is getting inverted on C.Basic for FX or becomes cyan color background.
-[F1](Cont) Continue program from cursor position.
-[F2](Trce) Trace program from cursor position and come back to Editor page in Debug Mode right after the traced command runs,
-[F3](Step) Trace and Step Over comamnd from cursor position and come back to Editor page in Debug Mode right after the command runs. When sub-routine runs, the sub-routine is executed to the end.
-[F4](S.ot) Step Out from cursor position and come back to Editor page in Debug Mode right after the command runs. When the sursor is in sub-routine the sub-routine is executed to the end.
-[F5](L<>S) Switch Editor page and program running screen. When the Program Running Screen is displayed, debug operaiton with [F1] - [F4] is still available.
-[F6]( > ) Switch Debug menu to and from Editor menu. When Program Running Screen is displayed, pressing [F6](>) displays Editor menu.
-[EXIT] Go back to previous page, cancel clip mode or go back to normal (not in Debug mode) Editor page.
(*In the debug mode, status line becomes inverted.)
-------------------------------------------------------------------------------
Program Running Page
-------------------------------------------------------------------------------
During program is running;
-[AC] Stop program.
[EXIT] Go to Editor in Debug mode. Cursor locates at break point.
[Left] Go to Editor in Debug mode. Cursor locates at break point.
[F1] Resume program.
[EXE] Resume program.
When program is halted by ▲ command (- Disp - is displayed on screen);
-[SHIFT]+
[F1](Var) Go to Variables Page
[F2](Mat) Go to Mat/List Page
[F3](V-W) Go to ViewWindow Page
[F6](G<>T) Switch between Graphics and Text screen
-[EXE] Resume program.
-------------------------------------------------------------------------------
Mat/List/Vct Page
-------------------------------------------------------------------------------
In this page Mat, List and Vct can be reviewed. Operation procedure of Mat, List and Vct is same, since List and Vect are internaly implemented as extended Matrix.
(The Mat marked by * in this page is alocated by addressing.)
-[F1] (DEL) Delete a Mat/List.
-[F2] (DEL-ALL) Delete All Mat/List/Vct.
-[F3] (DIM) Set the dimension , element size, an index start value of the Mat/List/Vct.
-[F4] (INITIAL) Initialize all elements of the Mat/List/Vct of chosen.
-[F5] (Mat:/Lst:/Vct:) Select a number and jump to Mat/List/Vct of the number in alphabetical order.
-[F6] (A<>a) Switch between capital letter and small letter of Mat name.
-[EXE] Enter to Edit Mode of Mat/List/Vct. (in details see below)
-[SHIFT]+[F1] (>Mat) Select Mat
-[SHIFT]+[F2] (>List) Select List
-[SHIFT]+[F3] (>Vct) Select Vct
-[OPTN] Switch showing between Mat and List.
-[VARS] Switch showing between Mat and Vct.
-[LEFT] backword 26.
-[RIGHT] forword 26.
[Operation in Edit Mode]
[SHIFT]+[8](CLIP) All data of selected Mat/List/Vct is clipped in buffer.
[SHIFT]+[9](PASTE) Clipped data is pasted to selected Mat/List/Vct from buffer.
to edit numerical value;
-[F1] (EDIT) Edit the element of the Mat/List/Vct.
-[F2] (GO) Go to element set by row and column.
-[F3] (INITIAL) Initialize all elements.
-[F4] (>x,y / >m,n) Switch Matrix indication between [m,n] and [x,y].
-[SHIFT]+[F5] or [F5] Switch element values between in decimal and binary.
(applied only to nybble (4 bits), byte (1 byte) and word (2 bytes))
-[SHIFT]+[F6] or [F6] Switch element values between in decimal and hexadecimal.
(not applied to 1 bit and a complex number (16 bytes), double number (8 bytes) just displays internal data)
-[SHIFT]+[F2] or [OPTN] Enter to Dot Editor Mode.
-[SHIFT]+[F3] or [VARS] Enter to Character Strings Edit Mode.
Only for g3m mode on C.Basic for CG (excluding 1 bit Mat/List/Vct);
-[SHIFT]
[5] Input 4 bit color value in nibble (4 bits) or 16 bits color value in other element number type.
[6] Input 16 bits color value (excluding nibble (4 bits) Mat/List/Vct).
to edit Dots;
Each element value of matrix can be handled as color code.
- Using in 1 bit matrix or in g1m mode, 0(zero) = black and 1 = white.
-[F1] (0 <> 1) Change the value of the element with 0<>1. (1 bit Mat and g1m mode)
-------------------------------------------------------------------------------
Search/Replace for Text
-------------------------------------------------------------------------------
[Search character string]
Operatin procedure;
1. Input character string and press [F1](SEARCH) or [EXE].
2. To search next, press [F1](SEARCH) or [EXE] again.
3. Press [F6](RETRY) to back to search page.
[Replace character string]
Operatin procedure;
1. Input character string to search, and press [F2](REPL).
2. Then input character string to be replaced with, and press [F1](SEARCH), [F2](REPL) or [EXE].
3. To search more for replacement, press [F1](SEARCH) or [EXE] again.
4. Then press [F2](REPL) to replace again.
5. To replace all, press [F3](ALL) or [F4](ALL+). To quit replacement, press [AC/ON].
When pressing [F4] (ALL+), progress status is not dusplayed.
-------------------------------------------------------------------------------
Incompatible Spec against genuine Casio Basic
-------------------------------------------------------------------------------
Compatibility with genuine Casio Basic is our target, but not 100%;
An input line by command "?" and "?->" are only in single line. A string of characters more than 21 columns is displayed still in the horizontal single line by scrolling, not in multiple lines.
When ":" (Multi-statement Command) comes right after graphing sketch command, graphic screen is not re-drawn.
Program running time is displayed after the program quit. This function can be set on or off in setup page.
A Comment Text Delimiter ' is available for comment-out before Carriage Return or Disps (output), but ":" (Multi-statement Command) can be included the commented out string.
C.Basic also takes in user-friendly feature of fx-5800P;
C.Basic does support a script "?A" supported by fx-5800P. This is not supported by fx-9860G / fx-9860GII (script "?->A" only is supported).
Function of string output command " " is fully compatible with fx-5800P in details but not exactly compatible with fx-9860G/fx-986GII. See Topics in details.
-------------------------------------------------------------------------------
Select Character Page
-------------------------------------------------------------------------------
In addition to character set of genuine Casio Basic, more characters are supported.
In "Character Select" page;
[F6] ASCII, Kana, external character can be applied.
[SHIFT]/[F1]〜[F6] Continuous input is available.
[OPTN] Switch between mini-font and normal font.
[VARS] - C.Basic for FX Switch between OS supported the mini-font and normal font.
[VARS] - C.Basic for CG Switch between C.Basic font and OS supported font.
When OS supported font is displayed, special character can be input without escape.
-------------------------------------------------------------------------------
Differences in Graph 35 + E II
-------------------------------------------------------------------------------
-There is 3MB of storage memory.
-Hidden memory is limited to 188KB.
-As can create two or more folders, you can change the root folder.
-------------------------------------------------------------------------------
Setup Page
-------------------------------------------------------------------------------
Setup items - compatible with genuine Casio Basic
Angle: Rad / Deg / Grad
Draw Type: on / off
Coord: on / off
Grid: on / off
Axes: on / off
Label: on / off
Derivative: on / off
Sketch Line: Normal / Thick / Broken / Dot
Setup items - newly provided and extended for C.Basic
-------------------------------------------------------------------------------
Display: Fix / Sci / Nrm / Eng
Max number of digit after decimal point can be 15. Setting 0 (zero) max digit is 16.
Nrm1 or Nrm2 is fully compatible with genuine Casio Basic and max digit is 10.
- Nrm1: -0.01<x<0.01
- Nrm2: -0.000000001<x<0.000000001
- Other number (0 or 3 - 15) is to set max number of digit.
Eng: select among Eng Off, Eng On (/E) and 3 digit separator (/3)
※ Related command: Eng, Norm, Fix, Sci
-------------------------------------------------------------------------------
Syntax Help : On/Off
the help dispyay at the command input of editor.
-------------------------------------------------------------------------------
SetupRecover : On/Off
set it whether you return setting compatible with genuine CasioBasic after a program in SetupRecover.
-------------------------------------------------------------------------------
Command Input :C.Basic/Standard
Select Standard(fx-9860G) method or C.Basic(fx-5800P) method.
You can change the mode of "" output specifications compatible with fx-5800P and FX/CG.
- Related command: '#58
'#98
-------------------------------------------------------------------------------
Max Mem Mode : on/off
Set to use the available maximum memory.
-------------------------------------------------------------------------------
EnableExFont : on/off
Set to use external font.
-------------------------------------------------------------------------------
Edit ExtFont : On/Off
enable external font in editor.
-------------------------------------------------------------------------------
EditFontSize :Standard/Mini/Mini_rev/Mini UnderCursor/Mini_rev_UnderCSR
Set to Editor font size.
-------------------------------------------------------------------------------
HideStatLine :On/Off
On :Hide the status line and use for editing.
Off:Display the status line.
-------------------------------------------------------------------------------
Edit Indent+ : Off/1/2/4 Save-
enable auto indent in editor.
Off: diable auto indent.
1 : Set indent width to 1.
2 : Set indent width to 1.
4 : Set indent width to 1.
Save-: delete blank spaces including indents when saving program. (=to compatible with Casio Basic)
-------------------------------------------------------------------------------
Edit LineNum :on/off
Set to line number display.
-------------------------------------------------------------------------------
EditListChar : List / reverseL / Thick L
Select List display character.
-------------------------------------------------------------------------------
Use Hidden RAM: on / off
Set if C.Basic uses hidden RAM or not.
-------------------------------------------------------------------------------
HiddenRAM Init: on / off
When use the hidden RAM, Mat&List at the time of C.Basic start, to initialize or not.
-------------------------------------------------------------------------------
Max Pict No: 20~99
When use the hidden RAM, you can use more pict file.
(*)When you change a value, Pict&Mat&List is reset.
-------------------------------------------------------------------------------
Max List No: 52~1040
When use the hidden RAM, you can use more List.
(*)When you change a value, Pict&Mat&List is reset.
-------------------------------------------------------------------------------
AT DebugMode : on / off
When [AC] break, debug mode on/off.
-------------------------------------------------------------------------------
ExitDM Popup : on / off
Set to popup of exit Debug Mode.
-------------------------------------------------------------------------------
Break Stop: on / off
Set if [AC] key break is accepted or not.
When it's off, you cannot break program by [AC] key.
- Related command: '#Break 0 '#Break 1
-------------------------------------------------------------------------------
Exec TimeDsp: on / off /reset /%HR
Set if program running time is displayed or not after the program quits.
Timer starts at first line of program. ? or Disps command reset the timer.
In the case of GetKey1/2, the timer is suspended and starts after command again.
on reset: The timer is reset and starts again after GetKey1/2.
%HR: use 1/32768s timer (only SH4A)
- Related command: '#GetKeyC '#GetKeyR
-------------------------------------------------------------------------------
IfEnd Check: on / off
Set if one-to-one correspondence of "If" and "IfEnd" statement is checked or not.
-------------------------------------------------------------------------------
ACBreak: on / off
Set ACBreak command to be enable or disable.
- Related command: ACBreak
-------------------------------------------------------------------------------
Force Return:None/ F1/ EXE/ F1&EXE
force return to file mode at [AC]break.
(Example) Force Return set to [F1]key
-File list→[F1](EXE)→[AC]→[EXIT]… Returns to the file list.
-File list→[EXE]→[AC]→[EXIT] …… Returns to the editor.
-File list→[F1](EXE]→[AC]→[EXE](restart)→[AC]→[EXIT] …… Returns to the file list.
(The operation depends on which key is pressed first.)
-------------------------------------------------------------------------------
Key 1st time: 25 ms - 1000 ms (default value is 500 ms)
Set time before key repeat starts (in 25 ms interval)
-------------------------------------------------------------------------------
Key Rep time: 25 ms - 500 ms (default value is 125 ms)
Set key repeat duration time (in 25 ms interval)
-------------------------------------------------------------------------------
SkipUp/Down: 1 - 9999
Set number of skipping page for SkipUp ([SHIFT][Up]) or SkipDown ([SHIFT][Down]).
-------------------------------------------------------------------------------
Mat Dsp mode: [m,n] / [X,Y]
Set matrix display format in Matrix Editor page.
Format [m,n] and [X,Y] are in transposed matrix each other, but just only the appearance on screen is different. The internal matrix data is still same, won't be changed.
-------------------------------------------------------------------------------
Matrix base: 0 / 1
Set index of matrix starts with 0 or 1.
When the start index is set to 0, left-top pixel comes to be available to use and left-top coordinate of device coordinates can be (0, 0).
- Related command: '#Mat 0, '#Mat 1
-------------------------------------------------------------------------------
DATE: 2017/01/17 TUE
Set date of internal RTC. A day of the week is automaticly set.
-------------------------------------------------------------------------------
TIME: 23:59:59
Set time of internal RTC
- Related command: DATE, TIME
-------------------------------------------------------------------------------
Root Folder:/ (* Only Graph 35+E II is valid.)
[F1]:to set the root folder.
[F2]:to set the current folder.
- Related command:
'#R/ // to set the root folder.
'#R. // to set the current folder.
-------------------------------------------------------------------------------
Auto file Save:on/off
Set to auto save without a popup.
-------------------------------------------------------------------------------
Force g1m save: on / off
Set "save automatically" or "not save" g1m file, after run or edit of text file.
-------------------------------------------------------------------------------
Pict mode: S.Mem / Heap / Both / MainMem
- S.Mem: Pict file is created in storage memory/SD and it takes a bit longer.
- Heap: Pict file is not actually created, but compatible file is allocated in main memory.
- Both: Stored always in storage memory/SD.
- Main: Pict file is compatible with genuine CasioBasic.
-------------------------------------------------------------------------------
Storage mode: S.Mem / SD / MainMem
S.Mem: Files in storage memory is used for run and edit.
SD: Files in SD is used for run and edit (available oonly for SD verison of fx-9860G series
Main mem: Files in MCS(Mein Memory) is used for run and edit.
-------------------------------------------------------------------------------
RefrshCtl DD: off / Grp / All
Set how to refresh screen at running of display and draw command.
Off: No extra refresh control is carried out, which is compatible with genuine Casio Basic.
Grp: Only graphics draw commands make screen refreshed, excepting ClrText, Locate, Text, LocateYX, " " (this exception is compatible with former version of C.basic).
All: All the display and draw commands male screen refreshed. PutDispDD should be used as may be necessary.
Time: Set refresh control tme in interval of 1/128 sec. Defalt value is 3 then refresh control is every 1/42 sec.
It is not refreshed when 0 is set.
- Related command: RefrshCtrl, RefrshTime
-------------------------------------------------------------------------------
Wait count : 0~9999
Set to wait for slowdown execution speed.
- Related command:Wait
-------------------------------------------------------------------------------
Execute mode: Dbl# / Int% / CPLX
Set running mode as default.
- Related command: '#CBasic, '#CBASIC, '#CBINT, '#CBint '#CBCPLX '#CBcplx
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Acknowledgment
-------------------------------------------------------------------------------
To investigate and implement internal specification,
"SuperH-based fx calculators (version 20)"
gave useful information.
For file handling in C.Basic,
"https://community.casiocalc.org/topic/6836-wsc-fvm-v12-casio-fx-9860-series-on-calc-c-compiler/
Wsc & Fvm V1.2 - Casio Fx-9860 Series On-calc C Compiler"
gave useful information.
For Japanese Kana Fonts, font data and output routine in the following site is used;
"http://www.d-b.ne.jp/~k-kita/fx_sdk_005.html"
For detailed feature and function of original Casio Basic, following site is referenced;
e-Gadget - Programming Calculator by Krtyski
"https://egadget.blog.fc2.com/"
(almost contents are in Japanese).
https://community.casiocalc.org/topic/7637-cbasic-international-release/
https://codewalr.us/index.php?topic=1818.0
https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html
Their opinions were very useful.
I am grateful for everyone's cooperation.
by sentaro21
-------------------------------------------------------------------------------
related link
-------------------------------------------------------------------------------
https://egadget2.web.fc2.com/CBasic/Interpreter/CBasic_interpreter.html
https://community.casiocalc.org/topic/7637-cbasic-international-release/
https://codewalr.us/index.php?topic=1818.0
https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html
-------------------------------------------------------------------------------
Licensing
-------------------------------------------------------------------------------
This software is free software, in accordance with GPLv2.

558
doc-fx/README_FR.txt Normal file
View File

@ -0,0 +1,558 @@
Veuillez consulter ce site créé par Krtyski. (Administrateur du gadget électronique)
http://egadget2.web.fc2.com/CBasic/Interpreter/CBasic_interpreter.html
Ce site et le texte suivant ont été traduits par Krtyski (administrateur du gadget électronique) & Lephenixnoir (administrateur de Planet-Casio).
Merci beaucoup pour votre aide.
===============================================================================
Complément Casio Basic Interpreter (&Compiler) Version bęta 2.x
copyright (c) 2015-2020 de sentaro21
courriel sentaro21@pm.matrix.jp
derničre mise ŕ jour par sentaro21 le 10/02/2020
===============================================================================
** Si vous pensez que vos programmes Casio Basic ne tournent pas assez vite, C.Basic peut vous libérer de cette frustration! **
Commencez avec les programmes Casio Basic authentiques, puis profitez de commandes étendues que Casio Basic seul ne peut pas exécuter.
- Actuellement, **C.Basic** (interpréteur de base) fonctionne sur les modčles fx-9860G (SH3), fx-9860GII (SH3) et fx-9860GII (SH4A), mais la prise en charge de Prizm fx-CG10 et fx-CG20 est planifiée.
- **C.Basic** deviendra un compilateur Casio Basic "**C:Basic**", qui exécutera des programmes beaucoup plus rapidement que C.Basic (10 fois son apparence).
Toutes les instructions prises en charge par C.Basic sont répertoriées dans les fichiers `" Command_List.txt "` et `" Manual_EN.txt "` inclus dans le package de distribution.
## Avantages
- C.Basic est principalement compatible avec les produits Casio Basic authentiques.
- Les programmes sont exécutés au moins 10 fois plus rapidement dans C.Basic.
- Les éditeurs de listes et de fichiers de C.Basic sont plus faciles ŕ utiliser que les habituels.
- Peut exécuter des programmes ŕ partir de la mémoire de stockage / mémoire principale et supporte les structures de sous-dossiers.
- Certaines commandes Casio Basic sont étendues pour davantage de fonctionnalités.
- Commandes nouvellement implémentées pour une programmation plus puissante et plus flexible.
## Les inconvénients
- C.Basic ne couvre pas toutes les commandes de base d'origine.
- Les calculs ne donnent pas les męmes résultats que l'interpréteur habituel car C.Basic utilise une virgule flottante double précision au lieu de BCD ŕ virgule fixe.
- C.Basic stocke les fichiers PICT dans la mémoire de stockage, ce qui les ralentit (du moins jusqu'ŕ la version 0.87, qui utilise la zone de mémoire de la mémoire principale).
- Il doit y avoir des bugs, malheureusement ^^ Merci de nous fournir un rapport de bogue si vous en trouvez.
# # Presque compatible avec la vanille Casio Basic
Notre objectif est une compatibilité sans faille, mais certaines différences sont intentionnelles:
- Les commandes d'entrée `?` et `??` `sont affichées sur une seule ligne. L'affichage d'une chaîne de plus de 21 caractčres entraînera un défilement horizontal au lieu d'un retour ŕ la ligne.
- Quand une commande d'esquisse graphique est suivie d'une commande ŕ instructions multiples `:`, l'écran n'est pas actualisé.
- La durée du programme est affichée ŕ la fin du programme. Cette fonction peut ętre déclenchée dans la page de configuration.
- Les délimiteurs de commentaires `'` sont autorisés avant les retours ŕ la ligne et Disps (sortie), et `:` peuvent ętre inclus dans la chaîne de commentaire.
C.Basic intčgre également les fonctionnalités conviviales de fx-5800P:
- C.Basic supporte une commande `"?A"` comme fx-5800P, par opposition ŕ fx-9860G / fx-9860GII qui ne supporte que `"?->A"`.
- La commande de sortie de chaîne `" "` est entičrement compatible avec le fx-5800P, ce qui en fait un différent du fx-9860G / fx-9860GII. Voir [Sujet] (http://egadget.blog.fc2.com/blog-entry-520.html) pour plus de détails.
======= ATTENTION !!! =========
Nous ne pensons pas que C.Basic pourrait endommager votre calculatrice, mais la mémoire principale pourrait tout de męme ętre endommagée ou détruite de maničre inattendue, ce qui nécessiterait une réinitialisation complčte de la mémoire. Par conséquent, il est fortement recommandé de sauvegarder vos données de mémoire principale et de mémoire de stockage. Sachez que vous ne devez utiliser C.Basic qu'ŕ vos risques et périls.
===============================
======= Décharge de garantie =========
Lutilisation de C.Basic et C: Basic (ci-aprčs SOFTWARE) est ŕ la seule risque de lutilisateur. Tous les matériaux, informations, produits, logiciels, programmes et services fournis sont fournis «en létat», sans aucune garantie. Les créateurs de LOGICIEL et déquipe dassistance fournissant des documents dassistance, un site Web dassistance, des programmes dinformation et des exemples de programmes (ci-aprčs «ÉQUIPE DE DÉVELOPPEMENT») déclinent expressément toutes les garanties expresses, implicites, statutaires ou autres, y compris, sans limitation, les garanties de qualité marchande, d'adéquation ŕ un usage particulier et de non-violation des droits de propriété et des droits de propriété intellectuelle. Sans aucune limitation, DEVELOPMENT TEAM ne garantit pas que le développement du LOGICIEL sera ininterrompu, rapide, sécurisé ou sans erreur.
======================================
-------------------------------------------------------------------------------
# Démarrer C.Basic
Pour démarrer ** C.Basic **, appuyez sur `[MENU]`, sélectionnez l'icône C.Basic, puis appuyez sur `[EXE]`.
Il existe deux maničres de copier un fichier de programme (fichier `g1m`) développé pour l'interpréteur Casio Basic d'origine dans la liste des fichiers en C.Basic:
## Utilisation du gestionnaire de mémoire pré-installé
- Pour démarrer le gestionnaire de mémoire, appuyez sur `[MENU]`, sélectionnez l'icône du gestionnaire de mémoire et appuyez sur `[EXE]`.
- Appuyez sur `[F1]` pour afficher le contenu de la mémoire principale.
- Déplacez le curseur vers le bas sur `<PROGRAM>` et appuyez sur `[EXE]`. Vous devriez maintenant voir la liste de tous les programmes Basic Casio actuellement installés pour l'interpréteur habituel.
- Sélectionnez le fichier programme que vous souhaitez copier.
- Appuyez sur `[F1] (SEL)` puis `[F2] (COPY)`.
- Sélectionnez `" ROOT "`, appuyez sur `[EXE]`; la calculatrice vous demandera un nom de fichier.
- Entrez un nom de fichier approprié ou simplement «A», puis appuyez sur «[EXE]».
- Appuyez sur la touche `[MENU]` pour revenir au menu principal.
- Démarrer C.Basic.
- Dans la liste des fichiers, sélectionnez le nom que vous venez d'entrer, appuyez sur `[F6]` puis `[F2] (REN)`.
- On vous demandera `[Renommer le nom du fichier?]` Et le nom du fichier d'origine sera affiché (męme si vous avez tapé le signe "" A "`). Appuyez sur `[EXE]`.
- Maintenant, le nom du fichier a été corrigé.
## Utilisation du logiciel PC Link (FA-124)
FA-124 est un logiciel de liaison PC inclus dans les packages de fx-9860G et fx-9860G II. Pour des instructions détaillées, veuillez vous reporter ŕ son manuel.
Une fois que vous avez téléchargé le fichier source d'un programme (fichier `g1m`), vous pouvez utiliser le logiciel de liaison PC pour le copier dans la liste des fichiers de C.Basic.
=================================================================================
Guide rapide - Environnement de développement de C.Basic
=================================================================================
---------------------------------------------------------------------------------
Page de liste de fichiers
---------------------------------------------------------------------------------
- [UP] Déplace le curseur vers le fichier précédent.
- [DOWN] Déplace le curseur sur le fichier suivant.
En appuyant sur A ŕ Z, le curseur passe ŕ un nom de fichier commençant par l'alphabet enfoncé.
Cette fonctionnalité est compatible avec fx-5800P mais pas avec fx-9860G / fx-9860GII.
En appuyant sur [.] passez ŕ un nom de fichier commençant par "~".
En appuyant sur [EXP(x10)] la touche pour accéder au haut de la liste des dossiers.
- [F1] (EXE) Exécuter le fichier sélectionné.
- [F2] (EDIT) Édite le fichier sélectionné.
- [F3] (NEW) Créer un nouveau fichier.
- [F4] (COPY) Copie le fichier sélectionné.
- [F5] (DEL) Supprimez le fichier sélectionné.
- [F6] ( > ) Permet de passer au menu suivant.
  [F1] (Texte) Convertit le fichier source sélectionné (fichier g1m) en fichier texte.
  [F2] (REN) Renomme le fichier.
  [F3] (Fav.) Définissez / réinitialisez le fichier sélectionné dans / ŕ partir de "Favori".
  [F4] (Fv.up) Déplace le fichier favori sélectionné vers le haut.
  [F5] (Fv.dw) Déplace le fichier favori sélectionné vers le bas.
  [F6] ( > ) Revient au menu précédent.
  [F1] (MK.F) Créer un nouveau dossier
  [F6] ( > ) Revient au menu précédent.
- [EXE] Exécuter le fichier sélectionné.
- [SHIFT] +
  [EXIT] (QUIT) Revenez ŕ la racine du sous-dossier.
  [GAUCHE] Contraste (ps) (* fonction interne du systčme d'exploitation)
  [RIGHT] Contraste (up) (* fonction interne du systčme d'exploitation)
  [F1] (Var) Aller ŕ la page de révision des variables.
  [F2] (Mat) Aller ŕ la page de révision des variables de mat.
  [F3] (V-W) Aller ŕ la page de révision de la valeur du paramčtre ViewWindow.
  [F4] (Pass) Définir / réinitialiser le mot de passe.
  [F6] (Debg) Démarrer le mode Debug & ouvrir la page de l'éditeur.
- [VARS] (page de révision des variables)
  [F1] (A<>a) Basculer l'affichage des variables majuscules et minuscules.
  [F2] (Init) Initialise toutes les variables affichées.
  [F3] (D<>I) Siwitch variables entičres et doubles.
  [F6] (>Hex/>Dec) Commute l'affichage des valeurs en Hex et Dec.
- [SHIFT] [MENU] (SETUP) Réglages initiaux
  [MENU] Aller ŕ la page de configuration.
  [MENU] [F6] Pop up Information sur la version.
- [OPTN] Définir / Réinitialiser le fichier sélectionné dans / depuis "Favori".
- [EXIT] Déplace le curseur vers le premier fichier de la liste.
         Lorsque le curseur est sur le premier fichier du sous-dossier, revenez ŕ la racine.
-------------------------------------------------------------------------------
Page de l'éditeur
-------------------------------------------------------------------------------
Le repčre de guide affiché ŕ l'extręme droite de la page d'édition indique la position du curseur dans le fichier source.
- [F1] (JUMP) Affiche le sous-menu JUMP.
  [F1] (TOP) Aller ŕ la premičre ligne du fichier source.
  [F2] (BTM) Aller ŕ la derničre ligne du fichier source.
  [F3] (GOTO) Passez ŕ une ligne oů vous voulez aller.
  [F5] (SkipUp) Ignore les lignes (le nombre de lignes prédéfini est disponible dans la page de configuration) vers le haut.
  [F6] (SkipDw) Ignore les lignes (le nombre de lignes prédéfini est disponible dans la page de configuration) vers la fin.
- [F2] (SRC) Aller ŕ la page de recherche / remplacement de chaînes.
- [F3] (CMD) Allez ŕ la page de sélection de commande. (c'est comme la liste des commandes fx-5800P) (mode fx-5800P)
      (MENU)) SelectCommand (mode fx-9860G)
- [F4] (A<>a) Commutez majuscule et minuscule.
- [F5] (CHAR) Aller ŕ la page de sélection de personnage.
- [F6] (EXE) Exécuter un programme ou le redémarrer lorsqu'il est en pause.
- [SHIFT] +
  [EXIT] (QUIT) Retournez ŕ la page de la liste des fichiers.
  [GAUCHE] Contraste (ps) (* fonction interne du systčme d'exploitation)
  [RIGHT] Contraste (up) (* fonction interne du systčme d'exploitation)
  [UP] Faites défiler 1 page (6 lignes) vers le haut.
  [BAS] Faites défiler 1 page (6 lignes) jusqu'ŕ la fin.
  [F1] (Var) Aller ŕ la page Variables.
  [F2] (Mat) Aller ŕ la page Variables Mat.
  [F3] (V-W) Allez ŕ la page ViewWindow.
       (VWIN) Sélectionnez Command. (mode fx-9860G)
     [F5] (Dump) / (List) Bascule entre les affichages "Basic List" et "Hex Dump".
     [F6] (G <> T) Permet de changer décran de graphiques et de texte.
  [F4] (SKTCH) Sélectionnez Command. (mode fx-9860G)
  [F4] (Dump) / (List) Affiche les affichages "Basic List" et "Hex Dump" (mode fx-5800P).
  [F5] (Dump) / (List) Bascule entre les affichages "Basic List" et "Hex Dump".
  [F6] (CHAR) Aller ŕ la page de sélection de personnage. (mode fx-9860G)
  [F6] (G <> T) Permet de changer décran de texte et graphique (mode fx-5800P).
- [OPTN] Liste de commandes contextuelle prise en charge par [OPTN] de fx-9860G / GII (mode fx-5800P)
         Sélectionnez Commande. (mode fx-9860G)
- [VARS] Liste déroulante de liste déroulante prise en charge par [VARS] de fx-9860G / GII (mode fx-5800P)
         Sélectionnez Commande. (mode fx-9860G)
- [MENU] Historique de saisie de commande (ordre chronologique / ordre de fréquence d'entrée modifié par les touches gauche et droite.)
  [AC/ON] Effacer l'historique
- [SHIFT] [VARS] (PRGM) Liste de commande contextuelle prise en charge par [PRGM] de fx-9860G / GII.
- [SHIFT] [MENU] (SETUP) Allez ŕ la page Setup (mode fx-5800P)
               (SETUP) Sélectionnez Command. (mode fx-9860G)
- [ALPH] [DEL] (UNDO) Supprimer ou coller les opérations sont restaurées dans l'état précédent. (une seule fois)
- [EXIT] Revenir ŕ la page précédente, annuler le mode Clip ou revenir ŕ la page de la liste des fichiers.
-------------------------------------------------------------------------------
Page de l'éditeur de mode de débogage
-------------------------------------------------------------------------------
- [F1] (Cont) Continue le programme ŕ partir de la position du curseur.
- [F2] (Trce) Tracez le programme ŕ partir de la position du curseur et revenez ŕ la page Editeur en mode débogage juste aprčs l'exécution de la commande tracée,.
- [F3] (Step) Trace and Step Over (Commencer et suivre) ŕ partir de la position du curseur et revenir ŕ la page de l'éditeur en mode débogage juste aprčs l'exécution de la commande. Lorsque la sous-routine est exécutée, la sous-routine est exécutée jusqu'ŕ la fin.
- [F4] (S.ot) Sortez de la position du curseur et revenez ŕ la page Editeur en mode Debug juste aprčs l'exécution de la commande. Lorsque le sursor est en sous-routine, la sous-routine est exécutée jusqu'ŕ la fin.
- [F5] (L<>S) Basculez la page de l'éditeur et l'écran du programme en cours. Lorsque l'écran d'exécution du programme est affiché, les opérations de débogage avec [F1] - [F4] sont toujours disponibles.
- [F6] (>) Basculez le menu Debug manu and Editor. Lorsque l'écran d'exécution du programme est affiché, appuyez sur [F6] (>) pour afficher le menu Débogage.
- [EXIT] Revenez ŕ la page précédente, annulez le mode Clip ou revenez ŕ la page d'édition normale (pas en mode débogage).
-------------------------------------------------------------------------------
Écran de fonctionnement du programme
-------------------------------------------------------------------------------
Pendant le programme est en cours d'exécution;
- [AC] Arręte le programme.
   [EXIT] Aller ŕ l'éditeur en mode débogage. Le curseur se situe au point de rupture.
   [Gauche] Allez ŕ l'éditeur en mode débogage. Le curseur se situe au point de rupture.
   [F1] Reprendre le programme.
   [EXE] Reprendre le programme.
Quand le programme est arręté par la commande Disps (- Disp - est affiché ŕ lécran);
- [SHIFT] +
   [F1] (Var) Aller ŕ la page des variables
   [F2] (Mat) Aller ŕ la page des variables de tapis
   [F3] (V-W) Aller ŕ la page ViewWindow
   [F6] (G <> T) Écran Changer graphisme et texte
- [EXE] Reprendre le programme.
-------------------------------------------------------------------------------
Écran Mat / List Editor
-------------------------------------------------------------------------------
[Écran Mat / List /Vct (la méthode dopération est commune.)
(Le tapis que vous avez obtenu en adressant la marque * en le listant.)
- [F1] (DEL) Supprimer un tapis / une liste.
- [F2] (DEL-ALL) Supprimer tout Mat / Liste.
- [F3] (DIM) Définissez la dimension, la taille de l'élément, une valeur initiale d'index du Mat / List.
- [F4] (INITIAL) Initialise tous les éléments du Mat / List of selected.
- [F5] (Mat: / Lst :) Sélectionnez un numéro et sautez.
- [F6] (A<>a) Commutez majuscule et minuscule.
- [EXE] Entrez dans l'écran d'édition Mat / List. (détaillé plus tard)
- [SHIFT][F1] (Mat) Sélectionnez Mat
- [SHIFT][F2] (Liste) Sélectionnez Liste
- [SHIFT][F3] (Vct) Sélectionnez Vct
- [OPTN] Commutateur saffichant entre Mat et List.
- [VARS] Commutateur montrant entre Mat et Vct.
- [LEFT] backword 26.
- [RIGHT] mot dordre 26.
[Écran d'édition Mat / List]
[SHIFT]+[8] (CLIP) Vous pouvez extraire toutes les données Mat / List dans le tampon de clips.
[SHIFT]+[9] (PASTE) Vous pouvez coller des données Mat / List ŕ partir du tampon de clips.
(mode d'édition de valeur numérique)
 - [F1] (EDIT) Modifie l'élément du Mat / List.
 - [F2] (GO) Aller ŕ l'élément.
 - [F3] (INITIAL) Initialise tous les éléments.
 - [F4] (m,n/X,Y) Changement d'indication [m,n]/[X,Y].
 - [SHIFT]+[F5] ou [F5] Modifier l'affichage décimal <> binaire. (uniquement pour nybble (4 bits), octet (1 octet), le mot (2 octets))
 - [SHIFT]+[F6] ou [F6] Change laffichage décimal <> hexadécimal. (autre que 1 bit et un nombre complexe (16 octets), le double (8 octets) affiche uniquement les données internes)
 - [SHIFT]+[F2] ou [OPTN] Passer ŕ l'éditeur de points.
 - [SHIFT]+[F3] ou [VARS] Passer ŕ l'affichage de la chaîne de caractčres.
 Seulement comme pour ce qui suit, mode g3m (sauf le bit / liste 1 bit)
 -[DÉCALAGE]
    [5] Saisissez une couleur de 16 bits différente de celle avec une couleur de 4 bits dans le quartet (4 bits).
    [6] Entrez une couleur de 16 bits. (sauf le nibble (4 bits) Mat / List)
(éditeur de points)
 traiter la valeur de chaque élément du tapis comme un code de couleur.
 blanc = 1, noir = 0 avec 1 bit Mat et le mode g1m.
 C'est une couleur de 4 bits dans le nibble (4 bits Mat).
 - [F1] (0<>1) Modifiez la valeur de l'élément avec 0 <> 1. (Mode 1 bit Mat et g1m)
 - [F1] Passez ŕ la couleur affichée par le menu de fonctions. (autre que le bit 1 Mat du mode g3m)
   * Il change en noir comme męme couleur
-------------------------------------------------------------------------------
Rechercher / Remplacer du texte
-------------------------------------------------------------------------------
[Recherche chaîne de caractčres]
-Vous entrez une chaîne de caractčres, puis appuyez sur [F1] (SEARCH) ou sur [EXE].
-Vous appuyez ŕ nouveau sur [F1] (SEARCH) ou [EXE] pour rechercher ensuite.
- [F6] (RETRY) Permet de revenir ŕ l'écran de recherche.
[Remplacer la chaîne de caractčres]
-Vous saisissez une chaîne de caractčres avant le remplacement, puis appuyez sur [F2] (REPL).
-Alors vous entrez une chaîne de caractčres aprčs le remplacement et appuyez sur [F1] (SEARCH), [F2] (REPL) ou [EXE].
-Vous appuyez ŕ nouveau sur [F1] (SEARCH) ou [EXE] pour rechercher ensuite.
-Vous appuyez sur [F2] (REPL) pour le remplacer.
-Vous appuyez sur [F3] (ALL) ou [F4] (ALL +) pour tout remplacer. Je pousse [AC] pour l'arręter.
-Vous naffichez pas la progression en cours de remplacement dans [F4] (ALL+).
-------------------------------------------------------------------------------
Spécification incompatible avec l'original CasioBasic
-------------------------------------------------------------------------------
Notre objectif est la compatibilité avec les produits Casio Basic authentiques, mais pas ŕ 100%.
Une ligne de saisie par la commande "?" et "? ->" ne sont que sur une seule ligne. Une chaîne de caractčres de plus de 21 colonnes est toujours affichée sur la ligne horizontale unique par défilement et non sur plusieurs lignes.
Lorsque ":" (commande ŕ instructions multiples) vient juste aprčs la commande de croquis, l'écran graphique n'est pas redessiné.
La durée du programme est affichée aprčs la fermeture du programme. Cette fonction peut ętre activée ou désactivée dans la page de configuration.
Un séparateur de texte de commentaire 'est disponible pour les commentaires avant Carriage Return ou Disps (sortie), mais ":" (commande ŕ instructions multiples) peut ętre inclus dans la chaîne commentée.
C.Basic intčgre également la fonctionnalité conviviale de fx-5800P;
C.Basic supporte un script "? A" supporté par fx-5800P. Ceci n'est pas supporté par fx-9860G / fx-9860GII (le script "? -> A" seulement est supporté).
La fonction de sortie de chaîne "" est totalement compatible avec fx-5800P dans les détails mais pas exactement compatible avec fx-9860G / fx-986GII. Voir les sujets en détail.
-------------------------------------------------------------------------------
Différences dans le Graph 35+E II
-------------------------------------------------------------------------------
-Il y a 3 Mo de mémoire de stockage.
-La mémoire cachée est limitée à 128KB.
-Comme peut créer deux dossiers ou plus, vous pouvez changer le dossier racine.
===============================================================================
Menu de Configuration
===============================================================================
Options compatibles avec le Basic Casio :
Angle: Rad / Deg / Grad
Draw Type: on / off
Coord: on / off
Grid: on / off
Axes: on / off
Label: on / off
Derivative: on / off
Sketch Line: Normal / Thick / Broken / Dot
Nouvelles options fournies par C.Basic :
-------------------------------------------------------------------------------
Display: Fix / Sci / Nrm / Eng
Le nombre maximal de chiffres possibles est augmenté ŕ 15. Indiquer 0 le pousse ŕ 16.
Nrm1 et Nrm2 sont identiques au Basic Casio et affichent jusqu'ŕ 10 chiffres.
Nrm1: -0.01<x<0.01
Nrm2: -0.000000001<x<0.000000001
Indiquer un autre paramčtre (0 ou 3..15) modifie le nombre maximum de chiffres.
Other number (0 or 3 - 15) is to set max number of digit.
Eng peut ętre configuré ŕ Eng Off, Eng On (/E) et séparateur de milliers (/3)
Commandes liées : Eng, Norm, Fix, Sci
-------------------------------------------------------------------------------
Syntax Help : On/Off
Aide ŕ la commande dans l'éditeur
-------------------------------------------------------------------------------
SetupRecover : On/Off
Activer cette option restaure automatiquement, aprčs la sortie d'un programme, tous les paramčtres du Basic Casio ŕ leur valeur d'avant l'exécution.
-------------------------------------------------------------------------------
Command Input : C.Basic/Standard/>5800/>9800
Choisit le mode d'entrée de commandes : Standard (fx-9860G) ou C.Basic (fx-5800P).
Vous pouvez choisir le fonctionnement de "" : soit fx-5800P, soit fx-CG.
- Commandes lieés : '#58
'#98
-------------------------------------------------------------------------------
Max Mem Mode : on/off
Utiliser toute la mémoire disponible.
-------------------------------------------------------------------------------
EnableExFont : on/off
Activer l'utilisation de la police externe.
-------------------------------------------------------------------------------
Edit ExtFont : On/Off
Activer l'éditeur de polices externes.
-------------------------------------------------------------------------------
EditFontSize : Standard/Mini/Mini_rev/Mini UnderCursor/Mini_rev_UnderCSR
Sélectionne la taille de police de l'éditeur.
-------------------------------------------------------------------------------
HideStatLine :On/Off
On : masque la ligne d'état et utilise pour l'édition.
 Off: Affiche la ligne d'état.
-------------------------------------------------------------------------------
Edit Indent+ : Off/1/2/4 Save-
activer l'indent automatique dans l'éditeur.
Off: diable auto indent.
1 : Définir la largeur de l'endent eden à 1.
2 : Définir la largeur de l'endente à 1.
4 : Définir la largeur de l'endent eden à 1.
Enregistrer : supprimez les espaces vides, y compris les indents lors de l'enregistrement du programme. (à compatible avec Basic Casio)
-------------------------------------------------------------------------------
Edit LineNum :on/off
Configure l'affichage des numéros de ligne.
-------------------------------------------------------------------------------
EditListChar : List / reverseL / Thick L
Sélectionne le mode d'affichage des listes.
-------------------------------------------------------------------------------
Use Hidden RAM : on / off
Utiliser la mémoire supplémentaire cachée.
-------------------------------------------------------------------------------
HiddenRAM Init : on / off
Initialiser la mémoire supplémentaire cachée avant l'exécution.
-------------------------------------------------------------------------------
Max Pict No : 20~99
Lorsque la mémoire cachée est utilisée, le nombre de Picture peut ętre augmenté.
(*) Changer cette valeur réinitialise les Picture, matrices et listes !
-------------------------------------------------------------------------------
Max List No : 52~1040
Lorsque la mémoire cachée est utilisée, le nombre de listes peut ętre augmenté.
(*) Changer cette valeur réinitialise les Picture, matrices et listes !
-------------------------------------------------------------------------------
AT DebugMode : on / off
Active le debugger lorsque [AC/ON] est utilisé pour interrompre le programme.
-------------------------------------------------------------------------------
ExitDM Popup : on / off
Afficher une popup quand le debugger se ferme.
-------------------------------------------------------------------------------
Break Stop : on / off
Accepte ou refuse les interruptions par la touche [AC/ON].
Quand cette option est ŕ off, vous ne pouvez pas quitter un programme en appuyant sur [AC/ON].
- Commandes liées : '#Break 0 '#Break 1
-------------------------------------------------------------------------------
Exec TimeDsp : on / off /reset /%HR
Affiche le temps d'exécution du programme une fois le programme terminé.
Le timer est lancé ŕ la premičre ligne du programme. Les commandes ? et Disps le réinitialisent.
Les fonctions Getkey1/2 mettent le timer en pause et le redémarrent ensuite.
En cas de reset, le timer est réinitialisé est reprend au premier appel de Getkey1/2.
%HR: Utilise le timer ŕ 1/32768s (SH4A uniquement)
- Commandes liées : '#GetKeyC '#GetKeyR
-------------------------------------------------------------------------------
IfEnd Check : on / off
Vérifie strictement la correspondance entre chaque "If" et chaque "IfEnd".
-------------------------------------------------------------------------------
ACBreak : on / off
Active ou désactive la commande ACBreak.
- Commandes liées : ACBreak
-------------------------------------------------------------------------------
Force Return : None/ F1/ EXE/ F1&EXE
Force le retour ŕ l'éditeur lors d'une interruption avec [AC/ON].
(Exemple) Retour de force réglé à [F1]key
-Liste de fichiers→[F1](EXE)→[AC]→[EXIT]... Retourne à la liste de fichiers.
-Liste de fichiers→[EXE][AC]→[EXIT] ...... Retourne à l'éditeur.
-Liste de fichiers→[F1](EXE]→[AC]→[EXE](restart)→[AC]→[EXIT] ...... Retourne à la liste de fichiers.
(L'opération dépend de la clé qui est pressée en premier.)
-------------------------------------------------------------------------------
Key 1st time : 25 ms - 1000 ms (valeur par défaut : 500 ms)
Durée avant qu'une touche soit répétée pour la premičre fois (multiple de 25 ms)
-------------------------------------------------------------------------------
Key Rep time : 25 ms - 500 ms (valeur par défaut : 125 ms)
Durée avant qu'une touche qui a déjŕ été répétée soit répétée de nouveau (multiple de 25 ms)
-------------------------------------------------------------------------------
SkipUp/Down : 1 - 9999
Nombre d'écrans parcourus pour chaque pression de SkipUp ([SHIFT][UP]) ou SkipDown ([SHIFT][DOWN]) dans l'éditeur.
-------------------------------------------------------------------------------
Mat Dsp mode : [m,n] / [X,Y]
Sélectionne le format d'affichage de matrices dans l'éditeur de matrices.
Les formats [m,n] et [X,Y] sont transposés l'un de l'autre. Ce n'est qu'un paramčtre d'affichage, les données de la matrice restent stockées dans l'ordre original.
-------------------------------------------------------------------------------
Matrix base : 0 / 1
Indice de début pour la numérotation des éléments de matrices. Il faut ętre en mode 0 pour utiliser la premičre ligne et la premičre colonne de la VRAM.
- Commandes liées : '#Mat 0, '#Mat 1
-------------------------------------------------------------------------------
DATE : 2017/01/17 TUE
Change la date de la RTC (horloge du systčme). Le jour de la semaine est calculé automatiquement.
-------------------------------------------------------------------------------
TIME : 23:59:59
Change l'heure de la RTC.
- Commandes liées : DATE, TIME
-------------------------------------------------------------------------------
Root folder:/ (Seul le Graph 35+E II est valide.)
[F1]: pour définir le dossier racine.
[F2]: pour définir le dossier actuel.
- Commandes liées :
'#R/ // pour définir le dossier racine.
'#R. // pour définir le dossier actuel.
-------------------------------------------------------------------------------
Auto file Save : on/off
Désactive la popup de confirmation ŕ la sauvegarde dans l'éditeur.
-------------------------------------------------------------------------------
Force g1m save : on / off
Permet de sauvegarder automatiquement les fichiers g1m quand les programmes textes sont édités.
-------------------------------------------------------------------------------
Pict mode: S.Mem / Heap / Both / MainMem
- S.Mem : Les Picture sont créées dans la mémoire de stockage (petit surcoűt temporel)
- Heap : Les Picture ne sont pas vraiment créées, juste stockée temporairement dans la RAM
- Both : Les deux.
- Main : Les Picture sont gérées comme en Basic Casio, dans la mémoire principale.
-------------------------------------------------------------------------------
Storage mode: S.Mem / SD / MainMem
Sélectionne le stockage temporaire pour le code pendant l'édition et l'exécution.
S.Mem : Mémoire de stockage
SD : Carte SD (Graph 95 SD uniquement)
Main mem : Mémoire principale
-------------------------------------------------------------------------------
RefrshCtl DD: off / Grp / All
Sélectionne le niveau de restriction du rafraîchissement automatique de l'écran.
Off : Aucune restriction particuličre (comme en Basic Casio).
Grp : Seules les commandes graphiques et ClrText, Locate, Text, LocateYX et "" provoquent le rafraîchissement de l'écran (ces exceptions sont en rétro-compatibilité avec les précédentes versions de C.Basic).
All : Aucune commande ne rafraîchit l'écran automatiquement. PutDispDD doit ętre utilisé.
Time : Sélectionne la durée de rafraîchissement automatiquement en unités de 1/128 s. La valeur par défaut est 3, ce qui donne environ 1/42 s de fréquence de rafraîchissement.
Par défaut, la valeur est 0.
- Commandes liées : RefrshCtrl, RefrshTime
-------------------------------------------------------------------------------
Wait count : 0~9999
Délai contrôlant la vitesse d'exécution globale.
- Commandes liées : Wait
-------------------------------------------------------------------------------
Execute mode: Dbl# / Int% / CPLX
Définit le mode de variables numériques par défaut.
- Commandes liées: '#CBasic, '#CBASIC, '#CBINT, '#CBint '#CBCPLX '#CBcplx
-------------------------------------------------------------------------------
===============================================================================
Reconnaissance
===============================================================================
Pour étudier et mettre en śuvre la spécification interne,
"Calculatrices fx basées sur SuperH (version 20)"
a donné des informations utiles.
Pour la gestion des fichiers dans C.Basic,
"https://community.casiocalc.org/topic/6836-wsc-fvm-v12-casio-fx-9860-series-on-calc-c-compiler/
Wsc & Fvm V1.2 - Compilateur C sur calcul série Casio Fx-9860 "
a donné des informations utiles.
Pour les polices Kana japonaises, les données de police et la routine de sortie du site suivant sont utilisées;
"http://www.d-b.ne.jp/~k-kita/fx_sdk_005.html"
Pour les fonctionnalités détaillées de Casio Basic dorigine, le site suivant est référencé;
Gadget électronique - Calculatrice de programmation de Krtyski
"https://egadget.blog.fc2.com/"
(presque le contenu est en japonais).
https://community.casiocalc.org/topic/7637-cbasic-international-release/
https://codewalr.us/index.php?topic=1818.0
https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html
Leurs avis ont été trčs utiles.
Je suis reconnaissant pour la coopération de tous.
par sentaro21
===============================================================================
lien connexe
===============================================================================
https://egadget2.web.fc2.com/CBasic/Interpreter/CBasic_interpreter.html
https://community.casiocalc.org/topic/7637-cbasic-international-release/
https://codewalr.us/index.php?topic=1818.0
https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html
===============================================================================
Licence
===============================================================================
Ce logiciel est un logiciel libre, conforme ŕ GPLv2.

635
doc-fx/README_J.txt Normal file
View File

@ -0,0 +1,635 @@
===============================================================================
アドイン版 Casio Basic Interpreter (& Compiler) ver 2.x ベータ版
copyright(c)2015-2020 by sentaro21
e-mail sentaro21@pm.matrix.jp
最終更新日2020/02/10(JST)
最終更新者Krtyski/sentaro21/Colon
===============================================================================
Casio Basic インタプリタのアドイン版、略してC:Baisc現状インタプリタのみなのでC.Basicのとりあえず動く版です。
将来的にはコンパイラが追加される予定です。
・特徴
 純正Casio Basic互換を目指しています
 純正Casio Basicよりも高速動作10倍以上
 操作方法はほぼCasio Basic準拠です。
 純正Casio Basic互換の新規ソースファイルの作成、編集が可能です。
 ソースファイルはメインメモリではなくストレージメモリに置かれます。(サブフォルダ対応です)
 v1.79以降 メインメモリのファイルが直接使用できるようになりました。)
 純正Casio Basic上位互換で独自拡張機能を随時追加していきます。
SH3版,SH4A版、およびSD版のfx-9860Gシリーズに対応しています。
・欠点
 純正Casio Basicのサブセットです。全部の命令が使えません。というか今のところは一部の基本的な命令のみのサポートです。
 数値演算はCの倍精度2進演算により精度誤差が若干違います。
 PICTがストレージメモリに保存されますので若干遅いです。
 .87以降メモリ上にPICT相当のエリアを確保し高速性を確保しました。
 1.79以降、純正互換仕様が選択できます。)
 たぶん…間違いなくバグありです(^^;…ので、バグ報告よろしくお願いします。
========================== 注意!!! ============================================
このツールの使用によって電卓が破壊される可能性はまず無いと思いますが、
予期せぬバグ等でメインメモリが破壊されオールリセットになる可能性はあります。
このツールの使用はメインメモリ&ストレージメモリのバックアップをとった上でお願いいたします。
作者はこのツールの使用の結果においていかなる責任も負わないものとさせていただきます。
===============================================================================
-------------------------------------------------------------------------------
C.Basic の起動
-------------------------------------------------------------------------------
起動すると、ファイルリスト画面になります。ここでファイルを選択します。
純正Casio Basicで既に作成しているBasicファイルを、このファイルリストに追加するには、
メインメモリにある元のBasicファイルをストレージメモリへコピーします。
(単一ファイルに限ります。複数ソースファイルをまとめたファイルは未対応です。)
コピー操作には2つの方法があります。
1) アドインのメモリマネージャを使う;
- [MENU]キーでメモリマネージャを起動
- [F1] (F1:Memory Manager) でメインメモリのファイルリスト表示
- カーソルを<PROGRAM.へ移動し [EXE]
- コピーしたいファイルを選ぶ
- [F1] (SEL) に続いて [F2] (COPY)
- "ROOT"が反転したウィンドウが現れるので、そこで [EXE]
- Fle Name 画面になるので、そこで適当なファイル名(例えば"A")を入力して [EXE]
- [MENU] でMAIN MENUへ戻る
- C.Basic起動
- ファイル "A" を選択して [F6]そして[F2] REN)
- 元のCasio Basicファイル名が表示されたウィンドウが表示される
- ここで [EXE] を押すと、元のファイル名に変化する。
2) FA-124 (PCリンクソフト)を使う;
- FA-124 は、電卓に付属したカシオ製のPCリンクソフトです。
- ファイルコピーの詳しい操作法は、マニュアルを参照してください。
[F3] (NEW) を選択すると、新規プログラムの作成モードに入れます。
===============================================================================
クイックマニュアル - C.Basic の開発環境
===============================================================================
-------------------------------------------------------------------------------
ファイルリスト画面CasioBasic準拠っぽく…ちょっと違っています
-------------------------------------------------------------------------------
-[UP] 一つ前のファイルを選択します。
-[DOWN] 一つ後のファイルを選択します。
ファイル選択画面ではA-Zのキーを押すとそれを先頭とするファイルにジャンプします。fx-5800P準拠です
[.]キーで"~"を先頭とするファイルにジャンプします。)
[EXP(x10)]キーでフォルダリストの先頭(ファイルリストの最後の次)にジャンプします。)
-[F1] (EXE) 選択ファイルを実行します。
-[F2] (EDIT) 選択ファイルを編集します。
-[F3] (NEW) 新規ファイルを作成します。
-[F4] (COPY) ファイルをコピーします。
-[F5] (DEL) 選択ファイルを削除します。
-[F6] ( > ) 次のメニューに移動します。
  [F1] (Text) 選択されたBasicソースファイルをテキストファイルへ変換します。
  [F2] (REN) ファイル名を変更します。
  [F3] (Fav.) 選択ファイルをお気に入りに追加、解除します。
  [F4] (Fv.↑) お気に入りを一つ上に移動します。
  [F5] (Fv.↓) お気に入りを一つ下に移動します。
  [F6] ( > ) 次のメニューに移動します。
  [F1] (MK.F) フォルダを作成します。
  [F2] (Ren.F) フォルダ名を変更します。(未実装です。)
  [F6] ( > ) 前のメニューに移動します。
-[EXE] プログラムを実行します
-[SHIFT]
[EXIT](QUIT) サブフォルダからルートに戻ります。
[LEFT] コントラスト↓※OS内蔵機能
[RIGHT] コントラスト↑※OS内蔵機能
[UP] お気に入りを一つ上に移動します。
[DOWN] お気に入りを一つ下に移動します。
  [F1] (Var) 変数画面
  [F2] (Mat) Mat変数画面
  [F3] (V-W) ViewWindow表示
  [F4] (Pass) パスワード設定/解除
  [F6] (Debg) デバッグモードでエディタを起動します。
-[VARS] 変数画面
  [F1] (A<>a) 大文字変数と小文字変数、任意英数字名変数の表示切替え
  [F2] (Int) 表示変数の一括初期化
  [F3] (D<>I) 整数変数と実数変数の表示切替え
  [F6] (->Hex/->Dec) 16進数/10進数表示に切り替え
  [SHIFT]+[UP]/[DOWN] 1ページずつスクロール
※ローカル変数の場合は=を反転表示します。
-[SHIFT]
[MENU] (SETUP) 初期設定
  [F6] バージョン情報表示
-[OPTN] 選択ファイルをお気に入りに追加、解除します。
-[EXIT] ファイルリストの最初に戻ります。
すでにファイルリストの最初の場合はルートに戻ります。
-------------------------------------------------------------------------------
エディタ編集画面CasioBasic準拠っぽく…ちょっと違っています
-------------------------------------------------------------------------------
・ファイル内のカーソルの現在位置を示すガイドマーカーがドットで右端に表示されます。
-[F1] (JUMP) ジャンプサブメニューを表示します。
[F1] (TOP) ファイル先頭にジャンプします。
[F2] (BTM) ファイル末尾にジャンプします。
  [F3] (GOTO) ファイルの任意の行にジャンプします。(画面上での見た目上での行数です)
  [F5] (Skip↑) (セットアップで設定された)ページ数スキップアップします。
  [F6] (Skip↓) (セットアップで設定された)ページ数スキップダウンします。
-[F2] (SRC) 文字列サーチ/置換モードに入ります。
-[F3] (CMD) コマンド選択画面fx-5800P準拠モードここで選択できるコマンドがサポートされています
(MENU) コマンド選択モードfx-9860G準拠モード
-[F4] (A<>a) 大文字小文字切り替え
-[F5] (CHAR) キャラクタ選択画面
-[F6] (EXE) プログラムを実行します。一時停止状態であれば再開します。
-[SHIFT]
[EXIT](QUIT) ファイルリスト画面に戻ります。
[LEFT] コントラスト↓※OS内蔵機能
[RIGHT] コントラスト↑※OS内蔵機能
[UP]  (セットアップで設定された)ページ数スキップアップします。
[DOWN] (セットアップで設定された)ページ数スキップダウンします。
  [F1] (Var) 変数画面
  [F2] (Mat) Mat変数画面
  [F3] (V-WIN) ViewWindow表示
  [F4] (Dump)/(List) Basicリスト表示/16進ダンプ表示切替fx-5800P準拠モード
   (SKTCH)コマンド選択モードfx-9860G準拠モード
  [F5] (A<>a) 大文字小文字切り替え
  [F6] (G<>T) グラフィックス画面とテキスト画面の切替fx-5800P準拠モード
   (CHAR) キャラクタ選択画面fx-CG/9860G準拠モード
[3] Getkeyコマンドのキーコードを入力します。
-[OPTN] OPTN対応コマンド入力画面ここで選択できるコマンドがサポートされています
-[VARS] VARS対応コマンド入力画面ここで選択できるコマンドがサポートされています
-[MENU] コマンド入力履歴(左右キーで時系列⇔入力頻度順を切り替えられます。)
[AC/ON] 入力履歴を削除します。
-[SHIFT][VARS] (PRGM) PRGM対応コマンド入力画面ここで選択できるコマンドがサポートされています
-[SHIFT][MENU] (SETUP) 各種設定 後述fx-5800P準拠モード
  [F6] バージョン情報表示fx-5800P準拠モード
-[ALPHA][DEL] (UNDO) 削除とPasteを一回だけ元に戻しまします。
-[EXIT] サブメニューからメインメニュー、クリップモードのキャンセル、またはファイルリスト画面に戻ります。
-------------------------------------------------------------------------------
デバッグモード編集画面 (通常エディタと違う部分)
-------------------------------------------------------------------------------
-[F1](Cont):カーソル位置よりプログラムを再開します。
-[F2](Trce):カーソル位置よりトレース実行。コマンド実行後、即エディタ画面に戻ります。
-[F3](Step):カーソル位置よりトレース+ステップオーバー。サブルーチンの場合は一気に実行されます。ステップ実行後、即エディタ画面に戻ります。
-[F4](S.ot):カーソル位置よりステップアウト。サブルーチンの終了まで一気に実行します。ステップ実行後、即エディタ画面に戻ります。
-[F5](L<>S):エディタリスト表示とプログラム実行画面の切替をします。切替後も実行画面が維持されるので実行画面そのまま[F1]-[F4]のデバッグ動作が可能です。
-[F6]( > ) :デバッグメニューとエディタメニューを切り替えます。実行画面(グラフィック/テキスト)の場合はファンクションメニュー表示をします。
-[EXIT] サブメニューからメインメニュー、クリップモードのキャンセル、または通常エディタ画面に戻ります。
※デバッグモード時、一行目が反転表示になります。(一行目をエディタで使用しない場合。)
-------------------------------------------------------------------------------
プログラム実行時ほぼCasioBasic準拠…です
-------------------------------------------------------------------------------
-[AC] プログラム実行を中止します。
[EXIT] デバッグモードのエディット画面に戻ります。カーソルは中断箇所を示します。
[←/→] デバッグモードのエディット画面に戻ります。カーソルは中断箇所を示します。
[F1] プログラムに復帰します。
[EXE] プログラムに復帰します。
▲一時停止コマンドで停止した時(- Disp - 表示の時)
-[SHIFT]
  [F1] 変数画面
  [F2] Mat変数画面
  [F3] ViewWindow表示
  [F6] グラフィックス画面とテキスト画面の切り替え
-[EXE] プログラムを再開します。
-------------------------------------------------------------------------------
行列エディタ画面
-------------------------------------------------------------------------------
・行列一覧画面操作方法はMat、List、Vct共通です。
※アドレス指定で確保した行列は一覧表示で*マークが付きます。
-[F1] (DEL) 選択されている行列/リストを消去します。
-[F2] (DEL-A) すべての行列/リストを消去します。
-[F3] (DIM) 行列の次元、要素サイズ、インデックス開始値を設定します。
-[F4] (INIT) 選択されている行列/リストのすべての要素を初期化します。
-[F5] (Mat:/Lst:) 番号を指定してジャンプします。
-[F6] (A<>a) 大文字小文字を切り替えます。
-[EXE] 行列編集画面に入ります。(詳細後述)
-[SHIFT]+[F1] (>Mat) 行列一覧に切り替えます。
-[SHIFT]+[F2] (>List) リスト一覧に切り替えます。
-[SHIFT]+[F3] (>Vct) ベクトル一覧に切り替えます。
-[OPTN] Mat<>Listの切り替えをします。
-[VARS] Mat<>Vctの切り替えをします。
-[OPTN] Mat<>Listの切り替えをします。
-[LEFT] 26戻ります。
-[RIGHT] 26進みます。
・ 行列編集画面
※行列編集モード時に[SHIFT]+[8](CLIP)でコピー、[SHIFT]+[9]でペースト出来ます。
 C.Basic形式なのでエディタにて行列データをペースト出来ます。
(数値編集モード)
-[F1] (EDIT) 行列の要素を編集します。
-[F2] (GO) 要素を指定してジャンプします。
-[F3] (INIT) すべての要素を初期化します。
-[F4] (>x,y / >m,n) 表示形式を切り替えます。
-[SHIFT]+[F5] (>Bin / >Dec) 10<>2進数表示を切り替えますニブル(4ビット)、バイト1バイト、ワード2バイト型行列で有効
[F5]でショートカットできます。)
-[SHIFT]+[F6] (>Hex / >Dec) 10<>16進数表示を切り替えます1ビット、複素数16バイト型以外で有効、実数8バイト型は内部データをそのまま表示
[F6]でショートカットできます。)
-[SHIFT]+[F2] (DotEd) 数値編集モード<>ドットエディタを切り替えます。 ([OPTN] でショートカットできます。)
-[SHIFT]+[F3] (StrEd) 数値編集モード<>文字列編集モードを切り替えます。([VARS] でショートカットできます。)
(ドットエディタ)
※数値編集モードとの相違点のみ説明します。
 1ビット行列では0が白、1が黒です。
-[F1] (0<>1) 要素の値を0<>1で切り替えます。
-------------------------------------------------------------------------------
文字列サーチ/置換モード
-------------------------------------------------------------------------------
[文字列を検索する]
・文字列を入力し、[F1](SEARCH)または[EXE]を押します。
・次を検索するには、再度[F1](SEARCH)または[EXE]を押します。
・[F6](RETRY)で、検索画面に戻ります。
[文字列を置換する]
・置換前の文字列を入力し、[F2](REPL)を押します。
・次に、置換後の文字列を入力し、[F1](SEARCH)、[F2](REPL)、または[EXE]を押します。
・次を検索するには、再度[F1](SEARCH)または[EXE]を押します。
・置換するには、[F2](REPL)を押します。
・すべて置換するには、[F3](ALL)または[F4](ALL+)を押します。中断するには[AC]を押します。
 [F4](ALL+)では置換の途中経過を表示しません。
-------------------------------------------------------------------------------
キャラクタ選択画面
-------------------------------------------------------------------------------
・純正より多くの文字がサポートされています。
・[F6]でASCII、仮名、外字を入力できます。
・[SHIFT]または[F1][F6]を押すことで、連続入力ができます。
・[OPTN]でミニフォント表示になります。
・[VARS]では、OSがサポートしている形式(ミニフォント)で表示します。
===============================================================================
CasioBasicとの相違点
===============================================================================
基本的には全く同じ動作になるように作成されていますが、動作の違う部分があります。
コマンドの入力部分は1ラインのみで横スクロールします。
・描画コマンドの直後が区切りコードだと画面書換え更新をしません。グラフィック命令、Locate,Text等
・プログラム終了時に実行時間を表示することができます。(セットアップで設定)
・コメント文の終了は改行と▲一時停止コマンドのみです。:(区切りコード)では終了となりません。
さらに同じCasioBasicが動作するプログラム関数電卓のfx-5800Pの便利な部分を取り込んでいます。
コマンドでA形式を追加サポートしています。
・文字列出力コマンド " " の出力仕様はfx-5800P 完全準拠で、fx-9860G/fx-9860GIIには準拠していません。
 fx-5800Pとfx-9860G/fx-9860GIIのCasioBasic仕様の違いについては、
 やす(Krtyski)様のサイトに詳細な解説がありますので参照して下さい。
 http://egadget.blog.fc2.com/blog-entry-170.html
===============================================================================
Graph 35+E IIでの相違点
===============================================================================
・ストレージメモリが約2倍の3MBあります。
・隠しメモリが128KBに制限されます。
・フォルダが2層以上作成できるので、ルートフォルダを変更できます。
===============================================================================
-[SHIFT][MENU] (SETUP) セットアップでの設定
===============================================================================
Angle :Rad/Deg/Grad
Draw Type :Connect/Plot
Coord :on/off
Grid :on/off
Axes :on/off
Label :on/off
Derivative :on/off
Background :None/Pict120
Sketch Line :Normal/Thick/Broken/Dot
----------------------------ここまで純正CasioBasic互換
-------------------------------------------------------------------------------
Display :Fix/Sci/Nrm/Eng
少数以下の桁数は15桁まで。0を指定した場合は16桁となります。
Nrmに関してはNrm1とNrm2のみCasioBasic互換10桁表示仕様です。
Nrm10.01以下は指数表示
Nrm20.000000001以下は指数表示
それ以外は桁数指定となります。
Eng ENGオフ、ENGオン(/E)、3桁区切り(/3)の切り替えとなります。
・関連コマンド Eng,Norm,Fix,Sci,EngOn,EngOff
-------------------------------------------------------------------------------
Syntax Help : On/Off
エディタでコマンドのヘルプ表示の有効/無効を設定します。
-------------------------------------------------------------------------------
SetupRecover : On/Off
すでにセットアップで設定してある上記の純正CasioBasic互換設定をプログラム終了後に復帰するかどうかを設定します。
-------------------------------------------------------------------------------
Command Input :C.Basic/Standard
コマンド入力方法をC.Basic(fx-5800P)方式とStandard(fx-9860G)方式を選択できます。
・関連コマンド '#58
'#98
-------------------------------------------------------------------------------
Max Mem Mode : on/off
使用可能な最大メモリを使うようにします。
-------------------------------------------------------------------------------
EnableExFont : on/off
外部フォントの使用を設定します。
onの場合は以下のコマンドが有効です。
・関連コマンド SetFont 0 // 外部フォント無効
SetFont 1 // 外部フォント有効
-------------------------------------------------------------------------------
Edit ExtFont : On/Off
エディタ上で外部フォント表示を使用します。
-------------------------------------------------------------------------------
EditFontSize :Standard/Mini/MiniRev/Mini(undercursor)/MiniRev(undercursor)
表示文字の大きさを変更します。
-------------------------------------------------------------------------------
HideStatLine :On/Off
画面の最上位一行目のステータスラインを非表示にしてエディタで使用するかどうか選択できます。
-------------------------------------------------------------------------------
Edit Indent+ : Off/1/2/4 Save-
自動インデントを設定します。
Off: 自動インデントを使用しません。
1  インデント幅を1に設定します。
2  インデント幅を2に設定します。
4  インデント幅を4に設定します。
Save-保存時にインデントを含むコマンド間の空白を削除します。CasioBasic準拠ソースに変換します。
-------------------------------------------------------------------------------
Edit LineNum :On/Off
行番号表示を選択します。
-------------------------------------------------------------------------------
EditListChar :List / 反転L / ボールドL
ListとMat表示を短縮表示1文字の反転とボールドに切り替えます。
-------------------------------------------------------------------------------
Use Hidden RAM :on/off
隠しRAMをC.Basicで使用するかどうかを設定します。初期のfx-9860Gは未対応です。
fx-9860GII以降では512KBのRAMが搭載されており、そのうち256KBは未使用領域となっているためにこれをプログラム領域と行列領域として利用できるようにします。
-------------------------------------------------------------------------------
HiddenRAM Init:on/off
隠しRAM使用時に、Mat行列&ListをC.Basic起動時に初期化するかどうかを設定します。初期のfx-9860Gは未対応です。
初期化しない場合は、Mat行列&Listの結果が消えないで残ります。
-------------------------------------------------------------------------------
Max Pict No : 20 99
隠しRAM使用時に、Pictファイルの上限を増やせます。
設定を変更するとPictMatListデータが初期化されます。
-------------------------------------------------------------------------------
Max List No : 54 1040
隠しRAM使用時に、Listの上限を増やせます。
設定を変更するとPictMatListデータが初期化されます。
-------------------------------------------------------------------------------
AT DebugMode : on / off
[AC]で中断した時にデバッグモードの有効/無効を設定します
-------------------------------------------------------------------------------
ExitDM Popup : on / off
デバッグモードから[EXIT]で抜ける場合の確認PopUpを設定します。
-------------------------------------------------------------------------------
Break Stop :on/off
[AC]キーによる中断の有無。
offの場合は[AC]キーによる中断が出来ません。
・関連コマンド '#Break0 // [AC]キー無効
'#Break1 // [AC]キー有効 (デフォルト)
-------------------------------------------------------------------------------
Exec TimeDsp : on/off/on reset / %HR
プログラム終了時にプログラムの実行時間を表示します。
計測開始はプログラムの最初の行からですが、途中?コマンドや一時停止コマンドがあった場合はそれまでの計測時間はリセットされます。
GetKey1/2の場合は計測が一時停止になり、コマンド実行後に再スタートします。
on resetは、GetKey1/2実行後に計測がリセットされ再スタートします。
%HR:計測に1/32768sタイマーを使います。(SH4A機のみです。
・関連コマンド '#GetKeyC // GetKey1/2実行後に時間計測を一時停止、リスタートします。デフォルト
'#GetKeyR // GetKey1/2実行後に時間計測がリセットリスタートします。
-------------------------------------------------------------------------------
IfEnd Check :on/off
IfとIfEndが一対一で対応しているかどうかをチェックします。
-------------------------------------------------------------------------------
ACBreak :on/off
ACBreakコマンドの有効/無効を切り替えます。
・関連コマンド ACBreak
-------------------------------------------------------------------------------
Force Return: None/ F1/ EXE/ F1&EXE
プログラム実行中の中断でエディタに戻るかファイルリストに戻るかを選択できます。
Force Return: F1 の場合、
・ ファイルリスト画面 → [F1](EXE) → [AC] → [EXIT] …… ファイルリスト画面に戻ります。
・ ファイルリスト画面 → [EXE] → [AC] →[EXIT] …… エディタに戻ります。
・ ファイルリスト画面 → [F1](EXE) → [AC] → [EXE](再開) → [AC] → [EXIT] …… ファイルリスト画面に戻ります。
     (初めにどちらのキーを押したかによって動作が決まります。)
-------------------------------------------------------------------------------
Key 1st time:25ms1000ms(デフォルト値 500ms)
リピート開始までの時間 (25ms単位)
Key Rep time:25ms500ms(デフォルト値 125ms)
リピート継続時間 (25ms単位)
-------------------------------------------------------------------------------
SkipUp/Down : 19999
SkipUp/SkipDownでの一回分の改ページ数を指定します。
※改行ごとに一行増える論理行ではなく画面上での見た目上での物理行数です。
-------------------------------------------------------------------------------
Mat Dsp mode:[m,n]/[X,Y]
行列エディタ画面での表示形式を指定します。
それぞれ転置行列の関係になりますが、行列内部は何も変化なく表示上だけの指定です。
Matrix base :0/1
行列インデックスの初期値を0か1が指定します。
初期値に0を指定した場合は、グラフィック座標が左上端の(0,0)から有効になります。
・関連コマンド '#Mat 0 // 行列のインデックス開始値を0にします。
'#Mat 1 // 行列のインデックス開始値を1にします。デフォルト
-------------------------------------------------------------------------------
DATE : 2017/01/17 MON
TIME : 23:59:59
内蔵RTCを設定します。曜日は自動設定されます。
・関連コマンド DATE、TIME
-------------------------------------------------------------------------------
Root Folder : / ※Graph 35+E II限定の機能です。
ファイルアクセスの基本となるルートフォルダを設定します。
[F1]:ストレージメモリのルートフォルダに設定します。
[F2]:カレントフォルダを以後ルートフォルダに設定します。
・関連コマンド '#R/ // ストレージメモリのルートフォルダに設定します。
'#R. // カレントフォルダをルートフォルダに設定します。
-------------------------------------------------------------------------------
Auto file Save:on/off
編集後、自動的に保存するかどうか設定します。
-------------------------------------------------------------------------------
Force g1m save:on/off
テキストファイル編集実行後に同時にg1m形式でも保存するかどうかを設定します。
-------------------------------------------------------------------------------
Pict mode :S.Mem/Heap/Both/MainMem
(S.Mem/SD) Pictファイルをストレージメモリ/SD上に作ります。若干時間がかかります。
(Heap) Pictファイルとしては作成されずにメモリ上に互換ファイルが作成されます。
(Both) HeapモードでもPictファイルが常にストレージメモリ/SD上に作成されます。
(Main) メインメモリのPICT純正互換仕様です。
-------------------------------------------------------------------------------
Storage mode :S.Mem/SD/MainMem
(S.Mem) ストレージメモリ上のファイルを実行/編集します。
(SD) SD上のファイルを実行/編集します。SD版のみ指定可
(Main mem) MCS(メインメモリ)のプログラムファイルを実行/編集します。
-------------------------------------------------------------------------------
RefrshCtl DD:off/Grp/All
描画コマンドにおける画面の更新を設定できます。
Offリフレッシュコントロール無し。表示においては純正互換仕様です。
Grpグラフィックコマンドのみリフレッシュコントロール有り。ClrText,Locate,Text,LocateYX、””は無しで以前のバージョン互換です。
Allすべての描画コマンドがリフレッシュコントロールされた表示となります。必要に応じてPutDispDDコマンドが必須となります。
Timeリフレッシュコントール時間を設定します。n/128秒単位で画面更新します。デフォルトは3で約1/42秒での更新となっています。
   0を指定するとリフレッシュされなくなります。
・関連コマンド RefrshCtrl/RefrshTime
-------------------------------------------------------------------------------
Wait count : 09999
C.Basic全体の実行速度を調整します。
・関連コマンド Wait
-------------------------------------------------------------------------------
Execute mode:Dbl#/Int%/CPLX
デフォルトのプログラムの実行モードを切り替えます。
・関連コマンド '#CBasic
'#CBASIC
'#CBDBL
'#CBdbl
'#CBINT
'#CBint
'#CBCPLX
'#CBcplx
===============================================================================
===============================================================================
謝辞
===============================================================================
プログラム内部仕様&情報は
SuperH-based fx calculators (version 20)
を参考にさせていただいています。(一部引用)
このツールのファイル操作部分は、
https://community.casiocalc.org/topic/6836-wsc-fvm-v12-casio-fx-9860-series-on-calc-c-compiler/
Wsc & Fvm V1.2 - Casio Fx-9860 Series On-calc C Compiler
を参考にさせていただいています。(一部引用)
カナフォントはこちらのサイトよりカナフォントデータおよび表示ルーチンを引用させていただいています。
http://www.d-b.ne.jp/~k-kita/fx_sdk_005.html
PierrotLL氏作成のMonochromeLibを使わせていただいています。Ver.1.00以降)
プログラム実行時の細かい動作に関しては、
やす(Krtyski)様の
e-Gadget - プログラム関数電卓
プログラム電卓の濃い話: 今は fx-5800P / fx-9860GII と Casio Basicプログラミングが中心
https://egadget.blog.fc2.com/
を参考にさせていただいています。
このC.Basicが誕生するきっかけとなったサイトです。
いつもありがとうございます。
これからもよろしくお願いいたします。
純正CasioBasicとの動作互換性チェックにおいて大変有用なプログラムをたくさん掲載しているPlanet-Casioと作者の皆様に感謝いたします。
最後にとても興味深いグラフ電卓を発売してくださったCASIO計算機に感謝いたします。
このアドインプログラムが皆様のお役に立つことがあれば幸いです。
===============================================================================
ライセンス
===============================================================================
このソフトウエアはフリーソフトウエアです。
ライセンスはGPLv2に準じます。
===============================================================================
ご質問、ご要望、バグ報告等
===============================================================================
やす(Krtyski)様のサイトにてC.Basicプロジェクト専用エントリを作成していただいています。
https://egadget.blog.fc2.com/blog-entry-495.html
ご質問、ご要望、バグ報告等ありましたらコメント欄にて随時受け付けています。
UCF
https://community.casiocalc.org/topic/7637-cbasic-international-release/
Planet-Casio
https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html
===============================================================================
更新履歴
===============================================================================
CHANGE_J.txtに独立させました。

136
doc-fx/Setup_format.txt Normal file
View File

@ -0,0 +1,136 @@
--------------------------------------------------------
CBasic setup format ver.1.00
--------------------------------------------------------
CBasic setup format 1280 bytes
--------------------------------------------------------
offset type name
--------------------------------------------------------
00 char "CB.config00"
11 char CB_G1MorG3MDefault
12 char ExtendPict
13 char UseHiddenRAM
14 char ExtendList
15 char CB_INTDefault
16-17 short RefreshCtrl
18 char EditListChar
19 char DrawType
20 char CB_fx5800P // 0.55 new
21 char Refreshtime
22 char ForceReturnMode
23 char Coord
24 char CB_RecoverSetup
25 char ENG
26 char EditExtFont
27 char Grid
28 char CB_Round.ExpTYPE
29 char CB_Round.MODE
30 char MaxHeapRam // 0.49 new
31 char Axes
32-33 short CB_Round.DIGIT-1
34 char DirectGBconvert // 0.49 new
35 char Label
36-37 short DefaultWaitcount
38 char CB_disableOC // 0.52 new
39 char Derivative
40 char XInputMethod
41 char CommandInputMethod
42 char ExitDebugModeCheck // 0.55 new
43 char S_L_Style
44 char EnableExtFont // 0.48 new
45 char ForceG1Msave
46 char ComplexMode // 0.51 new
47 char Angle
48 char EditGBFont // 0.49 new
49 char StorageMode & 1 // 0.53 new
50 char StorageMode & 2 // 0.53 new
51 char BreakCheckDefault
52-53 short PageUpDownNum
54 char (reserved)
55 char TimeDsp
56 char (reserved)
57 char 1-MatBaseDefault
58 char (reserved)
59 char MatXYmode
60 char CB_HelpOn // 0.80 new
61 char CheckIfEnd
62 char (reserved)
63 char PictMode
64-71 double Xfct
72-79 double Yfct
80-543 double REG.A...z.real
544-631 double REG.VWIN
640-871 int REGINT.A...z
872-873 short KeyRepeatFirstCount
874-875 short KeyRepeatNextCount
880-883 char Favoritesfiles[0].filesize
884-887 char Favoritesfiles[1].filesize
888-891 char Favoritesfiles[2].filesize
892-895 char Favoritesfiles[3].filesize
896-899 char Favoritesfiles[4].filesize
900-903 char Favoritesfiles[5].filesize
904-907 char Favoritesfiles[6].filesize
908- 920 char Favoritesfiles[0].filename
921- 929 char Favoritesfiles[0].folder
930- 942 char Favoritesfiles[1].filename
943- 951 char Favoritesfiles[1].folder
952- 964 char Favoritesfiles[2].filename
965- 973 char Favoritesfiles[2].folder
974- 986 char Favoritesfiles[3].filename
987- 995 char Favoritesfiles[3].folder
996-1008 char Favoritesfiles[4].filename
1009-1017 char Favoritesfiles[4].folder
1018-1030 char Favoritesfiles[5].filename
1031-1039 char Favoritesfiles[5].folder
1040-1052 char Favoritesfiles[6].filename
1053-1061 char Favoritesfiles[6].folder
1062-1074 char (reserved)
1075 char AutoSaveMode
1076 char EditTopLine
1077 char EditFontSize
1078 char DisableDebugMode
1079 char 0
1080 short CB_ColorIndexPlot
1082 short CB_ColorIndexEditBack
1084 short CB_ColorIndexEditBase
1086 short CB_ColorIndexEditCMD
1088 short CB_ColorIndexEditQuot
1090 short CB_ColorIndexEditComt
1092 short CB_ColorIndexEditLine
1094 short CB_ColorIndexEditNum
1096 short CB_FavoriteColorIndex // 0.56 new
1098-1279 char (reserved)
1278-1279 short version (0.56 -> 56) // 0.56 new
--------------------------------------------------------
CBasic2 setup format 512 bytes
--------------------------------------------------------
offset type name
--------------------------------------------------------
00 char "CB.config60"
11-47 char (reserved)
48-511 double REG.A...z.image
--------------------------------------------------------
CBasic3 setup format 620 bytes
--------------------------------------------------------
offset type name
--------------------------------------------------------
00-08 char folder[9] // Storage
10-18 char folder[9] // SD
32-227 char FavoriteName // Storage sizeof(Files) * FavoritesMAX // 28*7=196
228-423 char FavoriteName // SD sizeof(Files) * FavoritesMAX // 28*7=196
424-619 char FavoriteName // MainMem sizeof(Files) * FavoritesMAX // 28*7=196

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

13
examples/List/LIST.txt Normal file
View File

@ -0,0 +1,13 @@
'ProgramMode:RUN
10->Dim List 1
{1,2,3,4,5}->List 2
Seq(X^<2>,X,10,50,10)->List 3
List 2+List 3Disps
2*List 2+List Ans*5Disps
Max(List 2)Disps
Min(List 2)Disps
SortD(List 2)
List 2Disps
SortA(List 2)
List 2Disps
Augment(List 2,List 3/10)->List 4

16
examples/ML/BMP.txt Normal file
View File

@ -0,0 +1,16 @@
'ProgramMode:RUN
[[60,126,251,253,253,255,126,60]]->Mat B.B
Screen.G
_ClrVram
_Rectangle 1,11,12,42,0,(-)1,1
_Bmp8 &Mat B,3,13,O
_Bmp8 &Mat B,3,23,A
_Bmp8 &Mat B,3,33,X
_Bmp8 &Mat B,15,13,O,C
_Bmp8 &Mat B,15,23,A,C
_Bmp8 &Mat B,15,33,X,C
PutDispDD

BIN
examples/ML/MLELIPS1.g1m Normal file

Binary file not shown.

BIN
examples/ML/MLPOLY1.g1m Normal file

Binary file not shown.

BIN
examples/ML/MLRECT1.g1m Normal file

Binary file not shown.

BIN
examples/ML/ML_Poly.g3m Normal file

Binary file not shown.

BIN
examples/ML/ML_Poly5.g3m Normal file

Binary file not shown.

BIN
examples/ML/ML_Rect.g3m Normal file

Binary file not shown.

11
examples/ML/PIXEL.txt Normal file
View File

@ -0,0 +1,11 @@
'ProgramMode:RUN
Screen.G
_ClrVram
For 0->Y To 63
For 0->X To 127
_Pixel X,Y,3
Next
Next
PutDispDD

10
examples/ML/POLY.txt Normal file
View File

@ -0,0 +1,10 @@
'ProgramMode:RUN
[[60,75,70,50,45]]->Mat X.L
[[20,30,45,45,30]]->Mat Y.L
Screen.G
_ClrVram
_Polygon &X[1],&Y[1],5,1
_DispVram

BIN
examples/bmp-cg/BMP16A.g3m Normal file

Binary file not shown.

BIN
examples/bmp-cg/BMPTRSP.g3m Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
examples/bmp-cg/WBMP.g3m Normal file

Binary file not shown.

BIN
examples/bmp-cg/WBMPV.g3m Normal file

Binary file not shown.

BIN
examples/bmp-fx/BMPDRAW.g1m Normal file

Binary file not shown.

BIN
examples/bmp-fx/BMPROTE.g1m Normal file

Binary file not shown.

BIN
examples/bmp-fx/DRAWMAT.g1m Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,3 @@
ViewWindow 1,127,0,1,63,0,0,1,1
Seq(X,X,0,63,1)->List 1
Graph(X,Y)=(127T,List 1)

View File

@ -0,0 +1,4 @@
ViewWindow 1,127,0,1,63,0,1,4,1
{10,30,18,10}->List 1
{7,54,29,7}->List 2
Graph(X,Y)=(List 1[T],List 2[T])

BIN
examples/graphXY/LISSAJ.g1m Normal file

Binary file not shown.

BIN
examples/graphXY/LISSAJ.g3m Normal file

Binary file not shown.

View File

@ -0,0 +1,39 @@
'ProgramMode:RUN
Deg
G-Connect
G-Plot
CoordOff
GridOff
AxesOff
LabelOff
ClrGraph
ViewWindow (-)2,2,0,-1,1,0
Cls
2->A
1->B
-10->C
5->D
Do
Getkey->K
If K<>L:Then
K=39=>D+(D<10)->D
K=29=>D-(D>(-)10)->D
K=28=>B+(B<10)->B
K=37=>B-(B>(-)10)->B
K=27=>A+(A<10)->A
K=38=>A-(A>(-)10)->A
K->L
IfEnd
C+D->C
Cls
Text 1,1,"A(_#E690__#E691_)=":
Text 1,23,A:
Text 7,1,"B(_#E692__#E693_)=":
Text 7,23,B:
Graph(X,Y)=(sin ((A*T)+C),cos (B*T)
LpWhile 1

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,77 @@
'ProgramMode:RUN
' OPCODE LIST extend
'#_Str _s
ClrMat s
{1,32}->Dim Mat s.b
0X00->A
0->B
0->M
Lbl 0
ClrText:
FkeyMenu(1,"00xx",T):
FkeyMenu(2,"7Fxx",T):
FkeyMenu(3,"F7xx",T):
FkeyMenu(4,"F9xx",T):
FkeyMenu(5,"E7xx",T):
M=0=>FkeyMenu(6,"_->_EXT",T):
M=1=>FkeyMenu(6,"_->_ORG",T):
For 0->I To 6
A*256+B+I->J
MatBase(Mat s)->S
Switch M
Case 0:' original
If System((-)1)<10
SysCall(0X7FC,J,VarPtr(Str S))
Else
SysCall(0X128F,J,VarPtr(Str S))
IfEnd
Break
Case 1:' extended
If A=0:Then
MOD(J,256)->s[S,S]
0->s[S,S+1]
Else
Intg (J/256)->s[S,S]
MOD(J,256)->s[S,S+1]
0->s[S,S+2]
IfEnd
Break
SwitchEnd
Locate 1,I+1,Sprintf("%04X:",%J):
Locate 6,I+1,Str S:
Next
Getkey2->K
Switch K
Case 47:'EXIT
Stop:Break
Case 79:'F1
0->A:Break
Case 69:'F2
0X7F->A:Break
Case 59:'F3
0XF7->A:Break
Case 49:'F4
0XF9->A:Break
Case 39:'F5
0XE7->A:Break
Case 29:'F6
1-M->M:Break
Case 28:'UP
B>0=>B-1->B
Break
Case 37:'DOWN
B<249=>B+1->B
Break
Case 38:'LEFT
B-7->B:B<0=>0->B
Break
Case 27:'RIGHT
B+7->B:B>249=>249->B
Break
SwitchEnd
Goto 0

View File

@ -0,0 +1,5 @@
'ProgramMode:RUN
18->N
?N
Prog "FIBOSB",N
Ans

View File

@ -0,0 +1,10 @@
'ProgramMode:RUN
Local n,a,b
Switch n
Case 0:Return 0
Case 1:Return 1
Default :
Prog "FIBOSB",n-2->a
Prog "FIBOSB",n-1->b
Return a+b
SwitchEnd

View File

@ -0,0 +1,17 @@
----------------------------------------
Send(/Recv( sample
SRTXA.g1m -> SRRXA.g1m
SRTXMAT.g1m -> SRRXMAT.g1m
SRTXLIST.g1m -> SRRXLIST.g1m
SRTXSTR.g1m -> SRRXSTR.g1m
SRGKEY.g1m <-> SRGKEY.g1m
----------------------------------------
Send38K/Receive38k
SR38SLST.g1m -> SR38RLST.g1m
SR38GKEY.g1m <-> SR38GKEY.g1m

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
examples/serial/SRGKEY.g1m Normal file

Binary file not shown.

BIN
examples/serial/SRRXA.g1m Normal file

Binary file not shown.

Binary file not shown.

BIN
examples/serial/SRRXMAT.g1m Normal file

Binary file not shown.

BIN
examples/serial/SRRXSTR.g1m Normal file

Binary file not shown.

BIN
examples/serial/SRTXA.g1m Normal file

Binary file not shown.

Binary file not shown.

BIN
examples/serial/SRTXMAT.g1m Normal file

Binary file not shown.

BIN
examples/serial/SRTXSTR.g1m Normal file

Binary file not shown.

BIN
examples/system/SYS.g1m Normal file

Binary file not shown.

BIN
examples/system/SYS.g3m Normal file

Binary file not shown.

View File

@ -0,0 +1,69 @@
== System( コマンドで全てのオプションを使ったサンプルプログラム ==
・SYS.g1m は C.Basic for FX Ver 2.44 build 10 以降で、SYS.g3m は C.Basic for CGVer 1.44 build 10
以降で動作します。
・本プログラムは、C.Basicがインストールできる全ての電卓 - 最も古い fx-9860G OS1.02 から最新の
fx-CG50 OS3.30 - で、そしてエミュレーターで動作します。
== A sample program for command System( using all options. ==
- SYS,g1m runs on C.Basic for FX Ver 2.44 build 10 or later,SYS.g3m runs on C.Basic for CG
Ver 1.44 build 10 and later.
- This program can run on all calculators which C.Basic can be installed, oldest fx-9860G OS1.02 through latest fx-CG50 OS3.30, and on Emulator.
1: 'ProgramMode:GB1
2: Screen.T:_ClrVram
3: 0->i:System((-)1)<10=>1->i
4: Locate 1,i,"C.Basic for FX v"
5: System((-)1)>10=>Locate 13,i,"CG"
6: Locate 18,i,System(0)/100
7: Switch System((-)1)
8: Case 0
9: Locate 1,1+i,"fx_(-)_9860G"
10: Break
11: Case 1
12: Locate 1,1+i,"fx_(-)_9860G Slim"
13: Break
14: Case 2
15: Locate 1,1+i,"fx_(-)_9860GII"
16: Break
17: Case 3
18: Locate 1,1+i,"fx_(-)_9860GII_(-)_2"
19: Break
20: Case 4
21: Locate 1,1+i,"Graph35+EII"
22: Break
23: Case 10
24: Locate 1,1+i,"fx_(-)_CG10"
25: Break
26: Case 20
27: Locate 1,1+i,"fx_(-)_CG20"
28: Break
29: Case 50
30: Locate 1,1+i,"fx_(-)_CG50"
31: Break
32: SwitchEnd
33: System((-)7)=>Locate 1,1,"Emulator"
34:
35: Locate 16,1+i,"OS .00"
36: Locate 18,1+i,System((-)2)/100
37: Locate 1,3,"CB VRAM"
38: System((-)1)>10=>Locate 1,3,"VRAM "
39: Locate 12,3,"0x00000000"
40: Locate 14,3,Hex(System(1))
41: Locate 1,4,"TextVRAM"
42: Locate 12,4,"0x00000000"
43: Locate 14,4,Hex(System(2))
44: Locate 1,5,"GraphVRAM"
45: Locate 12,5,"0x00000000"
46: Locate 14,5,Hex(System(3))
47: Locate 1,6,"WorkVRAM"
48: Locate 12,6,"0x00000000"
49: Locate 14,6,Hex(System(4))
50: Locate 1,7,"ClipBoard"
51: Locate 12,7,"0x00000000"
52: Locate 14,7,Hex(System(10))
53:
54: FkeyMenu(1,"A sample for System(",L,5)
55: FkeyMenu(6,1018)
56: System((-)2)<104=>FkeyMenu(6,"EXIT")
57: While Getkey1<>29:WhileEnd
58: ClrText

View File

@ -0,0 +1,6 @@
'ProgramMode:RUN
?Str 1
Try Exp(Str 1)
Except :' All Error
Disp System(-9):' Error No
TryEnd

View File

@ -0,0 +1,55 @@
'ProgramMode:RUN
?Str 1
Try Exp(Str 1)
Except 1:"Syntax ERROR"
Except 2:"Ma ERROR"
Except 3:"Go ERROR"
Except 4:"Nesting ERROR"
Except 5:"Stack ERROR"
Except 6:"Memory ERROR"
Except 7:"Argument ERROR"
Except 8:"Dimension ERROR"
Except 9:"Range ERROR"
Except 11:"Non-Real ERROR"
Except 20:"Com ERROR"
Except 21:"Transmit ERROR"
Except 22:"Recieve ERROR"
Except 28:"Too Much Data"
Except 33:"For without Next"
Except 34:"Next without For"
Except 35:"While withot WEnd"
Except 36:"WEnd withot While"
Except 37:"Do withot LpWhile"
Except 38:"LpWhile withot Do"
Except 39:"Not Loop ERROR"
Except 40:"Division By Zero"
Except 41:"Undefined Label"
Except 42:"Not enough Memory"
Except 43:"String Too Long"
Except 44:"No Matrix array"
Except 45:"Illegal Ary size"
Except 46:"Not found Prog"
Except 47:"Too many SubProg"
Except 48:"If without IfEnd"
Except 49:"Then without If"
Except 50:"Case w/out Switch"
Except 51:"Default wo Switch"
Except 52:"Without SwitchEnd"
Except 53:"Without Switch"
Except 54:"Can't find file"
Except 55:"Illegal Element"
Except 56:"Already Open ERR"
Except 57:"Com Not Open ERR"
Except 58:"Type Mismatch ERR"
Except 59:"Out of Domain ERR"
Except 60:"Undefined Var"
Except 61:"Undefined Func"
Except 62:"Not Support ERR"
Except 63:"Too many Var ERR"
Except 64:"Duplicate Def ERR"
Except 65:"Address Align ERR"
TryEnd

BIN
font/@LFONTA0.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
font/@LFONTA1.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
font/@LFONTG.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
font/@LFONTG0.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
font/@LFONTK.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
font/@LFONTK0.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
font/@LFONTK1.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
font/@MFONTA0.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
font/@MFONTA1.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
font/@MFONTG.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
font/@MFONTG0.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
font/@MFONTK.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
font/@MFONTK0.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
font/@MFONTK1.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
font/FONTA6M.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 830 B

Some files were not shown because too many files have changed in this diff Show More