The primary mission of FreeCalypso is to develop and maintain our own GSM MS implementation based on TI Calypso platform. This project requires both creation of new hardware (new FC development boards to serve as replacements for unobtainium originals from TI) and ongoing development of associated software and firmware. This page describes the latter.
The Calypso DBB chip contains an ARM7TDMI microprocessor core, also called the MCU for microcontroller unit. Firmware running on this MCU has to implement all GSM MS functionality above the DSP, culminating either in an end user phone UI (LCD and buttons) in the case of a standalone GSM handset or in an AT command interface in the case of a slave modem. Back in the day our predecessor TI maintained an official firmware suite called TCS2.1.1 or TCS211 for short; our own FreeCalypso GSM MS firmware suite is a reconstruction and continuation of TI's TCS211.
FreeCalypso firmware project began in the Northern hemisphere fall of 2013 when the world's last surviving copy of a TCS211 semi-src was finally liberated after years of struggle. The next challenge we faced after this initial liberation was deblobbing: the recovered TCS211-20070608 code (the world's only surviving version of any form of TCS211) measured about 40% of actual source and 60% in linkable binary objects whose corresponding source was censored out. (These percentages were measured by counting how many bytes in the final linked image come from objects that can be recompiled from source vs how many bytes come from objects with no corresponding source.)
FC firmware deblobbing was completed in 2018 — or more precisely, we now have one fw version that is fully deblobbed but is considered experimental (FC Selenite), while our production firmware (FC Tourmaline) still has some tiny blobs in one area where our source replacement has not reached production quality. We also maintain our original FC Magnetite firmware for lorekeeping; this fw has more of the original blobs intact.
Our TCS211 firmware architecture document is recommended reading: it describes not only the original TCS211 architecture, but also how our Magnetite and Selenite firmwares relate to it and how we got this firmware deblobbed, including the key concept of TCS2/TCS3 hybrid.
A workable GSM MS platform requires not only the hardware and the firmware that runs on that hw, but also host tools to be run on the developer-operator's PC or laptop etc: tools for programming and manipulating (backup and restore) the on-board flash memory of Calypso GSM MS devices, decoding debug traces emitted by running fw, interacting with the running firmware's developer interface, manipulating the flash file system at a high level, and many related functions.
The latest official release of our FC host tools can be found in this tarball; the development repository is here. Users who aren't intensive FreeCalypso developers should use the latest release tarball, as it includes prebuilt binaries for the little code pieces that need to run on Calypso device targets.
In the context of FreeCalypso family of projects, the term
aftermarket configurations
means running FC firmware on alien hardware,
primarily Motorola C1xx and Pirelli DP-L10,
as opposed to proper FreeCalypso development boards.
Running our firmware on alien hw in aftermarket configs is NOT
the primary direction in FreeCalypso, has never been and never will be
— however, such aftermarket configs are supported to a limited extent,
and have been so for a long time.
If you would like to play with FreeCalypso aftermarket config, you will need our aftermarket toolkit package, as well as either C1xx target firmware or Pirelli target firmware, depending on your available hw. All links are to tarballs; usage documentation is contained inside.
FreeCalypso GSM MS project is part of Themyscira Wireless family, and most of our work is developed in Themyscira Mercurial repositories. Our FreeCalypso official release area is here; you are also invited to look in the parent directory for other materials and warez related to GSM.