Readme Truthtable for TI-83, by Hasan Güdük.

Truthtable by Hasan Güdük R1

|Contact me! |Disclaimer |Introduction |Controls |Credits |

Hello !!!

I'm Hasan Güdük, and I'm the creator of this truthtable-program for the Texas Instruments TI-83 Graphics Calculator.
When I refer to calculator, the TI-83 is what I mean.

I've created this site because of some things I would like you to read, so that you can start as quickly as possible, and you understand my point of view.

I've put them in a logical sequential order, but you can read them in any order you prefer,
BUT AT LEAST READ THE DISCLAIMER !!!

Just click one of these links:

1- IMPORTANT: DISCLAIMER

2- INTRODUCTION

3- CONTROLS

4- CREDITS



DISCLAIMER


I want to say here that, in case you don't know, this is an Assembly Program, and as such can cause your calculator to crash !!!
When your calculator crashes, I cannot, and will not, be held responsible.
If you give this program to other users, it's your responsibility to tell them about the dangers of potential crashes !!!.

Crashing your calculator will more than likely have very bad effects, such as, for example, losing all of the programs and other data that you have stored in your calculator. Perhaps it will even have permanent damage to your calculator.

Although I never heard of permanent damage occuring to a calculator as a result of a "bad" program, I can say my calculator has never been 'damaged' despite crashing a lot of times. But this ofcourse does not mean such things cannot, or, indeed, wil not happen.

I therefore advise you to make a backup-copy of your calculator before using
this program, if you want to be absolutely sure that you don't lose any data stored in you calculator.

I've run this program a lot of times without any problems, so all I can say is to just don't change the BASIC program or the ASM program, and just use it
for what it was meant to do, and the chances of something going wrong
is very very small !

Click HERE to move to the top of the page.

Introduction


Well, there's really not much to say here. I'm Hasan Güdük, I'm 20 years old and live in Holland. I've been programming the TI-83 in BASIC basically as soon as I found out it could be programmed and literally made loads of programs for it, one of which was a truthtable program.

Then someday somebody in my classroom managed to get a game on his calculator which ran at an incredible speed, and strangely it's source file could
not be seen in the EDIT menu ;)

As I wanted to know how I can make such programs myself, I started looking on the internet for information about games for the TI-83 and quickly spotted the excellent ticalc website. There I found ASMGuru by James Matthews, which was a great help in learning ASM

I then proceeded to mainly concentrate on assembly programming, and with a lot of trial and error I finally got this far, that is: a level of programming worth releasing publicly, in my opinion anyway :)

This is indeed my first released program on the internet, and I tried hard to make sure that it is up to scratch technically at least (well, as far as I'm capable of at the moment) so the program runs as fast as possible while also taking program size in account.

Even though it is my first publicly released program, I want to stress here that nearly
ALL ROUTINES IN THE PROGRAM HAVE BEEN CREATED BY MYSELF.
(Obviously using calls is not invented by me and that is not what I meant.)
By 'routines' I mean the actual code that you can see in the source file.

Wow, it seemed like I had a lot to say afterall !!! ;)

Click HERE to move to the top of the page.

Controls


The controls are pretty simple actually, but for those who don't know their
calculator in and out, I will explain how to make it work step by step.

To get the truthtab.83g group file onto you calculator, simply select the
option to send a group file to your calculator, in the link-software.
Select truthtab.83g and send it. As you'll see a couple of programs are being
send to your calculator, one of which is zasmload.83p which you might already
have on your calculator. If that's the case you don't have to "accept" it.

The other two files are TRUTHR1 and ZTRUTHR1. TRUTHR1 is the program you must use to get results.
ZTRUTHR1 is the assembly program, which you must NOT change under any circumstances !!!

You might wonder what the R1 stands for, well I'll tell you;
It stands for First Released version. Not very mysterious is it :)

You should have the programs on your calculator by now, so now I'll tell you how to make it work.

1- If you want to run the program simply select TRUTHR1 from your program
 , ,  menu in you calculator. (I can only hope you know how that works !)
 , ,  Press [ENTER] to run it.

 , ,  As you can see you will be asked to enter the requested formula.
 , ,  The formula can be as long as you like, and is only limited by the calculator.
 , ,  You can use the same letter as many times as you like, but just make sure that
 , ,  you don't use a letter greater than letter "P" in you formula,
 , ,  for example Q or Z, as the biggest truthtable the program can handle is 16 bits.

 , ,  To use logical operators in your formula, you can do two things:
 , ,  1- Use the + (add) button, which stands for logical "OR" and
 , , , , ,  the * (multiply) button, which stands for logical "AND".

 , ,  2- Select logical operator from calculator menu.

 , ,  If you want to select from the calculator menu, you should press:  , , 

