Jump to content



Photo
* * * * * 4 votes

C.Basic - International Release

Casio Basic C.Basic

  • Please log in to reply
692 replies to this topic

#41 frankmar98

frankmar98

    Casio Freak

  • Moderator
  • PipPipPipPip
  • 127 posts
  • Gender:Male
  • Location:Spain
  • Interests:Science, programming

  • Calculators:
    CFX-9970G
    Graph 90+E (fx-GC50)
    fx-9860G SD
    Classpad 300
    HP Prime
    TI-84+ CE-T
    x2 TI-83+
    TI-81
    fx-4800p, fx-3650PII
    fx-991SPX, fx-991ES PLUS, fx-100W

Posted 19 May 2017 - 07:14 AM

Thanks, sentaro21, I'll try it after the final exams.



#42 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 27 May 2017 - 09:54 AM

Hi,
 
Some new bugs was found, :banghead:
Here is updated version. :)  
 
v1.53beta 2017.5.27
-Fixed StrRight bugs
 (example) StrRight("12345",0)
 It was right to become the null string, but became "5".
-Fixed acos bugs for list calc.
-Fixed Graph Y=Yn bugs.
-Fixed text conversion bugs when double quotes(") was escaped by character string.
-To be able to use the small letter for The Lbl command.


#43 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 03 June 2017 - 09:43 AM

Hi,
 
Here is new updated version. :)
 
v1.54beta 2017/06/03
-Fixed the multiplication of the Matrix. ( It always became the integer result ) :banghead:
-Fixed 2 Plot & Line bugs.
-To stored Pict file in the hidden RAM area.
-To added setting & command option to store at the same time to storage memory by Pict file preservation.
 (sample) Pict #20
  This prefix(#) is store to storage memory option.
-To displayed the progress bar at the conversion from text file.
 
 
I ported Toritori from Planet-Casio. :D
 
 
Because I am stranded with the sixth side, the later operation check is not done. :bow:
 
The advantage of C.Basic can reduce the power consumption at Getkey->Getkey2.
It becomes the about the same consumption with the idle. :D
 

Edited by sentaro21, 03 June 2017 - 10:13 AM.


#44 frankmar98

frankmar98

    Casio Freak

  • Moderator
  • PipPipPipPip
  • 127 posts
  • Gender:Male
  • Location:Spain
  • Interests:Science, programming

  • Calculators:
    CFX-9970G
    Graph 90+E (fx-GC50)
    fx-9860G SD
    Classpad 300
    HP Prime
    TI-84+ CE-T
    x2 TI-83+
    TI-81
    fx-4800p, fx-3650PII
    fx-991SPX, fx-991ES PLUS, fx-100W

Posted 05 June 2017 - 09:54 AM

Awesome!



#45 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 05 June 2017 - 01:31 PM

Thanks always frankmar98 :D



#46 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 June 2017 - 10:39 AM

Hi,
 
Here is new updated version. :)
 
v1.55beta 2017/06/11
-Added ? command optional function.
(usage) ?([ X][,Y][,width][,"SpaceChar"][,R])
(example) "A="?()->A
 dispay "A=" then wait for input A value.  this is like "Input" by TI-Basic.
(example) "A="?(,,,,R)->A
 dispay "A=" then wait for input A value reversed display.
(example) "A="?(,,8,,R)->A
 dispay "A=" then wait for input A value only 8 digits reversed display.
(example) ?(3,4,5,">")A
 dispay "A=" then wait for input A value at(X=3,Y=4) only 5 digits and the blank is made up in ">".
(example) ?(3,4,5,,R)A
 dispay "A=" then wait for input A value at(X=3,Y=4) only 5 digits reversed display.
 
-Fixed AxesOn bugs.
 
-Fixed _PixelTest bug. (updated)

Edited by sentaro21, 12 June 2017 - 11:04 AM.


#47 Viliami

Viliami

    Casio Addict

  • Moderator
  • PipPipPip
  • 99 posts
  • Gender:Male
  • Location:New Zealand
  • Interests:C++ - OpenGL,SDL
    Python - Pygame
    Java - SFML
    C - Casio SDK

  • Calculators:
    FX-9750 GII upgraded to FX-9860 GII

Posted 25 June 2017 - 05:19 AM

Nice, this is a really cool project



#48 (*)

(*)

    Casio Addict

  • Members
  • PipPipPip
  • 51 posts
  • Gender:Not Telling

Posted 28 June 2017 - 11:08 AM

Can you add a way to stop the screen from updating completely? The setting "RefreshCtl DD: All 128/128" still makes it flicker every second, and I'd like to turn it off completely.



#49 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 30 June 2017 - 10:17 AM

Nice, this is a really cool project

 

Thanks very much!! :D

 

 

