Short: Link software between TI calculator and Amiga ( src included ) Author: ocroquette@free.fr ( Olivier Croquette ) Uploader: ocroquette free fr ( Olivier Croquette ) Type: comm/misc Version: v0.8 beta Replaces: Sashi89.lha Requires: MUI, TI89, Serial or Parallel cable Architecture: m68k-amigaos Date: 18 October 2001 This is the user archive of Sashi89. The sources are no more included in this archive, but in a dedicated archive. You will find the last version of Sashi89 and its sources on : http://ocroquette.free.fr See the dedicated section for the history and the news. Please also note my new email adress. What is it ? ------------ This is a beta release of Sashi89, a TI89-Amiga communication tool. ( Yes, I know... will there be a not-beta version of Sashi one day ? well, I wonder too ;) ) In order to use this software, you will need : - a $4 serial cable, like the one needed by many other softs on PC. OR - a parallel cable, the one using pin 2,3,12,13 of the connector, two diodes, and optionnaly 2 resistors. Some users reported that Sashi89 works with the official TI link. Please see dedicated TI-websites for informations on how to build cables. I saw a very simple parallel cable scheme somewhere ( in the AmiTI archive IIRC ), with just wire. Sashi doesn't support this cable at all, since one of my goals it to use some standards for Sashi, and this cable is not used on PC or whatever. Some people asked me to support the "parallel cable", and I didn't get that there were many versions of it ! However, it should not be a problem to support this simple cable, just let me know if someone is really interested... Usage ----- The software is quite easy to use : 1. Connect your Amiga to your TI, Be aware : you have to connect your cable on a standard port of your Amiga ( corresponding to serial.device,0 or parallel.device,0 ) 2. Launch Sashi89 from the shell, in order to see useful informations, 3. Click on 'folders'. This should list all folders of your TI. If you have an error -1, that means timeout. Check that your TI is on, and shows its standard screen ( ie. the stack ), wait some seconds, then try again. If it still doesn't work, there is something wrong with the link. 4. Double click on a folder to list its content. 5. Select file/variable and click on send/get to transfer. Note on battery : Normally, the TI should go off if you don't use it when it is linked to the computer and Sashi89 is or has been recently running. But when Sashi89 has not been launched and/or you have use the serial/parallel port for something else, OR the computer if off, THEN THE TI won't go automaticaly off. This is because the normal state of the communication lines for the TI is physically at a high potential, but for the computer ( and when the Amiga is off ), they are at a low potential. So the TI "thinks" that the computer is trying to communicate, and won't go off. Sources and copyright --------------------- Sashi89 is now released under the GPL licence. See the directory 'GNU' for more information. You can get the sources from the developper package of Sashi. - What I would like is to see improvements coming from other people and which could be included in the next releases of Sashi89. - PLEASE LET ME KNOW if you work on the sources, so that we don't make the same things in parallel :) What's new ? ------------ 18/10/01 ( v0.8 ) * Released under the GPL * Two different archives : users / developpers * Sashi89 will no more crash if there is too much variables in one folder ( buffer overflow : shame on me ! :) 10/08/01 ( v0.7 ) [Not released as far as I remember] * Basic remote control * Bugs fixed 08/05/01 ( v0.6 ) * Parallel port support * Get all the folders of the TI using 'Get backup' 26/01/01 ( v0.5 ) * Folder upload is now possible. * Sources released. 29/10/00 ( v0.4 ) * Little bugs fixed. * Compiled without ixemul. Ixemul problems should be fixed now ( really :) ). 28/10/00 ( v0.3 ) * Better transfer rate. * Better timeout handling. * Popup requester for current path. * Auto refresh of TI content when uploading. * Removed bugs and limitations. 25/10/00 ( v0.2.1 ) * The last version did not find ixemul. Should be fixed. ( was not :) ) 24/10/00 ( v0.2 ) * Correction of bugs ( 8 characters variable name,... ). * Support for group files. * Use of timer instead of active loops. * More clever timeout. * Lock of serial.device during use to avoid conflicts with other softwares. * Transfer vars into current TI folder if any, otherwise use file informations. * When getting a variable, the file was always in PROGDIR:. Fixed. * ... ~20/10/00 ( v0.1 ) * First upload to Aminet. Question & Answers ------------------ * When will Sashi support others TI ? It should be easy to do that, but I don't have any other TI. So this would mean that either I buy them, but Sashi is freeware and I am not so rich, either I write code without testing it, which could not lead to something good. I need help here :) * When will be X be implemented ? Ask per mail :) * What are the transfer rates ? About 3500cps, which is quite good for myself. Hope it is also for you :) Please report me the speed you get ! * Why is Sashi89 CPU sucker ? Because the TI uses a interesting but non standard hardware serial protocol. For each single *bit*, the protocol needs 4 steps, and this has to be done by the CPU since the Amiga hardware can't help. If you want 3000 bytes/s, this means 24000 bit/s, and about 100.000 steps per second. Furthermore, the protocol is asynchronous, so the Amiga has to wait for TI to reply, and don't know WHEN it will. If you want go full speed, that means active loops ! And a lot of CPU used for nothing. * How to compile Sashi89 You will need the developper package of Sashi89. I used egcs-2.91.66 on my Amiga to develop Sashi ( and also a cross compiler on my linux box for speed reasons, but you don't need it ). You also need the MUI dev pack. * How to modify the sources to support another TI ? All the TIs use serial link, so all you have to do is : - to check if the hardware protocol ( to transfer a single bit ) is the same for the TI89 and for the TI you want to use. If not, you have to update hard.c so that it uses the new protocol - to modify protocol.c and packet.c to make the support the new high level protocol * How to port Sashi89 onto another system ? Two things need to be ported : - the GUI ( mui_* ) - the hardware dependant module ( hard.c ) To do ----- * it seems that some files written by Sashi are not compatible with some other softwares ( gtktilink for instance ). * Support of other formats ( Screendump, backups, ... ). * Configurable speed of transmission. * Remove active loops. * Optimisation of code ( this one is CPU-sucker ). * Display informations of the TI vars ( type, size ) when listing. * Progress bar. * Documentation. *Please note* ------------- Let me know if you would like to see Sashi89 improved, and one or more of those features added : - Support for others TI ( TI82, TI83, TI92, ... ) - Any feature in the Todo list. - Any good idea from you :) The more you ask for something, the sooner it will be implemented. Thanks to all people who mailed to support this project, to report bugs or to ask for a parallel port version :). WARNING : I can not be in no way liable for any dammage of your hardware or loss of datas on computer nor TI. YOU USE THIS SOFTWARE ( and the cable ) AT YOUR OWN RISK ! BUT : there wasn't any problem here :) Also note that you HAVE TO make a backup of your TI memory before using Sashi89 !!! ( with gtktilink, TI official sofware or other software ). Sashi89 may make you lose TI-datas ( even if there are not much problems anymore here ).