[2nd] -> [Math] -> [>]

 , ,  You will see that you now are in the "LOGICAL' menu, where you can select
 , ,  either "and", "or" and even "xor" and "not(".
 , ,  If you want to use the "xor" and "not(" you must always select them from
 , ,  this menu, as there is no direct button equalivent.
 , ,  Don't worry though, you'll get used to this pretty fast.
 , ,  P.S. When you use "not(", don't forget to close it with ")" !!!

 , ,  For example sake let's enter the formula: A+B (or indeed A or B if you prefer
 , ,  to select), and then press the [ENTER] button.
 , ,  Tip: To get the previous formula you've entered, press Rcl Str1.


2- You will now be asked out of how many bits the truthtable should exist
 , ,  (minimum of 1, and a maximum of 16)
 , ,  For correct results you should at least input a number which corresponds
 , ,  with the "highest" letter you've inputted.
 , ,  With this I mean that letter "B" corresponds with 2 and for example "P"
 , ,  corresponds with number 16.
 , ,  If you've entered the formula A+B, you should not input 1 as the number
 , ,  of bits, as you're bound to get incorrect results.
 , ,  You can, however, input a greater number of bits, as long as it's not
 , ,  over 16.
 , ,  Makes perfect sense, doesn't it ;)

 , ,  As our formula is A+B, "B" is the "highest" letter so we input a 2, because
 , ,  we want a 2 bit truthtable.
 , ,  Now press the [ENTER] button again.


3- Now you must enter a number (decimal) where you want the truthtable to start.
 , ,  For a truthtable with two bits the maximum is 2^2 = 4 possibilities
 , ,  BUT ZERO IS THE FIRST POSSIBILITY so the maximum number you're
 , ,  allowed to input is 4-1 = 3 !!!

 , ,  Now you're only one [ENTER] press away from it's truthtable, so press it !!!

A litlle bit later you will get the truthtable of the formula A+B on the screen. Notice that the program automatically stops if the end of the truthtable has been reached.
As long as the number of bits you've inputted does not exceed 3, you'll see
that it only takes one screen to show all of the results.

If you want the truthtable to exist out of 4 bits or more, you'll see that,
after the first screen is showing, the run-indicator in the top-right
corner is running.

This means the calculator is in pause-mode, and waits for you to press
the [ENTER] key. When you press [ENTER] you'll get the next results
near-instantaneous on your screen.

Note: You should only press [ENTER] to go to the next screen if the
run-indicator is actually running, because if it's not it means
the calculator is still busy doing calculations.

(Though this will only occur if you press too fast and with
a high number of bits, which means you're not seriously looking
at the results. ;) )


If a complete truthtable will consist out of mutiple screens, you can
press the [CLEAR] key when the program is in pause-mode, to directly
make a user-abort, thus essentially immediately quitting the program.
The current results will stay on the screen, but the program has returned
to the TI-OS (TI-Operating System).

Well, that's all there's to it, told ya it's simple !

Click HERE to move to the top of the page.

Credits


Well I guess I have to give credit to the following people;

-James Matthews for writing ASMGuru and thanks to the people who are
thanked by James Matthews (that should shorten the list !!! ;) )
ASMGuru is basicly where I got my knowledge from, so it was, and still is,
very important.

-My electronics teacher on school, J. de Groot, for supporting me with
assembly programming and supplying me the tools from the internet
at a time when I had no direct access to these tools,
so that I can actually do assembly programming.

-People on the TI-83 mailing list, who made me understand
assembly programming much better.

Click HERE to move to the top of the page.

As this is the First Released version, there are no known bugs in this code.
If you think you've encountered a bug, then mail me and I'll try to fix the bug.
When submitting a bug BE SPECIFIC !, tell me the data you inputted so I can
try to recreate the situation.

I'll also would like it if you just e-mailed me, and told me where you use
this program for, as I put a lot of effort into it !


Created by Hasan Güdük 2002.
dialh4hasan@hotmail.com
typerfuture@hotmail.com

Program details:

Program size :
158 Bytes (BASIC)
559 Bytes (ASM, Compressed)
---------
717 Bytes

This program needs ZASMLOAD to run:
224 Bytes (ZASMLOAD)
717 Bytes +
-----------
941 Bytes
(Note, however, that ZASMLOAD can also be used by other compressed ASM programs.)

I hope this program proves to be usefull to you.
BYE !!!