Can you add a way to stop the screen from updating completely? The setting "RefreshCtl DD: All 128/128" still makes it flicker every second, and I'd like to turn it off completely.

 
Thanks for the version up idea. :D
 
When add [:] after a command, it becomes the no refresh drawing in the past version.
 
By this updating,It becomes the no drawing when set 0/128 in RefreshTime.(both setup and command)
 
 
Here is new updated version. :)
 
-Added the setting that no updating screen by setting 0 to the RefrshTime. 
 You can use it by setup and the command.
(example) RefrshCtrl 2
 RefrshTime 0
 The text and graphics command do not update a screen.
 
-Added the TicksWait command that waited by 1/128s ticks.
 (The TicksWait command connects Ticks and Wait command. and changed part of key assignment.)
(example) TicksWait 128
 Wait 1 second.
(example) TicksWait -128
 Wait for 1 second from the last TicksWait command run.
 When it has been already over 1 second, to the next processing without waiting.
(example) TicksWait -4
 Wait for 4/128 second from the last TicksWait command run.
 You can make 32fps of loops just to use one this command in the loop.


#50 (*)

(*)

    Casio Addict

  • Members
  • PipPipPip
  • 51 posts
  • Gender:Not Telling

Posted 30 June 2017 - 12:27 PM

 

Thanks very much!! :D

 

 

 
Thanks for the version up idea. :D
 
When add [:] after a command, it becomes the no refresh drawing in the past version.
 
By this updating,It becomes the no drawing when set 0/128 in RefreshTime.(both setup and command)
 
 
Here is new updated version. :)
 
-Added the setting that no updating screen by setting 0 to the RefrshTime. 
 You can use it by setup and the command.
(example) RefrshCtrl 2
 RefrshTime 0
 The text and graphics command do not update a screen.
 
-Added the TicksWait command that waited by 1/128s ticks.
 (The TicksWait command connects Ticks and Wait command. and changed part of key assignment.)
(example) TicksWait 128
 Wait 1 second.
(example) TicksWait -128
 Wait for 1 second from the last TicksWait command run.
 When it has been already over 1 second, to the next processing without waiting.
(example) TicksWait -4
 Wait for 4/128 second from the last TicksWait command run.
 You can make 32fps of loops just to use one this command in the loop.

 

Thank you so much! You gave me a lot more possibilities :D

Keep up the amazing work! Also, is there any way to directly contact you?



#51 (*)

(*)

    Casio Addict

  • Members
  • PipPipPip
  • 51 posts
  • Gender:Not Telling

Posted 30 June 2017 - 01:20 PM

Suggestions:
- Fix the Nesting Error when using a lot of labels

- Add more than 26 lists

- Add a setting to disable the header when editing code (example: "==PROGRAM1== [DBL#1] " at the top)

- Add a way to create folders and to move programs into/out of folders

- Add a way to delete multiple characters with: Shift+8 (clip) and then DEL to remove everything inside the selection

- Add search and replace

- Easier polygon command (example: _Polygon X,Y,Radius,Sides,Color   ->   _Polygon 63,31,20,6,1   to make a hexagon)

- Invert screen command (already works with _Rectangle 0,0,127,63,2 but a direct invert command would still be nice :P )

- Auto save without a popup (Sometimes when I try to exit a program fast, I press EXIT twice and then it deletes all my changes)

- Remove the need of "Then" in If-Statements

 

That's it for now ^^ I don't expect everything to be added, just a few suggestions that would be nice :)



#52 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 30 June 2017 - 02:46 PM

Thank you so much! You gave me a lot more possibilities :D

Keep up the amazing work! Also, is there any way to directly contact you?

 
Thanks!
I feel really blessed to be a developer. :lol:
 
As for the direct communication method, E-Mail and personal messenger of this UCF is possible. :)
 

 

Suggestions:
- Fix the Nesting Error when using a lot of labels

- Add more than 26 lists

- Add a setting to disable the header when editing code (example: "==PROGRAM1== [DBL#1] " at the top)

- Add a way to create folders and to move programs into/out of folders

- Add a way to delete multiple characters with: Shift+8 (clip) and then DEL to remove everything inside the selection

- Add search and replace

- Easier polygon command (example: _Polygon X,Y,Radius,Sides,Color   ->   _Polygon 63,31,20,6,1   to make a hexagon)

- Invert screen command (already works with _Rectangle 0,0,127,63,2 but a direct invert command would still be nice :P )

- Auto save without a popup (Sometimes when I try to exit a program fast, I press EXIT twice and then it deletes all my changes)

- Remove the need of "Then" in If-Statements

 

That's it for now ^^ I don't expect everything to be added, just a few suggestions that would be nice :)

 

Thanks for new suggestions. :D
All may not be made immediately, but I will think to add them as much as possible. :)


#53 (*)

(*)

    Casio Addict

  • Members
  • PipPipPip
  • 51 posts
  • Gender:Not Telling

