Jump to content



Photo
* * * * * 4 votes

C.Basic - International Release

Casio Basic C.Basic

  • Please log in to reply
648 replies to this topic

#521 acapde

acapde

    Newbie

  • Members
  • Pip
  • 10 posts

Posted 10 December 2019 - 03:57 PM

Hi sentaro21

 

Gauss-Cronrod has week point with periodical function.

Please check out following article;

https://egadget.blog...icFunc_Integral

 

This is in Japanese, so you are OK, but for anyone else please use Google translation.

 

Hi Krtyski,

 

Unfortunately all numerical integration approximations have some weak points, especially when there are discontinuities or even periodicity, that's why it's required to do some prior analysis of the function to be numerically integrated, In the case  of periodic functions it's possible to limit the integration to the area of one period (keeping in mind any change of sign) and then multiply the result by the number of periods.

 

In my tests Gauss-Kronrod Quadrature is the most robust algorithm for almost every situation and that's probably the reason TI and Casio are using it. I will try to post a Romberg algorithm version tomorrow, Romberg has been traditionally used by HP and it works well for any well-behaved function but not as robust as Gauss-Kronrod in some tricky situations.

 

Stay tuned.

Thanks!



#522 acapde

acapde

    Newbie

  • Members
  • Pip
  • 10 posts

Posted 10 December 2019 - 10:02 PM

Here it is....

 

Romberg Integration method
Ported from HP41 PPC ROM/Module
 
Before running ROMBERG, the function must be loaded as a program, similar to this:
 
Filename:FX
sin X→X
Return
 
 
 
 
'ProgramMode:RUN
"A"?->A /Lower limit
"B"?->B /Upper limit
"Accuracy"?->E% /this is the minimum number of decimal places of accuracy / precision. 1 means 1 dec place, 2 means two and so on.
/Typical results are far better than this minimum threshold 
E%+1->E%
0->D% /if D% = 0 then no intermediate results are shown, if not 0 then they are shown
(B-A)/4->P
(B+A)/2->Q
{12,1}->Dim Mat A
0->O
0->K
0->Mat A[1,1] /Not mandatory but I put it here for clarity
(-)1->I%
Do
For I%->Z% To 0
1->S
2->N
2^(-)K->T
T*N->N
T-1->L
Do
S-L^<2>->M
(M+2)*L*P+Q->X
Prog "FX"
(X*M)+O->O
L+N->L
LpWhile L<1
K->M
1->L
K+1->K
1->U
O*P*1.5*N->T
Do
U*4->U
Mat A[L,1]->S
T->Mat A[L,1]
((T-S)/(U-1))+Mat A[L]->T
L+1->L
L>12=>Goto 4 /I know, this is ugly, it's there as a (temporary ;) emergency exit if enough convergence is not reached, it can be replaced by an error routine
M-1->M
LpWhile M>0
T->Mat A[L]
Next
0->I%
If D%<>0 Then    /these 3 lines are optional, it just displays intermediate results if D<>0
Disp TDisps
IfEnd
LpWhile RndFix(T,Sci E%)<>RndFix(S,Sci E%) /this checks if the desired accuracy has been reached.
Lbl 4
"IG="
T
Return 


#523 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 December 2019 - 07:24 AM

@Krtysk
@acapde
Thanks! :D
I would like to be able to select two methods from the perspective of accuracy. ^_^
 
by the way,
This is the Kronrod program from @acapde, but the accuracy of the Gauss21 results is remarkably poor, but is there something wrong?
 
[FX]:sin X->X
A:0
B:1
Accurate :0.4596976941
Gauss21  :0.4455341995
Kronrod51:0.4596976941
 
'ProgramMode:RUN
'KRONROD
10->N
'Number of subintervals
"A"?->A
'Lower limit
"B"?->B
'Upper limit
'Load 64 nodes and weights
{64,1}->Dim Mat A
1.231760537267155E-1->Mat A[1]
6.158081806783294Exp(-)2->Mat A[2]
6.147118987142532Exp(-)2->Mat A[3]
6.154448300568508Exp(-)2->Mat A[4]
1.222424429903100Exp(-)1->Mat A[5]
6.112850971705305Exp(-)2->Mat A[6]
1.228646926107104Exp(-)1->Mat A[7]
6.053945537604586Exp(-)2->Mat A[8]
1.837189394210489Exp(-)1->Mat A[9]
1.194557635357848Exp(-)1->Mat A[10]
5.972034032417406Exp(-)2->Mat A[11]
2.438668837209884Exp(-)1->Mat A[12]
5.868968002239421Exp(-)2->Mat A[13]
3.030895389311078Exp(-)1->Mat A[14]
1.148582591457116Exp(-)1->Mat A[15]
5.743711636156783Exp(-)2->Mat A[16]
3.611723058093878Exp(-)1->Mat A[17]
5.595081122041232Exp(-)2->Mat A[18]
4.178853821930377Exp(-)1->Mat A[19]
1.085196244742637Exp(-)1->Mat A[20]
5.425112988854549Exp(-)2->Mat A[21]
4.730027314457150Exp(-)1->Mat A[22]
5.236288580640748Exp(-)2->Mat A[23]
5.263252843347192Exp(-)1->Mat A[24]
1.005359490670506Exp(-)1->Mat A[25]
5.027767908071567Exp(-)2->Mat A[26]
5.776629302412230Exp(-)1->Mat A[27]
4.798253713883671Exp(-)2->Mat A[28]
6.268100990103174Exp(-)1->Mat A[29]
9.102826198296365Exp(-)2->Mat A[30]
4.550291304992179Exp(-)2->Mat A[31]
6.735663684734684Exp(-)1->Mat A[32]
4.287284502017005Exp(-)2->Mat A[33]
7.177664068130844Exp(-)1->Mat A[34]
8.014070033500102Exp(-)2->Mat A[35]
4.008382550403238Exp(-)2->Mat A[36]
7.592592630373576Exp(-)1->Mat A[37]
3.711627148341554Exp(-)2->Mat A[38]
7.978737979985001Exp(-)1->Mat A[39]
6.803833381235692Exp(-)2->Mat A[40]
3.400213027432934Exp(-)2->Mat A[41]
8.334426287608340Exp(-)1->Mat A[42]
3.079230016738749Exp(-)2->Mat A[43]
8.658470652932756Exp(-)1->Mat A[44]
5.490469597583519Exp(-)2->Mat A[45]
2.747531758785174Exp(-)2->Mat A[46]
8.949919978782754Exp(-)1->Mat A[47]
2.400994560695322Exp(-)2->Mat A[48]
9.207471152817016Exp(-)1->Mat A[49]
4.093915670130631Exp(-)2->Mat A[50]
2.043537114588284Exp(-)2->Mat A[51]
9.429745712289743Exp(-)1->Mat A[52]
1.684781770912830Exp(-)2->Mat A[53]
9.616149864258425Exp(-)1->Mat A[54]
2.635498661503214Exp(-)2->Mat A[55]
1.323622919557168Exp(-)2->Mat A[56]
9.766639214595175Exp(-)1->Mat A[57]
9.473973386174152Exp(-)3->Mat A[58]
9.880357945340772Exp(-)1->Mat A[59]
1.139379850102629Exp(-)2->Mat A[60]
5.561932135356714Exp(-)3->Mat A[61]
9.95556969790498Exp(-)1->Mat A[62]
1.987383892330316Exp(-)3->Mat A[63]
9.992621049926098Exp(-)1->Mat A[64]
 
 
0->D
0->E
A->H
(B-A)/(2*N)->G
Do
 G+H->H
 64->I
 1->F
 Do
  G*Mat A[I]->J
  H-J->X
  Prog "FX"
  X->K
  H+J->X
  Prog "FX"
  X+K->J
  I-1->I
  Mat A[I]*J+E->E
  -F->F
  If F>=0Then 
   I-1->I
   Mat A[I]*J+D->D
  IfEnd
  I-1->I
 LpWhile I>2
 H->X
 Prog "FX"
 X->J
 Mat A[I]*J+E->E
 J*Mat A[I]+D->D
 G+H->H
 N-1->N
LpWhile N>0
G*D->D
G*E->E
Disp D:'Shows Gauss21-Integral result
Disp E:'Shows Kronrod51-Integral result

Edited by sentaro21, 11 December 2019 - 07:24 AM.


#524 acapde

acapde

    Newbie

  • Members
  • Pip
  • 10 posts

Posted 11 December 2019 - 01:24 PM

Hi Sentaro21,
 
I found an error:
 
 Mat A[I]*J+E->E
 J*Mat A[I]+D->D -----> this should be J*Mat A[ 1 ]+D->D  the I must be replaced by 1
 G+H->H
 
Please try again and let me know.
Best regards.
 


#525 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 December 2019 - 12:15 AM

Thanks!

It works well! :D

 

Furthermore, I made a mistake in initializing Mat A [ 1].  :P

 


