ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Archives :: News :: Learn 83 Plus Programming with ticalc.org

Learn 83 Plus Programming with ticalc.org
Posted by Michael on 12 July 2004, 17:15 GMT

Are you looking for something to do during the summer? Well, we have posted our first tutorial since Morgan announced the reopening of the ticalc.org Exclusives. TI-83 Plus BASIC: A Beginners' Guide focuses on the fundamentals of 83+ BASIC commands, also providing a few challenge programs and solutions.

We've also added links in our programming section to Learn TI-83 Plus Assembly in 28 Days. This tutorial (also available online) has been very highly rated by users. It is the best 83+ ASM tutorial I've seen.

  Reply to this article


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: Learn 83 Plus Programming with ticalc.org
no_one_2000_  Account Info
(Web Page)

Cool... so are these "Exclusives" just for people who want to submit tutorials? We already have a few good ones. For instance, I used karma.ticalc.org to learn TI-82 ASM.

Reply to this comment    12 July 2004, 17:25 GMT


Re: Re: Learn 83 Plus Programming with ticalc.org
no_one_2000_  Account Info
(Web Page)

Oh, now I remember. The "exclusives" were tutorials you could write that you'd send in to Morgan. However, I learned everything from the tutorials that were already written, so I don't think I could write anything new, interesting, or worth reading. But maybe it will be different for other people.

Reply to this comment    12 July 2004, 17:28 GMT


Re: Re: Re: Learn 83 Plus Programming with ticalc.org
KermMartian Account Info
(Web Page)

Wait...so if I want a tutorial made as part of this, I email morgan? Cool.
This looks like a great idea.

Reply to this comment    12 July 2004, 17:32 GMT

Exclusives
ti_is_good_++  Account Info

No, the point is to make a tutorial on a language and suggest it for posting.

Reply to this comment    12 July 2004, 19:12 GMT

Re: Re: Re: Re: Learn 83 Plus Programming with ticalc.org
Morgan Davies  Account Info
(Web Page)

I write up and essentially port it to the ticalc.org source, but no the writing and style of the tutorial is done by the Author and I just add it to the site and make link it from all the appropriate basic calculator pages.

Reply to this comment    13 July 2004, 17:55 GMT


Re: Re: Re: Re: Learn 83 Plus Programming with ticalc.org
Konrad Meyer  Account Info
(Web Page)

If you made a tutorial, I sincerely doubt anyone would want to read it. Not trying to be offensive, but Doors whatever-acronym-you're stealing-from-windows-now is slow and useless, and so is all of your BASIC crap (with one or two possible exceptions, and only to the useless part; all BASIC is slow). There are far too many BASIC tutorials, most of which are bad, and only one or two good ASM tutorials.

Reply to this comment    16 July 2004, 04:37 GMT


Flaming
ti_is_good_++  Account Info

Thanks a lot for your helpful and insightful contribution as well as your endless suggestions as to how to fix the problems you point out.

Reply to this comment    16 July 2004, 20:12 GMT

68K BASIC Tutorial
ti_is_good_++  Account Info

It might be time to dust off my 68K BASIC string manipulation tutorial.

Reply to this comment    12 July 2004, 17:27 GMT

Re: Learn 83 Plus Programming with ticalc.org
Gergely Patai  Account Info
(Web Page)

Let me advertise an excellent fresh project here: the Unification FAQ. See link. All contributions are welcome.

Reply to this comment    12 July 2004, 18:48 GMT

Re: Learn 83 Plus Programming with ticalc.org
darkhydra21 Account Info

I learned most of my TI-BASIC from messing around with the calculator and looking at other people's programs, so to me, a BASIC tutorial wouldn't really help. But the assembly tutorial definitely helped me understand assembly language a lot better. It also helps (for BASIC or ASM) if you have some familiarity with basic functions in basic, C, etc.

Reply to this comment    12 July 2004, 19:57 GMT

Re: Re: Learn 83 Plus Programming with ticalc.org
The Muffin Man Account Info
(Web Page)

Basic is so under-rated these days on TI's calcs. Sure, assembly language has it's perks and all but when I want to type up a program to perform tasks in math faster (yes, believe it or not Basic can be fast) I'm restricted to using Basic. No, this is not because I don't know assembly... Just the fact that assembly language requires "assembly" on a computer is a big deterent. ;-P

Reply to this comment    13 July 2004, 07:35 GMT


Re: Re: Re: Learn 83 Plus Programming with ticalc.org
The Muffin Man Account Info
(Web Page)

