I can't wait for the ones that try to hurt my eyes by mixing Black backgrounds and Yellow text or something
Qwerty.55 wrote:
I can't wait for the ones that try to hurt my eyes by mixing Black backgrounds and Yellow text or something
Haha, well said, or how about green text on a red background? Those kind of retina-searing hijinks would never be tolerated over in the land of TI programming.
I can't believe I didn't notice this before. Looking through the documentation, Casio will apparently have support for .bmp files in the Prizm. Also, the .g3b files that I thought were animation files are listed as "Flipbook files," whatever that means.
Qwerty.55 wrote:
I can't believe I didn't notice this before. Looking through the documentation, Casio will apparently have support for .bmp files in the Prizm. Also, the .g3b files that I thought were animation files are listed as "Flipbook files," whatever that means.
Well, a flipbook is an animation made by quickly flipping through a bunch of static frames, in other words an animation. :_) Qwerty.55 wrote:
I was thinking they were like a literal book where you have to press a button to turn the page.
I don't think so; that would be more like flash cards. I think you were correct in your original assumption that the file is an animation of some kind, probably with a variable framerate.
Casio used an old ISO specification for their .g3b format. They just zeroed almost all of the control data, including framerate. That's fine, except for the fact that the original animations have different framerates. I hadn't thought much about how the OS played the video before, though.
Fascinating, thanks for the clarification. I'm still undecided about getting one of these, but I'm happy to hear that there's already some very solid reverse-engineering success.
Cross posted from Omnimaga:
Since it seems some of you are very interested in programming the Prizm, I'll tell you guys this (I apologize if it's very lengthy):
From disassembling the addins given by Casio, the Prizm uses a SuperH 3 processor, which is what Casio has been using in their products for the last decade (fx-9860, fx-9750GII, Classpad 300, Pocket Viewer, etc.) The addins contain a header 0x7000 bytes long which contains info specific to the addin (appname, icon bitmap, date, version, copy protection, size of addin in bytes, etc.) before the actual binary starts. Addins are loaded into memory offset 0x00300000 (execution starts at 0x00307000). You can confirm this yourself if want using objdump that has been cross compiled for SuperH support (such as GCC targeted for sh-elf). SuperH 3 software manual: http://documentation.renesas.com/eng/products/mpumcu/rej09b0317_sh_3sm.pdf
If someone has the time, it should be easy to crack the header format. The header is about ~28KB, large enough to contain the icon bitmap for the addin. Once someone knows what's the icon dimensions are in pixels, you could probably find it in header by using some hex to RGB viewer.
Hardware wise, it seems pretty similar to the fx-9860G (it seems to be just a fx-9860G with an upgraded color screen and a larger flash chip). From this, I'm guessing the operating system is stored in memory offset 0xA0000000 (Area P2).
You can try asking Casio Japan (not the USA branch, they won't be able to help much since they don't design the calcs) for technical info and questions about an SDK. Someone in the community asked Casio Japan for the USB communication specs and their R&D department nicely gave it us. You can keep bugging Casio Japan to release an SDK, but you have to understand it takes them time to make an SDK since they have to polish up their emulator which the R&D guys use in development, package up a compiler/linker, write manuals, etc. Casio doesn't make any money off SDKs, so I don't think it's their top priority. I think when the fx-9860G came out, Casio didn't release an SDK until a year later IIRC, but hopefully we don't have to wait too long this time for the Prizm. According to Casio's website, they plan to release some trial software at the beginning of next year, so you guys should keep a watch out for that since it might include an emulator.
I'd try to find out more, but I'm too busy right now in college. Hopefully you guys will find everything you need to know in the near future. Happy hackings and Merry Christmas!
source
Quote:
Since it seems some of you are very interested in programming the Prizm, I'll tell you guys this (I apologize if it's very lengthy):
From disassembling the addins given by Casio, the Prizm uses a SuperH 3 processor, which is what Casio has been using in their products for the last decade (fx-9860, fx-9750GII, Classpad 300, Pocket Viewer, etc.) The addins contain a header 0x7000 bytes long which contains info specific to the addin (appname, icon bitmap, date, version, copy protection, size of addin in bytes, etc.) before the actual binary starts. Addins are loaded into memory offset 0x00300000 (execution starts at 0x00307000). You can confirm this yourself if want using objdump that has been cross compiled for SuperH support (such as GCC targeted for sh-elf). SuperH 3 software manual: http://documentation.renesas.com/eng/products/mpumcu/rej09b0317_sh_3sm.pdf
If someone has the time, it should be easy to crack the header format. The header is about ~28KB, large enough to contain the icon bitmap for the addin. Once someone knows what's the icon dimensions are in pixels, you could probably find it in header by using some hex to RGB viewer.
Hardware wise, it seems pretty similar to the fx-9860G (it seems to be just a fx-9860G with an upgraded color screen and a larger flash chip). From this, I'm guessing the operating system is stored in memory offset 0xA0000000 (Area P2).
You can try asking Casio Japan (not the USA branch, they won't be able to help much since they don't design the calcs) for technical info and questions about an SDK. Someone in the community asked Casio Japan for the USB communication specs and their R&D department nicely gave it us. You can keep bugging Casio Japan to release an SDK, but you have to understand it takes them time to make an SDK since they have to polish up their emulator which the R&D guys use in development, package up a compiler/linker, write manuals, etc. Casio doesn't make any money off SDKs, so I don't think it's their top priority. I think when the fx-9860G came out, Casio didn't release an SDK until a year later IIRC, but hopefully we don't have to wait too long this time for the Prizm. According to Casio's website, they plan to release some trial software at the beginning of next year, so you guys should keep a watch out for that since it might include an emulator.
I'd try to find out more, but I'm too busy right now in college. Hopefully you guys will find everything you need to know in the near future. Happy hackings and Merry Christmas!
source
Thanks for this, Qwerty. This makes me hopeful that I should indeed get a Prizm to play around with, and that I shouldn't be so discouraged that the USA customer support gave me a big ol' goose egg when I tried to get an SDK out of them.
Okay, the Prizm Character set appears to have 207 characters, which are standard ASCII characters. They are in an odd order in the table, though.
Qwerty.55 wrote:
Okay, the Prizm Character set appears to have 207 characters, which are standard ASCII characters. They are in an odd order in the table, though.
I wonder how closely the Prizm character table resembles the oddly-ordered TI character set wherein the alphanumeric characters are properly placed, but everything else is scattered.
It's been a little while since I posted anything here, so here's the most interesting stuff.
We're currently working on getting executable Assembly code to run on the Prizm and are analyze the file types available. Several things are known, most prominently that custom application icons are possible and have been demonstrated. Modifying existing files for custom icons makes the application unusable, but others are working on circumnavigating the checksum used to validate the data.
We're currently working on getting executable Assembly code to run on the Prizm and are analyze the file types available. Several things are known, most prominently that custom application icons are possible and have been demonstrated. Modifying existing files for custom icons makes the application unusable, but others are working on circumnavigating the checksum used to validate the data.
Most excellent indeed, Qwerty! Thanks for sharing this news. I still haven't gotten myself a Prizm, since I saw that the store to which I was going to go has it for online ordering, not brick-and-mortar purchasing, but I still plan to get one sooner or later.
Here's a program I wrote a few minutes ago for Graphmaster on how to overclock the Prizm:
Code:
This will set the processor to around 178 MHz, although programs will likely not be able to achieve a full 6x execution speed due to the fact that the data bus speed cannot be changed during runtime.
Important side note: If anyone has a Prizm, don't try that code. The peripheral and internal clock settings are not properly aligned, so a good portion of memory reads won't return correctly. It's just to demonstrate how easy it is to overclock the processor.
Code:
#include "iodefine.h"
void pll3(void) ;
void pll3(void) {
CPG.WTCNT = 0x5a00 ;
CPG.WTCSR = 0xa502 ;
CPG.FRQCR.WORD = 0x8210 ;
}
This will set the processor to around 178 MHz, although programs will likely not be able to achieve a full 6x execution speed due to the fact that the data bus speed cannot be changed during runtime.
Important side note: If anyone has a Prizm, don't try that code. The peripheral and internal clock settings are not properly aligned, so a good portion of memory reads won't return correctly. It's just to demonstrate how easy it is to overclock the processor.
That's nice that the processor speed is settable via a memory-mapped parameter, good job. Howe did you (someone?) discover that?
Renesas has documentation on the processor and it includes a nice section on the Clock Pulse Generator and its associated control unit.
http://wiki.prizmwiki.co.cc/wiki/CPU_clocks
http://wiki.prizmwiki.co.cc/wiki/CPU_clocks
Qwerty.55 wrote:
Renesas has documentation on the processor and it includes a nice section on the Clock Pulse Generator and its associated control unit.
http://wiki.prizmwiki.co.cc/wiki/CPU_clocks
Impressive, thanks for sharing that. This reminds me that I've still made no strides towards getting my Prizm, although I think I do want to do so. :/ Any new tricks? http://wiki.prizmwiki.co.cc/wiki/CPU_clocks
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
» Go to Registration page
» Goto page Previous 1, 2, 3, ... 11, 12, 13 Next
» View previous topic :: View next topic
» View previous topic :: View next topic
Page 2 of 13
» 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
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