* WalrusIRC

You need to have 5 posts and not be part of restricted usergroups in order to use the WalrusIRC embedded shoutbox. However, you can also access our IRC channel called #CodeWalrus via EFnet.

Author Topic: The P7 project: free your CASIO calculator!  (Read 190 times)

0 Members and 1 Guest are viewing this topic.

Offline Cakeisalie5

  • New User
  • Join Date: Jul 2016
  • Location: France
  • Posts: 7
  • Post Rating Ratio: +0/-0
  • I like to pasta.
    • @thecakefive
    • cakeisalie5
    • View Profile
    • Personal website
  • Gender: Male
The P7 project: free your CASIO calculator!
« on: March 15, 2017, 12:34:52 pm »
Hi! I've been developing this project for a while, but Critor suggested me to make a topic here about it, and I saw a few reactions that made me thought a little CASIO on this forum wouldn't hurt too much :P

The origin of the name is "Protocol 7", as it's the name Simon Lothar (the one and only) gave to the proprietary protocol CASIO used on the fx-9860G and upper, and is still using on Prizm & the fx-CG50 (or Graph 90+E) for screenstreaming and OS updating.

Before I started the project, there were already a few projects, but none satisfied me: xfer9860 by Andreas Bertheussen, which only managed the fx-9860G by hardcoding its model ID (for what I've understood), and UsbConnector by Nessotrin (an occasional member of Planète Casio), which I didn't like the project organization (also, C++, yuk).

So I started the P7 project in August 2016, which at the time was only made of a library, called libp7, and a transfer utility, p7. The first version was published a week later, even though it couldn't do a lot (I have lost part of the commit history because of the reunion of the utilities under a `p7utils` repository, but I think I could only send and request a file on the storage memory, which was already great for the time). In september, I added a new utility, p7screen, which could display a streamed screen for your fx-9860G! I also made, in january 2017, a little Python 3.x module, pyp7, which uses libp7, and Intelligide (another member from Planète Casio) started a GUI project using C++ and Qt, p7gui. Also, but that's a little under the hood project, I'm making p7os, which will be able to backup and, maybe later, install a new OS on your fx-9860G calculator. :)

Aside from the P7 project, I'm making projects which will later be merged to it, although this is unofficial for now: libg1m (for manipulating files under CASIO format), and libfontcharacter (a library for managing CASIO's encoding and tokens), based on the FONTCHARACTER reference, a reference of all existing characters, with Unicode equivalents, known tokens, ...

Today, the released version of p7utils/libp7 (3.0) cannot, to me, do a lot today, although it makes what wasn't so basic to now something easily accessible. But there's still a lot to do, which will probably be done for the 4.0 release:
- include usage of libg1m in libp7, in order to manage MCS transactions;
- manage the old CAS protocol(s), so libp7 allow you to interact with your Graph 100 or any old calculator;
- integrate file encoding using libg1m (which can only decode for now), for saving your backups in the G1M/G2M/G1R/G2R format;
- manage the fx-CG*0 screenstreaming formats (Projector mode is already supported in the indev version);
- manage CASIO's SB-88[A] cables (libp7 only manages active serial cable for now, such as the PC/CASIO USB cable sold by Util Pocket in France);
- plenty of other awesome stuff! :)

The official website of the P7 project is right here (thanks to Planète Casio for hosting it):

Any suggestions or complaint? Don't hesitate, answer to this topic! :P
(also, thanks p4nix, the website couldn't allow me to answer your private message :D)
« Last Edit: March 15, 2017, 12:37:02 pm by Cakeisalie5 »


  • Calculators owned: Graph 65, Graph 100, fx-9750GII-2, Graph 75+E
Leader of the P7 Project, for communication utilities with CASIO calculators.

Offline DJ Omnimaga

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Topic Management
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 17500
  • Post Rating Ratio: +83/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • View Profile
    • DJ Omnimaga music store
  • Gender: Male
Re: The P7 project: free your CASIO calculator!
« Reply #1 on: March 15, 2017, 04:43:00 pm »
That seems pretty interesting. About the screen streaming, does it mean a PC software could capture animated GIF/AVI screenshots even when a C/ASM/BASIC game is running?
  • Calculators owned: TI-73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)
??? ??? ??? ???

Offline Cakeisalie5

  • New User
  • Join Date: Jul 2016
  • Location: France
  • Posts: 7
  • Post Rating Ratio: +0/-0
  • I like to pasta.
    • @thecakefive
    • cakeisalie5
    • View Profile
    • Personal website
  • Gender: Male
