!! DISCLAIMER !!

The 68k Starter kit has been "under construction" for years.

Please help revive the community with adding to it! Thank you!

author: 'John Hoffmann'

version: '1.0'

summary: "Spend each day trying to keep your dog alive and happy. \n"

description: 'Your dog starts out fine, but as time goes on, many terrible things will stop you from being able to properly take care of your dog. Find the strategy that will keep them alive and happy! '

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '1'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '0'

compatibility: bb

download: null

image: null

fileSize: '12655'

fileSizeUnit: '1'

dateMade: '1644735600'

author: '*Bio_Hazard1282_rPi3* does not match any existing user name'

version: '1.0'

summary: 'It’s here, a new generation of Snake Arcade made by Achak Claw (formerly BioHazard). This version has an improved GUI and experience compared to the past Snake Arcade games.'

description: "It’s here, a new generation of Snake Arcade made by Achak Claw (formerly BioHazard). This version has an improved GUI and experience compared to the past Snake Arcade games. Snake Arcade 5 is packed with more features and other little things that make it better, just for you to enjoy. Download Snake Arcade today and give it a try! This archive also includes the older versions of Snake Arcade, and a Spanish Read Me document for those who prefer a bit of Español.\n\nNOTE: More updates for Snake Arcade 5 will be here on it's official website:\nhttps://sites.google.com/view/snake-arcade-5/home"

arcade: '1'

graphics: '1'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '1'

compatibility: bb

download: 'archivefile:snake-arcade-5/Snake-Arcade-5.zip'

image: 'archiveimage:snake-arcade-5-demo/Snake-Arcade-5-Demo.gif'

fileSize: '8'

fileSizeUnit: '3'

dateMade: ''

Converts a decimal (base 10) number to a number in any other integer base B.

*A* - The decimal number that you want to convert.

*B*/ - The base you want to convert A into.

*Ans* - The base B representation of the decimal number, in list form.

{$variable}

TI-83/84/+/SE

imcoraline

[{$download}]

```
:iPart(ln(A)/ln(B
:BfPart(int(AB^(cumSum(binomcdf(Ans,0))-Ans-1))/B
```

This routine takes a positive whole decimal number (base 10), stored in A, and converts it to the equivalent representation in base B. The representation will be in list form. For example, the decimal number 32 is the base 2 number 100000, meaning the routine would result in the list {1,0,0,0,0,0}.

**Note: This routine will not work for A<B.**

It also may be important to note that adding 0’s to the front of a number will not change the decimal equivalent. For example, both 0110101_{2} and 110101_{2} are equivalent to 53_{10}.

# Error Conditions

**ERR:DATATYPE**is thrown if A is complex or negative.**ERR:DOMAIN**is thrown if A is 0 or less than B.- An error will not be thrown is A isn’t an integer. Nonetheless, the conversion will not work correctly.

# Related Routines

Converts a binary (base 2) number to a decimal (base 10) number.

*Ans* - The binary number that you want to convert expressed as a list, stored in Ans.

*Ans* - The decimal representation of the binary number.

Ans, A

TI-83/84/+/SE

imcoraline

`:sum(seq(Ans(dim(Ans)-A)2^A,A,0,dim(Ans)-1`

This routine takes a positive whole binary number (base 2), expressed as a list, and converts it to the equivalent decimal (base 10) representation. To express a binary number in a list, you simply put commas in between each digit, and then surround that with list brackets. For example, the binary number 101101 expressed a list would be {1,0,1,1,0,1}. To learn how to convert a binary number to a decimal number, vice versa, and even see how to convert to and from other bases besides binary and decimal, see the Binary and Hexadecimal page.

It also may be important to note that adding 0’s to the front of a binary number will not change the decimal equivalent. For example, both 0110101_{2} and 110101_{2} are equivalent to 53_{10}.

# Error Conditions

**ERR:DATA TYPE**is thrown if the list has an imaginary number in it.- An error will not be thrown the list is not a binary number, or if any element in the list is negative or non-whole. Nonetheless, the conversion will not work correctly.

# Related Routines

author: Oxiti8

version: V1.0

summary: 'A graphical drag racing game for the TI-84+ with 30 cars, 5 different modes, and a custom car creator.'

description: "The ultimate drag racing game for the 84+ has arrived! Collect, Race and Upgrade 30 different cars, or create your own car from the ground up and share it with the world. Compete in 5 different event types- Climb the rankings in officially sanctioned Ladder races, assert your racing prowess over CSR's best racers in the challenging Crew Battle mode, demonstrate true mastery of your car in Car Specific races, just make some quick cash in Regulation races, or, once you've completed all the other modes, experience the freedom of Custom Spec races. \nThe game's shell compatible, too. Can you conquer the drag strip?"

arcade: '1'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '1'

casino: '0'

board: '0'

utility: '0'

misc: '0'

compatibility: dd

download: 'archivefile:csracingtibd/CSRACINGTIBD.zip'

image: 'archiveimage:mid-race-demo/mid-race-demo.png'

fileSize: '14516'

fileSizeUnit: '1'

dateMade: '1632542400'

author: 'DJ Omnimaga Music'

version: 1.1.0

summary: 'Pure TI-BASIC RPG using layered text sprites for fast graphics display'

description: 'Inspired by Lufia, Quest 64, Dragon Quest, Illusiat and Mana Force series, Darkblasters is a role-playing game meant to showcase pure TI-BASIC graphical capabilities while trying to keep speed as fast as possible. It features over 340 rooms to explore, NPC''s, some items and magic spells, many monsters and sprite-based graphics. No ASM/Axe/Grammer lib were used, in order to ensure full compatibility with 15 MHz z80 calculator models that lacks official ASM support.'

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '1'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '1'

compatibility: bb

download: 'archivefile:duallayr/duallayr.zip'

image: 'archiveimage:dbbattle/DBBattle.gif'

fileSize: '16'

fileSizeUnit: '2'

dateMade: '1631678400'

A program to calculate the ETA in seconds in a For loop.

None

None

T, Z, E, I

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

Bio_Hazard1282

```
600->E
ClrHome
Output(1,1,"N:
Output(2,1,"E:
Output(2,3,E
Output(3,1,"ETA:
startTmr->Z
Repeat checkTmr(Z:End
startTmr->T
For(I,1,E
Output(1,3,I
100I/E
If Ans and checkTmr(Z:Then
Output(3,5," //4 spaces
Output(3,5,int(checkTmr(T)/(.01Ans))-checkTmr(T
startTmr->Z
End:End
```

An explanation of the routine, including how it works, how you can modify it, what variables it uses, and anything else that is important to know when using the routine. The explanation should be thorough enough so that a person can use the routine without requiring help from somebody else.

## What is it?

This program calculates the ETA in a For() loop.

## How does it work?

At the beginning of the program, a sample value of 600 is stored to the variable E for the ending value. The four output commands show a bit of text for the current value (N), ending value (E), and (ETA) for the time in *seconds* left for the loop to execute.

Before the For() loop begins, we start timer Z and wait until one second has passed. Then we start timer T right before the loop to increase accuracy for the ETA.

Now the For() loop starts, and we show an output on the screen to indicate where we are in the loop.

`Output(1,3,I`

The next part of the program is to divide the increment variable *I* by *E* so we know how far we are in the loop.

`100I/E`

We then check if Ans is greater than 0, to prevent an error. We also check if timer Z is greater than 0 as well to make the ETA smoother and make the program run faster to minimize the amount of times it has to update the ETA. In most operating systems, the ETA for common tasks is usually updated every second, so we'll apply that same concept to this program.

`If Ans and checkTmr(Z:Then`

We now will calculate the ETA (estimated time of arrival, except we're not going anywhere. So we're calculating the estimated time remaining.). We will make sure the time left in seconds is whole number (so not a decimal). We will divide timer T from the answer of `100I/E`, and subtract it from Timer T. We add four spaces before we output the ETA so it doesn't look like a mess.

```
Output(3,5," //4 spaces
Output(3,5,int(checkTmr(T)/(.01Ans))-checkTmr(T
```

After that, we will restart timer Z and finish the If() condition with an End command. We will end the For() loop with another End command.

# Error Conditions

**ERR:DIVIDE BY 0**is thrown if E is 0.

# Related Commands

author: 'Joseph Walker'

version: '2.1'

summary: 'This game randomly generates large mazes for you to solve.'

description: "This is an updated version of the game that I made for CalcNerd to post on his youtube channel. It features larger mazes and new custom game menus.\n\nIMPORTANT: Before playing the game for the first time, type [2nd][PRGM][left arrow key][ENTER][0][ENTER]. Make sure to press NEW MAZE on the game menu the first time you play.\n\nTo play, select an option from the menu. When the maze is ready, a pixel for you to move through the maze will appear in the top left corner. If you can't see the pixel, use the arrow keys to move it until you see it moving. To win the game, get to the bottom right corner of the maze. You can quit by pressing [CLEAR]. Don't worry if you get stuck, just quit to save the maze for later. You can select 'LOAD MAZE' on the menu screen to load in the previous maze. Have fun!\n\nHere's the code in Source Coder 3 format if you want to type it in or are curious about how it works:\n[[code]]\nClrDraw\n0->Xmin\n94->Xmax\n0->Ymax\n~62->Ymin\nAxesOff\nRecallPic 0\nLbl 1\nFor(Y,~17,~45,~1\n\tLine(23,Y,71,Y,0\nEnd\nLine(24,~46,72,~46\nLine(72,~18,72,~46\nText(~1,18,24,\"MAZE 2.1\nText(26,28,\"LOAD MAZE\nText(32,28,\"NEW MAZE\nText(38,28,\"QUIT\n~29->Y:0->K\nRepeat K=21 or K=105\n\tPt-On(25,Y,2\n\tRepeat K\n\t\tgetKey->K\n\tEnd\n\tPt-Off(25,Y,2\n\t6sum(DeltaList(K={34,25\n\tY+(Y>~41 or Ans!=~6)(Y<~29 or Ans!=6)Ans->Y\nEnd\nIf Y=~29\nGoto 0\nIf Y=~41\nThen\n\tZStandard\n\tAxesOn\n\tClrHome\n\tReturn\nEnd\nClrDraw\nFor(Y,0,~62,~2\n\tHorizontal Y\nEnd\nFor(X,0,94,2\n\tVertical X\nEnd\nLine(1,~1,1,~61,0\nLine(1,~1,93,~1,0\nFor(X,3,93,2\n\tFor(Y,3,61,2\n\t\trandInt(0,1\n\t\tPxl-Off(Y-Ans,X-not(Ans\n\tEnd\nEnd\nPxl-Off(61,94\nStorePic 0\nLbl 0\nClrDraw\nRecallPic 0\n0->K:1->X:1->Y\nRepeat K=45 or X=95\n\tPxl-On(Y,X\n\tRepeat K\n\t\tgetKey->K\n\tEnd\n\tPxl-Off(Y,X\n\tsum(DeltaList(K={25,34\n\tY+2Ansnot(pxl-Test(Y+Ans,X->Y\n\tsum(DeltaList(K={24,26\n\tX+2Ansnot(pxl-Test(Y,X+Ans->X\nEnd\nIf X=95:Then\n\tLine(23,~8,23,~17,0\n\tFor(X,0,7\n\t\tText(~1,9,24+6X,sub(\"YOU WIN!\",X+1,1\n\t\tLine(24+6X,~8,29+6X,~8,0\n\t\tFor(Y,1,100\nEnd:End:End\nGoto 1\n[[/code]]"

arcade: '1'

graphics: '0'

platform: '0'

puzzle: '1'

rpg: '0'

strategy: '1'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '1'

compatibility: bb

download: 'archivefile:maze/MAZE.8xp'

image: 'archiveimage:mazegamegif/MazeGameGIF.gif'

fileSize: '611'

fileSizeUnit: '1'

dateMade: '1625976000'

author: 'Joseph Walker'

version: '1.0'

summary: 'Land on the moon in this game. This program features procedurally generated terrain and physics based game-play. Have fun!'

description: "IMPORTANT: Before playing the game for the first time or after a calculator RAM reset, press [2nd][PRGM][left arrow key][ENTER][9][ENTER]. Make sure to select 'NEW' on the game menu the first time you run the game.\n\nYou can load or generate new terrain using the main menu. When the game starts, you will see a white pixel representing your lander. To apply thrust, press the up arrow key. To change your craft's angle, use the left and right arrow keys. The angle of your lander is displayed in the top left corner. If your lander is upright, the angle will be 90. To land, slow down and make sure you are oriented at 90 degrees. Then touch down carefully.\n\nHere's the code in Source Coder 3 format if you want to type the game into your calc or you're just curious about the code:\nDegree\n0->Xmin\n94->Xmax\n0->Ymax\n~62->Ymin\n2->Xres\nAxesOff\nLbl 0\nClrDraw\nRecallPic 9\nFor(Y,5,32\n\tLine(30,~Y,66,~Y,0\nEnd\nText(~1,6,31,\"LANDER\nText(14,35,\"LOAD\nText(20,35,\"NEW\nText(26,35,\"QUIT\n0->K:~17->Y\nRepeat max(K={105,21\n\tPt-On(32,Y,2\n\tRepeat K\n\t\tgetKey->K\n\tEnd\n\tPt-Off(32,Y,2\n\t6sum(DeltaList(K={34,25\n\tY+Ans(Y!=~17 or Ans!=6)(Y!=~29 or Ans!=~6->Y\nEnd\nIf Y=~29\nThen\n\tZDecimal\n\tAxesOn\n\tClrHome\n\tReturn\nEnd\nIf Y=~17\nGoto 1\nClrDraw\nseq(5-10rand,X,1,3->L1\nFor(Y,0,~62,~1\n\tHorizontal Y\nEnd\nFor(X,0,94\n\tLine(X,~62,X,L1(1)sin(3X)+L1(2)cos(6X)+L1(3)sin(12X)-50,0\nEnd\nDelVar L1StorePic 9\nLbl 1\nClrDraw\nRecallPic 9\n0->K:90->A\n0->Y:47->X\n0->H:0->V\nRepeat K=45 or Y+V<0 or X+H<0 or X+H>94 or not(pxl-Test(1+int(Y),int(X\n\tText(~1,0,0,\" \n\tText(0,0,A\n\tPxl-On(int(Y),int(X\n\tY+V->Y\n\tX+H->X\n\tPxl-Off(int(Y),int(X\n\tgetKey->K\n\tA+15sum(DeltaList(Ans={26,24->A\n\tH+.5(K=25)cos(Ans->H\n\tV-.1(K=25)sin(A)+.05->V\nEnd\nIf K=45\nGoto 0\nIf int(X+H)<0 or int(X+H)>94 or int(Y+V)<0 or int(X+H)<=17 and Y<=7\nThen\n\t\"GOTLOST\nElse\n\tIf A=90 and abs(H)<=1 and abs(V)<=1 and pxl-Test(int(Y),int(X)-1) and pxl-Test(int(Y),1+int(X)) and not(pxl-Test(int(Y)+1,int(X\n\tThen\n\t\t\"LANDED!\n\tElse\n\t\t\"CRASHED\n\tEnd\nEnd\nFor(X,1,11\n\tText(~1,20,6X+8,sub(\"YOU \"+Ans,X,1\n\tFor(Y,1,100\n\tEnd\nEnd\nFor(Y,1,1000\nEnd\nGoto 0"