/Added/ Just a few tips for Basic programmers who want to make programs for performance of "well-useless txtness":
Try to cut down on the code wherever possible. This could be by leaving off ")" for "output(1,1,A" etc
Also, if your typing up your programs with TI-Graphlink NEVER USE LOWERCASE TEXT!!! When you transmit it to your calculator or save it the text will change from "Hello" to "HeLlO". This does not look good in your program. Make them on your calc if you really want lowercase.
When requesting a user to input values, tell them what var it will store to. The format of the entered value IS DIFFERENT when storing to a "A" "Matrix" or "List"
*just a few things I noticed whilst browsing through a few thousand basic programs.

Reply to this comment    13 July 2004, 07:41 GMT

Stylistic Coding
ti_is_good_++  Account Info
(Web Page)

In AMS, you can't leave off ending parentheses.

Mostly, the last suggestion just confuses users.

See link for more (the "Good BASIC" posts)

Reply to this comment    13 July 2004, 08:45 GMT

Re: Stylistic Coding
no_one_2000_  Account Info
(Web Page)

Yeah, that's something that always annoys me about programming on my TI-89. You have to include all the parenthesis and quotes at the end.

Reply to this comment    13 July 2004, 13:46 GMT


Re: Re: Stylistic Coding
Sam3.14 Account Info
(Web Page)

You can use AutoClbr.

Reply to this comment    14 July 2004, 07:25 GMT


AutoClBr
ti_is_good_++  Account Info

AutoClBr doesn't work in the tokenizer.

Reply to this comment    14 July 2004, 10:20 GMT


Re: AutoClBr
Sam3.14 Account Info
(Web Page)

Oh. I've never actually used it. I just assumed it would.

Reply to this comment    14 July 2004, 19:35 GMT

Re: Stylistic Coding
Brian Gordon  Account Info
(Web Page)

bah, if they can't understand a Prompt, then they don't /deserve/ your program ;p Actually, you can usually tell what data type you have to enter, even without it telling you, by the type/description of the program... like AASTAT (link). Of course you would enter a list because who's going to find the mean, median, and mode of a number or a matrix? And you can always outline how to do the input in the readme. That's what readmes are for, people!

Reply to this comment    13 July 2004, 14:07 GMT

Re: Re: Stylistic Coding
anykey  Account Info
(Web Page)

Why use Prompt when you can use Input?

Reply to this comment    13 July 2004, 16:44 GMT


Re: Re: Re: Stylistic Coding
darkhydra21 Account Info

Prompt saves bytes, if you're a really picky person about it. But I think using Input is a lot better...

:Input "X:", X
which will show
X:_

is a lot better than
:Prompt X
which shows X?_

or maybe its just me.

Reply to this comment    13 July 2004, 20:22 GMT


Re: Re: Re: Re: Stylistic Coding
no_one_2000_  Account Info
(Web Page)

I agree... there's really no point to Prompt, except for that it can input to some variables that Input can't, IIRC. (But it's still not worth it, so use Input)

Reply to this comment    14 July 2004, 15:28 GMT


Re: Re: Stylistic Coding
The Muffin Man Account Info
(Web Page)

True, but on a z80 based calc it can be very difficult to know what variable to enter and in what context as the program doesn't hint as to what var is being used. One useful thing when the average programmer is not feeling overly paranoid about the safety of their source is that when the calc prompts an error you can goto the problem in the Basic program if it's not protected. I don't advise protecting your programs where some variables are unknown. That plus testing your program would be useful. Oh, just a friendly reminder SUBMIT YOUR PROGRAM TO THE APPROPRIATE DIRECTORY! You'd be surprised as to how many 83 programs are in the 83+ dir and vise versus. (a few hundred);-P

Reply to this comment    14 July 2004, 08:39 GMT


Re: Re: Re: Stylistic Coding
no_one_2000_  Account Info
(Web Page)

Yeah, I know, that's annoying about people submitting their stuff in the wrong category, but I don't think that happens as much now, since Morgan is more careful :)

As for not knowing what type of variable to enter into a Prompt/Input... I still say you'd have to be some sort of moron not to know what to put in there. If the program is called ADD2NUMS, for instance, I doubt you'd be enetering a list or a matrix. And if the programmer isn't being ignorant, they'll give you a Disp or text in the Input (Input "text",A) to let you know what you're supposed to be enetering in. I don't see how there could be confusion. And as said above, if you don't know what to do, read the Readme file (which should have been done in the first place).

Reply to this comment    14 July 2004, 15:36 GMT


