Jump to content



Photo
* * * * * 4 votes

C.Basic - International Release

Casio Basic C.Basic

  • Please log in to reply
702 replies to this topic

#641 Hlib2

Hlib2

    Casio Freak

  • Members
  • PipPipPipPip
  • 142 posts
  • Gender:Male
  • Location:Ukraine
  • Interests:industrial electronics,
    graphing calculators

  • Calculators:
    fx-9860GII-2
    graph-100+
    fx-991DE_X
    ti-89_Titanium
    ti-voyage200
    ti-84+SE

Posted 06 July 2020 - 09:29 AM

@Sentaro21
A few comments about minor bugs.
1) mode Sci4/E, editing alpha variables Shift F1 (var),
input: 8E-4 EXE
result: 800.0000.....01μ (should be 800μ).
tried to edit: ►, EXE
result: Syntax ERROR
input: 0.06526
result: 65.25999.....9m (should be 65.26m)
tried to edit: ►, EXE
result: 0.000E0
These features sometimes do not allow to use in program an engineering format for displaying results.
2)
Lbl 1
"N="?➝N
Disp RndFix(N,3)
Goto 1
mode Nrm10
2a) If you apply a record like ?➝N, the character ? is not translated on a new line.
2b) input: 7.6575 -> result: 7.657
input: 3.6575 -> result: 3.658
The instability of the rounding rules sometimes leads to the fact that when analyzing the data, they fall into the wrong interval.

#642 siealex

siealex

    Casio Addict

  • Members
  • PipPipPip
  • 70 posts
  • Gender:Male

  • Calculators:
    570w, 570ms, 83es, 570es, 83gt plus, 991es plus, 991de plus, 570spx ii, 9750gii

Posted 09 July 2020 - 04:29 PM

The instability of the rounding rules sometimes leads to the fact that when analyzing the data, they fall into the wrong interval.

Does it use binary representation for internal calculations?



#643 Hlib2

Hlib2

    Casio Freak

  • Members
  • PipPipPipPip
  • 142 posts
  • Gender:Male
  • Location:Ukraine
  • Interests:industrial electronics,
    graphing calculators

  • Calculators:
    fx-9860GII-2
    graph-100+
    fx-991DE_X
    ti-89_Titanium
    ti-voyage200
    ti-84+SE

Posted 09 July 2020 - 05:27 PM

Does it use binary representation for internal calculations?

It looks like it is. Here are examples of rounding (RndFix(N,2)) results in C.BASIC:
1.155➜1.16__1.325➜1.33__1.875➜1.88
2.155➜2.15__2.325➜1.32__2.875➜2.87
3.155➜3.16__3.325➜3.33__3.875➜3.87
4.155➜4.15__4.325➜4.32__4.875➜4.88

#644 Hlib2

Hlib2

    Casio Freak

  • Members
  • PipPipPipPip
  • 142 posts
  • Gender:Male
  • Location:Ukraine
  • Interests:industrial electronics,
    graphing calculators

  • Calculators:
    fx-9860GII-2
    graph-100+
    fx-991DE_X
    ti-89_Titanium
    ti-voyage200
    ti-84+SE

Posted 10 July 2020 - 07:25 PM

@Sentaro21
1) Debugging one of my programs, I encountered such a problem.
Rad:"5sin X"➝Y1
`#CBINT
0➝B:Y1(B)➝A
`#CBDBL
Disp "A%=",A%
result: A%=5 (incorrect)
The code "sin X" ➝Y1 produces an Syntax ERROR, because the trigonometric functions do not work in `#CBINT mode in entries like this. Adding of 5 removes the error, but runs as "5"➝Y1. With variables like fn, everything works correctly and without errors.
2) List 1+iList 2 - this has stopped working again (`#CBCPLX setting)

Edited by Hlib2, 10 July 2020 - 10:49 PM.


#645 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 369 posts
  • Gender:Male
  • Location:JAPAN

  • Calculators:
    FX-603P fx-4800P fx-5800P
    CFX-9850GC PLUS
    fx-9860G
    fx-9860GII
    fx-9860GII-2
    fx-9860GII-2 SD
    fx-CG10
    fx-CG20
    fx-CG50
    HP-Prime
    HP 50G
    TI-Nspire CX CAS
    TI-84+CE

Posted 11 July 2020 - 10:47 AM

@Hlib2
Sorry for late replay. :bow:
Thanks for bug report!
The reported bugs have been confirmed.
I'll fix it all together in the next update. ^_^
 