arcade: '1'

graphics: '1'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '1'

compatibility: bb

download: 'archivefile:lander/LANDER.8xp'

image: 'archiveimage:lunarlandergif/LunarLanderGIF.gif'

fileSize: '732'

fileSizeUnit: '1'

dateMade: '1625976000'

author: 'Joseph Walker'

version: '1.0'

summary: 'Has many helpful math functions.'

description: "Has a menu that links to the following functions:\n\nEquation:\nThis solves for X.\nFirst, enter in the left side. Then the right side. X will be displayed if the equation is solvable. If the\nequation is not solvable, there may be an error. If an error occurs, do not try and edit the program. The error\nis with the equation you gave it. Make sure to close all parentheses or the equation will be interpreted wrong.\n\nQuadratic Solver:\nSolves a quadratic equation. Pretty self explanatory.\n\nSimultaneous Solver:\nSolves for x and y when given two equations of the form ax+by=c.\n\nRadical Simplifier:\nI got this program from https://www.mcelroytutoring.com/blog-post.php?id=4332&title=10+Helpful+ACT+Math+Calculator+Programs+for+the+TI+Graphing+Series+of+Calculators\nAll credit goes to them.\nThis program is pretty self explanatory. It simplifies radicals.\n\nMean, Median:\nEnter in a list of the form {element1, element2, …, elementN}.\nThe program will display the mean and the median of the list.\n\nSequence:\nFirst enter in the first term of the sequence. Then enter in the change number and 0 or 1 respectively depending on\nwhether each consecutive term of the sequence should have the change number added to it or multiplied by it. Then enter\nin the number of terms of this sequence you want to calculate. The resulting sequence will be displayed and stored in L1.\nThe last term of the sequence is also displayed. Example: Input: 1ST TERM:2, COMMON D:5, N TERMS:4, CHOICE?1\nOutput: {2 10 50 250}, 250\nThis is helpful on math problems that deal with arithmetic and geometric sequences.\n\nPythagorean Solver:\nEnter the variable in the pythagorean theorem you want to solve for. Then enter the values of the other two variables. The\nvalue of the variable you chose to solve for will be displayed. Example:\nInput: SOLVE FOR:C,A=7,B=24\nOutput: C=25\nThis is helpful in geometry and trigonometry classes.\n\nDistance, Midpoint, Slope:\nThis will ask you for two points, (X1, Y1) and (X2,Y2), and then display the distance between the points, the midpoint of the\npoints, and the slope of the connecting line between the points.\n\nFormulas:\nDisplays random formulas I've needed to 'remember'. When you see \"MORE…\", press [ENTER] to continue."

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '1'

misc: '0'

compatibility: bb

download: 'archivefile:math/MATH.8xp'

image: 'archiveimage:mathprogramgif/MathProgramGIF.gif'

fileSize: '1880'

fileSizeUnit: '1'

dateMade: '1625976000'

May |
04 — |
TI has announced the release of the TI-84+ CE Python in North America. The release is expected for Fall 2021. |

author: FoxxTrott

version: '0.1'

summary: 'Minecraft clone for TI calculators!'

description: " The controls are as follows:\n- Up arrow: Move Steve up\n- Down arrow: Move Steve down\n- Left arrow: Move Steve left\n- Right arrow: Move Steve right\n- MODE: Break/place block above you\n- ALPHA: Break/place block to the left of you\n- STAT: Break/place block to the right of you\n- APPS: Break/place block below you\n- X,T,θ,n: Toggle break/place\n"

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:mcbeta/MCBETA.zip'

image: 'archiveimage:shot/SHOT.png'

fileSize: '948'

fileSizeUnit: '1'

dateMade: '1617426000'

author: 'Oxiti8, Scott Westenhaver, Chris Tandiono'

version: 2.1.4

summary: 'An action packed X-Wing flight sim where you shoot down endless waves of enemy TIE Fighters to achieve a high score.'

description: "X-Wing 2.1.4 Revival is an unofficial update to Chris Tandiono's 2004 83+ port of Scott Westenhaver's X-Wing 2.0, a 3D flight simulator where you shoot down TIE Fighters. 2.1.4 Revival fixes the issues of the original port by removing memory leaks, making the game set itself up at launch rather than relying on a separate program, reducing \"flicker\", and much more. On top of that, 2.1.4 adds 3 new endings as well as a new difficulty level, JEDI, to the game, 3 custom ships, and shell compatibility with a custom DCS icon. To top it all off, X-Wing 2.1.4 is 170 bytes smaller than the original X-Wing 2.0 port!\nIt's the ultimate way to play X-Wing 2!"

arcade: '1'

graphics: '1'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '0'

compatibility: bb

download: 'archivefile:xwing2-1-4/xwing2-1-4.zip'

image: null

fileSize: '4879'

fileSizeUnit: '1'

dateMade: '1616817600'

author: 'DJ Omnimaga Music'

version: 4.5.2

summary: 'The first color RPG released for the TI-84 Plus CE family of calculators'

description: 'First Fantasy is one of the first RPG ever released for the TI-84 Plus C Silver Edition and the first ever one for the TI-84 Plus CE and TI-83 Premium CE! The CSE version uses Doors CSE 8.1 libraries to enhance TI-BASIC language, while the CE version uses CE Textlib and a custom font. This very loose remake of Mana Force for the 83+ brings enhanced graphics, new magic spells and enemies, new cutscenes, expanded storyline and many new challenges. There are 16 magic spells available, 7 character classes, 49 monsters (77 in the CE version) and several hours of gameplay. The CE version also features bonus dungeons and treasure chests. If you are a fan of Square-Enix Japanese role-playing games such as Final Fantasy, then you should try it!'

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '1'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '0'

compatibility: ff

download: 'archivefile:firstfantasy/firstfantasy.zip'

image: 'archiveimage:ezgif-3-a4f03e3ceb4c/ezgif-3-a4f03e3ceb4c.gif'

fileSize: '50'

fileSizeUnit: '2'

dateMade: '1022731200'

author: '*Bio_Hazard1282_rPi3* does not match any existing user name, Xeda Elnara'

version: '1.02'

summary: 'This is a new font editor based on an old program by Zeda.'

description: "This is a new font editor based on an old program by Zeda.\nPlease read the ‘Read Me.pdf` for more details.\n\nRecommended OSs 2.43 and below.\n\nI can’t upload the demo, so it will be below instead."

arcade: '0'

graphics: '1'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '1'

misc: '0'

compatibility: bb

download: 'archivefile:omnicalc-font-editor-tar/Omnicalc_Font_Editor-tar.gz'

image: null

fileSize: '2'

fileSizeUnit: '3'

dateMade: '1608534000'

returns a list formatted as {hours, minutes, seconds}

getTime()

getTime()

**Menu Location**

In catalog under G for supported devices and operating systems.

This command works on all calculators.

~8 byte(s)

Returns the current system time as a list of hour, minute, second values. This function was introduced in AMS 2.07 as per tigcc.

```
getTime()
{4 26 30}
```

# Advanced Uses

Can be used to determine the length of program execution.

# Optimization

# Error Conditions

# Related Commands

# References

estack tag reference listing getTime tags as requiring AMS 2.07

returns a new matrix filled with 0s given the dimensions provided

newMat(rows,cols)

newMat(rows,cols)

**Menu Location**

- Press 2nd MATH to enter the MATH popup
- Press 4 to enter the Matrix submenu
- Press F ( Alpha

This command works on all calculators.

~8 byte(s)

When integers are used as arguments, newMat() returns an empty matrix of the specified dimensions filled with zeros. When any type other than integers are used as as arguments, newMat returns a Data Type error.

```
newMat(3,2)
[[0,0][0,0][0,0]]
```

# Advanced Uses

Can be used to pre-allocate matrices for programs.

# Optimization

# Error Conditions

**210 - Data type** happens when the data type specified as a dimension is invalid. See above..

# Related Commands

author: C28

version: 1.4.2

summary: 'my first self-made game'

description: "in the game \"Stonks\", you buy and sell \"stonks\" to make G's (the in-game currency.) you start out with 1000 G, but don't lose it all!\n\nalso this is my first self-made game so please notify me of any problems, with a description of said problems."

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:archive/Archive.zip'

image: null

fileSize: '1588'

fileSizeUnit: '1'

dateMade: '1607317200'

author: CalcNerd

version: '1.0'

summary: 'This is just like the classic game of Minesweeper. I made this a while ago, and I had help optimizing it from people here at TIBD. It runs very well, and it is really fun to play. Use the arrow keys to move your cursor, DEL to place/Pick up a flag, nad clear to end/check to see if you have won the game. '

description: "[[code]]\nDelVar [A]{8,16→dim([A]\n[A]→[B]\nDelVar A\nRepeat A=10\n randInt(2,7→Y\n randInt(2,15→X\n If [A](Y,X)≠9:Then\n 9→[A](Y,X\n A+1→A\n End\nEnd\nClrHome\n1→X:10→J\nFor(I,1,12\n Output(4,3,sub(\"MINE*SWEEPER\",1,I\n X+(X≠5→X\n Output(5,6,sub(\"V 1.1\",1,X\nEnd\nRepeat K=105\n getKey→K\n min(8,max(7,Y+(K=34)-(K=25→Y\n Output(7,7,\"PLAY\n Output(8,7,\"EXIT\n If Y=8:Output(Y-1,6,\" \"\n If Y=7:Output(Y+1,6,\" \"\n Output(Y,6,\">\nEnd\nFor(I,1,38\n Output(randInt(1,8),randInt(1,16),\"*\nEnd\nClrHome\nIf Y=8:Return\n4→Y:8→X\nOutput(1,1,\" -MINE*SWEEPER- \"\nOutput(8,5,\"FLAGS:\nOutput(8,11,J\nFor(A,2,7\n Output(A,1,\"I\n Output(A,16,\"I\n For(B,2,15\n Output(A,B,\"x\n End\nEnd\nOutput(Y,X,\"+\nRepeat K=45 or K=1\n getKey→K\n If sum(K={24,25,26,34,45,105,23:Then\n If sum(K={24,25,26,34:Then\n Output(Y,X,\" \"\n Y→A:X→B\n max(2,min(15,X+(K=26)-(K=24→X\n max(2,min(7,Y+(K=34)-(K=25→Y\n Output(Y,X,\"+\n If [B](A,B)=2:Output(A,B,\"/\n If [B](A,B)=0:Output(A,B,\"x\n If [B](A,B)=1:Then\n DelVar E\n For(I,A-1,A+1\n For(H,B-1,B+1\n If [A](I,H)=9:E+1→E\n End\n End\n Output(A,B,E\n End\n End\n If (K=23)(([B](Y,X)=2)+Jnot([B](Y,X):Then\n J-1+2([B](Y,X)=2→J\n abs([B](Y,X)-2→[B](Y,X\n Output(8,11,\" \"\n Output(8,11,J\n End\n If (K=105)not([B](Y,X))not([A](Y,X:1→[B](Y,X\n If (K=105)[A](Y,X)=9:1→K\n End\nEnd\n0→F\nFor(A,2,7\n For(B,2,15\n If [A](A,B)=9 and [B](A,B)=2:F+1→F\n End\nEnd\nClrHome\nIf K=1:Disp \"YOU HIT A MINE!\nDisp \"YOU CLEARED\nIf F=10:Disp \"ALL\nDisp F,\"OF THE MINES\n[[/code]]"

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '1'

rpg: '0'

strategy: '1'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '0'

compatibility: bb

download: null

image: null

fileSize: '983'

fileSizeUnit: '1'

dateMade: ''

Returns true if the variable is defined

isVar(*varname*)

**Menu Location**

[CATALOG][I] + navigate down with arrows

This command works on all calculators.

X byte(s)

Returns true if the variable inputted has a value, false otherwise.

```
:isVar(x)
false
:5 -> x
:isVar(x)
true
```

Returns the denominator of a fraction or given expression

getDenom(*expression1*)

**Menu Location**

[MATH][9][B][2]

This command works on all calculators.

X byte(s)

The `getDenom()` command return the value of a given expression (an expression being a number or an algebraic expression).

```
getDenom(3/5)
5
getDenom((x+1)/(x-1))
x-1
```

# Related Commands

Takes the inverse cosine of a number (usually, an integer or fraction).

cos^{-1}(*angle*)

**Menu Location**

Press [2nd] COS button to enter cos^{-1}(.

This command works on all calculators.

1 byte

The `cos ^{-1}()` command returns the inverse cosine of an angle measure. Naturally, the result depends on the angle mode the calculator is in: radian, degree, or (in AMS version 3.10) gradian. You can also use one of the

^{r},

`°`,

^{G}marks to specify an angle mode.

For many common angles, `cos ^{-1}()` can compute an exact result. Other angles, the calculator will leave alone unless it's in approximate mode (or unless you make it approximate), and then it will give a decimal approximation. As long as the calculator is in radian mode,

`cos`can be used with complex numbers as well.

^{-1}()```
:cos⁻¹(1/2)
π/3
:cos⁻¹(-1/2)
2π/3
:cos(cos⁻¹(x))
x
```

If `cos ^{-1}()` is applied to a list, it will take the inverse cosine of every element in the list.

# Advanced Uses

The `cos ^{-1}()` of a matrix is not (in general) the same as taking the cosine of every element of the matrix. I hope that someone more qualified to talk about this updates this part of the page.

# Error Conditions

- Please update this part too

# Related Commands

Defines a set of lines as executable program code.

Func

*function code*

EndFunc

**Menu Location**

Press:

- Catalog ([2nd] + 2 on 92/+/v200) to access the catalog menu
- F to scroll to the F section
- Use arrows to navigate to Func

Or type Func using the keyboard

This command works on all calculators.

4 bytes

This command is used at the beginning/end of a function to tell the calculator to interpret it as code. Without these commands at the start and end of a function, the interpreter will pass a syntax error. Note that unlike Programs, functions cannot write to the screen, so there can be no IO commands or Draw commands. In addition, you cannot edit global variables in Functions, so you have to declare a variable as local using Local before initializing them. However, the reason you may want to use functions instead of programs is that unlike programs, you can return a value from a function. You can either use the Return command, or the function will return whatever the last value was before you quit the function.

```
:test()
:Func
://code to run goes here
:EndFunc
```

# Advanced Uses

Using the local and define commands, you can create local submethods in your programs. Assuming the following code is inside a program block already, the syntax would be:

```
:Local test
:Define test()=Func
://function code goes here
:EndFunc
```

# Related Commands

Defines a set of lines as executable program code.

Prgm

*program code*

EndPrgm

**Menu Location**

Press:

- Catalog ([2nd] + 2 on 92/+/v200) to access the catalog menu
- P to scroll to the P section
- Use arrows to navigate to Prgm

Or type Prgm using the keyboard

This command works on all calculators.

4 bytes

This command is used at the beginning/end of a program to tell the calculator to interpret it as code. Without these commands at the start and end of a program file, the interpreter will pass a syntax error.

```
:test()
:Prgm
://code to run goes here
:EndPrgm
```

# Advanced Uses

Using the local and define commands, you can create local submethods in your programs. This is more often used with functions, as you can return a value, however you can not display to the IO or draw to the graph screen in functions, so using programs in this way is sometimes useful. Assuming the following code is inside a program block already, the syntax would be:

```
:Local test
:Define test()=Prgm
://test program code goes here
:EndPrgm
```

# Related Commands

author: 'Eden Urias'

version: '1.0'

summary: 'Finds the distance between two points.'

description: "With this program you will input X1 Y1 and X2 Y2 and will automatically put into order all of the values and do the math for you to get a radical and then it will simplify that radical! You then have the option to quit the program or go to the simplify radicals program where you can just put in a radical and it will simplify it for you.\n\n\n`\n:ClrHome\n:Input \"X1=\",A\n:Input \"Y1=\",B\n:Input \"X2=\",C\n:Input \"Y2=\",D\n:(C-A)^2→X\n:(D-B)^2→Y\n:X+Y→O\n:Disp \" √( \",O\n: √(O→U\n:Disp \"SIMP=\",U\n:Lbl 3\n:ClrHome\n:Disp \"√(X)\"\n:iPart(√(X)+1)→A\n\n:Lbl 1\n:If fPart(X/A²)=0\n\n:Then\n:Goto 2\n:Else\n:(A-1)→A\n:Goto 1\n:Lbl 2\n:ClrHome\n:Disp \"ANSWER X√(N)\"\n\n:Disp \"X=\",A\n:Disp \"N\",X/A²\n:Pause \"CONTINUE?\n\n:ClrHome\n:Disp \"PRESS 1 FOR QUIT\n\n:Disp \"PRESS 2 FOR SIMPRAD\n\n:Input \"CHOOSE:\",Z\n\n:If Z=1\n:ClrHome\n:If Z=2\n:ClrHome\n:Lbl 3\n:ClrHome\n:Disp \"√(X)\"\n:Input \"X=\",X\n:iPart(√(X)+1)→A\n\n:Lbl 1\n:If fPart(X/A²)=0\n\n:Then\n:Goto 2\n:Else\n:(A-1)→A\n:Goto 1\n:Lbl 2\n:ClrHome\n:Disp \"ANSWER X√(N)\"\n:Disp \"X=\",A\n:Disp \"N=\",X/A²\n:Stop\n‘"

arcade: ’0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '1'

misc: '0'

compatibility: bb

download: null

image: null

fileSize: '277'

fileSizeUnit: '1'

dateMade: '1604991600'

author: william756

version: '1.01'

summary: 'A fan game based off of a really fun game called Arcadium.'

description: "It's pretty boring RN… I need to learn how to make an enemy AI, any help is greatly appreciated. And I hope you enjoy.\nMode: pause\nArrows: move\nShooting: I don't know how to do."

arcade: '1'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '1'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '1'

compatibility: bb

download: 'archivefile:arcadium/ARCADIUM.8xp'

image: null

fileSize: '413'

fileSizeUnit: '1'

dateMade: '1602910800'

author: Yousername

version: '0.1'

summary: 'A simple game made in TI-Basic where you are a monkey and have to collect bananas. Don''t collect X''s! Includes power-ups, upgrades, and more!'

description: "Banana Catch is a game in TI-Basic where you are a monkey and have to collect bananas, but not X's. The goal is to get as many points as you can before the timer (60 sec) gets to 0. Bananas give you 1 point and X's take away 1 point. If you don't collect a banana, you will lose 1 point. Along with bananas and X's, power-ups also fall from the sky. There are four power-ups: `✱`, which slows the falling objects down, `/`, which gets rid of X's, `+`, which adds time to the timer, and `2`, which doubles the effect of bananas and X's. The effect of power-ups depends on the upgrades you have, which can be bought in the shop using the points you earned.\n**Banana Catch is only playable on the TI-84+ and TI-84+SE. Other calculators will not run the game correctly.**\nTo play the game, extract the `.zip` file, send `Banana_Catch_v0.1.8xp` to your calculator, and run `prgmBANANAC`.\nProvide suggestions in the comments below."

arcade: '1'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '1'

compatibility: dd

download: 'archivefile:banana-catch-v0-1/Banana-Catch-v0-1.zip'

image: 'archiveimage:download-7/download-7.png'

fileSize: '988'

fileSizeUnit: '1'

dateMade: ''

Aug |
26 — |
A new version (5.6) for the TI-84 Plus CE is available. The newer OS discontinues assembly permanently, most games (non-Basic ones) will no longer work anymore. Think very carefully on upgrading! TI-Basic games will continue to function normally as they have before. |

author: william756

version: '1.02'

summary: 'No game over here'

description: "This is a game with multiple endings!\nSo far there is only a measly 2 endings…\nAnd they are hard to find…\n(Hints!)\nOne ending is in the menu…\nand one is a wall \"glitch\"…\nPlease report any bugs! :)\n- William"

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: null

image: null

fileSize: '4498'

fileSizeUnit: '1'

dateMade: '1595394000'

The imag() command returns the imaginary component of a complex number, opposed to real(), which returns the real component.

Returns the imaginary component of a complex number.

imag(*value*)

**Menu Location**

The command catalog.

This command works on all calculators.

1 byte

This command takes a single complex number as an input, and returns the second (imaginary) component.

(Please note that in this example, 𝑖 denotes the **imaginary unit**, *not* the letter i.)

```
:(1.2,3.4𝑖)→z
:imag(z)
3.4
:𝜋𝑖→c
:imag(c)
𝜋
```

# Advanced Uses

## Storing two numbers as one variable

```
:2→a
:7→b
:(a+b𝑖)→z
:real(z)
2
:imag(z)
7
```

# Error Conditions

# Related Commands

May |
22 — |
TI has announced that future OS updates for the TI-84+CE and TI-83 Premium CE will disallow custom ASM programs and OS downgrading to mitigate exam mode security issues. |

author: '*Bio_Hazard1282_rPi3* does not match any existing user name'

version: '1'

summary: 'A demo for the future release of Snake Arcade Gen IV.'

description: "A demo for the future release of Snake Arcade Gen IV.\n\nNote that the files are in the Files button on the BOTTOM of the page. The cruddy Ajax is failing, just like always. All **required** files are included, along with past versions of this program."

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: null

image: null

fileSize: '100'

fileSizeUnit: '2'

dateMade: '1589608800'

author: doodledill21

version: '1.0'

summary: 'this is the classic iPhone game flow now available for the ti-nspire cx and cas family of calculators original credit goes to Andrew Krapivin and jonbush from cemetech. the object of flow is to connect the like colored dots together and fill all of the squares in the grid. there are 50 levels each for 5×5,8x8,10x10,12x1214x14 grids as well as 50 in the variety pack. hope you have fun!'

description: 'for the controls, you move the rectangle with the arrow keys and click on a circle to select it''s color. Then you maneuver it to the other color circle. The object of the game flow is to fill the grid and connect all the circles with its matching color. When you win the grid you can press enter to advance to the next level. Hope that made sense for everyone:)'

arcade: '1'

graphics: '0'

platform: '0'

puzzle: '1'

rpg: '0'

strategy: '1'

sports: '0'

casino: '0'

board: '1'

utility: '0'

misc: '1'

compatibility: kk

download: null

image: null

fileSize: '0'

fileSizeUnit: '1'

dateMade: ''

Gives the exact value of an expression.

exact(*expression*)

**Menu Location**

- Press [2nd] [MATH] to enter the math menu.
- Press 1 to open the Number submenu, or use arrows
- Press [ENTER] to past exact(

Alternativly, for ti-92/+/v200, type "exact(" using the keyboard.

This command works on all calculators.

6 bytes

The `exact()` command forces an expression to be evaluated in exact mode, temporarily ignoring the mode setting.

```
:exact(15.376)
1922/125
```

When applied to a complicated expression, matrix, or list, it forces every number that occurs there to be in exact form.

# Related Commands

Calculates cumulative sums of a list or of the columns of a matrix.

cumSum(*list or matrix*)

Press:

- 2nd [MATH] to access the math menu.
- 3 to access the list submenu, or use arrows.
- 7 to select cumSum(), or use arrows.

Alternatively, type cumSum( with the keyboard.

TI-89/92/+/v200

7 bytes

`cumSum(` calculates the cumulative sums of a list, or of the columns of a matrix, and outputs them in a new list or matrix variable.

For a list, this means that the Nth element of the result is the sum of the first N elements of the list, and the N-1th element of the result is the sum of the first N-1 elements, and so on:

```
cumSum({1,3,5,7,9})
{1 4 9 16 25}
```

For a matrix, `cumSum(` is applied to each column in the same way as it would be for a list (but numbers in different columns are never added):

```
cumSum([[0,1,1][0,1,3][0,1,5][0,1,7]])
[[0 1 1]
[0 2 4]
[0 3 9]
[0 4 16]]
```

# Advanced Uses

For a matrix, if you want to sum up the rows instead of the columns, use the ` ^{T}` (

`transpose`) command.

```
(cumSum([[0,1,1][0,1,3][0,1,5][0,1,7]]ᵀ))ᵀ
[[0 1 2]
[0 1 4]
[0 1 6]
[0 1 8]]
```

# Related Commands

(^{T}`transpose`)

Returns the fractional part of a value.

fPart(*value*)

Press:

- [2nd] + [MATH] to access the math menu.
- [RIGHT] to access the Number submenu.
- 5 to select fPart(, or use arrows.

Alternativly, type "fPart(" with the keyboard

TI-89/92/+/V200

6 bytes

fPart(*value*) returns the fractional part of *value*. Also works on complex numbers/expressions, lists and matrices.

```
fPart(5.32)
.32
fPart([[‾1.5,3.2][6.8,‾7.9]])
[‾.5,.2]
[.8,‾.9]
fPart({‾1.5,3.2,6.8,‾7.9})
{‾.5,.2,.8,‾.9}
fPart(3.26+4.3i)
.26+.3i
```

# Advanced Uses

To check if a number x is a whole number, you can simply check if the fPart(x)=0:

```
:If fPart(x)=0 Then
:©X is an integer
:Else
:©X is not an integer
:End
```

# Related Commands

The E symbol is used for entering numbers in scientific notation.

*mantissa* E *exponent*

**Menu Location**

Press [2nd][EE] to paste the E command.

This command works on all calculators.

1 byte

The `E` symbol is used for entering numbers in scientific notation: it's short for *10^. Like TI-83 Basic, the exponent of `E` must be a constant integer, however unlike TiBz80 the range of values is not finite.

The `E` symbol is used in display by the calculator for approximations of very small numbers, or when in `Sci` (scientific) or `Eng` (engineering) mode. Interestingly, the calculator will opt to display large numbers without approximation, but it will only solve for a maximum of 12 decimal places before rounding or using `E`.

Unlike the exponent of `E`, the mantissa (a special term for the A in A*10^B, in scientific notation) isn't limited to constants alone: it can be a real or complex variable or expression, a list, a matrix, or even omitted entirely (and then it will be assumed to equal 1). The reason for this versatility is simple: internally, only the exponent is taken to be an actual argument for this command. The rest of the calculation is done through implied multiplication.

5E3

………………5000

E‾5

……………….00001

# Optimization

Don't add the mantissa when it's 1:

1E5

could be

E5

In addition, `E`2 or `E`3 can be used as shorthand ways of writing 100 and 1000 respectively. This could be continued, in theory, for higher powers of 10, but those aren't necessary as often.

# Related Commands

author: anonymousfungi

version: 1.0.0

summary: 'to be keyed in by hand only'

description: "lbl Z\nClrhome \nClrdraw\nmenu(\"CHOOSE MODE\",\"TWO PEOPLE\",1,\"AGAINST CALC\",2)\nlbl 1\ngoto 3\nlbl 2\ndisp \"UNDER\"\ndisp \"CONSTRUCTION\"\npause\ngoto Z\nlbl 3\nmenu(\"P1: READY\",\"ROCK\",4,\"PAPER\",5,\"SCISSORS\",6\nlbl 4\ndisp \"P1: ROCK\n1→C\ngoto 7\nlbl5\ndisp \"P1: PAPER\n2→C\ngoto 7\nlbl 6\ndisp: \"P1: SCISSORS\n3→C\ngoto 7\nlbl 7\nmenu(\"P2: READY!\",\"ROCK\",8,\"PAPER\",9,\"SCISSORS\",a)\nlbl 8\ndisp \"P2: ROCK\"\n1→D\ngoto B\nlbl 9\ndisp \"P2: PAPER\"\n2→D\ngoto B\nlbl A\ndisp \"P2: SCISSORS\"\ngoto B\nlbl B\nif C>D\ndisp \"P1 WIN!\"\nif C<D\ndisp \"P2 WIN!\"\nif C=D\ndisp \"TIE! BOTH LOSE!\"\nstop\nCOPYRIGHT CHARLES RATHMANN 2020"

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:ti-83-basic-developer-project/ti-83-basic-developer-project.docx'

image: null

fileSize: '371'

fileSizeUnit: '2'

dateMade: '1582178400'

author: shmuelbaum

version: '1.0'

summary: 'you have to get to the star you move with the arrow keys but the calculator also moves you.'

description: ''

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:catch-up/catch-up.zip'

image: null

fileSize: '2'

fileSizeUnit: '1'

dateMade: '1584936000'

author: shmuelbaum

version: '1.0'

summary: 'avalanch-you must "catch" all the pluses and miss the minuses'

description: '""""""'

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:avalanch/avalanch.zip'

image: null

fileSize: '1'

fileSizeUnit: '2'

dateMade: '1584936000'

author: '*Bio_Hazard1282_rPi3* does not match any existing user name'

version: '1.03'

summary: 'An advanced version of File Manager.'

description: "xFiles is a program that is built on top of File Manager. This program is intended to replace the past generations of this program. xFiles contains more features that aren't included in past versions. Read the `Read Me.txt` file in `xFiles/Text Documents`.\n\n+ Note\nPlease let me know if there are errors or bugs. Please fill out the form below if you experience problems in the program. The data collected helps me improve this program! Thank you.\n\nhttps://forms.gle/jnzSX2r6LehEsaGJA##\nThe form has been updated and Fixed!\n\norange|Updated: 04.07.20 @ 12:02PM##\n\n+ GitHub commits\nCommitting to this file on GitHub can available for anyone. Just visit here to commit to xFiles!\n\n+ Bugs\nBelow are known bugs/glitches in the current version of xFiles:\n\n* **When you try to update xFiles within the program if the Update program is missing, it should return you to the main menu but doesn't. Instead, it continues with the update process as if the program were existing. But the program will exit with an UNDEFINED error.** How to fix: **Add the \".P:NT:FN after the getKey:Repeat max{getkey={21:05:End line in the If conditional.**\n\nIf there are more bugs, please leave them in the Error Form above."

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:xfiles/xFiles.zip'

image: null

fileSize: '5'

fileSizeUnit: '3'

dateMade: '1586239200'

author: 'Rubius Studios'

version: '2.1'

summary: ''

description: ''

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '0'

compatibility: ff

download: null

image: null

fileSize: '1'

fileSizeUnit: '2'

dateMade: '1581829200'

author: shmuelbaum

version: '1.0'

summary: 'flappy bird'

description: 'it''s a little slow'

arcade: '1'

graphics: '1'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '0'

compatibility: bb

download: null

image: null

fileSize: '1'

fileSizeUnit: '2'

dateMade: '1581829200'

author: 'Rubius Studios'

version: '2.1'

summary: 'It''s a simple avatar editor.'

description: 'This is a tiny little program I made awhile ago when I was new to TI-Basic. I think it might work on 84+ and below but I''m not sure and I don''t feel like checking. It comes with a "Recieve Face" which lets you get a face from a connected calculator that has a face on it already.'

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '1'

compatibility: ff

download: null

image: null

fileSize: '1'

fileSizeUnit: '2'

dateMade: '1581829200'

reason: 'This user is abusive to me. As I am slightly autistic, I am offended by Gatorade''s post. I am also reporting him for falsy accusing me of plagiarizing content that doesn''t exist. I searched on ticalc.org (where he referenced) for any files related to mine, but none found '

proof: "https://ibb.co/qrNRzGT\nComments on:\nhttp://tibasicdev.wikidot.com/projects:battle-subs\n\nEDIT: More hurtful posts were made, see them below. :("

This page isn't here anymore. Perhaps you meant to click this?

author: '*Bio_Hazard1282_rPi3* does not match any existing user name'

version: ''

summary: ''

description: "Battle Subs! is a game where you try to sink the\ncomputer submarine.\n\nFor more information about this program, visit:\nhttp://tibasicdev.wikidot.com/projects:battle-subs"

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:battle-subs/Battle-Subs.zip'

image: 'archiveimage:demo/Demo.gif'

fileSize: '948'

fileSizeUnit: '2'

dateMade: '1581318000'

Updated source code. Changed some mechanics in torpedo collisions. Added seaweed on the bottom. Currently **925** bytes

Battle your way to victory by sinking the computer submarine!

The current game is **949** bytes in size, excluding the name.

The 1k version is pretty much complete. Try it out!

The source code:

Here are some of the bugs in the game:

- Gameplay is slow but fast enough to be playable
- Computer not smart enough
- Torpedos don't explode when they collide into each other

I have ideas on what the computer submarine should do:

- Dodge player torpedos quicker, either by going up or down
- Prevent both submarines going into each other, collision detection
- Prevent computer from going into mines
- Make the computer go to health blocks if they appear

Some ideas on updates for the game (Not for the 1k challenge):

- Plant mines around the map causing damage if any sub hits them (2x2 pixel blocks)
- Increase game speed
- Health blocks (Standard 1x1 pixels)
- Collision to prevent subs going into each other
- Quicker torpedo launches
- High scores
- Boss fights
- Increase submarine attack with XP and level system
- Timed fights
- Fire two torpedos at a time per player and computer

author: shmuelbaum

version: '1.0'

summary: 'change and turn on and off password'

description: 'if you have my password program with the password editor you can change and turn on and off password!'

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: null

image: null

fileSize: '4'

fileSizeUnit: '2'

dateMade: '1580706000'

author: shmuelbaum

version: '1.0'

summary: 'it asks for a password. you cant exit unless you put in the correct password.'

description: ''

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '1'

misc: '0'

compatibility: bb

download: 'archivefile:newzip/NewZip.zip'

image: null

fileSize: '6'

fileSizeUnit: '2'

dateMade: '1580619600'

put in your password

if it is wrong it asks for password again.also a password editor/turn on and off password.

author: '*Bio_Hazard1282_rPi3* does not match any existing user name'

version: '0.94'

summary: 'Read more for the game description.'

description: "A turn-based game where two players fight and hope to defeat the other player.\nThe objective is to last in battle longer than your opponent.\n\nFun for monochrome and color calculators! The demo came out kind of funny, will re-upload it later.\n\n**The archive refuses to let me upload, even on Windows or macOS. Please click the Files button below and download the file there. Won't work above.**"

arcade: '1'

graphics: '1'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '1'

compatibility: dd

download: null

image: 'archiveimage:demo-83-se/Demo-83-SE.gif'

fileSize: '518'

fileSizeUnit: '2'

dateMade: '1580281200'

Given an angle or list of angles θ, returns their sines. For matrix inputs, see [[[[nspire:scalar-on-mat

{$syntax}

{$location}

{$compatibility}

|syntax=sin(number) sin(list) sin(matrix)

|location=trig key on calculator

|compatibility=Confirmed on Nspire II CX CAS, presumed the same on all other Nspire models

]]

`sin(θ)` returns the Sine of θ

Unlike its TI-83/84 counterpart which can only be a real number, or a list thereof, the nSpire version can also be used on complex numbers, as well as a list/matrix of complex numbers.

`sin(` is affected by the document angle setting

On CAS calculators^{(CAS only or non-CAS as well?)}, `sin(θ)` can result in exact representations if θ is a value such as $\pi/3$

#### In radians

#### In degrees

#### In gradians

# Related Commands

…that the Wait command allows decimals? You can do .5 seconds for a half a second!

author: doodledill21

version: '1.0'

summary: 'this is a ti 83 version of the classic math game fizz buzz in which you count up from one and replace numbers with 3 or that are divisable by 3 with buzz and numbers that are divisible by 7 or have 7 with fizz'

description: 'First enter the numbers for which you want to Fizz and Buzz. Three and seven are the numbers that are traditionally used. After that start counting as shown. Instead of typing ''FIZZ'' or ''BUZZ'', use the letters ''F'' and ''B''. For Buzz=3 and Fizz=7 the beginning sequence would be: 1 2 B 4 5 B F 8 B 10 11 B B F B 16 F B 19 20 FB 22 B B 25 26 FB F 29 B B B B B …. Then try it with other numbers for fizz and buzz. If you just want to try buzzing enter 0 for fizz or the other way around.'

arcade: '1'

graphics: '0'

platform: '0'

puzzle: '1'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '1'

misc: '1'

compatibility: bb

download: 'archivefile:fizzbuzz/FIZZBUZZ.8xp'

image: null

fileSize: '464'

fileSizeUnit: '1'

dateMade: '1572588000'

author: '*Bio_Hazard1282_rPi3* does not match any existing user name'

version: '5.3.1.0058 and higher'

summary: 'The Asm84CEPrgm command for OS 5.3.1.0058 and higher.'

description: "The Asm84CEPrgm command for OS 5.3.1.0058 and higher. TI restricted use on on-calculator made assembly programs on the TI-84+CE. But there is a workaround for this problem.\n\n++ How to run assembly programs\nSend this program to your calculator.\nType in the hex code in a blank program, with the assembly command already recalled. Use the AsmComp( command to compress your code into another program. Run the compressed code in the second program with the Asm( command or run it normally like a BASIC program. Running any uncompressed assembly programs will not work."

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '1'

compatibility: ff

download: 'archivefile:asmprmce/ASMPRMCE.8xp'

image: null

fileSize: '1'

fileSizeUnit: '2'

dateMade: '1571983200'

author: william756

version: 83/84/etc.

summary: 'just a screen saver of a ball bouncing from left to right over & over until you press the on button to break it.'

description: 'look at summary'

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:ball/BALL.8xp'

image: null

fileSize: '405'

fileSizeUnit: '1'

dateMade: '1571374800'

Hi this is my first time doing a project, I'm trying to program a game called "darklands" but there's still a lot I don't know about programming and I could use allot of help, any one who contributes in helping will get a spot in the credits. Just for some info on the main idea is that it's a futuristic rpg on you waking up out of a capsule, just to learn you were chosen by prophets 200 years ago to battle the dark forces of _ * I still haven't got a name for him*, so that's all I have to say for now, I'm only available to post on; Thursday, Friday evening, and saturday. If you have questions feel free to ask.

Sep |
25 — |
A new forum category specifically for CE and CSE programming questions has been added to separate these threads from those for the monochrome models |

Clears table values

This command takes no arguments

**Menu Location**

This command can be found under F1 (Tools) and then selecting 8:Clear Table

This command works on all calculators.

X byte(s)

Clears all table values, applies only to ASK setting on the Table Setup dialog box.

`:ClrTable Done`

# Related Commands

Several (around 3) commands have a similar function or are used in a similar context to this command. Make a bulleted list of them, with links to the other commands' pages. It will often be the case that several commands all link to each other.

- Command 1
- Command 2
- Command 3

# See Also

(this section is usually not present)

If a command can be used in a particular design concept or technique, you should mention it and provide a link to its respective page. This section should come at the end of the page, and be a bulleted list that contains all of the design or technique related links mentioned throughout the page.

- Design Concept 1
- Design Concept 2
- Technique 1

Clears the graph screen

This command does not take any arguments

**Menu Location**

This command can be found in the Draw menu on the Graph Screen or from the CATALOG.

This command works on all calculators.

X byte(s)

Clears any functions or expressions that were created using the Graph command or the Table command. Any previously selected Y= functions will be graphed the next time the graph is displayed.

`:ClrGraph Done`

# Related Commands

# See Also

Graphing Section

You just completed a project on your calculator you've been working on for quite a while. And you're wondering, "How can I back up my programs in case they get deleted?" This tutorial will teach you how to backup certain programs on your calculator or PC. Backing up is extremely important for keeping projects alive, and to not shoot yourself in the foot when you lose them all. Backing up on your calculator is one of the steps for backing up should you don't have a PC lying around. For starters,

let's talk about what specifically what types of files you can back up. You can back up anything; programs, lists, app vars, matrices, strings, all that stuff. But there's a price to pay when backing up. You must back up **2** or more files in your backup, else, it wont work. Another thing is you must have memory available. Backing up files **must** be in RAM, because the OS doesn't mess with files in archive. So without further ado, let's back up your projects!

## Preparation

Ensure your files are in **RAM**, if they're in archive, un-archive them. Ensure you have archive space left, because back-ups are written to archive. On the calculator and across the Internet, back-ups are called groups. Groups are like "zip folders" containing files that were in RAM, and now in archive. These groups cannot be un-archived, so don't try to un-archive them.

## Backing Up

To group your programs, press [2ND], [+], [⬆], then [ENTER]. Type in the name of the group of your back up. Press [ENTER] when you're finished. A menu will be shown indicating what files you can back up. If you are backing up many types of files (i.e., programs, pics, strings), it's best to select **All-**. All+ selects ALL files in RAM, so you want to do the second option to select specific files. Use the arrow keys to move the cursor up and down to scroll through all the files, and hit [ENTER]

to select the file you want. A little black square will indicate that file will be backed up. When you have selected all the files you want, hit [➡] and select the option "Done". Your calculator should say or so **"Copying variables to group: group name**", then after it will show "Done" when the back up is complete. You're done!

## Warnings

Yes, there are some warnings that you need to know. When you backed-up your projects and there are some things you need to add/change, you **do not** need to constantly group your projects when you make small changes. Only do it once you make big changes. Doing so can slow the calculator down, and can sometimes do a back-up fail. Back-up fails is when the group fails to write to archive. Meaning, your calculator can simply shut off for no reason or just freeze at the "Grouping" screen. If it freezes, you are forced to remove a battery to escape this. **RAM will be cleared the next time you turn your calculator on.** Not although you lose your groups, you lose your projects as well. Why? Because they were in RAM when you attempted the back-up, and when it crashed, they remained in RAM when you removed the battery. So now, your projects are permanently gone.

## Keeping those projects alive

To keep your stuff from being deleted, make **two** groups when you back up for the first time. Then, when you make big changes, you delete the **first** group, then back up your projects. After a while, when you make even more changes, delete and back up to the **second** group. Keep doing this back and forth until you are 100% done with your projects.

But… what if those groups get deleted? Then you have nothing to spare! So what do you do now when you have the groups in archive and don't want them both gone? Back them up to your PC.

## Backing up to your computer

Back-ups on your PC are harder to lose compared to your calculator. Files from your calculator are stored to your computer's hard drive, so they're not lost when your PC crashes. Cool, huh? So what do you do to back up files to your PC? It's not that simple as you may think it is. You need a special software for your computer to communicate with your calculator. Connecting your calculator won't just show up in Connected Devices. Depending on your calculator model, you may need either software:

*If you have a TI-84 Plus/SE/CSE/CE/T*

*If you have a TI-84 Plus/SE/CSE/CE/T*

Download TI-Connect CE. This software is made for the 84+ family, and has a easy-to-use user interface. Requires Admin privileges to install.

*If you have a TI-83/+/SE, 89/Titanium, 85, 86, Voyage 200, etc.*

*If you have a TI-83/+/SE, 89/Titanium, 85, 86, Voyage 200, etc.*

Download TI-Connect. This software is made for any calculator, including the 84+ family. This software can get slow and annoying, but it's old. Expect it to be slow. Requires Admin privileges to install.

Now you have the software. But aren't you forgetting something? Oh yeah! A linking cable. This is another important necessity for backing up to your PC. Most TI models don't have Bluetooth or Wifi on it (Except the newer N-Spire calculators)! There are many different cables made specifically for your model/family. Links to purchase these will be added later, so stay tuned. Connect your calculator to your PC.

## Backing up to your PC

Now make sure your calculator is on and has a good battery charge. Now find the software on your computer and open it. Find the option to send/upload files to your PC.

**More detailed explanation will be explained later.**

## Wrapping Up

Now that you know how so send files to your PC and back up on your calculator, you can now not worry about losing anything!

*Changes will be made on-the-go, expect more content on this page.*

# Uploading Help

Ever have any trouble with uploading content to the archives? Don't worry, this page will help solve that problem. Many people have trouble with uploading files to the archives, due to the dreaded AJAX error. So don't get upset if it doesn't work, there's nothing to get upset about. So follow these steps and tips and you'll be good to go.

I bet you want to upload your stuff ASAP, right? Don't you just cram as much info with the file and screenshot and hit submit? Well, hold on a second. That's not the way to go. You risk an AJAX error. For those of you who do not know what that is, let me put it this way. Once you get it, you can't really do anything after that error. You'll have to discard changes you've made to your archive page.

When you want to prevent the risk of that error, here are some things you can't put in your archive (yet):

- The download file
- The screenshot

Here are some additional rules you need to know about your archive. Doing any of these will probably throw an AJAX error:

- Keep the short summary less than
**400**characters. - Don't include any decimals in the file size. i.e., 4.2, 108.9, etc
- Don't spend too long editing the initial archive page.

If you kept the file and screenshot out of the way, good. Save your archive with only the information. No summaries or descriptions. Here are some tips you should do in case something happens:

- Keep your description and summary in a text document (Notepad for Windows or Text Editor for MacOS).
- Keep your files in the Downloads folder for easy access, so you don't have to scrounge your PC for the files and screenshots you need.

Make backups of your files unless they get deleted on accident. Deleted files on removable mediums will be deleted permanently, so be careful!

So now that you have your text document open and ready to copy and paste, and your files in the Downloads folder for easy access, you're ready to upload your archive! Edit your archive page, and copy and paste your summary and description. Add your file and screenshot. It is highly recommended that your uploaded file is a **.zip archive**. Make sure your screenshot isn't too big, or some of it will be cut off. The screenshots are intended to be captured by calculator screens. Now hit upload. If it said "Page Saved!", your good! Your archive was saved and your page is now viewable to other members of the site!

author: 'Texas Instruments Incorporated, Uploader: *Bio_Hazard1282_rPi3* does not match any existing user name'

version: 5.4.0.0034

summary: 'Get the latest features for your TI-84 Plus CE graphing calculator by updating to the newest version using the new bundle file – includes apps!'

description: "The version 5.4 upgrade is available for:\n\n* TI-84 CE graphing calculator\n* TI-84 CE apps\n\nUsing version 5.4 enhances the usability of your graphing calculator and ensures you have access to the latest features and functionality, including:\n\n* Graphing piecewise functions in a familiar form\n* TI-Basic editor improvements including cut/copy/paste and syntax improvements\n* OS/APPS/Images Bundle file — one file to update everything\n* Preset TI-SmartView™ CE emulator with different settings for your algebra, geometry and calculus classes\n* Rover Support\n\n**Copied from https://education.ti.com/en/product-resources/whats-new-84-ce**\n© Copyright 1995-2019 Texas Instruments Incorporated. All rights reserved.\n--\n+++ Disclaimer\nThe TI-84 Plus CE OS® is made by Texas Instruments® and protected by Copyright. Do not distribute the OS without written consent, share any of it's contents to other users, claim it as your own, or produce fraud versions of this operating system to the Internet. By downloading this OS you agree to TI's Terms and Conditions. You also agree that you are not a bot.\n\n--\nA new version (5.6) for the TI-84 Plus CE is available. The newer OS discontinues assembly permanently, most games (assembly ones) will no longer work anymore. Think very** carefully on upgrading! Basic games will continue to function as normal.** \n\n5.6 will never be added because nobody cares about it."

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '1'

compatibility: ff

download: 'archivefile:ti-84-plus-ce-5-4/TI-84-Plus-CE-5-4.zip'

image: null

fileSize: '4'

fileSizeUnit: '3'

dateMade: '1564034400'

author: '*Bio_Hazard1282_rPi3* does not match any existing user name'

version: '3.6'

summary: 'Token Finder+ is a unique tool for accessing inaccessible tokens on your graphing calculator.'

description: "Token Finder+ is a special tool for accessing inaccessible tokens on your graphing calculator\nthat you couldn't do in pure TI-BASIC. Meaning, you can get any token or ASCII character\nyou ever dreamed of on your calculator. It also contains a Spanish version of the program and Read Me!\n\n+++ Version 3.6 \n\n3.6 includes further optimizations, memory decrease, and a better validation process at the beginning of the program. The validation process checks to see if all the hex values in the `TokenHex` application variable are usable. Must be 4 characters long, 0-9 & A-F. If the validation fails, the application variable will be deleted. Faster separate deletions will be added too, and some minor bug fixes in the code.\n\n+++ Version 3.7 coming later\n\n* Added a copy of the hex code alongside with the downloaded characters/tokens.\n* Manage the download (preview, edit, delete lines, the entire file)\n* Prevent user from downloading/saving bad tokens (i.e. #EF4C)\n* Quick Copy - When viewing hexes, you can quickly download a single one into the TOKENS program."

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:token-finder/Token-Finder.zip'

image: 'archiveimage:scrot2/scrot2.png'

fileSize: '26'

fileSizeUnit: '2'

dateMade: '1587362400'

author: '*Bio_Hazard1282_rPi3* does not match any existing user name'

version: 4.88.2

summary: 'File Manager is a Celtic 3 program that allows you to run and manage files. You can manage BASIC programs, Application variables, and groups. Please read more for more information.'

description: "File Manager is special program for managing programs. In this program, you can archive, hide, lock, and run programs like a lot of other utilities. But this utility specifically is special in some ways. Manager can download the contents of programs or app variables, view the files inside any group file, prevent unlocking protected z80 assembly programs, parse for different program types (Any program, MirageOS, z80 assembly, and Ion), and converting programs to app variables and back to programs. THIS IS AN UPDATED VERSION 4.87.5, so feel free to explore the new updates implemented in the program. To view what updates that were specifically installed, click the Files To Send/Ver 4.88.2/New Updates.txt. This program is still compatible with the TI-83+/SE, but NOT recommended with the original TI-83. Please leave me a review and rate my file to help improve this program in the future! This program works on older operating systems, but has a catch. On the 84+/SE, the OS MUST be upgraded from 2.20 or later, 0.46 WILL NOT work. On the 83+/SE, the OS MUST be upgraded from 1.13 or later, 1.10 WILL NOT work. New Gifs have been made.\n\n[[code]]\n _ _ _ _ \n| | | | | | | | \n| | | |_ __ | | __ _| |_ _ _ \n| | | | '_ \\ / _‘ |/ _` | __/ _ \\/ __|\n| || | |_) | (_| | (_| | || /\\ \\\n \\/| ./ \\,_|\\,_|\\\\_||_/\n | | \n |_| (Updates)\n\nNew updates for File Manager:\n\n Info\n\nVersion: 4.88.2\nSize: 6783 (301 bytes less from previous)\nLines of code: 632 (50 lines less from previous)\nCapability: TI-83+/84+/SE\nTotal Updates: Probably 5\n\n Implemented/Removed Functions\n A - Added\n R - Removed\n C - Changed\n\n* Changed the Loading programs screen.\n* Changed program to selection single program display instead of a list…\n\nBefore:\n\n[PROG 1]\n PROG 2\n PROG 3\n PROG 4\n\nNow:\n[ PROG 1 ]\n\n* Reverted download method back to line-by-line.\n* Changed \"Download\" option names to \"Copy\".\n\nWhen programs are downloaded, the code is stored into a program called\n\"DOWNLOAD\". This has been changed so the name has the first four letters of the\nfile name and has \"COPY\" added to the name.\n\nIf BasicOS was downloaded, the name would be changed to this:\n\n\"BASICOS\" -> \"BASICOPY\"\n\n* When returning to the program selection menu, the selection is restored where\nyou left off.\n\nNeat and convientent way for finding downloaded programs.\nPlease note that any app vars downloaded that does not have the chars A-Z and theta,\nthose characters will be used as the first four characters of the download file.\nThese downloads cannot be executed, as they will cause errors.\n\n\nIf you do not like the new features implemented in this program, you can always\nrevert to the older versions of FILE MANAGER.\n[[/code]]\nNew Miscellaneous files have been added!\n\n**Updated Wednesday; November 13 , 2019 at 10:12AM.**\n**This is the last and final update to File Manager, no more updates will be implemented. Contributions will no longer be accepted.**\n--\n+ **xFiles coming later!**\nxFiles is a new version of File Manager coming later this year. This version will include new features that weren’t implemented in File Manager:\n\n* Group Extraction - Extract to RAM or ROM\n* Program Line Editor - Edit single lines of code\n* Error Handler - Test program for errors\n* Auto sort - Pick Existing Programs, App Vars, and Groups. No more typing!\n* Simpler UI - Better UI that is smaller in memory\n* And more!\n\nStay tuned for these updates!"

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:filemanager/filemanager.zip'

image: 'archiveimage:manager/Manager.gif'

fileSize: '9'

fileSizeUnit: '3'

dateMade: '1573628400'

Clears the error status.

and clears the internal error context variables.

ClrErr

**Menu Location**

This command can only be found in the CATALOG

This command works on all calculators.

? byte(s)

Clears the error status. It sets errornum to zero and clears the internal error context variables. The Else clause of the Try…EndTry in the program should use ClrErr or PassErr. If the error is to be processed or ignored, use ClrErr. If what to do with the error is not known, use PassErr to send it to the next error handler. If there are no more pending Try…EndTry error handlers, the error dialog box will be displayed as normal.

# Related Commands

Several (around 3) commands have a similar function or are used in a similar context to this command. Make a bulleted list of them, with links to the other commands' pages. It will often be the case that several commands all link to each other.

- PassErr
- Command 2
- Command 3

factors the first argument for all its variables or for var.

cFactor(expression1[,var])

cFactor(list1[,var])

cFactor(matrix1[,var])

**Menu Location**

MATH/Algebra/Complex

This command works on all calculators.

X byte(s)

cFactor(expression1) returns expression1 factored with respect to all of its variables over a common denominator.

expression1 is factored as much as possible toward linear rational factors even if this introduces new non-real numbers. This alternative is appropriate if you want factorization with respect to more than one variable.

When a list or matrix is provided, cFactor() will iterate over the list or matrix.

```
:cFactor(a^3*x^2+a*x^2+a^3+a)
a*(a+⁻i)*(a+i)*(x+⁻i)*(x+i)
:cFactor(x^2+4/9)
(3*x + -2*i)*(3*x + 2*i)
:cFactor(x^2+3)
x²+3
:cFactor(x^2+a)
x²+a
```

# Related Commands

- Command 1
- Command 2
- Command 3

# See Also

- Design Concept 1
- Design Concept 2
- Technique 1

Creates data variable dataVar based on the information used to plot the current graph.

BldData [*dataVar*]

**Menu Location**

This command is only available from the CATALOG

This command works on all calculators.

? byte(s)

Creates data variable *dataVar* based on the information used to plot the current graph. If dataVar is omitted, the data is stored in the

system variable sysData.

the increment for the independent value (ex. x for function or θ for polar graphs) is calculated based off the window settings.

for 3D graphs, x remains constant until y increments through its range, this continues until x increments through its range.

When the Data/Matrix editor is started for the first time after BldData is run, *dataVar* or *sysData* will be the active variable.

# Related Commands

- Command 1
- Command 2
- Command 3

# See Also

- Design Concept 1
- Design Concept 2
- Technique 1

Returns the forward-difference quotient (average

rate of change).

avgRC(expression1, var [,h])

**Menu Location**

This command can only be found in the CATALOG

This command works on all calculators.

? byte(s)

AvgRC() returns an expression equal to the following formula:

(1)h is the step value, which defaults to 0.001.

```
:avgRC(f(x),x,h)
(f(x+h)-f(x))/h
:avgRC(sin(x),x,h)|x=2
sin(h+2)-sin(2)/h
:avgRC(x^2-x+2,x)
2.*(x-.4995)
:avgRC(x^2-x+2,x,.1)
2.*(x-.45)
:avgRC(x^2-x+2,x,3)
2*(x-1)
```

# Error Conditions

# Related Commands

- Command 1
- Command 2
- Command 3

# See Also

- Design Concept 1
- Design Concept 2
- Technique 1

returns a new list or matrix that is list2/matrix2 appended to list1/matrix1

augment(list1,list2)

augment(matrix1, matrix2)

augment(matrix1; matrix2)

**Menu Location**

- Press 2nd MATH to enter the MATH popup
- Press 4 to enter the Matrix submenu
- Press 7 to select augment(

This command works on all calculators.

? byte(s)

when lists are used as arguments, a list is returned that is list2 appended to list1. When matrices are used, if a comma is used to separate arguments, the matrices must have equal row dimensions and matrix2 is appended to matrix1 as new columns. If a semicolon is used, the matrices must have equal column dimension and matrix2 is appended to matrix1 as new rows.

```
augment({1,⁻3,2},{5,4})
{1,⁻3,2,5,4}
:[1,2:3,4]→M1
[1,2:3,4]
:[5,6]→M2
[5,6]
:augment(M1,M2)
[1,2,5:3,4,6]
:[5,6]→M2
[5,6]
:augment(M1;M2)
[1,2:3,4:5,6]
```

# Advanced Uses

Separate unrelated advanced uses with a horizontal bar.

# Optimization

# Error Conditions

**240 - Dimension mismatch** happens when either the rows or columns of the matrix do not align. See above..

# Related Commands

author: '*Bio_Hazard1282* does not match any existing user name'

version: '1.1'

summary: 'A very simple program to find out which product/brand deals is better to find. No need to do the math yourself!'

description: "A very simple program to find out which product/brand deals is better to find. No need to do the math yourself!\nSource Code:\n[[code]]\nClrHome\nFor(I,1,2\nDisp \"Product/Brand \"+sub(\"12\",I,1)+\"?\nInput \"Price: $\",P\nInput \"Amount: \",A\nP/A\nIf I=1:Ans→B\nIf I=2:Ans→C\nClrHome\nEnd\n\"1\nIf B<C:\"2\nDisp \"Deal \"+Ans+\" is\n\"a better buy.\n[[/code]]"

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:deal/DEAL.8xp'

image: null

fileSize: '172'

fileSizeUnit: '1'

dateMade: '1546930800'

Follow the same template as errors but use the info from the warning codes document.

This command returns the modulo of two numbers. This is defined as the remainder when *value1* is divided by *value2*. This command is identical to the remain command, which returns the remainder of the dividend.

```
mod(12,5) = 2
mod(8,2) = 0
mod(64, 15) = 4
```

# Error Conditions

Error conditions still need to be added to this command page

# Related Commands

Several (around 3) commands have a similar function or are used in a similar context to this command. Make a bulleted list of them, with links to the other commands' pages. It will often be the case that several commands all link to each other.

fPart(*value*) returns the fractional part of *value*. Also works on complex numbers, lists and matrices.

```
fPart(5.32)
.32
fPart(4/5)
.8
fPart(‾5.32)
‾.32
fPart(‾4/5)
‾.8
```

# Advanced Uses

fPart(, along with int( or iPart(, can be used for integer compression.

Also, fPart( is an easy way to find A mod B (the positive remainder when A is divided by B).

`:B(A<0)+iPart(BfPart(A/B))`

If A is guaranteed to be positive, the following shorter code can be used, omitting B(A<0):

`:iPart(BfPart(A/B))`

Finally, the easiest way to check if a number is a whole number is not(fPart(X:

```
:If not(fPart(X:Then
: // X is an integer
:Else
: // X is not an integer
:End
```

You can use this, for example, to check if a number is divisible by another: if X is divisible by N, then X/N is a whole number. This is useful when you want to find the factors of a number. Warning: when storing values with repeating decimals and later multiplying them to see if a number makes it an integer it can return a value of 1 or -1 instead of 0 even if it is an integer. Example: if you store 1/3 as X and then do fpart(3x) it will return 1 instead of 0. This is because fpart(.999…) results in .999… and then rounds to 1 when displaying rather than rounding to 1.0 and then displaying the fpart( as 0.

# Optimization

Often you want to find the value of a-1 mod b — this occurs, for example, in movement routines with wraparound. However, the problem is that if a=0, a-1 will be negative. Rather than use the longer version of the modulo routine, you might replace subtracting 1 with adding (b-1). This will have the same result, but without sign problems.

# Related Commands

# See Also

A short description of what the command does.

The generic syntax of calling the command, with arguments.

The `Ans` variable holds the last answer that was stored in the calculator. Because `Ans` is stored in a special storage area built-in to the calculator, and it is extensively used by the calculator, you cannot delete it. Ans is also useful; it can make your programs both smaller and faster:

- Unlike other variables which have a value type hard-coded in (i.e., a string can only hold text, and lists and matrices can only hold numbers),
`Ans`can take on whatever value you want: a real or complex, list, matrix, or string are all acceptable. - Along with the finance variables,
`Ans`is faster than the real, complex, list, matrix, and string variables; and subsequently, you should try to use it as much as possible.

One of the most common places to use `Ans` is in place of storing a value to a variable. Just paste the `Ans` variable to the location where the variable was called, and then when the expression is evaluated, the calculator will use the current value of `Ans`. Using the `Ans` variable allows you to eliminate the variable, which helps save a little or a lot of memory (depending on the type of variable and its size).

```
30+5A→B
Disp 25A,30+5A
;can be
30+5A
Disp 25A,Ans
```

The one major drawback to using `Ans` is that its current value is only temporary. Whenever you store a value to a variable or place an expression or string on a line by itself, `Ans` is updated to the new value. This restriction essentially limits your use of `Ans` to only a single variable. If you are manipulating two or more variables, it's best to just use the variables.

There are several cases in which changing the value of a variable does not modify `Ans`, thus preserving its current value for later use:

- storing to an equation variable
- using the
`DelVar`command to delete a variable (i.e., set its value to zero, if it's a real variable) - initializing or changing the value in a
`For(`loop.

These cases can be very useful, allowing you to use Ans to store an expression rather than create a temporary variable for it.

A list is a collection of elements (made up of numbers, variables, or expressions). Although lists can have up to 999 elements (the only exception is the TI-83, which can only have 99 elements), they are limited by the amount of free RAM. Besides the six built-in lists (from L_{1} to L_{6}), which can be accessed by pressing [2nd] and [1] to [6] (for whichever list you want), you can also create custom lists. A custom list name can be one to five characters, comprised of any combination of capital letters and numbers and theta, but it must begin with a letter or theta.

Lists are very versatile variables. They are used for storing highscores and map information, and just about anything else. Lists are also important because they are the only variable that can be assigned a name. This adds a certain security to using them. Other programs can still access your lists (and change or corrupt them), however, but there is a smaller likelihood of this happening simply because there are millions of possible names available.

To use lists, you must become familiar with some specifics of their syntax:

- The little ∟ command, which belongs at the beginning of any list name, except the default lists L
_{1}…L_{6}. Almost always, when using a list, you must include this: e.g., to access the list SCORE, you would enter ∟SCORE. When you choose a list from the [2nd][LIST] menu, this is added by default so you don't have to worry about it. - The curly brackets: { and }. These allow you to manually enter a list. When manually writing a list, you begin with putting a single opening curly brace ({) that will enclose the list. You then type a number or variable or expression, and put a comma after it. You repeat this for however many elements you want. You then put a single closing curly brace (}) that will close the list.
- Parentheses: ( and ). These access a specific element of a list: for example, ∟NAME(5) would be the 5
^{th}element of ∟NAME. You can also use this to store to an individual element of the list.

# Commands

List variables stand out from other advanced variable types because most commands you can use for numbers can be used for lists as well. In such a case, the command will be applied to each element of the list individually, and a list of the results will be returned. If two lists are used like this in the same command, their elements are "paired up" and the command will be applied to each pair. For example:

```
:cos({30,60,90
will be evaluated like
:{cos(30),cos(60),cos(90
```

```
:{3,4,5}={6,7,5
will return
:{0,0,1
```

Before doing any list comparison operations, you should first check that both list dimensions are the same size using the dim( command. This check is necessary because if the lists are not the same size, it will cause an ERR:DIM MISMATCH error. Of course, if you can guarantee their sizes will be identical, you can leave off the size check.

```
:If dim(L1)=dim(L2
:Then
:If min(L1=L2
:Disp "EQUAL
:End
```

There are some special commands for lists; some can be used for normal commands as well, but have a special meaning when used for a list. These are typically accessed through the [2nd][LIST] menu, and include:

Some statistical commands are used with lists as well: see the Statistics page for details.

# Optimization

Some optimization tricks are used specifically with lists. For example, you may sometimes omit the little ∟ symbol at the beginning of a list. The most common situation where this applies is when using the → (store) command to store to a list. For example:

```
:{1,2,3→∟NUMS
can be
:{1,2,3→NUMS
```

This is even possible with a single-letter name, such as ∟X: the calculator will realize that you did not intend to store to the real variable X because lists cannot be stored to a real variable.

Another optimization that is possible is storing to the element just past the end of the list. For example, if ∟X has 5 elements, storing to ∟X(6) is also allowed. This increases the size of ∟X to 6 elements, and then sets its 6^{th} element as usual. The following is a standard construction to add an element to the end of a list:

`:(value)→∟X(1+dim(∟X`

You can even store to the first element of a list that doesn't exist. Because there are no elements in the list, the calculator will first create a new element at the beginning of the list, and then assign it the value. This optimization works especially well when looping with a For( loop, since you can use the loop variable as the list index.

# Advanced Uses

Lists can be linked together in a way similar to an Excel spreadsheet using a quotation mark:

`:"2L₁→L₂`

After running this code, modifying a value in L1 will cause the corresponding element in L2 to be updated accordingly. Modifying a value in L2 will break the link. Connected lists are indicated by a ♦ symbol in the list editor on the TI-84+, and by a small lock on the TI-84+CE.

Returns the minimum of two elements or of a list.

- for two numbers: min(
*x*,*y*) - for a list: min(
*list*) - comparing a number to each element of a list: min(
*x*,*list*) or min(*list*,*x*) - pairwise comparing two lists: min(
*list1*,*list2*)

min(*x*,*y*) returns the smallest of the two numbers *x* and *y*. min(*list*) returns the smallest element of *list*. min(*list1*,*list2*) returns the pairwise minima of the two lists. min(*list1*,*x*) (equivalently, min(*x*,*list1*)) returns a list whose elements are the smaller of *x* or the corresponding element of the original list.

```
min(2,3)
2
min({2,3,4})
2
min({1,3},{4,2})
{1 2}
min({1,3},2)
{1 2}
```

Unlike relational operators, such as < and >, min( can also compare complex numbers. To do this, both arguments must be complex — either complex numbers or complex lists: min(2,*i*) will throw a ERR:DATA TYPE error even though min(2+0*i*,*i*) won't. In the case of complex numbers, the number with the smallest absolute value will be returned. When the two numbers have the same absolute value, the second one will be returned: min(*i*,-*i*) returns -*i* and min(-*i*,*i*) returns *i*.

# Advanced Uses

min( can be used in Boolean comparisons to see if every value of a list is 1 (true) — useful because commands like If or While only deal with numbers, and not lists, but comparisons like L1=L2 return a list of values. In general, the behavior you want varies, and you will use the min( or max( functions accordingly.

Using min( will give you a strict test — only if every single value of a list is true will min( return true. For example, the following code will test if two lists are identical — they have the same exact elements — and print EQUAL in that case:

```
If dim(L1)=dim(L2
Then
If min(L1=L2
Disp "EQUAL
End
```

The first check, to see if the sizes are identical, is necessary because otherwise comparing the lists will return a ERR:DIM MISMATCH error.

# Error Conditions

**ERR:DATA TYPE**is thrown when comparing a real and a complex number. This can be avoided by adding 0*i*to the real number.**Dimension Mismatch**is thrown, when using min( with two lists, if they have different dimensions.

# Related Commands

Exclusive or statement. Returns the truth value of value1 or value2, but not both, being true.

value1 xor value2

**xor** takes two numbers of expressions and checks to see if *exactly one* is True. If both are True or both are False, it returns 0.

```
1 xor 0
1
:2 xor (3 xor 0) (after evaluating 3 xor 0, it simplifies into True xor True.)
0
:0 xor (1-1)^2
0
```

## Table of Results

For reference, the following true/false table shows what gets returned when you use different combinations of 1 (true) and 0 (false):

xor | 1 (true) | 0 (false) |
---|---|---|

1 (true) | 0 (false) | 1 (true) |

0 (false) | 1 (true) | 0 (false) |

# Related Commands

author: '*Bio_Hazard1282_rPi3* does not match any existing user name'

version: '1'

summary: 'This is a game where you go around the screen and hunt down your target as quick as possible, and kill the COM before it kills you.'

description: "This is a game where you go around the screen and hunt down your target as quick as possible, and kill the COM before it kills you. This is a very fun game,\nand can be very addicting (for some). This game is well-made, and has no memory leaks. Enjoy!\n\n+ Official Full Game Release\n.zip Archive Contents:\n* Targets! Demos - Includes sample GIFS of the program(s) being executed on different calculators\n* READ_ME.txt\n* SOURCE_CODE.txt\n* TARGETS.8xg\n* TARGETS.8xp\n* TARGETS2.8xg\n* TARGETS2.8xp\n--\n+ Editors Notes\n* This program is still playable on the TI-83+/SE, but it is not recommended. It can run slow or worse, not work at all. If you do download it to your TI-83, make sure to remove the CLASSIC part in both programs, or this program won't work!\n* The save data lists are\n # Targets: ⸤TGT\n # Targets 2: ⸤TRGT\n* These are MirageOS compatible, but it may not work correctly. If you run it directly from MirageOS, it will immediately play the game w/o warning.\n* These programs are un-edit locked. \n--\nTry out the program, and let me know what you think about it!\n+ TO-DO List\n* Add in the optimizations that Trenly provided and re-upload the optimized programs to this archive."

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:targets/Targets.zip'

image: 'archiveimage:screenshot-targets/Screenshot-targets.png'

fileSize: '2'

fileSizeUnit: '3'

dateMade: '1543215600'

Hey! I just created an account to ask for some optimizations for my 3D rendering program for a TI-84 Plus CE. I know matrices are slow to work with, so optimizations regarding that is the main goal for this. I've been coding in TI-BASIC for quite some time, so I have sufficient knowledge of the language. This code was translated from The Coding Train (java) to BASIC, so the original code is not mine, all I did was port it over.

Feel free to drop by and contribute what you may, all help is accepted, including constructive criticism.

Here's my code:

```
: //Setup
: ClrHome
: TextColor(BLACK
: 2→L
:
: //Matrix Setup
: {8,2→dim([D]
: {8,3→dim([A]
: Fill(.5,[A]
: For(A,2,8,2
: -.5→[A](A,3
: End
: For(B,0,4,4
: For(A,3,4
: -.5→[A](A+B,2
: End
: End
: For(A,5,8
: -.5→[A](A,1
: End
:
: //Graph Setup
: 16.5→Xmax
: -Ans→Xmin
: 10.25→Ymax
: -Ans→Ymin
: ClrDraw
: GridOff
: AxesOff
: PlotsOff
: FnOff
:
: //Main Loop
: 0→θ
: Repeat getKey=45
: //Calcualations
: startTmr→W
: For(A,1,8
: Matr▶list([A]^^T^^,A,L₁ //"^^T^^" is the superscript transpose token
: List▶matr(L₁,[B]
: [[cos(θ),-sin(θ),0][sin(θ),cos(θ),0][0,0,1→[J]
: [[1,0,0][0,cos(θ),-sin(θ)][0,sin(θ),cos(θ→[I]
: [[cos(θ),0,-sin(θ)][0,1,0][sin(θ),0,cos(θ→[H]
: [J][B]
: [I]Ans
: [H]Ans→[B]
: 1/(L-[B](3,1
: [[Ans,0,0][0,Ans,0
: 20Ans[B]→[B]
: [B](1,1→[D](A,1
: [B](2,1→[D](A,2
: End
:
: //Drawing Edges
: ClrDraw
: For(A,1,4
: For(B,0,4,4
: [D](A+B-(A=4),1→N
: [D](A+B-(A=4),2→O
: [D](A+B+1+(A=2)-4(A=4),1→S
: [D](A+B+1+(A=2)-4(A=4),2→T
: Line(N,O,S,T,BLACK,1
: End
: [D](A,1→N
: [D](A,2→O
: [D](A+4,1→S
: [D](A+4,2→T
: Line(N,O,S,T,BLACK,1
: End
:
: Text(0,0,"SPF: ",checkTmr(W //SPF is seconds per frame
: θ+π/16→θ
: End
```

author: CodingCuber

version: '1.0'

summary: 'A moderately advanced clone of minesweeper built on the Ti-84 Plus.'

description: 'This minesweeper clone is built in the graph and uses the cursor to navigate the board. Programmed entirely in TI-Basic. Runs fast and uses a matrix for mine location storage. Has a button at bottom of the screen ("F") to switch between mine and flag modes. Please post any bugs you find and I will fix them as soon as possible. Only works and Ti 84 devices with a screen size of 94 x 62 pixels due to the use of the graph. More features will be added as they are programmed. Feel free to post suggestions for features'

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '1'

rpg: '0'

strategy: '1'

sports: '0'

casino: '0'

board: '0'

utility: '0'

misc: '0'

compatibility: dd

download: 'archivefile:mnesweep/MNESWEEP.8xp'

image: null

fileSize: '690'

fileSizeUnit: '1'

dateMade: '1540526400'

author: 'Jon Sturm'

version: Unknown

summary: 'Ever wanted the TI-83 Plus Font on your PC? Here it is!'

description: "Ever wanted the TI-83 Plus Font on your PC? Here it is!\n\n**Requires administrative privilages to install.**"

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:ti-83p-font/TI-83P-Font.ttf'

image: null

fileSize: '19'

fileSizeUnit: '2'

dateMade: '1217829600'

author: Bio_Hazard1282

version: '1.0'

summary: 'Similar to Chatroom. But SHORTER.'

description: "Similar to Chatroom. But SHORTER. Less than One K.\nSource Code:\n[[code]]\n:\"C3 Chat Box v1.1\n:DCS6\n\"7FFECB9BB9C9BAABCACDFFFF9FFB9DABAADF9DABFFFF7FFE0FC01F003C007000\nCLASSIC\nClrHome\nIf det([[1:Then\nDisp \"Celtic 3 is\",\"not installed.\nStop\nEnd\nHoriz\nClrDraw\nAxesOff\nGridOff\nPlotsOff \nFnOff \nreal(7,0\nText(0,0,\"Preparing…\nGetCalc(A\nnot(A→A\nidentity(6,6,8,1\nText(0,0,\"Chat Box ready.\n\" →Str1\nAns→Str2\nAns→Str3\nLbl M\nClrHome\nreal(7,0\nreal(13,1\nDisp \" Chat Box \"+sub(\"BA\",1+A,1)+\" \nreal(13,0\nDisp \"₁.Send\",\"₂.Receive\nRepeat max(K={92,93,22,45\ngetKey→K\nEnd\nClrHome\nIf K=92:Goto S\nIf K=93:Goto R\nIf K=45:Goto C\nFull\nreal(13,1\nDisp \" Chat Box \nreal(13,0\nStop\nLbl S\nInput \"Send:\",Str3\nIf A\nStr3→Str1\nIf not(A\nStr3→Str2\nidentity(6,6,8,1\nText(0,0,sub(\"BA\",A+1,1)+\":\"+Str3\nGoto M\nLbl R\nDisp \"Receiving…\nIf A:Then\nGetCalc(Str2\nStr2→Str3\n\" →Str2\nElse\nGetCalc(Str1\nStr1→Str3\n\" →Str1\nEnd\nIf Str3≠\" \":Then\nidentity(6,6,8,1\nText(0,0,sub(\"AB\",A+1,1)+\":\"+Str3\nEnd\nGoto M\nLbl C\nClrDraw\nText(0,0,\"Chat Box cleared.\nGoto M\n[[/code]]\nCompatible for Mirage, DoorsCS6 and 7. Comes with icon for doors."

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '1'

misc: '0'

compatibility: bb

download: 'archivefile:chatbox/CHATBOX.8xp'

image: 'archiveimage:chat-box/Chat-Box.png'

fileSize: '711'

fileSizeUnit: '1'

dateMade: '1537164000'

author: Deoxal

version: '1.0'

summary: 'Two programs that recursively calculate the value of a function.'

description: "RECURSER.8xp and RECURSEV.8xp ask for a function, a seed value, and the number of iterations to calculate and store graph settings to GDB 9. Recuser uses a custom list to store each iteration of the calculation as well as the seed, which caps the iterations at 999. Recursev does not have this limitation.\n\nBoth programs use XTANS.8xp(X to Ans) to replace X with Ans in the equation."

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:recurse/Recurse.zip'

image: 'archiveimage:capture-5/Capture.png'

fileSize: '875'

fileSizeUnit: '1'

dateMade: '1535860800'

*Bio_Hazard1282_rPi3*does not match any existing user name, contains some content from this Wiki.'

version: '7.3'

summary: 'A unique shell that runs programs and enhances file munipulation.'

description: "+ What is BasicOS?\nBasicOS is a shell that enhances file manipulation on your calculator. This shell is unique in most ways, and in it's own ways. BasicOS works pretty flawlessly, but there are some commands that are from Celtic III that are not fully implemented.\n\n--\n+ Attachments\nBasicOS Folder contents:\n\n- Original CelticIII folder\n- Source Code\n- The BasicOS Group\n- The BasicOS Program itself\n- Readme\n- This file your reading right now\n- Cool Fonts for zStart (Refer to \"AVARS.8xg\")\n- zStart Orginal folder\n- Token IDE Original folder\n- BasicOS 7.3 Example\n\n+ Source Code (Included)\n \n\n

**Version 7.5 is coming soon, featuring:**\n* Instead of the source code of files stored into a string, the content are stored into a seperate program called \"DOWNLOAD\", which allows managing source codes for programs much easier. The likelihood of a successful download is a lot higher compared to a string.\n* Improved memory efficiency.\n\n--\n+ Author's note:\n\nThis program will no longer be supported on

**June 10th, 2019**. You may download it for now. However, when this date arrives, this program will permanently be removed from the archives. Thank you for downloading and enjoying this program! This has been a great program, but a better version of this is located here."

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '1'

misc: '1'

compatibility: dd

download: 'archivefile:basicos/BasicOS.zip'

image: 'archiveimage:basicos-7-3-example/BasicOS-7-3-Example.gif'

fileSize: '2514'

fileSizeUnit: '2'

dateMade: '1537509600'

author: Bio_Hazard1282

version: 4.8.3

summary: 'A Celtic 3 Chatroom for your graphing calculator. The Celtic III library could not be uploaded.'

description: "A Celtic 3 Chatroom for your graphing calculator. (Celtic 3 **NOT** Included)\n\nEDIT: This link below is the official Celtic 3 Library guide:\nhttp://f.eeems.ca/Resources/program%20readmes/Celtic%20III/ReadME%20Celtic%203%20app.txt"

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:chat/CHAT.8xp'

image: 'archiveimage:chat-1/CHAT.gif'

fileSize: '3301'

fileSizeUnit: '1'

dateMade: '1534572000'

author: 'Ataul Noor'

version: 1.0.0

summary: 'This program solves for percent error.'

description: ''

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '1'

misc: '0'

compatibility: bb

download: 'archivefile:pererror/PERERROR.8xp'

image: 'archiveimage:capture-4/Capture-4.png'

fileSize: '464'

fileSizeUnit: '1'

dateMade: ''

Computes the angle of a complex number or a set of complex numbers.

**angle(***Expr1***)** → *expression*

**angle(***List1***)** → *list*

**angle(***Matrix1***)** → *matrix*

The **angle(** command computes the angle of a complex number, which corresponds to the rotation of a vector whose length is equivalent to the **abs(** of the number. The angle is returned in degrees, gradians, or radians, depending on the mode the calculator is in.

```
Degree mode
:angle(1+i) = 45
Radian mode
:angle(1+i) = π/4
```

**angle(** can also return the angles for a list or matrix of complex numbers, returning the outputs in a list or matrix respectively. **angle(** will attempt to return a closed-form expression for the value rather than a decimal expression when utilizing the CAS, and can also return a symbolic evaluation of an angle.

`:angle(z) = π(sign(z)-1)/2`

# Formulas

The general formula for the angle of complex number *x+iy* is given by

Often denoted as θ, the angle of a complex number is used in its polar representation

(2)where *r* is the absolute value of the number.

# Related Commands

author: 'Kevin Gomez (kg583)'

version: '1.0'

summary: 'A package of programs for number theory.'

description: 'TINT, or TI Number Theory, is a package of lists and programs designed for number theoretic computation and analysis on the TI-84+ series of calculators. These programs are designed to be used as subprograms for larger projects, and are optimized for numbers less than 10^12. This packages requires OS 2.53MP to run.'

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '1'

misc: '0'

compatibility: ee

download: 'archivefile:tint/TINT.zip'

image: null

fileSize: '3500'

fileSizeUnit: '1'

dateMade: '1533358800'

Boolean AND comparison of expressions or groupings of expressions.

*BooleanExpr1* **and** *BooleanExpr2*

*BooleanList1* **and** *BooleanList2*

*BooleanMatrix1* **and** *BooleanMatrix2*

*Integer1* **and** *Integer2*

The **and** command compares two Boolean expressions (or lists or matrices of expressions) and performs the logical AND comparison, where the output is TRUE if and only if both inputs are also TRUE.

Command | Output |
---|---|

0 and 0 |
0 |

1 and 0 |
0 |

0 and 1 |
0 |

1 and 1 |
1 |

**and** can also be used to simplify logical conditions. For example,

```
:x≥3 and x≥4
outputs
:x≥4
```

because, in order to satisfy both logical conditions, *x* need only satisfy *x≥4*. **and** can perform this process on a list or matrix of Boolean expressions:

```
:{x≥3,x≤0} and {x≥4,x≤-2}
outputs
:{x≥4,x≤-2}
```

which is the intersection of two inequalities. This can be thought of as the overlap of two regions of a number line, where *x* must lie in order to satisfy all of the logical conditions simultaneously.

**and**'s final use is for bitwise comparison of integers. Consider two integers, 24 and 17, which when converted to binary become 0b11000 and 0b10001 respectively. To compare the two integers, **and** compares each bit of the binary number, outputing 1 when both bits are 1 and 0 otherwise:

```
0b11000: 24
0b10001: 17
----- --
0b10000: 16
```

Integers can be entered in any base for use with **and**, including binary (0b) and hexadecimal (0h). The output will match the base of the inputs (if they are identical), defaulting to decimal.

# Related Commands

author: ''

version: ''

summary: ''

description: "Password is alipor\nA temporary text thingy"

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '1'

misc: '0'

compatibility: bb

download: 'archivefile:alipor-txtooditor-1/Alipor-txtOODITOR.7z'

image: null

fileSize: '62'

fileSizeUnit: '2'

dateMade: ''

author: Alipor

version: '1.1'

summary: 'A text maker (Cnnot save it is a one-text-use thing)'

description: Password—alipor

arcade: '0'

graphics: '0'

platform: '0'

puzzle: '0'

rpg: '0'

strategy: '0'

sports: '0'

casino: '0'

board: '0'

utility: '1'

misc: '0'

compatibility: bb

download: ''

image: null

fileSize: '1'

fileSizeUnit: '2'

dateMade: ''

This routine randomly selects a number given a list of partial probabilities

*L₁* - The bin sizes of the partial probabilities

*C* - Which bin is selected

The variables used in the routine.

L₁, L₂, X, U, S, L, T, C,E

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

```
L₁→L₂
sum(L₂→X
Xˉ¹→U
U→S
DelVar LDelVar C
rand→T
For(E,1,dim(L₂
While L₂(E) and not(C
If L≤T and U≥T
Then
E→C
Else
L₂(E)-1→L₂(E
U+Xˉ¹→U
L+Xˉ¹→L
End
End
End
C
```

This routine takes a single list, and randomly selects an element according to the bin sizes in the list. It copies the list so as to not overwrite the data. It then sums the list, and takes the inverse of the sum to use as an interval. It then generates a random number between 0 and 1. By testing if this number falls within the intervals defined by each partial probability, it determines which bin the random number falls into.

As an example, if the input is {4,11,2,3} there is a 4/20 chance that Bin 1 is chosen, an 11/20 chance for bin 2, 2/20 for bin 3, and 3/20 for bin 4. If a bin size is 0, it will be skipped and never selected as the probability is 0.

Got the basic naughts and crosses engine going. ||

To Do:

- Create the memory setup for the AI
- Create the Code for the AI to recall the gameboard partial probabilities
- Create the code for remembering which gameboards were recalled and which moves were played
- Create the code for adjusting the partial probabilities for each gameboard
- Create the AI - Created the selection already
- Implement the AI

Main Naughts and Crosses Engine: (Player vs Player)

```
SetUpEditor ʟM,ʟMC
{0→ʟM
{0→ʟMC
StoreGDB GDB1
AxesOff
GridOff
CoordOff
Full
LabelOff
ExprOff
RectGC
Normal
Func
63→Ymax:0→Ymin
93→Xmax:0→Xmin
ClrDraw
Text(⁻1,2,14,"M.E.N.A.C.E.
Line(29,49,65,49
Line(65,49,65,13
Line(65,13,29,13
Line(29,13,29,49
Line(32,47,62,47
Line(31,46,63,46
Line(63,46,63,16
Line(62,47,62,15
Line(62,15,32,15
Line(61,15,33,15
Line(31,16,31,46
Line(32,15,32,47
Line(42,45,42,15
Line(52,45,52,15
Line(33,25,61,25
Line(33,36,61,36
19→H
35→V
1→P
Repeat dim(ʟM)=10
1→T
If fPart(dim(ʟM)/2):2→T
Line(H+14,V+2,H+22,V+2
Repeat sum(K={45,21,105
Repeat sum(K={45,21,105,24,25,26,34
getKey→K
End
If K=45:Stop
If sum(K={24,25,26,34:Then
Line(H+14,V+2,H+22,V+2,0
P+(K=26)(P<9)-(K=24)(P>1)+3(K=34)(P≤6)-3(K=25)(P≥4)→P
P/3
If Ans≤1:35→V
If Ans≤2:24→V
If Ans≤3:14→V
If sum(P={1,4,7
19→H
If sum(P={2,5,8
29→H
If sum(P={3,6,9
39→H
Line(H+14,V+2,H+22,V+2
End
End
If (K=105)not(sum(P=ʟM:Then
P→ʟM(1+dim(ʟM
Line(H+14,V+2,H+22,V+2,0
P/3
If Ans≤1:19→G
If Ans≤2:29→G
If Ans≤3:39→G
If sum(P={1,4,7
35→U
If sum(P={2,5,8
46→U
If sum(P={3,6,9
56→U
Text(⁻1,G,U,sub("OX",T,1)
expr(sub("020305071113171923",2P-1,2))→ʟMC(dim(ʟM
If dim(ʟMC)≥6:Then
1→A
For(E,2,dim(ʟMC),2
AʟMC(E)→A
End
If not(sum(not(fPart(A/{30,1001,7429,238,627,1495,506,935}):Then
1→A
For(E,3,dim(ʟMC),2
AʟMC(E)→A
End
End
sum(not(fPart(A/{30,1001,7429,238,627,1495,506,935})→W
If W:10→dim(ʟM
End
End
End
If not(W:Then
Text(⁻1,52,23,"TIE GAME!
Pause
Else
If T=2:Text(⁻1,52,15,"CROSSES WIN!
If T=1:Text(⁻1,52,15,"NAUGHTS WIN!
If T:Pause
End
RecallGDB GDB1
ClrDraw
ClrHome
```

Finds a sublist within a list, with different degrees of specificity.

L₁ - List to search

L₂ - Sublist

*Ans* - Initial index of sublist in L₁*

L₃ - Indices of L₁ which match the sublist*

*See individual routines for details

*L*, *X**

*Only used for gapped sublist searching

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

kg583

# Find Exact Sublist (Permutation)

For a sublist stored in `L₂`, this routine will find where in `L₁` the precise sublist (in order, no gaps) is found and return the initial index as `Ans` (0 if not found).

```
:For(L,1,1+dim(L₁)-dim(L₂
:L
:If min(L₂=seq(L₁(X),X,L,L-1+dim(L₂
:Return
:End
:0
```

# Find Sublist with Gaps (Permutation w/ Gaps)

For a sublist stored in `L₂`, this routine will find if the ordered sublist is found, with gaps between entries allowed, in `L₁` and return 1 or 0 as `Ans`.

```
:1→X
:For(L,1,dim(L₁))
:If L₁(L)=L₂(X
:X+1→X
:1
:If X>dim(L₂
:Return
:End
:0
```

Alternatively, a few extra lines will return the matching indices as `L₃`.

```
:1→X
:ClrList L₃
:For(L,1,dim(L₁
:If L₁(L)=L₂(X:Then
:L→L₃(X
:X+1→X
:End
:If X>dim(L₂
:Return
:End
```

# Find Shuffled Sublist (Combination)

For a sublist stored in `L₂`, this routine will find where in `L₁` any shuffling (without gaps) of the sublist is found and return the initial index as `Ans` (0 if not found).

```
:For(L,1,1+dim(L₁)-dim(L₂
:L
:If prod(seq(max(L₁(X)=L₂),X,L,L-1+dim(L₂
:Return
:End
:0
```

# Find Shuffled Sublist with Gaps (Combination w/ Gaps)

For a sublist stored in `L₂`, this routine will find if any shuffling with gaps of the sublist is found in `L₁` and return 1 or 0 as `Ans`.

`:prod(seq(max(L₁=L₂(X)),X,1,dim(L₂`

Alternatively, two extra lines will return the matching indices as `L₃`.

```
:prod(seq(max(L₁=L₂(X)),X,1,dim(L₂
:If Ans
:seq(1+sum(not(cumSum(L₁=L₂(X)))),X,1,dim(L₂→L₃
```

Finds specific text in a string and replaces all occurrences with replacement text.

*Str1* - The main string to modify

*Str2* - What to search for

*Str3* - What to replace with

*Str1* - the modified string

Str1, Str2, Str3, I, J

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

Michael2_3B

*URL:* Cemetech

```
"SEARCH"→Str2
"REPLACE"→Str3
length(Str2→J
1→I
While inString(Str1,Str2,I
inString(Str1,Str2,I→I
Str3
If I>1
sub(Str1,1,I-1)+Ans
If I+J<1+length(Str1
Ans+sub(Str1,I+J,1+length(Str1)-(I+J
Ans→Str1
I+length(Str3→I
End
```

First, note that the input for the search string (Str2) and replacement string (Str3) can be modified for however you need them to be input. In this case, the texts "SEARCH" and "REPLACE" have been used as examples for these 2 strings.

To start off, we first store the length of the search string in variable J. Then, we check if the search string can be found in the main string. If not, the loop doesn't continue to run. Otherwise, we store the index in the string where the search string was found in variable I.

After this, we have to account for 3 distinct options:

1. The search string was found at the beginning of the main string

2. The search string was found at the end of the main string

3. The search string was found somewhere in the middle of the main string

So, we first put Str3 in Ans.

Then, if some of the string exists before the search string (so I>1), we add the replacement string in Ans onto that text.

After that, we check if the string exists after the search string (so I+J<1+length(Str1)), and if so, we add the rest of the text onto Ans.

After modifying the string like this, the program then checks if there are any more occurrences of the search string in the main string. If so, this whole process is repeated over.

Calculates the binomial cumulative probability, either at a single value or for all values

for a single value:

binomcdf(trials, probability, [lower_bound,] upper_bound)

for a list of all values (0 to trials)

binomcdf(trials, probability)

From inside a document:

Press Menu, then scroll to probability.

Press the right arrow, then scroll to Distributions.

Press the right arrow, then scroll to Binomial Cdf (B)

This command is used to calculate the binomial cumulative probability function. In plainer language, it solves a specific type of often-encountered probability problem, that occurs under the following conditions:

- A specific event has only two outcomes, which we will call "success" and "failure"
- This event is going to repeat a specific number of times, or "trials"
- Success or failure is determined randomly with the same probability of success each time the event occurs
- We're interested in the probability that there are
**at most**N successes

For example, consider a couple that intends to have 4 children. What is the probability that at most 2 are girls?

- The event here is a child being born. It has two outcomes "boy" or "girl". In this case, since the question is about girls, it's easier to call "girl" a success.
- The event is going to repeat 4 times, so we have 4 trials
- The probability of a girl being born is 50% or 1/2 each time
- We're interested in the probability that there are at most 2 successes (2 girls)

The syntax here is `binomcdf( trials, probability, value)`. In this case:

`binomcdf(4,.5,2)`

This will give .6875 when you run it, so there's a .6875 probability out of 4 children, at most 2 will be girls.

If you wanted the probability that at least 1 and at most 2 will be girls, the syntax would be:

`binomcdf(4,.5,1,2)`

Another alternate syntax for `binomcdf(` leaves off the last argument, *value*. This tells the calculator to compute a list of the results for all values. For example:

`:binomcdf(4,.5`

This will come to {.0625 .3125 .6875 .9375 1} when you run it. These are all the probabilities we get when you replace "at most 2 girls" with "at most 0", "at most 1", etc. Here, .0625 is the probability of "at most 0" girls (or just 0 girls), .3125 is the probability of at most 1 girl (1 or 0 girls), etc.

Several other probability problems actually are the same as this one. For example, "less than N" girls, just means "at most N-1" girls. "At least N" girls means "at most (total-N)" boys (here we switch our definition of what a success is). "No more than", of course, means the same as "at most".

# Related Commands

[[row]]

[[cell style="text-align: center;background: #f4f4f4;padding: 5px 10px;"]]**{$number}**[e{$number}][[/cell]]

[[cell style="background: #f4f4f4;padding: 5px 10px;"]]**{$description}**

{$moreinfo}

[[/cell]]

[[/row]]

[[row]]

[[cell style="text-align: center;padding: 5px 10px;"]]**{$number}**[e{$number}][[/cell]]

[[cell style="padding: 5px 10px;"]]**{$description}**

{$moreinfo}

[[/cell]]

[[/row]]

[[row]]

[[cell style="text-align: center;padding: 5px 10px;"]]**{$number}**[{$number}][[/cell]]

[[cell style="text-align: left;padding: 5px 10px;"]]**{$name}**[{$reference}][[/cell]]

[[cell style="padding: 5px 10px;"]]**{$description}**

{$moreinfo}

[[/cell]]

[[/row]]

[[row]]

[[cell style="text-align: center;background: #f4f4f4;padding: 5px 10px;"]]**{$number}**[{$number}][[/cell]]

[[cell style="text-align: left;background: #f4f4f4;padding: 5px 10px;"]]**{$name}**[{$reference}][[/cell]]

[[cell style="background: #f4f4f4;padding: 5px 10px;"]]**{$description}**

{$moreinfo}

[[/cell]]

[[/row]]

This command can be used to return the absolute value of a number, or an expression which evaluates to a number.

```
⁻5→X
abs(x)
Outputs: 5
```

# 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:

```
If X<0
Then
⁻X→X
can be
abs(X)→X
```

NOTE: Due to the limitations of the wiki markup language, the {$cmd} command on this page does not appear as it would on the calculator. See Wiki Markup Limitations for more information.

Another page that should be created similar to wiki-limits

Unfortunately, the rich vocabulary of wiki syntax doesn't allow to properly display a command in titles and code blocks. When this happens, the offending page will link here so we can properly apologize, clarify what is meant, and give the syntax that displays them correctly where it is possible to do so.

Here are the commands and symbols that suffer from this problem:

# See Also

- The wiki syntax description on www.wikidot.com.

This page should contain a list of all the errors from the ti-nspire. Would like it set up similarly to errors

This table lists all the possible error messages that can occur. The error number to the left is not displayed, but is stored to the errornum system variable, which can be used in a Try..EndTry block. Some error messages are very explicit (like #680), but others are less so. Where the error message itself gave too little information, this table explains the error more thoroughly.

A large part of the information here was taken from the Nspire CX Reference Guide at education.ti.com

Errors need to be added to the table below. Please alternate between using error1 and error2

Error Code |
Error |
Description |

010 |
No Value |
A function did not return a value |

020 |
Unresolved Boolean |
A test did not resolve to TRUE or FALSEThis error is commonly caused when attempting a comparison with an undefined variable |

030 |
Cannot be Folder Name |
Argument cannot be a folder name |

040 |
Argument Error |
Argument error |

050 |
Argument Mismatch |
Two or more arguments must be of the same type |

060 |
Argument- Boolean |
Argument must be a Boolean expression or integer |

070 |
Argument - Decimal |
Argument must be a decimal number |

090 |
Argument - List |
Argument must be a list |

100 |
Argument - Matrix |
Argument must be a matrix |

130 |
Argument - String |
Argument must be a string |

140 |
Argument - Name |
Argument must be a variable nameMake sure the name does not begin with a digit, contains no spaces or special characters, and does not exceed length limitations |

160 |
Argument - Expression |
Argument must be an expression |

165 |
Battery Level |
Batteries too low for sending or receivingReplace or charge the batteries before sending or receiving |

170 |
Bound |
The lower bound must be less than the upper bound |

180 |
Break |
The d or c key was pressed during a long calculation or program execution |

190 |
Circular Definition |
This is displayed to avoid infinite replacement of variables during simplificationExample: a+1→a will throw this error when a is undefined |

200 |
Constraint Expression Invalid |
The expression used as a constraint is not valid |

210 |
Data Type |
An argument is of the wrong data type |

220 |
Dependent Limit |
The limit is dependent and must be independent |

230 |
Invalid Dimension |
A list or matrix index is not valid |

235 |
Dimension Error |
Not enough elements in the lists |

240 |
Dimension Mismatch |
Two or more arguments must be of the same dimension |

250 |
Divide by Zero |
An expression evaluated to a division by zero |

260 |
Domain Error |
An argument must be in a specified domainrand(0) throws this error since the domain must be greater than 0 |

270 |
Duplicate Variable |
A variable with that name already exists |

280 |
Invalid Else |
An Else or ElseIf statement was outside the If-EndIf block |

290 |
EndTry Missing Else |
EndTry is missing the matching Else statement |

295 |
Excessive Iteration |
Excessive iterationNot much is currently known about this error |

300 |
List or Matrix Expected |
Expected a 2 or 3 element list or a matrix as an argument |

310 |
Single Variable Equation |
The first argument of nSolve must be an equation in a single variableThe equation cannot contain an undefined variable other than the variable of interest |

320 |
Equation or Inequality Expected |
The first argument of solve or cSolve must be an equation or inequalitysolve(3x^2-4,x) is invalid because the first argument is not an equation |

345 |
Inconsistent Units |
The calculation cannot be performed with mismatched unitsEnsure all units are matching |

350 |
Index Out Of Range |
The index specified is not valid |

360 |
Indirection String |
Indirection string is not a valid variable name |

380 |
Undefined Ans |
Either the previous calculation did not create Ans, or no previous calculation was entered |

390 |
Invalid Assignment |
The value cannot be assigned to the variable |

400 |
Invalid Assignment Value |
The value cannot be assigned to the variable |

410 |
Invalid Command |
The command entered is not valid |

430 |
Invalid For Mode |
The calculation, command, or answer is not valid for the current mode settings |

435 |
Invalid Guess |
The guess is not valid |

440 |
Invalid Implicit Multiplication |
This is to prevent errors between implied multiplication and function callsx(x+1) is invalid, whereas x*(x+1) is the correct syntax; (x+1)x may also work, but not much is known about this |

450 |
Invalid Command Use |
Invalid in a function or Current ExpressionOnly certain commands are valid in a user-defined function. The command which this error references cannot be used in a user-defined function |

490 |
Invalid in Try..EndTry Block |
The command is not valid in a Try Block |

510 |
Invalid List or Matrix |
The List or Matrix is undefined or not valid |

550 |
Invalid Command Use |
Invalid outside function or programA number of commands are not valid outside a function or program. For Example, Local cannot be used unless it is in a function or program |

560 |
Invalid outside Loops |
The command must be within a Loop..EndLoop, For..EndFor, or While..EndWhile blockCertain commands, such as Exit are only valid inside loop blocks. |

565 |
Invalid Command Use |
Invalid outside programThe command can only be used in a program, and is invalid in a function or on the home screen |

570 |
Invalid Path Name |
The specified folder or path is invalidNotably, \var is considered invalid |

575 |
Invalid Polar Complex |
The Polar Complex is invalid or could not be resolved |

580 |
Invalid Program Reference |
Programs cannot be referenced within functions or expressionsExample: 1+p(x) throws this error when p( is a program |

600 |
Invalid Table |
The table referenced is invalid |

605 |
Invalid Use of Units |
The usage of units is invalid |

610 |
Invalid Local Variable |
Invalid variable name in a Local statement |

620 |
Invalid Name |
The function name of variable name is invalid |

630 |
Invalid Variable Reference |
The reference to the variable is invalid |

640 |
Invalid Vector Syntax |
The syntax for the vector is invalid |

650 |
Link Transmission |
A transmission between two units was not completedVerify the connecting cable is connected firmly on both ends |

665 |
Matrix not Diagonalizable |
The Algebraic Multiplicity of the matrix does not equal the geometric multiplicity of each of the eigenvalues |

670 |
Low Memory |
The space in memory is running lowYou should try to 1) Delete some data from the document. 2) Save and close the document. If both fail, remove and re-insert the batteries |

672 |
Resource Exhaustion |
The available resources have been exhaustedNot much is known about this error |

673 |
Resource Exhaustion |
The available resources have been exhaustedNot much is known about this error |

680 |
Missing ( |
An open parentheses is missing |

690 |
Missing ) |
A close parentheses is missing |

700 |
Missing " |
A quotation mark is missing |

710 |
Missing ] |
A close bracket is missing |

720 |
Missing } |
A close brace is missing |

730 |
Block Syntax |
Missing start or end of block syntax |

740 |
Missing Then |
Missing Then in an If..EndIf block |

750 |
Not a Function or Program |
{$description} |

765 |
No functions selected |
No functions were selected |

780 |
No Solution |
No solution was found |

800 |
Non-Real Result |
The answer returned was not realIf the software is in the real setting $√⁻1$ is invalid. To allow complex results, change the "Real or Complex" Mode Setting |

830 |
Overflow |
The answer overflowed the buffer for Ans |

850 |
Program not Found |
A program reference inside another program could not be found in the provided path during execution |

.