Recent Posts
Timothy Foster 02 Feb 2013 16:24
Timothy Foster

Admin

WAC

Guest

Whether you are a new visitor or a frequent lurker, we are excited that you are on the site! We are a community, made up of a diverse collection of people with different backgrounds and experiences, and we want you to become one of us. It doesn't matter whether you are just starting out in programming or you are already an accomplished programmer, everybody has something that they can contribute.

Before you can participate on the site, you need to sign up to become a member. Registration is a simple two-step process, and involves creating a Wikidot account and then entering the password 'ti-basic-rulez' on the join page to join the site. It is quick and painless, and should take no more than a couple minutes.

There are a few things that you need to know before you go off exploring:

  • Once you are a site member, please start a new thread and introduce yourself to the community so that we can get to know you better. We're always happy to meet new people on the forum, and I promise we won't bite (unless you want us to) :D
  • Although we are generally very lax in what we allow on the forum, there are some basic rules that we have established to ensure that the forum is an enjoyable place to be. Please read through and familiarize yourself with the rules.
  • The expandable CHAR box that appears in the upper right corner of the screen contains the TI-Basic characters that aren't readily accessed from the keyboard. It is meant to be a nice convenience for people who want to post code on the forum, allowing you to quickly copy and paste instead of having to hunt them down every time.
  • Please do your best to post your threads in the appropriate place. Similarly, start a new thread for your questions, instead of adding them to an existing thread. This helps to keep the forum organized and allows people to read threads without confusion. Of course, we are happy to help you if you don't quite get it right.
  • Except for personal help from a moderator or administrator, please don't ask people to email or message answers to you. The forum is open for reading as well as responding, so all discussion should go in the threads for others to see.

We hope you enjoy using the site and stop by often!

Attachment:

Xeda Elnara 02 Feb 2013 16:23
Xeda Elnara

Moderator

FA

Guest

For the curious, I have entered in TI-BASIC (68K and z80) and z80 Assembly. I doubt I will have time for it all, but I do like to participate and join the fun! I will have school to contend with, finishing up my last requirements for my math major among other things and trying to pass French IV :P

Attachment:

Xeda Elnara 02 Feb 2013 16:20
Xeda Elnara

Moderator

FA

Guest

I don't know if any of you have heard of it, but TI-Concours 2013 recently opened up. Ti-Concours is an annual competition and is typically a French competition (Concours = Competition). Last year they bridged a language barrier and opened it up to the English speaking community as well. It was a success and so they have once again opened it up to everybody. This year's categories are:

  • TI-BASIC z80
  • TI-BASIC 68k
  • Axe
  • z80 Assembly
  • Nspire Lua
The competition has some interesting components in the final rounds including an interview in English or French, depending on your language and a three hour test to see what you can come up with in a short period of time. The rest of the competition is split up over a period of about six weeks where TI-BASIC (68k and z80) and Axe have two challenges that last one week and the other two categories have one challenge over two weeks. There is some overlap, but the schedule looks like this:
dates.png

There is nothing to lose and the prizes are pretty nice! Last year they got surprised with being able to dole out even more prizes (I think up to fifth place in some categories). If you want to sign up before the competition starts, you can register here.

I hope at least some of you can join! There are currently only 4 entrants for TI-BASIC (z80) and two for 68K BASIC!

Attachment:

Timothy Foster 02 Feb 2013 15:59
Timothy Foster

Admin

WAC

Guest

Find the next number in the following sequence. To date, no one has been able to find it.

  • 9, 0, 2, 6, 94, 10, 42, ?

Attachment:

Xeda Elnara 02 Feb 2013 15:59
Xeda Elnara

Moderator

FA

Guest
I have started working on an application that will hopefully evolve to provide on-calc tutorials. Currently it has an example to show the user how to create a simple Hello World program. Here is a screenshot:
index.php?action=dlattach;topic=15662.0;attach=14627;image
The "tutorials" are basically a sequence of keypresses that get simulated. As well, I have added in some commands to interact with the user so you can actually step the user through the process and give them notifications about what is going on. Once I add in a menu, I will release the app and source so that others can create tutorials and submit them for the official release.

My goal is to cover all of the commands and I will probably need a separate version to work with mathprint. As well as all of the commands, there will be tutorials for different aspects of programming and it will be possible to have tutorials outside the app (probably as appvars). The current command available for making a tutorial are:

/=====================\
|    Key(val)         | 1 byte
\=====================/
  This is the main command. This tells the engine which key to
simulate. For example, to simulate [ENTER], use Key(skEnter).
/=====================\
|    Delay(val)       | 2 bytes
\=====================/
  This sets the delay between simulated key presses. I find 30
to work well.
/=====================\
|    Text(y,x,string) | 4 bytes + length of string
\=====================/
  This is how you communicate to the user. This is like the
BASIC command, except it draws over whatever is on the LCD, not
just the graph screen. For the worried, this does not affect the
contents of the graph screen. So for example:
     Text(56,0,"Hello World!")
/=====================\
|    WaitForKey(key)  | 2 bytes
\=====================/
  This waits for the user to press the appropriate key. When the
user presses the key, it will be registered. No other keys
respond while waiting.
/=====================\
|    Repeat(key,num)  | 3 bytes
\=====================/
  This will simulate a key press a number of times in a row.
This is useful for navigating menus to get to an item.
/=====================\
|    ExitTutor()      | 1 byte
\=====================/
  This ends the tutorial and normal OS stuff resumes.

  These commands should be enough for most tasks. However, if
there are more commands for the adventurous:
/=====================\
|    SetAns(num)      |
\=====================/
  This will set the "Ans" variable to the specified value. Note
that this whole program works with 1-byte values, 0 to 255.
/=====================\
|    TestAnsEqu(num)  |
\=====================/
  If 'Ans' is equal to 'num', then 'Ans' is set to 1, else it
is set to 0.
/=====================\
|    GetKey(num)      |
\=====================/
  Stores the user's keypress to Ans. This isn't as responsive
as it could be, yet, but it works.
/=============================\
|    JumpIfAnsEqu(num,label)  |  4 bytes
\=============================/
  This will jump to a label if Ans=num. Note that the label must
be on the same flash page.
/=====================\
|    PushAns()        |
\=====================/
  This pushes Ans onto a stack for later retrieval with
PopAns(). The stack is currently 240 bytes, but it may be
smaller in the future.
/=====================\
|    PopAns()         |
\=====================/
  This removes the last value on the stack and stores it to
'Ans'.

Hopefully I will make a lot of progress on this project, but I also have several other big projects that I am working on. I think that once menus are finished, the rest will be easy.

Attachment:

Timothy Foster 02 Feb 2013 15:57
Timothy Foster

Admin

WAC

Guest

Sometimes, optimization requires more than just squeezing out bytes. Entire sections of code can often be revised into more compact, efficient algorithms.

Discover what this program does and rewrite it for either speed or size.