Re: The P7 project: free your CASIO calculator!
« Reply #2 on: March 15, 2017, 04:55:58 pm »
I don't know how it's made on the Prizm, but on the fx-9860G, it depends on if the game/application uses the system functions to update the screen or not (as when the screenstreaming is on, it is those system functions who are in charge of sending the screen content). If it is the case, then yes, it's possible (although p7screen is only a PoC/test application and cannot do this, you'll have to code your own application using libp7 and p7_getscreen). ^^
  • Calculators owned: Graph 65, Graph 100, fx-9750GII-2, Graph 75+E
Leader of the P7 Project, for communication utilities with CASIO calculators.

Offline p4nix

  • Full User
  • Join Date: Jun 2015
  • Location: Germany
  • Posts: 402
  • Post Rating Ratio: +6/-1
  • Don't catch the ball.
    • p4nix
    • View Profile
  • Gender: Male
Re: The P7 project: free your CASIO calculator!
« Reply #3 on: March 15, 2017, 05:15:07 pm »
Do you know if there is a way to include the functions sending the pictures to the computer to monochrome lib?
Also, try to encourage other planet-casio.com members to crosspost their projects here  :thumbsup:

Also, can you already send multiple files at once, apart from using a script and not stopping the transfer on the calc? I'm not quite up to date atm :p
« Last Edit: March 15, 2017, 05:24:13 pm by p4nix »
  • Calculators owned: fx9860GII (SH4)

Offline DJ Omnimaga

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Topic Management
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 17500
  • Post Rating Ratio: +83/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • View Profile
    • DJ Omnimaga music store
  • Gender: Male
Re: The P7 project: free your CASIO calculator!
« Reply #4 on: March 15, 2017, 10:10:12 pm »
Also, try to encourage other planet-casio.com members to crosspost their projects here  :thumbsup:
I think with France in particular, the language barrier is a serious problem (even more than with countries that don't use alphabet for their language, such as China or Japan). The public education system in France is not as serious as elsewhere regarding English learning (in Quebec, learning English is mandatory starting in grade 4). However, CodeWalrus allows users to post in French, German, Dutch and Hebrew if they want to, as long as they put the language inside the topic title (eg [Fr] or [De]). Kinda like how TI-Planet allows users to post in English and I think Portuguese or Spanish.
  • Calculators owned: TI-73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)
??? ??? ??? ???

Offline Cakeisalie5

  • New User
  • Join Date: Jul 2016
  • Location: France
  • Posts: 7
  • Post Rating Ratio: +0/-0
  • I like to pasta.
    • @thecakefive
    • cakeisalie5
    • View Profile
    • Personal website
  • Gender: Male
Re: The P7 project: free your CASIO calculator!
« Reply #5 on: March 15, 2017, 10:24:33 pm »
Quote from: p4nix
Do you know if there is a way to include the functions sending the pictures to the computer to monochrome lib?
I don't think there's a specific syscall for this, I'll ask Simon Lothar, but don't expect much. x)

Quote from: p4nix
Also, can you already send multiple files at once, apart from using a script and not stopping the transfer on the calc? I'm not quite up to date atm :p
Of course, using the --no-init and --no-exit options! So all of the calls to p7 except the last one will need the --no-exit option, and all calls except the first one will need the --no-init option. The command itself don't support sending multiple files at once, but you can still make a simple bash script given what I told above ;)

Quote from: p4nix
Also, try to encourage other planet-casio.com members to crosspost their projects here  :thumbsup:
Quote from: DJ Omnimaga
The public education system in France is not as serious as elsewhere regarding English learning (in Quebec, learning English is mandatory starting in grade 4).
Actually, English is mandatory also in France, and even if most french people aren't almost native speakers, people that do the most on Planète Casio have a good level of English as it's the dominant language in computer science and stuff. The main barrier is that it can be tiring to be in several communities simultaneously. But as I'm trying to gather as much information as I can as I need them for my projects (libp7, libg1m, FONTCHARACTER reference, ...), and information is everywhere, I need to go everywhere to get them. :p

Also, we're quite few at Planète Casio, and even less are really working on CASIO-related projects. Apart from the P7 project, the gint project (+fxsdk), we don't have much. But I'll see what I can do and if some members are interested :)
  • Calculators owned: Graph 65, Graph 100, fx-9750GII-2, Graph 75+E
Leader of the P7 Project, for communication utilities with CASIO calculators.

 


You can also use the following HTML or bulletin board code to share it on your page or forum signature!


Also do not forget to check our affiliates below.
Planet Casio TI-Planet Calc.news BroniesQC BosaikNet Velocity Games