Back In The Day TI had an official and well-supported platform for Calypsosoftware development; this platform was called D-Sample. It consisted of adevelopment board with the Calypso+Iota chipset on it (as well as a GSM RFsection based on their older Clara RF transceiver chip) plus an attached testhandset. Here are some pictures:https://www.freecalypso.org/members/falcon/pictures/D-Sample/I (Mychaela) have managed to obtain one of these historical D-Sample kits (theone pictured) back in 2015. Given that this D-Sample board was the originaland most native hw target for the TCS211 firmware program, and given that ourFreeCalypso Magnetite firmware project is essentially a resurrection andcontinuation of that TCS211 fw program, I naturally have a strong desire tohave our firmware run on this board in its full glory like it once ran in theoffices or cubicles of TI's own software engineers who worked on various partsof TCS211 fw for the Calypso.The current state of support is that we have everything other than the GSM radioworking. We are currently unable to bring up the radio tract on the D-Sampleboard with our own Magnetite fw because of Clara RF: we only got a strippedsemi-src version of TCS211 in which the *.c files for L1 were censored out andonly *.obj blobs were supplied instead; the latter blobs target Rita RF and notClara. We have now successfully reconstructed the lost C sources for the RF-independent and Rita-specific L1 modules, and we have l1_rf10.c for Clara RFfrom the MV100 source fragments, but we are still missing the tpudrv10.c modulewhich is also required for Clara RF. The 20020917 fw image that came flashedwith this board does operate the RF hardware (tested and proven good with ourCMU200 instrument), and we have tried extracting the elusive tpudrv10 bits fromthis original 20020917 fw. Our current tpudrv10.c driver is an attempt toreplicate what the original firmware appears to do, i.e., a translation of themystery logic from disassembly to C. But unfortunately it doesn't work, i.e.,when we flash our Magnetite fw into the board, we get non-working RF: in the Rxdirection the Calypso DSP fails to receive the signal put out by the CMU200,and in the Tx direction the CMU200 detects no signal put out by the MS.Despite having no working radio, everything else works: we can flash our ownMagnetite fw images into the board with our fc-loadtool (fc-host-tools-r8 orlater; earlier versions did not support the 28F640W30B flash chip correctly),the SIM interface works, the audio subsystem driven by the Calypso DSP drivenby our reconstructed TCS211 L1 works (can make beeps through the loudspeaker inthe handset part of the kit), the handset keypad works, and when we run afirmware image built with the UI layers enabled, the 176x220 pixel color UIshows up on the big LCD. Because the SIM interface works, one can play withthis UI a fair bit despite having no working GSM radio: the UI behaves the sameway as any regular phone would in the absence of coverage, so one can stepthrough the menus, read SIM phonebook entries and stored messages.Apparent hardware defect in our D-Sample LCD============================================The one specific D-Sample board we have managed to score (might be the last oneleft in the world, who knows) appears to be an early board: it is PCB rev 3,but it has an early C05 version of the Calypso chip (F741979B), and it was madesome time in 2002. It came flashed with a firmware image built on 20020917,and this original image it came with did not light up the LCD at all - it onlyresponded to AT commands. (Examination of that fw image suggests that it hasSMI instead of BMI+MFW, but I am not familiar with SMI at all - all I can tellis that it behaves functionally as if it were an ACI build.) Thus the LCD partof this D-Sample hardware only got exercised for the first time when I ran ourown Magnetite fw on it, and it exhibits some strange behaviour which I can onlyattribute to a hardware problem.The symptom is that the picture on the LCD sometimes appears garbled, andwhether or not this LCD garbling happens (and if it does happen, how severely)appears to depend on the picture content. Furthermore, the dependency is notonly on the picture content, but seemingly also on some law of chance, as thesame picture can get garbled more or less severely at different times. Closerexamination of exactly how the picture is garbled reveals that the misbehaviourappears to be some kind of double latching of write data inside the LCD module.The R2D driver maintains a software framebuffer in the r2d_lcd_memory_words[]array, and the r2d_refresh() function transfers the picture in this softwareFB to the hardware FB inside the LCD module by sequentially writing 176*22016-bit words into a fixed ARM7 memory address in the nCS3 range, causing awrite cycle to be issued to the LCD module for each pixel. When a garbledpicture appears on the physical LCD, the picture maintained by the software inthe r2d_lcd_memory_words[] array is correct (not garbled) as revealed byreading that array memory out via ETM memory read commands (see the tools inthe freecalypso-ui-dev repository), and the picture on the physical LCD isgarbled in such a way that it appears that at some point when the firmware senta single pixel to it, the LCD module erroneously registered a double write,incrementing the internal FB RAM pointer by two pixels instead of one, with allsubsequent pixels shifted accordingly. The picture can be garbled more or lessseverely depending on how many pixels in the picture trigger this apparentdouble write effect.The end result is that even though we have a real TI-made D-Sample hardware kit,its usefulness to us for FreeCalypso UI development is rather limited becauseof both the lack of tpudrv10.c code resulting in no working GSM radio and theapparent hardware problem with the LCD module in the handset part of the kit.The Mother's plan is to design and build our own UI development board to takethe place of TI's D-Sample, combining the good version of the Calypso+Iota+Ritachipset for which we have good fw support with a 176x220 pix color LCD of ourown - it is one of the industry standard sizes, so it should only be a matterof getting a semi-custom one with the right interface (16-bit parallel) and theright polarizer orientation (6 o'clock viewing direction). The proposed boardwould be a derivative of our current FCDEV3B, keeping the core Calypso+RF block(originally from Openmoko) completely unchanged, but adding the LCD, the keypadbuttons and other handset peripherals, resulting in a Handset MotherboardPrototype - HSMBP.Different Calypso silicon versions==================================Because the D-Sample was a development board rather than a commercial end userproduct, different D-Sample boards at different points in time had differentversions of the Calypso chip populated on them as the Calypso silicon itselfevolved. The board we got appears to be an early one, as it has Calypso chipversion F741979B on it (C05 rev B, DSP ROM version 3311), but I can only reasonthat later D-Sample boards must have had Calypso C035 chips on them, either theoriginal Calypso C035 with DSP ROM version 3416 or the final silicon with DSPROM version 3606.Because we only have one D-Sample board and we have no idea whether or not thereare any other DS boards out there in the world (ours may well be the world'slast remaining unit), our dsample build target in FC Magnetite is set up forCalypso chip version c05b by default, which is the version we got. If anyoneelse in the world has another D-Sample board and it has a different Calypsochip version on it, if you would like to run our FC Magnetite firmware on it,you will need to follow the instructions in the Calypso-version-overridearticle.