Among the most popular hardware-hacking projects for the humble 6MHz TI-83+ and 15MHz TI-84+ series of graphing calculators have perenially been those involving the link port. Also called the I/O port or the serial port, it consists of two bidirectional data lines, both of which can be written and read directly by assembly programs. From quadraphonic music players to IR transceivers to networking protocols to modding PS/2 ports and touchpads into calculators, the port enables a variety of intriguing projects. It was of course with great excitement that the TI calculator enthusiast community and Cemetech approached the Casio Prizm, a calculator that appears to have a link cable and port matching the 2.5mm stereo arrangement of the TI calculators, backed by the power of a fast SH3 CPU and megabytes of memory.
Unfortunately, current experiments indicate that the Casio Prizm link port is not designed equivalently to the TI link port from an electronic perspective. The link cable is a crossover type, a strong indicator that the link ports all contain ground and unidirectional RX and TX data lines, respectively an input and an output. As far as trivial data transfer, Jonimus and Tari's Cemetech Prizm SDK has exposed three functions, Serial_Open(), Serial_DirectTransmitOneByte(), and Serial_Close() for point-to-point communication. On the minus side, if further exploration reveals that the port can indeed only perform unidirectional transfer on each data line, then music players will be restricted to monaural sound, a CALCnet 2.2 port to the Prizm will not be possible, and the potential for other point-to-multipoint networking protocols for the devices will be sorely limited. Of course, it may be that a more limited port could present additional positive engineering challenges to the community, especially to Cemetech, where we enjoy fleshing out our software hacking with hardware design. For example, the high throughput the Prizm can achieve could be exploited to hand off data to a helper microcontroller translating to calcNET or buffering audio data for output. And indeed, some hardware hacks like IR transception will work just as well with one input and one output line as with two bidirectional communication lines.
I encourage my fellow Cemetechians to continue to pursue this aspect of the Prizm and Casio Prizm coding in general, as the platform remains open to powerful C programs even as competing platforms continue to offer only limited programming tools, at least an improvement over offering no such tools whatsoever. What are you planning to do with your Prizm in the near future? Share in the topic below!
As a final note, the Casio enthusiast community did some similar research of the Casio FX-9860g link port, and drew many conclusions relevant to the Prizm's link port.