Posted 30 June 2017 - 03:19 PM

I just got a suggestion that I forgot to put in >.< Sorry ^^"

How about different text sizes in the editor? Would be really useful to display more code on just one screen

 

Also, where is the Tickswait command in the Casio Basic command mode?


Edited by Emex, 30 June 2017 - 03:22 PM.


#54 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 01 July 2017 - 02:36 AM

I just got a suggestion that I forgot to put in >.< Sorry ^^"

How about different text sizes in the editor? Would be really useful to display more code on just one screen

 

Also, where is the Tickswait command in the Casio Basic command mode?

 

 

A request in the use is the most useful on development. :D
 
The editor in the mini-font is a good plan.
I'm considering implementing it. :)
 
"TicksWait" command is "Ticks"+"Wait"
To input by Casio Basic command mode,
:VARS:  :F3:  :F1:  :F2:


#55 (*)

(*)

    Casio Addict

  • Members
  • PipPipPip
  • 51 posts
  • Gender:Not Telling

Posted 01 July 2017 - 02:36 AM

 

A request in the use is the most useful on development. :D
 
The editor in the mini-font is a good plan.
I'm considering implementing it. :)
 
"TicksWait" command is "Ticks"+"Wait"
To input by Casio Basic command mode,
:VARS:  :F3:  :F1:  :F2:

 

Oh, I didn't realize that I had to put them together, thanks! :)



#56 (*)

(*)

    Casio Addict

  • Members
  • PipPipPip
  • 51 posts
  • Gender:Not Telling

Posted 01 July 2017 - 03:06 AM

New requests:

  • Support for imaginary numbers with the imaginary number commands (Imp 2+3i = 3, Rep 2+3i = 2) ({3+2i,1+5i}→List 1)
  • Drawing objects with VRAM commands( _Rectangle, _Circle, ...) in Graph Coordinates instead of Screen Coordinates. (As an option, not replacing the coordinate system for the VRAM commands)
  • Command to convert from Screen Coordinates to Graph Coordinates. Example: ScreenCoords(X,Y,Xmin,Xmax,Ymin,Ymax), ScreenCoords(1,1,-6.3,6.3,-3.1,3.1) results in: {73,22}
  • Add a command to center strings (StrCentr(Str 1,Min,Max), StrCentr("Test",1,6) results in " Test ")
  • Add support to input Strings in the Local and Prog command. Example: Prog "Program1","Hello",1,3,"World",2,5
  • A function command, functions will have their own section in the C.Basic Addin Menu. There you can set the variables what can be given with the Local command as you would with a normal program, then you can write Function(name,arg,arg2,arg3,...). Example: Function(drawgraph,Str 1).
  • Commands to convert from Binary to Decimal, Decimal to Binary, Decimal to Hexadecimal and so on..., Hexadecimal and Decimal can be input with strings.
    Example:
    "FF"→Str 1
    Dec(Str 1)→A
    A = 255
  • This likely won't be able to be implemented, but I'll still put it in here: support for drawing 3D objects (cubes, lines, ...)
  • A button to delete all programs made in C.Basic at once
  • Longer file names

​And a problem: If you put a lot of code into just one line, it lags once that line is on screen.


Edited by Emex, 01 July 2017 - 05:11 PM.


#57 (*)

(*)

    Casio Addict

  • Members
  • PipPipPip
  • 51 posts
  • Gender:Not Telling

Posted 03 July 2017 - 12:36 AM

A few things I have done with C.Basic so far:




https://youtu.be/mZMY1QqjpGA
https://youtu.be/6st_hc2wZ4E
https://youtu.be/gazWjOhMkqg
https://youtu.be/g1X-pUX1wu4

I hope this also shows how powerful C.Basic is ^^

Edited by Emex, 03 July 2017 - 12:53 AM.

  • (*) likes this

#58 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 03 July 2017 - 02:39 AM

Thanks very much for utilizing C.Basic. :D
These are unbelievably great to work in C.Basic.
I will continue to anticipate the program & movies that you make.
 
Please wait a moment for the updated version. :bow:


#59 (*)

(*)

    Casio Addict

  • Members
  • PipPipPip
  • 51 posts
  • Gender:Not Telling

Posted 03 July 2017 - 01:45 PM

I'm too excited to wait :(

#60 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 04 July 2017 - 01:19 PM

Hi,
I implemented that I could do it immediately, :)
but, after that, please wait momentarily.
 
Here is new updated version.
http://pm.matrix.jp/...ASIC157beta.zip (bug fixed updated 2017.7.8)
 
v1.57beta       2017.7.8
-Added a setting to disable the header when editing code.
-Added a way to delete multiple characters with: Shift+8 (clip) and then DEL to remove everything inside the selection.
-Added a setting to auto save without a popup.
-Remove the need of "Then" in If-Statements
-Added "Screen" command option to invert screen. "Screen"+"R"
(example) ScreenR
 
-Added "Screen" command option to convert from Screen Coordinates to Graph Coordinates.
(usage) Screen#X,Y[,Xmin][,Xmax][,Ymin][,Ymax]
 return value to List Ans{x,y}
(example) Screen#1,1,-6.3,6.3,-3.1,3.1
 result {74,22}
 
-Added "Screen" command option to convert from Graph Coordinates to Screen Coordinates.
(usage) Screen%X,Y[,Xmin][,Xmax][,Ymin][,Ymax]
return value to List Ans{x,y}
(example) Screen%74,22,-6.3,6.3,-3.1,3.1
result {1,1}
 
-Drawing objects with VRAM commands( _Rectangle, _Circle, ...) in Graph Coordinates instead of Screen Coordinates.
  add to '#' character option to ViewWindow Coordinates.
  support ML command,
_Point
_Pixel
_PixelTest(
_Line
_Rect
_Horizontal
_Vertical
_Circle
_FillCircle
_Elips
_FillElips
_ElipsInRct
_FElipsInRct
(example) ViewWindow -6.3,6.3,0,-3.1,3.1,0
 Screen.G
 _Circle #0.5,1.2,1.2.1
 
-Added a command to center strings.
(usage) StrCenter("Strings",length[,"SpacingStrings"]) (*uodated 2017.7.8)
(example) StrCenter("Test",8)
 results in "  Test  ")
(example) StrCenter("Test",8,"*")
 results in "**Test**"
 
-Added a command to repeat string  StrChar(
(example) StrChar("ABC",5)
  results in "ABCABCABCABCABC"
 
-Added commands "Hex(" and "Bin("
(exapmle) Hex(12345)->Str 1
 result in "3039"
(example) Exp("0X"+Str 1)->A
 result in 12345
(exapmle) Hex(12345)->Str 1
 result in "11000000111001"
(example) Exp("0B"+Str 1)->A
 result in 12345
 
-Added more than 26 lists (max 52)
 
-Added create folders [MK.F]
 but,[RN.F] is a future plan.

Edited by sentaro21, 08 July 2017 - 01:28 AM.

  • (*) likes this

#61 (*)

(*)

    Casio Addict

  • Members
  • PipPipPip
  • 51 posts
  • Gender:Not Telling

Posted 11 July 2017 - 01:48 AM

I have made a new program to show off the performance of C.Basic again :)



#62 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 2017 - 12:06 PM

I have made a new program to show off the performance of C.Basic again :)

Thank you for the new interesting application program! :D
 
Fixed some bugs of the minifont editor. :)
 
v1.58beta       2017.7.14
-Added minifont editor
-Added a setting to disable debug mode.
-To be able to delete folder in file mode DEL.
-Fixed Prog command bug that cannot read from subfolder file. ( enbug 1.00beta5..)
 
 
v1.59beta       2017.7.16
-Added Replacement in editor. :)
 Replacement character string input is possible when push F2 after the search strings input.
 There are F2 to replace while confirming it and mode F4 to all replace without confirming.
-Fixed a bug that when trying to press NEW in while the cursor is on a folder, you can't create a program.
-Fixed a bug that can't input clip strings to search strings.
 

 


Edited by sentaro21, 16 July 2017 - 12:42 PM.


#63 (*)

(*)

    Casio Addict

  • Members
  • PipPipPip
  • 51 posts
  • Gender:Not Telling

Posted 25 July 2017 - 04:43 PM

 

2 demos I made, using the new colors feature in C.Basic.



#64 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 26 July 2017 - 12:52 PM

Thanks very much for your interesting idea of the functional enhancement. :D
 
Here is the new version.
 
