>>> See the P7 project topic instead! <<<

Hi! I heard Cemetech wasn't as much into CASIO calculators as before, but still, maybe this project will at least interest some of you. Wink

libg1m is basically a library that should allow you to read and write in proprietary and community-made formats surrounding all-time CASIO calculators. It is part of the in-development version of the P7 project, which the official website is located here. The P7 project is basically a project to free software around CASIO calculators, with the FONTCHARACTER reference/libfontcharacter for freeing the proprietary character set, the libp7 for freeing the communications protocols, and the present libg1m.

Currently, I'm focusing on decoding and on having a clean interface, so the encoding is only implemented for fx addins (which are a really basic format) ; but here are the formats libg1m can or will be able to decode:
- CAS/GRC: few subformats are actually managed (programs, lists, matrixes), but the overall format (which is more or less the same as the legacy communications protocols) is managed;
- Casemul: all but programs are managed (as programs in Casemul files have tokens, so dedicated functions need to be made in libfontcharacter before this is possible);
- Cafix: only a placeholder for now;
- FXI: only a placeholder for now;
- Newcat: only a placeholder for now;
- G1A: managed for encoding and decoding;
- G1E/G2E/G3E: I still have to work on these ones, although libg1m can already do basic decoding on them;
- G1L/G1N: more or less managed for decoding;
- G1M/G1R/G2M/G2R/G3M: managed for decoding, although only the main subtypes are managed for now (lists, matrixes, vectors, pictures, captures, programs, setup files, spreadsheets, strings, alpha memory);
- G1S: documentation has been regrouped, decoding function still has to be finished;
- C2P: only a placeholder for now;
- G3A: managed for decoding only;
- G3P: I'm not far from getting this format out of the way, though zlib still throws me an error, so this is not ready yet.

Also, I'm trying to make it as clean as possible while documenting the formats in the specific format headers:
https://github.com/cakeisalie5/libg1m/blob/master/include/libg1m/format.h
https://github.com/cakeisalie5/libg1m/tree/master/include/libg1m/format/

You can find all of the links (source included) on the in-development website. Also, if you want to help, I'll organize contributions as soon if I have time Smile
We aren't as focused on the Casio models as much as TI, but this is still wonderful! I'll take a look at the case whenever I've got time!
Considering that we did a lot of work to to reverse engineer the g3p and related formats, we're certainly interested, and we still consider ourselves one of if not the top site working with third-party Prizm development. Unfortunately, we just haven't seen much Casio development anywhere these days, so I suspect someone may have misled you. Wink This is a great project, and I hope you'll keep us updated as you go. Are you working on it on your own, or with other contributors at the moment?
The other contributions have mainly been in reverse engineering, something I'm quite bad at. On the library itself, I'm alone for the moment (I haven't really been used to opening to contributions on any P7-related project yet), but I'll try to organize things so that people can contribute (like defining the coding style, what is to modify and what isn't, where discussions can take place, and so on) soon ! Smile
Thanks for working on this - if you haven't posted reference to this in the prizm sub forum I recommend you do just to avoid this info becoming hard to find between non-prizm projects here. Thanks again
Oh, I didn't see there was a Prizm subforum. Actually, I might remake a topic about the P7 project in general, and not only about libg1m, as everything is linked together in this project. Should I make a topic directly in the Prizm subforum, or should I post it here and make a reference in the Prizm subforum ? Thanks in advance :p
In my opinion making a detailed post in prizm sub forum and referencing it here in projects forum is the most sensible route but i may be wrong
Every time i see this topic my brain thinks
"one library to rule them all, one library to find them, one library to bring them all, and in the darkness bind them"
Made a topic about the P7 project here Smile
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement