------------------------------------------------------------------------------ *** New Calc-TI FAQ *** Frequently Asked Questions About TI Graphing Calculators Compiled by Mattias Lindqvist 6 May 1997 ------------------------------------------------------------------------------ This FAQ intends to answer some of the most frequently asked, and some less frequently asked, questions in the Calc-TI newsgroup/mailing-list. The questions and answers herein have been collected mainly from the Calc-TI mailing-list and from the discontinued "Unofficial TI-FAQ" by Shawn Jordan. This FAQ is of course never finished, so if you have any additions, corrections or comments, please send them to me at The New Calc-TI FAQ has its own homepage at http://www.df.lth.se/~ml/tifaq/tifaq.txt. Here you'll always find the latest version and a link to the html-version. ------------------------------------------------------------------------------ *** Table of contents *** ------------------------------------------------------------------------------ 1 TI-related resources on Internet 1.1 Which are the best TI calculator web-sites? 1.2 What program archives are there for TI calculators? 1.3 How can I access the archives via e-mail? 1.4 What newsgroups are there? 1.5 What mailing-lists are there? 1.6 Are the Calc-TI newsgroup and mailing-list mirrored? 1.7 I can't seem to unsubscribe from the Graph-TI or Calc-TI mailing list. What shall I do? 1.8 Are the mailing list archived? Is there a digest version? 1.9 What other TI-related FAQs exist? 1.10 I'm looking for a certain TI-related file. Where can I find it? 2 General questions 2.1 What are the differences between the different TI calculators? 2.2 a) How do I check what ROM version I have? b) What is the latest ROM-version for the different calculators? 2.3 What's the difference between different ROM versions? 2.4 What is the selftest and what's its purpose? 2.5 What processors are in the TI calculators? 2.6 How much memory has the TI calculators? 2.7 Are there any undocumented features/"Easter eggs" on TI's calcs? 2.8 Are there any known bugs in TI calculators? 2.9 My calculator has locked, how do I reset it? 2.10 Are there any viruses for TI Calculators? 2.11 I've got debris inside my screen, what shall I do? 2.12 How can I reach Texas Instrument's calculator support? 2.13 What is CBL? 2.14 I heard about a calculator called TI-95. What's that? 2.15 I don't have a link, how can I enter *.82p/*.85p program files into the calculator 2.16 Is it possible to hide a TI-85 program on the calculator? 2.17 Where can I find Mortal Kombat for TI-85/TI-82? 2.18 How do I open my calculator? 2.19 In which order where the calculators released? 2.20 Why aren't they numbered chronologically? 2.21 How much power does the TI-85 draw when it's ON/OFF/in ZShell? 2.22 Is it possible to upgrade a TI-92? 3 Math related questions 3.1 How do I take the logarithm of a base other than 10 or e? 3.2 How do I get the root of the n:th order on any calculator? 3.3 What is the equation for drawing a circle? 4 TI-Basic programming questions 4.1 Can I delete a variable from inside a program? 4.2 What are Output "CBL" and Input "CBL" and how do they work? 4.3 Can I draw a "white" line on the 85, like I can on my 82? 4.4 What else does TI-82 have that TI-85 hasn't? 4.5 Why do I get an Error Message 15 when I try to edit this program? 4.6 What is edit-locking and how do I edit-lock a program? 4.7 How do I find the length of a REAL variable? 4.8 How do I convert a REAL variable to a string? 5 Link questions 5.1 What can I do with a PC link? 5.2 What are the different links? 5.3 How do I build my own link? 5.4 What link programs are available? 5.5 Are the Graph-links for the TI-85 and the TI-82 the same? 5.6 Are the calc-to-calc cables the same for TI-82 and TI-85? 5.7 I've lost my calc-to-calc cable, where can I get a new? 5.8 I get a 'transmission error' when I try to send a variable from one calc to another. What's wrong? 5.9 Can I make two programs link to each other? 5.10 How do I transfer the programs that I download from this forum to my calculator? 5.11 I have a mac. How can I make the link software recognize this *.85x file? 5.12 Why can't I build a *REAL* Graph-Link that will work with TI's Windows software? 6 Accelerating the calculator 6.1 What is Turbo-TI? 6.2 Can I accelerate any other calculator than the TI-85? 6.3 Where can I find more info on accelerating 7 ZShell 7.1 What is ZShell? 7.2 Which is the latest version of ZShell? 7.3 Which ROM versions does it work with? 7.4 Why is there no ZShell for TI-82? 7.5 Will there be a ZShell for TI-92? 7.6 Where can I find more info on ZShell? 7.7 I have more programs than will fit in the ZShell menu. Do I have to delete some of them? 7.8 What is SENGINE and where can I get it? 7.9 Why doesn't TI support assembler programming? 7.10 After I've used ZShell my menutext is underlined! Why? 7.11 Is it possible to transfer ZShell from one calc to another without using a backup? 8 TI-83 Assembler 8.1 When I try to run an ASM program I get SYNTAX ERROR. Why? 9 TI Emulators 9.1 What TI emulators are available? 9.2 How do I get TI85ROM.BIN for the TI-85 emulator? 9.3 Why do I get 'ROM FAIL' when I run selftest on the TI-85 emulator? 9.4 Why can't I get ZShell to run on my TI-85 emulator? Appendices A. A uuencoded version of fix.com. B. ASCII codes for non-ASCII TI characters. ------------------------------------------------------------------------------ *** Questions and Anwers *** ------------------------------------------------------------------------------ *** 1 TI-related resources on Internet *** 1.1 Q: Which are the best TI calculator web sites? A: Some good web sites are: - Ticalc.org. The Best! Has everything. - TI's official calculator page. Contains information about TI and lots of product information about their calculators. 1.2 Q: What program archives are there for TI calculators? A: The following archives are the biggest and most comprehensive ones. - The Graph-TI archive. TI's official archive. Contains lots of programs in TI-Basic, linkprograms for the Graph-link, miscellaneous PC utilities and some info about the calculators. - Ticalc.org. Has everything (almost). 1.3 Q: How can I access the archives via e-mail? A: - There are plenty of e-mail->ftp gateways on Internet. Send a message containing "help" to one of the following addresses for more info. To get an index for the entire pub directory at ticalc.org, get the file pub/master.index. Indices for each calculator are named pub/xx/00INDEX (where xx is 80/81/82/83/85/86/92). 1.4 Q: What newsgroups are there? A: - Calc-Ti . For discussion on everything related to TI calculators. The Calc-Ti newsgroup and the calc-ti mailing-list are mirroring each other. - Graph-Ti . For discussion on TI's calculators from an educational perspective. This newsgroup is supposed to be mirrored with the graph-ti mailing-list but is not. It's virtually dead. - In addition a couple of alt.* newsgroups have been created but they haven't spread and aren't used. 1.5 Q: What mailing-lists are there? A: - Calc-TI . For discussion of everything related to TI calculators. The Calc-TI mailing-list and the calc-ti newsgroup are mirroring each other. TO SUBSCRIBE: send mail to listserv@lists.ppp.ti.com with the command "subscribe calc-ti" (without quotes) in message body. TO UNSUBSCRIBE: send mail to listserv@lists.ppp.ti.com with the command "signoff calc-ti" (without quotes) in message body. DIGEST: After subscribing, write to listserv@lists.ppp.ti.com with "SET CALC-TI DIG" in the message body. ARCHIVE: Write to listserv@lists.ppp.ti.com with "INDEX CALC-TI" in the message body. - Graph-TI . For discussion of TI's calculators from an educational point of view. TO SUBSCRIBE: send mail to listserv@lists.ppp.ti.com with the command "subscribe graph-ti" (without quotes) in message body. TO UNSUBSCRIBE: send mail to listserv@lists.ppp.ti.com with the command "signoff graph-ti" (without quotes) in message body. DIGEST: After subscribing, write to listserv@lists.ppp.ti.com with "SET GRAPH-TI DIG" in the message body. ARCHIVE: Write to listserv@lists.ppp.ti.com with "INDEX GRAPH-TI" in the message body. - list-zshell . Discussion of programming and using the ZShell assembly shell for the TI-85. Often 50+ messages per day. TO SUBSCRIBE: send mail to majordomo@lists.ticalc.org with the command "subscribe list-zshell" (without quotes) in message body. TO UNSUBSCRIBE: send mail to majordomo@lists.ticalc.org with the command "unsubscribe list-zshell" (without quotes) in message body. ARCHIVE: - list-zshell-binaries . MIME and UUEncoded ZShell programs only. TO SUBSCRIBE: send mail to majordomo@lists.ticalc.org with the command "subscribe list-zshell-binaries" (without quotes) in message body. TO UNSUBSCRIBE: send mail to majordomo@lists.ticalc.org with the command "unsubscribe list-zshell-binaries" (without quotes) in message body. - list-zshell advanced . A closed list for serious ZShell programmers. You must convince the list owner that you are interested enough to participate. TO SUBSCRIBE: Send mail to lza-join@ticalc.org with your qualifications or interests in the message body. - ti-hardware . Discusses hardware modifications and additions to TI graphing calculators. TO SUBSCRIBE: send mail to majordomo@lists.ticalc.org with the command "subscribe ti-hardware" (without quotes) in message body. TO UNSUBSCRIBE: send mail to majordomo@lists.ticalc.org with the command "unsubscribe ti-hardware" (without quotes) in message body. - list-fargo . Discussion of Fargo, the TI-92 assembly shell, including programming, applications, support, and posting of programs. TO SUBSCRIBE: send mail to majordomo@lists.ticalc.org with the command "subscribe list-fargo" (without quotes) in message body. TO UNSUBSCRIBE: send mail to majordomo@lists.ticalc.org with the command "unsubscribe list-fargo" (without quotes) in message body. - connect-85 . Discussion of the Connect-85 hardware and software. Messages are few and far between. TO SUBSCRIBE: send mail to majordomo@lists.ticalc.org with the command "subscribe connect-85" (without quotes) in message body. TO UNSUBSCRIBE: send mail to majordomo@lists.ticalc.org with the command "unsubscribe connect-85" (without quotes) in message body. - CBL Developers . Discussions about development of applications and labs for the Calculator Based Laboratory. TO SUBSCRIBE: send mail to neonserv@cola.westmark.com with "JOIN CBL address@host.xyz firstname lastname" in message body. ARCHIVE: - TI-Emulator . Discussion of computer software for the emulation of TI graphing calculators. TO SUBSCRIBE: send mail to majordomo@lists.ticalc.org with "subscribe ti-emulator" in message body. TO UNSUBSCRIBE: send mail to majordomo@lists.ticalc.org with "unsubscribe ti-emulator" in message body. ARCHIVE: - Ticalc.org filenews. When files in the ticalc.org archives are added or updated, subscribers receive notification in a daily message. TO SUBSCRIBE: send e-mail to majordomo@ticalc.org with "subscribe filenews" in message body. TO UNSUBSCRIBE: send e-mail to majordomo@ticalc.org with "unsubscribe filenews" in message body. - TI Graphing Calculator Magazine. Monthly electronic magazine featuring program reviews, articles, interviews, and more. TO SUBSCRIBE: send a mail to PRsubscrib@aol.com with "subscribe" in message subject. TO UNSUBSCRIBE: send a mail to PRsubscrib@aol.com with "unsubscribe" in message subject. HTML-VERSION: ARCHIVE: 1.6 Q: Are the Calc-TI newsgroup and mailing-list mirrored? A: Yes. The mirror didn't use to work, but was recently fixed. 1.7 Q: I can't seem to unsubscribe from the Graph-TI or Calc-TI mailing list. What shall I do? A: Send a mail to ti-cares@ti.com explaining your situation, and they will help you. 1.8 Q: Are the mailing-lists archived? A: Some are. See Q 1.5. 1.9 Q: What other TI-related FAQs exist? A: - The Zshell FAQ. Questions about ZShell. - The Official Calc-TI and Graph-TI mailing list/newsgroup FAQ. Questions about the mailing-list/newsgroup. I.e. How to post etc. 1.10 Q: I'm looking for a certain TI-related file. Where can I find it? A: Try one of the search engines available on Internet. For instance Altavista: Hotbot: ------------------------------------------------------------------------------ *** 2 General questions *** 2.1 Q: What are the differences between the different TI calculators? A: This is a VERY brief overview. Your suggestions and comments are welcome. TI-80: Smaller than the others and has a small screen with hard-to-read font. A little more memory than TI-81 and quite a lot more functions like fractional calculations and better statistics. No link-port and no games TI-81: Very basic calculator with small memory and quite limited functions. Will do for high-school calculations but doesn't offer anything "extra". No link-port and no games. Discontinued. TI-82: Appears to be today's standard calculator for high-school with plenty of RAM, link-port and lots of games available. It handles lists, is CBL-compatible and has a few unique features like a table and the possibility to have a split-screen (both graph and text at the same time). Provides deep command recall (like DOSKEY for DOS) TI-83: An improved version of 82 with for instance better graphing, financial functions, a solver and complex numbers. TI supports limited asm programming. TI-85: My personal favourite. The most technically aimed calculator with different number-bases, conversions and boolean operations. Can do all sorts of things except symbolic manipulation. With ZShell TI-85 can run assembler programs. TI-92: The latest and most powerful calculator in the TI range. It's very big, has a qwerty keyboard and much memory. It handles symbolic manipulation, but besides from that it lacks important features from the TI-85, like number-bases and conversions. 2.2 a) Q: How do I check what ROM version I have? A: Type in the key sequence below and you'll see the version number. Then press any key except [ENTER], if you don't want to start the self test. TI-80: [Mode][Alpha][S] TI-81: [2nd][Test][Alpha][S] TI-82: [Mode][Alpha][S] TI-83: [Mode][Alpha][S] TI-85: [2nd][Mode][Alpha][S] TI-92: [F5] [Diamond] [(] from the homescreen b) Q: What is the latest ROM-version for the different calculators? A: TI-80: ? TI-81: 2.0 (final version) TI-82: 19.0 TI-83: 1.06 TI-85: 10.0 TI-92: 1.12* * TI-92 can be upgraded to ROM version 2.1 E. See Q 2.22. 2.3 Q: What's the difference between different ROM versions? A: The only significant difference between ROM versions in TI's calculators is that between TI-85 v 8.0 and below, and v. 9.0 and above. V. 9.0 and above support the CBL-system. The earlier versions of the 92 are quite buggy and it's likely that some of these bugs are fixed in later version. More than that is hardly known, since all information is proprietary information of Texas Instruments, and they won't tell anything. 2.4 Q: What is the selftest and what's its purpose? A: To start the selftest on an 80,81,82,83 or 85, press [ENTER] at the ROM version screen (see Q 2.2). NOTE: The selftest will RESET your calculator. On a 92: Press any button that contains the letter S at the ROM version screen (see Q 2.2) The self-test is what it sounds like. It tests the calculator's functions. This is meant for TI technicians and the usefulness for ordinary users is minimal. On 80,81, 82, 83 and 85 it performs the following steps. 1. Cycles through an internal check of some sort. Each time one of these checks are completed the number on the screen increases. This will go on forever, unless you don't press [ON]. 2. After that, a series of patterns are shown to test the LCD. You can cycle through these by pressing [ENTER] or skip them by pressing [ON]. 3. When all patterns are cycled through the keypad test will start. You are supposed to press the key that corresponds to the get-ky number that is displayed on the screen. If all keys were right, the screen will say "OK" and your calculator is reset. On the 92: You can choose between different alternatives.. For a full list of what you can do, I, for the time beeing, refer to the document "TI-85 and TI-92 tips, tricks, bugs, and undocumented features" by David Ellsworth: 2.5 Q: What processors are in TI calculators? A: TI-80: TI custom made chip @ 980 kHz TI-81: Z80 @ 4 MHz TI-82: Z80 @ 6 MHz TI-83: Z80 @ 6 MHz TI-85: Z80 @ 6 MHz TI-92: MC68000 @ 10 MHz 2.6 Q: How much memory has TI calculators? A: Model ROM RAM User Memory* TI-80: ? ? 7.0k TI-81: ? 4800 2400 TI-82: 128k 32k 28.2k TI-83: ? 32k 27.3k TI-85: 128k 32k 28.5k TI-92: 1024k 128k 70.0k *Memory available to the user. I.e variable storage. 2.7 Q: Are there any undocumented features/"Easter eggs" on TI's calcs? A: The self-test. See Q 2.2 2.8 Q: Are there any known bugs in TI calculators? A: In TI-85 there are a couple of known bugs. All ROM-versions: This bug will appear if you do the following steps: 1. Reset memory (not always necessary) 2. Go into solver, type in a " " ([ALPHA][(-)]) and press ENTER 3. Go to Catalog and insert an item in Custom menu slot #3 This causes something weird to happen. According to David Ellsworth the xStat variable is crosslinked to custom menu item #3. Try to edit xStat in the list-editor and you'll see.. ROM version 8.0: If you switch of the calculator when a basic program is displaying a menu the memory will corrupt. In the early versions of the TI-92 there are quite a lot of bugs. A good list of some of those is: "TI-85 and TI-92 tips, tricks, bugs, and undocumented features" at 2.9 Q: My calculator has crashed, how do I reset it? A: On TI-80 to TI-85 do the following: 1. Take out one battery. 2. Press the [ON] key 3. Reinsert the battery 4. Turn on your calculator. It is now reset. 5. Remember to adjust the contrast! ([2nd][Up]) On very rare occasions, this won't work. If it doesn't, take out all batteries, including the back-up battery, and leave them out for half an hour or so. Then put them back in and your calc will be reset. On TI-92: (Thanks to Rob Taylor ) 1. Take out one battery, 2. Press and hold ) and (-) 3. Put battery in 4. Keep holding ) and (-) until screen goes blank 5. Adjust contrast 2.10 Q: Are there any viruses for TI Calculators? A: No, not yet. There's no possible way of making a virus in TI-Basic, but it could probably be done in assembler using ZShell. However, the worst thing a virus could ever do would be to reset the calculator, including erasing itself. Lots of people on the calc-ti list, and especially on list-zshell think that a program that crashes the calc is the same thing as a virus. Don't try to argue with these people; they won't listen. 2.11 Q: I've got debris inside my screen, what shall I do? A: If you have any remaining warranty return it to TI. Otherwise you'll have to remove it yourself: On TI-81, 82, 85: 1. Remove the 3 screws that hold your calculator together. That is including the screw which holds the backup-battery. 2. Pry it open. 3. Unscrew the LCD-circuit-board and lift it up carefully. 4. Now you can remove any dust on the screen 2.12 Q: How can I reach Texas Instrument's calculator support? A: - E-mail: ti-cares@ti.com - Tel: 1-800-TI-CARES 1-800-TI-TEXAS - Snail-mail: Texas Instruments PO Box 6118 Temple, TX, 76503 USA 2.13 Q: What is CBL? A: CBL, Calculater Based Laboratory. A system for collecting data to the calculator. The data is collected in lists, which can then be calculated or graphed. You need a special CBL unit and different probes for the data collecting. You can check if your calc is CBL-compatible by looking at the label on the back of the calculator. If it says CBL in the serial number it can handle CBL. 2.14 Q: I heard about a calculator called TI-95. What's that? A: Terry Donahue : The TI-95 was introduced by Texas Instruments in mid 1986 and was discontinued in late 1989. It had 36K of built-in ROM and 8K of built-in RAM, with 7200 bytes of RAM available to the user. It had a QWERTY keyboard with 65 keys. It also used software cartridges (32K) and RAM cartridges (8K). It used an algebraic operating system, had 15 levels of parenthesis, 8 pending operations, and over 200 functions. It also had an "ASM" function which increased program execution by converting label addresses used by the program into absolute addresses. This product is not to be mistaken with TI's newest graphing calculator, the TI-92. 2.15 Q: I don't have a link, how can I enter *.82p/*.85p program files into the calculator A: Download the graph-link software from TI's ftp-site and open it from there. You don't need the graph-link to view programs with it. 2.16 Q: How do I enter \->\,\>=\ etc. in TI-basic programs? A: When a TI-Basic program is displayed in ASCII, special TI characters that are not included in the ASCII character set are represented by a special code surrounded by backslashes\. For a list of these see Appendix 2. 2.17 Q: Is it possible to hide a TI-85 program on the calculator? A: If you have a PC and a hex-editor you can change the name of the program in the 85p file to begin with a number, or any other odd character that the calculator doesn't allow for use in variable names. If you transfer this program to the calc, you will neither be able to see it nor delete it. You can't run it either, but you can recall it, so in order to run it, recall it into a new program and run it from there. 2.18 Q: How do I open my calculator? A: - On TI-8x: Remove the 3 screws that hold it together, including the one that holds the backup battery. Then pry it open with a ruler or something similar. Sometimes a bit of violence is required.. 2.19 Q: In which order where the calculators released? A: TI-81, 85, 82, 80, 92, and last 83. 2.20 Q: Why aren't they numbered chronologically? A: Because they are named after how powerful they are. 2.21 Q: How much power does the TI-85 draw when it's ON/OFF/in ZShell? A: Magnus Hagander writes: Operation Mode Power Consumption Battery Life Notes Normal stand-by 4.9mA 245 hours When waiting for keyboard input Normal active 15.8mA 76 hours When calculating, graphing, running program etc Normal shutdown 0.8¦A 1500000 hours = 171 years When turned off using [2nd][ON] Normal auto-shutdown 0.8¦A 171 years When left on until auto- shutdown ZShell menu 4.7mA 255 hours When ZShell is waiting for you to chose which program to run. As you see, ZShell is even better than the TI-OS. Add HALT instructions to your program's keyloops, and they will be about this good too! ZShell running 16.6mA 72 hours When a ZShell program is running ZShell shutdown 0.8¦A 171 years When ZShell is shut down, or when auto-shutdown happened from within ZShell ¦ = mikro 2.22 Q: Is it possible to upgrade a TI-92? A: Yes, a TI-92 can be upgraded with an extra RAM/ROM module. This module increases the available RAM to 256 kb and allows you to choose between 5 different languages for the OS. The languages are English, Spanish, Italian, French, and German. TI-92 is the only graphing calculator from TI that can be upgraded. ------------------------------------------------------------------------------ *** 3 Math related questions *** 3.1 Q: How do I take the logarithm of a base other than 10 or e? A: The logarithm of x with base y is 'ln x/ln y' or 'log x/log y' 3.2 Q: How do I get the root of the n:th order on 80/81/82/83/85/92? A: The n:th root of x is always x^(1/n). On TI-92 there is no special function for the n:th root. 3.3 Q: What is the equation for drawing a circle? A: The equation for drawing a circle is Y= +/- SQRT(r^2 - x^2) where r is the radius of the circle. On TI-85, +/- is expressed with a list containing 1 and -1. Thus the equation would look: Y={1,-1}SQRT(r^-x^) ------------------------------------------------------------------------------ *** 4 TI-Basic programming questions *** 4.1 Q: Can I delete a variable from inside a program? A: On the 83, you can delete a variable with the 'delvar' command. With the other calculators, you can't. On the TI-85 you can assign a nul equation to most variables in order to make them as small as possible. Just write the variable name with an assignment symbol after and nothing more. Eg. :A=:B= etc All empty equations created with this method will show up in the equation menu in the solver. If this bothers you, you can also store an empty string to the variable, eg. :""->A:""->B etc. Each string assignment takes two more bytes compared to the equation assignment. 4.2 Q: What are Output "CBL" and Input "CBL" and how do they work? A: They are for controlling a CBL unit (see Q 2.13). They can also be used for communcating between to CBL-compatible calculators. On TI-85s with ROM version higher than 9.0 this is done by using the command Outpt("CBLSEND",arg) (where arg is any variable). Note that this is not the same syntax as in the TI-85 manual. If another calculator is connected to the link port, AND this calculator is in pause mode it will receive the var sent by the other calc. Since CBL is not meant for communicating between calculators, it's hard to get it to work satisfactory. 4.3 Q: Can I draw a "white" line on the 85, like I can on my 82? A: No, unfortunately not. 4.4 Q: What else does TI-82 have that TI-85 hasn't? A: - A table generator - A better list-editor - Split mode - the option of viewing the graph-screen and the text home screen on the display at the same time. - The possibility of outputting text to a graph - Deep command recall. (Like DOSKEY for DOS.) 4.5 Q: Why do I get an Error Message 15 when I try to edit this program? A: The program you're trying to edit is probably edit-locked. 4.6 Q: What is edit-locking and how do I edit-lock a program? A: If a program is edit-locked you can't view it in the program editor. This is used for protecting programs from beeing modified or copied. How to accomplish edit-locking: --- 82 --- (Thanks to Bernard Domroy for this info) 1. Open your hex editor and go to byte 3Bh. If the file is unprotected, it will be 05h. If it's protected, it will be 06h. Change this byte to either 05h or 06h, depending on whether you want to lock or unlock the file. 2. Update the checksum (the last two bytes of the file). If you go from 05h to 06h, you must add 1 to the checksum, and if you go from 06h to 05h, you must subtract one. (Note the low order 8 bits are in the next to last byte in the file) You can also use WinLink to get information on a file and protect it, although you can't unprotect it. 3. Transfer the file back over to your calculator. It's now locked! --- 85 --- (Thanks to Dan Eble and Adam L. Pollock for this info) 1. Make sure there is a blank line at the end of your program (add one if there isn't) 2. Transfer your program to your computer using a TI-Graph Link 3. Edit the program file on your PC using a program that will let you edit files in hexadecimal (such as ZipZap) 4. Go to the end of the file when editing it in hexadecimal. The third byte from the end should be 6Fh. Change it to FFh. 5. Update the checksum (the last two bytes) of the file. It's a 32-bit number stored little-endian-wise (or use fix.com.) FIX.COM is located in Appendix A How edit-locking works on TI-85. Dan Eble explains: I'm not exactly sure how it works, but here's my theory: FFh is used as a marker when the caculator tokenizes the basic code. The end of program is signaled by 00h. So, you're okay running the program, but when you try to edit it, the calulator gets to the FF and tries to expand what's after it, but since no 00 follows, it keeps retrieving what's in the memory after the program, until it fill itself up. If anyone else out there knows by more than theory what happens, please give information. How edit-locking works on TI-82: On TI-82 a protected program is a special variable type. A variable of this type can't be created on the calculator, but only on a PC. 4.7 Q: How do I find the length of a REAL variable? A: To find the length of a positive integer, x: length= int log x +1 To find the length of a negative integer, x: length= int log -x +2 (one extra for the minus sign) If it's a decimal value or a value containing Exxx, convert it to a string (see Q 4.8) and use the lngth command. 4.8 Q: How do I convert a REAL variable to a string? A: If you have a REAL var in A, you will get A expressed as a string in string B with the following code: :LinR{0,1},{A,A :Eq->St(RegEq,X :sub(X,1,lngth X-3->B ------------------------------------------------------------------------------ *** 5 Link questions *** 5.1 Q: What can I do with a PC link? A: Make RAM-backups. Transfer single variables PC <-> calc. Get screenshots. 5.2 Q: What are the different links? A: - The Graph-Link. TI's cable. Is about $50. Is compatible with all official TI software. Includes adapter for Macintosh as well. - $5 serial link. Build-it-yourself link for the serial port. - $5 parallell link. D:o for the parallell port. - Connect-85 link. A bit more expensive (and probably higher quality) build-it-yourself link Currently there are no plans for a Mac home-made cable. Mainly due to the lack of "hackers" in the Mac community. 5.3 Q: How do I build my own link? A: Check out ticalc.org for links and instructions. 5.4 Q: What link programs are available? A: - For the Graph-link Windows, DOS and Mac TI software is available for all calculators. Get it at the Graph-TI archive - For the other cables, and for the Graph-link, there is the Connect-85 software for Windows. - *** What other link softwares are there?? *** 5.5 Q: Are the Graph-links for the TI-85 and the TI-82 the same? A: Yes! And for TI-83. And for TI-92. 5.6 Q: Are the calc-to-calc cables the same for TI-82 and TI-85? A: Yes! And for TI-83 and TI-92. 5.7 Q: I've lost my calc-to-calc cable, where can I get a new? A: - Call TI-CARES (see Q. 2.12) and ask if they can send you one. - Ask at your school. They often seem to have a bunch of them. 5.8 Q: I get a 'transmission error' when I try to send a variable from one calc to another. What's wrong? A: Probably you haven't pushed the connector all the way in. It needs to be inserted REALLY hard. 5.9 Q: Can I make two programs to link to each other? A: From a TI-basic program it's possible only if you have a CBL- compatible calculator. See Q. 4.2! From ZShell it's always possible though. Look at ticalc.org for more info. 5.10 Q: How do I transfer the programs that I download from this forum to my calculator? A: Standard encoding for TI programs is UUE. To extract this, cut and paste the message into a text editor, save it, and run a UUDecoder on it. The graph link software has a built in UUdecoder or you can download UUD20.COM for DOS from the Graph-TI archive. Then transfer the resulting file to the calc with your link software. If you have no link, you can still use TI's graph-link software for viewing the program and then type it in manually. ZShell programs has to be transferred through a cable though. 5.11 Q: I have a mac. How can I make the link software recognize this *.85x file? A: Thanks to Billy Kakes for the following: On a Mac, there is a 4 character "type" code and a 4 character "creator" code that tells the computer what type of file the file is and what program it "belongs" to (like a .doc file belongs to Word). You need to set these to fit the TI Graph program. Using an utility named ResEdit (Apple's freeware RESource EDITor), choose "Get File Info" from the File menu and change these codes. NOTE: Case DOES matter on these! The creator code should be either "TI82", "TI85", or "TI92" depending on the program and calculator you are using. These types of files are available (substitute your calc. number for "85": "85B " Backup file (yes, there is a space on these after the code) "85C " "85D " "85E " "85I " (that is an I, like "eye") "85K " "85L " "85M " "85N " "85P " Program file "85R " "85S " String file (and ZShell programs) "85V " "85G " Group file "TEXT" Plain text "85UU" UUEncoded TI file You will notice that the icon will change to represent the TI file. TIP 1: A shareware program named "Snitch" puts a "Type" and "Creator" edit box in the Finder's Get Info box, so you can change these easily, and without using ResEdit TIP 2: If you have PC Exchange (it comes with System 7.5 and Performas), you can set it up so files ending with .85G, for example, will automatically become "TI85" "85G " files and can be used with the Graph Link program. 5.12 Q: Why can't I build a *REAL* Graph-link that will work with TI's Windows software? A: The TI Graph-Link is a pretty complicated gadget. It contains a special PIC165x-chip that will convert data you send to the COM- port into signals understandable by the calc. With the other links you send data with the calculator protocol directly, which makes the link much less complicated. If you wanted to build a *real* Graph-Link you would have to get this PIC chip and then program it to do this conversion. Noone has yet managed to do this. --------------------------------------------------------------------------- *** 6 Accelerating the calculator *** 6.1 Q: What is Turbo-TI? A: A method of accelarating a TI-85. By replacing a certain capacitor you can force the processor to run at a much higher speed, usually about 2-3 times faster. No obvious negative effects has been reported. 6.2 Q: Can I accelerate any other calculator than the TI-85? A: Probably this applies to the entire TI-8x range, but so far it's only been done on the TI-85. TI-92's processor has a crystal, so the capacitor-replacing method is not possible on it. 6.3 Q: Where can I find more info on calculator accelerating? A: Look at ticalc.org. See Q. 1.1 ------------------------------------------------------------------------------ *** 7 ZShell *** 7.1 Q: What is ZShell? A: ZShell is a memory hack for TI-85, that provides an interface for running Z80 assembler programs on the calc. It has to be loaded through a backup. Programs for ZShell are made on the computer and stored in the calc as strings. 7.2 Q: Which is the latest version of ZShell? A: 4.0 7.3 Q: Which ROM versions does it work with? A: 3.0A, 4.0, 5.0, 6.0, 8.0, 9.0 or 10.0. The only known ROM version that is not supported is 2.0. 7.4 Q: Why is there no ZShell for TI-82? A: Rob Taylor explains: In order to get a ROM based OS (any OS, including those in the 82/85) to call a machine code program in rom, you need some way of telling the OS to stop executing the routines in ROM and execute routines at an address in RAM. In home computers and suchlike, the designers were nice enough to put special commands and such to allow assembly code to be run (i.e USR on the spectrum). On the Texas Instrument calculators, the designers did not want to implement this type of function because they believe that it would violate the integrety of the system (and this is quite a sensible stand to take, considering the RAM is used as a storage device) So if we want to get a TI to call a routine in ram, we must take advantage of some mistake made by the designers... Such mistakes that would allow this would be: at some point in the execution of rom, it takes an address from RAM and calls this, or at some point calling an adress in ram where it had previously put a routine to be executed. The second option is oftem found on systems where ROM swapping is used, but unfortunately not on the TI calculators (they work by leaving one section of rom in the same place all the time) So we're left with examining methods using the first option, which could be found in a number of situations, though the TI programmers would have been careful to try and avoid it. On the TI-85 this loophole was found in the custom menu. The custom menu consists of addresses which point to a number of tokens which determine the operation to be taken by the system. The usual token uses is that meaning ' take the string that this address points to (gives address) and display it in the custom menu box and when the item is selected, copy it into the homescreen buffer' On the Earlier versions of teh Ti-85 another take was made use of by the system to allow you to make custom menu items that ran one of the TI's 'application' programs (things like the Polynomial solver, the program editor, etc.). Now the way they implemented this was to make a token that meant 'display this string (gives string' in the custom menu box, and when it is selected jump to this address (gives address)', so in normal use the adresses would point to ROM routines. (NB the catalog items that did this were removed in later rom versions, though they still left in the token system that allowed it..) So all that was needed to make the OS call a routine in ram was to edit a backup so that the custom menu was contained this token, and the address pointed to a place in ram where you had put your routine. (there were numerous problems whith where in ram to put the routine, but this was the crux of the matter) This method was noted becase there was obviosly a method by which ram was altered in some way to allow the user to call a routine in ROM. Now, no such method could be found on the ti-82, despite a lot of peoples work on it. But if you beleive that there could be a way, you now know what you need to achieve to do it.. 7.5 Q: Will there be a ZShell for TI-92? A: Yes, a beta version of a shell called Fargo has been released. For more info on Fargo, see http://www.ticalc.org/asm/fargo/ 7.6 Q: Where can I find more info on ZShell? A: At http://ticalc.org/asm/zshell/ 7.7 Q: I have more programs than will fit in the ZShell menu. Do I have to delete some of them? A: No. Read the ZShell docs! 7.8 Q: What is SENGINE and where can I get it? A: Sengine is game engine that some games require in order to run. You can get it from 7.9 Q: Why doesn't TI support assembler programming? A: Paul King at with TI's official explanation: "As the smallest division in Texas Instruments, Consumer Products does not have large financial resources, and although we do appreciate the utility that assembly programming can provide, building a support program from scratch would simply exceed the limit of those resources (and it might even take the ZSheller's back a few steps). We have finite amounts of money that we can spend before cutting into other programs or raising prices. This, along with the fact that other TI-85 users are willing to share their expertise in ASM programming on the TI-85, we feel it is most beneficial to everyone for support to continue on its present course." Just a couple of weeks after I got this answer, TI announced that they will support assembler programming on the TI-83. 7.10 Q: After I've used ZShell my menutext is underlined! Why? A: This is a known bug in ZShell. When ZShell runs, it sets a specific mode-bit that makes all menutext appear with the pixel-line under the character cleared in the background color. When ZShell exits, this is not restored. Besides the aesthethical aspect, this bug is harmless. 7.11 Q: Is it possible to transfer ZShell from one calc to another without using a backup? A: No. ZShell has to be in a fixed memory location in order to work. This is only possible by transferring it as a backup. ------------------------------------------------------------------------------ *** 8 TI-83 Assembler *** 8.1 Q: When I try to run an ASM program I get SYNTAX ERROR. Why? A: Thanks to Evan Romer for the following: Suppose you have an AL program called TEST, and you have another program which calls it using "send(9...". If you make ANY error in how you call or enter your assembly language program, the TI-83 always reports a syntax error in the calling program, not in the AL program, and always in the same place: Send(9prgmTEST ^ If you get a syntax error here, here are some possible causes. I've made almost every one of these mistakes :( * program TEST doesn't exist * the "send" command you use to call the AL program may not have a closing parenthesis: good bad Send(9prgmTEST Send(9prgmTEST) * program TEST must have an even number of digits on each line * the size of the data area must be given with 4 digits. For example: good bad :End :End :0000 :00 :End :End * program TEST cannot have an ENTER after the last "End". For example: good bad :End :End :0000 :0000 :End :End : ------------------------------------------------------------------------------ *** 9 TI Emulators *** 9.1 Q: What TI emulators are available? A: The only emulators made by TI are TI-81 emulators for DOS and Mac. They can be ordered from TI-cares (see Q 2.12) and cost $65 each + VAT and shipping and handling. There is also a TI-85 emulator made by Robert Taylor,Ilya Haykinson, Dines Justesen and David Ellsworth. This emulator uses a ROM-dump from a TI-85 to exactly emulate the calculators behaviour. Because the ROM is TI's copyright, you must own a TI-85 before you are allowed to use the emulator. The emulator is available from www.ticalc.org. No other emulators are available today. 9.2 Q: How do I get TI85ROM.BIN for the TI-85 emulator? A: Since the ROM is copyrighted by TI, it's illegal to distribute copies of it. Therefore you must own a TI-85 in order to use the emulator. In addition to having the calc you need a PC-link as well. If you don't have a link or know anyone from who you can borrow one, you can't use the emulator. The following procedure is provided by Dines Justesen: Dump ROM is a program which helps you make rom dumps from your calc. This can be used for many things, one of them is to make a rom image file to use with the emulator. Download Dump_ROM from http://www.gbar. dtu.dk/~c958362/dumprom.zip. To use the rom images made by Dump ROM with the TI-85 Emulator you need to correct some of the bytes in the image. The following program will do this for you. Download FixRom ver 1.01 from http://www.gbar.dtu.dk/ ~c958362/fixrom11.zip. To make the rom image do the following: 1.Download the backup fil from the Dump ROM program to the calc. 2.Make the backup files page0.85b to page7.85b as descibed in Dump ROM docs. 3.Convert the files to .bin files as done in the Dump ROM batch file. 4.Run FixRom from the same directory as the .bin files. 5.Copy the new file (ti85rom.bin) to the emulator directory. Based on the batch file included in Dump ROM zarquon@gaianet.net has made a batch file which will do all of this for you. Run the file from the dir with the .85b files and you will get a ti85rom.bin file. The batch file uses Dump_rom and FixROM so both program should be in the current dir or in the path. You can download make.bat from http://www.gbar.dtu.dk/~c958362/make.bat" 9.3 Q: Why do I get 'ROM FAIL' when I run selftest on the TI-85 emulator? A: The ROM dump program "misses" the last byte of every ROM page when it makes them. To fix this, change the last byte of every ROM page (i.e. every 16384:th byte in TI85ROM.BIN) to $FF. The last byte of page 7 (the last page) is ROM specific and should have one of the following values. ROM v n:o 2.0 $2A 3.0A $57 4.0 $8E 5.0 $5E 6.0 $3D 8.0 $97 9.0 $91 10.0 $35 To fix this see Q. 9.2 9.4 Q: Why can't I get ZShell to run on my TI-85 emulator? A: For the same reason as in Q 9.3 ------------------------------------------------------------------------------ *** Appendices *** ------------------------------------------------------------------------------ A. A uuencoded version of fix.com Fix.com is used to update the checksum of a *.85? file. begin 644 fix.com MOX``B@6*R#+M@_D`='E)1XH%/"!T\T&+][^2`?.DN`(]NI(!S2&+V')4M#^Y M`("Z,0+-(:.0`7)%OV8"BPTSP#/2B_F!QV@"3XH5`\+B^8L^D`&!QR\"B06X M`$(SR3/2S2%R&K1`BPZ0`;HQ`LTA<@VT";H4`LTAM#[-(OQ MNO0!M`G-( store \->\ (-) unary minus \(-)\ square root \SquareRoot\ cube root \CubeRoot\ 10^ (ten to x) \10^\ (representation is for 10 only) inverse \^-1\ squared \^2\ cubed \^3\ r radian \radian\ o degree \degree\ R>P( \R>P(\ P>R( \P>R(\ theta \Theta\ Sigma x \Sigma-x\ Sigma x^2 \Sigma-x^2\ Sigma xy \Sigma-xy\ Sigma y \Sigma-y\ Sigma y^2 \Sigma-y^2\ x bar (mean) \x-bar\ y bar (mean) \y-bar\ standard deviation (pop) x \sx\ standard deviation (pop) y \sy\ pi \pi\ KEYWORD (key) STRING (without delimiters) ------------- --------------------------- sin^-1 sin^-1_ sinh^-1 sinh^-1_ cos^-1 cos^-1_ cosh^-1 cosh^-1_ tan^-1 tan^-1_ tanh^-1 tanh^-1_ (NOTE: _ after -1 is a REQUIRED blank space. FUNCTIONS AND INSTRUCTIONS FOR THE TI-82: (NOTE: FOR TI-82 ONLY -- TI-85 ITEMS FOLLOW.) -------------------------------------------- -> store \->\ pi \pi\ >= greater than or = to \>=\ <= less than or = to \<=\ not equal to \<>\ square root \sqrt\ cube root \CubeRt\ 10^ \10^\ (representation is for 10 only) (-) negation \(-)\ x Root y \XrootY\ sequence variable n \n\ matrix transpose \T\ squared \^2\ cubed \^3\ inverse \^-1\ r radian \rad\ o degree \deg\ sinh^-1 \sinh^-1\ sin^-1 \sin^-1\ cosh^-1 \cosh^-1\ cos^-1 \cos^-1\ tanh^-1 \tanh^-1\ tan^-1 \tan^-1\ to Frac display conversion \>Frac\ to DMS display conversion \>DMS\ to Dec display conversion \>Dec\ E exponent notation \E\ zthetamax \Z-@max\ zthetamin \Z-@min\ zthetastep \Z-@step\ delta X (uppercase) \Delta-x\ delta Y (uppercase) \Delta-y\ thetamax \@max\ thetamin \@min\ thetastep \@step\ Sigma x \Sigma-x\ Sigma x^2 \Sigma-x^2\ Sigma xy \Sigma-xy\ Sigma y \Sigma-y\ Sigma y^2 \Sigma-y^2\ standard deviation (pop) x \sx\ standard deviation (pop) y \sy\ x bar (mean) \x-bar\ y bar (mean) \y-bar\ sequence function \Un\ sequence function \Vn\ sequence variable \UnStart\ sequence variable \VnStart\ sequence variable \nStart\ sequence variable \nMin\ sequence variable \nMax\ sequence variable \Un-1\ sequence variable \Vn-1\ zoom memory sequence variable \ZUnStart\ zoom memory sequence variable \ZVnStart\ zoom memory sequence variable \ZnStart\ zoom memory sequence variable \ZnMin\ zoom memory sequence variable \ZnMax\ table variable \Delta-Tbl\ X1 parametric function \X1t\ Y1 parametric function \Y1t\ X2 parametric function \X2t\ Y2 parametric function \Y2t\ X3 parametric function \X3t\ Y3 parametric function \Y3t\ X4 parametric function \X4t\ Y4 parametric function \Y4t\ X5 parametric function \X5t\ Y5 parametric function \Y5t\ X6 parametric function \X6t\ Y6 parametric function \Y6t\ Y1 function \Y1\ Y2 function \Y2\ Y3 function \Y3\ Y4 function \Y4\ Y5 function \Y5\ Y6 function \Y6\ Y7 function \Y7\ Y8 function \Y8\ Y9 function \Y9\ Y0 function \Y0\ r1 function \r1\ r2 function \r2\ r3 function \r3\ r4 function \r4\ r5 function \r5\ r6 function \r6\ L1 list variable \L1\ L2 list variable \L2\ L3 list variable \L3\ L4 list variable \L4\ L5 list variable \L5\ L6 list variable \L6\ x1 statistical summary point \x1\ y1 statistical summary point \y1\ x2 statistical summary point \x2\ y2 statistical summary point \y2\ x3 statistical summary point \x3\ y3 statistical summary point \y3\ first quartile variable \Q1\ third quartile variable \Q3\ Greek Characters theta \@\ MISC characters box mark \box icon\ cross mark \crs icon\ dot mark \dot icon\ CONV characters rectangular to polar return theta \R>P@\ rectangular to polar return R \R>Pr\ polar to rectangular return x \P>Rx\ polar to rectangular return y \P>Ry\ \Special continue TI-82 program line \#\ FUNCTIONS AND INSTRUCTIONS FOR THE TI-85: --------------------------------------------- -> store \->\ pi \pi\ < angle for complex numbers \angle\ >= greater than or = to \>=\ <= less than or = to \<=\ not equal to \<>\ square root \sqrt\ 10^ \10^\ (representation is for 10 only) (-) negation \(-)\ x Root y \xRooty\ matrix transpose \T\ squared \^2\ inverse \^-1\ r radian \rad\ o degree \deg\ sinh^-1 \sinh^-1\ sin^-1 \sin^-1\ cosh^-1 \cosh^-1\ cos^-1 \cos^-1\ tanh^-1 \tanh^-1\ tan^-1 \tan^-1\ binary designator (b) \bin\ decimal designator (d) \dec\ hex designator (h) \hex\ octal designator (o) \oct\ hexadecimal A \hexA\ hexadecimal B \hexB\ hexadecimal C \hexC\ hexadecimal D \hexD\ hexadecimal E \hexE\ hexadecimal F \hexF\ to Sph display conversion \>Sph\ to Rec display conversion \>Rec\ to Pol display conversion \>Pol\ to Oct display conversion \>Oct\ to Hex display conversion \>Hex\ to Frac display conversion \>Frac\ to DMS display conversion \>DMS\ to Dec display conversion \>Dec\ to Cyl display conversion \>Cyl\ to Bin display conversion \>Bin\ vc-li data conversion \vc>li\ St-Eq data conversion \St>Eq\ li-vc data conversion \li>vc\ Eq-St data conversion \Eq>St\ E exponent notation \E\ u0 built-in constant \u0\ e0 built-in constant \e0\ zthetamax \z-@max\ zthetamin \z-@min\ zthetastep \z-@step\ delta x (lowercase) \Delta-x\ delta y (lowercase) \Delta-y\ thetamax \@max\ thetamin \@min\ thetastep \@step\ Sigma x \Sigma-x\ Sigma x^2 \Sigma-x^2\ Sigma xy \Sigma-xy\ Sigma y \Sigma-y\ Sigma y^2 \Sigma-y^2\ standard deviation (pop) x \Sx\ standard deviation (pop) y \Sy\ x bar (mean) \x-bar\ y bar (mean) \y-bar\ Greek Characters alpha (lowercase) \LC-alpha\ beta (lowercase) \LC-beta\ gamma (lowercase) \LC-gamma\ Delta (uppercase) \UC-Delta\ delta (lowercase) \LC-delta\ epsilon (lowercase) \LC-epsilon\ theta (lowercase) \LC-theta\ lambda (lowercase) \LC-lambda\ mu (lowercase) \LC-mu\ rho (lowercase) \LC-rho\ Sigma (uppercase) \UC-Sigma\ sigma (lowercase) \LC-sigma\ tau (lowercase) \LC-tau\ phi (lowercase) \LC-phi\ Omega (uppercase) \UC-Omega\ MISC characters N tilde \UC-N~\ n tilde \LC-n~\ C cedilla \UC-C-cedilla\ c cedilla \LC-c-cedilla\ ? inverted \?\ INTL characters A acute \UC-A'\ a acute \LC-a'\ A grave \UC-A`\ a grave \LC-a`\ A circumflex \UC-A^\ a circumflex \LC-a^\ A umlaut \UC-A:\ a umlaut \LC-a:\ etc for e, i, o, u CONV characters (for example, ft^2 to m^2 would be \ft^2\\>\\m^2\ > conversion operator \>\ lt-yr light year \lt-yr\ ft^2 \ft^2\ m^2 \m^2\ mi^2 \mi^2\ km^2 \km^2\ in^2 \in^2\ cm^2 \cm^2\ yd^2 \yd^2\ cm^3 \cm^3\ in^3 \in^3\ ft^3 \ft^3\ m^3 \m^3\ us (micro seconds) \usec\ oC degree C \deg C\ oF degree F \deg F\ oK degree K \deg K\ oR degree R \deg R\ N/m^2 \N/m^2\ lb/in^2 \lb/in^2\ mmH2O \mmH2O\ inH2O \inH2O\ ftlb/s \ftlb/s\ cal/s \cal/s\ Btu/mn \Btu/mn\ ft/s \ft/s\ m/s \m/s\ mi/hr \mi/hr\ km/hr \km/hr\ kw-hr \kw-hr\ l-atm \l-atm\ \Special continue TI-85 program line \#\ ------------------------------------------------------------------------------ *** END OF FAQ *** ------------------------------------------------------------------------------