The Trigonometry Machine v3.6

The Trig Machine v3.6




BASIC Version ASM Version
Author
Kevin Selkowitz Morgan Davies
E-mail
kevinselkowitz@wa.freei.net morgan@ticalc.org
Title
The Trigonometry Machine v1.0 The Trigonometry Machine v3.6
Size
4850
3431
Date
January 19, 1998
June 21, 2004



1. Introduction - Description of Program
2. Key Commands
3. Improvements Upon BASIC Version
4. Improvements Upon ASM Version 3.4
5. Special Thanks
6. Need Help With ASM




Introduction - Description of Program

THE ULTIMATE TRIANGLE SOLVER! Simply stated this program will solve for any angle or side of a triangle that you don't know. Input any variation of 3 different angels or sides and the program will automatically find and solve the resulting unknowns. The program also displays an option of viewing the area of each triangle. There are two different ways to view the results, including a graphical display and a list option. In addition the program also checks and makes sure that the triangle is in fact a real triangle. An error is displayed if it is not. This is a direct ASM port from the BASIC version, has many more features, and of course runs faster.  Added in this upgrade from the original is a list view along with the GUI view.


Key Commands

Keys
Sides Input Menu
Angle Input Menu
F1
Change to Angle Input Menu
Change to Side Input Menu
F2
Change View between list and GUI view
Change View between list and GUI view
F3
Input Side 'a'
Input Angle 'A'
F4
Input Side 'b' Input Angle 'B'
F5
Input Side 'c' Input Angle 'C'
Exit
Exits Program
Exits Program

~~~

Keys
More Than One Answer Menu Only One Answer Menu - Most Likely to Occur
F1
Goto the Next Answer
Restart the Program - Solve for a Different Triangle
F2
Change View between list and GUI view Change View between list and GUI view
F3
Display the Area of the Triangle Display the Area of the Triangle
F5

Exits Program
Exit
Exits Program Exits Program



Improvements Upon BASIC Version

  • The BASIC version of Trig Machine did not include the List view as the 85/86 version did. I added that in version v3.6. You now have access to view the answwers and input screens in two different views. The default it the GUI view.
  • The original also did not allow to view the area of each triangle as you solved for them either. I added that and u[pgraded the menus a little bit to make implementing this a little more easy.
  • The Basic version did not offer many places to exit the program. I added to ability to press the Exit key from any menu to quit the program. In addition there is the teacher key which quickly shuts down the calculator.
  • Believe it or not there were in fact errors in the BASIC version. There were areas on the original that would result in an endless loop and the user would ultimately have to press [On] to exit the program. This only happened when the program couldn't calculate the other angles and sides because the numbers input could not possibly result in a triangle. I fixed that and added a small routine that displays the error if three angles were input since no side length can be determined.
  • And of course the program is FASTER!!! Not that the original was too slow, as it actually had a reasonable speed, but faster is always better :-)



Improvements Upon ASM Version 3.4
  • Version 3.4 is a direct port and does not allow to solve for area and doesn't have the GUI view. Both of these are not present in v3.4 but were added to v3.6.
  • You can now exit from any results menu not just the last one.
  • Still adding more...do you have any? If you do you should tell me!



Special Thanks
  • Cullen Sauls <sauls@tamu.edu>
    • Thanks for helping a pleading cry. He assisted greatly in solving the problem I encountered with the routine that stores numbers to real variables. Check out Cullen's author profile at ticalc.org. He has produced some very great stuff for the 86. Thanks! (NOTE: If you were looking through the code for those routines they are no longer there. I found a more efficient method of storing the numbers I needed. However his assistance got my project off the ground, and without it I may have never finished the program.)
  • David Straney <straney@umbi.umd.edu>
    • I owe David more than anyone. Because of David I now have a very efficient method of storing the numbers I needed. In order to make this program work I needed to save almost 15 numbers and have them accessible at any given point in the program and David showed me how to use the unused space in _plotSScreen. Through that you can save nearly 100 numbers and easily get that at any given point. If you were curious how I was doing this before, I was actually creating real variables on the calculator and recalling the real variables when I needed them. With David's method I shaved off another 175 bytes on the program. Thank you!



Need Help With ASM

If you are wanting help with any part of 86 Assembly math or any of the code used in this program feel free to contact me. I love helping out. It gives me an opportunity to learn if I don't know how to do it already. I might be willing to help a bit with some other z80 ASM (83/83+) as well. So like I said, feel free to contact me. I have AIM and am on quite a bit. My screen name is Morgazum85.

That's about it. Thanks for downloading and please feel free to use segments of code if you wish, but please give credit. Thanks for downloading and feel free to give the program to anyone you want! :-)