Linking software

ASM archive


IR Link


PIC16x84 programmer

Hosted by:

PIXpand (beta 0.1)


This is a beta release of the PIXpand project. The PIXpand which is a device that connects to a TI calculator and enable it to store and retreive data to and from Playstation Memory cards.

I am making this beta release as I do not have the time to continue with the project right now. Thus I would be grateful if people can build this device and test it to see how well it work and to check for any bugs.

When sending me e-mails, please do not expect to be answered quickly! I will do my best to answer you, but right now I do not have much time. To discuss ideas, the best way is to use the IR Link mailing list ; I am available on the mailing list and I will do my best to answer.

New: Source code availability: I am releasing the source code of the beta-version of PIC program such that people can get a better idea on how the expander works from inside and possibily be able to debug it. The code is not very well commented, but should be enough to see how it is working. Many thing could be further optimised like using the interrupt to detect signal changes on the lines on the memory card,etc...: xp_beta1.pdf


As in the IR Link and the PICLink, the device is base on a PIC microcontroller. A PIC16F84 is used in this beta release, which needs to be programmed with the following code: xp_beta1.hex.

The parts used are self-explained in the schematic. Some notes however:

Operation Description

The following is a vrey brief description on how to use the device:

The device is designed to work with all types of TI calculators (TI82,TI83(+),TI85,TI86,TI89,TI92(+)). No driver is required; the device uses the linking functions to save and read data.

The 4 LEDs represents the 32kb section of a 1MBit memory card. Usualy (as far as I know) when you buy larger memory card (eg. 24MBit) it acts as 24 memory card of 1MBit, and you can switch which of those 24 sections to use by an external switch. Here, the 4 LEDs acts in a similar way: It divides a 1MBit (=132kb) card into 4 sections of 32kb each. By using the push-button you can change the selected 32kb section. Thus for example if you have a 8MBit card, you will have a push-button and a 7-segment display on the card that controls which 1MBit section is chosen from the 8 sections, and on the PIXpander you will be able to chose which 32k of the 1MBit is to be used.

To change from one section to another, press the push-button quickly.

When idle, the device is in receive mode. When some valid variable is sent from the calc, the device detects it and the LED will begin to flash. At this point the user needs to press the button for confirming to overwrite the data on the memry chip at the current location.

After confirmation the variable transfer begins. If the the transfer is not succesfull, the problem might be from the memory card. However, if the transfer is sucessfull, the data is saved in the memory. To send it to the calculator, put the calculator in receive mode and then press the push-button for 1-2 seconds and release it; The transfer should start.


  • Group of variables are stored as groups.
  • When variables are more than 32kb large, the next block is overwriten (without any confirmation).

Back to index.
Author :
Sami Khawam