As fun as programming in SH3 assembly is, a C toolchain and SDK for the fx-CG, aka Casio Prizm, is needed for serious development. I have been doing some basic research and here is what I have so far.

    We'll need a C compiler, assembler and disassembler.
    - Here the GNU toolchain should work just fine and I already have one built for windows here but I may need to update it to say add newlib or if I have endianness messed up or similar.

    We also need a way to put the binaries from that toolchain into the .g3a ad-in format needed by the fx-CG.
    - I found some useful resources made for the fx-9860G that we may be able to adopt for out uses. The first is addheader which adds the fx-9860G's addin header to a file generated using instuctions similar to this. http://sourceforge.net/apps/trac/fxsdk/wiki/UsingGCC

    The last thing we'll need is fx-CG header files as well as the standard C libs.
    - For this we can either RE the fx-CG specific stuff and use a libc such as newlib or we wait for an official SDK to be released and use that. This is where we will need the most input as to whether we should just wait to see what Casio does or if someone wants to start trying to RE the existing add-ins to try and get a header file going.
All of the header stuff has already been done. Try PMing user SimonLothar on Omnimaga if you'd like more details, as he made all of the stuff.
Would it be possible to get him to share the header stuff over here, or is it the page with the billions of Omnimaga links plastered all over it on the Prizm wiki? Smile
FWIW, I hacked up a simple Makefile and linker script which should be suitable for such some time ago:
http://pastebin.com/tvkBjaKh

I started hacking up the referenced mkg3a.py, but it's pretty incomplete as I didn't have any real information on how the checksums were calculated. As far as it goes, though, the linker script should get a straight binary suitable to be loaded where the addon will be run (although endianness options might need to be tweaked).
KermMartian wrote:
Would it be possible to get him to share the header stuff over here, or is it the page with the billions of Omnimaga links plastered all over it on the Prizm wiki? Smile
The page with a billion of Omnimaga links ("Syscalls") is just what I've read in Simon Lothar's posts. It's nowhere near complete, and I believe that Simon knows much more.
Ahhhh, gotcha. I hope that didn't sound mean, I didn't intend it that way, btw. Smile We should definitely get him to put the rest of what he's figured out somewhere, though.
Yes Tari thanks for that, the link about using GCC with the fx-9860G has a similar script so we should be able to combine them to get the desired effect.

As for your mkg3a.py script look at the addheader.c file I linked as it should be a good start as to the checksums and such. It seems the base stucture of the header hasnt changed much and they just appeared to have added sections and increased the size of the bitmap section to account for color bitmaps.
Well it seems people on omni have already built stuff but those posts were lost in the flood of stuff there. http://ourl.ca/9205 seems to be the most relevant one and I am trying to replicate the posters steps using my tool chain. I'll update with progress if I get it to work.
Excellent, that sounds great. I hope you'll post when you do indeed succeed in replicating the steps (or make some positive or negative progress, of course).
We definitively need a list of all tools dedicated to SH3 programming somewhere eventually, such as in the first post of a topic here and Omni, or if it needs to be edited constantly, maybe in the Wiki. I am not a Prizm ASM/C developer, but when I checked progress recently I was kinda lost. Granted, Omni lets you display a list of all attached files in a topic, but some people used external file hosts, so that won't show up.
The issue right now is that none of the tools are really complete. We have bits and pieces but none of the uploads I've seen anywhere are complete sets of everything needed. Once we have that things will be much easier to work with.
Yeah true. I just meant it would be good that the stuff we currently have is linked to in one post, so people who want to start coding now won't have to read the entire sub-forum on one of the two boards to find everything essential.
Indeed, and that certainly shall be a sticked topic here once we actually get everything together. Wink
KermMartian wrote:
Indeed, and that certainly shall be a sticked topic here once we actually get everything together. Wink
Wouldn't it be better to create a page on the wiki? If we post a topic on a forum, not everyone can edit it to include new information, and members of the other forum(s) might not want to go to another forum to view the topic.
Of course, we could also post a topic containing a link to the wiki page, a bit of descriptions, and such.
For sure, I think that both would be in order, but I think there should definitely at least be a stickied forum thread with a link to the main SDK package, the main documentation index, etc. 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