v1.60beta       2017.7.26
-Added StrBase( command
(usage) StrBase(Number string, Current base, Expected base)
          Current base, Expected base: 2~64
 Use character { 0-9 A-Z a-z <theta><pi>}
(example) StrBase("579",15,12) -> "873"
 StrBase("100",13,10) -> "169"
 StrBase("123",16,3) -> "101210"
 StrBase("43981",10,16) -> "ABCD"
 StrBase("12A345AFZ",36,10) -> "2999794422815"
 StrBase("AZaz",62,10) -> "2520113"
 
-Fixed "Graph Y=" Line Style bugs
-Fixed that not work when _PixelTest( is top of line.
 
-Added new color (2x2 dot matrix) in MonochromeLib command.
color value: 10    11    12    13     14 (2x2 dot matrix by 1dot width)
color value: 20    21    22    23     24 (2x2 dot matrix)
                    oo    *o    *o     **      **
                    oo    oo    o*    *o      **
(example) _FillCircle 64,32,30,21
 
-Added random color in MonochromeLib command.
 (usage) <command> x,y,,,color,chance
(example) _Rectangle 0,0,127,63,0,0,4,0.5
 would will the whole screen with random pixels, pixels have a 50% chance of being on (0.5)
(example) _FillCircle #0,0,3,4,0.5
 Makes a circle with the radius 3, the circle is filled with random pixels (on/off) pixels have a 50% chance of being on (0.5)
 If the color is 4, you can set the chance
(example) _Rectangle 0,0,127,63,0,0,4,0.1
 fills the screen with pixels, the pixels have a 10% chance of being on
 
-Added width in _Line command.
(usage) _Line X1,Y1,X2,Y2,Color[,chance][,Width]
(example) _Line 0,0,127,63,1,,10


#65 (*)

(*)

    Casio Addict

  • Members
  • PipPipPip
  • 51 posts
  • Gender:Not Telling

Posted 26 July 2017 - 10:22 PM

Thanks for all the updates :)

Here's another thing I made in C.Basic:



#66 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 27 July 2017 - 02:18 AM

Thanks for showing new interesting possibility of C.Basic.
I'm looking forward to your C.Basic application. :D


#67 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 02 August 2017 - 02:55 PM

Here is the new updated version. :)

 
-Added a setting to more Pict & List at using hidden RAM.
You can use Pict(up to 99) & List(up to 1040).
 
-Added "List" & "Mat" replace font.(Reverse or Thick by setup)
 
-Added _Circle option.
(usage) _Circle x,y,radius,color[,chance][,width][,start_angle][,end_angle][,vertex]
(example) _Circle 64,32,20,4,0.5,3
3x3dot 50% circle
(example) _Circle 64,32,20,1,,3,0,90
to draw 3x3dot 1/4 circle
(example) _Circle 64,32,20,1,,,0,360,5
to draw pentagon ( to have an effect on setting of Draw Type )
(example) _Circle 64,32,20,1,,,20,380,5
to draw shifted pentagon
 
-Added _Test option in ML command.
(support command) _Point _Line _Rectangle _Circle _Polygon
to use function to put "_Test" before support command.
(example) _Test_Rectangle 0,0,127,63
 to return the amount of pixels that are on in that area (0,0)-(127,63)
(example) _Test_Circle 62,32,20
(example) _Test_Point 10,10,5
(example) _Test_Line 10,10,100,30
 
-Added Zoom & Rotate in ML command. ( based on Planet-Casio Ninestars expansion )
(usage) _BmpZoom &Mat , x, y, width, height, zoomwidth, zoomheight [,color][,chance]
(usage) _BmpRotate &Mat , x, y, width, height, angle(degree) [,color][,chance]
(example) _BmpZoom &Mat A, 0, 0, 20, 10, 1.5, 2.5 
(example) _BmpZoom &Mat A, 0, 0, 20, 10, %150, %250 , 4, %50
(example) _BmpRotate &Mat A, 0, 0, 20, 10, 45 
 
-Added Getkey "M" option that puts multiple pressed keys into a list
(example) GetkeyM->List 1
press EXE and F1 will result in {79,31}
 
