p7utils/src/p7os/cake.exe
Lailouezzz ee511ccde5
First commit : p7utils-v3.0.0
2019-12-29 22:28:26 +01:00
..
include First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00
libgint First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00
src First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00
.gitignore First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00
.gitmodules First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00
LICENSE.md First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00
Makefile First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00
Makefile.msg First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00
Makefile.vars First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00
README.md First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00
TODO.md First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00
configure First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00
osupd.ld First commit : p7utils-v3.0.0 2019-12-29 22:28:26 +01:00

README.md

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.