2) List 1+iList 2 - this has stopped working again (`#CBCPLX setting)

What kind of data is contained in List 1 and List 2?
 
 
@siealex

Does it use binary representation for internal calculations?

Yes.
It uses the SDK's floating point library. :)
 

 



#646 Hlib2

Hlib2

    Casio Freak

  • Members
  • PipPipPipPip
  • 142 posts
  • Gender:Male
  • Location:Ukraine
  • Interests:industrial electronics,
    graphing calculators

  • Calculators:
    fx-9860GII-2
    graph-100+
    fx-991DE_X
    ti-89_Titanium
    ti-voyage200
    ti-84+SE

Posted 11 July 2020 - 12:17 PM

@Sentaro21
Thank You for your concernment!

What kind of data is contained in List 1 and List 2?

 
`#CBDBL
Seq(√x,x,1,5,1)➝List 1.F
Seq(e^x,x,1,5,1)➝List 2.F
`#CBCPLX
5➝Dim List 3.C // **
List 1+iList 2➝List 3
After point // ** program changes the List type from C to F. Also, please check, if possible, fn with trigonometric functions in `#CBINT mode. In my "Bench C.BASIC" prog they sometimes have incorrect results in speed and in calculations. I would like to publish this program as soon as possible. But if I`ll add "Try~Except~TryEnd" blocks to it, it will take a long time again to finish.

Edited by Hlib2, 11 July 2020 - 12:21 PM.


#647 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 369 posts
  • Gender:Male
  • Location:JAPAN

  • Calculators:
    FX-603P fx-4800P fx-5800P
    CFX-9850GC PLUS
    fx-9860G
    fx-9860GII
    fx-9860GII-2
    fx-9860GII-2 SD
    fx-CG10
    fx-CG20
    fx-CG50
    HP-Prime
    HP 50G
    TI-Nspire CX CAS
    TI-84+CE

Posted 12 July 2020 - 12:20 PM

@Hlib2
Thanks!!
Both confirmed the bug. :)
 
As for the try command, please don't use it if you have a problem because it is not fully implemented. :bow:


#648 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 264 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:FPS games, C.Basic

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-991ESPLUS-2 (2023/12/22)
    fx-3650PII (2022/1/15)
    fx-9750GIII (2020/6/13)
    fx-9860G Slim (2024/2/27)
    fx-9860GIISD (2023/3/27)
    fx-9860GIISD-2 (2024/2/5)
    fx-CG20CN (2023/2/12)
    fx-CG50 (2023/10/23)

Posted 07 August 2020 - 08:06 AM

@Sentaro21 @Krtyski
Just a reminder of my messages in e-Gadget C.Basic CG development thread. (^^;

#649 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 264 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:FPS games, C.Basic

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-991ESPLUS-2 (2023/12/22)
    fx-3650PII (2022/1/15)
    fx-9750GIII (2020/6/13)
    fx-9860G Slim (2024/2/27)
    fx-9860GIISD (2023/3/27)
    fx-9860GIISD-2 (2024/2/5)
    fx-CG20CN (2023/2/12)
    fx-CG50 (2023/10/23)

Posted 10 August 2020 - 08:07 AM

Hi Sentaro21 and Krtyski

Suggestion 1

It seems like the Beep command is forked from the Send38k/Send command with specific values. And the latter command has interrupt option which can forcibly stop sending by pressing EXIT key. Can you also add an interrupt option to Beep command?

Syntax: Beep [<Frequency (Hz)>,<Duration (ms)>,<interruption (Getkey value/0)>]

New addition:<interruption (Getkey value/0)>
Stop outputting sound forcibly by pressing certain key.
If the value is 0, all keys can interrupt sound outputting.

Example 1: Beep 440,1000,31
Output 440Hz sound for 1 second, can be interrupted by EXE key.

Example 2: Beep 100,500,0
Output 100Hz sound for 0.5 second, can be interrupted by any key.

Suggestion 2

The ? command in C.Basic FX does not support Text coordinate even if @ is added in front of the xy.

Cheers
CalcLoverHK

Edited by CalcLoverHK, 14 August 2020 - 08:01 PM.


#650 Hlib2

Hlib2

    Casio Freak

  • Members
  • PipPipPipPip
  • 142 posts
  • Gender:Male
  • Location:Ukraine
  • Interests:industrial electronics,
    graphing calculators

  • Calculators:
    fx-9860GII-2
    graph-100+
    fx-991DE_X
    ti-89_Titanium
    ti-voyage200
    ti-84+SE

Posted 30 October 2020 - 01:43 PM

It is very strange that when playing the BEEP sound effect, the SH4 processor in CASIO calculators interrupts the execution of the main calculation program. This looks perfectly normal for a $5 Tetris-type pocket toy. But for the SH4 processor in such a complex device as a graphical calculator, there is no justification for this in dynamic programs. I made a board of six medium-integration CMOS chips (late-1970s technology from TI), which partially solves this problem at the hardware level. The BEEP(M, N) signal at the output is interpreted as a sound effect code if M=1000 and N≤8. If M=1000 and N=1...8, the sound effect is played according to the code N with a delay for the time of the BEEP(1000,N) command t<0.01_sec without the interruption of a program for BEEP effect. If N>8 or M≠1000 - the signal from the program is played back with a delay for the duration of the BEEP command. The circuit consumption in sleep mode is not more than 5_µa. Making a block that fits in the calculator case exceeds the cost of $200. In my first attempt, an error occurred with the size of the capacitor. This resulted in the board being deformed, the conductive layer being destroyed, and the calculator being thrown into the trash:
32130391_m.jpg
The next attempt was successful, but now it exceeds the cost of the calculator by 5...10 times, as new options have been introduced: sound volume and the "key press sound" function.
If I were a programmer, this solution would be more efficient :-)

Edited by Hlib2, 30 October 2020 - 04:22 PM.


#651 HappyCalc

HappyCalc

    Casio Addict

  • Members
  • PipPipPip
  • 67 posts
  • Gender:Male
  • Location:Germany
  • Interests:Programming, On-Calc Programming(C.Basic), Gaming, Origami, Eating Chocolate

  • Calculators:
    fx-9860GII-2
    fx-CG50

Posted 31 October 2020 - 12:32 PM

Hello! I'm new in this forum, but I have already read this topic as a guest.
@sentaro21
I really like this Addin, because you can program things oncalc.
So, I have some ideas:

1)
I have made a Program to set the Background Light level on an fx-9860GII-2 calculator (using PWM):
'Name: PWM
Local a,b
Ticks+a->a
While a-Ticks>0
b>0=>BackLight 1
Ticks%Wait b
b<100=>BackLight 0
Ticks%Wait 100-b
WhileEnd
Variable a are how many Ticks, PWM will run.
Variable b is the Backlight level (0-100)
The Problem of this solution is that if you use heavy calculations between calling "PWM", the Backlight starts to flicker.
My question is, could you enhance "BackLight" to allow inputting a BackLigt level?

2)
Could you enhance Gosub/Label, so you can pass also List/Mat/String like this:
GoFunc,_TEST,10,Mat A,Str 5
Stop
Func _TEST,a,Mat x,Str 1
Locate 1,1,Str 1
Mat x×a->Mat x
FuncEnd,Mat x
Thanks! :D
(Edit: BB-Code working)

Edited by HappyCalc, 16 December 2020 - 07:03 PM.


#652 HappyCalc

HappyCalc

    Casio Addict

  • Members
  • PipPipPip
  • 67 posts
  • Gender:Male
  • Location:Germany
  • Interests:Programming, On-Calc Programming(C.Basic), Gaming, Origami, Eating Chocolate

  • Calculators:
    fx-9860GII-2
    fx-CG50

Posted 31 October 2020 - 12:50 PM

Oh, does anyone now, how to make line breaks inside BBCode "code"-Tag? In my post, a normal line break doesn't work.
(Edit: Problem solved. The preview mode removes line breaks in code)

Edited by HappyCalc, 16 December 2020 - 07:07 PM.


#653 HappyCalc

HappyCalc

    Casio Addict

  • Members
  • PipPipPip
  • 67 posts
  • Gender:Male
  • Location:Germany
  • Interests:Programming, On-Calc Programming(C.Basic), Gaming, Origami, Eating Chocolate

  • Calculators:
    fx-9860GII-2
    fx-CG50

Posted 14 November 2020 - 09:34 AM

Hello Sentaro21 and Krtyski
I found a bug:
1. Write some numbers to a List
2. Set display mode to x,y
3. Copy List Shift8
-> Only One item was copied
Another Bug:
1. Create a Program that returns a value
2.
If Prog "xyz"
Then "Yes"
Else "No"
IfEnd
Results in Syntax Eroor at line 1

Edited by HappyCalc, 14 November 2020 - 09:35 AM.


#654 Hlib2

Hlib2

    Casio Freak

  • Members
  • PipPipPipPip
  • 142 posts
  • Gender:Male
  • Location:Ukraine
  • Interests:industrial electronics,
    graphing calculators

  • Calculators:
    fx-9860GII-2
    graph-100+
    fx-991DE_X
    ti-89_Titanium
    ti-voyage200
    ti-84+SE

Posted 14 November 2020 - 04:19 PM

@ HappyCalc
Why make it so difficult?
Prog "xyz":If Ans:Then "Yes":Else "No":IfEnd
But if you really want the program to act as a variable,
then this is also possible:
Prog "xyz"➝_xyz:If _xyz:Then "Yes":Else "No":IfEnd

I have made a Program to set the Background Light level on an fx-9860GII-2 calculator

