Disaster

Command Summary

Returns the user to the homescreen

Command Syntax

Main command, no special syntax

Press [CATALOG] [D] then scroll down until you see it.

{$compatibility} 2 bytes The DispHome command returns the user to the homescreen. This is very useful in a program that uses the I/O screen since ending a program with a command like Stop will not automatically return the user to the homescreen. Take this example: Prompt a Pause DispHome  This code will ask for a value for "a", then go to the homescreen. Had you not put the DispHome command there, you would have stayed at the I/O screen, which in some cases can be confusing. # Optimization The DispHome command also combines the functionality of the Stop command. For example DispHome Stop can be DispHome  # Related Commands Command Summary Renames a variable into another one Command Syntax Rename var1,undefinedvar2 Menu Location Catalog Menu This command works on all calculators. X byte(s) The Rename command allows you to rename a defined variable to an undefined variable. This is useful if you want to store the value of a variable into another variable, although the Store command is more commonly used for that purpose. Rename a,b  The above code would run when "a" is a defined variable and "b" is an undefined variable. That means that if both "a" and "b" were defined, or if "a" was undefined and "b" was defined, it would not work (it would give you error 960).You would get an error if you try to redefine an already defined variable. # Advanced Uses The Rename command can also be used for strings. The below code would store the text in Str1 to "a". Rename str1,a  # Error Conditions 960 - Undefined variable happens when there is an undefined variable. 270 - Duplicate variable name happens when there is a duplicate variable name. # Related Commands  Welcome to the TI-Basic Developer (TI|BD) 68k Basic Starter Kit! This tutorial is designed to help new 68k programmers get their feet off the ground. The tutorial is divided into chapters that each have their own focus, and is meant to be read in sequential order. If you have questions or get stuck, leave a post on the forums and somebody will assist you. Happy coding!  1. Getting Started 2. The Basics of 68k Basic 3. Creating Games 4. Advanced Graphics 5. Math Functions 6. Optimization 7. Putting It All Together 8. Miscellaneous Command Summary Displays an output on the Home or I/O screen Command Syntax Disp //[text],var Menu Location From the program editor, press [F3][2] This command works on all calculators. X byte(s) The Disp command displays output in the Home App I/O screen. An example: prgmexmp() Prgm Request "Enter something",var1 //Get a value for var1 Disp "var1=",var1 Pause DelVar var1 ClrIO DispHome EndPrgm  # Error Conditions 910 - Syntax happens when there is improper syntax/a variable was not used. # Related Commands # Credits Credits to byobcello for the explanation and code, both were made by him. Modified for readability/corrections Command Summary Stores a string to a variable Command Syntax InputStr variable Menu Location In the program editor, press [F3][4] TI 89(T)/92 1 byte or 2 bytes The InputStr command allows you to input a string to a variable. Since Input doesn't support the storing of strings into variables, you have to use this command to do that. Keep in mind that the inputted variable cannot be the name of a preexisting variable or flash application that is locked, protected, or archived. For example, if you had a program named "a" or "hello", the command wouldn't work because it is already in use. InputStr A //Here, you would a string to be stored to the variable A InputStr hello //This would store the string into the variable "hello".  # Related Commands # Error Conditions 980 - Variable is locked, protected, or archived happens when the user attempted to redefine/modify an already defined variable. # Also See Command Summary Prompts the user to assign a value to a variable Command Syntax Prompt var1,var2… Menu Location In the program editor, press [F3][5] TI 89(T)/92 2 bytes The Prompt command functions much like the Input command. It allows you to type a value to be stored to a variable. You can also prompt multiple values at the same time. For example: Prompt A //This will ask the user to type a value for A Prompt A,B,C //This will ask for a value for variables A,B, and C  You can also ask for input in user-made variables Prompt cool //This asks for a value for the variable "cool"  # Related Commands Command Summary Draws a circle on the graphscreen Command Syntax Circle X,Y,radius,drawing mode Menu Location • Press [Diamond][F3] to enter the graphscreen • [F5][LEFT][LEFT] to get to the F7 menu • [4], then follow the prompts to draw the circle TI-89(T)/92 1 byte or 2 bytes The Circle command allows a person to draw a circle on the graphscreen. It can be drawn using the given keystrokes, or it can be called at the homecreen by typing it out. Circle 0,0,5 //Will draw a circle with a center of (0,0) and a radius of five.  # Advanced Uses The Circle command is based off of the window settings, so depending on how they are set up, it could draw a circle or an ellipse. # Command Timing Unlike the Circle command from the 83+ family of calculators, the Circle command is very fast, drawing it almost instantly to the graphcreen, as demonstrated by the screenshot. # Related Commands author: Battlesquid version: '1.0' summary: 'Clash Royale…now on your 83+ family of calculators' description: 'Clash Royale…you''ve probably seen it on mobile, and maybe even played it. Now, you can conquer the same way on your graphing calculator! Battle it out with another player to see who is truly the most OP. WIP, soon to be finished.' arcade: '1' graphics: '0' platform: '0' puzzle: '0' rpg: '0' strategy: '1' sports: '0' casino: '0' board: '1' utility: '0' misc: '0' compatibility: bb download: 'archivefile:op/OP.8xg' image: 'archiveimage:superop-home/SuperOP-Home.gif' fileSize: '3829' fileSizeUnit: '1' dateMade: '1490857200' Routine Summary Newton's Method - calculates the value of an equation Inputs Variant 1: Str1, A Variant 2: Str1, Str2 Str1 and Str2 - The equation(s) are stored to the string variables. Y1 and Y2 - The equation(s) are stored to the Y-variables from the string variables, then used for operations. A - To store the seed value, and then the final value of the equation. Outputs A - The answer is stored to A Variables Used A, Y1, Y2 Calculator Compatibility TI-83/84/+/SE/CSE/CE Authors Variant 1:Myles_Zadok Variant 2: Xeda Elnara Download newton.zip Newton's Method is a routine for math that calculates the value of the zeroes of an equation, or the intersection point of two equations. Variant 1 :Input "Y1=",Str1 :Str1→Y1 :Input "SEED VALUE=",A :For(I,1,10) :Tangent(Y1,A) :A-((Y1(A))/(nDeriv(Y1,X,A)))→A :End :Disp "APPROX. ROOT IS ",A  The program asks the user for an equation and the seed value. The seed value is the point from which the calculator approximates the zero of the function, so the seed value needs to be close to the desired zero. The calculator then begins the For( loop, which is run 10 times, each time getting a closer approximation of the zero. The loop draws a tangent line and runs the formula for the zero of the function. The answer, depending on the seed value, should be really close to the zero of the function. In case you're wondering, you can remove the Tangent( command altogether and make the program run faster. However, you will have no clue as to whether you chose a good seed value or not. The Tangent( command slows down the program, but it lets you see if your chosen seed value will be accurate or not. Variant 2 Variant 2 :Input "Y1 ",Str1 :Str1→Y1 :Input "Y2 ",Str2 :Str2→Y2 :0→I :Repeat I=10 or K<20 :I+1→I :0→K :10rand→A :Ans+1 :While K<20 and E-10<abs(A-Ans :Ans→A :K+1→K :A-(Y1(A)-Y2(A))/nDeriv((Y1-Y2),X,A :End :End :Disp Ans  The program asks for two equations and runs Repeat and While loops followed by the formula for the X-coordinate of the intersection of the two equations. The answer should be the value of the X-coordinate of intersection. +Routines author: 'Angelo DeSanto' version: 2.2.3.CE summary: 'A program to solve for any of three variables: Pressure, Temperature, or Heat of formation.' description: "Very easy to use as the program accepts three pressure units (atm, mmHg, & torr), as well as three temperature units (C,K,&F) and converts all of them automatically to an output of Kelvin, Atmospheres, or Kilojoules per mole, depending on the operation performed\n\nDownload includes a Ti-84+CE version, and a Ti-84+ friendly version" arcade: '0' graphics: '0' platform: '0' puzzle: '0' rpg: '0' strategy: '0' sports: '0' casino: '0' board: '0' utility: '1' misc: '1' compatibility: bb download: 'archivefile:ccsolver/ccsolver.zip' image: 'archiveimage:capture-3/Capture-3.png' fileSize: '3' fileSizeUnit: '2' dateMade: '1490760000' author: Battlesquid version: '1.0' summary: 'A mini version of the classic Bomberman game!' description: 'A shrunken down version of the classic Bomberman game. Utilize your endless stream of bombs to make it to the exit without killing yourself. Controls in the README, works on the 83+ and 84+, but recommended for the 84+SE.' arcade: '1' graphics: '0' platform: '0' puzzle: '1' rpg: '0' strategy: '0' sports: '0' casino: '0' board: '0' utility: '0' misc: '0' compatibility: bb download: 'archivefile:bomberman/Bomberman.zip' image: 'archiveimage:bomberman-gameplay/Bomberman-gameplay.gif' fileSize: '1125' fileSizeUnit: '1' dateMade: '1490425200'  Author: Ericthe101 File Size: takes up barely any RAM. a virus that will seriously mess up your calculator. # TI-Nspire The standard TI-Nspire calculator is comparable to the TI-84 Plus in features and functionality. It features a TI-84 mode by way of a replaceable snap-in keypad (included) and contains a TI-84 Plus emulator. The likely target of this is secondary schools that make use of the TI-84 Plus currently or have textbooks that cover the TI-83 (Plus) and TI-84 Plus lines, and to allow them to transition to the TI-Nspire line more easily. # TI Nspire CX The TI-Nspire CX is one of the latest updates to the TI-Nspire series. It has a thinner design with a thickness of 1.57 cm (almost half of the TI-89), a 1200 mAh rechargeable battery (wall adapter is included in the American retail package), a 320 by 240 pixel full color backlit display (3.2" diagonal), and OS 3.0 which includes features such as 3D graphing. With the exception of interchangeable TI-84 keypads, the CX series retain all features of the previous TI-Nspire models. The colors of the calculator are still the same as those of the TI-Nspire models; the CX is white and dark blue. In addition, the external connectors have changed slightly. The mini-USB port, located at the center of the top of the TI-Nspire series, has moved to the right on the CX series. Lastly, on the CX series, TI added a second port immediately left of the mini-USB port, for a new wireless module. # TI Nspire CAS The TI-Nspire CAS calculator is capable of displaying and evaluating values symbolically, not just as floating-point numbers. It includes algebraic functions such as a symbolic differential equation solver: deSolve(…), the complex eigenvectors of a matrix: eigVc(…), as well as calculus based functions, including limits, derivatives, and integrals. For this reason, the TI-Nspire CAS is more comparable to the TI-89 Titanium and Voyage 200 than to other calculators. Its likely targets are college students and universities. Unlike the TI-Nspire, it is not compatible with the snap-in TI-84 Plus keypad. # TI Nspire CX CAS The TI-Nspire CX CAS Is the latest update to the TI-Nspire series. It has similar features to the CX, It has a thinner design with a thickness of 1.57 cm (almost half of the TI-89), a 1200 mAh rechargeable battery (wall adapter is included in the American retail package), a 320 by 240 pixel full color backlit display (3.2" diagonal), and OS 3.0 which includes features such as 3D graphing. This calculator can be programmed in two types of programming languages: TI-BASIC and Lua. # Bibliography Wikipedia author: Trenly version: '1.0' summary: 'A program for doing distributions in probability and statistics.' description: "This program is put here for the use of the Prob-Stats class at my school, or anyone else who wishes to use it. It will be continuously updated as I progress through the course. Some features in the program are not fully implemented yet, as this program is still under development. This is not meant to be an optimized program, and I do not plan on optimizing until the end. The methods used in this program may not be the methods used in every prob-stat course. If you find any bugs with the program send me a private message here on the forums, or send me an email at moc.liamg|cmylnert#moc.liamg|cmylnert\n\nNote: If you enter 0 for Xmax on the normal distribution or the Poisson distribution it will assume it to be infinity. \nNote: If you enter a decimal for Xmin or Xmax in the binomial or Poisson distribution, it will properly round\n[[code]]\nLbl RR\nFix 4\nClrHome\nMenu(\"Distributions\",\"Binomial\",BD,\"Poisson\",PD,\"Normal\",ND,\"χ²\",XD,\"Inverses\",ID,\"Exit\",EX\nLbl BD\nDisp \"prgmBINOMDF\"\nInput \"N:\",N\nInput \"P:\",P\nInput \"Xmin:\",X\nInput \"Xmax:\",Y\nIf not(fPart(P) or iPart(P):Goto RR\nIf fPart(X):iPart(X)+1→X\nIf fPart(Y):iPart(Y)→Y\nIf fPart(N):iPart(N)→N\nIf sum(1>{N,Y}:Goto RR\nIf Y<X:Stop\nIf Y=X:binompdf(N,P,X)\nIf Y>X:binomcdf(N,P,Y)-binomcdf(N,P,X-1)\nGoto DA\nLbl PD\nDisp \"prgmPOISSDF\"\nInput \"λ:\",L\nInput \"Xmin:\",X\nInput \"Xmax:\",Y\nIf fPart(X):iPart(X)+1→X\nIf fPart(Y):iPart(Y)→Y\nIf 0>L:Goto RR\nIf Y=0:999999→Y\nIf X>Y:Goto RR\nIf X=Y:poissonpdf(L,X)\nIf Y>X:poissoncdf(L,Y)-poissoncdf(L,X-1)\nGoto DA\nLbl ND\nDisp \"prgmNORMALDF\"\nInput \"µ:\",M\nInput \"σ:\",S\nInput \"Xmin:\",X\nInput \"Xmax:\",Y\nIf Y=0:999999→Y\nnormalcdf(X,Y,M,S)\nGoto DA\nLbl XD\nLbl ID\nPause \"Coming Soon\nGoto RR\nLbl DA\nPause Ans\nGoto RR\nLbl EX\nFloat\nStop\n[[/code]]" arcade: '0' graphics: '0' platform: '0' puzzle: '0' rpg: '0' strategy: '0' sports: '0' casino: '0' board: '0' utility: '0' misc: '0' compatibility: bb download: 'archivefile:distribs-2/DISTRIBS.8xp' image: null fileSize: '577' fileSizeUnit: '1' dateMade: '1490245200' Development articles for the Nspire are still very much underway. However, you can look at the beginners guide to gain some knowledge on Nspire Basic. …that the Nspire can program in TI BASIC, C, Assembly, and Lua? …that Nspires can program in BASIC, Lua, and C? Did you know… The ListPages module does not work recursively. # What is IRC? IRC stands for Internet Relay Chat, and is a tool that allows users to communicate with each other quickly and efficiently. An IRC comes in the form of a client, which means you would have to download it to be able to use it. There are many networks in IRC (common ones such as freenode, EFnet, IRCNet) and within those networks, you can find channels (where the "actual" communication takes place). The TIBD has its own channel named #tibasicdev, which is really useful for those who have questions regarding calculators or programming. Here is a tutorial that will give you step by step instructions on how to connect to our IRC channel. # Step 1: Obtaining an IRC The first step to connecting to IRC is actually getting an IRC client. There are many IRC's out there, but I will mention a few across the most common platforms. Here are my suggestions. • Linux • Windows • Mac OS X • iOS • Android # Step 2: Connecting to a network For this tutorial, I will be using Quassel since it is easy to configure. Most other IRC's should setup similarly, so if you are using another IRC, the process should fairly be the same. Once you have an IRC client, open it up. A setup window should pop up. Click "Next" and you should see a "General" tab and "Away" tab. Quassel Identity Setup In the "General" tab, you can add nicknames that will show up as you in IRC, and you can also add your real name if you like. In the "Away" tab, you can add an away message, which is displayed when you leave the IRC. Once you have configured those tabs, click "Next". You will then see a space asking for a Network. By default it will be on Freenode, but don't worry about this yet. Click "Save & Connect". From there, you will need to go to File>Networks>Configure Networks. You should see this screen. Click on the "Add" button and another window should open. By default, you will be on the option of a preset network. Select "EFnet from the drop down list and press OK in the current window and Network window. You should be at the home page now (Make sure the network EFnet is highlighted before continuing). # Step 3:Connect to a Channel Now look near the top of the screen, and you should see four buttons (Connect to IRC Disconnect from IRC, Join Channel, Leave Currently selected channel). Click on "Connect to IRC" to connect to the EFnet network. You will know you are connected when the text "EFnet" is black (Gray text means there is no connection). Now click on "Join Channel" and you should see a window. Type "#tibasicdev" in the channel space, then click OK. Join Channel Congratulations, you are now at the TIBD channel! If you have any problems connecting you can discuss them here. # Credits Thanks to jonbush and Pieman7373 for giving me the IRC's for Android and iOS :) author: 'Myles_Zadok; adapted from Trenly''s adaptation of Robert Black''s Flappy Bird emulation' version: '1.0' summary: 'Full-screen Flappy Bird emulation on the TI-84+ CSE and CE calculators.' description: "Full-screen Flappy Bird emulation on the TI-84+ CSE and CE calculators.\n\n\"This is a remake of the previously uploaded game Flappy Bird which features a more intuitive design which allows users to change the speed, and makes the input easier. The code was completely rewritten, and has been tested. It now appears to be bug-free.\n\nTo change the speed, change the first line of the program. A lower number stored into D will make the program faster, higher numbers will make it slower. D must be at least 1.\" - Taken from Trenly's Flappy Bird 2 description.\n\nIf your calculator is older than a TI-84+ CSE, then you need to use Trenly's Flappy Bird 2." arcade: '1' graphics: '0' platform: '0' puzzle: '0' rpg: '0' strategy: '0' sports: '1' casino: '0' board: '0' utility: '1' misc: '0' compatibility: ff download: 'archivefile:flpbirdc/FLPBIRDC.8xp' image: null fileSize: '397' fileSizeUnit: '1' dateMade: '1489212000' author: 'Trenly; Credit to Robert Black for the original idea to emulate Flappy Bird on a calculator' version: 1.0.2 summary: 'A remake of the previously uploaded game Flappy Bird.' description: "This is a remake of the previously uploaded game Flappy Bird which features a more intuitive design which allows users to change the speed, and makes the input easier. The code was completely rewritten, and has been tested. It now appears to be bug-free. If it does not work when you enter it into your calculator, make sure you have entered everything correctly! This code has been proven to work by either the download or the source code.\n \n\nTo change the speed, change the first line of the program. A lower number stored into D will make the program faster, higher numbers will make it slower. D must be at least 1. \n\nSource Code:1\n[[code]]\n15→D\nClrHome\n4→Y\n⁻1→S\nRepeat Y>8\nrandInt(3,7)→H\nS+1→S\nFor(V,16,1,⁻1)\nIf Y>8:Stop\nIf V=2 and (Y≠H and Y≠H-1):Stop\nIf Y≤8:Output(Y,2,\">\"\nFor(E,1,H-2)\nOutput(E,V,\"I\"\nEnd\nFor(E,H+1,8)\nOutput(E,V,\"I\")\nEnd\nFor(E,1,D)\nEnd\nFor(E,1,8)\nOutput(E,V,\" \" //one space\nEnd\nOutput(1,8,S\ngetKey→K\nIf not(K)\nThen\nIf Y≤8:Output(Y,2,\" \" //one space\nY+1→Y\nEnd\nIf K and Y>1\nThen\nIf Y≤8:Output(Y,2,\" \" //one space\nY-1→Y\nEnd\nEnd\nEnd\n[[/code]]" arcade: '1' graphics: '0' platform: '0' puzzle: '0' rpg: '0' strategy: '0' sports: '0' casino: '0' board: '0' utility: '0' misc: '0' compatibility: bb download: 'archivefile:flap/FLAP.8xp' image: 'archiveimage:flappygif/FlappyGif.gif' fileSize: '249' fileSizeUnit: '1' dateMade: '1489212000' …that you can draw different lines for equations by going to the "Y=" menu, pressing left twice, and pressing enter to cycle through the different line types? This page is to reduce confusion when reading code here on the forums. The conventions found on this page are the ones which are the accepted standard on this and many other coding sites. Many of these characters can be found in the character box at the top right of your page, where you can copy and paste them. However, if you find this difficult, you can use the conventions as they are below. Convention Meaning L1 L₁ L2 L₂ L3 L₃ L4 L₄ L5 L₅ L6 L₆ -> >= <= ~= != sqrt( cubert( nroot( ⁿ√ DeltaX ΔX DeltaY ΔY // Code Comment, do not include author: Myles_Zadok version: '1.0' summary: 'Calculates sample standard deviation, variance, population standard deviation, population variance, and the mean of a user-inputted list of numbers.' description: 'The user is asked to input a list of numbers. The program then displays a menu of statistical variables. The user will then select a variable, and the calculator displays the value of the variable for the set list of numbers. This will be repeated until the user selects the menu option of "Quit." This program was originally written for a TI-84+CE. ' arcade: '0' graphics: '0' platform: '0' puzzle: '0' rpg: '0' strategy: '0' sports: '0' casino: '0' board: '0' utility: '1' misc: '1' compatibility: bb download: 'archivefile:statmenu/STATMENU.8xp' image: null fileSize: '349' fileSizeUnit: '1' dateMade: '1486274400' Are you new to Ti-BD? If so, then welcome to the community! This is a guide on how to do some of the basic things here on the forums. Let's start with the basics. Since you're reading this thread, I am going to guess you have already made an account. If you haven't, you can click here to Create Account. # Rules Be sure to read the rules and code of conduct! They can both be found here . Please read and adhere to both of them. # Changing your avatar 1. Click on the My Account button at the top of the page. 2. Navigate to the Settings tab 3. Click the button next to "Avatar" which says "Change" 4. Follow the prompts to upload an image to use as your avatar # Editing your "About Me" page 1. Click on the My Account button at the top of the page. 2. Navigate to the Settings tab 3. On the left side of the screen, you will see a tab titled About me, click that 4. Add any information you wish to share # Adding a signature 1. Click on the My Account button at the top of the page. 2. Navigate to the Settings tab 3. On the left side of the screen, you will see a tab titled Forum signature, click that 4. Add a signature that will appear under all your posts # Introducing yourself 1. Click here to go to the Community Introductions forum 2. Click on the "New Thread" button 3. Tell us about yourself! Common responses include Where are you from? What are some of your hobbies? What programming languages do you know? # Making a Post 1. Navigate around forums! Find a thread you want to reply to. I personally like to use the Recent Posts page. 2. Make sure the thread isn't outdated. Threads more than two or three months old are likely inactive, and the user no longer cares about a response. We consider these dead threads, so please do not reply to them. 3. To contribute to the original post click on the "New post" button 4. To contribute to a specific reply or post, click on the "Reply" button under the post you want to respond to. 5. Edit the title if you want, although this is optional 6. Write your response • Note: you can use Wiki Markup in your reply to format it. Wiki Markup codes are found here • Also note the "Char" Box in the upper right corner of the screen. It contains the TI-Basic characters that aren't readily accessed from the keyboard. It is meant to be a nice convenience for people who want to post code on the forum, allowing you to quickly copy and paste instead of having to hunt them down every time. # Making a Thread 1. Navigate to the Discussion Forums. There should be a button for this on the sidebar. 2. Decide which forum most relates to what you want to discuss. 3. Near the top of the page, click on the "Create new thread" button 4. Add a relevant title, and a summary. Note that the summary should not be the same as your post, but rather a short description 5. Write your post. As with any other post, you can use Wiki Markups # Adding a program to the archives 1. Navigate to the Program Archives. There should be a button for this on the sidebar. 2. In the box at the top of the page, there is a link to Add a Program to the Archive. 3. Enter a name for your program in the box, and then click "Create Program Page" 4. Fill in as much information as possible. 5. Add a download by clicking on the "Select File" Button. Most programs are in the form of .8xp .8xg .zip or .rar 6. If you do not have a download for your program, put the source code into SRC.txt and upload that, a site moderator may be able to compile the program later. 7. Hit "Save" 8. Your program is now on the archives! # Adding a file to the forums or a thread 1. On any thread, or in the screen for creating a thread, look for the "Forum Attachments" link near the top, or the "Files" button near the bottom 2. Clicking on this link will bring up a list of files 3. To add a file, click on the "Upload a file from your computer" button 4. Browse your computer and select which files you want to upload 5. Click on the "Upload" button and wait for a confirmation message 6. To download your file, just click on the name of the file. 7. To get the download link, right click on the name of the file, and then select "Copy Link Address" • Note: you can attach these files using wiki markup. To show an image use [[image pagename/filename]]. To attach any file, use [[file pagename/filename]] • To find the "pagename/filename" open the file list (see step 1). Right click on the title of the file you would like, and copy the link. Paste the link where "pagename/filename" goes. Remove the link except for the part after "local—files" # Sending a message • If you have a question for a specific user, you can send them a private message. • Simply click on their avatar, and then the "Write Private Message" button. • Alternatively, you can click on "My account" then "Messages" and look for the "New Message" button. • Please note though, that we encourage public discussion, and that most content should be posted in threads. • Click Here to go right to the new message screen. • To see if you have new messages, look at the top of the page near your name. If you see (1) after your name, it means you have one new message. Similarly, (2) is 2 messages, (3) is 3, etc. # Get involved Getting involved is the best way to learn! Explore the site! There is a lot of information here on TI-BD, and it was contributed by users like you. Discuss, program, work with others. You can help this community grow by being active and involved here on TI-BD. Also, be helpful! Please try not to rely on the community to only help you. You should try and help others also. This means that you should also not rely on the community to create your code for you. Asking for a routine or optimization is okay, but we are not willing to write your whole program. This is a community that is here to help you learn, and the only way for you to learn is to do it yourself. author: TheCubist version: '1.0' summary: 'A great Simon clone! For the Ti 84 +, that can remember up to 99 digits in its sequence! Remember the longest sequence and then repeat it back using the F1, F2, F3, and F4 keys. Good luck!' description: 'A great Simon clone! For the Ti 84 +, that can remember up to 99 digits in its sequence! Remember the longest sequence and then repeat it back using the F1, F2, F3, and F4 keys. Good luck! This game has no current high score system, i am still working on that, but it still works perfectly fine. It is a very small program, so no harm in downloading it at all. Thanks a bunch to trenly who helped me optimize it!' arcade: '1' graphics: '0' platform: '0' puzzle: '1' rpg: '0' strategy: '0' sports: '0' casino: '0' board: '0' utility: '0' misc: '1' compatibility: bb download: 'archivefile:simon-1/SIMON.8xp' image: null fileSize: '326' fileSizeUnit: '1' dateMade: '1480233600' author: Winnie33 version: '1' summary: 'A 2D RPG with unique combat mechanisms.' description: "In the lands of Winitium, monsters have appeared! Go and defeat all 6 area's to save the country! But beware, monsters are strong and thus you must be too. Grab a set of dice and roll your way to victory!\n\nFeaturing:\n-a unique combat system (inspired by Tiny Dice Dungeon)\n-6 levels with each 8 unique enemies\n-4 different dice, each with its own abilities\n-a shop to spend your money\n-a casino to l̶o̶s̶e̶ multiply your money\n-customizable options\n-a crafting system\n-and lots more!" arcade: '0' graphics: '0' platform: '0' puzzle: '0' rpg: '1' strategy: '0' sports: '0' casino: '0' board: '0' utility: '0' misc: '0' compatibility: bb download: 'archivefile:winitium-1/Winitium.zip' image: null fileSize: '20' fileSizeUnit: '2' dateMade: '1479164400'  Sep 19 — A chatbox has been added to the forums. If you need help, simply enter a nickname and ask your question.  Sep 04 — TI-Basic Developer celebrates its 10th birthday!  Sep 19 — A chatbox has been added to the forums. If you need help, simply enter a nickname and ask your question. This is a command map as it would appear on the various menus on a monochrome TI-83+ series calculator. To see every command, see the Command Index. To see the same map for color calculator versions, see the Color Command Map. Control Flow (PRGM) CTL I/O EXEC 1: If 1: Input 2: Then 2: Prompt 3: Else 3: Disp 4: For( 4: DispGraph 5: While 5: DispTable 6: Repeat 6: Output( 7: End 7: getKey 8: Pause 8: ClrHome 9: Lbl 9: ClrTable 0: Goto 0: GetCalc( A: IS>( A: Get( B: DS<( B: Send( C: Menu( D: prgm E: Return F: Stop G: DelVar H: GraphStyle( I: OpenLib( J: ExecLib Matrices (2nd MATRIX) NAMES MATH EDIT 1: [A] 1: det( 1: [A] 2: [B] 2: T 2: [B] 3: [C] 3: dim( 3: [C] 4: [D] 4: Fill( 4: [D] 5: [E] 5: identity( 5: [E] 6: [F] 6: randM( 6: [F] 7: [G] 7: augment( 7: [G] 8: [H] 8: Matr►list( 8: [H] 9: [I] 9: List►matr( 9: [I] 0: [J] 0: cumSum( 0: [J] A: ref( B: rref( C: rowSwap( D: row+( E: *row( F: *row+( Graph Screen (2nd DRAW) DRAW POINTS STO 1: ClrDraw 1: Pt-On( 1: StorePic 2: Line( 2: Pt-Off( 2: RecallPic 3: Horizontal 3: Pt-Change( 3: StoreGDB 4: Vertical 4: Pxl-On( 4: RecallGDB 5: Tangent( 5: Pxl-Off( 6: DrawF 6: Pxl-Change( 7: Shade( 7: pxl-Test( 8: DrawInv 9: Circle( 0: Text( Lists (2nd LIST) NAMES OPS MATH 1: L1 1: SortA( 1: min( 2: L2 2: SortD( 2: max( 3: L3 3: dim( 3: mean( 4: L4 4: Fill( 4: median( 5: L5 5: seq( 5: sum( 6: L6 6: cumSum( 6: prod( 7: ΔList( 7: stdDev( 8: Select( 8: variance( 9: augment( 0: List►matr( A: Matr►list( B: L Zoom Menu (ZOOM) ZOOM MEMORY 1: ZBox 1: ZPrevious 2: Zoom In 2: ZoomSto 3: Zoom Out 3: ZoomRcl 4: ZDecimal 4: SetFactors… 5: ZSquare 6: ZStandard 7: ZTrig 8: ZInteger 9: ZoomStat 0: ZoomFit A: ZQuadrant1 B: ZFrac1/2 C: ZFrac1/3 D: ZFrac1/4 E: ZFrac1/5 F: ZFrac1/8 G: ZFrac1/10 Math Functions (MATH) MATH NUM CPX PRB 1: ►Frac 1: abs( 1: conj( 1: rand 2: ►Dec 2: round( 2: real( 2: nPr 3: ³ 3: iPart( 3: imag( 3: nCr 4: ³√( 4: fPart( 4: angle( 4: ! 5: ×√ 5: int( 5: abs( 5: randInt( 6: fMin( 6: min( 6: ►Rect 6: randNorm( 7: fMax( 7: max( 7: ►Polar 7: randBin( 8: nDeriv( 8: lcm( 8: randIntNoRep( 9: fnInt( 9: gcd( 0: summation Σ( 0: remainder( A: logBASE( A: ►n/d◄►Un/d B: solve( B: ►F◄►D C: Un/d D: n/d Graph Format (2nd FORMAT)  RectGC PolarGC CoordOn CoordOff GridOff GridOn AxesOn AxesOff LabelOff LabelOn ExprOn ExprOff Operators (2nd TEST) TEST LOGIC 1: = 1: and 2: 2: or 3: > 3: xor 4: 4: not( 5: < 6: Angle (2nd ANGLE) ANGLE 1: ° 2: ' 3: r 4: ►DMS 5: R►Pr( 6: R►Pθ( 7: P►Rx( 8: P►Ry( Strings (2nd CATALOG)  … Equ►String( expr( … inString( … length( … String►Equ( sub( Statistics (STAT) EDIT CALC TESTS 1: Edit… 1: 1-Var Stats 1: Z-Test... 2: SortA( 2: 2-Var Stats 2: T-Test... 3: SortD( 3: Med-Med 3: 2-SampZTest... 4: ClrList 4: LinReg(ax+b) 4: 2-SampTTest... 5: SetUpEditor 5: QuadReg 5: 1-PropZTest... 6: CubicReg 6: 2-PropZTest... 7: QuartReg 7: ZInterval... 8: LinReg(a+bx) 8: TInterval... 9: LnReg 9: 2-SampZInt... 0: ExpReg 0: 2-SampTInt... A: PwrReg A: 1-PropZInt... B: Logistic B: 2-PropZInt... C: SinReg C: χ²-Test... D: Manual-Fit D: χ²GOF-Test... E: 2-SampFTest F: LinRegTTest G: LinRegTInt... H: ANOVA( Distributions (2nd DISTR) DISTR DRAW 1: normalpdf( 1: ShadeNorm( 2: normalcdf( 2: Shade_t( 3: invNorm( 3: Shadeχ²( 4: invT( 4: ShadeF 5: tpdf( 6: tcdf( 7: χ²pdf( 8: χ²cdf( 9: Fpdf( 0: Fcdf( A: binompdf( B: binomcdf( C: poissonpdf( D: poissoncdf E: geometpdf( F: geometcdf( Stat Plots (2nd PLOT) PLOTS TYPE MARK 1: Plot1( 1: Scatter 1: "box" mark 2: Plot2( 2: xyLine 2: "cross" mark 3: Plot3( 3: Histogram 3: "dot" mark 4: PlotsOff 4: ModBoxplot 4: "point" mark 5: PlotsOn 5: Boxplot 6: NormProbPlot Window Variables (VARS 1) X/Y T/θ U/V/W 1: Xmin Tmin u(nMin) 2: Xmax Tmax v(nMin) 3: Xscl Tstep w(nMin) 4: Ymin θmin nMin 5: Ymax θmax nMax 6: Yscl θstep PlotStart 7: Xres PlotStep 8: ΔX 9: ΔY 0: XFact A: YFact B: TraceStep Zoom Variables (VARS 2) ZX/ZY ZT/Zθ ZU 1: ZXmin 1: ZTmin 1: Zu(nMin) 2: ZXmax 2: ZTmax 2: Zv(nMin) 3: ZXScl 3: ZTstep 3: Zw(nMin) 4: ZYmin 4: Zθmin 4: ZnMin 5: ZYmax 5: Zθmax 5: ZnMax 6: ZYscl 6: Zθstep 6: ZPlotStart 7: ZXres 7: ZPlotStep Table Variables (VARS 6) TABLE 1: TblStart 2: ΔTbl 3: TblInput Function On/Off Variables (VARS Y-VARS 4) ON/OFF 1: FnOn 2: FnOff Statistics Variables (VARS 5) XY Σ EQ TEST PTS 1: n 1: Σx 1: RegEQ 1: p 1: x1 2: x̄ 2: Σx2 2: a 2: z 2: y1 3: Sx 3: Σy 3: b 3: t 3: x2 4: σX 4: Σy2 4: c 4: X2 4: y2 5: y bar 5: Σxy 5: d 5: F 5: x3 6: Sy 6: e 6: df 6: y3 7: σy 7: r 7: p̂ 7: Q1 8: minX 8: r2 8: p̂1 8: Med 9: maxX 9: R2 9: p̂2 9: Q3 0: minY 0: s A: maxY A: x̄1 B: x̄1 C: Sx1 D: Sx2 E: Sxp F: n1 G: n2 H: lower I: upper Command Summary Enables a grid of colored lines on the graph screen. Command Syntax GridLine [color#] Menu Location Press: 1. 2nd FORMAT to access the graph format menu. 2. Use arrows and ENTER to select GridLine. TI-84+ CSE/CE 2 bytes The GridLine command enables a grid of colored lines on the graph screen (you can disable it with the GridOff command). How fine or coarse the grid is depends on the Xscl and Yscl variables. Drawing the grid just involves plotting points all the horizontal and vertical lines that intersect points of the form (A×Xscl, B×Yscl) that are in the graphing window. The grid can be colored based on any color variable or value. # Advanced Uses GridLine can be used to shade the entire screen if Yscl is small enough that the lines on the grid are one pixel apart: :ΔY→Yscl :GridLine RED  This is one of the shortest ways to shade the screen, although Shade( can be used for a (usually) even shorter way. However, using GridLine is also very slow: the fastest way involves the Horizontal or the Vertical commands in a For( loop. You could also use GridLine to draw the playing grid for a Dots and Boxes game. # Related Commands Command Summary Enables a grid of colored dots on the graph screen Command Syntax GridDot [color#] Menu Location Press: 1. 2nd FORMAT to access the graph format menu. 2. Use arrows and ENTER to select GridDot. TI-84+ CSE/CE 2 bytes The GridDot command enables a grid of dots on the graph screen (you can disable it with the GridOff command). How fine or coarse the grid is depends on the Xscl and Yscl variables. Drawing the grid just involves plotting points all the points of the form (A×Xscl, B×Yscl) that are in the graphing window. The grid can be any colored defined by a color variable or value. :GridDot BLUE //creates a grid of blue dots :GridDot 12 //creates a grid of black dots  # Related Commands Command Summary Returns the string representation of the value of the input. Command Syntax toString(value) Menu Location This command is found only in the Catalog. Press: 1. 2ND CATALOG to enter the catalog 2. T to go to commands starting with T 3. Scroll down to toString(. TI-84+ CE OS 5.2 2 bytes The toString( command, given any value including real numbers, complex numbers, lists, or matrices, returns the string representation of the value of the input. toString(1337 //returns "1337" toString({1,2,3} //returns "{1,2,3}" toString([[1,2][3,4]] //returns "[[1,2][3,4]]" toString(√-1 //returns imaginary number "i"  toString( has less limitations than the eval( command. It can handle lists, matrices, and complex numbers. Another difference from eval( is that toString( is affected by display mode changes like Fix. toString( replaces the old number-to-string routine previously used prior to OS 5.2. # Error Conditions • ERR:DATA TYPE is thrown when the input is a string. • ERR:NONREAL ANSWERS is thrown when the input is a complex number and your calculator is in REAL mode. • ERR:SYNTAX is thrown when trying to evaluate a command that doesn't return a value. # Related Commands Mastermind is a fun game that involves trying to break a random code of five numbers (1-9) in fifteen guesses or less. To help assist you with the code-breaking, a list of two numbers is provided. The first number is the number of digits that are correct and in the wrong place, and the second is the number of digits that are correct and in the right place. Try out the game and try to understand and think through the code. ## The Code :int(10rand(5))+1→L1 :For(G,-15,-1 :Input A :int(10fPart(A/10^(5-cumSum(1 or L1→L2 :sum(L1=Ans :Disp {sum(seq(min(sum(L1=N),sum(L2=N)),N,0,9))-Ans,Ans :If Ans<4 :End :If not(G :Disp L1 :"LOSE :If G :"WIN :"YOU "+Ans  ## Related Games This page is unfinished. Select your calculator to see the corresponding command index. Ops | # | A | B | C | D | E | F | G | H | I | L | M | N | O | P | Q | R | S | T | U | V | W | X | Z This page lists all of the commands for the TI-83/84/SE/+ models. If you have a newer TI-84 Plus C Silver Edition or TI-84 Plus CE with a color display, please visit the Color Command Index. To access more information about the command, click on the command to go to the dedicated page for that command. To view the commands divided into sections, go to the Command Overview. To view most of the commands as they would on the calculator itself through the menus, go to the Command Menu Map. Some commands have a superscript next to them that indicates compatibility: • 83+ indicates that the command requires a TI-83+, TI-83+SE, TI-84+, TI-84+SE, or TI-84+CSE calculator. • 84+ indicates that the command requires a TI-84+,TI-84+SE, or TI-84+CSE calculator. • 84+2.30 indicates that the command requires a TI-84+, TI-84+SE, or TI-84+CSE calculator with OS 2.30 or higher. • 84+2.53MP indicates that the command requires a TI-84+, TI-84+SE, or TI-84+CSE calculator with OS 2.53MP or higher. See Compatibility for a chart of only the commands that require certain calculators or operating systems. # Ops # # # A # B # C # D # E # F # G # H # I # L # M # N # O # P # Q # R # S # T # U # V # W # X # Z Command Summary Returns the string representation of the value of a real expression. Command Syntax eval(expression) Menu Location This command is found only in the Catalog. Press: 1. 2ND CATALOG to enter the catalog 2. E to go to commands starting with E 3. Scroll down to eval(. TI-84+ CE OS 5.2 2 bytes The eval( command, given an expression that evaluates to a real number, returns the string representation of that number. eval(1337 //returns "1337" eval(2.0-3.0 //returns "‾1" eval(.0001234 //returns "1.234ᴇ‾4"  eval( has more limitations than the toString( command. It cannot handle lists, matrices, or complex numbers (even when the imaginary part of the complex number is zero). Another difference from toString( is that eval( is unaffected by display mode changes like Fix. # Advanced Uses Use eval( in conjunction with expr( to evaluate a real expression in a string and return the answer in a string. 3.14->X eval(expr("2X+3 //returns "9.28"  # Error Conditions • ERR:DATA TYPE is thrown when the expression contains a list, matrix, imaginary number, or string. • ERR:SYNTAX is thrown when trying to evaluate a command that doesn't return a value. # Related Commands author: Battlesquid version: 1.4_Beta summary: 'A new update to Battlesquid''s game, inFINITE, which pits you against endless waves of monsters and (soon) bosses! Get your trigger fingers ready…' description: "inFINITE | UPDATE 1.3\n___\ninFINITE pits you against seemingly endless waves of bosses and enemies. Battle it out as one of five classes for as long as you can. With over 3000 levels of gameplay, an achievement system, and well hidden easter eggs, you won't want to miss downloading this for your 83+. See the README for more info.\nAuthor\tMayowa Esan (moc.liamg|117diuqsemit#moc.liamg|117diuqsemit)" arcade: '1' graphics: '0' platform: '0' puzzle: '0' rpg: '1' strategy: '1' sports: '0' casino: '0' board: '0' utility: '0' misc: '0' compatibility: bb download: 'archivefile:infinite/INFINITE.zip' image: 'archiveimage:infinite-logo/inFINITE-Logo.gif' fileSize: '7121' fileSizeUnit: '1' dateMade: '1472713200' author: Webbyman11 version: '1.0' summary: 'Langton''s Ant in pure TI Basic' description: 'This is a version of langton''s ant that I created myself. I got some of the techniques from the langton''s ant page on this site, but I created the engine. It is not very fast and if you want to make it more efficient, please tell me what to do. Enjoy!' arcade: '0' graphics: '0' platform: '0' puzzle: '0' rpg: '0' strategy: '0' sports: '0' casino: '0' board: '0' utility: '0' misc: '1' compatibility: bb download: 'archivefile:ant-1/ANT.8xp' image: null fileSize: '797' fileSizeUnit: '1' dateMade: '1469084400' author: 'Ryan P.' version: '1.1' summary: 'This is an easy to use right angle triangle solver that has error checking abilities and only requires an angle and a side or 2 sides.' description: "This program is unique and has error checking and uses logic not menus to solve a triangle making it easy to use.\n\nThis program is for right angle triangles only.\nThis program Draws a labeled picture and uses Sine Arcsin Cos arccos Tan & Arctan\nThis program will ask for 5 inputs (2 angles and 3 side lengths) press the \"X\" key (and enter to submit) for 3 of them and enter the values of 2 known ones the ones that were entered as \"X\" will be solved no menus needed the logic in the program will do the thinking for you.\n\nRight angle triangle solver Ultimate Edition- Draws a picture of a right angle triangle in a split screen with the angles and the sides (opposite adjacent and hypotenuse) labeled. There are no additional files needed. It will save and restore your Xmax Xmin Ymax and Ymin and turn the axes back on as long as the program is ran to completion." arcade: '0' graphics: '0' platform: '0' puzzle: '0' rpg: '0' strategy: '0' sports: '0' casino: '0' board: '0' utility: '1' misc: '0' compatibility: dd download: 'archivefile:right-angle-triangle-solver-ultimateedition-1/Right_angle_triangle_solver_UltimateEdition.zip' image: 'archiveimage:screenshot2-3/screenshot2.gif' fileSize: '959' fileSizeUnit: '1' dateMade: '1468735200' author: Battlesquid version: '1.1' summary: 'Sticks(Chopsticks) for the 83/84+!' description: "Battle against your opponent in this classic game of strategy! For more info, go to https://en.wikipedia.org/wiki/Chopsticks_(hand_game)#Splitting\nReport any bugs/errors to moc.liamg|117diuqsemiT#moc.liamg|117diuqsemiT\nEnjoy!" arcade: '1' graphics: '0' platform: '0' puzzle: '1' rpg: '0' strategy: '1' sports: '0' casino: '0' board: '0' utility: '0' misc: '0' compatibility: bb download: 'archivefile:sticks-1/Sticks.8xp' image: 'archiveimage:1467017515-1/1467017515.gif' fileSize: '931' fileSizeUnit: '1' dateMade: '1467010800' Example of Inputting Hex Code There are all sorts of small assembly programs that you can create simply using the calculator's built-in assembly commands (specifically, AsmPrgm84C and AsmPrgmCE), along with the appropriate hexadecimal code. In order to run a program, you need to use the Asm( command, where Asm(prgmPROGNAME is the program that contains the hexadecimal code. As a word of caution, when entering in the hexadecimal, you need to be very careful that you type it in exactly as you see it. If there is a single incorrect character, the calculator might crash and reset your RAM when you turn it on again. We have tested the hexadecimal codes to make sure they work, but it's up to you to enter them in correctly. # Toggle Program Mode :AsmPrgm84C :FD7E08EE02FD7708C9  When used in a program, it allows you to use Archive and UnArchive on other programs. warning: Make sure to switch back to "program mode" when you're done by running the program again. # Screen to Graph [TO DO] # Quick Key [TO DO] # Text Inverse :AsmPrgm84C :FD7E05EE08FD7705C9  This will switch from normal text mode to inverse (white text on black background) and vice versa. # Lowercase ## Lowercase On AsmPrgm84C :FDCB24DEC9  ## Lowercase Off AsmPrgm84C :FDCB249EC9  ## Lowercase Toggle AsmPrgm84C :FD7E24EE08FD7724C9  This will toggle lowercase on or off # Fill Screen [TO DO] ## LCD Clear Asm84CEPrgm :CD101A02C9  Clears the LCD. ## LCD Clear and redraw Status Bar Asm84CEPrgm :CD101A02CD3C1A02C9  Same as LCD Clear, but redraws the Status bar. ## White Asm84CEPrgm :210000D436FFE5D11301FF5702EDB0C9  ## Black Asm84CEPrgm :210000D43600E5D11301FF5702EDB0C9  ## Fill Screen with color value in Ans (0-255, from xLibC palette) Asm84CEPrgm :CD500F02CD700F02320000D4210000D4E5D11301FF5702EDB0C9  ## Border [TO DO] ## White Border [TO DO] ## Black Border, Clear Inside [TO DO] ## Invert Screen [TO DO] # Change brightness level (ti-84 plus CE) ## Set Brightness Asm84CEPrgm :CD500F02CD700F02322400F6C9  Set the brightness to a value between 0 and 255 stored in Ans, 255 is low, 0 is high. ## Decrease Brightness Asm84CEPrgm :3A2400F63C322400F6C9  Decrease the brightness by 1. Run many times to see a noticeable difference. ## Increase Brightness Asm84CEPrgm :3A2400F63D322400F6C9  Increase the brightness by 1. Run many times to see a noticeable difference. # Run Indicator [TO DO] ## Run Indicator Off [TO DO] ## Run Indicator On [TO DO] ## Toggle Run Indicator AsmPrgm84C :FD7E12EE01FD7712C9  Note that when this routine turns the run indicator off, it doesn't erase the run indicator, it simply stops it. You can do this yourself — either by outputting something to the top right corner, or by clearing the screen (ClrDraw or ClrHome, doesn’t matter). # Simulated Key Presses ## Alpha Lock AsmPrgm84C :3E51FD7712C9  This simulates [2nd][Alpha] ## Alpha Lock (No disable) AsmPrgm84C :3ED1FD7712C9  This is the same as the first, but you have to press [2nd][mode] to disable it. ## Lowercase Press AsmPrgm84C :3E31FD7712C9  This works even if lowercase isn't enabled. ## Lowercase Lock AsmPrgm84C :3E71FD7712C9  This simulates [2nd][Alpha][Alpha]. ## Lowercase Lock (No disable) AsmPrgm84C :3EB1FD7712C9  This can only be disabled by pressing [2nd][mode] ## Alpha Off AsmPrgm84C :3E01FD7712C9  ## [2nd] AsmPrgm84C :FDCB12DEC9  An interesting use of these codes can be for prompting user input (If you run Alpha Lock, for example, Input will start with an Alpha press. If you run the Alpha Lock that can't be disabled at the start of your program and a user presses ON (or an error occurs), you will not be able to select the options, so you are forced to press [2nd][mode]. # Disabling "Done" Message To disable the "Done" message at the end of a Basic program: AsmPrgm84C :FDCB00AEC9  # Un-Dirty Graph Screen :AsmPrgm84C :FDCB0386C9  This will mark the Graph Screen as not dirty. Using ClrDraw will mark the Graph Screen as dirty so the next time it is displayed the screen will be cleared. Many ASM libraries (such as xLIB) modify the graph buffer without displaying the screen which might be unintentionally cleared. # Turn Calculator Off [TO DO] ## LCD Off [TO DO] ## LCD On [TO DO] ## Toggle LCD Power [TO DO] ## Calculator Off Asm84CEPrgm :CD841402C9  ## Disable APD Asm84CEPrgm :CD341102C9  Disables Automatic Power Down on ti ti-84 plus CE. ## Enable APD Asm84CEPrgm :CD381102C9  Enables Automatic Power Down on ti ti-84 plus CE. # Auto Calc ## Auto DMS AsmPrgm84C :FD360A06C9  Auto DMS displays all decimals in Degrees-Minutes-Seconds on the home screen, automatically. ## Auto Fractions AsmPrgm84C :FD360A0CC9  Auto Fractions will display decimals as fractions (if it can) on the home screen, automatically. # Screen Shifting [TO DO] ## Shift Screen Right 1 [TO DO] ## Shift Screen Left 1 [TO DO] ## Shift Screen Up 1 [TO DO] ## Shift Screen Down 1 [TO DO] ## Shift Screen Right 4 [TO DO] ## Shift Screen Left 4 [TO DO] ## Shift Screen Up 4 [TO DO] ## Shift Screen Down 4 [TO DO] # Memory Functions [TO DO] ## Free RAM [TO DO] ## Archiving [TO DO] ## Unarchiving [TO DO] ## ToggleArch [TO DO] ## Reset Defaults [TO DO] ## Reset RAM AsmPrgm84C :C7  ## DelVar [TO DO] # Miscellaneous ## Turn Cursor Off AsmPrgm84C :FDCB0CE6C9  This is harmless, but it stops displaying that blinking cursor :D Just press [2nd][MODE] to put it back to normal. What, jokes are allowed, right? ## Turn Cursor On Asm84CEPrgm :FDCB0CA6C9  ## Draw Ti Logo Asm84CEPrgm :CD001B02C9  Draws the TI logo ## Edit Lock/Unlock Program [TO DO] ## Battery Check [TO DO] ## ASCII [TO DO] Asm84CEPrgm :EF7BCD500f02CD700F02CDB80702C9  Display an ASCII character at the last cursor position, using Ans (0 to 255) (TI-84 Plus CE) ## Error Asm84CEPrgm :CD500F02CD700F02CD900702C9  This code will cause an error to be thrown, based on the value in Ans. The values correspond to the ones found here. Use your browser's search tool to look for "E_Overflow" which is Error 1. By default, there is no Goto option unless you add 128 to the values. So for example, for a divide by zero error with a goto option, use 130 as the error code. # Advanced [TO DO] ## CharLength [TO DO] ## String Pixel Width [TO DO] ## ListToVars 1 [TO DO] ## ListToVars 2 [TO DO] ## ExecAns [TO DO] ## RepeatKeys [TO DO] ## FastKeys [TO DO] ## MultiKeys 2 [TO DO] ## Sprite [TO DO] # References Most of these are ported from the TI-83+ Hexcodes page. author: Kydapoot version: '1.0' summary: 'A really big and cool virtual fishtank program.' description: 'This is an extensive virtual fish program where you try to see how long you can keep a fish alive by feeding it, cleaning it''s tank, and giving it medicine. But that''s only the beginning! You can also catch more fish, sell them, play minigames, and experience all the surprises the game has in store for you! Details (about installation/setup and gameplay) are all in the readme. I hope you enjoy! Source Code included.' arcade: '1' graphics: '0' platform: '0' puzzle: '0' rpg: '0' strategy: '0' sports: '0' casino: '0' board: '0' utility: '0' misc: '1' compatibility: bb download: 'archivefile:calcfish/CalcFish.zip' image: 'archiveimage:main-game/Main-Game.png' fileSize: '11271' fileSizeUnit: '1' dateMade: '1464066000' author: Kydapoot version: '1.0' summary: 'Calculates the value of chess pieces. Customizable values!' description: 'This is a fairly simple program that calculates the value of all of the pieces on a side of the board or the entire board, provided that you tell it how many of each kind there are. It uses a list to store the values, which can be customized and viewed all within the program.' arcade: '0' graphics: '0' platform: '0' puzzle: '0' rpg: '0' strategy: '0' sports: '0' casino: '0' board: '1' utility: '1' misc: '1' compatibility: bb download: 'archivefile:matad/MATAD.zip' image: null fileSize: '623' fileSizeUnit: '1' dateMade: '1461646800' author: Kydapoot version: '1.0' summary: 'This is a slots game that uses the graph screen. If you are bored or like slots, it''s really cool, otherwise its fairly amusing. There are three numbers from 1 to 9, and you want to have as many as possible to match. Hope you get lucky!' description: 'This is the first decent game I wrote on the graph screen (although I have written more since). I have been tweaking it for a long time, and it is finally ready for release. You start with$100, and spend a dollar every time you spin. The prizes/losses possible are listed in the game. It also keeps track of your longest streak and total times spun. If you go bankrupt, there is an option to get more money for free, but don’t try clicking it if you already have money!'
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '1'
board: '0'
utility: '0'
misc: '0'
compatibility: bb
image: null
fileSize: '1287'
fileSizeUnit: '1'

