1.6 KiB
cake.exe - communautary Update.Exe for CASIO calculators
Introduction
There is a special command in CASIO's Communication Protocol 7.00: the 0x56 command, considered by the community to be the "upload and run" command.
CASIO uses it to modify the OS on the calculator:
- The tools uploads an UpdateExe kernel;
- The OS checks the UpdateExe, transfers it to RAM and transfers full machine control to it;
- The kernel sets up a Protocol 7 server;
- The tool communicates with this server to make operations on the calculator (mainly on flash memory): backup the OS, flash a new OS, ...
Simon Lothar made his own for fxRemote, using bootcode functions for displaying
and communicating (USB, Protocol 7).
This project is a community-made update.exe to imitate proprietary CASIO ones
and Simon Lothar's one.
Restrictions
In order to be SH3 and SH4 compatible, the size of the kernel musn't be greater than 64Kio. Also, a full independence from the OS and the bootcode should be seeked, so that this update.exe can also serve for flash-erasure operations - which may come in a very very long time.
Also, the binary should finish with an identification block --
see src/endblock.c
for details.
Making dependencies
Name | Version |
---|---|
sh3eb-elf-gcc | >= 4.9 |
binutils | >= 2.25 |
Building
Just make
.
Other useful targets:
mostlyclean
,clean
: remove built files.re
: remake.