The 9860gii uses an Electro Luminescent backlight with a separate driver. The calculator software does not have access to smooth control the parameters of this driver, except for turning it on and off. I`m afraid that adjusting the backlight in your way may eventually lead the DC/AC converter to malfunction before the intended service life.

Edited by Hlib2, 15 November 2020 - 02:51 PM.


#655 HappyCalc

HappyCalc

    Casio Addict

  • Members
  • PipPipPip
  • 67 posts
  • Gender:Male
  • Location:Germany
  • Interests:Programming, On-Calc Programming(C.Basic), Gaming, Origami, Eating Chocolate

  • Calculators:
    fx-9860GII-2
    fx-CG50

Posted 25 November 2020 - 02:18 PM

@Hlib2
Thanks, I just forgot the use of Ans Variable
The Background was the use of a Program similar to IsKeyDown()
I used it in my games to detect multi keypress eg. Left and Up -> diagonal up
--
Does anyone know, how to use StrSplit()?
StrSplit("hello world it's an example", " ")->Str 1
Returns the first element "hello"
Otherwise I would use StrSrc() and StrMid()
Thanks!
:D

#656 piu58

piu58

    Casio Freak

  • Members
  • PipPipPipPip
  • 147 posts
  • Gender:Male

  • Calculators:
    Casio Graph 90+E, Casio fx-CG20

Posted 26 February 2021 - 04:26 PM

Dear Sentaro, maybe I found another mistake.

 

I need that what in Python or C++ is the atan2 function. This is Pol(x,y) in fx Basic. The result is a list. I need the angle form that list.

I may use

Pol(x,y)-> List 1
List 1[1]->A

This works, if I use the standard setting, which is Matrix base 1. I prefer to use Matrix base 0, because this is what I have in my C based programming languages. With that setting, the results in List 1 are zero.

Of course, I can work with '#Mat1 to make a lokal setting of index 1 for a particular program. But then I have to use all indices from 1 in that prog.

I know that lists are not supported to the same degree matrices are. But I did not find a way to put the Pol()-result in a matrix.

 

May be, there is another function in C.Basic which calculated the angle correctly. Atan does not, the result is only in two of the four quadrants.

 

I tried this at my cg20 and used the version v1.45ß . This should be the newest one.


Edited by piu58, 26 February 2021 - 04:48 PM.


#657 Hlib2

Hlib2

    Casio Freak

  • Members
  • PipPipPipPip
  • 142 posts
  • Gender:Male
  • Location:Ukraine
  • Interests:industrial electronics,
    graphing calculators

  • Calculators:
    fx-9860GII-2
    graph-100+
    fx-991DE_X
    ti-89_Titanium
    ti-voyage200
    ti-84+SE

Posted 26 February 2021 - 06:13 PM

@ piu58

This works, if I use the standard setting, which is Matrix base 1. I prefer to use Matrix base 0, because this is what I have in my C based programming languages

In fact, it looks like a mockery of the creators of C.BASIC. If you program in C, you can easily fix this problem using the programming language. Haven`t you noticed much worse bugs in C.BASIC? However, they are fixed by the means of C.BASIC itself and allow you to continue working.

Edited by Hlib2, 26 February 2021 - 06:46 PM.


#658 Hlib2

Hlib2

    Casio Freak

  • Members
  • PipPipPipPip
  • 142 posts
  • Gender:Male
  • Location:Ukraine
  • Interests:industrial electronics,
    graphing calculators

  • Calculators:
    fx-9860GII-2
    graph-100+
    fx-991DE_X
    ti-89_Titanium
    ti-voyage200
    ti-84+SE

Posted 26 February 2021 - 07:11 PM

@Sentaro21
What happened to the updates for C.BASIC? I worry more about Sentaro than about this CASIO calculator app.
In general, C.BASIC doesn`t need to be complicated. I would remove from this application about 40% of the unnecessary code that takes up the memory of the calculator and creates an extra load on the CPU, and would stop there. Functions like Graph, Table, for example, are absolutely unnecessary, since they are perfectly implemented in CASIO-BASIC. I would leave only the graphical routines associated with the Plot and Pxl operators. It is desirable to organize the compatibility of results with variables in CASIO-BASIC. You should add a quick navigation for a list of the "function" type and make a list of variables of the Yn type at least for viewing.
Of course, it would be better to leave the latest version v2. 45. 20 as it is. It is easier to adapt to bugs and limitations than to constantly adjust yourself to various changes, which, in fact, only complicate the use of calculators in the C BASIC application.
I finally gave up on the new versions of the wonderful application "free_DM-42", because a constant study of new implementations of old ideas (which have long been implemented on other platforms) my employer doesn`t pay.

#659 piu58

piu58

    Casio Freak

  • Members
  • PipPipPipPip
  • 147 posts
  • Gender:Male

  • Calculators:
    Casio Graph 90+E, Casio fx-CG20

Posted 27 February 2021 - 09:27 AM

Sentara was last seen here in September.

For all others: I found a solution.

Pol(x,y) 

stores the result in Mat Ans. You may separate

Mat Ans [1] -> R
Mat Ans [2]-> A (ngle)

The indices 1 and 2 do not depend on the setting for matrices with  '#Mat or the setup, it remains always the same.


Edited by piu58, 27 February 2021 - 09:27 AM.


#660 r0773n

r0773n

    Newbie

  • Members
  • Pip
  • 7 posts
  • Gender:Male

  • Calculators:
    Hacked fx-9750GII-2 (9860GII OS)

Posted 04 March 2021 - 09:18 AM

hi,

how do you use the SysCall and call functions? the manual isnt too clear here 

i cant get anything other than an error or restart the calc. Is this for starting .g1m programs, or add-ins, or what?

Ive tryed the manual's examples but no luck :/



#661 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 264 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:FPS games, C.Basic

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-991ESPLUS-2 (2023/12/22)
    fx-3650PII (2022/1/15)
    fx-9750GIII (2020/6/13)
    fx-9860G Slim (2024/2/27)
    fx-9860GIISD (2023/3/27)
    fx-9860GIISD-2 (2024/2/5)
    fx-CG20CN (2023/2/12)
    fx-CG50 (2023/10/23)

Posted 04 March 2021 - 09:35 AM

Jeez, three months since my last message here. I am busy working on my youtube channel (gaming btw) so I put down all the calc things for a long while.

 

What happened to the updates for C.BASIC? I worry more about Sentaro than about this CASIO calculator app.

 