…that the TI-Basic Developer has a complete TI-Basic Starter Kit filled with important tutorials, guides, and tips for new TI-Basic programmers?

This game is based roughly on games like Labyrinth of Touhou, however instead of 16 characters, you will be using two active characters who synergize well to fight bosses.

It is currently a TI-Basic game which runs with xLib, and is in early development. Planned future updates include a boss tower, more characters, and hidden bosses.

 Apr 14 — Members can now discuss TI-Basic on the #tibasicdev IRC channel on EFnet.
 Apr 10 — After years of development by TI-BD members, the TI-Basic Starter Kit has been completed.

1. Write a program that, given a string in Ans containing letters A-Z, will return a list with the alphabetic positions of those letters.
Example:

"AZ
AZ
prgmLETTONUM
Ans
{1,26}

Possible Solution:

2. Change this short program so it doesn't flicker and then optimize it as much as possible.

:0→X:0→Y:Repeat 0
:ClrHome
:Output(Y,X,"X")
:getKey→K
:If K=24:X-1→X
:If K=25:Y+1→Y
:If K=26:X+1→X
:If K=34:Y-1→Y
:End

Possible Solution:

In this chapter, you learned some optimization techniques to make your programs smaller and faster.

• The Output( command can be used to display multiple lines of text by taking advantage of text wrapping.
• The Text( command can automatically concatenate multiple arguments into one output
• Storing large data used in multiple locations can save space.
• Using implied multiplication and factoring out like terms in expressions can save space and time.
• Understanding logical operators can help you eliminate extra parentheses to save space.

Command Summary

Returns the arc length of expression1 from start to end with respect to variable var.

Command Syntax

arcLen(expression1,var,start,end)

Describe how to get the command from a menu.

This command works on all calculators.

X byte(s)

The arcLen() command uses the integral arc length formula to calculate the arc length of a function over the specified interval.

arcLen(cos(x),x,0,π)
3.82019...


The arcLen() command also works on lists of expressions:

arcLen({sin(x),cos(x)},x,0,π)
{3.820...  3.810...}


Separate unrelated advanced uses with a horizontal bar.

# Optimization

This section includes both ways to optimize use of the command, and other common pieces of code that this command can replace in an optimization. Make sure to mention if the optimization improves speed of the program, size, or both. Sample code should be included too, preferably in the following format:

:∫(√(1+d(f(x),x)²),x,a,b)
can be
:arcLen(f(x),x,a,b)


# Related Commands

author: 'Kydapoot, optimized by Trenly and ZacharyPi'
version: 1.1.1
summary: 'This is the optimized version of my previous quadratic program. The functions are the same, but there are no errors and it is much more compact.'
description: 'This is the optimized version of my previous quadratic program. The functions are the same, but there are no errors and it is much more compact. This is a program where you input A,B, and C and it calculates the vertex of the parabola and then the roots (if any). If there are two roots they all be listed, if there is one root, it will be listed twice. If there are no roots, you will get imaginary numbers. As well as calculating these values, it also graphs the equation (stored into Y1). This is not shown in the program, but can be viewed after exiting. The program also includes a list of equation forms and a square root finder for calculating discriminants. It does not require anything other than a few variables to run. The program is not locked.'
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '1'
misc: '1'
compatibility: bb
image: 'archiveimage:capture-1-5/Capture-1.png'
fileSize: '391'
fileSizeUnit: '1'

author: Kydapoot
version: '1.0'
summary: 'This is a program where you input A,B, and C and it calculates the vertex of the parabola and then the roots (if any). As well as calculating these values, it also graphs the equation (stored into Y1). This is not shown in the program, but can be viewed after exiting. The program also includes a list of equation forms and a square root finder for calculating discriminants. '
description: 'This is a program where you input A,B, and C and it calculates the vertex of the parabola and then the roots (if any). If there are two roots they all be listed, if there is one root, it will be listed twice. If there are no roots, ERR:NONREAL ANS comes up. Simply press enter twice from here to resume the program. As well as calculating these values, it also graphs the equation (stored into Y1). This is not shown in the program, but can be viewed after exiting. The program also includes a list of equation forms and a square root finder for calculating discriminants. It does not require anything other than a few variables to run. They are deleted after the program is finished. The program is not locked, to the best of my knowledge.'
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '1'
misc: '1'
compatibility: bb
image: 'archiveimage:capture-1-1/Capture-1.png'
fileSize: '447'
fileSizeUnit: '1'

author: 'Kevin Gomez (kg583)'
version: '1.0'
summary: 'Color port of the mobile game Flow Free.'
description: "The goal of each puzzle is to fill the board by connecting colored pipe ends. This port comes with 100 archived levels, tutorial level, achievements, and custom keybinds. See the readme for specific details about each feature.\nHappy playing!"
graphics: '0'
platform: '0'
puzzle: '1'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: ff
image: 'archiveimage:flow-1-1-3/Flow_1-1.gif'
fileSize: '13500'
fileSizeUnit: '1'

# CSS

div.code {  counter-reset: linenumber; }
div.code p {
counter-increment: linenumber;
margin: 0;
}
div.code p::before {
content: counter(linenumber);
width: 2.25em;
display: inline-block;
text-align: right;
border-right: 1px dashed #DDD;
margin-right: 6px;
-webkit-user-select: none;  /* Chrome/Safari */
-moz-user-select: none;     /* Firefox */
-ms-user-select: none;      /* IE 10+ */
user-select: none;          /* Likely future */
}


# Correct Format

:Full

:FnOff

:AxesOff

:0→Xmin:1→ΔX

:0→Ymin:1→ΔY

:ClrDraw

:Vertical Xmin

:Vertical Xmax

:Horizontal Ymin

:Horizontal Ymax

:60→A:92→B

:2→C:2→D:25→G

:Pxl-On(A,B

:Pxl-On(C,D

:Pause

:For(E,26,36

:Line(29,E,67,E,0

:End

:Repeat G=45 or not(pxl-Test(A,B) and pxl-Test(C,D

:getKey

:If Ans

:Ans→G

:A+(G=34)-(G=25→A

:B+(G=26)-(G=24→B

:1+pxl-Test(C+1,D

:Ans+(Ans=2 and pxl-Test(C,D-1

:Ans+(Ans=3 and pxl-Test(C-1,D→F

:C+(Ans=1)-(Ans=3→C

:D+(F=4)-(F=2→D

:Pxl-Change(A,B

:Pxl-Change(C,D

:End

# Incorrect Format

:Full
:FnOff
:AxesOff
:0→Xmin:1→ΔX
:0→Ymin:1→ΔY
:ClrDraw
:Vertical Xmin
:Vertical Xmax
:Horizontal Ymin
:Horizontal Ymax
:60→A:92→B
:2→C:2→D:25→G
:Pxl-On(A,B
:Pxl-On(C,D
:Pause
:For(E,26,36
:Line(29,E,67,E,0
:End
:Repeat G=45 or not(pxl-Test(A,B) and pxl-Test(C,D
:getKey
:If Ans
:Ans→G
:A+(G=34)-(G=25→A
:B+(G=26)-(G=24→B
:1+pxl-Test(C+1,D
:Ans+(Ans=2 and pxl-Test(C,D-1
:Ans+(Ans=3 and pxl-Test(C-1,D→F
:C+(Ans=1)-(Ans=3→C
:D+(F=4)-(F=2→D
:Pxl-Change(A,B
:Pxl-Change(C,D
:End

# Code Block

:Full
:FnOff
:AxesOff
:0→Xmin:1→ΔX
:0→Ymin:1→ΔY
:ClrDraw
:Vertical Xmin
:Vertical Xmax
:Horizontal Ymin
:Horizontal Ymax
:60→A:92→B
:2→C:2→D:25→G
:Pxl-On(A,B
:Pxl-On(C,D
:Pause
:For(E,26,36
:Line(29,E,67,E,0
:End
:Repeat G=45 or not(pxl-Test(A,B) and pxl-Test(C,D
:getKey
:If Ans
:Ans→G
:A+(G=34)-(G=25→A
:B+(G=26)-(G=24→B
:1+pxl-Test(C+1,D
:Ans+(Ans=2 and pxl-Test(C,D-1
:Ans+(Ans=3 and pxl-Test(C-1,D→F
:C+(Ans=1)-(Ans=3→C
:D+(F=4)-(F=2→D
:Pxl-Change(A,B
:Pxl-Change(C,D
:End

StoreGDB 1
Func
AxesOff
FnOff
PlotsOff
ClrHome
ZStandard
ZSquare
{0,0,0→L₁
Ans→L₂
Circle(0,0,9.9
For(A,0,2π,π/6
Line(9cos(A^^r^^),9sin(A^^r^^),9.9cos(A^^r^^),9.9sin(A^^r^^
End
Repeat getKey
Line(0,0,L₁(3),L₂(3),0
getTime
If not(fPart(Ans(3)/30
Then
Line(0,0,L₁(1),L₂(1),0
Line(0,0,L₁(2),L₂(2),0
End
­2π^^r^^(Ans+{Ans(2)/60,.5(Ans(3)≥30),0})/{12,60,60}+90°→L₂
{6,8,8.6}cos(Ans→L₁
{6,8,8.6}sin(L₂→L₂
Line(0,0,L₁(3),Ans(3
Line(0,0,L₁(1),Ans(1
Line(0,0,L₁(2),Ans(2
startTmr
Repeat checkTmr(Ans
End
End
ClrDraw
RecallGDB 1
DelVar GDB1
ClrHome
"


A thorough understanding of math commands is essential to the mastery of TI-Basic. It is strongly recommended that you practice using these commands in different situations so that you will know which ones to apply when necessary.

# Commands Introduced

Command Summary

Mode command that puts the calculator into Classic mode.

Command Syntax

MATHPRINT

Press:

1. MODE
2. DOWN until you reach Mathprint or Classic
3. ENTER on Mathprint

Alternatively, use the catalog.

TI-84 2.53MP or later

2 bytes

MATHPRINT will put the calculator into Mathprint mode as opposed to Classic mode. In MathPrint mode, enhanced homescreen input formatting is available. The Classic mode will make the calculator display everything as a calculator of lower OS would, including input. For instance, rather than superscripting exponents as Mathprint mode would, Classic mode uses the simple caret syntax (^).

Mathprint mode:
24
16

Classic mode:
2^4
16

When in Mathprint mode, text and numbers are displayed much slower than classic on the home screen and the function menus load slower. This can be inconvenient in games that use the home screen, but can also make solving equations that involve fractions and exponents easier as the numbers are in their correct positions and are the appropriate size.

# Related Commands

This page contains tables detailing which features were added with each operating system release. Taking this information into account can help you maintain a level of backwards compatibility. Commands that are crossed out were removed in that version.

# TI-83+/SE

OS Version Notable Changes
1.03 Initial version
1.10
1.12
1.13
1.14
1.15
1.16
1.17
1.18
1.19

# TI-84+/SE

OS Version Notable Changes
2.21 setDate(, setTime(, setDtFmt, SetTmFmt(, timeCnv(, dayOfWk(, getDtStr(, getDate, getTime, getDtFmt, getTmFmt, isClockOn, ClockOff, ClockOn, OpenLib(, ExecLib, checkTmr(, startTmr
2.22
2.30 Manual-Fit, χ²GOF-Test(, invT(, LinRegTInt, invT(
2.40
2.41
2.43
2.53MP MATHPRINT, CLASSIC, DEC Answer, FRAC Answer, randIntNoRep(, ►F◄►D, logBASE(, summation Σ(, Un/d, ZFracX, remainder(
2.55MP statwizard-off, statwizard-on

# TI-84+CSE

OS Version Notable Changes
4.0
4.2

# TI-84+CE

OS Version Notable Changes
5.0 Get(, Send(
5.0.1
5.1.0.0110
5.1.5.0019 Get(, Send(, timed Pause

Command Summary

Suspends execution for a specified amount of time

Command Syntax

Wait [seconds]

2ND CATALOG to enter the Catalog.
W to go to commands starting with W.

TI-84+ CE OS 5.2 or higher

2 bytes

The Wait command was introduced in TI-OS 5.2 for the TI-84+CE. The Wait command tells the calculator to wait for a specified number of seconds before continuing. The specified amount of seconds can be a decimal, as it is not limited to whole numbers. This command can be useful for displaying information momentarily before proceeding in a program. The Wait command functions similarly to the Pause command, but without the extra arguments.

:Disp "WAIT FOR IT!
:Wait 4
:Disp "Surprise


The Wait command is useful for facilitating automatic linking within programs. Since the Get( and GetCalc( commands only work when the sending calculator is in a preemptible state, including a small Wait delay will allow the other calculator to receive data.

Because the Wait command is relatively new, it may be advisable to avoid using it to ensure compatibility with older operating systems. Similar functionality can be achieved with the second optional argument to the Pause command.

# Optimization

Traditionally it was recommended to use either a For( loop or the rand( command to create a delay within a program. The For( loop takes more space, and the rand( command uses more memory during execution.

:rand(100
can be
:Wait 1


# Error Conditions

• ERROR: INVALID is thrown if the Wait command is executed on the home screen.

# Related Commands

Please see the AsmPrgm page. The functionality and use is the same between both commands. However, the Asm84CEPrgm is only available on the TI-84+CE calculator. Keep in mind that hexadecimal for the monochrome calculators may not work on color calculators.

author: RebStrike
version: 'Dev. Build 132'
summary: ''
description: "This is an RPG-text-adventure game where its April Fools Day and you get a call from your friend who asks, \"Thinking of doing any pranks?\". You can choose to do the airhorn+seat prank, put a thumbtack on the teacher's seat, put a funny picture on the world map, or not do one at all. And when the pressure's on you can choose to blame your friend, take the blame, or keep quiet. This is a game all about choice.\n"
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '1'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: bb
image: null
fileSize: '15'
fileSizeUnit: '2'

author: Minxrod
version: '0.9 beta'
summary: 'A program that asks for a DNA or RNA sequence, then gives the complementary sequence and displays it!'
description: "This quick little program can generate a complementary DNA/RNA sequence for DNA/RNA, and then displays the result. In color!\n\nCurrently functional - it works if you 'play by the rules.' Invalid characters will crash the program, and the display looks strange if you have too small of a sequence.\n\nPlanned: \n1.0 - Main release, character check, will include key on diagram (what color is what base)\n1.0/1.1 - Optimizations and bugfixes, a readme that is 'slightly' helpful (instructions that are mostly self explanator)\n\nTo install, just send the file ACTG.8xp to your TI-84+CSE or TI-84+CE."
graphics: '1'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '1'
misc: '1'
compatibility: ff
image: 'archiveimage:dnapic3-1/DNAPIC3.png'
fileSize: '603'
fileSizeUnit: '1'

author: VersePerMile
version: 4.2.5
summary: ''
description: 'This game allows the player to chose what range they would like, and also make a custom one. it even asked (after a couple of tries) if the player wants a hint. please report any bugs to me Thx!!'
graphics: '0'
platform: '0'
puzzle: '1'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '1'
compatibility: bb
image: null
fileSize: '790'
fileSizeUnit: '1'

author: 'earthnite, jonbush'
version: '1.0'
summary: 'TI-Plow is a popular single-player seasonal puzzle game for mobile devices.'
description: "Help Timmy the plow truck driver plow all the snow in the city. However, due to budget cuts, Timmy will lose his\njob if he drives the plow over areas that don’t have any snow: that would waste fuel, time, and money. Try not to take too long, the city doesn’t pay overtime.\n\nTI-PLOW features 100 hand-made levels for your enjoyment. Race against the clock to complete each level perfectly. Can you beat them all this season?"
graphics: '0'
platform: '0'
puzzle: '1'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: bb
image: 'archiveimage:plow/plow.gif'
fileSize: '4828'
fileSizeUnit: '1'

Routine Summary

Finds the area of any regular polygon.

Inputs

N,S

Outputs

F

Variables Used

{$variable} Calculator Compatibility TI-83/84/+/SE/CSE/CE Download [{$download}]

:ClrHome
:Input "NUMBER OF SIDES: ",N
:Input "SIDE LENGTH: ",S
:NS^2/(4tan(180/N→F
:Pause F
:ClrHome


This program uses the tangent ratio to find the area of a regular polygon when giver the number of sides and side length.

Filename

Summary

Authors

Site URL

Ticalc.org URL

Release Date

Compatibility

Language

# Product Intro

## Product Screenshot

(Screenshot of Product)

# Significance of Product

• Why product was important to TI community
• Any controversy or interesting circumstances surrounding product
• Awards won, fond memories that people have

# Documentation

• How to use the product
• Can copy the author's readme file (if available)

# Development History

• A chronological overview of the product's development

# Related Products

Command Summary

Sets all lines to be drawn using a series of individual pixels.

Command Syntax

This command is executed with no additional arguments

Go to Catalog, press [ALPHA][X^-1], and scroll down

TI-84+CSE/CE

2 bytes

The Dot-Thin command sets all lines in the current function type to be drawn using a series of individual pixels at each interval of TraceStep. The command can be called on the homescreen or within a program.

:ClrDraw
:AxesOn
:Dot-Thin


# Error Conditions

• ERR:SYNTAX is thrown if the command is executed with any additional arguments

# Related Commands

Command Summary

Sets all lines to be drawn using a series of thick points

Command Syntax

This command is executed with no additional arguments

Go to Catalog, press [ALPHA][X^-1], and scroll down

TI-84+CSE/CE

2 bytes

The Dot-Thick command sets all lines in the current function type to be drawn using a series of thick points, about the size of a point drawn using Pt-On(, at each interval of the TraceStep. This command can be called on the homescreen or within a program.

:AxesOff
:RectGC
:Dot-Thick


# Error Conditions

• ERR:SYNTAX is thrown if any additional arguments are used with the command

# Related Commands

Command Summary

Sets all graphing lines to be 1 pixel wide.

Command Syntax

This command is executed by itself with no additional arguments

Go to Catalog, press [ALPHA][4], and scroll down.

TI-84+CSE/CE

2 bytes

The Thin command will set all lines in the current function type to be only 1 pixel wide (hence "Thin"). The command can be run on the homescreen or within a program.

:AxesOff
:GridOff
:Thin


# Error Conditions

• ERR:SYNTAX is thrown if additional arguments are put on the command.

# Related Commands

Command Summary

Converts all lines to Thick (2-3 pixel wide) lines

Command Syntax

The command is called by itself with no additional arguments

Go to the Catalog, press [ALPHA][4], and scroll down.

TI-84+CSE/CE

2 bytes

The Thick command converts all lines in the current function type to be drawn using a 2-3 pixel wide line (hence "Thick"). This mode is the default line drawing mode. It can be called on the homescreen or in a program.

:AxesOff
:GridOff
:Thick


# Error Conditions

• ERR:SYNTAX is thrown if any character is included in the same line as the Thick command.

# Related Commands

author: Mewcancraft
version: '1.0'
summary: 'A basic Connect 4 game for local multiplayer. Compatible with MirageOS.'
description: "This program features a very basic Connect 4 game. The idea and interface were taken from a program made by CodeMaster123 that you can check out at http://tibasicdev.wikidot.com/forum/t-1441297/connect-4. I looked at his program and rewrote it from scratch to improve it whilst keeping his design, so feel free to download his too.\n\nFor those of you who don't know Connect 4, it's very easy. A typical Connect 4 game has two players: one who has a bunch of yellow (light) coins and one who has red (dark) coins. The board, which is an upright standing grid of slots, each slot the size to hold one coin, has walls between each of said grid's columns to seperate them from each other, meaning that when one drops a coin in a column, that coin will go all the way down to the first available slot in the same column. Every slot has a hole smaller than a coin on both sides, meaning that the two players can see what colour the coin inside that slot has. The players take turns on dropping their coins in the grid. The goal of the game is to get 4 coins of your colour in one line without being seperated by one of the other player's coins: this line can be horizontal, vertical or diagonal.\n\nThat said, these are the controls for this digital version of said game: You control the cursor (your \"hand\") with the left and right arrow keys and drop the coin in the designated column using Enter. Every time somebody drops a coin, the program will calculate whether or not 4 coins of the same colour were connected. This calculation takes approximately two seconds. After that, the playernumber in the bottom right will change, signifying that it's the other player's turn. Since this game is local multiplayer, you hand the calculator you're playing on to the opponent, so they can drop their coin. Then they pass it back to you, etc…\n\nPlayer 1's coins are light, player 2's coins are dark. The first to connect 4 of their coins, wins. Have fun!"
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '1'
sports: '0'
casino: '0'
board: '1'
utility: '0'
misc: '0'
compatibility: bb
image: 'archiveimage:screenshot-2/screenshot.gif'
fileSize: '851'
fileSizeUnit: '1'

author: Codemaster123
version: '1.1'
summary: 'A 2-player connect 4 game.'
description: 'New Update! Not a big one though. All I added was an intro animation.'
graphics: '0'
platform: '0'
puzzle: '1'
rpg: '0'
strategy: '1'
sports: '0'
casino: '0'
board: '1'
utility: '0'
misc: '1'
compatibility: bb
image: null
fileSize: '7857'
fileSizeUnit: '2'

 Welcome to TI-Basic Developer (TI|BD), the TI-Basic information repository! If you are a first-time visitor, please check out the welcome pack to get you up to speed on using the site. We encourage you to become a member and to get involved in the community, and to come back often to see what changes have occurred. And above all else, enjoy your stay!
 New to Nspire Basic? These pages provide an overview of Nspire Basic, and are designed to help you quickly get started learning and using Nspire Basic.
 Did You Know... The ListPages module does not work recursively.
 Development The ListPages module does not work recursively.
 Recent News Recent Posts Recent Edits The ListPages module does not work recursively. I have checked the archives, discussion forums, and projects. I do not see your project anywhere.... (by Bio_Hazard1282 25 Apr 2018 18:24, posts: 2) This is a simple slots program that took me 1 week to make. Please feel free to copy it and if... (by master_programmer 25 Apr 2018 18:09, posts: 2) 1→dim(ʟBUG ClrHome Repeat getKey Output(3,2,"G a s a e u B b u - e r 9 O... (by Trenly 25 Apr 2018 14:14, posts: 6) The ListPages module does not work recursively.
 Search the Site There is a wide range of Nspire Basic content available on this site, so we recommend using the search engine or referring to the sitemap. If you can't find what you're looking for, leave a post in the forums and somebody will assist you. pages only pages and forum forum only
 Nov 8 — Due to the release of the TI-84+CSE and TI-84+CE calculators, new commands have been added to the Command Index.
No thread to show - click Back once or twice and try again

This is the page with a list of screenshots displayed on the homepage.

The ListPages module does not work recursively.
 Nov 1 — The homepage screenshots now link to their respective programs on TI-BASIC Developer.

author: 'earthnite, jonbush'
version: '1.2'
summary: 'TI-FLOW is a port of Flow Free for the TI-84 Plus monochrome series of calculators. Flow is played by two simple rules: connect each lettered pair of dots (nodes), and fill every space. Flows are also not allowed to cross themselves or flows of a different letter. Can you complete every level perfectly?'
description: "TI-FLOW is a port of Flow Free for the TI-84 Plus monochrome series of calculators, created by Pablo Yong (earthnite) and Jonathan Bush (jonbush).\n\nFlow is played by two simple rules: connect each lettered pair of dots (nodes), and fill every space. Flows are also not allowed to cross themselves or flows of a different letter.\n\nFeatures:\n- A clean and fully functional GUI for selecting and playing TI-FLOW levels\n- Includes 400 playable levels separated into 4 packs that can be loaded individually.\n- The TI-FLOW Pack Creator Java program allows users to create their own packs and levels.\n- TI-FLOW will dynamically save your progress\n\nCan you complete every level perfectly?\n\nSee TI-FLOW_README.pdf for more in depth information.\n\nEnjoy!"
graphics: '0'
platform: '0'
puzzle: '1'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: bb
image: 'archiveimage:tiflow1/tiflow1.gif'
fileSize: '11373'
fileSizeUnit: '1'

Mancala is an ancient game in which player take turns dropping stones (or seeds) into holes (or houses) that form a 6x2 grid with an extra house on either end, which are the players' end houses. Player choose a house on their side of the grid, pick up the stones in that house and distribute them in the consecutive houses going in a counter-clockwise manner. There are many rule sets to mancala, just as there were many civilisations that played versions of it. This page gives two versions: The "kahla" rule set widely used in the United States and coded by user kg583, and another rule set coded by TI-GBR (rules are explained).

## Version 1: Kahla

— Programmed by kg583 and optimised by the TI-Basic Developer community (see credits for details)
— Compatible on both grayscale and color calculators

##### The Code, Version 1, Kahla Mancala
ClrHome
14-->F
F-->dim(L1
Fill(3,L1
0-->Xmin
1-->deltaX                        //The little triangle X
{5,6-->L2
If Xmax=94
L2-{1,5-->L2
L2(1-->C
L2(2-->D
DelVar J1-->P
Lbl M
For(X,1,6
Output(C-1,D+2X+(X>3),L1(X
Output(C+2,D+2X+(X>3),L1(F-X
End
L1(7-->H                         //Saves a couple of bytes to do this
L1(F-->I
Output(C,D+(I>=9),"_ _ _
Output(C+1,D+F,"_ _ _
Output(C,D+(I>=9),I          //Greater than or equal to 9
Output(C+1,D+F,H
If J
Then
Pause
ClrHome
If H>I
Disp "Player 1 Wins!
If H<I
Disp "Player 2 Wins!
If H=I
Disp "Draw!
Pause
Goto Q
End
D+2-->A
C-1+3(P=2-->B
Repeat K=21
getKey-->K
Output(B,A-1,">
Output(B,A+1,"<
If K
Then
Output(B,A-1,"_              //One space here and the next line
Output(B,A+1,"_
End
A+(K=26)(A=D+6)+2(K=26)(A=!D+13)-(K=24)(A=D+9)-2(K=24)(A=!D+2-->A           //The symbol =! means "doesn't equal"
If K=45
Goto Q
End
.5(A-D-(A>D+6-->X
F(P=2)-X+2X(P=1-->X
L1(X-->V
0-->L1(X
If not(V
Goto M
While V
X+1-->X
If X=15
1-->X
1+L1(X-->L1(X
V-1-->V
End
If X/7!=P
Then
If 1=L1(X
Then
1+L1(7P)+L1(F-X-->L1(7P
0-->L1(X
0-->L1(F-X
End
3-P-->P
End
If not(sum(L1,1,6             //Tried to a piecewise thing here; had to settle for two If's
Then
L1(F)+sum(L1,8,13-->S
L1(7-->T
Fill(0,L1
S-->L1(F
T-->L1(7
1-->J
End
If not(sum(L1,8,13
Then
L1(7)+sum(L1,1,6-->S
L1(F-->T
Fill(0,L1
S-->L1(7
T-->L1(F
1-->J
End
Goto M
Lbl Q
ClrList L1,L2
ZStandard
ClrHome


## Version 2:

— Programmed by TI-GBR and optimised by the TI-Basic Developer community (see credits for details)

##### Version 2 rules:

board 6 by 2 active houses with 4 stones starting in each, and two wells, one at either end.

Picture at start

(Its been stretched a little)

Each player, on their turn, chooses a house on their side of the board. (6 options)
the stones from that house get distributed by picking them up, and placing 1 stone in each house consecutive to the last, going around in a counter-clockwise pattern until the stones run out. If the last stone falls in one of the wells, then the player gets another turn. The first player to clear their side of the board of stones wins.

After first turn: player 1 has chosen the fourth house from the top, the last stone fell in a well, so player 1 will go again.
Player 1 goes again.

Now its player 2's turn.

End of game image:

Player 2 has won.

##### The Code, Version 2
:Clrhome                                                        //setup
:14->dim(L1
:Fill(4,L1
:0->L1(7
:0->L1(14                                                       //L1 setup finished here; board ready
:DelVar WDelVar K1->L
:"PLAYER_
:For(P,1,8
:Output(P,1,sub(Ans+"2",P,1
:Output(P,16,sub(Ans+"1",P,1
:End
:Repeat W                                                    // Main loop, Keep playing until W is no longer = 0, (equals 1 or 2)
:If L!=7 and L!=14                                          //Does not switch player if L = 7 or 14, allows for extra turns
:1+(P=1->P                                          //switch player between 1 and 2
:1->L                                                             //Initialize L
:For(A,1,6                                                     // Display the board after clearing possible extra numbers. See L1 schematic below.
:Output(A+1,6,"_
:Output(A+1,5,L1(A
:Output(A+1,12,"_
:Output(A+1,11,L1(14-A
:End
:Output(8,8,L1(7
:Output(1,8,L1(14
:1->R                                                                 //initialize R which is the row input number
:Repeat K=105 and L1(R(P=2)+(14-R)(P=1))!=0                                                 //repeat input routine until user presses enter and the current house is not empty
:Output(R+1,4(P=2)+13(P=1),sub("<>",P,1             //Display the appropriate cursor at the relative R coordinate and at  the x value of 4 if P=2 and at 13 if P=1
:Repeat Ans                                                           // getkey
:getkey->K
:End
:Output(R+1,4(P=2)+13(P=1),"_                             //Delete the cursor
:min(6,max(1,R+(K=34)-(K=25->R                  //Depending on input, add or subtract 1 from R, within the bounds
:End                                                                // End input routine
:R(P=2)+(14-R)(P=1)->L                                    //Calculate L Based on R and the player number (right now, L is the list element number that was chosen)
:L1(L->S                                                            //Set S to the number of stones in the chosen lest element
:0->L1(L                                                            //Remove the stones from the chosen list element
:While S                                                    //Distribution loop ends when S = 0
:L+(L<14)-13(L=14->L                                        //Select the next list element. If The current List element is 14, the next is 1 (loops around)
:1+L1(L->L1(L                                               //These two commands add one to the list element house (determined by L), and take one away from the supply (S)
:S-1->S
:End                                                                 //End Distribution loop, check S
:seq(L1(M),M,1,6                                              // take Player 2's Houses list from L1
:If not(max(Ans                                                 // If none of player 2's Houses have stones-
:2->W                                                                //then store 2 to W, Game will end.
:seq(L1(M),M,8,13                                             //take Player 1's Houses from L1
:If not(max(Ans                                               //If none of player 1's Houses have stones-
:1->W                                                             //then store 1 to W, Game will end.
:End                                                               // End main loop, check W
:Clrhome                                                            // clear screen
:SetupEditor
:"CONGRATS_PLAYER"+sub("12",W,1        //display winner


Vars used:

L1 - list of number of stones in each house
R - Input row number from which L is derived (can be equal to any #1-6)
P - Player 1 or 2
L - Chosen List element (house) to empty - equals: R if P+2 and equals: 14-R if P=1
W - Win or continue playing and for which player if win. Can equal 0,1, or 2, if 1 or 2, game ends
S - number of stones left to distribute during distribution routine.
A - a counting var used in For( loops.

## Credits

The original version 1 was coded by kg583
It was then optimised by the TI-Basic community, Including:

• kg583
• earthnite
• TI-GBR
• lirtosiast

The original version 2 was coded by TI-GBR
It was then optimised by the TI-Basic community, Including:

• TI-GBR
• earthnite
• kg583
• jonbush

This was a COMMUNITY PROJECT and was developed in the Projects page

See development page

THANK YOU to everyone who participated in this community project!

It seems that we are ready to make a mancala page. once it is made, feel free to edit it to relative perfection. Both games will be published, And credit given to those who worked on this community project. THANK YOU to all those who participated. we are starting a new ABSTRACT STRATEGY BOARD GAMES project featuring Isola. Please come participate in this continuation of this page, if you want to.

ISOLA

This is a continuation of Abstract strategy board games in which we programmed Mancala.

the same rules apply to this community project-

" In publication on the games page, credit will be given to the original contributor(s) of the code, and to those who helped optimise it. If there are many small optimisations, credits for the optimisations will be given to the Ti-Community, with a link to this page for clarification."

This project is dedicated to Isola, since Pedro, a guest, posted his code for Isola on the first Abstract strategy board games.

Here I will put the code that Pedro posted:

Lbl 2

ClrHome
DelVar [A]{10,16→dim([A]       // [A] represents the map, 1 is a wall, 0 is a free space
11→X:2→Y:10→I:9→J             //X and Y are the coordinates of player 1, I and J for the player 2

For(A,1,10                         //i put walls on the sides of the map
1→[A](A,1
1→[A](A,16
End
For(A,2,15
1→[A](1,A
1→[A](10,A
End

For(A,1,6
Output(A,1,sub("Joueur",A,1
End

Output(Y-1,X-1,"O        //i display the position of players  O=player 1   and θ=player 2
Output(J-1,I-1,"θ            // the -1 is because there is a space between the screen and the matrix, to hide the sides of the map
1→[A](2,11         //put the positions of players in the matrix
1→[A](9,10

While 1

X→M:Y→L                              //to test if the player moved
Repeat X≠M or Y≠L

Output(8,1,"1                               //for player 1

Repeat Ans=24 or Ans=25 or Ans=26 or Ans=34   //asking for move
getKey→K
End

Output(Y-1,X-1,"X                //X is a wall on the screen

X+(K=26)(0=[A](Y,X+1))-(K=24)(0=[A](Y,X-1→X         //moves of the players
Y-(K=25)(0=[A](Y-1,X))+(K=34)(0=[A](Y+1,X→Y

Output(Y-1,X-1,"O
1→[A](Y,X

End

1→C                                                                              //test if the other player can move
For(A,⁻1,1,2
If not(min(seq([A](J+A,I),A,⁻1,1,2))) or not(min(seq([A](J,I+A),A,⁻1,1,2:DelVar C
End
If C:Goto 1                 //memory leaks but it happens only one time at each game

I→M:J→L                                    //same thing for player 2
Repeat I≠M or J≠L

Output(8,1,"2
Repeat Ans=24 or Ans=25 or Ans=26 or Ans=34
getKey→K
End
Output(J-1,I-1,"X
I+(K=26)(0=[A](J,I+1))-(K=24)(0=[A](J,I-1→I
J-(K=25)(0=[A](J-1,I))+(K=34)(0=[A](J+1,I→J
Output(J-1,I-1,"θ
1→[A](J,I
End

1→C
For(A,⁻1,1,2
If not(min(seq([A](Y+A,X),A,⁻1,1,2))) or not(min(seq([A](Y,X+A),A,⁻1,1,2:DelVar C
End
If C:Goto 1

End
Lbl 1
For(A,1,3
Output(A+3,2,sub("Win",A,1
End
Pause
Goto 2


This is a repost of the code, because it is more organised to have a separate project for Isola.

Here is the page describing Isola: Isola (isolation)

Lets see what we can do to optimise this!

Link to the original Posts: Here

We have optimised the two games to a good point. They both work. the next step is to publish them on a new page titled "Mancala" under the games page.

Symbolic Division is a method of finding the roots and factors of a polynomial given at least one factor.
This is a function, rather than a program, and can be used in graphs, other functions, and programs.
Rather than returning a list of factors as a result, we return an expression.

# Code

:synthdiv(colist,ftr)
:Func
:Local count,ansList,xexp,ansExp
:expr("x")→xexp
:0→ansExp
:newList(dim(colist))→ansList
:colist[1]→ansList[1]
:For count,2,dim(ansList)
:colist[count]+ansList[count-1]*ftr→ansList[count]
:EndFor
:For count,1,dim(ansList)
:ansExp+ansList[count]*xexp^(dim(ansList)-count-1)→ansExp
:EndFor
:ansExp-ansList[dim(ansList)]/xexp+ansList[dim(ansList)]/(xexp-ftr)→ansExp
:Return ansExp
:EndFunc


# What's Going On?

First, this is a function, not a program! To make a function, press F1 in the program editor, choose "3:New", and make sure the "Type:" is "Function"
This takes 2 arguments, a list, and a number. We assume that's what we are given, and don't bother to check the type of the arguments.
The first argument, colist, should be a list of all the coefficients in your expression. The second, ftr, is one single factor or root of your expression.

## Variables

We then set up a few variables for our function.
Functions can read global variables, but cannot write or create global variables!
count is used in our For loops.
ansList is a list of all the factors we want to return
xexp is the expression "x". We use it to create the returned expression.
ansExp is the factors in expression form.
To prevent errors when making our expression, we set our answer expression ansExp to zero.
We create the answer list using newList() with the number of elements in our given colist
In symbolic division, you "drop" your first coefficient. We just store the first element of colist as the first element of our answer list ansList

## Dividing

Now we start a For loop. We start from 2 since we already found our first answer above.
The next line multiplies the previous answer by the factor, and adds that to the current coefficient, storing it in the next element of our answer list.

We start another For loop.
Then we add our current expression to the answer list element times "x" to the power of the appropriate power. and store that as our answer expression.

## Fixing an Error

After we prettify the answer, we have a mistake. Since the answer is an expression, we can easily subtract the mistake, and add our correction.

All Functions must return something using Return

# Examples

Here are a few examples of use.

synthdiv({5,.46,84,.50,7},1/5)
5x3-45x2+75x-35

synthdiv({1,5,6},1)
12
-- +x+6
x-1

author: Michael2_3B
version: '1.2'
summary: 'Merge tiles together to rack up points! This is like a combination between Tetris and 2048.'
description: 'Shades is a simple, zen-like game for the TI-84 Plus CE. It is like a merge between Tetris and 2048. Combine tiles together in order to rack up the most points you possibly can! Just don''t let the tiles stack to the top of screen! This is a port of the original iOS game created by UOVO. See the README for more info.'
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: ff
fileSize: '2002'
fileSizeUnit: '1'

So, We have decided to work on Mancala first.
Since there are so many rules to this game, we are developing two mancala games. Both need to be optimised for size and speed though! If you are good at optimisation, please come help us. Also, If you are interested in Helping us program a different board game please post about it, and we can move on to that one after mancala is finished. As far as I can tell, we only have a few participants in this project at the moment.

This is your Basic connect 4 game. Drop Checkers down any of the 7 columns, taking turns until either the board is filled of one player gets four in a row. Try to understand the code. It uses Matrix [A] to track the game board, Var P as one or two to track whose turn it is, V as the input-ed column, L2 as the height of the columns, And Z as the counter for the possible number of turns.

## The Code

DelVar [A]{6,7→dim([A]            //sets [A] to 6x7 all 0's
Disp"
Disp"+-+-+-+-+-+-+-+
For(A,1,5
Disp"]
End
Output(8,1,"]
For(A,3,8
Output(A,15,"[
End
For(A,1,8
Output(A,16,sub("PLAYER_ _",A,1                                            //"_" is a space
End
DelVar θ2→P
7→dim(L₂
Fill(6,L₂
For(Z,1,42
If θ
Goto 1
(P=1)2+(P=2)→P
Output(8,16,P
2→V
Repeat K=105 and L₂(.5V
Output(1,V,"v
Repeat K
getKey→K
End
Output(1,V,"_
V+2(K=26 and V≤12)-2(K=24 and V≥4→V
End
.5V→V
P(P=1)+(P-3)(P=2→[A](L₂(V),V)
If P=1
Output(2+L₂(V),2V,"0                                           //zero
If P=2
Output(2+L₂(V),2V,"O                                          //letter O
0→θ
If L₂(V)≤3
Then
For(A,7,5,-1
cumSum(seq([A](A-I,V),I,1,4
If Ans(4)=4
1→θ
If Ans(4)=-4
-1→θ
End
End
For(A,0,3
cumSum(seq([A](L₂(V),A+I),I,1,4
If Ans(4)=4
1→θ
If Ans(4)=-4
-1→θ
End
V+L₂(V->B
If B≥5 and B≤10
Then
seq([A](1,B-I),I,(B≤7)(B-1)+6(B≥8),(B≤7)+(B≥8)(B-7),-1→L₁
For(A,1,dim(L₁)-3
cumSum(seq(L₁(M),M,A,A+3
If Ans(4)=4
1→θ
If Ans(4)=-4
-1→θ
End
End
L2(V)-V→B
If B≤2 and B≥-3
Then
seq([A](I,I-B),I,(B≤-1)+(B+1)(B≥0),6(B≥0)+(B+7)(B≤-1→L₁
For(A,1,dim(L₁)-3
cumSum(seq(L1(M),M,A,A+3
If Ans(4)=4
1→θ
If Ans(4)=-4
-1→θ
End
End
L₂(V)-1→L₂(V
End
Lbl 1
ClrHome
"PLAYER_
If θ=1
Ans+"1
If θ≠1
Ans+"2
Ans+" WINS!
If Z=42
"CAT GOT THE GAME
Ans


## Credits

This Game was coded by TI-GBR and optimized by jonbush and earthnite.
See development page

Our games page is already quite long, but it could be better. Lets program some board games

For anyone who is interested, there are several games that could be programmed. We would need to do them one at a time, posting code, optimising it, changing it, and then publishing it on the games page. here are some examples-

1. peg solitare
2. Go
3. Isola (Isolation)
4. Mancala

… there are many possible others. If you're interested in participating in this community project, please post about your interest and which game you'd like to start on first, so we can get started. In publication on the games page, credit will be given to the original contributor(s) of the code, and to those who helped optimise it. If there are many small optimisations, credits for the optimisations will be given to the Ti-Community, with a link to this page for clarification.

Routine Summary

This is useful for factoring large nth degree polynomials (and finding their roots, of course), as well as finding an upper and lower limit for the roots of an nth degree polynomial, as per the remainder and factor theorems and some others.
It uses L₁ for input of the coefficients of the starting polynomial, uses X for r in (x-r) (what you're dividing by), so have those variables predefined (or put :Input L₁:Input X at the the beginning of the program), and it outputs L₂ as the answer with the last list entry as the remainder.

Inputs

L₁ - the coefficients of the polynomial you want divide by (x-r)

Outputs

L₂ - the coefficients of the answer and the remainder is stored as the last list entry

Variables Used

L₁, L₂, A, R, Ans

Calculator Compatibility

TI-83/84/+/SE

Author

TI-GBR, optimized by earthnite

dim(L₁→dim( L₂
L₁(1→L₂(1
For(A,2,dim(L₁
L₁(A)+R(L₂(A-1→L₂(A
End
L₂


Synthetic division works for problems in the following format.

(a0xn + a1xn-1 + a2xn-2 + … + an-1x1 + anx0) / (x-r)

Where a0≠0

For example,
Problem: find the roots of x3-x2-2x-12=0

First we need to find all possible (r) in (x-r)
Factor an:-12 {±1,±2,±3,±4,±6,±12
Factor a0:1 {±1
List of an/a0:{±1,±2,±3,±4,±6,±12
this last list is the list of all possible r in (x-r)

Now for synthetic division.
See the wikihow website

Using the program.

Input L1 with the polynomial's coefficients, {1,-1,-2,-12→L1
Input R for r in (x-r), 3→R

We get a L2 as an answer, the last entry in the list is the remainder, if this is 0, we know that (x-r) is a factor.The other entries in the list represent the coefficients of the quotient, a polynomial of 1 degree less than the starting polynomial.
so for starting polynomial f(x) divided by (x-r) , f(x)= (x-r) * q(x) +R, where q(x) is the quotient of 1 degree less than f(x) and R is the remainder. if R is =0 (x-r) is a factor of f(x) and f(x) can be broken down into q(x)*(x-r)

Now, remember we found all possible r's? Well, do synthetic division for each of those r's until the remainder (R, the last entry on L2) is 0. when you have that, you rewrite your equation, so in our problem 3 for r gives 0 for R so we would rewrite the problem, using the coefficients as:

Input: {1,-1,-2,-12→L1
Input: 3→R
Output {1,2,4,0
This means that (x3-x2-2x-12) / (x-3) = x2+2x+4
(x-3) is a factor of (x3-x2-2x-12
Then use the quadratic formula with x2+2x+4 to find the other factors.

 Author: TI-73 File Size: 21b To Fake The Home Screen

author: Mewcancraft
version: '1.0'
summary: 'Based on the ancient real-life puzzle, I bring you a semi-animated digital version of the Tower of Hanoi! Features include: a toggleable move counter and timer, customizable difficulty, a built-in instructions booklet, MirageOS compatibility, a special hidden gamemode and more!'
graphics: '0'
platform: '0'
puzzle: '1'
rpg: '0'
strategy: '1'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: dd
image: 'archiveimage:hanoigif-1/Hanoigif.gif'
fileSize: '4439'
fileSizeUnit: '1'

Command Summary

Changes the color of the graph border.

Command Syntax

BorderColor <color#>

Press:

1. 2ND Zoom to access format menu.
2. Scroll down to BorderColor and use arrows.

It can also be found under the catalog.

TI-84+ CSE/CE

2 bytes

There are only 4 borders to choose from, so using the default colors will not work. Instead, you may only use a value between 1-4.

For example, to change the border color to light blue, do:

BorderColor 3


Here are the color values:

Color Value
Light Gray 1
Snowy Mint / Light Madang 2
Light Blue 3
White 4

The colors of borders 2 and 3 are not usable or accessible in any way except as a border color. The use of border colors 1 or 4 along with the appropriate background can create the illusion of a larger graph screen. However, nothing can be draw outside the standard window.

# Related Commands

Command Summary

Changes the color of a certain function.

Command Syntax

GraphColor(function#,color#)

Press:

1. 2ND 0 to access catalog.
2. TAN to get to the G index
3. Scroll down to find GraphColor(, then ENTER to paste.

Graph colors can also be changed under Y=.

TI-84+ CSE/CE

2 bytes

This command will change the color of any function from Y0 to Y9. So, for example, to change the color of Y3 to NAVY, do:

GraphColor(3,NAVY


Notice, you must use the number of the function, rather than the entire function name, which would be Y3.

As you may know, you can also use the value of the color, which can be any integer between 10 and 24. So, our last command could also be:

GraphColor(3,17


# Related Commands

Command Summary

Turns asymptote detection on.

Command Syntax

DetectAsymOn

Press:

1. 2nd FORMAT to access the graph format menu
2. Use arrows and ENTER to select "On" under "Detect Asymptotes:"

It can also be found under the catalog.

TI-84+ CSE/CE

2 bytes

When DetectAsymOn is selected, the calculator will detect asymptotes, adjusting the graph accordingly. This method of graphing is the most accurate but is also much slower than graphing with asymptotes turned off.

An asymptote is, by definition, "a line that continually approaches a given curve but does not meet it at any finite distance." Basically, an asymptote is the line where a function does not have any values on a certain axis.

# Related Commands

Command Summary

Turns asymptote detection off.

Command Syntax

DetectAsymOff

Press:

1. 2nd FORMAT to access the graph format menu
2. Use arrows and ENTER to select "Off" under "Detect Asymptotes:"

It can also be found in the catalog.

TI-84+ CSE/CE

2 bytes

When DetectAsymOff is selected, the calculator will not detect asymptotes, adjusting the graph accordingly. This method of graphing is much faster than with asymptotes turned on. However, the graph can be erroneous when dealing with rational functions, as it will often draw extra lines to connect points near undefined values.

An asymptote is, by definition, "a line that continually approaches a given curve but does not meet it at any finite distance." Basically, an asymptote is the line where a function does not have any values on a certain axis.

# Related Commands

I am working on this game I will post the part of the code that I have finished. If anyone can figure out how to add a score please feel free to edit!

Program:SCAVENGER1
:Fill(0,[A]
:ClrHome
:Disp "DIFFICULTY?"
:Pause
:Lbl 1
:ClrHome
:Lbl W
:4->U
:8->V
:Repeat Z=21
:getKey->Z
:If Ans
:Output(U,V," "
:min(8,max(1,U+randInt(-5,5)))->U
:min(16,max(1,V+randInt(-5,5)))->V
:Output(U,Ans,"X"
:5->A
:9->B
:Repeat K=21
:getKey->K
:If Ans
:Output(A,B," "
:min(8,max(1,A+sum(ΔList(Ans={25,34->A
:min(16,max(1,B+sum(ΔList(K={24,26->B
:Output(A,Ans,"O"
:End
:End
:Goto W
:Lbl 2
:prgmSCAVENGER2
:Lbl 3
:prgmSCAVENGER3


Now we need to program SCAVENGER2

:ClrHome


Now Finally…SCAVENGER3!

insert the code here


I am currently working on this program. Check back in later. I will add in the part of the code that I finished. I'm having trouble making the "X" move while the two random targets move so feel free to edit if you figured out how to get it to work.

:ClrHome
:4->U
:8->V
:Repeat K=21
:getKey->K
:If Ans
:Output(u,V," "
:min(8,max(1,U+sum(List(Ans={25,34->U //Find the "List" with the triangle before it in the catalog. Same thing with the next line.
:min(16,V+sum(List(K={24,26->V
:1->A
:1->B
:8->C
:16->D
:Repeat getKey or (A=C and B=D)
:Output(A,B," "
:Output(C,D," "
:min(8,max(1,A+randInt(-1,1)))->A
:min(16,max(1,B+randInt(-1,1)))->B
:min(8,max(1,C+randInt(-1,1)))->C
:min16,max(1,D+randInt(-1,1)))->D
:Output(A,B,"O"
:Output(C,D,"Q"
:End


…that TI 84+CSE and CE calculators have ten high-resolution image slots that can be used as backgrounds for graphing?

# Instructions

First, write the name and model of your calculator in the table below, then use this code with an empty line in the "test code here" space to measure your loop overhead.

Add the number of iterations you used to the "iterations" column, and [time taken]/[iterations] to the "average" column. Then subtract your loop overhead from the result and list it in the "time" column.

FnOff
PlotsOff
0→Xmin
94→Xmax
-62→Ymin
0→Ymax
DispGraph //if it is a graphing command
startTmr→θ
Repeat checkTmr(θ
End
For(𝑛,1,[iterations])    //sequence variable 𝑛; note the closing parenthesis.
//test code here
End
checkTmr(θ+1


## Home Screen Commands

ClrHome 1000 29 1.2 28 kgmstwo
Disp " 1000 51 1.2 50 kgmstwo
Output(1,1," 10000 3.8 1.2 2.6 kgmstwo
Output(1,1,"A 10000 4.4 1.2 3.2 kgmstwo
Output(1,1,"AB 10000 5.0 1.2 3.8 kgmstwo
Output(1,1,"ABC 10000 5.6 1.2 4.4 kgmstwo
ClrHome 1000 27 .68 26 kgmstwo

## Graphics Commands

Pxl-On(0,0 10000 2.9 1.2 1.7 kgmstwo
Pxl-Off(0,0 10000 2.9 1.2 1.7 kgmstwo
Pxl-Change(0,0 10000 2.9 1.2 1.7 kgmstwo
Horizontal -5 1000 36 1.2 35 kgmstwo
Horizontal -5 1000 35 .68 34 kgmstwo
Vertical 5 1000 25 1.2 24 kgmstwo
ClrDraw 1000 101 1.2 100 kgmstwo
StoPic Pic1 10000 4.7 1.2 3.5 kgmstwo
StoPic Pic1 10000 4.2 .68 3.5 kgmstwo
RclPic Pic1 1000 28 1.2 27 kgmstwo
Pt-On(10,-10 10000 4.1 1.2 2.9 kgmstwo
Pt-On(10,-10 10000 4.5 1.2 3.3 kgmstwo
Pt-On(10,-10 10000 4.0 .68 3.3 kgmstwo
:ZStandard:84→Xmin:72→Ymax:ZInteger 100 220 .68 220 kgmstwo
0->Xmin:1->DeltaX:0->Ymin:1->DeltaY 1000 14 .68 13 kgmstwo
0->Xmin:94->Xmax:-63->Ymin:0->Ymax 1000 18 .68 17 kgmstwo
Line(5,0,5,-62 1000 27 .68 26 kgmstwo
Line(5,0,5,-62,0 1000 27 .68 26 kgmstwo
Line(0,-5,94,-5 1000 37 .68 36 kgmstwo
Line(0,-5,94,-5,0 1000 37 .68 36 kgmstwo
Line(10,-10,10,-10 10000 7.2 .68 6.5 kgmstwo
Line(10,-10,10,-10,0 10000 7.4 .68 6.7 kgmstwo

note: multiple commands always on their own line.

For(n,1,100000) .83 kgmstwo
For(n,1,100000 .69 kgmstwo

# Calculators Used

kgmstwo 84+SE 2.43
lirtosiast 84+ 2.55MP

Command Summary

Turns off the graph Background, setting it back to the default white color.

Command Syntax

BackgroundOff

[2ND][PRGM][LEFT ARROW][2]

TI-84+CE/CSE

2 bytes

The BackgroundOff command has only one purpose: turn the background off. Run the command on its own line in a program with no other characters or arguments.

:BackgroundOn BLUE //Makes background blue
:BackgroundOff //Makes background white again


# Optimization

BackgroundOff does essentially the same thing as turning the background on to the color white, as shown below.

:BackgroundOn WHITE
can be
:BackgroundOff


# Related Commands

Let's review the commands you have learned concerning mathematical operations. Highlight the area next to the word Answer to reveal the answer. If there are certain topics you don't feel confident in yet, don't worry. Just go back to the appropriate page and review.

1. True or False: Subtraction is the same as adding a negative number.

Answer: True. 5 - 2 = 5 + -2

2. Which of the following expressions are equivalent?

1. abs(-5)
2. -30 / 6
3. int(-5.5)
4. 51
5. 30 / 5

Answer: Choices 1 and 4, which both equal 5.

3. True or False: The complex number i squared is equal to one.

4. Evaluate the following expression. Remember the Order of Operations.

(1)
$$24 / 4 + 2 * (9 - √9) / 3$$

5. Which of the following commands will calculate the number of possible 3-digit number lock codes? The code can use the numbers 0 - 30 and order does matter.

1. 3 nPr 30
2. 30 nCr 3
3. 3 nCr 31
4. 31 nPr 3

Answer: Choice 4. Order matters, making the code a permutation. The length of the code, or r, is 3 digits, and the number of possible digits. or n, is 31, because we can use all numbers from 1 to 30 as well as 0.

6. True or False: The default base of log(n) is 10.

Answer: True. To get a different base, use the logBASE function or the formula: log(x)/log(b) = logb(x)

7. Which of the following trigonometric identities is correct?

1. cos(x) - sin(x) = tan(x)
2. tan(x) + cos(x) = sin(x)
3. sin(x) / cos(x) = tan(x)
4. sin(x) * tan(x) = cos(x)

8. The max() command can be used as a space-saving substitute for which kind of logical operator?

Answer: The operator OR. The min() command can be used as a substitute for AND statements.

author: Michael2_3B
version: '2.0'
summary: 'Generates a random phrase for you, based off of sentence structures and vocab.'
description: 'You can add vocabulary and different sentence structures, and you can also choose to add a pre-existing set of vocab, along with a sentence structure, if you want. You can also reset your vocab list and sentence structure list. Please see the README for more info :)'
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '1'
compatibility: bb
image: 'archiveimage:002436/002436.gif'
fileSize: '2583'
fileSizeUnit: '1'

author: 'Conor O''Brien'
version: v.1.0
summary: 'Guess a number from 1 to 8!'
description: "Guess a number from 1 to 8! This program takes a keyed-in input from the user.\n\nINSTRUCTIONS\n===========\nUse the left and right arrow keys to navigate between the numbers; once the asterisk is beneath the user's choice, they may press [ENTER] to select said number. They may choose to select the same number multiple times.\n\nOTHER INFO\n=========\nUses 880 RAM. Uses variables D,A,U,L,R,T,G, and Str5"
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: bb
image: null
fileSize: '942'
fileSizeUnit: '1'

author: 12Me21
version: '2.0'
summary: 'It''s snake. In spaaceee!'
description: "Use the up/down arrows to move up and down, and go through the = signs (asteroids) to get points (you get a point when the 2 pixels above and below you are both on)\n\n(sorry about the crappy animation, jsTIfied's animated screenshot tool is glitchy. The real game looks much better (though it's more blurry))\n\nIt is short enough to type into your calculator:\n\n[[code]]\nprgmSPCESNKE\n:0->I%\n:ClrDraw\n:Repeat pxl-Test(31,47\n:Pxl-On(31,47\n:Text(randInt(0,57),91,\"=\n:I%+pxl-Test(30,47)pxl-Test(32,47->I%\n:getKey\n:If Ans=25\n:Asm(prgmDOWN\n:If Ans=34\n:Asm(prgmUP\n:Text(0,1,I%\n:Asm(prgmLEFT\n:End\n:Text(0,0,\" (10 spaces)\n:If I%>ZnMax\n:I%->ZnMax\n:For(X,1,9\n:Asm(prgmFLASH\n:End\n:Text(51,0,\" SCORE: \",I%\n:Text(57,0,\" HIGHSCORE: \",ZnMax\n:Pause :ClrHome\n\nprgmUP\n:AsmPrgm214C9311409301F402EDB0EB010C00EF304CEF6A48C9\n\nprgmDOWN\n:AsmPrgm213396113F9601F402EDB823010C00EF304CEF6A48C9\n\nprgmLEFT\n:AsmPrgm213F960E40060CB7CB162B10FB0D20F5EF6A48C9\n\nprgmFLASH\n:AsmPrgm210000115F3FEF5F4DC9\n[[/code]]\n\nAlso, it doesn't use any variables! (except for keeping track of the score)"
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: cc
image: 'archiveimage:scr/scr.gif'
fileSize: '950'
fileSizeUnit: '1'

:"_OO3_OO_O3_O_2O_2O->Str1
:"_->Str2
:For(F,1,length(Str1
:sub(Str1,F,1->Str3
:If inString("123456789",Str3
:Then
:For(G,1,expr(Str3
:Str2+sub(Str1,F+1,1->Str2
:End
:Else
:Str2+Str3->Str2
:End
:End


You can use a technique known as Run-length encoding (RLE) to compress a string. In the example above, this is done by placing a number in front of the consecutive repeated tokens. Str1 is the compressed string, and Str2 is the decompressed string. In Str2, the "2O" in Str1 becomes "OOO", and "3_" becomes "".

# Related Routines

author: 'Steven Luiten'
version: v0.9.8c.076
summary: 'Based on the game Pokemon Red.'
description: "The game is operated with the buttons 2ND, ALPHA, ENTER and the arrow keys. WARNING: Do not press ON.\nIt is recommended to delete the variables List 1~6 and String 1~5 and archive any programs you may have."
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '1'
strategy: '1'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: dd
image: 'archiveimage:p53-preview/P53-Preview.gif'
fileSize: '6500'
fileSizeUnit: '1'

author: 12Me21
version: '2'
summary: '2D building/mining game'
description: "This is basically the same as TI-CRAFT, but I changed the name because there's no crafting involved, and I think someone else is already using the name.\nControls:\nleft and right arrows: move\nup: jump\nDel and Stat: \"climb\" up/down (move 2 pixels, even if there is 1 in the way)\nVars and Clear: move sideways 2 pixels. (Going through a door)\nNumbers: remove/place blocks\n2ND: Menu\n\nMenu:\nLOAD: Recallpic 8\nNEW: Generate new world\nSave: Storepic 8\nExit: Exit\nResume: Resume (can also load worlds from the graph screen I think)\n\nCompatible with Doors CS (it cost me 72 extra bytes for that 16x16 icon!)\n\nShould work with all calculators, tested on TI-nspire w/ 84+SE keypad.\n\n\n"
graphics: '0'
platform: '1'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '1'
compatibility: bb
image: 'archiveimage:picz/PICZ.BMP'
fileSize: '531'
fileSizeUnit: '1'

This page is dedicated to showcase small snippets of code that may be useful. These small routines are designed to accomplish tasks involving mathematics. Unless specified, output is in Ans.

Primality of Positive Integerjonbush; lirtosiast

This routine works for 3≤X<106 and returns 0 if X is composite, and 1 if X is prime.
If used in an If statement or place where the true value does not matter, you can remove the 0≠.

min(remainder(X,seq(A,A,2,1+√(X

This code can be modified to be faster if X is already known to be odd.
min(remainder(X,seq(A,A,3,1+√(X),2

The following code is faster for large or even X, and works for all 0≤X<3.99*106.
min(X={2,3,5
If X≥7 and fPart(.5X
min(remainder(X,3+2cumSum(not(binompdf(int(.5√(X)),0


Euler's Totient Function Φ(n)kg583

This routine calculates the value of Euler's Totient Function for any integer X>3.

2+sum(seq(gcd(X,A)=1,A,2,X-2


Number of Factorskg583

This routine calculates the number of factors for any integer X>2. A factor is any integer can divide X with no remainder (including 1 and X).

2+Xmean(seq(not(remainder(X,A),A,2,X-2


This page is dedicated to showcase small snippets of code may be useful. These small routines are designed to accomplish tasks involving lists, matrices, and their attributes. Unless specified, output is in Ans.

Index of Maximum List Element – jonbush

This line finds the index of first occurrence of a specific value in a list.
The list to be searched is in Ans at the beginning.

1+sum(not(cumSum(Ans=max(Ans


This can also be used to find the index of the minimum or of any other value in place of "max(Ans"

Number of Elements Less than X – kg583

This line counts the number of elements in a list less than some number X.
The list to be searched is in Ans.

sum(0<Ans-X


Replace < with > to return the number of elements greater than X, ≤ for numbers less than or equal to X and ≥ for numbers greater than or equal to X.

Shuffle a list

This routine is the fastest way to shuffle a list. L₁ is the list to be shuffled and L₂ is a temporary list used to do the shuffling. Make sure to clean up L₂ after your program.

:rand(dim(L₁->L2
:SortA(L2,L₁


Reverse a list – Xeda Elnara

This routine is the smallest way to reverse a list. L₁ is reversed without affecting Ans.

:dim(L₁
:seq(L₁(Ans-K),K,0,Ans-1


Remove list element – jonbush

This routine is the smallest way to remove a single element from a list. The position of the element to be removed from L₁ is in Ans, and the result is a list with that element removed.

:seq(L₁(A+(A≥Ans)),A,1,dim(L₁)-1


Enter List using Input - Trenly

This routine is a way to allow a list to be entered using the Input command. The values to store in the list should be a comma separated string of numbers e.g "1,2,3"

Input Str1
expr("{"+Str1→L₁


This page is dedicated to showcasing small snippets of code that may be useful. These small routines are designed to accomplish tasks involving numbers and their attributes. Unless specified, the output is in Ans.

Rounding - lirtosiast, Trenly

The int( command always rounds towards -∞, and iPart( rounds towards 0. Here are the other two directions:

-int(-X                   //rounds towards +∞

iPart(X+not(not(fPart(X   //rounds away from 0


For natural rounding, where a number rounds up if the decimal part is greater than one half and down otherwise, use this:

iPart(X+(fPart(X)≥.5


To round towards the nearest N or multiple of N, the code would be:

X/N->X
NiPart(X+(fPart(X)≥.5


Number ConcatenationDarkerLine

Returns the number formed by concatenating positive integers M and N.

N+M10^(1+int(log(N


Number of Digits in Nonzero Integer

If X is always positive, remove the "abs(".

1+int(log(abs(X


Number of Digits in Decimal NumberWeregoose, lirtosiast

not(X)+sum(0 or fPart(abs(X10^(cumSum(binomcdf(13,0))-2-int(log(abs(X+not(X


Sum of Digits of IntegerDarkerLine, lirtosiast

If X is always nonnegative, remove the "abs(".

sum(int(10fPart(abs(X10^(-cumSum(binomcdf(13,0


Sum of Digits of Decimal NumberDarkerLine, lirtosiast

If X is always nonnegative, remove both "abs(". If nonzero, remove the "+not(X".

sum(int(10fPart(abs(X10^(cumSum(binomcdf(13,0))-2-int(log(abs(X+not(X


Fraction SimplifierBattlesquid

Simplifies fractions where A is the numerator and B is the denominator.

With Disp

"A/B▶Frac"→Str1
Disp expr(Str1


With Output(

"A/B▶Frac"→Str1
Output(1,1,expr(Str1


Alternatively, there is Xeda Elnara's method, but an abs command would have to be used to ensure that there is not a negative input.

gcd(A,B→C
A/C→A
B/C→B


The finance variables (N,I%,PV,PMT,FV,P/Y,C/Y), window variables (ZXscl, ZYscl, Xscl, Yscl, u(nMin), v(nMin), u(n-1), v(n-1), Zu(nMin), v(nMin), Xmin, Xmax, Ymin, Ymax, Tmin, Tmax, θmin, θmax, ZXmin, ZXmax, ZYmin, ZYmax, Zθmin, Zθmax, ZTmin, ZTmax, TblStart, PlotStart, ZPlotStart, nMax, ZnMax, nMin, ZnMin, ΔTbl, Tstep, θstep, ZTstep, Zθstep, ΔX, ΔY, XFact, YFact, TblInput, w(nMin), Zw(nMin), PlotStep, ZPlotStep, Xres, ZXres), and the sequence variable n are much faster than real variables and Ans (but slower than immediate constants) to access, but take up more space, being two byte tokens instead of one byte real variables. They are harder to type and can make code look confusing, so it is better to write your program using normal variables, and then switch to the faster ones when you're done. Do NOT use C/Y if you are using P/Y, because if you set the value of P/Y, the calculator changes C/Y to the same number. Also do not use any of the X- or Y- window variables, because that will alter the graph screen.

Use n, window variables, or finance variables when speed is important, because they take about 8000 fewer CPU cycles to access or store to, or about 0.5 ms on a TI-84 series calculator and 1.3 ms on a TI-83 or 83+. After thousands of times accessing the variable, the time can add up.

Code used in testing:

[number]→[var]
For(X,1,ᴇ4
[var]
End


Results (seconds):
Code 83+ 84+ 84+ CSE
0→A 67 25 **
0→N 55 20 **
1→A 67 30 **
1→N 55 25 **

Results of other test (seconds)

 Code TI-84+ SE 1→X 0.0049 N→X 0.005 n→X 0.005 Xmin→X 0.0051 Ans→X 0.0054 N→X 0.0055 [A](1,1→X 0.0083 L₁(1→X 0.0142

Routine Summary

Converts a string to lower/upper case.

Inputs

Str1 - The string to convert
A - The case to convert to: 0 for lower, 1 for upper

Outputs

Ans or Str1- The converted string

Variables Used

Str1, Str2, A, B, N

Calculator Compatibility

TI-83/84/+/SE/CSE/CE

Authors

Electromagnet8

URL: Cemetech

" "+Str1+" →Str1
length(Ans→B
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz→Str2
For(N,2,B
inString(sub(Str2,1+A26,26),sub(Str1,N,1
If Ans
sub(Str1,1,N-1)+sub(Str2,Ans+not(A)26,1)+sub(Str1,N+1,B-N→Str1
End
sub(Str1,2,B-2→Str1


We pad the string with spaces to prevent a domain error.

With our string stored in Str1, we loop through each character in order.

To convert to lowercase, we search for the uppercase characters in Str2.
To convert to uppercase, we search for the lowercase characters in Str2.

If it finds the other case character, we replace that character with the other case character. Otherwise, we skip the code to replace.

Example use:

"helLO wOrld"
converted to lowercase is
"hello world"

"H^:'[]{}/ello* world"
converted to uppercase is
"H^:'[]{}/ELLO* WORLD"


…There is no dyk 28
..oh wait now there is…

…There is no dyk 28
..oh wait now there is…

Routine Summary

Converts a decimal into a fraction

Inputs

Ans - Decimal input

Outputs

Ans - Numerator (1), Denominator (2)

Variables Used

A, B, Ans

Calculator Compatibility

TI-83/84/+/SE

Author

12Me21

:Ans→A:1→B
:While fPart(A
:10A→A:10B→B
:End
:{A,B}/gcd(abs(A),B


It starts by setting up a fraction with the input as the numerator and 1 as the denominator. After that, it multiplies both by 10 until the numerator is an integer, and then simplifies the fraction.

# Error Conditions

• ERR:DATA TYPE is thrown if Ans is an imaginary or complex number
• ERR:DOMAIN is thrown if Ans has more than 11 digits after the decimal.

# Related Routines

Routine Summary

Returns the index number of an element searched for within a list

Inputs

X - Element that it's finding
L₁ - List that's being searched

Outputs

Ans - Index number of element searched.

Variables Used

{\$variable}

Calculator Compatibility

TI-83/84/+/SE/CSE

Author

RogueBantha

//Finds first occurence of X in L1
1+sum(not(cumSum(L1=X)))

//Finds last occurence of X in L1
max((L1=X)cumSum(1 or L1))


Given a value in X, this code will search L1 and return the index number of the first (or last) occurrence of X.
For example, in a list L1={1,2,5,4}, the index value of the element 5 is 3. Storing 5 to X and running this code will return 3.

# Error Conditions

The first routine returns 1+dim(L₁) if L1 does not contain X, so if L1={1,2,5,4} and one searches for 9, the code will return 5.

The second routine returns 0 if L1 does not contain X, so L1={1,2,5,4} and one searches for 9, the code will return 0.

Command Summary

Used to display a background image on the graphscreen

Command Syntax

BackgroundOn Image#
Background color
Background # (0-24)

Press

1. 2ND DRAW to access the draw menu
3. Enter or 1 to select BackgroundOn

TI-84+CSE and TI-84+CE

2 bytes

With the introduction of color and a higher resolution screen than the monochrome calculators, the TI-84+CSE and TI-84+CE included the ability to display a background image on the graphscreen. The images variables are similar to the picture variables in that there 10 slots. In addition, functions can be drawn on top of images.

BackgroundOn recalls an image variable or color and displays it on the graphscreen.

:BackgroundOn Image1
is the same as
:BackgroundOn 1


Intrestingly, the following is a valid syntax, which fills the graphscreen with a light blue (18).

:15→B
:BackgroundOn B+3


In addition, BackgroundOn can be used to fill the graphscreen with a solid color. The color variables range from 10 to 24, blue to dark gray, as documented here. For example, BackgroundOn 12 will fill the graphscreen with black.

:BackgroundOn 12


# Error Conditions

• ERR:DOMAIN is thrown if the number is not an integer between 0 and 24.

# Related Commands

Please see the AsmPrgm page. The functionality and use is the same between both commands. However, the Asm84CPrgm is only available on the TI-84+CSE calculator. Keep in mind that hexadecimal for the monochrome calculators may not work on color calculators.

Command Summary

Defines the color of the text

Command Syntax

TextColor(color
TextColor(number

Press:

1. 2ND PRGM to enter the DRAW menu
2. A to select TextColor(, or use arrows

TI-84+CSE and TI-84+CE

2 bytes

The TextColor( token is used to set the color for Text(. Although the default color is Blue, the calculator saves the color until it is changed again using TextColor( or when a memory reset occurs. When a memory reset occurs, the text color is reset back to blue.

:TextColor(BLUE
:Text(0,0,"THIS TEXT IS BLUE
:TextColor(GRAY
:Text(12,0,"THIS TEXT IS GRAY
:Text(24,0,"THIS IS GRAY AS WELL
:TextColor(12
:Text(36,0,"THIS TEXT IS BLACK


The following table are the colors associated with their numeric values.

Color Token Numeric Value
BLUE 10
RED 11
BLACK 12
MAGENTA 13
GREEN 14
ORANGE 15
BROWN 16
NAVY 17
LTBLUE 18
YELLOW 19
WHITE 20
LTGRAY 21
MEDGRAY 22
GRAY 23
DARKGRAY 24

Each color token is 2 bytes.
The color tokens can be used in calculations. For example, LTBLUE/3 will equal 6.

# Background Colors

When the calculator displays text on the graphscreen, it displays it on top of a predetermined background color. This background color is white for all colors of text, except for yellow, white, and light gray (LTGRAY), which have a background color of medium gray (MEDGRAY). If you want to display text in your game without the annoying text-background, you need to have the graphscreen background be white or medium gray so the text-background doesn't show. The only known alternative is to use Pxl-On to draw the text manually, so how you work around this issue depends almost entirely on how lazy you are. You can see how this works by looking at the image in the Command Summary sidebar.

# Error Conditions

• ERR:DOMAIN is thrown if the argument specified is not an integer within the 10-24 range.

# Related Commands

…that the color tokens on a TI-84+CSE/CE can be used as number equivalents for math? For example, BLUE*5 equals 50 while DARKGRAY-4 equals 20?

.