Disaster
The ListPages module does not work recursively.

The ListPages module does not work recursively.

author: 'AravenFtw Luke'
version: ''
summary: "A fake virus program. Source code is below\n"
description: "[[code]]\n0→X\nClrHome\nLbl 1\nOutput(1,5,\"WARNING!\"\nOutput(2,1,\"1 virus found on\nOutput(3,1,\"your machine.\nOutput(5,2,\"Remove viruses\nOutput(6,2,\"Reinstall TI-OS\nOutput(8,3,\"Navigate  \"\n0→A\nRepeat X=100\ngetKey→X\nIf A=0:Output(5,1,\"\"\nIf X=34 and A=0:Then:1→A:Output(5,1,\" \"):End\nIf A=1:Output(6,1,\"\"\nIf X=25 and A=1:Then:0→A:Output(6,1,\" \"):End\nIf A=0 and X=105:Goto 3\nIf A=1 and X=105:Goto 2\nEnd\nStop\nLbl 2\nClrHome\n0→A\nOutput(1,1,\"Reinstall TI-OS?\nOutput(2,1,\"Continuing will\nOutput(3,1,\"delete all data\nOutput(4,1,\"and programs.\nOutput(7,2,\"Cancel\nOutput(8,2,\"Reinstall OS\nRepeat X=100\ngetKey→X\nIf A=0:Output(7,1,\"\"\nIf X=34 and A=0:Then:1→A:Output(7,1,\" \"):End\nIf A=1:Output(8,1,\"\"\nIf X=25 and A=1:Then:0→A:Output(8,1,\" \"):End\nIf A=0 and X=105:Then:ClrHome:Goto 1:End\nIf A=1 and X=105:Goto 4\nEnd\nStop\nLbl 4\nClrHome\nOutput(1,1,\"Resetting…\nFor(X,1,10000):End\nClrHome\nPause \"Memory Cleared\"\nGoto 84\nStop\nClrHome\nDisp \"Ti-34 MultiView\nLbl 84\nInput \"\",S\nDisp S\nGoto 84\nStop\n\n\n\n\n\n\n\n\n\nLbl 3\nClrHome\nOutput(1,1,\"Select payment\"\nOutput(2,1,\"type:\"\nOutput(4,2,\"Credit Card\"\nOutput(5,2,\"PayPay\"\nRepeat X=100\ngetKey→X\nIf A=0:Output(4,1,\"\"\nIf X=34 and A=0:Then:1→A:Output(4,1,\" \"):End\nIf A=1:Output(5,1,\"\"\nIf X=25 and A=1:Then:0→A:Output(5,1,\" \"):End\nIf A=0 and X=105:Goto 5\nIf A=1 and X=105:Goto 6\nEnd\nLbl 5\nClrHome\nDisp \"Credit Card #:\"\nInput \"\",Str1\nClrHome\nOutput(1,1,\"CREDIT CARD #:\"\nOutput(2,1,Str1\nOutput(4,1,\"COST: $150.99\nOutput(6,2,\"Continue\"\nOutput(7,2,\"Cancel\"\n0→A\nRepeat X=100\ngetKey→X\nIf A=0:Output(6,1,\"\"\nIf X=34 and A=0:Then:1→A:Output(6,1,\" \"):End\nIf A=1:Output(7,1,\"\"\nIf X=25 and A=1:Then:0→A:Output(7,1,\" \"):End\nIf A=0 and X=105:Goto 10\nIf A=1 and X=105:Goto 3\nEnd\nLbl 10\nrandInt(1,2)→X\nIf X=1:Goto 11\nLbl 11\nClrHome\nDisp \" TI-BASIC\nDisp \"Virus removal\nDisp \"failed. Your\nDisp \"machine will be\nDisp \"terminated.\nOutput(7,1,\"Press any key\nOutput(8,1,\"to continue…\nRepeat X=100\nEnd\nIf X=2:Goto 12\nStop\nLbl 6\nClrHome\nDisp \"PayPal ID#:\"\nInput \"\",Str1\nClrHome\nOutput(1,1,\"PayPal ID#:\"\nOutput(2,1,Str1\nOutput(4,1,\"COST: $150.99\nOutput(6,2,\"Continue\"\nOutput(7,2,\"Cancel\"\n0→A\nRepeat X=100\ngetKey→X\nIf A=0:Output(6,1,\"\"\nIf X=34 and A=0:Then:1→A:Output(6,1,\" \"):End\nIf A=1:Output(7,1,\"\"\nIf X=25 and A=1:Then:0→A:Output(7,1,\" \"):End\nIf A=0 and X=105:Goto 10\nIf A=1 and X=105:Goto 3\nEnd\nLbl 12\nClrHome\n\"VIRUS REMOVED!\n[[/code]]"
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:untitled1/Untitled1.8xp'
image: 'archiveimage:justices/justices.gif'
fileSize: '1797'
fileSizeUnit: '1'
dateMade: ''

author: 'DJ_O? (Not confirmed) Uploader: Bio_Hazard1282'
version: 'Lost Between times'
summary: 'This game takes 98304 bytes of archive, and may crash. Be careful.'
description: 'This game takes 98304 bytes of archive, and may crash. Be careful.'
arcade: '1'
graphics: '1'
platform: '0'
puzzle: '0'
rpg: '1'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: bb
download: null
image: null
fileSize: '98304'
fileSizeUnit: '1'
dateMade: ''

author: 'Sorunome '
version: UNKN
summary: 'Join Reuben on an epic RPG fantasy adventure which includes tons of puzzles, side-quests, hidden things and much more!'
description: 'Join Reuben on an epic RPG fantasy adventure which includes tons of puzzles, side-quests, hidden things and much more!'
arcade: '1'
graphics: '1'
platform: '0'
puzzle: '1'
rpg: '1'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: bb
download: null
image: null
fileSize: '229'
fileSizeUnit: '2'
dateMade: '1482994800'

author: 'Brian Coventry'
version: 'zStart v1.3.013'
summary: 'This app truly is the "Swiss army knife" of utility apps for the 84+.'
description: 'This app truly is the "Swiss army knife" of utility apps for the 84+. zStart runs on every ram clear to setup your calculator environment to do just about anything you want. Features include: Mathprint/Classic, Degrees/Radians, Diagnostic On/Off, fixing lcd (ALCDFIX), setting contrast, running archived programs, editing archived programs, displaying 8 level grayscale picture on startup, running programs on ram clears/startup, custom fonts with an on-calc editor, enabling Axe, shortcut keys to run programs/compile axe programs/recall tokens, enabling omnicalc/catalog help, copy/paste, base conversions, molar mass calculations, 14% speed increase in basic programs, and more! Supports 83+!'
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:zstart/zstart.zip'
image: 'archiveimage:zstart-example/zStart-Example.gif'
fileSize: '253'
fileSizeUnit: '2'
dateMade: '1515913200'

I think we all know what pacman is…

I'm just new to this site and would love some help.

In this tutorial, we are going to show you how to BOOT TEST your calculator. (Or self-test)
What this does it "tests" to see if everything is working correctly on your calculator.
Here are some things you need to know…

  • Doing this resets all of your RAM
  • This test may take a while to complete successfully
  • There may be a chance of your calculator displaying a message: "ROM Fail"
Lets begin the test. Press "Mode", then "Alpha" + "Ln" . Your calculator will display something like this:
H2kdxvD.png
Don't worry, it will only clear your RAM.
Press "Enter" twice.
It will show this.
If it shows "ID fail", don't worry, it means there is no PRODUCT ID. Press enter. It will then show the amount of RAM that your calculator can hold maximum. Press enter. There will be a counter that will increment by 1 about 6 seconds every time. Press "On" to skip this part. The screen test will now be executed. This will see if all pixels are working correctly. Press on to skip, or enter to go into the next phase.
FIRST IMAGE TEST:
H2kfDaF.png)
After, it will test if all keys are working correctly. Press the keys that match the corresponding key code that is on the screen.
After, the test is over and a RAM cleared screen will be showed.
H2kgHGx.png
Here is a clip of the test being performed on a TI-84+ SE.
H2rBfdL.gif
Test on a TI-84 Plus using Wabbitemu
H2BJUYD.gif

author: TI
version: 2.55MP
summary: "ROM of the TI-84 Plus Silver Edition ROM.\n"
description: "ROM of the TI-84 Plus Silver Edition ROM.\nIf you would like to delete this archive, send me a message WHY you wanted to do this."
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: null
image: null
fileSize: '2048'
fileSizeUnit: '2'
dateMade: '1515567600'

This project is an attempt to recreate MENACE. This article describes MENACE in its entirety

author: mattyjraps
version: '1.0'
summary: ''
description: "This is a Mario game made pretty much in pure BASIC (except for an asm snippet to fix the bug with the Text() command, grr). Featuring 6 worlds, 5 enemy types, animated coin blocks, and MUCH more, this is a truly must-have for your calculator if you are at all interested at gaming. It is the first BASIC Mario game of its size (~14,000 bytes) and has good looking graphics on top of that. Yahoo! All instructions are included in the readme.\n\n"
arcade: '1'
graphics: '1'
platform: '1'
puzzle: '1'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: bb
download: 'archivefile:mario-extreme/Mario-Extreme.zip'
image: 'archiveimage:main-menu/main-menu.gif'
fileSize: '0'
fileSizeUnit: '1'
dateMade: ''

author: Trenly
version: '1'
summary: 'This page is just testing for the 504 error'
description: 'Testing program and GIF uploading for the 504 error'
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:physic/PHYSIC.8xp'
image: 'archiveimage:testgif/TESTGIF.gif'
fileSize: '1262'
fileSizeUnit: '2'
dateMade: '1512540000'

author: Michael2_3B
version: '1.0'
summary: 'Flood the board with a single color in the least amount of moves!'
description: "Click the blocks to fill the board with a single color. See if you can do it within a specified amount of moves! You should catch on pretty quickly ;) More info in the readme. Original game: http://unixpapa.com/floodit\n\nThe flood algorithm may be a tiny bit slow, but that is due to the limits of TI-Basic."
arcade: '1'
graphics: '0'
platform: '0'
puzzle: '1'
rpg: '0'
strategy: '1'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: ff
download: 'archivefile:floodit/FloodIt.zip'
image: 'archiveimage:002929/002929.gif'
fileSize: '4'
fileSizeUnit: '2'
dateMade: '1512540000'

When programming, you may find that you want to execute a piece of code based on if another section of code has been executed. The easiest way to do this is to use a flag. What exactly is a flag? A flag is typically considered a placeholder or variable which contains a binary or Boolean value. In TI-Basic, it is typically a variable which holds a value of 0 or 1. This variable is called a flag because it is either up (1), or down (0). Flags can be very useful when used in the proper circumstance; They can help prevent double conditionals, allow for the program to behave differently based on which sections of code it has already run, or even change what a program does altogether. Let's look at an example:

prgmFLAG
:0→F
:Lbl 1
:Disp "Flag is"
:If F:Disp "Up"
:If not(F:Disp "Down"
:1→F
:If not(F:Goto 1

In the code above, we see a very basic flag. The flag is either up, 1, or down, 0. The program will display that the flag is down, set it to be up, then say that it is up before exiting. That's a great start, but how can flags be used in more useful ways?

Recycled Flags

Recycled flags are flags that are used more than once for the same purpose inside of a program. They are commonly used within loops, but can be used in other ways depending on what you are attempting to do. Consider the following: You have a variable A which you want to compare to B; If A is greater than B, you want to display a message. The only catch is, if A is greater than 50 you want to display a different message. This is a perfect place for a Recycled flag, especially if you want to repeat the comparison with different values. Take a look at the following code:

prgmACOMPB
:randInt(1,50→B
:Repeat A=B
:1→T
:Prompt A
:If A>50
:Then
:Disp "A is Greater than 50"
:0→T
:End
:If T(A>B):Disp "A is Greater than B"
:If A<B:Disp "A is Less than B"
:End

Did you understand how it worked? If not, let me walk you through it. As you may have guessed, this is a very simple guess the number game. First, we store a value to B. This value doesn't particularly matter, but we want it to be 50 or less for this game. We create a repeat loop that will run until we enter the value of B. Next, we set our flag. I put this flag setting inside the repeat loop, since we want it to reset every time we enter a new number. The program will then ask the user for a value of A to test, and now this is where the flag comes in. The program tests if A is above 50, in which case it would be out of the range of values of B. If A is greater than 50, it displays that and sets our flag to 0, or turns it off. The next conditional tests if A is greater than B. If A is greater than 50, it will always be greater than B, but since we already determined if it was greater than 50, we don't want to accidentally display a message twice. If you take a close look at the statement, we are testing "If T(A>B)" which can be rewritten as "If T and A>B" or even "If T≠0 and A>B". Lets step back and look at the values of when we compared A to 50. If A was greater than 50, T got set to 0; If A was less than or equal to 50, T was left as 1. This means that the statement we are testing will only be true if A is less than or equal to 50 based on the value in T.

Solitary Flags

The flag in the last example was a recycled flag, meaning we used it multiple times. This is debatably the most common form of flags. The other type of flag is a solitary flag, or a flag that is only used once. Perhaps the best example of this is a program where the author wants the user to do something before running the program. A flag may be used to allow the program to give instruction to the user before executing the code.

If A
Then
ClrAllLists
Output(1,1,"Please enter data in L₁
Delvar A
Pause
Return
End
Disp mean(L₁
1→A

While this is another simple piece of code, it displays a solitary flag very well. This program displays the mean of L₁, however we know that if there is no data in L₁ this code will throw an error. Lists are one of the variables that cannot be directly stored to using input or prompt, and because of this we want to tell the user to enter their data into the list. This code checks to see if there is a value stored in A, and if there is it then tells the user to enter the data, sets the flag, and exits. The reason this code checks to see if there is a value in A rather than if there is not a value in A is due to the fact that there will be a value in A most of the time. This program, for the flag, sets A to 0 by deleting it once it has told the user where to enter the data. When the program is run again, presumably after they have entered their data, it will see that there is no value and will then display the mean of L₁ as intended before finally putting a value back into A so it can be run again.

author: 'Unknown User'
version: 3.7.66.43.25TI83
summary: 'A FREE emulator of a TI-83 Plus, use this if you don''t own a TI-Basic Calculator!'
description: 'A FREE emulator of a TI-83 Plus, use this if you don''t own a TI-Basic Calculator!'
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:vti83-20171201t150451z-001/VTI83-20171201T150451Z-001.zip'
image: null
fileSize: '777'
fileSizeUnit: '2'
dateMade: ''

This is a simple program for yahtzee. But this is just the dice really.

ClrDraw
FnOff 
AxesOff
0→Xmin
0→Ymin
94→Xmax
62→Ymax
For(I,4,76,18
Line(I,21,I,35
Line(I,21,I+14,21
Line(I,35,I+14,35
Line(I+14,21,I+14,35
End
randInt(1,6,5→L₁
0→K
While not(K
getKey→K
End
For(I,1,5
18I-7→X
If fPart(L₁(I)/2)=.5
Pt-On(X,28,2
If L₁(I)≠1:Then
Pt-On(X-4,32,2
Pt-On(X+4,24,2
End
If L₁(I)>3:Then
Pt-On(X-4,24,2
Pt-On(X+4,32,2
End
If L₁(I)=6:Then
Pt-On(X-4,28,2
Pt-On(X+4,28,2
End
End
Pause
ClrDraw
AxesOn
FnOn
ZStandard
Output(1,1,"

author: LAX18
version: ''
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: bb
download: null
image: null
fileSize: '1'
fileSizeUnit: '3'
dateMade: ''

This is a program that is like the Pen command.

Let's make a program that could define the variable B, as (10^10). Let's start!

Count()
:Prgm
:  Local a,b
:  10^10→b
:  For a,1,b
:    Disp a
:  EndFor
:EndPrgm

Let's break this code down piece by piece starting from the beginning.

counting()
:Prgm

The first code is the title of the project called "Count()" but you could make it whatever you want. While the second code is ": Prgm", which let's the calculator understand that it is a "program".
:  Local a,b
:  10^10→b
:  For a,1,b
:    Disp a

In this code, a "For loop" is established, which will store each successive number from 1 through B (10^10) in variable A.The program then outputs the data currently stored in Variable A, to character space 1,1 in the screen
:  EndFor
:EndPrgm

For this segment, "EndFor" ends the for loop after the code is executed. While "EndPrgm" ends the code.

…that you can use a combination of real and imaginary numbers to compress a real list, and use imag( and real( to decompress it?

…that you can use plot sprites to make simple, easily movable sprites on the color calculators?

author: 'Texas Instruments'
version: 2.55MP
summary: "The latest TI-84 Plus operating system 2.55 update* features MathPrint™ and is available to download free for TI-84 Plus and TI-84 Plus Silver Edition graphics calculators.\n"
description: "The latest TI-84 Plus operating system 2.55 update* features MathPrint™ and is available to download free for TI-84 Plus and TI-84 Plus Silver Edition graphics calculators.\n--\nDownload this simply instead of going through the mess of TI's website!\n--\nUploader: Bio_Hazard1282Bio_Hazard1282"
arcade: '0'
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '1'
compatibility: dd
download: 'archivefile:ti84plus-os255/TI84Plus_OS255.8Xu'
image: 'archiveimage:eap-2d-templates-a/EAP_2D-templates_a.jpg'
fileSize: '16384'
fileSizeUnit: '1'
dateMade: '1294297200'

If you haven't read Your First Program yet, I recommend you do so first.

Indentation

Whenever you write TI-Basic code, you should make sure it's readable. This will help both yourself and others in the future. One way to make your code more readable is to use indentation. Indentation is important because it allows you to easily see when one block of code ends and the next begins. Squashing all your code together with no indentation can make it hard to read.

Indentation is usually done with one space per level. The calculator keeps track of how many spaces begin a line, so they will survive being tokenized. When you begin a block, such as If, or Loop, or While, you add a level of indentation to lines after it, and remove it when you reach an 'End', such as 'EndIf', 'EndLoop', or 'EndWhile'. Here's an example of good indentation:

:indtexmp()
:Prgm
: © Prgm begins a block, so the rest of the code is indented
:
: Loop © Loop also begins a block, so add an indentation level
:  If getKey()=13 Then
:   Exit
:  EndIf
:
:  Disp "Hello, World!"
: EndLoop © EndLoop ends the block, so remove the indentation level
:EndPrgm © EndPrgm is not indented at all

Indentation is going to be hard to maintain on a real calculator, or in many TI-Basic editors, since it isn't too common in the TI-Basic community. However, it will be worth it when you're working on a large program. Notice the blank lines before and after blocks like Loop. Like indentation itself, it is entirely optional and it only assists in reading the code. Here's an example of no indentation:

:noindent()
:Prgm
:Loop
:If getKey()=13 Then
:Exit
:EndIf
:Disp "Hello, World!"
:EndLoop
:EndPrgm

This is a simplified example. Imagine an application with 10 or 15 nested If statements, each with their own Else and ElseIf statements. Now imagine needing to put code inside a specific If. You will most likely need indentation to keep track of where to put the code, or you might just sit there for a while trying to make sense of all those nested Ifs!

It should be clear that indentation isn't required. Most members of the community don't use it for their programs, maybe because it increases program sizes, or because it's cumbersome to maintain. Maybe it just isn't worth the effort. You should decide whether indentation is for you. You could indent because it makes code more readable, or even just because you're used to indenting code. To indent, or not to indent? That is the question, and the reasoning for your answer is up to you.

Commenting

Variable Naming

<< Your First Program Table of Contents Setting up your 68k calculator >>

…that 68k calculators can not only program in TI-Basic, but can program in Assembly and C as well?

There are no new updates.

This is a program that is related to Oasis (A shell programmed in pure TI-Basic), and is programmed in pure TI-Basic.
It allows you to:
• Archive and Un-Archive programs
• Hide/Show programs
• Lock/Unlock programs
• Garbage Collect
• View Data about programs (Shows how many lines of code is in the program, tells if it is archived, hidden, locked, converts name to hexadecimal string, and shows how big that program is.)
• Delete/Create Programs


How to use

1. Make sure Celtic 3 is installed.
2. Input a program name you would like to manage. Make sure it exists and is in ALL caps, or the program will quit immediately.
3. Do the things you need to do.


You can however, press some "secret keys" to do certain functions, a short explanation will be explained.
• Garbage Collect
Do this by pressing [2ND] while you are at the main management screen. Keep in mind if you're using Dr. Dnar's Archive utility (or some other program or app that recovers variables that have been archived since at least once before), you will not be able to recover programs after doing a Garbage Collect.
• Delete Program
Press [ALPHA] at the main screen.
By doing this, you must be 100% positive that you want to remove this program from your calculator.
• New program
Press [MATH]. It will take you to a screen that looks like when your actually going to create a program from using the [PRGM] menu. It must be in all caps and must meet the usual requirements to be created.

These are the 3 only "secret keys" function.


Source Code

These are the only libraries I know.

det( and real(Libraries

[Any ones that have a * require a string after the command (e.x. det(0,5,"EXAMPLE")]




Things that still need to be done

• Convert the program to an app and upload to the archives
• Optimize the program
• install updates
• and more


Completed things for ManagerOS

author: _iPhoenix_
version: v1.0
summary: 'A port of the popular game Stick Hero, ported to the CE in pure TI-Basic!'
description: 'A port of Stick Hero, for the CE! I took a lot of inspiration from PT_''s CSE port of the game, so check that out, too!'
arcade: '1'
graphics: '0'
platform: '1'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: ff
download: 'archivefile:stickheroce/StickHeroCE.zip'
image: 'archiveimage:image/Image.gif'
fileSize: '1303'
fileSizeUnit: '1'
dateMade: ''

author: Bio_Hazard1282
version: 1.0.7
summary: 'http://thevideogamingsite.wikidot.com/program-manager'
description: "This is a program that is related to Oasis (A shell programmed in pure TI-Basic), and is programmed in pure TI-Basic.\nIt allows you to:\n• Archive and Un-Archive programs\n• Hide/Show programs\n• Lock/Unlock programs\n• Garbage Collect\n• View Data about programs (Shows how many lines of code is in the program, tells if it is archived, hidden, locked, converts name to hexadecimal string, and shows how big that program is.)\n• Delete/Create Programs\n\n++++++ New Updates\n• Run programs\n• Download program codes and store them into a string, then recall the string\n• Sort for MirageOS, BASIC, Assembly programs\n• The program source code\n• Important updates\n• More det( and real functions\n• The program will become an app\n--\n++++ I am thinking…\n++++++ This could become an OS, I am thinking if calling it ManagerOS…"
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:program-manager/Program-Manager.docx'
image: null
fileSize: '1783'
fileSizeUnit: '1'
dateMade: '1508306400'

author: MacBookAdorable
version: '2.0'
summary: 'An Explicit and Implicit Derivative solver for the TI-84+. Nice UI and fully-featured.'
description: "Requires both Omnicalc and Symbolic to be installed. Both applications can be found on Detached Solutions' website.\n\nFor explicit derivatives, if you don't have the information for what X=, just input \"+\".\n\nWhen on the solved derivative screen, press [ZOOM] to view the derivative full-screen or press [GRAPH] to view the graphs of the original function, its derivative, and (if applicable) its tangent and normal lines at the specified point.\n\nImages: https://imgur.com/a/EbZl1"
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:deriv/DERIV.8xp'
image: null
fileSize: '2232'
fileSizeUnit: '1'
dateMade: ''

getnum.png

Command Summary

Returns the numerator of a fraction or given expression

Command Syntax

getNum(expression1)

Menu Location

[MATH][9][B][1]

Calculator Compatibility

This command works on all calculators.

Token Size

X byte(s)

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

getNum(3/5)
   3
getNum((x+1)/(x-1))
   x+1

Related Commands

author: wifijoe
version: v1.0
summary: 'Play the famous game Minesweeper on your calculator! '
description: "controls are:\narrow keys: movement\n2nd button: reveal square\nALPHA button: mark/un-mark mine\n\nto win: clear the board of all of the squares. Empty spots will not clear themselves.\n\nside note: while this can run on a ti-83+, it is not recommended.\n\njust ask me if you want it to be open source!"
arcade: '0'
graphics: '0'
platform: '0'
puzzle: '1'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: cc
download: 'archivefile:mine/MINE.8xp'
image: 'archiveimage:capture/Capture.png'
fileSize: '1183'
fileSizeUnit: '1'
dateMade: '1508299200'

This page consists of various techniques that can be used while programming in 68k Basic.

_default

+ list pages

84cse

+ list pages

admin

+ list pages

admin-forum

+ list pages

admin-nav

+ list pages

admin-section

+ list pages

admin-thread

+ list pages

archive

+ list pages

archive-categories

+ list pages

archivefile

+ list pages

archiveimage

+ list pages

archives

+ list pages

badge

+ list pages

basicbuilder

+ list pages

board

+ list pages

challenges

+ list pages

deleted

+ list pages

empty-page

+ list pages

excerpt

+ list pages

featured-program

+ list pages

featured-project

+ list pages

forum

+ list pages

how-to

+ list pages

member

+ list pages

nspire

+ list pages

pages

+ list pages

portable

+ list pages

portal

+ list pages

projects

+ list pages

projectupdates

+ list pages

project-updates

+ list pages

reports

+ list pages

resources

+ list pages

sandbox

+ list pages

screenshot

+ list pages

search

+ list pages

showcases

+ list pages

system

+ list pages

template

+ list pages

wishlist

+ list pages

Text displayed when hoveredText to hover

TI Basic is great!

Revision types:  ALL
 new pages
 source changes
 title changes
 page name changes
 tags changes
 metadata changes
 files changes
From categories:
Revisions per page:
page 1123...next »
The Fcdf( Command S 24 Feb 2018 01:54 (rev. 9) Myles_Zadok
Monospaced commands and removed the non-functional line of code that was intended to define the color of the [[math]] box.
admin-forum: Staff Forum S 21 Feb 2018 20:40 (rev. 63) Battlesquid
The ExprOn Command S 20 Feb 2018 02:06 (rev. 5) Myles_Zadok
Monospaced commands
The ExprOff Command S 20 Feb 2018 02:05 (rev. 5) Myles_Zadok
Monospaced commands
The Pause Command S 19 Feb 2018 21:39 (rev. 22) jonbush
admin-forum: Staff Forum S 19 Feb 2018 20:29 (rev. 62) Battlesquid
Chat S 19 Feb 2018 19:59 (rev. 53) Battlesquid
Chat S 19 Feb 2018 19:56 (rev. 52) Battlesquid
admin-forum: Staff Forum S 19 Feb 2018 19:52 (rev. 61) jonbush
Chat S 19 Feb 2018 19:27 (rev. 51) Trenly
archiveimage:aclock N F 19 Feb 2018 00:23 (new) coltonj96
archivefile:aclock N F 19 Feb 2018 00:23 (new) coltonj96
admin-forum: Staff Forum S 16 Feb 2018 02:46 (rev. 60) Battlesquid
Chat S 14 Feb 2018 23:46 (rev. 50) Battlesquid
Chat S 14 Feb 2018 23:46 (rev. 49) Battlesquid
Chat S 14 Feb 2018 23:45 (rev. 48) Battlesquid
reports:5 S T 14 Feb 2018 20:44 (rev. 3) Bio_Hazard1282
reports:5 S T 14 Feb 2018 20:43 (rev. 2) Bio_Hazard1282
Site Pages To Go S 14 Feb 2018 20:41 (rev. 1) Bio_Hazard1282
Site Pages To Go N 14 Feb 2018 20:40 (new) Bio_Hazard1282
page 1123...next »

author: 'Ti Programs Online'
version: '1.0'
summary: 'Helps calculate taxes for 2017 fiscal year.'
description: 'Helps calculate taxes for 2017 fiscal year.'
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:taxfnd17/TAXFND17.zip'
image: null
fileSize: '487'
fileSizeUnit: '1'
dateMade: '1507438800'

rcl.gif

Command Summary

Pastes the content of a variable

Command Syntax

Rcl variable

Menu Location

[2ND][STO>]

Calculator Compatibility

TI-83+/84+/C/SE

Token Size

N/A

Rcl is a functionality of the calculator which allows the user to paste the value of a variable into a text entry field. The Rcl function can be used anywhere where text entry is required, but may not be used as a command within a program. When the user presses [2ND][STO>], the Rcl prompt will appear. Enter the name of the variable that you wish to recall here, and press [ENTER]. For example, you could use Rcl to paste the contents of a string variable into an Input prompt in a running program.

Rcl Str1

Advanced Uses

Rcl can be used to paste one program into another program, allowing for duplicating programs on the calculator. This is particularly useful when modifying a working program. If you decide that your changes should be reverted, you will have a backup copy of the original program

Related Commands

This code finds the angle of intersection of two lines.

Routine Summary

Finds the angle of intersection for any two lines.

Inputs

Str1 and Str2

Outputs

Ans

Variables Used

Y1, Y2, I, Ans, X

Calculator Compatibility

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

Authors

kg583, Myles_Zadok

:Degree
:Str1→Y1
:Str2→Y2    \\If your equations are already stored in Y1 and Y2, these two lines are unneccessary
:E‾9→I      \\This threshold can be changed to adjust the output accuracy
:angle(I+i(Y2(X+I)-Y2(X
:Ans-angle(I+i(Y1(X+I)-Y1(X
:Disp "ANGLE OF INTERSECTION IS",Ans

The routine works by assuming the graphs are almost straight lines at a very small scale around the point of intersection given by X. The two graphs are approximated by complex numbers made by combining the x and y coordinates. The angle( command finds the angle for each complex number, then they are subtracted. This command is useful as it avoids domain errors caused by using tanֿ¹(.

If you do not already know the x-coordinate of the intersection of the two graphs, you can add this line at the beginning to find it:

:solve(Y2(X)-Y1(X)=0,X,0→X
piecewise(.png

Command Summary

Graphs up to 5 piecewise expressions.

Command Syntax

(expression, condition [,expression, condition])

Up to 5 (expression,condition) pieces are allowed.

Menu Location

1: While editing a program, press [math]

2: Then press [alpha] [apps] (B) or scroll down.

Calculator Compatibility

TI-84+CE OS 5.3

Token Size

2 bytes

The piecewise( command is a new addition in the release of OS 5.3 for the TI-84 Plus CE. As implied, it allows for the graphing of piecewise functions in the Y= editor. The example code demonstrates how this works from within a program.

:ClrDraw
:Input "Y1=",Str1
:Input "Y2=",Str2
:Str1→Y1
:Str2→Y2
:FnOff
:"piecewise(Y1,X≥0,Y2,X<0→Y3
:DispGraph

Advanced Uses

One use of the piecewise( function is to evaluate an expression for a given value of X. For example:

:piecewise(X²+2,X≥0

This code will return the value of the expression if X≥0. So if X=0, then the program will return a value of 2. If X=3, it will return a value of 11. If X=-5, it will return an error.

Optimization

This command can simplify and compact the usage of piecewise expressions in programs. If you have less than 6 conditions that will never overlap, and they all affect a single variable, you can use the piecewise( command to make your code smaller, as shown below. Beware of comparability, though.

:If X<2
:Then
:4.5X→N
:Else
:8X+3→N
:End
can be
:piecewise(4.5X,X<2,8X+3,X≥2→N

Error Conditions

  • ERR:INVALID is thrown if expressions are not defined.
  • ERR:DATA TYPE is thrown if a quotation mark is not placed before a piecewise command that is to be stored to an equation variable.

Related Commands

  • Command 1
  • Command 2
  • Command 3

See Also

The ListPages module does not work recursively.

author: eeffeemorgan
version: '1.1.2-Base Codes'
summary: '2D Minecraft'
description: "83-Craft is a Minecraft like game in which you can place/destroy blocks and move around. \nAlso, giving credit where it is due, this was not entirely mine it is my take on Ti-Craft by 12Me21. Go check it out here:\nhttp://tibasicdev.wikidot.com/archive:ticraft\nAlso, I will be updating this almost constantly because I never have anything to do in my classes at school.\n\n\nBiomes:\n0:Default\n1:Forest\n2:Flat lands\n3:Barren\n4:Underground\n5:Plains\n6:Barren Plains\n7:Skylands?\n\nControls:\nPress the arrow keys to move.\nPress Y= to set the block to air\nPress window to set the block to dirt\nPress zoom to set the block to stone\nPress trace to set the block to leaves\nPress graph to set the block to Wood\nMode = glass\nDEL = Brick\nX,T,θ,n = Mushroom\nTo place blocks around the player use keys:12346789 (Ex:to place a block above the player press 8 to place one below press 2)\nPress STO to reach save menu\n\nOld:\nTrees! Mushrooms! Biomes!\nWood, Leaves, Dirt, Stone\n\nNew!:\nGlass, Brick, Mushroom(Place-able),\nSkylands, \nOre generation!\n\nUp coming:\nBaddies\nClimbing\n4 more blocks"
arcade: '0'
graphics: '0'
platform: '1'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: bb
download: 'archivefile:83-craft/83-Craft.8xp'
image: 'archiveimage:83-craft-2/83_Craft_2.gif'
fileSize: '2804'
fileSizeUnit: '1'
dateMade: '1505541600'

reason: 'This is Thel Vadamee/Ti-Basic Dude'
proof: 'His username leaves little doubt of his identity. This is an alternate account of Thel Vadamee/TI-Basic Dude, which is a violation of the rules to avoid a ban by having an alternate account. '

That forum structure is really nice! I am also in approval of this layout.

Sep 13 TI-BD Contributor Battlesquid has been promoted to Moderator.

reason: 'Alternate account of a banned account'
proof: 'The "2" in his username, for one. Also, his most recent post. For further reasons, see my original report.'

reason: ''
proof: ''

reason: 'testing autonumbering 2'
proof: 'again, none'

reason: 'testing for autonumbering'
proof: None

This is where you can report members you who have broken the rules, or who you suspect to be alternate accounts. By reporting members here, it sends the report to all admins so the members can be dealt with in a fast and efficient manner. Simply enter their username into the box below and click the button to start a new report.

Pending


The ListPages module does not work recursively.

All


The ListPages module does not work recursively.

A

The ListPages module does not work recursively.

B

The ListPages module does not work recursively.

I started an admin only chatbox, since I think we can all be trusted not to impersonate or spam or anything.

Preparation

Main Content

References

counter free hit unique web

  • CHAR
    • → ⸤ ⁻
    • × ÷ ±
    • √ Σ ≠
    • ≥ ≤ π
    • Δ χ ▶
    • ֿ¹ ² ³
    • L₁ L₂ L₃
    • L₄ L₅ L₆
    • ≅ ℕ º
    • θ ∠ ∞
    • ♦ ⇧ ∫
    • ∏ ©

this seems to look nice

It might be possible to retrofit this thing I made a long time ago as an admin forum rather than a general forum. It isn't exactly the same as the regular forums, though, because to be frank, emulating them exactly isn't really feasible.

I will try to do that. This current setup is rather strange, and doesn't seem to work very well.

The ListPages module does not work recursively.
The ListPages module does not work recursively.

can we make this look and function like the main TI|BD forums? I like the look, feel, and usability of them

Just testing. Thanks jonbush :)

Recent Posts

Hello! Iam currently messing around with a project that require me to convert hex to binary. So i...
(by crossti 25 Feb 2018 14:19, posts: 1)
I meant that you were new to the TI-Basic Developer, as you created an account pretty recently. I...
(by Myles_Zadok 24 Feb 2018 18:48, posts: 5)
Hello How it works … Thank you
(by xavi6 24 Feb 2018 15:28, posts: 2)
Well I'm not new to TI-Basic, I know a lot of TI-Basic
(by coltonj96 24 Feb 2018 03:57, posts: 5)
1: Since I see that you're new here, welcome to TI-Basic Developer, coltonj96! I recommend that...
(by Myles_Zadok 24 Feb 2018 01:17, posts: 5)
Sad fully nowadays, anAJAX Request error is more likely to happen (to some people) because either...
(by Bio_Hazard1282 23 Feb 2018 20:18, posts: 5)

Recent Threads

(Started 25 Feb 2018 14:19, Posts: 1)
(Started 23 Feb 2018 20:05, Posts: 5)
(Started 23 Feb 2018 16:30, Posts: 2)
(Started 22 Feb 2018 16:29, Posts: 4)
(Started 22 Feb 2018 14:10, Posts: 1)
(Started 21 Feb 2018 15:25, Posts: 6)
(Started 21 Feb 2018 15:09, Posts: 1)
(Started 18 Feb 2018 07:55, Posts: 2)
(Started 16 Feb 2018 19:40, Posts: 3)
(Started 15 Feb 2018 15:34, Posts: 3)
(Started 14 Feb 2018 20:14, Posts: 6)

counter free hit unique web

  • CHAR
    • → ⸤ ⁻
    • × ÷ ±
    • √ Σ ≠
    • ≥ ≤ π
    • Δ χ ▶
    • ֿ¹ ² ³
    • L₁ L₂ L₃
    • L₄ L₅ L₆
    • ≅ ℕ º
    • θ ∠ ∞
    • ♦ ⇧ ∫
    • ∏ ©

This is the place to discuss admin questions for the setup of the wiki -design, layout, structure, permissions.
And to store the decisions.

This is a SubThread ( nested by Parenting! ) to Thread:1

Please feel free to ask here in the general test section what ever you want.

The admins and all "watchers" will be informed by email…

This is an open Task! (tagged with "_task")

You will see this in the side nav menu and in the list "OPen Task"
if the task is done, close it with "_closed"

This is a sticky thread!( tagged with "_sticky")
Please - this is the 1. Thread on this admin-forum example - onlöy to demonstrate the possibilities

Feel free to start "sub-threads" if you want to test it out.

{$label} [[include admin-section:{$name}]]

The ListPages module does not work recursively.
The ListPages module does not work recursively.
The ListPages module does not work recursively.
The ListPages module does not work recursively.
The ListPages module does not work recursively.

To add a section, you need to:

  1. Enter the name of the section in the input box below and click Ok.
  2. Edit the main list of sections to add your new section.
Forum management:

- Forum guide
- Important pages
- Open Tasks

Thread management:

- To make a thread sticky, tag it '_sticky'.
- To close a thread, tag it '_closed'.
- To create a task, tag it '_task'.
Open tasks: (More...)
Create a new forum section
Section Last edit open / closed

Design
This is the place to discuss admin questions for the setup of the wiki -design, layout, structure, permissions.
And to store the decisions.

The ListPages module does not work recursively.
The ListPages module does not work recursively.
The ListPages module does not work recursively.
The ListPages module does not work recursively.
The ListPages module does not work recursively.

To create a task tag any thread with _task.

to close a task tag any thread with _closed.

The ListPages module does not work recursively.

This forum implements the TopicTree pattern for forum discussion. It uses a number of key Wikidot features:

  • Per-page comments, via the Comments module - forbidden for "admin-forum:" here! - comments are stored in the standard public forum and therefore readable…!
  • Live-templating, to format section and thread pages
  • Cross-site includes, to pull in packages like the scrollbar
  • Customizable themes
  • Page parenting and breadcrumbs

Roughly, the forum consists of a set of 'sections' ("admin-section:) , each with a number of autonumbered 'threads', ("admin-thread:") and each thread can contain sub-threads, to any level of nesting. Each section, and thread or sub-thread is a page, not a post".

You can add special tags to thread pages to make them behave in certain ways:

  • _sticky creates a sticky thread, which always shows first in lists of threads
  • _closed pushes the thread to the end of the list and marks it "(Closed)"
  • _task shows the thread on the list of open tasks in the side bar menu
  • _nocomment disables per-page comments and asks the user to use sub-threads to discuss (not enabled for thsi admikn-forum! )

Click any page to edit it:

This is the admin forum. Here you can search for existing threads, start a new thread, and take part in active threads. You can bookmark this site and visit for updates, or you can watch the site, sections, or threads via email notifications. The description of this admin-forum setup is stored on admin-forum

To make a forum just like this, please use the forum template.

Forum management:

- Forum guide
- Important pages
- Open Tasks

Thread management:

- To make a thread sticky, tag it '_sticky'.
- To close a thread, tag it '_closed'.
- To create a task, tag it '_task'.
Open tasks: (More...)

Section Last edit open / closed

Design
This is the place to discuss admin questions for the setup of the wiki -design, layout, structure, permissions.
And to store the decisions.

The ListPages module does not work recursively.
The ListPages module does not work recursively.
The ListPages module does not work recursively.
The ListPages module does not work recursively.
The ListPages module does not work recursively.

…that there are also models aimed for the Chinese market, such as the TI-Nspire CM-C?

At the time of this revision, there is very little known documentation on how to program Nspire calculators. Below is a list of resources that contain information on Nspire Basic.

@import url(http://static.wikidot.com/common--theme/co/css/style.css?0);
 
#header {
  background: #171412;
  height: 86px;
}
#header h1 {
  padding: 0;
  margin: 0;
  width: 800px;
  height: 69px;
  background: #171412 url('/local--files/nspire:home/Logo10C.png') no-repeat;
}
#header h1 a {
  padding: 0;
  margin: 0 320px 0 8px;
  width: 472px;
  height: 69px;
  display: block;
}
#header h1 span {
  display: none;
}
#header h2 {
  display: none;
}
 
#top-bar {
  top: 69px;
  height: 21px;
  min-width: 976px;
  padding: 0;
  background-color: #564a43;
  border-bottom: 2px solid #564a43;
}
#top-bar ul{
  padding: 2px 100px 2px 30%;
}
#top-bar  a, #top-bar li ul li a  {
  background-color: #564a43;
}
#top-bar a:hover, #top-bar li ul li a:hover {
  background-color: #564a43;
}
 
#side-bar {
  width: 20%;
  min-width: 185px;
  float: left;
  background-color: #C7C9B8;
  border-right: 1px solid #BBBEAB;
  border-bottom: 1px solid #BBBEAB;
  color: #4E4F43;
  padding-top: 3px;
  margin:0;
}
.special-collapsible .collapsible-block-unfolded .collapsible-block-link {
  font-weight: bold;
  padding-left: 0em;
}
.special-collapsible a {
  margin: 0;
  padding-top: 2px;
  padding-bottom: 2px;
  display: block;
  padding-left: 1em;
  border-bottom: 1px solid #BBBEAB;
  border-top: 1px solid #D2D3C6;
  color: #1E2B31;
  text-decoration: none;
}
 
/* The links on the left side */
#side-bar ul{
  display: block;
  padding: 0;
  list-style: none;
}
#side-bar ul li{
  margin: 0;
  display:block;
}
#side-bar li a {
  margin: 0;
  padding-top: 2px;
  padding-bottom: 2px;
  display: block;
  padding-left: 1em;
  border-bottom: 1px solid #BBBEAB;
  border-top: 1px solid #D2D3C6;
  color: #1E2B31;
  background-color: default;
  text-decoration: none;
}
#side-bar li a:hover {
  background-color: #D1D3C3;
}
 
/* The headings on the left */
#side-bar h1 {
  font-size: 140%;
  margin: 0px;
  padding-left: 0.5em;
  margin-top: 3px;
  margin-bottom: 0px;
}
/* Left paragraph text */
#side-bar p {
  padding: 5px;
  margin: 0px;
  margin-bottom: 3px;
  margin: 0px;
}
 
.infobox {
  color: #FFFFFF;
}
 
.infobox a {
  color: #FFFFFF;
}
 
#footer {
  background: #564A43;
  border-color: #171412;
}

author: Myles_Zadok
version: '2.0'
summary: 'Pong for CE calculators, with two game modes!'
description: 'Pong for CE calculators. Includes a Versus CPU game mode AND a high score mode. (High scores are not recorded) Use the arrow keys to move the paddle, 2nd to pause the game, and enter to resume the game. Version 2.0 includes an option for the user to choose the color of the paddle, as well as overall improvements to the game.'
arcade: '1'
graphics: '1'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '1'
casino: '0'
board: '0'
utility: '0'
misc: '1'
compatibility: ff
download: 'archivefile:pongce/PONGCE.8xp'
image: 'archiveimage:pongce2-image/PongCE2-image.png'
fileSize: '3556'
fileSizeUnit: '1'
dateMade: '1502859600'

Routine Summary

Reverses the order of elements in a list.

Inputs

L₁

Outputs

L₁

Variables Used

M,X

Calculator Compatibility

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

Author

kg583

:dim(L₁→M
:For(L,1,int(M/2
:L₁(L→Z
:L₁(M-L+1→L₁(L
:Z→L₁(M-L+1
:End

This routine will quickly reverse L₁. It works by swapping pairs of elements that are equidistant from the center of the list, and uses no other lists as dummy variables.

Routine Summary

Calculates the mode(s) of a list of numbers.

Inputs

A,B - Whole numbers

Outputs

L₁(I) - Greatest common divisor (gcd) of A and B
L₂(I), L₃(I) - Bézout coefficients such that AL₂(I)+BL₃(I) = L₁(I)

Variables Used

I, Q

Calculator Compatibility

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

Author

kg583

:{A,B→L₁
:{1,0→L₂ 
:{0,1→L₃
:1→I
:While L₁(dim(L₁
:I+1→I
:int(L₁(I-1)/L₁(I→Q
:L₁(I-1)-AnsL₁(I→L₁(I+1
:L₂(I-1)-QL₂(I→L₂(I+1
:L₃(I-1)-QL₃(I→L₃(I+1
:End

The Extended Euclidean Algorithm is a highly efficient algorithm for calculating the greatest common divisor (GCD) of two numbers. The algorithm, in the process of finding the GCD, also finds the Bézout coefficients x and y. These are whole numbers such that

(1)
\begin{align} ax+by=\gcd(a,b) \end{align}

author: 'Myles_Zadok; adapted the very addicting program made by Michael2_3B for color calculators'
version: '1.0'
summary: 'An avalanche spin-off for color calculators.'
description: "From Basic Avalanche Plus: \"This is one of my most basic games, however it is still kind of addicting :P You must collect the falling \"+\" signs and avoid the falling \"-\" signs. Failure to do so will result in Game Over. High score included.\n\nCONTROLS: Left and Right Arrow keys to move, CLEAR to quit at any time.\""
arcade: '1'
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '0'
compatibility: ff
download: 'archivefile:baplusc/BAPLUSC.zip'
image: null
fileSize: '458'
fileSizeUnit: '1'
dateMade: '1501995600'

Members

burrburr since 05 Sep 2006 03:12
Fallen GhostFallen Ghost since 08 Sep 2006 00:46
alexruddalexrudd since 08 Sep 2006 00:46
DarkerLineDarkerLine since 11 Sep 2006 23:23
Sage OratorSage Orator since 24 Sep 2006 21:28
calc84maniaccalc84maniac since 25 Sep 2006 05:29
HarqHarq since 25 Sep 2006 22:37
super_spelersuper_speler since 02 Oct 2006 06:43
adcurtinadcurtin since 22 Oct 2006 12:12
MgNateMgNate since 24 Oct 2006 18:33
airmintairmint since 24 Oct 2006 18:34
halg19halg19 since 24 Oct 2006 18:34
elfprinceelfprince since 03 Nov 2006 19:43
lubyluby since 05 Nov 2006 22:38
Allen LiuAllen Liu since 08 Dec 2006 06:37
HarrierfalconHarrierfalcon since 17 Jan 2007 12:29
WeregooseWeregoose since 17 Jan 2007 13:58
WikiGuruWikiGuru since 10 Feb 2007 18:42
blm22blm22 since 21 Mar 2007 05:13
Jonn89Jonn89 since 31 Mar 2007 01:59
XphoenixXphoenix since 12 Apr 2007 02:15
thornahawkthornahawk since 14 Apr 2007 01:45
xxfffreakxxxxfffreakxx since 15 Apr 2007 17:16
Baorder54Baorder54 since 16 Apr 2007 05:50
ebscerebscer since 15 May 2007 05:46
GraeliGraeli since 11 Jun 2007 04:39
geemangeeman since 20 Aug 2007 09:09
valentinevalentine since 04 Sep 2007 05:36
pzhukkepzhukke since 04 Sep 2007 05:36
simplethinkersimplethinker since 04 Oct 2007 02:00
angel14995angel14995 since 04 Nov 2007 04:11
JoostinOnlineJoostinOnline since 15 Nov 2007 00:32
AnkillitoAnkillito since 12 Dec 2007 05:17
Ein_HaldenlebenEin_Haldenleben since 18 Dec 2007 06:52
OninionOninion since 23 Dec 2007 20:08
kalan_vodkalan_vod since 16 Jan 2008 07:27
whatifitsnotwhatifitsnot since 21 Jan 2008 03:01
SocksSocks since 25 Jan 2008 22:07
AcroAcro since 27 Jan 2008 03:16
Zaphod BeeblebroxZaphod Beeblebrox since 02 Feb 2008 21:49
von der borchvon der borch since 07 Feb 2008 03:58
CesiumCesium since 09 Feb 2008 16:17
ryborybo since 12 Feb 2008 12:29
RandomProductionsRandomProductions since 23 Feb 2008 02:56
prototypicalXprototypicalX since 28 Feb 2008 08:15
TroyLSandersTroyLSanders since 20 Mar 2008 12:33
BluedragonBluedragon since 24 Mar 2008 18:38
James KanjoJames Kanjo since 25 Mar 2008 01:48
pokedotpokedot since 28 Mar 2008 00:37
AJLitzau13AJLitzau13 since 10 Apr 2008 03:15
RevenantphoenixRevenantphoenix since 27 Apr 2008 14:51
lupus6x9lupus6x9 since 03 May 2008 22:45
krazynesskrazyness since 04 May 2008 12:12
patriotsfanpatriotsfan since 06 May 2008 23:41
Nick53Nick53 since 10 May 2008 09:14
basickevinbasickevin since 25 May 2008 22:40
MosquitoMosquito since 31 May 2008 04:18
Jonathan KingJonathan King since 06 Jun 2008 12:16
Edward HEdward H since 09 Jun 2008 17:46
NorinionNorinion since 09 Jun 2008 22:40
FlameviperFlameviper since 10 Jun 2008 13:01
piano_manpiano_man since 10 Jun 2008 13:01
MobiusIntellectusMobiusIntellectus since 10 Jun 2008 18:28
HedonismBotHedonismBot since 10 Jun 2008 22:13
zapperpostzapperpost since 11 Jun 2008 01:04
--dome91----dome91-- since 11 Jun 2008 15:05
builderboybuilderboy since 12 Jun 2008 03:55
jnesselrjnesselr since 12 Jun 2008 05:02
ZagorNBKZagorNBK since 12 Jun 2008 12:55
ArjenArjen since 12 Jun 2008 17:27
WordsHereWordsHere since 13 Jun 2008 13:48
darkstone knightdarkstone knight since 13 Jun 2008 14:24
pedrosoriopedrosorio since 16 Jun 2008 08:47
Mapar007Mapar007 since 18 Jun 2008 11:29
TowelyTowely since 19 Jun 2008 05:44
MallkuMallku since 21 Jun 2008 10:48
olin3434olin3434 since 21 Jun 2008 18:55
froggy222froggy222 since 24 Jun 2008 21:55
zerompzeromp since 25 Jun 2008 16:36
7thAce7thAce since 27 Jun 2008 14:22
perilquestperilquest since 30 Jun 2008 20:00
my_namemy_name since 01 Jul 2008 18:50
fractalpfractalp since 12 Jul 2008 12:07
architeuthiskidarchiteuthiskid since 18 Jul 2008 01:45
larry4624larry4624 since 16 Aug 2008 02:35
papwalkerpapwalker since 16 Aug 2008 06:07
TI-86erTI-86er since 20 Aug 2008 14:53
GamuelGamuel since 23 Aug 2008 14:31
someon3426someon3426 since 28 Aug 2008 01:25
ePIiePIi since 09 Sep 2008 02:43
Timothy FosterTimothy Foster since 17 Sep 2008 00:40
Will WestWill West since 17 Sep 2008 02:25
snacks tastysnacks tasty since 23 Sep 2008 01:19
The RenegadeThe Renegade since 23 Sep 2008 15:40
programmarprogrammar since 01 Oct 2008 17:12
gumbeegumbee since 03 Oct 2008 06:37
nintendoriot101nintendoriot101 since 03 Oct 2008 16:14
paintballnoobpaintballnoob since 06 Oct 2008 17:32
LeperboyLeperboy since 25 Oct 2008 23:08
skuller972skuller972 since 26 Oct 2008 15:42
page 1 of 12123...1112next »

Moderators

BattlesquidBattlesquid
earthniteearthnite
Mr DinoMr Dino
Silver PhantomSilver Phantom
SocksSocks
thornahawkthornahawk
Toothless the DragonToothless the Dragon
TrenlyTrenly

Admins

alexruddalexrudd
burrburr Master Administrator
DarkerLineDarkerLine
James KanjoJames Kanjo
jonbushjonbush
Timothy FosterTimothy Foster
WeregooseWeregoose
Xeda ElnaraXeda Elnara

author: a_bretherino
version: 1.0.2
summary: 'Wheel of fortune, the GAME for 2-3 players with puzzle adder!'
description: "Completely TI BASIC Wheel of Fortune game show for 2-3 people with expansion pack and puzzle adder program! Independent game: no other software required!\n\nRequires TI-84+CE for 26x10 home screen display and RAM space."
arcade: '1'
graphics: '0'
platform: '0'
puzzle: '1'
rpg: '0'
strategy: '1'
sports: '0'
casino: '1'
board: '0'
utility: '0'
misc: '0'
compatibility: ff
download: 'archivefile:wheel-1-0-2/WHEEL-1-0-2.zip'
image: null
fileSize: '26639'
fileSizeUnit: '1'
dateMade: '1501477200'

Program Editor:

Before you start by making your first code, you must learn how to create a program(Make sure you are in the Calculator application). Press Menu and go to 8. Then, press 1 and 1 again. A window will pop up prompting the name of the program. Put in the name, then select the type (program or function) and press OK. Now, you are in the program editor, you can now move to the tutorials underneath.

Introduction:

Well hello and welcome to your first tutorial! Let's start with the title "How to print text on a TI-Nspire", Well to simply answer your question it's Disp or text. Let's look at the two examples underneath.

Text "HELLO, WORLD!"

If you want to include more functionality to displaying text, you can use Disp which will display your text as well.

Disp "HELLO, WORLD!"

author: 'TI-Basic Dude'
version: 1.3.1dots
summary: 'Look at description.'
description: "How to play:\nYou need to find all the hidden dots within the time limit. \nComes with FREE of the ASCII chars:\n↑↓#%&@\\_|₀₁₂₃₄₅₆₇₈₉…$Ŝ\n\n(Oops, did not turn out correctly… Oh well.)\n\nThis was just typed in on August 10th, 8:30 AM.\nAnd, this game allows you to pause the game. Just in case you need to use the restroom or make lunch or something. \n\nAllows you to stop the game in case you need to quit. Pretty fun if I do say so myself.\n\nAnd I may go to Europe this year or next year for my moms job.\nNot sure if there is internet or not in Europe. Well, see ya around!"
arcade: '1'
graphics: '0'
platform: '0'
puzzle: '1'
rpg: '1'
strategy: '1'
sports: '0'
casino: '0'
board: '0'
utility: '0'
misc: '1'
compatibility: bb
download: 'archivefile:dots/DOTS.8xp'
image: 'archiveimage:screen01-3/SCREEN01.JPG'
fileSize: '2470'
fileSizeUnit: '1'
dateMade: '1498888800'

author: 'Michael K. Pellegrino'
version: '1.0'
summary: 'This version of the classic game was written in pure z80 Assembler. To run it use the Asm command. It was written for the TI83/84+ calculators.'
description: 'Classic game of 21 - Text Based - Saves your bank upon exit. If you run out of funds - you can register the game for $2.00 and you will perpetually have a bank roll.'
arcade: '0'
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '1'
sports: '0'
casino: '1'
board: '0'
utility: '0'
misc: '0'
compatibility: bb
download: 'archivefile:blkjck-3/blkjck.zip'
image: null
fileSize: '3256'
fileSizeUnit: '1'
dateMade: '1498104000'

Routine Summary

Calculates the mode(s) of a list of numbers.

Inputs

L₁ - To store the user-inputted list of numbers

Outputs

L₃ - The mode(s) of the original list of numbers
Ans - The mode(s) of the original list of numbers (alternates)

Variables Used

L₂ - Intermediate calculation storage
X - Weregoose's version only

Calculator Compatibility

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

Authors

kg583, Trenly, Weregoose

:ClrList L₂,L₃
:iL₁(1)+sum(L₁=L₁(1→L₂(1
:For(L,2,dim(L₁
:If not(max(L₁(L)=imag(L₂
:iL₁(L)+sum(L₁=L₁(L→L₂(1+dim(L₂
:End
:For(L,1,dim(L₂
:If real(L₂(L))=max(real(L₂
:imag(L₂(L→L₃(1+dim(L₃
:End

The mode of a list is the value that occurs most often within the list. This routine will find the mode and, if there are any ties, will display all modes. Examples:

:{1,2,3,3,4
Mode = {3}
:{5,5,6,6,7
Mode = {5,6}

Alternate Routines

:SortA(L₁
:Repeat min(0≠ΔList(L₂
:{0→L₂
:ΔList(L₁→L₃
:For(θ,1,dim(L₃
:If not(L₃(θ
:L₁(θ→L₂(1+dim(L₂
:End
:L₂→L₁
:End
:ΔList(cumSum(L₂

This version coded by Trenly is slightly shorter than the above routine by kg583 and produces the same output, which is saved in Ans rather than L₃. However, the original list in L₁ is modified in the process, so make sure to backup that list somewhere else if you need it later.

:1+max(abs(L₁→X
:L₁+Ans
:While max(Ans
:Ans→L₁
:SortD(L₁
:L₁augment({0},not(ΔList(L₁
:End
:sum(L₁ xor 0→dim(L₁
:L₁-X

This version written by Weregoose is very similar to Trenly's in form and function. The output is, again, in Ans and lists all modes, but does also modify L₁ in the process. Note the advanced use of the xor function.

Introduction

The 68k series can easily make an accurate distinction between programs and/or functions. Functions are just like programs except that they do not allow statements with side effects (such as Input or "Disp," or allow editing of non-local variables), and they return a single value, which in the absence of an explicit Return statement is the last expression evaluated in the system.

Moreover, the 68k version of TI-BASIC allows creating user-defined functions. Functions have the same syntax as programs except that they use the "Func…EndFunc" keywords instead of "Prgm…EndPrgm," and that they are not allowed to use instructions that perform I/O, modify non-local variables, nor call programs. However, functions can still be non-pure because they can call built-in functions such as "getTime(), getKey(), or rand()."

Lastly, all functions have a return value, which in the absence of an explicit Return statement is the last expression evaluated.

Functions Program Example

fact(x)
:Func
:If x=0
:Return 1
:If x<0
:Return undef
:x*fact(x-1)
:EndFunc

Creating a program in the Program Editor

Time to make your first program in 68k Basic! In the APPS menu select #7, go to the "Program Editor", and then press "New". Enter a name for your program in the variable field, let's call it "hellowld". Press enter, and here we go!

Creating the Program

The following program, when executed, will display the phrase "Hello World!"

hellowld()
:Prgm
:ClrIO
:
:Disp "Hello World!"
:
:Pause
:ClrIO
:DispHome
:EndPrgm

Let's go through a line-by-line analysis of this code.

hellowld()
:Prgm

This is where the program starts. Every program you make will start with the name of the program, followed by parenthesis. The nest line contains an opening Prgm tag, which indicates the beginning of the program. Everything after it will contain the actual code that you write.

:ClrIO
:
:Disp "Hello World!"

The next command is ClrIO, which will clear the Input/Output buffer. For those who don't know what this is, it's basically a different section of the calculator where output is displayed (so output is not displayed on the Home screen, it is displayed here). After that, we have a new command Disp, which displays a string to the IO buffer.

:Pause
:ClrIO
:DispHome
:EndPrgm

We then pause the program, which will halt program execution until the ENTER key is pressed. More information on why we do this up ahead. After pressing the enter key, the program clears the IO buffer (which erases the "Hello World!" message from it) and goes back to the home screen using the DispHome command. This is the end of our program, which means that we can add the EndPrgm tag, which closes the program.

You may look back and ask, why did we include the pause command? This is because shortly after, we display the home screen using DispHome. This means that the "Hello World!" message will be printed the IO buffer, but it will display the home screen quickly before you can even try to read the message. We add the pause in there to allow the user to read the message before executing the rest of the code. This roadblock can be crossed by removing the DispHome command, but for ease of use, we keep the DispHome and make sure to throw in the pause command after we display the text.

<< Overview of 68k Basic Table of Contents Good Programming Practices >>

author: 'TI-Basic Dude'
version: 5.0S.0C
summary: 'This is My first upload to this website!!!!! Yay!!!'
description: "This Program Includes a Onblock assembly program and the security program. Please post to tell me if you want to change it in any way/ or optimize it.\n\nThis Program Includes:\n\n~ Security Program (I highly recommend you get TI's Start-Up Customization App)\n~ On block (To prevent people from using the [ON] key to exit.)\n\nYou may choose your own PIN instead of \"9257\".\n\nOther Information:\n\n79 bytes for the prgmONBLOCK\n434 bytes for the prgmθSECURTY\nThis program is edit locked. To unlock it, use the TI-BD's assembly program for the Lock status for a program.\n\nⒸ 2017 TI-Basic Dude\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: 'archivefile:security/SECURITY.zip'
image: null
fileSize: '513'
fileSizeUnit: '1'
dateMade: '1494741600'

…that you can change the color of the input or output of a math box?

…that you can compare multiple data sets in the same graphing window?

…that many of the Windows shortcut key commands work on the Nspire?

Ops | A | B | C | D | E | F | G | I | L | M | N | O | P | Q | R | S | T | U | V | W | X | Z

Ops

+, -, ·, /, ^, ^ֿ¹, ²
.+, .-, , ./, .^
=, , <, , >,
(insert implies arrow here), (insert iff arrow here)
10^(), E, !, %, ,
d(), (insert integral symbol here), Π(), Σ(), ΣInt(), ΣPrn()
&, #, ', _, |, ©
(insert angle symbol here), º, ', ", g, r
:=, ,
0b, 0h

A

abs()
amortTbl()
and
angle()
ANOVA
ANOVA2way
Ans
approx()
▶approxFraction()
approxRational()
arccos()
arccosh()
arccot()
arccoth()
arccsc()
arccsch()
arcLen()
arcsec()
arcsech()
arcsin()
arcsinh()
arctan()
arctanh()
augment()
avgRC()

B

bal()
▶Base2
▶Base10
▶Base16
binomCdf()
binomPdf()

C

ceiling()
centralDiff()
cFactor()
char()
charPoly()
x²2way()
x²Cdf()
x²GOF
x²Pdf()
ClearAZ
ClrErr
colAugment()
colDim()
colNorm()
comDenom()
completeSquare()
conj()
constructMat()
CopyVar
corrMat()
▶cos
cos()
cosֿ¹()
cosh()
coshֿ¹()
cot()
cotֿ¹()
coth()
cothֿ¹()
count()
countif()
cPolyRoots()
crossP()
csc()
cscֿ¹()
csch()
cschֿ¹()
cSolve()
CubicReg
cumulativeSum()
Cycle
▶Cylind
cZeros()

D

dbd()
▶DD
▶Decimal
Define
Define LibPriv
Define LibPub
deltaList()
deltaTmpCnv()
DelVar
delVoid()
derivative()
deSolve()
det()
diag()
dim()
Disp
▶DMS
domain()
dominantTerm()
dotP()

The ListPages module does not work recursively.

…that the Nspire can program in TI BASIC, C, Assembly, and Lua?

Did you know…

The ListPages module does not work recursively.

Did you know…

The ListPages module does not work recursively.

Did you know…

The ListPages module does not work recursively.
May 11 The nspire section was added to the news category

Program Editor

Before you start by making your first code, you must learn how to create a program(Make sure you are in the Calculator application). Press Menu and go to 8. Then, press 1 and 1 again. A window will pop up prompting the name of the program. Put in the name, then select the type (program or function) and press OK. Now, you are in the program editor, you can now move to the tutorials underneath.

Hello World!

The following program, when executed, will display the phrase "HELLO, WORLD!"

Text "HELLO, WORLD!"

Other Methods:

If you want to include more functionality to displaying text, you can use Disp.

Text "HELLO, WORLD!"


Is the same as:

Disp "HELLO, WORLD!"

author: 'Trent Knight'
version: '1.0'
summary: 'GeometryCE is a program that automatically calculates many different geometry formulas for you.'
description: 'GeometryCE stores many common formulas for you to use, and solves the formulas for you. All answers are given in exact form. I am planning on updating it with approximate answers and more formulas.'
arcade: '0'
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '0'
utility: '1'
misc: '0'
compatibility: ff
download: 'archivefile:geometryce-1/GeometryCE.zip'
image: null
fileSize: '6'
fileSizeUnit: '2'
dateMade: '1494306000'

Preparation

Main Content

References

counter free hit unique web

  • CHAR
    • → ⸤ ⁻
    • × ÷ ±
    • √ Σ ≠
    • ≥ ≤ π
    • Δ χ ▶
    • ֿ¹ ² ³
    • L₁ L₂ L₃
    • L₄ L₅ L₆
    • ≅ ℕ º
    • θ ∠ ∞
    • ♦ ⇧ ∫
    • ∏ ©

This FAQ is an attempt to answer the common TI-Basic related questions that people ask. Many of the questions are related to each other, so it is recommended that you read through the whole list. If you have any questions that aren't mentioned on the list, please post them in the forum or make a comment at the bottom of the page.

General

Q: Is TI-Basic easy to learn?
A: Yes! TI-Basic has the majority of the standard features and functionality that you find in other BASIC programming language variants (i.e., things like user input and variables are very similar), so if you can learn those languages, TI-Basic should be no problem. If TI-Basic is your first exposure to programming, it will require some work to learn, but it is definitely worth it because TI-Basic is a fun language to use.

Q: How do I learn TI-Basic?
A: The best way to learn TI-Basic is to download a copy of the manual, and start making small, sample programs to try out the different TI-Basic commands. Once you feel comfortable with the commands, you can start putting them together to create larger programs. After that, you should move on to learning the more advanced design concepts and techniques that are part of TI-Basic.

Q: Where can I get information on TI-Basic?
A: The wiki you are currently on has the largest collection of TI-Basic information available, including commands, design concepts, techniques, and experimentation. The resources page also has a comprehensive list of TI-Basic tutorials that you can find elsewhere on the Internet. In addition, you can download all of those tutorials (and many more) on the downloads page.

Q: Do you have a tutorial about [subject]?
A: The best way to find out is to use the search box. If you don't find what you are looking for, leave a comment in the forum and one of us will try to help you. We won't guarantee that you will find everything on this wiki that you are looking for, since it is a constant work in progress and there are simply too many topics to cover. If you would like to make a suggestion for a new tutorial, you can add it to the wiki to-do list.

Q: Where did the TI-Basic name come from?
A: Back when the language was growing in popularity and use, people wanted a simple name to refer to it that was easy to remember and told you what it was. Because it is the built-in programming language of the TI graphing calculators, and it is a variant of BASIC (more or less), TI-Basic is what they called it. You should note that the name is unofficial, as TI has never actually given it a name (for example, try searching for TI-Basic in the calculator manual; you won't find it).

Q: I've seen TI-Basic spelled with all uppercase (TI-BASIC) and with mixed case (TI-Basic), but what is the correct way to spell it?
A: Truthfully, there is no one correct way to spell it. It is just a personal preference. On this wiki, however, you will probably notice that we spell TI-Basic with mixed case. The primary reason for that decision is because it is easier to read (all caps aren't very reader-friendly).

Q: What calculators support TI-Basic?
A: All of the TI graphing calculators have TI-Basic support built-in. Of course, the calculators each have their own TI-Basic variant (see next question).

Q: What's the difference between Z80 and 68k TI-Basic and Nspire TI-Basic?
A: Simply put, a whole lot. Nspire TI-Basic lacks all sorts of things that 68k (and even Z80) TI-Basic has, especially graphics commands. This mostly relegates Nspire TI-Basic to math programs.

Q: Is there a place where I can interact with other TI-Basic programmers?
A: While there is a forum available here on this wiki for TI-Basic discussion and help, the best TI-Basic forum in terms of user activity is United-TI, which has a Nspire TI-Basic section. In fact, the majority of members of this wiki are active members at United-TI, so you will probably see us hanging around there.

Games

Q: Where can I find TI-Basic games and programs to download?
A: On our resources page, you will find several links to general TI related sites. One of the best sites to visit for games and programs is ticalc.org, which has the largest archive of TI-Basic games and programs of any site on the Internet.

Q: What is an emulator?
A: An emulator allows you to run a virtual form of your calculator on your computer, which is very convenient when you want to make quick changes to programs, or do any debugging or optimizing. There are several emulators available for you to use, so you should just experiment to see which one you prefer.

Q: I downloaded an emulator for my calculator, but it won't work because it says it needs a ROM image. What is that?
A: A ROM image is simply an instance of your calculator, which tells the emulator that you own your calculator. It is primarily used as a safeguard because only one person is supposed to be using any one ROM image. To download the ROM image to your computer, you just link your calculator to your computer, and then the emulator should be able to download the ROM image off of it.

Q: I have an awesome idea for a game, but I don't know how to program. Can you program it for me?
A: While we would like to help you program your game, we each have our own projects that we're working on and other real-world things (like school and a job) that occupy our time, so we aren't able to program your game for you. At the same time, if you have a specific TI-Basic programming question that you need help with, we'd be happy to help you. Even better than us programming your game, though, is you programming it yourself (see next question).

Q: What do I need to make games?
A: The main things you need to make games are your TI calculator and calculator manual. Before you actually implement a game, however, you should plan it out. This involves coming up with the idea for the game, and working out the many details of the game: graphics, gameplay, menus, and so on. Once you have all of those things figured out, you just need to put them into action.

Q: What is a good tutorial for making games?
A: Unfortunately, there really is no comprehensive game tutorial available. Instead, there are several small tutorials that each cover different aspects of games. In addition, on this wiki there are quite a few techniques covered — see for example the Special Topics section.

Q: Can I use a routine from this wiki in my game?
A: Yes! In fact, we encourage it. All of the routines on this site are designed to be as optimized and efficient as possible, so that readers learn the best way to program.

Q: Can I use sprites from other games in my own game?
A: The general consensus among the calculator programming community is that using somebody else's graphics in your game is fine, as long as you get their permission to do so. However, if you don't plan on releasing your game to the community, but instead just keeping it to yourself and your friends, then it doesn't really matter.

Programming

Q: How do I draw graphics?
A: Nspire TI-Basic is relatively unknown to the programming community, so nobdy really knows how to use graphics commands. Hopefully, as knowledge of programming the Nspire grows, there will be more information on Nspire graphics.

Q: Can I do [task] in TI-Basic?
A: While it's possible to do almost anything in TI-Basic, whether it looks nice and runs at a decent speed is a different matter. If you have thoroughly planned your program and made it as optimized as possible, and your program still takes a minute to load and there's a five second lag after each key press, that's a good indicator that you should probably use assembly or C instead. At the same time, you should always strive to push the boundaries of TI-Basic.

Q: How do I convert a number to a string and vice versa?
A: The string() command can be used to convert any variable type to a string. To convert in the other direction, use the expr() command.

Q: My program is extremely large. Is there a way to manage/condense the code better?
A: First of all, your program will probably shrink in size after the first time you run it, due to tokenization. If that's not enough for you, see the optimization page for more tricks.

Q: Are there any undocumented features (Easter eggs) in TI-Basic?
A: Unlike the TI-83 version of TI-Basic, virtually everything we know about the Nspire calculators' TI-Basic is documented somewhere. However, there are some features that the manual doesn't emphasize but are quite useful to TI-Basic programmers.

Q: How do you disable the ON key?
A: This is impossible in pure TI-Basic. Using Try..EndTry blocks, you can disable the ON key during text input, but the only way to disable it universally is with an assembly program or Exec code.

Q: How do I hide the code of my TI-Basic program?
A: This is impossible — if someone can run your program, they can see the code as well. You really shouldn't try to hide the code too, but let others learn from it instead.

Troubleshooting

Q: My calculator can't handle expressions with several variables, (e.g. it can't factor x^2+y^2+2xy). How do I fix this?
A: When you type xy next to each other, the calculator doesn't treat it as multiplication, but as a different variable called "xy". Write x*y instead and you should have no trouble.

Q: I've entered a simple expression and am confident of the result, but the calculator gives something bizarre! (For example, d(x^2,x) gives 10 as a result) What's wrong?
A: Make sure all the variables you're manipulating in a general way (x, in the example) are actually undefined. If not, delete them using DelVar. Otherwise, their values will get substituted and you'll get a weird answer. This can result in other surprising errors as well.

Q: I think some of the routines on this wiki have errors in them, because they didn't work for me. Could you please correct them?
A: We have strived to make sure that all of the routines on this site work correctly and without problems. However, if you are 100% sure that you entered the routine correctly into your calculator, please leave a comment on the page using the comment function at the bottom of the page. Somebody will then be able to correct the routine so that it won't cause anybody else any problems.

Q: I was playing a TI-Basic game and my calculator suddenly shut off. When I turned it back on, my memory was erased. What happened?
A: Your game had a glitch of some kind, and it caused the calculator to crash. This is usually caused by Assembly programs, as the majority of TI-Basic errors are caught by the calculator. You don't have to worry very much about TI-Basic crashes because they don't do any real permanent damage to the calculator, but because it is very annoying to have to replace all of your programs after your RAM is cleared, you should always store any important files in the archive.

Q: When I tried to run my TI-Basic program, I got this error message. What does it mean?
A: Most error messages are fairly self-explanatory, but if you're still confused, you should consult our list of error messages with a more in-depth explanation.

Assembly/C

Q: How does TI-Basic compare to Assembly or C?
A: TI-Basic is much easier to learn and program in, but it is rather slow because it is an interpreted language. TI-Basic has many good graphics commands, but will still be slower than assembly or C programs; also, TI-Basic programs are limited in control over the calculator.

Q: Is it possible to convert TI-Basic to Assembly?
A: No, it is not. There are currently no working programs available that will convert TI-Basic to Assembly (note: I say working because people have tried creating TI-Basic to Assembly converters, but nobody has completed one yet), so the only way you can convert a TI-Basic program to Assembly is by learning Assembly and porting the program yourself. You could also try asking an Assembly programmer to port it for you, but most people won't do that unless the program is pretty small.

Q: I want to use an Assembly program with my TI-Basic program, but I can't figure out how to use it. Can you help me?
A: Unfortunately, we really can't do much for you. What we recommend is that you contact the author of the Assembly program and ask them for help. They wrote the program, so naturally they should be able to answer any questions that you have.

Program Editor

Before you start by making your first code, you must learn how to create a program(Make sure you are in the Calculator application). Press Menu and go to 8. Then, press 1 and 1 again. A window will pop up prompting the name of the program. Put in the name, then select the type (program or function) and press OK. Now, you are in the program editor, you can now move to the tutorials underneath.

Hello World!

The following program, when executed, will display the phrase "HELLO, WORLD!"

Text "HELLO, WORLD!"

Other Methods:

If you want to include more functionality to displaying text, you can use Disp.

Text "HELLO, WORLD!"


Is the same as:

Disp "HELLO, WORLD!"

Who's Greater?

In this code, if c is greater than d, the program will say "yes" or otherwise it will say "no".

If c>d Then
Disp "Yes"
Else
Disp "No"
EndIf

author: Zixcoder
version: 1.4.1
summary: 'A Minesweeper program that will sweep you into a fun, classic puzzle! Find all the mines on the screen to win. This version includes varying difficulties, different text and control styles, custom options, automatic clearing, and a saving and loading feature, all written in pure TI-BASIC for the TI-84+C calculators. Happy solving!'
description: "This Minesweeper program is easy to install. Use TI-Connect or another linking application to download the .8xp file to your TI-84 Plus CE (C Silver Edition)calculator, then simply press \"prgm\" look for the program named \"MINES\", and press \"enter\" twice.\nControls in the menu:\nUP and DOWN arrow keys - scroll\nLEFT and RIGHT arrow keys - switch selected setting\nENTER and 2ND - proceeds with an action\nDEL - exits an action\nCLEAR - exits the program\nOther keys are also used to select \"no\", or \"off\", i.e., using \"(-)\" beside \"enter\" and \"mode(quit)\" beside \"2nd\".\n\nIn the menu:\nStart Game - Begins a new save according to the difficulty set, or continues from your last save.\nStyle - Changes the displayed characters in the game.\nDifficulty - Changes the amount of mines a new game starts with. The total amount of spaces is 260.\n Beginner - 20 mines\n Easy - 30 mines\n Normal - 40 mines\n Hard - 50 mines\n Expert - 60 mines\n Custom - Whatever you set it to! To change it, press enter or 2nd while the difficulty is set at custom.\nAuto-Clear - Lets you toggle automatic clearing on and off to make the game faster if desired.\nCustom Controls - Lets you toggle your set custom controls on and off or set new custom controls.\nStatistics - shows your best times for each difficulty and the amount of mines in the most crowded minefield you've cleared!\nConfigure - Sets up the program to work. You only need to do this once the program is downloaded, or when Str1 has been modified. BEFORE DOING\n ANYTHING ELSE, select the \"Configure\" option. This sets up the save, and avoids experiencing bugs when first playing the game.\nQuit - Exits the program.\n\nControls in-game:\nARROW KEYS - move cursor\n2ND or CLEAR - clear a space\nALPHA or \"^\" - mark a flag\nSTAT - saves the game\nDEL - exits the game\nENTER - Tests the board to make sure it has been completed\nCustom controls also apply here, for the clearing and flagging keys.\n\nApproximate loading statistics:\nSaving a game - 5 seconds\nLoading a game - 18 seconds\nSetting up a new map of mines - 3 seconds for every 10 mines (e.g. Normal - 12 seconds)\nAutomatic Clearing - 3 EMPTY spaces every second - about 10 spaces per second otherwise\n\n5/7/17 - Update v1.1 - Save and exit are two different buttons, more user-friendly, minor fixes.\n\n5/8/17 - Update v1.1.2 - Removed crash at beginning of program for new users, other bug-fixes improving user friendliness.\n\n5/13/17 - Update v1.3.0 - FASTER saving, bug fixes, option turning off automatic clearing, and custom controls!\n\n5/24/17 - Update v1.3.1 - FASTER loading, faster button response (thank you to zeldaking @ cemetech for idea!)\n\n5/25/17 - Update v1.4.0 - Added Statistics! View best scores and times!\n\n10/2/17 - Update v1.4.1 - Various amendments and improvements\n\nI may later create a TI-84+/83+ edition.\n\nPost in the comments if you find a bug (all of which can never be exterminated!), or if you would like to suggest a new feature. I have left the program editing unlocked so that, if you find a glitch, you than reference it to me. Thank you in advance for helping out to perfect this program into a masterpiece!"
arcade: '1'
graphics: '0'
platform: '0'
puzzle: '1'
rpg: '0'
strategy: '0'
sports: '0'
casino: '0'
board: '1'
utility: '0'
misc: '0'
compatibility: ff
download: 'archivefile:minesweeper-c/Minesweeper-C.zip'
image: 'archiveimage:minesweepercapture-1/MinesweeperCapture.png'
fileSize: '9960'
fileSizeUnit: '1'
dateMade: '1493964000'

Welcome to the TI-Basic Developer (TI|BD) Nspire Basic Starter Kit! This tutorial is designed to help new Nspire programmers get their feet off the ground. The tutorial is divided into chapters that each have their own focus, and is meant to be read in sequential order. If you have questions or get stuck, leave a post on the forums and somebody will assist you. Happy coding!

1. Getting Started

  1. Introduction to Nspire Basic
  2. Overview of Nspire Basic
  3. Your First Program
  4. How to use your Nspire Calculator
  5. Computer Setup

2. The Basics of Nspire Basic

  1. How to display text on your Nspire
  2. How to loop a program on your Nspire
  3. How to use functions on your Nspire
  4. How to use variables on your Nspire

3. Creating Games

  1. How to make a Nspire arcade game
  2. How to make a Nspire RPG game
  3. How to make a Nspire Math game

4. Advanced Graphics

5. Math Functions

6. Optimization

7. Putting It All Together

8. Miscellaneous

If you have any suggestions whatsoever on content, feel free to add them here.
Nspire Pages To-Do
Click me to edit !
Drag me !
To Do TI|BD nspire
Here is a place for your title Click me to edit ! false

Testing area for the Nspire home header.

Why use Nspire Basic?

This tutorial is meant to teach new Programmers about the TI-Nspire. This is a simple introduction to Nspire TI-Basic for programmers that are already fairly experienced with TI-83 series Basic programming! Instead of re-teaching many things, this tutorial highlights the differences between the two languages.

Major Features

A major features of the older Nspire calculators is the simplicity of programming. It has a very strange layout compared to the other TI graphing calculators. First, all the letters get their own buttons, making it a little easier to type than on the 84. Also, it has a ctrl key rather than a 2nd key. It has a clicker key, menu key, catalogs, enter, and even a caps key. If you observe it long enough, it begins to resemble a keyboard. This is because the Nspire is designed to be like a computer in a way. It uses documents to store information. These documents hold information about anything you did within it, not just programs. You can choose to save it, or load different documents, a lot like a computer. Also, the Nspire utilizes a mouse type system. It replaces the arrow keys with one round button. It acts as the arrows, and as a way to move a mouse-like pointer across the screen. The Nspire is a transition of a calculator to a computer, yet held back enough to retain calculator status.

A very programming-relevant difference, on the other hand, is the advent of printing codes. Using the Text your program can identify that you want it to print a word, while the 83 only uses Disp and Output to print out the code.

Also one of the highlights is how much pictures have been empowered. They now can be any size and be displayed with any logic. True "real-time" multiplayer games are now possible with the SendCalc Command, something that was impossible on 83's.

The more specific differences described below tend to combine to make programs run faster, and allow for a programming style closer to programming a more "serious" language on a computer.

Commands

On the TI-89, commands can be entered letter by letter, and don't have to be chosen from a menu. In practice, programs and functions are tokenized, making a command range take up 1 to 3 bytes in a program. Most of the commands on the Nspire are the same or variations of the 68k commands. However, the Nspire lacks most graphical commands, and some variable commands are limited. Some commands require a Computer Algebra System, or CAS, so if your Nspire doesn't have CAS, many of the commands will not function.

There are a few commands for exclusive use in programming. These commands help direct how the program works so that it can complete various tasks.

Many commands have been added or removed between the two languages. In addition, the following commands have changed in spelling:

There are two more overall changes. First, many commands' names have been truncated where they were longer than 8 characters: this is the maximum for a command name on the TI-89. An example is RclPic, the 68k equivalent of RecallPic.

Second, the use of parentheses after a command now follows a strict convention.

  • "Instructions" — commands that do not return a value — do not require parentheses (e.g. If, Text, etc.)
  • "Functions" — commands that do return a value — require parentheses (e.g. sin(), setMode(), etc.)
  • Even functions with no arguments use parentheses (e.g. getKey(), startTmr(), etc.)

Many commands have been added. However, as far as statistics goes, the 68k calculators are inferior, even, to the TI-83 series; most of the functionality is now restricted to regressions, and the calculator doesn't even know internally how to calculate most probability distributions.

Variables

The way variables are stored has undergone major changes from the TI-83 series. All variables now share a common naming system: the name of a variable can be up to 8 letters long. Variables can also be placed in different folders, which can't be nested but otherwise are very similar to file folders on a computer. By default, variables are stored in the folder 'main'.

Variables on the Nspire function in much the same way as 68k variables. A variable can be a string of letters. An undefined variable is italicized. For example, if the variable height was undefined, or had nothing stored to it yet, then on the calculator the variable would look like height. Defined variables are bolded, so if height was defined, it would appear as height. Commands are neither bold or italicized, and you cannot store information into them.

List are very different. In addition, lists are important for saving save game data and highscore data in programs. This is better than storing highscore or save game information as a variable, as variables are commonly changed during calculations performed by the users. They now can hold any combination of numbers, expressions, and character strings. This makes them more powerful, but also slows them down significantly. Data's are basically matrices, but with the new capabilities (and speed limitations) of the new lists. Matrices stayed the same though, limited to numbers, but retained their speed. You can effectively emulate an "old style" list by using a matrix with only 1 row/column,

Programs

Programs are also considered variables, on the same level as any other: you can even define a program within another program. They imitate built-in commands, and can even be given parameters. Using the Local command, you can declare local variables that are reset to their old values once a program finishes running.

You can also define functions, which are similar to programs but return a value. Functions have some other limitations, though: they can only use local variables, and can't modify any global aspects of the calculator (so graphical commands, for example, are limited to programs).

With local variables, and the ability to define functions and programs, you can program in a procedural language style. Instead of placing the entire code of the program in one block, you can split it up into functions and subprograms that are defined at the beginning of the main program.

The entire issue of memory leaks (caused on the TI-83 series by jumping out of code blocks with Goto) is no longer present in 68k TI-Basic. Loops have offsets linking the end to the beginning, so the program doesn't need to keep a stack to be aware of what to do with End instructions. There is no longer any memory cost to entering a loop (or any other kind of code block), so it's impossible to leak memory this way.

Optimizations

Most types of trivial optimizations from the TI-83 series are invalid on the 68k calculators. For example, closing parentheses, quotes, and brackets are now mandatory — but don't add any size to the program, since it's tokenized and converted to postfix notation. The Ans variable no longer plays an important role: though the ans() command does exist to replace it, it's not modified by storing to variables inside a program, so it's mostly useful on the home screen.

A large part of 68k optimization revolves around careful use of lists. List variables are no longer random access: accessing the last element of a list is much slower than accessing the first element. For this reason, going through a list in a For loop is about the worst thing you could do.

Graphics

The screen resolution on the Nspire is superior to other calculators and is much better than any other calculator in history. The screen displays curves very well, it graphs cleanly, it uses letters and other characters with different size (much like a computer font style), and it is bigger. Also, the screen has many different shades of gray. In using inequalities, the calculator can actually shade in the region instead of drawing lines that represent it, and it darkens regions of overlap. The screen is very nicely done.

Apart from these very powerful commands, more ordinary commands have also been buffed up. Virtually all graphics commands have a point and a pixel equivalent, so you're free to choose one or the other to use (usually, you'll want pixels). The Circle command now draws circles instantaneously, as opposed to taking several seconds.

Instead of being forced to choose between home screen and graph screen, the choice is between graph screen and "Program I/O" screen on the 68k calculators. The program I/O screen is a separate home screen for programs, which is limited to text (but the text doesn't have to be aligned). In addition, both screens can be spiced up using dialogs, which imitate the appearance of a popup window on a computer, and are great for inputting data without having to erase anything from the screen.

Another major addition to the graphics command set is the newly created Dialog feature. New commands add extra I/O capability that doesn't interfere with the program I/O or the graph screen, allowing for enhanced in-program data entry.

Closing Words

This page gives an overview of some of the features of Nspire, but it isn't, and cannot, be complete. There are other pages you could visit to get a better picture of Nspire programming:

However, the best way to try to learn the language is first-hand experience with it.

It's the goal of this site to eventually cover all information on TI-Basic programming for the Nspire calculators. However, an excess of information can be overwhelming. So this page gives a suggested reading order (as well as necessary tidbits) so you don't get lost.

For Beginners

There are two alternatives for those who have just ventured into programming for these calculators. While you might want to just jump in, we have two tutorials that explain the basics of TI-Basic.

The first, the TI-Basic Starter Kit, teaches TI-Basic without assuming any previous programming experience. In fact, the very first page explains the basics of how a program works. After reading this tutorial carefully, you should be more than ready to handle the rest of this site.

The second tutorial is called TI-Nspire Programming for TI-83 Coders. As the name suggests, it is an introduction to programming for the Nspire calculators, for those who have already gotten pretty good at programming for the TI-83 series calculators. This is a fairly common situation: often, people get a new calculator when taking a more advanced math class. This tutorial explains the differences between TI-83 and TI-Nspire programming, so that you're not confused by the new features.

Further Reading

At this point, you should be familiar with more than a few TI-Basic commands. It might be a good idea to just jump into the command index and click on commands that sound interesting — you can really improve your TI-Basic knowledge that way. Or, select a category from the Commands menu in the top navigation, and read about commands in a more general way.

Looking at code examples is also a good way to learn. Sample Programs and Technique Examples are a good place to find such example code. See the Routines page for several short routines to get simple things done in the best possible way.

Use the glossary whenever you come across a term you're not familiar with. If it's not there or the entry doesn't help, drop a note in the forums and (usually within a day) helpful people will explain it and hopefully improve the glossary as well, so no one else has the same trouble.

Writing a Program

Of course, the best way to learn these topics is to come up with a project of yourself (check the projects page if you have no ideas), and go through the steps as you're doing it:

  1. Look at Planning when you're thinking about how to approach the problem.
  2. Consider Commenting code when you're writing it.
  3. If bugs arise (and they most likely will), see the section on Debugging.
  4. When the program works, add Setup and Cleanup to it, and check the section on Usability.
  5. If the program is too slow (and maybe even when it's not), see Optimization and Code Timings for ways to improve it.
  6. Finally, see Releasing Your Program for how to earn TI-Basic programming fame by making the program public.

These are listed in the Writing Programs section of the side navigation menu.

Advanced Topics

The "Special Topics" section (in the side navigation menu) discusses some advanced issues in TI-Nspire programming. You should probably have a good grasp of programming before venturing into these pages, but they are worth reading. Give them a glance to see how much you can understand.

Each special topic is mostly a stand-alone page. Here are the relative difficulties of the pages:

Easy

  • Subprograms — an idea you should be familiar with by now.
  • Saving Data — almost as easy as just storing to a variable.
  • Assembly — I'm not saying writing assembly is easy, but learning about it sure is.

Intermediate

  • Sprites — a matter of learning several commands, and where to use them.
  • Animation — a natural second step from the above.
  • Dialogs — again, just learning a few commands.

Hard

  • Compression — if you wanted, you could get into some heavy theory with this.
  • System Variables — almost more useful as a reference tool than anything else.
  • Tokenization — not much practical use, but it's useful to understand how things work.
  • Cross-Compatibility — if only more people were aware of this…

Reference Material

The pages in the Reference section of the side menu are probably not ones you'd read for fun. Take a look at them at any time to see what they're all about, and then check back when you need to know more.

2017

The ListPages module does not work recursively.

2016

The ListPages module does not work recursively.

2015

The ListPages module does not work recursively.

2014

The ListPages module does not work recursively.

2013

The ListPages module does not work recursively.

2012

The ListPages module does not work recursively.

2011

The ListPages module does not work recursively.

2010

The ListPages module does not work recursively.

2009

The ListPages module does not work recursively.

2008

The ListPages module does not work recursively.

2007

The ListPages module does not work recursively.

2006

The ListPages module does not work recursively.

I'll look into doing something about it, but I'm not sure what.

That worries me… :/ test

But you can edit other people's posts…

Oh this looks neat.

samplescreenshot.gif

Routine Summary

Approximates a future value of a given function.

Inputs

X - Initial X-Value
Y - Initial Y-Value
Str1 - The equation
D - X-value at which the Y-value is approximated

Outputs

U - X-value approximation
V - Y -value approximation

Variables Used

E, C, H, X, U, Y, Y1, V

Calculator Compatibility

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

Author

Xeda Elnara, who optimized Myles_Zadok's optimization of the routine linked to below:

Authors

The Mathematics Department at the University of Arizona

URL: [http://math.arizona.edu/~krawczyk/Calculator/TI83PLUS/TI83PNEul.html]

Download

routine.zip

Please note that there may be a graphical bug that displays the token -1 as 1.

:"INITIAL-
:Input Ans+"X=",X
:Input Ans+"Y=",Y
:Input "EQN=",Str1
:Str1→Y1
:Input "FINAL-X=",D
:Input "NO. OF ITERATIONS=",E
:Eֿ¹(D-X→H
:For(I,1,E
:ClrHome
:Y+Y1H→Y
:X+H→X
:ClrHome
:Disp "STEP",I,"X=",X,"Y=
:Pause Y
:End

Euler's method is used to predict the value of a function at a higher value than the initial value. The initial x- and y-values are used to find the y- value at the desired x-coordinate of the given function. Multiple iterations are done to reach a better approximation.

Related Routines

Hello TIBD.

Hello world.

Need the rest of the conversation? Check out the archive.

The ListPages module does not work recursively.
The ListPages module does not work recursively.
The ListPages module does not work recursively.
The ListPages module does not work recursively.
Apr 21 Congratulations to Trenly for being promoted to moderator, and to Xeda Elnara and jonbush for being promoted to administrator!
Apr 18 Chatbox temporarily removed due to lack of security, and rules being broken. The anticipated return date is yet TBD

THIS TIP IS FROM TIPRGMZ9K

TIP IS MOSTLY FOR BASIC PROGRAMS.

Ok. Want to prevent people from pressing the "break" button
accidentally during a Dialog or Text session? Here's how:

Prgm
Lbl x
Try
flib("breakoff")
Dialog
Title "Test"
Text "You can't break me!"
EndDlog
Else
Goto x
EndTry
Endprgm

Note: This requires the [[library, which includes commands to disable the [ON key.

It does not have to be Lbl x. This should prevent people from "breaking" the program and exiting the current program in session. This tip might not work all the time.

Credits

Credits to burr, he made everything here.

stop.png

Command Summary

Stops the program at the given point of the program

Command Syntax

No special syntax

Menu Location

In the program editor, [F2][8][4]

Calculator Compatibility

This command works on all calculators.

Token Size

X byte(s)

Simply put, the Stop command stops the program wherever it is placed.

stop()
Prgm
0->X
While true
getkey()->k
x+1->x
Output 5,5,x
If k=13
Stop
EndWhile
EndPrgm

This program will increase the value of x by one, but when the user presses the ENTER button, it will stop. Keep in mind to put the Stop EXACTLY where you want it to stop.

Related Commands

Forum Rules


  • Always be respectful of other posters, including their opinions, values, point-of-view, etc.
  • Always try to work with other posters instead of against them; this is a community and we are all here to help.
  • Don't post or request anything illegal or illicit, including ROMs, music, movies, porn, etc.
  • No cursing, spamming, or flaming.
  • Don't advertise your programs or websites, unless they are relevant and have some unique value to them.
  • Don't reply to old threads (last post is more than three months old); start a new thread instead.
  • Place threads in the appropriate category; Additionally, if a thread starts to go off-topic please start a new one.
  • Don't try to pass off someone else's work as your own — give credit to the author whenever possible.
  • If you have been banned, do not use an alternate account to bypass your ban. We only ban users who have broken these rules, and all of your alternate accounts will be banned if we find there is reasonable proof to believe that it is the same person behind the two accounts.

Code Of Conduct


When people visit and contribute to the wiki, we want to make sure that they find this wiki useful and an enjoyable place to be. To ensure that this happens, we have created a simple code of conduct. Please read through it, and if you have any additional things to add, please go ahead and add them. Thank you for your continued commitment to this code of conduct.

  • Always try to be respectful of other contributors, including their opinions, values, point-of-view, etc. This means no personal attacks, profanity, and especially no threatening or harassing behavior.
  • Don't advertise your programs or websites, unless they are TI-Basic related and have some unique value to them. This wiki is not a catch-all for your programs and websites; there are other websites available for that purpose, so use them instead.
  • Be kind to new contributors, since they are still learning the ropes and figuring out how to use the wiki. If you see that they need some help, go out of your way to help them. This also applies when they make contributions to the wiki.
  • Compliment others on their work. When somebody puts a considerable amount of time and energy into writing an awesome tutorial, show them that you appreciate their effort and dedication. A simple compliment goes a long way.
  • Always try to work with other contributors, instead of against them. When somebody suggests an improvement to your work, take it for what it's worth and not a personal attack on you.
  • Don't post any illegal or unlawful information, unless you are willing to face the consequences. This wiki is not responsible for your actions; you alone will be the one getting in trouble. This is just a warning for your future knowledge.
  • Whenever you reference another website or tutorial, always remember to cite it as a reference. Other people have taken their time to make those things, so you should do the right thing and cite them.
  • Always be who you are. Everybody has something to contribute to the wiki, and we don't want to make you feel like your contributions don't matter. If you have a particular writing style, use that instead of trying to imitate someone else's writing style.
  • If you downgrade someone's program, you must give a valid reason by adding a comment to the page. It is rude to not do so, and it goes against other guidelines of helping others learn.
  • Refrain from double posting. This means posting two times in a row over the course of 24 hours without another person posting in between. If you have something to add, use the edit button (only applicable to your post for regular users) found under the options menu of your post. By doing this, you are not only following the rules, but you are also making the thread cleaner to read.
  • Do not rate your own programs on the archive. This can give a false rating, and can be misleading as to what the community actually thinks of your program.

123

Forum Rules


  • Always be respectful of other posters, including their opinions, values, point-of-view, etc.
  • Always try to work with other posters instead of against them; this is a community and we are all here to help.
  • Don't post or request anything illegal or illicit, including ROMs, music, movies, porn, etc.
  • No cursing, spamming, or flaming.
  • Don't advertise your programs or websites, unless they are relevant and have some unique value to them.
  • Don't reply to old threads (last post is more than three months old); start a new thread instead.
  • Place threads in the appropriate category; Additionally, if a thread starts to go off-topic please start a new one.
  • Don't try to pass off someone else's work as your own — give credit to the author whenever possible.
  • If you have been banned, do not use an alternate account to bypass your ban. We only ban users who have broken these rules, and all of your alternate accounts will be banned if we find there is reasonable proof to believe that it is the same person behind the two accounts.

Code Of Conduct


When people visit and contribute to the wiki, we want to make sure that they find this wiki useful and an enjoyable place to be. To ensure that this happens, we have created a simple code of conduct. Please read through it, and if you have any additional things to add, please go ahead and add them. Thank you for your continued commitment to this code of conduct.

  • Always try to be respectful of other contributors, including their opinions, values, point-of-view, etc. This means no personal attacks, profanity, and especially no threatening or harassing behavior.
  • Don't advertise your programs or websites, unless they are TI-Basic related and have some unique value to them. This wiki is not a catch-all for your programs and websites; there are other websites available for that purpose, so use them instead.
  • Be kind to new contributors, since they are still learning the ropes and figuring out how to use the wiki. If you see that they need some help, go out of your way to help them. This also applies when they make contributions to the wiki.
  • Compliment others on their work. When somebody puts a considerable amount of time and energy into writing an awesome tutorial, show them that you appreciate their effort and dedication. A simple compliment goes a long way.
  • Always try to work with other contributors, instead of against them. When somebody suggests an improvement to your work, take it for what it's worth and not a personal attack on you.
  • Don't post any illegal or unlawful information, unless you are willing to face the consequences. This wiki is not responsible for your actions; you alone will be the one getting in trouble. This is just a warning for your future knowledge.
  • Whenever you reference another website or tutorial, always remember to cite it as a reference. Other people have taken their time to make those things, so you should do the right thing and cite them.
  • Always be who you are. Everybody has something to contribute to the wiki, and we don't want to make you feel like your contributions don't matter. If you have a particular writing style, use that instead of trying to imitate someone else's writing style.
  • If you downgrade someone's program, you must give a valid reason by adding a comment to the page. It is rude to not do so, and it goes against other guidelines of helping others learn.
  • Refrain from double posting. This means posting two times in a row over the course of 24 hours without another person posting in between. If you have something to add, use the edit button (only applicable to your post for regular users) found under the options menu of your post. By doing this, you are not only following the rules, but you are also making the thread cleaner to read.
  • Do not rate your own programs on the archive. This can give a false rating, and can be misleading as to what the community actually thinks of your program.

123

author: Myles_Zadok
version: '1.0'
summary: 'Calculates the four roots of a quartic equation.'
description: 'Asks the user for the coefficients of the five quartic terms and calculates the value of each of the four roots.'
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:quartic/QUARTIC.8xp'
image: null
fileSize: '333'
fileSizeUnit: '1'
dateMade: '1491886800'

NOTE THAT THIS IS A SANDBOX AREA.

samplescreenshot.gif

Command Summary

Creates a folder with a specified name

Command Syntax

NewFold folder name

Menu Location

Catalog

Calculator Compatibility

89/92/T/+/V200

Token Size

1 byte or 2 bytes

The NewFold command allows the user to create a new folder. It can be run like this:

NewFold Hello
//This would make a folder name "hello"

Error Conditions

270 - Duplicate variable name happens when you attempt to create an already made folder.

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.

DispHome.gif

Command Summary

Returns the user to the homescreen

Command Syntax

Main command, no special syntax

Menu Location

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

Calculator Compatibility

{$compatibility}

Token Size

2 bytes

The DispHome command returns the user to the homescreen. This is very useful in a program that uses the I/O screen since ending a program with a command like Stop will not automatically return the user to the homescreen. Take this example:

Prompt a
Pause
DispHome

This code will ask for a value for "a", then go to the homescreen. Had you not put the DispHome command there, you would have stayed at the I/O screen, which in some cases can be confusing.

Optimization

The DispHome command also combines the functionality of the Stop command. For example

DispHome
Stop

can be

DispHome

Related Commands

rename.png

Command Summary

Renames a variable into another one

Command Syntax

Rename var1,undefinedvar2

Menu Location

Catalog Menu

Calculator Compatibility

This command works on all calculators.

Token Size

X byte(s)

The Rename command allows you to rename a defined variable to an undefined variable. This is useful if you want to store the value of a variable into another variable, although the Store command is more commonly used for that purpose.

Rename a,b

The above code would run when "a" is a defined variable and "b" is an undefined variable. That means that if both "a" and "b" were defined, or if "a" was undefined and "b" was defined, it would not work (it would give you error 960).You would get an error if you try to redefine an already defined variable.

Advanced Uses

The Rename command can also be used for strings. The below code would store the text in Str1 to "a".

Rename str1,a

Error Conditions

960 - Undefined variable happens when there is an undefined variable.

270 - Duplicate variable name happens when there is a duplicate variable name.

Related Commands

Welcome to the TI-Basic Developer (TI|BD) 68k Basic Starter Kit! This tutorial is designed to help new 68k programmers get their feet off the ground. The tutorial is divided into chapters that each have their own focus, and is meant to be read in sequential order. If you have questions or get stuck, leave a post on the forums and somebody will assist you. Happy coding!

1. Getting Started

  1. Introduction to 68k Basic
  2. Overview of 68k Basic
  3. Your First Program
  4. Good Programming Practices
  5. How to use your 68k Calculator
  6. Computer Setup

2. The Basics of 68k Basic

  1. Intro to Functions in 68k Basic
  2. How to Make a Simple Counting Code in 68k Basic
  3. Overview of Variables and Comments
  4. Intro to Recursion in 68k Basic

3. Creating Games

  1. How to make a Arcade Game
  2. How to Make a RPG Game
  3. How to Make a Math Game
  4. How to Make a Sports Game

4. Advanced Graphics

5. Math Functions

6. Optimization

7. Putting It All Together

  1. Putting It All Together Part 1
  2. Putting It All Together Part 2

8. Miscellaneous

disp.png

Command Summary

Displays an output on the Home or I/O screen

Command Syntax

Disp //[text],var

Menu Location

From the program editor, press [F3][2]

Calculator Compatibility

This command works on all calculators.

Token Size

X byte(s)

The Disp command displays output in the Home App I/O screen. An example:

prgmexmp()
Prgm
Request "Enter something",var1   //Get a value for var1
Disp "var1=",var1
Pause
DelVar var1
ClrIO
DispHome
EndPrgm

Error Conditions

910 - Syntax happens when there is improper syntax/a variable was not used.

Related Commands

Credits

Credits to byobcello for the explanation and code, both were made by him. Modified for readability/corrections

InputStr68K.gif

Command Summary

Stores a string to a variable

Command Syntax

InputStr variable

Menu Location

In the program editor, press [F3][4]

Calculator Compatibility

TI 89(T)/92

Token Size

1 byte or 2 bytes

The InputStr command allows you to input a string to a variable. Since Input doesn't support the storing of strings into variables, you have to use this command to do that. Keep in mind that the inputted variable cannot be the name of a preexisting variable or flash application that is locked, protected, or archived. For example, if you had a program named "a" or "hello", the command wouldn't work because it is already in use.

InputStr A
//Here, you would a string to be stored to the variable A

InputStr hello
//This would store the string into the variable "hello".

Related Commands

Error Conditions

980 - Variable is locked, protected, or archived happens when the user attempted to redefine/modify an already defined variable.

Also See

Prompt68k.gif

Command Summary

Prompts the user to assign a value to a variable

Command Syntax

Prompt var1,var2…

Menu Location

In the program editor, press [F3][5]

Calculator Compatibility

TI 89(T)/92

Token Size

2 bytes

The Prompt command functions much like the Input command. It allows you to type a value to be stored to a variable. You can also prompt multiple values at the same time. For example:

Prompt A
//This will ask the user to type a value for A

Prompt A,B,C
//This will ask for a value for variables A,B, and C

You can also ask for input in user-made variables
Prompt cool
//This asks for a value for the variable "cool"

Related Commands

Circle68K.gif

Command Summary

Draws a circle on the graphscreen

Command Syntax

Circle X,Y,radius,drawing mode

Menu Location

  • Press [Diamond][F3] to enter the graphscreen
  • [F5][LEFT][LEFT] to get to the F7 menu
  • [4], then follow the prompts to draw the circle

Calculator Compatibility

TI-89(T)/92

Token Size

1 byte or 2 bytes

The Circle command allows a person to draw a circle on the graphscreen. It can be drawn using the given keystrokes, or it can be called at the homecreen by typing it out.

Circle 0,0,5 
//Will draw a circle with a center of (0,0) and a radius of five.

Advanced Uses

The Circle command is based off of the window settings, so depending on how they are set up, it could draw a circle or an ellipse.

Command Timing

Unlike the Circle command from the 83+ family of calculators, the Circle command is very fast, drawing it almost instantly to the graphcreen, as demonstrated by the screenshot.

Related Commands

author: Battlesquid
version: '1.0'
summary: 'Clash Royale…now on your 83+ family of calculators'
description: 'Clash Royale…you''ve probably seen it on mobile, and maybe even played it. Now, you can conquer the same way on your graphing calculator! Battle it out with another player to see who is truly the most OP. WIP, soon to be finished.'
arcade: '1'
graphics: '0'
platform: '0'
puzzle: '0'
rpg: '0'
strategy: '1'
sports: '0'
casino: '0'
board: '1'
utility: '0'
misc: '0'
compatibility: bb
download: 'archivefile:op/OP.8xg'
image: 'archiveimage:superop-home/SuperOP-Home.gif'
fileSize: '3829'
fileSizeUnit: '1'
dateMade: '1490857200'

page 1 of 12123...1112next »

.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 License.