Hmm, the last time I saw him was on August last year in e-Gadget blog. He said he was super busy and couldn't work on C.Basic for now. (https://egadget.blog...tml#comment5476)

 

hi, got some questions about the execute funtions (SysCall, Call) - i cannot get these to do anything than an error or restart the calc. Are these for running programs, add-ins or what? I have read the manual, and i tried the examples but they dont work.

can anyone explain what they do and how to use them?

(im using the latest version)

 

SysCall calls the internal commands of SuperH (SH3/SH4A) architecture that are only useful under very specific circumstances and could damage your calculator if improperly handled. You should probably read the whole SuperH manual which is included in fx-9860G SDK package before playing around with Syscall.


Edited by CalcLoverHK, 04 March 2021 - 04:41 PM.


#662 r0773n

r0773n

    Newbie

  • Members
  • Pip
  • 7 posts
  • Gender:Male

  • Calculators:
    Hacked fx-9750GII-2 (9860GII OS)

Posted 04 March 2021 - 12:47 PM

@CalcLoverHK

ahh ok, thanks. ill probably stay away from that then lol. does Call( do a similar thing?


Edited by r0773n, 04 March 2021 - 12:50 PM.


#663 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 264 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:FPS games, C.Basic

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-991ESPLUS-2 (2023/12/22)
    fx-3650PII (2022/1/15)
    fx-9750GIII (2020/6/13)
    fx-9860G Slim (2024/2/27)
    fx-9860GIISD (2023/3/27)
    fx-9860GIISD-2 (2024/2/5)
    fx-CG20CN (2023/2/12)
    fx-CG50 (2023/10/23)

Posted 04 March 2021 - 04:40 PM

@CalcLoverHK

ahh ok, thanks. ill probably stay away from that then lol. does Call( do a similar thing?

 

Yes, probably. ;)



#664 Hlib2

Hlib2

    Casio Freak

  • Members
  • PipPipPipPip
  • 142 posts
  • Gender:Male
  • Location:Ukraine
  • Interests:industrial electronics,
    graphing calculators

  • Calculators:
    fx-9860GII-2
    graph-100+
    fx-991DE_X
    ti-89_Titanium
    ti-voyage200
    ti-84+SE

Posted 06 March 2021 - 04:34 PM

CalcLoverHK wrote on 04 March 2021 - 12:35 PM:

Hmm, the last time I saw him was on August last year in e-Gadget blog. He said he was super busy and couldn`t work on C.Basic for now.

Thank you for the information. Sometimes I have to go back to work at my old program after a break of several months. I look through my old code and ask myself: I have written such complex things, and how could I understand all this codes now? :-)
It seems to me that we will not see the new versions anymore. IMO, even at this stage, this is the best emulation of the BASIC calculator for the entire existence of minicomputers with the CASIO-BASIC programming language.

Edited by Hlib2, 06 March 2021 - 04:54 PM.

  • piu58 likes this

#665 MJim

MJim

    Casio Fan

  • Members
  • PipPip
  • 47 posts
  • Gender:Male

  • Calculators:
    Casio ClassPad 300 Plus
    Casio fx-CG50
    Casio fx-9750GII SH4
    Casio fx-9750GA Plus
    Casio fx-7000G
    Casio fx-3650PII
    Casio fx-3650P
    Casio fx-3600PV
    Casio fx-50F
    Casio fx-991EX
    Casio fx-991MS 2nd Edition
    Casio fx-95MS
    Casio fx-82MS
    Casio fx-100D
    Casio fx-550S
    Casio fx-82AU Plus II
    Casio fx-82(original version),82SX,82LB
    HP-49G+
    Sharp El-W516X
    Sharp EL-506P (+1 clone)

Posted 24 March 2021 - 12:47 AM

It seems to me that we will not see the new versions anymore. IMO, even at this stage, this is the best emulation of the BASIC calculator for the entire existence of minicomputers with the CASIO-BASIC programming language.

Hopefully this isn't forever, but in addition to his excellent CBasic his overclocking tools are very well made.  CBasic & Ftune have added much value to my Casio calculators over the years!

 

The implementation of the Seq function seems so much better to use in CBasic then RUN-MATRIX mode.  For example to calculate the earths diminishing gravity over roughly a light second using 3km intervals:

6.6743x10^-11*5.972x10^24*Seq(1/X^2, X, 6.371x10^6, 306,371,000 3x10^3)

On the fx-CG50 at stock speeds it takes 13.3 seconds to generate a massive 100k value table.  That is ~7.3k calculations per second, which can be further improved using his overclocking tools to reduce this to 7.68 seconds or 13k calculations per second.  These table sizes are only possible due to the addtional memory that CBasic gives access to (~1.7MB of RAM on the CG50, ~250KB on the fx-9750GII). 

 

I look through my old code and ask myself: I have written such complex things, and how could I understand all this codes now? :-)

While I don't consider myself a programmer, I have done a couple of introductory computer science courses which focused primarily on Python.  When I do look back at my old programs I wonder the very same thing, how on earth did I manage to write something like that!
 



#666 Hlib2

Hlib2

    Casio Freak

  • Members
  • PipPipPipPip
  • 142 posts
  • Gender:Male
  • Location:Ukraine
  • Interests:industrial electronics,
    graphing calculators

  • Calculators:
    fx-9860GII-2
    graph-100+
    fx-991DE_X
    ti-89_Titanium
    ti-voyage200
    ti-84+SE

Posted 27 March 2021 - 07:22 PM

@MJim

C.Basic & Ftune have added much
value to my Casio calculators over the years!

HP tried to make a quick calculator in 2012 (hp-39gii), but they didn`t succeed. Sentaro21 was the first to do this in the best possible way. I now always use C.BASIC, even when creating programs for Graph25 or for fx-9750g+. It seems to me that several programmers participated in the creation of C.BASIC, since the source code is written in different styles.

#667 HappyCalc

HappyCalc

    Casio Addict

  • Members
  • PipPipPip
  • 67 posts
  • Gender:Male
  • Location:Germany
  • Interests:Programming, On-Calc Programming(C.Basic), Gaming, Origami, Eating Chocolate

  • Calculators:
    fx-9860GII-2
    fx-CG50

Posted 07 April 2021 - 06:00 PM

hi,

how do you use the SysCall and call functions?

I found a list of SysSalls by SimLo here: https://bible.planet...cy_syscalls.htm

And here some documentation about them: https://bible.planet.../simlo/chm/v20/

SysCalls are not dangerous as lang as you don't try random Syscalls.

 

Hope it helps,

HappyCalc

 

EDIT:

SysCalls CAN be dangerous if you use them wrong. Some SysCalls may delete some Data. But rather your Calc will crash and restart if you used them wrong.

In C.Basic you can use them like this:

(I used Date Dialog for example -> see https://bible.planet..._legacy_AUX.htm for information)

'Set List Index to 0
'#Mat 0

'Initialize Int/Long (32-Bit) List for Output
3->Dim List 1.L

'Initialize Int/Long (32-Bit) List for Input Arguments
'It needs to contain 0 and 0x7545, otherwise it may crash
{0, 0x7545}->List 2.L

'Run SysCall and passing Pointers as Arguments
SysCall(0xD64,&List 1[0],&List 1[1],&List 1[2],&List 2)

'Show result
"Day"
Disp List 1[0]
"Month"
Disp List 1[1]
"Year"
Disp List 1[2]

You need to use the specific Type for the Syscall. I prefer List or Mat, since you can set their Element Size.

You need Long List for int, Byte List for char and Double List for double variable types.

HappyCalc  :D


Edited by HappyCalc, 07 April 2021 - 07:48 PM.


#668 Krtyski

Krtyski

    Casio Freak

  • Members
  • PipPipPipPip
  • 132 posts
  • Gender:Male
  • Location:Tokyo, Japan
  • Interests:programming, smooth Jazz and 4-wheel driving.

  • Calculators:
    FX-502P, FX-602P, FX-603P,
    fx-4000P, fx-7000G,
    fx-4500P, fx-4800P
    fx-5800P,
    CFX-9850G,
    CFX-9850GC PLUS
    fx-9860G,
    fx-9860G AU,
    fx-9860G Slim
    fx-9860GII SD,
    fx-9860GII-2,
    fx-9860GII-2 SD,
    fx-CG20, fx-CG50,
    fx-CP400
    fx-9860GIII
    fx-9750GIII
    fx-7400GIII

Posted 27 June 2021 - 10:23 AM

I've not had get any contact with Senrato21 for a last couple of months.

Could anyone tell me if he is found at anywhere in cyber space?

 

Anyway I've just updated Conway's Game of Life that runs on C.Basic with wide variety of Casio graphing calc.

 

Conway's Game of Life


Edited by Krtyski, 28 June 2021 - 12:39 AM.

  • Krtyski likes this

#669 piu58

piu58

    Casio Freak

  • Members
  • PipPipPipPip
  • 147 posts
  • Gender:Male

  • Calculators:
    Casio Graph 90+E, Casio fx-CG20

Posted 28 June 2021 - 04:00 PM

I mailed him a few times and even wrote again a b/w postcard from own lab which he enjoyed in the past. I got no answer. Probably he has other projects at the moment.



#670 Hlib2

Hlib2

    Casio Freak

  • Members
  • PipPipPipPip
  • 142 posts
  • Gender:Male
  • Location:Ukraine
  • Interests:industrial electronics,
    graphing calculators

  • Calculators:
    fx-9860GII-2
    graph-100+
    fx-991DE_X
    ti-89_Titanium
    ti-voyage200
    ti-84+SE

Posted 27 July 2021 - 08:19 PM

In July 2020, there were terrible floods in Japan. Around that time, Sentero21 disappeared. Perhaps these events are correlated.
I have always been surprised by the fact that no disasters could stop the technological progress in this country. Japan experienced the most powerful bombing in history during the 03...08 - 1945. Before Hiroshima and Nagasaki, in the spring and summer of 1945, more than 50 major cities in Japan were destroyed, as well as Tokyo. My grandfather wore a 1929 seiko watch (this is my first acquaintance with Japanese technology) and bought household appliances in Tokyo in the 50s, when SONY was the very first company to introduce a semiconductor transistor into its products. My radio receiver with excellent characteristics from HITACHI has worked for more than 40 years without a single repair. When I disassembled this unit after several years of leaking batteries, I discovered an interesting physical phenomenon: the springs under the negative contact had a sequential color from red to purple in a spiral, repeating all the colors of the rainbow.
Long live JAPAN!

Edited by Hlib2, 28 July 2021 - 02:50 PM.


#671 Krtyski

Krtyski

    Casio Freak

  • Members
  • PipPipPipPip
  • 132 posts
  • Gender:Male
  • Location:Tokyo, Japan
  • Interests:programming, smooth Jazz and 4-wheel driving.

  • Calculators:
    FX-502P, FX-602P, FX-603P,
    fx-4000P, fx-7000G,
    fx-4500P, fx-4800P
    fx-5800P,
    CFX-9850G,
    CFX-9850GC PLUS
    fx-9860G,
    fx-9860G AU,
    fx-9860G Slim
    fx-9860GII SD,
    fx-9860GII-2,
    fx-9860GII-2 SD,
    fx-CG20, fx-CG50,
    fx-CP400
    fx-9860GIII
    fx-9750GIII
    fx-7400GIII

Posted 31 July 2021 - 07:29 AM

Hi Hlib2

 

The terrible floods you mentioned severely damaged south area of Japan (Kyushu island). Some other area in main island of Japan was also damaged but not so catastrophic as far as I know. To be honest I never linked this with disappearance of sentaro21, but now I realize this might be a possibility.

 

Last online communication with sentaro21 was on 15th August 2020 in my blog. If he was suffered from any event by the floods, supposedly he would say or at least imply something about some trouble on him by the last communication. But I have to take this possibility into account. Internet service of his internet domain actually covers in west and south Japan. I realize this now. sigh...

 

I've never met with him off line, and don't know his real name, age, occupation, where he lives.  This is very normal to me since I've started online communication in 90's. He is one of my best friends but only on line. It was good enough to me before current situation.

 

I used to meet very few of my online friends in Japan, Germany, USA, Canada, etc. (I had chances of business trip not only in Japan but also to west Europe, north America and some Asian countries.) I still travel USA, Canada and Germany once a year or two before pandemic of COVID-19. Unfortunately I've had no chance to meet him yet.


  • Hlib2 likes this

#672 HappyCalc

HappyCalc

    Casio Addict

  • Members
  • PipPipPip
  • 67 posts
  • Gender:Male
  • Location:Germany
  • Interests:Programming, On-Calc Programming(C.Basic), Gaming, Origami, Eating Chocolate

  • Calculators:
    fx-9860GII-2
    fx-CG50

Posted 05 September 2021 - 11:25 AM

I don't think he suffered from the floods. He was last online here 18/9/2020. The floods were in july 2020. I think there is another problem. Maybe he had problems with his internet provider or he has personal problems.
When was he last seen on other forums (like casiopeia)? I don't have an account on them.

Edited by HappyCalc, 05 September 2021 - 11:32 AM.


#673 Hlib2

Hlib2

    Casio Freak

  • Members
  • PipPipPipPip
  • 142 posts
  • Gender:Male
  • Location:Ukraine
  • Interests:industrial electronics,
    graphing calculators

  • Calculators:
    fx-9860GII-2
    graph-100+
    fx-991DE_X
    ti-89_Titanium
    ti-voyage200
    ti-84+SE

Posted 10 September 2021 - 07:48 PM

Well, we will consider this project completed.
The latest version 2.45/20, IMO, is quite functional, stable, although it has lost about 10...25 percent at speed in some functions compared to the best indicators in previous versions (look for my "Benchmark for CBASIC" in this forum). But the number of bugs has decreased. If CASIO had not abandoned some of its best calculators (afx-2.0+/graph-100+, fx-9750g+, fx-9860G Slim/9860GII-2, fx-CG50) and continued to improve them (as Texas Instruments did with its TI-83+, TI-89 Titanium, TI-v200 and Graph89.apk, which are even currently available in huge quantities), it would make sense to spend effort to continue work on some great programs for CASIO.
For me, CBASIC is the most convenient application for writing and debugging various programs for CASIO graphic calculators, since I constantly use them in my work (starting from trading in a supermarket and ending with the development of a complex technical product for preliminary tests before commissioning). At a minimum, CBASIC in the calculator saves battery costs and personal time tenfold in complex calculations.
I especially liked Graph-100+/afx-2.0+ due to the presence of 144kB RAM. This is very necessary for complex calculations with matrices in the field of complex numbers. Thank God, CBASIC exceeds the standard limits of 64kB RAM in CASIO for computing with huge amounts of data.

#674 piu58

piu58

    Casio Freak

  • Members
  • PipPipPipPip
  • 147 posts
  • Gender:Male

  • Calculators:
    Casio Graph 90+E, Casio fx-CG20

Posted 12 September 2021 - 06:26 PM

The latest version 2.45/20

 

I use this version too (1.45-20 for cg-20/cg-50) , and I did not find any errors. That was a very cool thing, writing such a program. I have two fx-CG-20 which I use regularly. I love that you can write real, well structured  programs at a pocket calculator.



#675 HappyCalc

HappyCalc

    Casio Addict

  • Members
  • PipPipPip
  • 67 posts
  • Gender:Male
  • Location:Germany
  • Interests:Programming, On-Calc Programming(C.Basic), Gaming, Origami, Eating Chocolate

  • Calculators:
    fx-9860GII-2
    fx-CG50

Posted 31 October 2021 - 08:34 AM

I would consider C.Basic still as beta. Since I'm using it every day, I stumblered across many bugs. Some big bugs that I remember are:
Instability of GoSub and Prog:
- If you Prog while in a Subroutine, strange behaviour occures.
- DoLpWhile 1 hangs the calc while Do<enter>LpWhile 1 not
- On cg-50 save and load only carries 4096 bytes
- A very few times C.Basic also crashed in the menu or the editor

I'm now using many syscalls that are speeding C.Basuc up incredibly.

C.Basic is a very powerful tool for programming and has moch more potential. If sentaro21 doesn't come back maybe some other developers could continue working on it.

#676 yuuki410

yuuki410

    Newbie

  • Members
  • Pip
  • 3 posts
  • Gender:Not Telling
  • Location:China

  • Calculators:
    fx-9860GIII

Posted 11 November 2021 - 02:13 PM

@Sentaro21

I found an bug, it caused me in trouble.

 

Press the Shift key when executing the following code on fx-9860GIII module:

Getkey1

Then press the left or right arrow, it will have the same effect as the Contrast setting.

 

And I can't edit or delete files in Storage Memory now, neither Reset nor Reset1 works.
Fortunately, my calculator can be connected to my computer to back up the files.

Oh, I found that when I try to connect it to computer, it tells me: "Data conversion failed"


Edited by yuuki410, 11 November 2021 - 02:17 PM.


#677 piu58

piu58

    Casio Freak

  • Members
  • PipPipPipPip
  • 147 posts
  • Gender:Male

  • Calculators:
    Casio Graph 90+E, Casio fx-CG20

Posted 12 November 2021 - 06:10 AM

Sentaro does not read her anymore. I assume you have to live with the errors in C.Basic.



#678 HappyCalc

HappyCalc

    Casio Addict

  • Members
  • PipPipPip
  • 67 posts
  • Gender:Male
  • Location:Germany
  • Interests:Programming, On-Calc Programming(C.Basic), Gaming, Origami, Eating Chocolate

  • Calculators:
    fx-9860GII-2
    fx-CG50

Posted 12 November 2021 - 07:47 AM

Press the Shift key when executing the following code on fx-9860GIII module:

Getkey1
Then press the left or right arrow, it will have the same effect as the Contrast setting.
That is not caused by C.Basic. That works almost everywhere when the system awaits a keypress. => When you can press Shift-Off or menu you can also change contrast using shift.

And I can't edit or delete files in Storage Memory now, neither Reset nor Reset1 works.
Fortunately, my calculator can be connected to my computer to back up the files.
Oh, I found that when I try to connect it to computer, it tells me: "Data conversion failed"

Oh, that doesn't seem good. Look here:
https://community.ca...iii/#entry63959
  • yuuki410 likes this

#679 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 369 posts
  • Gender:Male
  • Location:JAPAN

  • Calculators:
    FX-603P fx-4800P fx-5800P
    CFX-9850GC PLUS
    fx-9860G
    fx-9860GII
    fx-9860GII-2
    fx-9860GII-2 SD
    fx-CG10
    fx-CG20
    fx-CG50
    HP-Prime
    HP 50G
    TI-Nspire CX CAS
    TI-84+CE

Posted 09 October 2023 - 03:31 AM

Hi all,
 
I'm truly sorry about my late response. :bow:
I have been going through a lot of difficulties over the past few years, but things have calmed down a bit.
I'll not be able to return to my previous pace immediately, but will gradually.
 
At first,I'll be fixing fatal bugs in C.Basic.
To do so,I'll check that fatal bug.
 
Thank you very much all for your support. :bow:


#680 Krtyski

Krtyski

    Casio Freak

  • Members
  • PipPipPipPip
  • 132 posts
  • Gender:Male
  • Location:Tokyo, Japan
  • Interests:programming, smooth Jazz and 4-wheel driving.

  • Calculators:
    FX-502P, FX-602P, FX-603P,
    fx-4000P, fx-7000G,
    fx-4500P, fx-4800P
    fx-5800P,
    CFX-9850G,
    CFX-9850GC PLUS
    fx-9860G,
    fx-9860G AU,
    fx-9860G Slim
    fx-9860GII SD,
    fx-9860GII-2,
    fx-9860GII-2 SD,
    fx-CG20, fx-CG50,
    fx-CP400
    fx-9860GIII
    fx-9750GIII
    fx-7400GIII

Posted 09 October 2023 - 01:43 PM

Hi, sentaro21

 

Welcome back!

 

Please take your time until your surroundings are settled. 


Edited by Krtyski, 09 October 2023 - 01:43 PM.




Also tagged with one or more of these keywords: Casio Basic C.Basic

2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users