-Added ListCmp( command that compare List to List or List to value.
(examle) ListCmp({1,2,3},{1,2,3})
return value 1
(examle) ListCmp({1,2,3},{1,3})
return value 0
(examle) ListCmp({1,2,3},{1,3,2})
return value 0
(examle) ListCmp({1,2,3},2)
return value 1
(examle) ListCmp({1,2,3},4)
return value 0
 
-SortA(,SortD( command came to be usable in formula expression.


#68 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 13 August 2017 - 09:04 AM

Thanks for many usable requests from Emex. :D
Here is new updated version.
-Added history in editor.
 To Press MENU, You can select previous 32 commands.
 and Press [LEFT][RIGHT], display it in order with much frequency.
 
-Added Matrix Dot Edit mode. ( Press OPTN key at Matrix editor screen.)
-Added Matrix Data copy to Clipboard.(C.Basic format)( Press Shift+8(CLIP) key at Matrix editor screen.)
 and Paste from Clipboard.( Press Shift+9(CLIP) key at Matrix editor screen.)
 You can edit dot data in the mat screen, and then copy the code into your programs.
 
-Added Bmp file support.(only 1 bit mono type)
 (example) BmpSave "TEST",Mat A
  save "TEST.bmp" at current folder.
 (example) BmpLoad("TEST")->Mat A
  load bmp data to Mat A
 
-Added DrawMat command that drawing Mat data.
 (usage) DrawMat Mat A[px,py], x, y, width, height [,zoomwidth][,zoomheight][,color][,chance]
 (example)  DrawMat Mat A, 0, 0, 128, 64
 (example)  DrawMat Mat A[10,5], 0, 0, 40, 30, %150, %250 , 4, %50
 
-Added Capt file load and save.
 (example) StoCapt 20
  save as "Capt" folder
 (example) RclCapt 20
  Load from current folder or "Capt" folder.
 
-reduce Pict file size.(2KB->1KB)
 
-Added StrRepl( command.
 (usage) StrRepl(String1,Find,ReplaceWith,StartAtCharPos)
 (example) StrRepl("Hello World","World","Earth") -> "Hello Earth"
 (example) StrRepl("abcabc","ab","ff",3) = "abcffc"
 (example) StrRepl("abcabc","ab","ff") = "ffcffc"
 
-Disable MENUkey at IRQ is enable.(flashing cursor etc)


#69 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 20 August 2017 - 01:23 PM

Here is new updated version. :)
-Added serial communication commands.( not compatible with genuie CasioBasic.)
 (usage) Send( data [,baudrate])
 (usage) Recv( data [,baudrate])
 (usage) Send38K data [,bytecount]
 (usage) Receive38k data [,bytecount]
 (usage) OpenComport38K[,baudrate][,transfermode]
 (usage) CloseComport38K
 [data]: Variable,Matrices,List
   data is necessary to match data type of a transfer source to a transfer destination.
 [transfermode]: 0:binary data transfer mode     1:necessary to match data type (default)
   When OpenComport38K with [transfermode:0]option, Send38K/Receive38k is binary data transfer.
 [baudrate]: 0=300, 1=600, 2=1200, 3=2400, 4=4800, 5=9600, 6=19200, 7=38400, 8=57600, 9=115200 baud
   default baudrate is 38400
 Send(/Recv( use alone.
 Send38K/Receive38k is necessary for OpenComport38K/CloseComport38K.
 
 (example) Send(A)
 (example) Recv(A)
 (example) Send(Mat A)
 (example) Recv(Mat A)
 
 (example) OpenComport38K,9,0
           Send38K List 1
           CloseComport38K
 (example) OpenComport38K,9,0
           Receive38k List 1
           CloseComport38K
 
-Added Editor line number display.
 
Please refer to the serial sample program in C.Basic_sample folder in CBASIC163beta.zip


#70 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 2017 - 06:26 AM

Here is new updated version 1.64beta.
Thanks to Emex for many valuable request. :)
 
 
-To changed logical line number from physical line number in editor.
 
-Added Mat 1 or Mat @A syntax.
and to changed correspondence of List 1~26 and small letter Mat.
Mat a~z is List 27~52
Mat a~z is not List 1~26
List 1~26 is independent List
 
  Mat 1  instead of Mat A ( not same as List 1 )
  Mat 2  instead of Mat B ( not same as List 2 )
  Mat 3  instead of Mat C ( not same as List 3 )
  Mat 26 instead of Mat Z ( not same as List 26 )
  Mat 27 instead of Mat a ( same as List 27 )
  Mat 28 instead of Mat b ( same as List 28 )
  Mat 29 instead of Mat c ( same as List 29 )
  Mat 52 instead of Mat z ( same as List 52 )
  Mat 100  = List 100
  Mat 1000 = List 1000
 
(example) Mat 1 + Mat 2
(example) 3->A
           Mat @A = Mat C
 
to input "@" by OPTNF5
The abbreviated form of Mat @A is @A.
(example) 2->A
{5,3}->Dim @A
123->@A[ 1]
 
But the @A1 notation is not usable.
 
 
-Added set by seed for Ran#.
(usage) Ran# #seed(integer number)
(example) Ran# #12345
(example) Ran# #A
 
-Added ZoomRotate in ML command. ( based on Planet-Casio Ninestars expansion )
(usage) _BmpZoomRotate &Mat , x, y, width, height [,zoomwidth][,zoomheight][,angle(degree)][,color][,chance]
(example) _BmpZoomRotate &Mat A, 0, 0, 20, 10, 1.5, 2.5, 90
(example) _BmpZoomRotate &Mat A, 0, 0, 20, 10, %150, %250 , 15, 4, %50
 
-Added specify the range at _Hscrool and _Vscroll in ML command. ( based on Planet-Casio Ninestars expansion )
(usage) _Hscroll scroll [,x1,y1,x2,y2]
(usage) _Vscroll scroll [,x1,y1,x2,y2]
(example) _Hscroll 1,32,16,47,95
(example) _Vscroll -1,5,10,100,40

Edited by sentaro21, 30 November 2017 - 12:11 PM.


#71 piu58

piu58

    Casio Freak

  • Members
  • PipPipPipPip
  • 145 posts
  • Gender:Male

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

Posted 28 November 2017 - 07:27 PM

Dear Krtyski,

thank you for providing C.Basic. Very cool!

 

I see a lot of advantages of using it. Not only because it is faster. The editor is remarkably better and I may use L and M for Lists and Matrices (which I made in my hand lettering form the first day). And that I can have programs in folders.

 

I have a question:

In the Casio basic the is a strong link between the program and the variables. So I may prefill variables, Lists or Matrices and start then a calculation on that. Because C.Basic runs in the second storage, I cannot see the calculators variables. At least Lists and may b matrices would be helpful. Is there a way doing this?

 

Thank you, Uwe.

 

#72 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 30 November 2017 - 04:44 AM

Hi piu58,

Thanks for using C.Basic. :)
 
The current version of C.Basic becomes the independent system from genuine Casio Basic.
Sorry for can not using genuine Variable or Lists or matrices.
 
You can do it in the C.Basic by select Shift+F1(Var) or F2(Mat) at filemode to set the initial value in the Variable or Lists or matrices.


#73 piu58

piu58

    Casio Freak

  • Members
  • PipPipPipPip
  • 145 posts
  • Gender:Male

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

Posted 30 November 2017 - 06:25 AM

Thank you for your answer. In the meantime, I experimented a lot with the compiler and I detected some other great things. Matrices of different data type, automatic local variables (if I use small letters) and a much better editor. Even line indent is possible now, the code is much better readable.

I will use it regularly.

After thinking about it, Lists are not such a large problem. I can use Matrices instead, and have the advantage of a letter instead of a number for designation.

 

I found an error in the program. From time to time I cannot invoke the Catalog by SH-7. I have to leaver the program and enter it again, then it works again.

 

Thank you for providing this! 


Edited by piu58, 30 November 2017 - 07:02 AM.


#74 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 30 November 2017 - 02:35 PM

Thanks very much piu58 :D
I'm impressed in your deep insight.
 
Because some bugs are found after 1.64,
I will updated it in a few days.
 
I'm corrected that the CATALOG key does not work.
Please download 1.64  (2017.11.19 updated) again.


#75 piu58

piu58

    Casio Freak

  • Members
  • PipPipPipPip
  • 145 posts
  • Gender:Male

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

Posted 01 December 2017 - 09:23 PM

Good evening,

I downloaded the new version yesterday. Today a had a tript with train. I thought, in the 90 mins I could experiment a bit with it and took my calculator with me.

 

At first I thought there would be no debugging for my 9860G (without II). But after switching it on :Great thing. Like a real compiler.

 

I like suing small letters for variables, because they can be read better. The small font ist great! In combination with the switched of headline one has a real large visual area.

 

Unfortunately, integer numbers (like %n) don't work anymore. They worked in the last version so I think it is only a small bug. In For loops they give syntax error, in normal calculation they do nothing. The tracer first steps in the % and then in the letter. I think if it would work ok, bot would be traced at once. I hope this description helps.

 

I experimented with bitmap matrices and wrote a quick version of Conway life. I know there comes a version with c.basic, but this does not run at my pocket computer.

 

The program is short, so may be somebody likes to type it in. It uses the fulls screen without the borders and need around 20 secs for a round. I left the borders free an re-used the first line for a progress indicator and the last one for a type of round counter: It sets a dot for every 10 round. Still in the train I enjoyed all the  blocks, blinkers, beehives, ponds, gliders and sometimes even a spaceship (but no glider gun) which I knew form my young days.

 

Enjoy!

 

ClrGraph:CoordOff:AxesOff:GridOff:LabelOff
ViewWindow 0,126,0,0,62,0
{127,63}->Dim Mat a.p
{127,63}->Dim Mat b.p
For 2->i To 126
 For 2->j To 62
  If 2Ran#>1.8:Then
   1->Mat a[i,j]
   Plot i-1,j-1
  IfEnd
 Next
Next
1->z:0->y:10->d
Lbl 1:'calc
For 2->i To 126
 PlotChg i-2,62
 For 2->j To 62
  Mat a[i-1,j]+Mat a[i+1,j]->n
  n+Mat a[i-1,j-1]+Mat a[i,j-1]+Mat a[i+1,j-1]->n
  n+Mat a[i-1,j+1]+Mat a[i,j+1]+Mat a[i+1,j+1]->n
  If Mat a[i,j]=1 And n=2:Then 1->Mat b[i,j]:IfEnd
  If n=3:Then 1->Mat b[i,j]:IfEnd
 Next
Next
For 2->i To 126:'copy
 For 2->j To 62
  Mat b[i,j]->Mat a[i,j]
  0->Mat b[i,j]
  If Mat a[i,j]=1:Then PlotOn i-1,j-1
  Else PlotOff i-1,j-1:IfEnd
 Next
Next
z+1->z
If z>d:Then
 z-d->z
 PlotChg y,0
 y+1->y
IfEnd
Goto 1


#76 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 02 December 2017 - 10:33 AM

Dear piu58

 

I'm a big fan of C.Basic. I've enjoyed C.basic from very early version with sentaro21 since 2015.

I've made Conway's Life Game with function of presetting initial bitmap pattern (cell pattern), Now I think your idea that randomly created preset pattern is very interesting.

 

Just for your info., there are special command for Conway's game of life such as CellSum( and DotLife(. Probably you can enjoy much faster game with those commands.

 

 

[edit 1]

In order to introduce how the "game of life" commands runs fast, I made Conway's Game of Life long time ago;

https://egadget2.web...GameOfLife.html

 

Preset cell patterns (15 patterns) are prepared (in LMAP1.g1m). Now I added 16th cell pattern that is your random pattern. The sub-routine program is named as LMAP1P.g1m. Also main program are also renamed to LIFE074P.g1m and LIFE084P.g1m. The suffix 'p' is from your name piu58.

 

By setting of "integer mode", C.Basic runs faster almost in 1.5 or double.declaration '#CBINT sets integer mode, also I needed to modify your code for integer calculation;

 

For 2->i To 126
 For 2->j To 62
  If 2RanInt#(1,100)>180:Then
   1->Mat B[i,j]
   Plot i-1,j-1
  IfEnd
 Next
Next
 
Also Matrix name is changed to fit main program.
 
I really enjoyed random cell pattern by your code. Thank you!
 
URL to download "piu85 version of Conway's Game of Life":
 
LIFE074P uses CellSum( command and LIFE084P uses DotLife (much faster). If you use Ftune (by sentaro21), an over clock tool, you can enjoy much much faster Conway's Game of Life!
 

 

[edit 2]

If you downlaoded and tried running files, you may have a problem on fx-9860G, so I replaced all files. This was because of file name problem (small letter was included in their file names) and program code of LIFE084P used 1 Byte matrix which is not 100% compatible with fx-9860G. (LIFE074P was properly modified although).

 

I modified those files and checked with fx-CG9860GII, but to be honest I do not have 9860G, so did not check with 9860G. My friend sentaro21 checked this with his 9860G, now they are OK. I'm Sorry for this inconvenience.


Edited by Krtyski, 03 December 2017 - 11:04 AM.


#77 piu58

piu58

    Casio Freak

  • Members
  • PipPipPipPip
  • 145 posts
  • Gender:Male

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

Posted 09 December 2017 - 07:20 AM

Good morning,

 

I used and enjoyed the C:Basic quite a lot. It is very good having a real programming language without a large computer.

 

Beside the error that I cannot use integers at all, I detected another error. In one of my programs I tried to give a runtime progress indicator in the form

Locate 1,2,"    "

Locate 1,2,k

 

The first locate is to empty the space of the new k. That is necessary if a following k is shorter.

 

It works the first time (k is given) and then the screen stays empty. I deleted the Locate 1,2,"   ", and the it works. In my case k is a For-variabel which gets always longer, so I don't need the "delete" command which prints empty string. In other cases I want to give the remaining error of a numerical recipe, which can have any length. The I have to delete.



#78 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 December 2017 - 11:34 AM

Hi piu58

 

Please tell me if I do not understand what exactly is your problem. But I suspect the error occurred by setting of integer mode or double mode and also using of integer or double variables.

 

When K is given double figure even you want to run your program in integer mode, please use '#CBDLB to access K;

 

'#CBDBL

K;0.1->K  'K is given

 

'#CBINT

[code being processed in integer mode]

 

'#CBDBL

Locate 1,2,"     "

Locate 1,2,K

 

'#CBINT

[code being processed in integer mode]

 

 

I hope this helps.



#79 piu58

piu58

    Casio Freak

  • Members
  • PipPipPipPip
  • 145 posts
  • Gender:Male

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

Posted 09 December 2017 - 03:38 PM

I have two problems:

 

The first one: In the version before the current I could use a variable as integer with a % in front of the name:

%i=3

I

 

The second one:

If I try to output a number during the run, I have to use Locate. To get the located field empty, I firts print at the desired position an empty string:

Locate 1,2,"         "

and the the number I want

Locate 1,2,k

 

In the first round of my program the number of k (which was a 1) appeared at the screen. In the second round  the field was cleared, but the number of k did not appear (I expected a 2). I delete the empty-string-Locate and it works (in this case, where a new k is has always equal or more ciphers than the forme one). In other cases it is necessary to empty the field.



#80 piu58

piu58

    Casio Freak

  • Members
  • PipPipPipPip
  • 145 posts
  • Gender:Male

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

Posted 10 December 2017 - 05:43 AM

A very small program which demonstrates the Locate error. It works in Menu-log, but failed wit C:Basic (Menu-ab/c)

For 1->I To 100
Locate 1,2,"         "
Locate 1,2,I
For 1->J To 10000
Next
Next
If you delete or commen the Locate 1,2,"         " line, it works in C.Basic too.






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