I will do it myself if no one has already but I had a feeling that someone else has already done it. The reason I am asking this is because I want to disassemble the firmware and write a free software replacement based on uclinux. The reason for doing this is because current casio prizm firmware is non-free software meaning I don't have the source code. Also there are many technical advantages of having a unix-like system on calculator I think it would be fun to have. To start work on this I want to understand the boot process and learn how new firmware data is programmed.
Yes, it's been done multiple times by multiple people and there are tools for extracting the firmware and the updater bootcode from the DLLs inside the setup file.

Simon has some great information about how OS updating works in his documentation.
Indeed. You can find what is probably a slightly out-of-date version of his documentation here:

Thank you I will check that out.
Sounds good. Be sure to let us know how your exploration goes, although I should warn you that sharing the data you extract would likely be an intellectual property rights violation. I believe that anything interesting you reverse-engineer from the ROM is protected by the reverse-engineering clause of the DMCA, though of course IANAL.
^^^ Most likely what I will be doing if fair use or clean room or whatever excuse I can come up with to justify using code based on reverse engineering so if someone says "DMCA" or "Intellectual property" violation they will most likely be wrong. I want my os the be compatible with how casio updates firmware in-case someone changed their mind and wanted to go back to the official firmware. The only similar code in my os will be however the firmware is updated and initialization code. The rest will be based on existing free software for example I want this to be unix-like system so I may consider using the linux kernel and with busybox for userspace.
If using and sharing the results of reverse engineering is a property rights violation, then I'm afraid, but to me it seems all of the custom add-ins represent a violation. Even if we don't take into account the g3a header part, all of them use some kind of syscall, and the way to call syscalls as well as their numbers was the result of reverse engineering the OS. But then of course, IANAL either.
Famously, Compaq reverse engineered IBMs BIOS so that they could produce a clone which spawned a whole industry.
It was a "Clean Room" technique by virgin programmers who studied the specification to produce unique code.

They got away with it and IBM subsequently exited the PC market...

You don't (normally) mess with IBM and live to tell...
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