Join us on Discord!
You can help CodeWalrus stay online by donating here.

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Cakeisalie5

Hey, that's not funny, I am in a long period of reorganizing completely the libcarrot so it can include things for other platforms than the fx-9860G :P
(but anyway, nobody will vote for my projects here, and not even me, as I'm not active enough here, and haven't got the points :P)
I don't look for a maintainer anymore, I'm taking this project again, even though I'm reorganizing it and making something else from it (a general libc for all the platforms I want to port it to). ^^
Randomness / Re: How untidy is your desk??
April 22, 2017, 12:50:50 PM
Yeah, that's because I ate while programming. I did throw them when I realized they were still there x)
Randomness / Re: How untidy is your desk??
April 22, 2017, 12:41:35 PM
Oh come on, this must be a clich--
To be honest, I'm not sure I understand what you mean. This lib is basically a libc, which is the "bare minimum" (what every C program should be able to use, whatever the platform) for any C program. It is made to write C programs for the fx-9860G. This lib in fact provides more, because it also includes other libraries (or, aims to).
If by this you mean writing an extensible Basic interpreter, well technically if it is written in C (or, if it is one day supported, C++), it can use this library. Making it accessible from Basic is a totally different story... x)
For making apps on GNU/Linux for the fx-9860G, we had two main libraries in the CASIO community:

  • the fx-9860G library (fxlib), which appeared in 2006 with the SDK and hasn't been updated since;
  • gint, some sort of "kernel library" which takes control of the machine for a better control over it.
Ideally, for making an app under GNU/Linux, you would just have to use gint; the fact is, gint is already a two-years old project and even if it is still in active development, some features are missing and will probably be for some time, such as serial/usb port management, so for quick hacking, I was using fxlib. Unfortunately, fxlib is not well done at all, the conversion to GNU/Linux is subject to some fails (sprintf doesn't work correctly), and is made to be C89-compliant where I like to develop using the C99/C11 standard, so headers such as inttypes.h are missing.

This library is a solution to all of these problems. It still uses the system for most things, such as hardware control, though re-implements some functions in the system such as drawing functions in order not to be too slow.

It is an in-development project I've had for a month now. Its sources are available on Github:

>> grab it! <<

The fact is, I'd like to focus more on the P7 project, and would like to hand this project over to someone else. In order to ease this, I made a contribution guide that describes more or less accurately the coding style I have been using up to now, and a TODO list. Is anyone here interested in taking over this project? I'd really like it :)
Actually, it is not only considered. I've been working on regrouping documentation about it for a while now, it's just tricky to make a good integration of it in libp7. Here are the headers documenting it, for machines and humans, in case you're curious :)

Quote from: DJ OmnimagaAh ok about English, I just noticed that on most forums I've been to, the proportion of people who have serious troubles writing English sentences is much higher than people from other countries.
That's what most of the people think, yeah (it's even in What The f*** France :p). I hope it's not true. But that's not the topic to discuss about that ;)

I told the gint project leader a while ago, he seemed interested and, by the look of it, he created an account and stuff so there will probably be a gint project topic here some day (he'll be passing important tests during the month/two months if I'm not mistaken, he'll probably do that after).

And in order to unfocus more, sorry for not giving as many news about this project as on Planète Casio. The 4.0 release is still far away, but on the right tracks. I've implemented Prizm screenstreaming and corrected serial management for Linux, it now works with Util-Pocket cable (same as usual self assembled cables, sort of?) and the SB-88A Critor lent me.

What I'll be working on next is the introduction in libp7 of the legacy protocols (CFX-9700G, CFX-9850G, AlgebraFX), the correction of the serial stream on Microsoft Windows (probably followed by the USB correction for Microsoft Windows), SCSI implementation (required for the Prizm color screenstreaming, more info here in french, sorry about that), MCS full interactions (which still requires a lot of work on libg1m, although a lot of it has already be done), libfontcharacter maturation, and other minor stuff, such as settings management. Not in that order, Microsoft Windows thingies will probably be one of the last things I'll do because the Windows API and the CESG502 driver are a real pain to work with. Sorry for being slow at doing things, but I'm really trying to make things clean so that no one has to make an equivalent to my projects later :)
Quote from: p4nixDo 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: p4nixAlso, 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: p4nixAlso, try to encourage other members to crosspost their projects here  :thumbsup:
Quote from: DJ OmnimagaThe 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 :)
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). ^^
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)
Quote from: DJ OmnimagaBy the way, you had issues making C stuff for Casio calcs before due to using Linux, right? has this been fixed ever since?

For the fx-9860G, we have had a working toolchain using GCC and lephe's g1a-wrapper for a few years now. We also have a ~working fxlib conversion for GCC (.lib -> .a), but a few functions don't work anymore (e.g. sprintf) and it's only C89-compatible, where GCC supports the latest C standards (C99, C11).

So to replace fxlib, we have a few alternative projects: gint (which is about taking over the hardware control for the time of add-in execution), and a little project I've launched a few days ago, libcarrot, which focuses on using the system for interacting with the hardware, and being fxlib-compatible. ^^

Also, for transferring, I'm the developer of the P7 project, which the initial focus is to make communicating with your fx-9860G possible under any platform (even if I'm focusing on Linux for now).
Quote from: DJ OmnimagaI hope to have some time to try this out (and hope that FA-124 is Windows 10-compatible) someday.
It is compatible... Oo
Disabling the ad blocker (uBlock origin) and forcing page refresh (Ctrl + Maj + R) doesn't fix the issue, and all of the client CDNs are enabled. :(
What should I try next?
I don't know where to put this, so I'll put this here (feel free to move it). I've got a design bug that won't let me see the last message:

I'm on Mozilla Firefox 50 on Manjaro GNU/Linux.
Powered by EzPortal