Column: "TI-82 BASIC Tips & Tricks Vol. 1"
Posted on 27 August 1998, 05:04 GMT
A new column by David Dynes entitled TI-82 BASIC Tips & Tricks Vol. 1 has beed added to the Features section. This column gives helpful hints on how to optimize your TI-BASIC programs for size and speed.
|
|
|
The comments below are written by ticalc.org visitors. Their views are not necessarily those of ticalc.org, and ticalc.org takes no responsibility for their content.
|
|
Re: Column: "TI-82 BASIC Tips & Tricks Vol. 1"
|
Jonathan Bates
|
WE KNEW THIS ALREADY!!!
|
|
27 August 1998, 06:43 GMT
|
|
Re: Column: "TI-82 BASIC Tips & Tricks Vol. 1"
|
DUy Nguyen
|
That was the most pointless piece of $hit I've read on this page. First of all, everyone knows these shortcuts. Secondly, BASIC is now obsolete due to ASM. 99.9% of all Basic games really suck and I doubt that yours will make a differenence.
|
|
27 August 1998, 20:00 GMT
|
|
Re: Column: "TI-82 BASIC Tips & Tricks Vol. 1"
|
XaVIëR
(Web Page)
|
OK, guys.
I'm disappointed with your attitudes.
Pointless? No. I intended this article for those who don't have assembly. I agree, assembly is far superior, but BASIC is in no way obsolete. I don't have assembly on my calculators because I am not comfortable opening up the back and tinkering around with a $100 piece of equipment.
There are those who find BASIC very easy, and I just made what is easy faster and smaller too.
I think that you need to take into perspective that , there are those can't understand assembly, and don't want to risk screwing up their calc trying to fish out chips so they can have assembly.
Please, make room for some worthwhile comments. After all, EVERYBODY doesn't know this. Many do, but many don't. Please don't be so rash.
Ever trying to help,
XaVIëR
|
|
27 August 1998, 23:25 GMT
|
|
Re: Column: "TI-82 BASIC Tips & Tricks Vol. 1"
|
Jon Printz
|
I'm not sure this article is necessary to post on ti-calc.org. I'm sure there are alot of people out there who would benifit from reading this, but probably no one that would be interested in visiting this website. To me, if you don't have a graph link of some kind, alot of this site is more or less useless unless you want to sit and type in basic programs, and that isn't very fun. And I don't know of anyone who likes to sit and play basic games over assembly. I don't like the attitudes of the two who replied. So what if assembly is superior. The fact is alot of people don't have access to it, and are plenty of people who continue to make some pretty sad basic programs.
|
|
28 August 1998, 00:23 GMT
|
|
|
|
|
Re: Re: Column: "TI-82 BASIC Tips & Tricks Vol. 1"
|
XaVIëR
(Web Page)
|
<b><u>Thank you Jon!</u></b> Y'know, I hadn't intended this to be a column, but an article. I'm glad you see my message, and appreciate the criticism. But those at TiCalc believe it is worth being up. If assembly logs are allowed, why not something for those who can't get assembly?
Honestly, I almost feel like an Amish gent here, *LOL* but I am dedicated to the BASIC programmers. I agree, there are plenty of BASIC games that completely suck, but there are indeed some that make programming an art, and I believe they make great BASIC programs! I hope you got something out of this, Jon, and best of luck.
|
|
28 August 1998, 01:28 GMT
|
|
Re: Column: "TI-82 BASIC Tips & Tricks Vol. 1"
|
XaVIëR
(Web Page)
|
I geared this toward those who don't have assembly, can't have assembly, or would just rather learn BASIC first. Due to the positive, helpful feedback, I am going to write a second column, which will not only add new tidbits, but also update the first.
Like JBrett, I had to learn BASIC with nothing but that dry, confusing manual without these little helpful tidbits.
Games, also, need not have dazzling graphics to be good. Some of the best games, on PC and on these calcs, is totally text based, without graphics whatsoever, for example: Colossal Cave, for PC. Remember when fullsized desktop computers were slower than Ti-81's?!?
I spent over a year learning BASIC, and now I wish to give others the help I did not have.
When one skim others' source code, sometimes even those who can program like an expert have to stop and say "What kind of garble is that?"
BASIC can be tough, and my duty here is to make it a little bit easier. :)
I hope you all continue to post comments and email me further with answers, and questions also. I'd be glad to help.
Ever trying to help,
XaVIëR
David Dynes
|
|
29 August 1998, 01:18 GMT
|
|
"Fatigue"
|
Jeff Min
(Web Page)
|
I think this "Program Fatigue" you're talking about is caused by some recursion. GOTO's and LBL's are both perpetrators and sometimes it's hard to work around them. Avoid these two commands at all costs. I'd say to try using WHILE and WEND (is that right? or is it just END?), but even that seems to cause "fatigue."
|
|
29 August 1998, 07:31 GMT
|
|
|
|
|
Re: "Fatigue"
|
XaVIëR
(Web Page)
|
Jeff:
I agree that there is severe recursion, and that both Goto and Lbl are sinister, but While and Repeat are used with logic, to replace If and If-Then-Else-End statements.
Oh, There is no WEND command, it is just End.
The only alternative I have seen beside Lbl's and Goto's is to have multiple execs, which run as subroutines with each other, which messes up your PRGM menu, and can get confusing.
There are ways to guarantee that firing up any subroutine can start the start program, which I will include in my second column.
Thanks Jeff. You've helped. :)
Ever helping those who need it,
XaVIëR
|
|
29 August 1998, 19:19 GMT
|
|
The Real Reason for Program Fatigue
|
PG
|
To tell the truth, you are all wrong about the reason for program fatigue. It doesn't matter how many Goto's or Lbl statements the program has. It happens because the program never reaches the End statement to terminate a loop.
For example:
Lbl A
1->A
If A==1
Then
Goto A
End
The program above will never reach the End statement because it keeps skipping it when it jumps back to A. The prog then keeps entering the loop thinking the last loop hasn't ended. The uneded loops are stored in memory and slow down the prog until it eventually crashes and you get a MEMORY error.
Example 2:
Lbl A
1->A
If A==1
Goto A
The program in example 2 could run for hours and still never slow down.
|
|
1 September 1998, 00:09 GMT
|
|
BASIC Hints
|
Rudi.83g
|
I have read in many posts that For( loops were slow. I measured the "instruction timing" of some BASIC instructions on my TI-83:
empty lines or :s 0.5 ms
prgm 4 ms
"COMMENT 150 ms, SO AVOID COMMENTS!
single-line If, true 4 ms
single-line If, false 3 ms
UPTO loops (1 to N)
Repeat:
:0->K
:Repeat K=n
:K+1->K
:(your code here)
:End 320 130 50 21
While:
:0->K
:While K!=n
:K+1->K
:(your code here)
:End 320 130 50 25
For:
:For(K,1,n)
:(your code here)
:End 66 30 12 7
(times are ms for 25, 10, 3, 1 iterations)
If you use downto loops, While loops can be optimized by a bit (~ 0.5%)
For gets slower if you specify the step width (15 %)
BUT FOR IS THE FASTEST!
GOTO: 0.5 ms per token from the beginning of the program
Pxl-on, Pxl-off 4 ms
Pxl-change 5 ms
pxl-test 6 ms
Pt-on, Pt-off, Pt-change 7 ms
Output 6 ms + 1 ms per character to output
randInt 40 ms
rand 35 ms
-> 3 ms
Ans 1.5 ms
<variable name> 2 ms
<storing into Ans> 1 ms
|
|
29 June 2000, 15:15 GMT
|
|
|