'KRONROD
10->N
'Number of subintervals
"A"?->A
'Lower limit
"B"?->B
'Upper limit
'Load 64 nodes and weights
{64,1}->Dim Mat A
1.231760537267155Exp(-)1->Mat A[1]
6.158081806783294Exp(-)2->Mat A[2]
6.147118987142532Exp(-)2->Mat A[3]
6.154448300568508Exp(-)2->Mat A[4]
1.222424429903100Exp(-)1->Mat A[5]
6.112850971705305Exp(-)2->Mat A[6]
1.228646926107104Exp(-)1->Mat A[7]
6.053945537604586Exp(-)2->Mat A[8]
1.837189394210489Exp(-)1->Mat A[9]
1.194557635357848Exp(-)1->Mat A[10]
5.972034032417406Exp(-)2->Mat A[11]
2.438668837209884Exp(-)1->Mat A[12]
5.868968002239421Exp(-)2->Mat A[13]
3.030895389311078Exp(-)1->Mat A[14]
1.148582591457116Exp(-)1->Mat A[15]
5.743711636156783Exp(-)2->Mat A[16]
3.611723058093878Exp(-)1->Mat A[17]
5.595081122041232Exp(-)2->Mat A[18]
4.178853821930377Exp(-)1->Mat A[19]
1.085196244742637Exp(-)1->Mat A[20]
5.425112988854549Exp(-)2->Mat A[21]
4.730027314457150Exp(-)1->Mat A[22]
5.236288580640748Exp(-)2->Mat A[23]
5.263252843347192Exp(-)1->Mat A[24]
1.005359490670506Exp(-)1->Mat A[25]
5.027767908071567Exp(-)2->Mat A[26]
5.776629302412230Exp(-)1->Mat A[27]
4.798253713883671Exp(-)2->Mat A[28]
6.268100990103174Exp(-)1->Mat A[29]
9.102826198296365Exp(-)2->Mat A[30]
4.550291304992179Exp(-)2->Mat A[31]
6.735663684734684Exp(-)1->Mat A[32]
4.287284502017005Exp(-)2->Mat A[33]
7.177664068130844Exp(-)1->Mat A[34]
8.014070033500102Exp(-)2->Mat A[35]
4.008382550403238Exp(-)2->Mat A[36]
7.592592630373576Exp(-)1->Mat A[37]
3.711627148341554Exp(-)2->Mat A[38]
7.978737979985001Exp(-)1->Mat A[39]
6.803833381235692Exp(-)2->Mat A[40]
3.400213027432934Exp(-)2->Mat A[41]
8.334426287608340Exp(-)1->Mat A[42]
3.079230016738749Exp(-)2->Mat A[43]
8.658470652932756Exp(-)1->Mat A[44]
5.490469597583519Exp(-)2->Mat A[45]
2.747531758785174Exp(-)2->Mat A[46]
8.949919978782754Exp(-)1->Mat A[47]
2.400994560695322Exp(-)2->Mat A[48]
9.207471152817016Exp(-)1->Mat A[49]
4.093915670130631Exp(-)2->Mat A[50]
2.043537114588284Exp(-)2->Mat A[51]
9.429745712289743Exp(-)1->Mat A[52]
1.684781770912830Exp(-)2->Mat A[53]
9.616149864258425Exp(-)1->Mat A[54]
2.635498661503214Exp(-)2->Mat A[55]
1.323622919557168Exp(-)2->Mat A[56]
9.766639214595175Exp(-)1->Mat A[57]
9.473973386174152Exp(-)3->Mat A[58]
9.880357945340772Exp(-)1->Mat A[59]
1.139379850102629Exp(-)2->Mat A[60]
5.561932135356714Exp(-)3->Mat A[61]
9.95556969790498Exp(-)1->Mat A[62]
1.987383892330316Exp(-)3->Mat A[63]
9.992621049926098Exp(-)1->Mat A[64]
 
 
0->D
0->E
A->H
(B-A)/(2*N)->G
Do
 G+H->H
 64->I
 1->F
 Do
  G*Mat A[I]->J
  H-J->X
  Prog "FX"
  X->K
  H+J->X
  Prog "FX"
  X+K->J
  I-1->I
  Mat A[I]*J+E->E
  -F->F
  If F>=0Then 
   I-1->I
   Mat A[I]*J+D->D
  IfEnd
  I-1->I
 LpWhile I>2
 H->X
 Prog "FX"
 X->J
 Mat A[I]*J+E->E
 J*Mat A[1]+D->D
 G+H->H
 N-1->N
LpWhile N>0
G*D->D
G*E->E
Disp D'Shows Gauss21-Integral result
Disp E'Shows Kronrod51-Integral result

 


  • acapde likes this

#526 acapde

acapde

    Newbie

  • Members
  • Pip
  • 10 posts

Posted 12 December 2019 - 04:04 AM


[/quote]
Furthermore, I made a mistake in initializing Mat A [ 1].  :P
[/quote]

Good catch! I had missed that one!

Glad that it`s working well now.

#527 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 12 December 2019 - 05:11 AM

Hi sentaro21

 

Bunch of questions:

- What is the format and usage of WriteGraph and DotGet/DotTrim/DotPut/CellSum?

- What does PopUpWin looks like and its syntax? (And what does n in PopUpWin(n) mean? It seems like the following situation exceed 5, such as PopUpWin(11,"Message1"[,"Message1"])→A)

 

Cheers

CalcLoverHK


Edited by CalcLoverHK, 12 December 2019 - 08:46 AM.


#528 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 December 2019 - 11:44 AM

@acapde
Thanks. :D
 
 
@CalcLoverHK
The (example) in the manual is nearly the (format). ^_^
(Format 1) WriteGraph x,y,dx,dy,Mat A ,P1[,P2]
  Draw data of Mat A in width dx, the range of height dy from coordinate (x,y) of the graphic screen.
  P1 parameter.(Can not be omitted.)
   [,N] normal
   [,R] reverse
   [,M] mesh
  P2 parameter.(Can omitted.)
   [omit] over
   [,X] xor
   [,O] or
   [,A] and
 
(Format 2) WriteGraph x,y,dx,dy,Mat A[m,n] ,P1[,P2]
Draw data from Mat A[m,n].
 
(Format) DotGet(px1,py1, px2,py2)->Mat A[x,y]
  area of (px1, py1)-(px2, py2) to Mat A[x,y].
 
(Format 1) DotPut (Mat A,x,y,px1,py1,px2,py2)
  Draw (px1, py1)-(px2, py2) of the screen as the starting element of Mat A[x,y].
(Format 2) DotPut(Mat A[x,y],mx1,my1,mx2,my2)->Mat B
  transfer to element Mat B[mx1,my1]-[mx2,my2] as the starting element of Mat A[x,y].
 
(Format 1)DotTrim(Mat A,x1,y1,x2,y2)->Mat B
  Trim the rectangular area of nonzero data in the [X1,y1]-[x2,y2] element of range in the Mat A and copy it to the Mat B.
  If the Mat B to be copied is not secured, it is newly allocated.
 
(Format 1)DotTrim(px1,py1,px2,py2)->Mat A
  This is a trimming input from the graphics screen range of (px1,py1)-(px2,py2).
 
 
The pop-up window is the same shape as the error display pop-up. ^_^
When the range of n of PopUpWin(n) is,
1-6, normal pop-up (1 line to 6 lines).
0, current vram store to the screen buffer.
9, resore from the screen buffer.
11, EXIT popup with comment(max 2 line).
10, [Yse/No] popup with comment(max 2 line), return value is [Yes:1]/[No:0]. 
 


#529 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 13 December 2019 - 08:58 AM

Hi sentaro21

 

- Can I write something up to 6 lines in a normal pop-up?

- I forgot about DotLife/CellSum. How do they work?

- How does KeyRow( work and what is its syntax?

- What is exactly the difference between TicksWait 4 and TicksWait -4? I see both can do a 32 fps loop. Can you give me some processing showcases?

- Does IsExist("*.<extension>") return values to both Mat Ans and N? And what does "When the extension is left out, the file name becomes [.bin] to eight characters." mean?\

 

Cheers

CalcLoverHK



#530 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 13 December 2019 - 01:37 PM

Thanks CalcLoverHK :D

- Can I write something up to 6 lines in a normal pop-up?

A normal pop-up is blank and must be written with the Locate/Text command. :)
 
 
CelSum()/DotLife() commands are implement for the following programs and is not versatile. :P
(Format) CellSum(Mat A[X,Y])->C
 return value is sum of 8 element of around Mat A[X,Y].

(Format) DotLife(Mat A,x1,y1,x2,y2)->Mat B
 Calculate Life game in element Mat A[x1,y1]-[x2,y2].
 
This program is speeded up using the DotPut/CelSum command.
Conway's Game of Life (ver.0.74) by Krtyski
And the following program is speeded up using DotLife command which commanded the core part.
Conway's Game of Life (ver.0.84) by Krtyski
(Format)  KeyRow(n)
 n:Row number 0~9
 Return value is the bit for the pressed key is enabled.
 
         bit6 bit5 bit4 bit3 bit2 bit1
   Row--------------------------------------Row
    09    F1    F2   F3   F4   F5   F6       09
    08    SHIFT OPTN VARS MENU <-  (up)      08
    07    ALPHA ^2   ^    EXIT (DW) ->       07
    06    XTT   log  ln   sin  cos  tan      06
    05    ab/c  F<>D  (    )    ,   ->       05
    04    7     8    9    DEL                04
    03    4     5    6    x    div           03
    02    1     2    3    +    -             02
    01    0     .    EXP  (-)  EXE           01
   Row--------------------------------------Row
 
The difference between "TicksWait 4" and "TicksWait -4",
"TicksWait 4" is just waiting for time.
However,
"TicksWait -4" is waiting for the time from the previous TicksWait. :)
If time has passed since the previous TicksWait, it will not wait.
 
IsExist("*.<extension>") return values is only Mat Ans. :)
If the extension is omitted it will be ".bin".

Edited by sentaro21, 16 December 2019 - 12:06 AM.


#531 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 13 December 2019 - 02:42 PM

Hi sentaro21

 

In TicksWait, you mean:

 

1.

TicksWait 128
TicksWait -32

If 128 ticks > 32 ticks, then program will skip "TicksWait -32".

 

2.

TicksWait 12
TicksWait -32

If 16 ticks < 32 ticks, then program will wait (32-12) ticks more.

 

3.

TicksWait 32
TicksWait -32

If both are the same, then program will wait (32-32) ticks, which is no difference at all.

 

Am I correct?

 

Cheers

CalcLoverHK



#532 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 14 December 2019 - 12:55 AM

Regardless of the sign of the TicksWait argument, the waiting time is determined by the time after the last TicksWait command is executed.
In all cases it will wait for +32 ticks. :)
 
For example, if you create a loop that runs once a second,
If no use TicksWait -
Ticks->S
While 1
 ...
 Do:LpWihle Abs(Ticks-S)<128
 Ticks->S
WhileEnd
Temporary variable S is required as an initial value.
 
 
If use TicksWait -
While 1
 ...
 TicksWait -128
WhileEnd
The code is simplified and the temporary variable S is no longer needed. ^_^
 

If use TicksWait +
While 1
 ...
 TicksWait 128
WhileEnd
It will exceed 1 second depending on the content of the processing in the loop.
 

Edited by sentaro21, 14 December 2019 - 12:55 AM.


#533 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 14 December 2019 - 04:57 AM

Hi sentaro21

Got it. So I summarized the usage:

* TicksWait+ adds waiting time regardless in loop or individual without checking whether it is necessary.
* TicksWait- also adds waiting time in individual, but in loop it checks whether adding more waiting time is necessary depending on the processing in loop and its value.

Well, from the start of loop, TicksWait- is already in calculation, right?

Cheers
CalcLoverHK

#534 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 14 December 2019 - 05:41 AM

* TicksWait+ adds waiting time regardless in loop or individual without checking whether it is necessary.
* TicksWait- also adds waiting time in individual, but in loop it checks whether adding more waiting time is necessary depending on the processing in loop and its value.

Well, from the start of loop, TicksWait- is already in calculation, right?

Thanks! :D

In addition,
The first TicksWait- has zero wait time. It works after the second time. ^_^


#535 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 15 December 2019 - 07:15 AM

Hi sentaro21

 

Just found out a wild version of fx-9860GII: fx-9860GIIs.

This calculator is for Singapore examination. It does not support surd and pi form output. Other than that, it is nearly identical to fx-9860G.

 

Does C.Basic support this calculator? Then what is the model no. of it in C.Basic?

 

Cheers

CalcLoverHK



#536 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 15 December 2019 - 08:11 AM

Yes!

C.Basic supports all fx-9860G series. :D

So of course it seems to work in fx-9860GIIs.

Since there is only SH4A model, the System(-1) command return value is 3. ^_^



#537 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 16 December 2019 - 05:09 AM

Hi sentaro21

 

What does this information apply to?

The bitmap data are 8 bits width, and leaning to the left becomes the standard.
(g1m mode above)

(g3m mode)
Only in the case of a 1 bit Mat/List, it becomes the monochromatic drawing.
It becomes the 16 bits color drawing other than it.

Cheers

CalcLoverHK



#538 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 16 December 2019 - 06:48 AM

It affects all bitmap drawing commands including BMP commands. :)



#539 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 16 December 2019 - 08:12 AM

Hi sentaro21

 

About Alias command:

What does this information mean in Alias command?

As for 32 variables, Mat and label can use 16 aliases.

And can Alias be used with List?

 

About Wait command:

What is the formula of calculating the Wait time depending on its value?

 

About ListCmp( command:

What is the syntax of it? Must I need to take three value of a List at once only as parameters?

 

About StrCenter( command:

What happens if <length> is odd no. and byte count <string> is even no.?

 

About StrBase( and StrSplit( command:

How does it work?

 

Cheers

CalcLoverHK


Edited by CalcLoverHK, 16 December 2019 - 08:58 AM.


#540 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 16 December 2019 - 11:16 AM


About Alias command:

What does this information mean in Alias command?

Variable can use Alias up to 32.

Mat/Vct can use Alias up to 16.
But there are wrong. :P
Currently, Variable can be up to 64. (99 in CG)
Mat/Vct can be up to 26.
 

And can Alias be used with List?

Since List can be given a label name, Alias command does not work in List.
"Label"->List 1
 

About Wait command:

What is the formula of calculating the Wait time depending on its value?

When the argument is 100, it is set so that the speed drops to about half, but there is no formula to determine it. :P

 

About ListCmp( command:

What is the syntax of it? Must I need to take three value of a List at once only as parameters?
(format1) ListCmp( List 1, List 2)
  Comparison of List 1 and List 2. If it is the same, the return value is 1.
(format2) ListCmp( List 1, value)
  Comparison of the number of elements in List and value. If it is less than or equal to value, the return value is 1.
 

About StrCenter( command:

What happens if <length> is odd no. and byte count <string> is even no.?

One space is reduced in the first half.

However, a bug in StrCenter was found. :P
StrCenter("ABCD",8)
  return is " ABCD   " (seems a bug)
 

About StrBase( and StrSplit( command:

How does it work?
(format) StrBase(Number string, Current base, Expected base)
 Returns a string that is converted from the radix of the input string.
(Example) StrBase("1234",10,16)
 return string is "4D2"

(format) StrSplit("string","delimiter"[,start position])
  Divide the string with a delimiter and return it to Mat Ans.
(Example) StrSplit("123,4567,89",",")
  return string is
  $Mat Ans[1]="123"
  $Mat Ans[2]="4567"
  $Mat Ans[3]="89"

 



#541 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 16 December 2019 - 03:08 PM

Hi sentaro21

 

Is there any way to make the command only run on Casio Basic but not C.Basic?

For example, I know '/ indicates that this command only runs on C.Basic, but can we make it vice versa? Like:

Getkey→A'

' in Casio Basic works as normal, but in C.Basic, it does not run this command.

 

Here I listed the possibilities of compatibility:

Getkey→A   //runs on both Casio Basic and C.Basic
‘/Getkey1→B   //runs only on C.Basic
Getkey→A'   //my suggestion: runs only on Casio Basic
Getkey→A'/Getkey1→B   //what is its function?

For hardware-extended commands, I knew little to nothing about them. How did hey work?

 

Cheers

CalcLoverHK


Edited by CalcLoverHK, 16 December 2019 - 03:45 PM.


#542 acapde

acapde

    Newbie

  • Members
  • Pip
  • 10 posts

Posted 16 December 2019 - 09:35 PM

Hi,

 

I’ve made some modifications to the Gauss-Kronrod numerical integration program, now you can enter an accuracy target (the default is 5 places after the decimal point like genuine Casio integration function), the program will try up to 3 times to reach that accuracy target, first with N=10, N=100 and finally N=300. If the desired accuracy cannot be reached then it will show an error message and the best result obtained. The user can then try using a lower accuracy.

The determination that the accuracy has been reached is done comparing the Gauss Quadrature with the Kronrod result. If both are the same, rounded to the specific number of digits after the decimal point (in scientific number format), then it’s assumed that the condition has been met.

 

Additionally, the function to be integrated can have any name now, the user will be asked to enter the function name at run time.

 

“Well-behaved” functions will be integrated fast, as before, however “complicated” functions will take longer but with a higher accuracy.

 

A= Lower limit

B= Upper limit

'ProgramMode:RUN
5->C
"A="?()A
"B="?()B
"FUNCTION="?()Str 1
"ACCURACY="?()C
Sci C+1
{3,1}->Dim Mat N
10->Mat N[1]
100->Mat N[2]
300->Mat N[3]

{64,1}->Dim Mat A
1.231760537267155Exp(-)1->Mat A[1]
6.158081806783294Exp(-)2->Mat A[2]
6.147118987142532Exp(-)2->Mat A[3]
6.154448300568508Exp(-)2->Mat A[4]
1.222424429903100Exp(-)1->Mat A[5]
6.112850971705305Exp(-)2->Mat A[6]
1.228646926107104Exp(-)1->Mat A[7]
6.053945537604586Exp(-)2->Mat A[8]
1.837189394210489Exp(-)1->Mat A[9]
1.194557635357848Exp(-)1->Mat A[10]
5.972034032417406Exp(-)2->Mat A[11]
2.438668837209884Exp(-)1->Mat A[12]
5.868968002239421Exp(-)2->Mat A[13]
3.030895389311078Exp(-)1->Mat A[14]
1.148582591457116Exp(-)1->Mat A[15]
5.743711636156783Exp(-)2->Mat A[16]

3.611723058093878Exp(-)1->Mat A[17]
5.595081122041232Exp(-)2->Mat A[18]
4.178853821930377Exp(-)1->Mat A[19]
1.085196244742637Exp(-)1->Mat A[20]
5.425112988854549Exp(-)2->Mat A[21]
4.730027314457150Exp(-)1->Mat A[22]
5.236288580640748Exp(-)2->Mat A[23]
5.263252843347192Exp(-)1->Mat A[24]
1.005359490670506Exp(-)1->Mat A[25]
5.027767908071567Exp(-)2->Mat A[26]
5.776629302412230Exp(-)1->Mat A[27]
4.798253713883671Exp(-)2->Mat A[28]
6.268100990103174Exp(-)1->Mat A[29]
9.102826198296365Exp(-)2->Mat A[30]
4.550291304992179Exp(-)2->Mat A[31]
6.735663684734684Exp(-)1->Mat A[32]

4.287284502017005Exp(-)2->Mat A[33]
7.177664068130844Exp(-)1->Mat A[34]
8.014070033500102Exp(-)2->Mat A[35]
4.008382550403238Exp(-)2->Mat A[36]
7.592592630373576Exp(-)1->Mat A[37]
3.711627148341554Exp(-)2->Mat A[38]
7.978737979985001Exp(-)1->Mat A[39]
6.803833381235692Exp(-)2->Mat A[40]
3.400213027432934Exp(-)2->Mat A[41]
8.334426287608340Exp(-)1->Mat A[42]
3.079230016738749Exp(-)2->Mat A[43]
8.658470652932756Exp(-)1->Mat A[44]
5.490469597583519Exp(-)2->Mat A[45]
2.747531758785174Exp(-)2->Mat A[46]
8.949919978782754Exp(-)1->Mat A[47]
2.400994560695322Exp(-)2->Mat A[48]

9.207471152817016Exp(-)1->Mat A[49]
4.093915670130631Exp(-)2->Mat A[50]
2.043537114588284Exp(-)2->Mat A[51]
9.429745712289743Exp(-)1->Mat A[52]
1.684781770912830Exp(-)2->Mat A[53]
9.616149864258425Exp(-)1->Mat A[54]
2.635498661503214Exp(-)2->Mat A[55]
1.323622919557168Exp(-)2->Mat A[56]
9.766639214595175Exp(-)1->Mat A[57]
9.473973386174152Exp(-)3->Mat A[58]
9.880357945340772Exp(-)1->Mat A[59]
1.139379850102629Exp(-)2->Mat A[60]
5.561932135356714Exp(-)3->Mat A[61]
9.95556969790498Exp(-)1->Mat A[62]
1.987383892330316Exp(-)3->Mat A[63]
9.992621049926098Exp(-)1->Mat A[64]


For 1->N% To 3
N[N%]->N
0->D
0->E
A->H
(B-A)/(2*N)->G
Do
G+H->H
64->I
1->F
Do
G*Mat A[I]->J
H-J->X
Prog Str 1
X->K
H+J->X
Prog Str 1
X+K->J
I-1->I
Mat A[I]*J+E->E
(-)F->F
If F>=0 Then 
I-1->I
Mat A[I]*J+D->D
IfEnd
I-1->I
LpWhile I>2
H->X
Prog Str 1
X->J
Mat A[I]*J+E->E
J*Mat A[1]+D->D
G+H->H
N-1->N
LpWhile N>0
G*D->D
G*E->E
If RndFix(D,Sci C+1)=RndFix(E,Sci C+1)Then 
Break
IfEnd
Next
If N%>3 Then "**ACCURACY NOT MET**"
IfEnd
EDisps



#543 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 17 December 2019 - 04:25 AM

@CalcLoverHK

Is there any way to make the command only run on Casio Basic but not C.Basic?

You can execute "Goto~Lbl" or "If~IfEnd" command only for C.Basic. :)
'/If 0
...  // run Casio Basic only
'/IfEnd
'/Goto a
...  // runs only Casio Basic
'/Lbl a
 

 

Getkey→A'

' in Casio Basic works as normal, but in C.Basic, it does not run this command.

No,It can work on C.Basic but not work Casio Basic.
C.Basic does not cause an error because the delimiter can be omitted. ^_^
 
In Casio Basic,
Getkey→A:'
 

Getkey→A'/Getkey1→B   //what is its function?
added colon,
Getkey→A:'/Getkey1→B   //what is its function?
This code is an example of the case where Getkey is replaced with Getkey1 of C.Basic and both can be operated by the same program. ^_^
 
 

For hardware-extended commands, I knew little to nothing about them. How did hey work?

There are commands such as backlight and battery voltage display. ^_^
 
 
 
 
@acapde
I was worried about how to calculate the value of N to ensure accuracy.
That is very helpful.
Thanks! :D

Edited by sentaro21, 17 December 2019 - 04:25 AM.


#544 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 17 December 2019 - 05:10 AM

Hi sentaro21

 

So what is the syntax & usage of _Polygon?

 

Cheers

CalcLoverHK



#545 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 17 December 2019 - 06:40 AM

_Polygon command is similar to Graph(X,Y), but it is a more extended command. :)
(format)_Polygon *ary_x, *ary_y, vertices, color[,chance/brend%][,angle][,center_X][,center_Y][,zoom%]
(example)
 {60, 75, 70, 50, 45}->List 1.L    // require Long integer type 
 {20, 30, 45, 45, 30}->List 2.L    // require Long integer type
 Screen.G
 _ClrVRAM
 _Polygon VarPtr(List 1), VarPtr(List 2), 5, 1)
 List 1+100->List 1
 _Polygon VarPtr(List 1), VarPtr(List 2), 5, 5, %50, 90)   // Rotate 90 degrees and draw 50% translucent.
 _DispVRAM (or PutDispDD)
Please see _Polygon sample programs in zip CBasic_sample\ML_sample_CG. ^_^
 


#546 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 19 December 2019 - 08:05 AM

Hi sentaro21

 

How does Hscroll/Vscroll scroll the pixels?

 

Does you mean:

Hscroll+: move to right

Hscroll-: move to left

Vscroll+: move down

Vscroll-: move up

 

And can "Then" be omitted?

And what is the syntax of _Test?

 

Cheers

CalcLoverHK


Edited by CalcLoverHK, 19 December 2019 - 08:39 AM.


#547 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 19 December 2019 - 10:24 AM

How does Hscroll/Vscroll scroll the pixels?

(format) _Hscroll n [,x1,y1,x2,y2]
 If n is a positive value, the image is shift right by n pixels. If the value is negative, it is shift left.
 The coordinates of the scroll range (x1,y1)-(x2,y2) can be specified.
 (Example) _Hscroll 1
  Shift 1 pixels to the right.
 (Example) _Hscroll -5,32,16,47,95
  Shift 5 pixels to the left only (32,16)-(47,95).
 
(format) _Vscroll n [,x1,y1,x2,y2]
 If n is a positive value, the image is shift down by n pixels.  If the value is negative, it is shift up.
 

And can "Then" be omitted?

Yes.
"Then" can be omitted. ^_^
 

And what is the syntax of _Test?

"_Test" counts pixels that differ from the background color of the specified range. 
The following commands can be used. :)
(format)_Test_Point x, y, width
(format)_Test_Line x1, y1, x2, y2
(format)_Test_Horizontal y [, x1, x2]
(format)_Test_Vertical   x [, y1, y2]
(format)_Test_Rect x1, y1, x2, y2
(format)_Test_Polygon *ary_x, *ary_y, vertices
(format)_Test_Circle x, y, radius
(format)_Test_Ellipse x, y, radius1, radius2
(format)_Test_EllipseInRect x1, y1, x2, y2

Edited by sentaro21, 19 December 2019 - 10:27 AM.


#548 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 22 December 2019 - 04:10 PM

Hi sentaro21

 

What do [bytecount],[enable exit] mean in serial communication commands?

And is Beep command really used for sound output? But how?

 

(Actually I think the serial communication commands need to be improved)

 

Cheers

CalcLoverHK


Edited by CalcLoverHK, 22 December 2019 - 04:16 PM.


#549 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 23 December 2019 - 03:32 AM

 

What do [bytecount],[enable exit] mean in serial communication commands?

[bytecount] means the number of bytes to transfer.

 (Since the Send38K/Receive38k transfer is raw data, you have to create the protocol yourself.)
[enable exit] means whether pressing the EXIT key will forcibly abort the transfer.
 

 

And is Beep command really used for sound output? But how?

If you connect an earphone or buzzer to the 3-pin jack, the beep sound will be output. ^_^
 

(Actually I think the serial communication commands need to be improved)

I think so, too.
How should it be improved? ^_^

Edited by sentaro21, 23 December 2019 - 03:33 AM.


#550 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 26 December 2019 - 10:54 AM

Hi sentaro21

 

When do C.Basic 2.41/1.41 release?

Seems that this version has two big features. (The compressed .g1m/.g3m file and the calculus)

 

Cheers

CalcLoverHK



#551 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 26 December 2019 - 12:24 PM

Sorry,I'm working on fixing bugs. Please wait a little longer. :bow:



#552 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 26 December 2019 - 02:39 PM

Hi sentaro21

Wait... C.Basic supports Graph 35+USB?!
It does not support add-in originally, do you mean C.Basic supports hacked Graph 35+USB?

(If that is a case, then fx-9750GII should also be supported because it can be hacked to fx-9860GII.)

Cheers
CalcLoverHK

Edited by CalcLoverHK, 26 December 2019 - 02:40 PM.


#553 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 26 December 2019 - 11:34 PM

Yes,
C.Basic supports all 9750GII/Graph 35+USB series that can use the add-in by OS upgrade. ^_^


#554 CalcLoverHK

CalcLoverHK

    Casio Freak

  • Members
  • PipPipPipPip
  • 240 posts
  • Gender:Male
  • Location:Hong Kong
  • Interests:Playing video games (Minecraft, krunker.io), calculators, programming in Casio Basic/C.Basic, Scratch (formal), IT research (sometimes)

  • Calculators:
    fx-50FHII (2019/1/30)
    fx-9750GIII (2020/6/13)

Posted 27 December 2019 - 04:35 AM

Hi sentaro21

So I summarized the following supported calculators:
- fx-9750GII SH3/SH4A
- All fx-9860G SH3/SH4A varients
- All fx-CG varients
- Graph 35+USB/75/85/95 (SH3)
- Graph 35+USB/35+E/35+EII/75/95/90+E (SH4A)

Am I correct?

Cheers
CalcLoverHK

#555 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 27 December 2019 - 06:52 AM

Yes, as far as I know it is correct. ^_^



#556 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 28 December 2019 - 07:07 AM

Sorry for late update.
Support for packed g1m/g3m will be available in the next version or later. :bow:
I'll fixes this year’s known bugs this year. :)
 
2.41 beta  for for 9860G/GII series/Graph 35+USB/35+EII/75/85/95 (SD)
 
1.41 beta for CG10/20/50/Graph90+E.
-Fixed the bug that the alpha mode icon was not displayed when line input mode.
-Includes the font manager and system manager of the system operation application by Colon.
(They are in the C.Basic_application folder in zip.)
(*These programs are password protected to prevent accidental editing of the source code due to heavy use of syscalls.)
(*You are free to modify the source code, but please do so at your own risk.)
 
---Same update---
-Fixed the "Graph (X,Y)=(" command bug that did not work when multiplying List with T as argument.
  (Example) Graph (X,Y)=(2*{1T,2T}, 3*{3T,4T})
-Fixed "ExitDM PopUp" bug that pop-up did not appear when exiting the debug mode and re-executing.
-Fixed the bug that garbage might be attached at the end of the program  when the indent function was enabled.
-Added integration function based on Gauss-Kronrod quadrature. (acapde's program has been implemented.)
 
(integration function) OPTN-F4(CALC)-F2(∫dx)
(format) ∫( f(x), lower limit, upper limit [,tol])
[,tol] 0<tol<1  this value is tolerance.
       1<tol    this valee is a significant digit.
       default [tol] is 10.
(example) ∫(2X^2+3X+4,1,5)
       result is 134.6666667
(example) ∫(sin X*cos X,0,1)
       result is 0.354036091
(example) ∫(cos ln X,0,1)
       "Not met Accuracy" pop up.
(example) ∫(cos ln X,0,1,5)
       result is 0.5
 

 


Edited by sentaro21, 28 December 2019 - 12:01 PM.

  • CalcLoverHK and acapde like this

#557 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 29 December 2019 - 06:18 AM

As usual, bugs in new features have been found, so I'll fix and re-upload. :bow:
 
2.41 beta  for for 9860G/GII series/Graph 35+USB/35+EII/75/85/95 (SD)
(re--uploaded)
 
1.41 beta for CG10/20/50/Graph90+E.
(re-uploaded)
 
---Common update---
        -Fixed integration calculation bug that sign of result is not correct when lower is greater than upper.
        -Fixed integration calculation bug that X variable is changed after execution.
        -Changed "Graph (X,Y)=(" specification that the screen is updated during command execution.

Edited by sentaro21, 30 December 2019 - 11:49 PM.


#558 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 06 January 2020 - 09:40 AM

Here is bug fixed updated version. :)
I don't know if there is still a bug, but I'll fix it soon.
 
2.42 beta  for for 9860G/GII series/Graph 35+USB/35+EII/75/85/95 (SD)
 
1.42 beta for CG10/20/50/Graph90+E.
        -Added transparent color drawing with the following command.
          _BmpZoom
          _BmpRotate
          _BmpZmRotate
          DrawMat
          DotPut
        -Fixed the DrawMat command bug that 16-bit bitmap data was not drawn when the width and height were different.
        -Fixed the DotPut command bug that 16-bit color drawing could not be performed with the DotPut command.
 
---Common update---
-Fixed the bug of ML command when there is a drawing range outside the screen.
        -Fixed the bug when the integral calculation formula causes Math error.
        -Changed the specification of the integration command so that the initial calculation precision is valid 5 digits and the result is not rounded.


#559 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 10 January 2020 - 07:37 AM

Here is new updated version. :)
 
1.43 beta for CG10/20/50/Graph90+E.
-Improved 16-bit color drawing of _Bmp command and DrawMat command.
   Simple 16-bit color bit map drawing without scaling is now 2x faster.
   As a result of this update, the Mat data required for the DrawMat command will be changed to the type of matrix used in the _Bmp command (it is a inverse matrix).
-Fixed Graph Y=,Graph X= command bug that the first coordinate was false in g3m mode.
-Fixed the bug that new folder was not displayed after creating new folder.
-Fixed the bug that [/] remained in F6 when renaming folders.
-Changed specification to not switch to the same mode when switching the memory mode (storage memory/main memory).
-Fixed the bug that F6(VER) was not displayed in "Skeetch Line" in SETUP.
-Fixed the scroll bar on the variable list screen of mini font.


#560 sentaro21

sentaro21

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 361 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 January 2020 - 10:35 AM

Here is little bug fixed updated version. :)
 
2.43 beta  for for 9860G/GII series/Graph 35+USB/35+EII/75/85/95 (SD)
 
 
1.43 beta for CG10/20/50/Graph90+E.   (re-uploaded)
-Fixed the Graph X= command bug that drawing illegal dot line.
-Changed the "Nrm "notation to "Norm" in Display setting of Setup.
 
---Common update---
        -Changed specification to not switch to the same mode when switching the memory mode (storage memory/main memory).
        -Fixed the bug that Shift+F6(debug) failed to debug mode when "Force Return" was set in setup.
        -Fixed the bug that Alias for extension variables did not cause an error.
 






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

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users