ClrHome
"?→Str1
Disp "AX²+BX+C=0
Prompt A,B,C
If A<0
Then
‾A→A
‾B→B
‾C→C
End
gcd(A,abs(B
gcd(Ans,abs(C→V
A/Ans→A
B/V→B
C/V→C
For(D,A,1,‾1
If not(fPart(A/D
Then
For(E,abs(C),1,‾1
If not(fPart(C/E
Then
A/D→F
abs(C/E→G
If DAns+FE=B and EG=C
"1D1E1F1G→Str1
If DG-FE=B and ‾EG=C
"1D‾E1F1G→Str1
If FE‾DG=B and ‾EG=C
"1D1E1F‾G→Str1
If ‾DG-FE=B and EG=C
"1D‾E1F‾G→Str1
If DE+FG=B and EG=C
"1D1G1F1E→Str1
If DE-FG=B and ‾EG=C
"1D‾G1F1E→Str1
If FG-DE=B and ‾EG=C
"1D1G1F‾E→Str1
If ‾DE-FG=B and EG=C
"1D‾G1F‾E→Str1
If Str1≠"?
Then
ClrHome
Disp "(AX+B)(CX+D)=0
For(H,1,7,2
Disp expr(sub(Str1,H,2
End
Disp "FACTOR OUT
Output(7,2,V
Return
End
End
End
End
End
ClrHome
Disp "PRIME
Disp "FACTOR OUT
Output(3,2,V

Attachment:

Timothy Foster 02 Feb 2013 15:53
Timothy Foster

Admin

WAC

Guest

Very few people have the guts to fight giant ants.

Good luck.

Attachment:

Timothy Foster 02 Feb 2013 15:52
Timothy Foster

Admin

WAC

Guest

.

Attachment:

Timothy Foster 02 Feb 2013 15:48
Timothy Foster

Admin

WAC

Guest

Right I'm getting to it.

"Categorize" is a button that allows you to add descriptive tags, such as axe, movement, arcade, etc. It's just a way of adding more description to a thread.

Attachment:

Timothy Foster 02 Feb 2013 15:46
Timothy Foster

Admin

WAC

Guest

Yes, there is; I just hadn't implemented it last night when I made this post because I was too tired XD

Attachment:

Timothy Foster 02 Feb 2013 15:44
Timothy Foster

Admin

WAC

Guest

This is needed to initialize the system.

Attachment:

Timothy Foster 02 Feb 2013 15:43
Timothy Foster

Admin

WAC

Guest

Another thread of piloting.

Attachment:

Timothy Foster 02 Feb 2013 15:42
Timothy Foster

Admin

WAC

Guest

Pilot Thread.

Attachment:

Xeda Elnara 02 Feb 2013 15:41
Xeda Elnara

Moderator

FA

Guest

Hmm, is there a way to sticky topics? Otherwise this might get pushed to the bottom.

Attachment:

Timothy Foster 02 Feb 2013 15:38
Timothy Foster

Admin

WAC

Guest

Yet another pilot thread.

Attachment:

Xeda Elnara 02 Feb 2013 15:33
Xeda Elnara

Moderator

FA

Guest

Okay, thanks! I can work with that. Should we then have a topic to go over all of the special things?

Attachment:

Xeda Elnara 02 Feb 2013 15:32
Xeda Elnara

Moderator

FA

Guest

Hi, I am Zeda, also known as Xeda. I am a moderator here on TI-Basic Developer and I am sure many of y'all are familiar with me. With the new site change, I figured I would help populate the Introductions forum, though. So, about me:

  • I have been programming the TI-83+/84+ series for around six years, now.
  • I have a TI-84+, TI-84+SE, and a TI-89t.
  • I program in TI-BASIC and Z80 Assembly and I often help out by supplying assembly hexcodes for things that cannot be easily done in BASIC.
  • I am a moderator here and on several other sites.
  • I am in college, majoring in mathematics. I have also tutored highschoolers.
  • I am almost 21 and I am married :)
  • I was a museum tour guide for a few years. Basically, I just like teaching and helping people out.

Feel free to ask me stuff! I've worked quite a bit with TI-BASIC and z80 assembly, so even if I am not the most knowledgeable, I might know something!

Attachment:

Timothy Foster 02 Feb 2013 15:30
Timothy Foster

Admin

WAC

Guest

This is a pilot thread.

Attachment:

Timothy Foster 02 Feb 2013 15:29
Timothy Foster

Admin

WAC

Guest

This is a pilot thread.

Attachment:

Timothy Foster 02 Feb 2013 15:28
Timothy Foster

Admin

WAC

Guest

This is a pilot thread.

Attachment:

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