Re: Stylistic Coding
darkhydra21 Account Info

Ending parentheses and unneeded variables fill up quite a lot of space on the calc, and if the program doesn't "clean up", so to say, deleting the files it created, it makes even more clutter in your memory. I've shaved a 1500 byte file down to about a 700 just by eliminating ending parantheses, deleting unneeded text, and changing some variable names around (such as making :a + b -> a instead of :a + b -> c. RAM is a big issue with all of the Z80 calcs except for the 86, which has a bit more, so that couple hundred bytes can make a difference.

Reply to this comment    14 July 2004, 01:55 GMT


Wrong calc
ti_is_good_++  Account Info

AMS

Reply to this comment    14 July 2004, 10:21 GMT


Re: Wrong calc
darkhydra21 Account Info

It depends on which calculator you are programming for.

Reply to this comment    14 July 2004, 19:57 GMT


Re: Re: Wrong calc
darkhydra21 Account Info

Whoops, sorry, didn't read it right before I responded...

Reply to this comment    14 July 2004, 20:14 GMT


Re: Re: Re: Re: Learn 83 Plus Programming with ticalc.org
Lewk Of Serthic Account Info
(Web Page)

I've never had that problem with Graph-Link before. What calculator are you using?

Reply to this comment    14 July 2004, 03:43 GMT


Re: Re: Re: Re: Re: Learn 83 Plus Programming with ticalc.org
The Muffin Man Account Info
(Web Page)

The problem will occur when you create a program in the latest TI-83+ Graphlink Software and press "Send To Ram" (or archive for that matter)
I assume this is because Graphlink doesn't parse lowercase properly.

Reply to this comment    14 July 2004, 08:34 GMT


I hate getting my wisdom teeth removed. *mouth is sore*
no_one_2000_  Account Info
(Web Page)

I agree. You learn much faster through trial and error, and the BASIC functions are very easy to figure out. On the z80 calcs, there's only a few programming commands, and it shouldn't take you more than a day to learn and be familiar with all of them. For the 68k, they give you the syntax of how the command is used, so with knowing what the code is called and the syntax, it's usually pretty obvious what the command does.

As for assembly... people like me need all the help they can get before they completely grasp the whole concept of how it works, so ASM tutorials will be good. :D In fact, it might be even easier just to write a tutorial on a specific portion of programming in ASM. Maybe sprites... or more efficient loops. That way, you can just go and read a more detailed tutorial on the stuff you want to learn about, assuming you already know a bit about the language.

Anyway, I'm throwing random ideas out... you guys have fun with them.

Reply to this comment    13 July 2004, 13:06 GMT


Re: I hate getting my wisdom teeth removed.
Brian Gordon  Account Info
(Web Page)

ehh, i don't think ASM is necessarily hard to grasp but our precious trial-and-error is unusable :( You can't just type in a one-line program and instantly run it to see what a certain command does or how it works. With making BASIC, you just 2nd-quit enter to test your program, with HTML you just ctrl+s and flip over to IE (html testing, people!) hit refresh, and even with C++, just hit the compile and run button to see your work in action. No so with asm :( I learned BASIC by simply stealing my friends calc for, oh, six periods a day and just experimenting. For PHP, i just read the first few chapters, realized it was just a oversized JS/Perl clone, and programmed a little CMS for my PHP experiments. Experimentation is a big deal. So I was thinking... a frameset page: on the left, a big textarea and a run button (the whole thing being a java applet); on the right an ASM tutorial. So when you read something you don't quite understand or you want to learn better, you just type the code in the box, hit run, and watch the output of the program spill out. It wouldn't be realtime (like games) but it would teach ASM verry well. And in the tutorial text, say some of it was "Now we're going to learn the loop". Then right after the work loop, there would be a <:a href="#?1" target="leftframe"> [+] <:/a> (ignore colons and add superscript tags). So it would refresh the left frame (assuming of course that the frameset defined it as "leftframe") with the query of 1, which the java app should be able to fetch and see that there's a query so it does a switch (or its java equivalent) with case 1 incidentally being the example for a loop. The app would write the code to the box and simulate it. good idea?

Reply to this comment    13 July 2004, 14:24 GMT

Re: Re: I hate getting my wisdom teeth removed.
Brian Gordon  Account Info
(Web Page)

a combination of ^LINK^ and a web-based vti was what i had in mind

Reply to this comment    13 July 2004, 14:33 GMT

Re: Re: Re: I hate getting my wisdom teeth removed.
Lewk Of Serthic Account Info
(Web Page)

Wow, that WOULD be helpfull.

Reply to this comment    13 July 2004, 20:36 GMT

Re: Re: Re: I hate getting my wisdom teeth removed.
Chivo  Account Info

I tried that on-line assembler, and it didn't seem to work. It produced nothing in the output.

Reply to this comment    14 July 2004, 01:37 GMT


Re: Re: Re: I hate getting my wisdom teeth removed.
no_one_2000_  Account Info
(Web Page)

Whoa, I can't beleive somebody was able to make that online... I don't know ASM for the TI-83+ (it's too much different from my TI-82 ASM), so I couldn't test it.

I still say the whole thing would be easier/faster if it wasn't web based... java can be... well, slow.

Reply to this comment    14 July 2004, 15:45 GMT


Re: Re: Re: Re: I hate getting my wisdom teeth removed.
anykey  Account Info
(Web Page)

What about JavaScript?

Reply to this comment    14 July 2004, 19:50 GMT


JavaScript
ti_is_good_++  Account Info

JavaScript is slower than Java. However, it could be possible to do it in JavaScript, I just don't know if there would be a point vis-a-vis speed.

Reply to this comment    14 July 2004, 23:36 GMT


OMG- That made me laugh
no_one_2000_  Account Info
(Web Page)

What!? No, it wouldn't! Are you kidding!? There is NO WAY that you could ever program a calc emulator in JAVASCRIPT. LMAO!

As for the compiler... it technically is possible, but it would be horrendously slow and not worth it. Imagine trying to write TASM in JS... lol

You can't do file i/o in JS either...

Reply to this comment    15 July 2004, 15:59 GMT


Reasons why...
no_one_2000_  Account Info
(Web Page)

For the emulator, you'd need to control each pixel as a separate image. That's 64*96=6144 separate 1x1 images to control. JS would take FOREVER just to swap all of them from "off" to "on." So I'm sure you can imagine how well playing Mario would work, or perhaps just seeing the home screen and typing in keys...

For the compiler... all the code would have to be in that one page (unless you kinda import javascripts) and you'd have to go through each line, interpret it, and convert it to hex... and you'd have to make sure there's no errors, like JRs being out of range and you'd have to get your addresses for the JPs (I believe that's how it works). And... if you run onto an error, you have to give some kind of error message... there's just too much. But, yes, you could "compile" a program in JS, but I don't think it would be worth it. It would take even longer than using TASM and it would be much, MUCH slower. JS is slow. Cool language... but very limited... and of course, SLOW.

Reply to this comment    15 July 2004, 16:07 GMT


JavaScript
ti_is_good_++  Account Info

That's what I was saying.

Reply to this comment    15 July 2004, 20:37 GMT

 
no_one_2000_  Account Info
(Web Page)

That would be amazing... unfortunately, I don't know how well that would work, for a Java app, anyway. I bet if somebody was really ambitious, they could do it by taking and mixing the sources of TASM and VTI. Either way, if there were something like this, I'd probably go right back to z80 ASM programming more. The thing that drove me away from it so much was the fact that it took me about a minute to save, compile, send, and test. And if I have an error that I can't figure out how to fix, debugging can be a real pain because you have to keep doing the process OVER and OVER and OVER...

But really, that is a great idea.

Reply to this comment    14 July 2004, 15:42 GMT


IDE
anykey  Account Info
(Web Page)

I don't know any asm, but it looks like you guys need an Integrated Developing Enviroment (IDE). See the link for an example (it doesn't do asm, though).

Reply to this comment    15 July 2004, 15:04 GMT


Re: IDE
no_one_2000_  Account Info
(Web Page)

Yeah, that's what we were talking about, except with VTI mixed in so you could immediately test your compiled programs without any hassle. I know the TIGCC IDE can sort of do this... it would be nice to be able to do it with ASM too.

Reply to this comment    15 July 2004, 16:11 GMT


Java assembler ready
Martin Warmer  Account Info
(Web Page)

I have an alpha version of a java z80 assembler that supports all opcodes and labels. It doesn't support expressions so ld a,2+3 doesn't work yet. It's also pretty close to supporting equates. Thus if somebody is interested I can send you the code or if there's enough interest I can make a simple applet or app with a notepad like editor and the assembler.

I am also working on an eclipse plugin for z80 assembly(see link). That way you have a complete IDE available to work with.

Reply to this comment    18 July 2004, 20:27 GMT

1  2  3  4  

You can change the number of comments per page in Account Preferences.

  Copyright © 1996-2011, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer