The ticalc.org Newsletter
May 1999 - Volume 2, Issue 5
IN THIS ISSUE
Letter from the Editor
Letter to the Editor
Programming in Assembly, Part III
On Creating a Site
LETTER FROM THE EDITOR
Thank you for reading the ticalc.org newsletter! The Program of the Month voting will continue this month. To see the programs which have been nominated and/or cast your vote for the best program in each category, go to http://www.ticalc.org/survey/potm/4.html. In order to vote you must be registered in our voting system. If you are not yet a registered voter on ticalc.org, please go to http://www.ticalc.org/survey/request.html before voting for the Program of the Month. The polls will remain open for one week, after which time the winners will be announced in an addendum to this newsletter as well as on the ticalc.org news.
LETTER TO THE EDITOR
If you have anything that you would like to have published in this newsletter, please send it to email@example.com. Each month I will print one letter that I choose in the "Letter to the Editor" section. You can send letters regarding just about anything as long as they are constructive. Send your letters to the editor to firstname.lastname@example.org.
In calculator news this month, The ACZ has been active. Rusty Wagner has released Virtual TI v2.0 Alpha 3. This emulator, in addition to having many unique features, will emulate an 82, 83, 85, 86, 89, 92, and/or 92 Plus, making it the most versatile emulator currently available. Additionally, ACZ has announced that they will start selling calculators from their site, making them only the second non-profit site to do so.
Additionally, Texas Instruments has been noticed this month. First of all, they have released "official" documentation on TI-89 and TI-92+ assembly language calls. Also, they have put the TI-82 and TI-83 into a new case that is shaped more like the TI-73. The pictures of all of these calculators, and those in their new cases, is available on TI's web site.
PROGRAMMING IN ASSEMBLY, PART III
This month I will continue on the topic of programming in assembly language.
Last time I dealt with common instructions in assembly language. If you didn't
catch last month's installment, check out the newsletter archives (refer to the
Miscellany section). In this installment I will deal with the memory and how to
access it. I will again remind the reader that I will refer to the Z80 whenever
specific reference is necessary.
It may prove confusing to the beginner
that what in higher-level languages are variables must use direct access to
memory in assembly language. This, however, is completely true. With not very many
registers to choose from, it is almost impossible to store everything that needs
to be stored in the registers alone. The solution to this dilemma is to store
items in memory and retrieve them later. On most of the calculators, there is a so
somewhat large area that can be written to. On the Z80 calculators, for example,
here is a 128-byte or 168-byte (depending on the calculator) text shadow that
programmers may use to store temporary data (this is not always the best solution for data storage). There is always the much more confusing possibility of creating actual calculator variables and storing data in those; this approach is most convenient for more permanent data.
Let us consider, for now, temporary storage. Except in special cases (which we will not discuss right now), you can only store a certain amount of data to memory at a time. For the Z80, you may store words or bytes; for the 68000, you may store longs, words, or bytes. It is best to use labels to point to your data; this way you can easily change its location.
There are two ways to access your data. The first is explicitly. This means that you know exactly where your data is, and it will always be there. To use this method, you simply provide a static address of where the processor can find what you want (as previously mentioned, it is good to use labels). The second is implicitly. This method is used when data could be in one of many places, or sometimes it is used to conserve space. In this method, the processor retrieves data based on the value in a register; such a value is called a pointer.
Well, that's all we're going to talk about in this issue, and... "Hey wait! Can we see an example?" I've been asked this about previous columns so I guess I should be providing some examples in the future. Here is an example in Z80 assembly demonstrating this issue's concepts. NOTE: You may write comments in your code to tell others what you are doing. In most languages, anything after a semi-colon is ignored.
TEMPVAR = _textShadow ;create a temp var, lets have it be a byte
ld a,$13 ;initialize the value of the A register
ld (TEMPVAR),a ;this is explicit or direct addressing
ld hl,TEMPVAR ;initialize a pointer
ld a,(hl) ;use implicit or indirect addressing to read (TEMPVAR)
ON CREATING A SITE
We've gone a slight tangent this month and asked Adam, from Dimension-TI,
to pen his thoughts about starting from scratch and creating a popular TI site.
This is in place of our standard programmer interview this month. So, without any
further delay, we bring you his thoughts:
About two years ago I decided
that I wanted to form a "big TI site." To tell you the truth, I didn't know
what I was getting myself into. I had had a small, personal TI site which wasn't
going anywhere. I was certainly inspired by ticalc.org
and TI-Files, the only two
"major TI sites" at the time. So I put up a small message saying something along
the lines of "Would you like to help build the biggest TI site of all time?" Not
the best way to attract members, but I didn't know of any better method at the
time. Four people expressed interest in the site, and in July '97 construction
began. Dimension-TI opened on September 5th that same year.
The opening of
the site wasn't the smashing success I had hoped for. It certainly wasn't as large
and popular as ticalc.org and TI-Files, mainly since I didn't know how to run
the site. However, it was still pretty popular for a new site, and I kept at
it. Most of the original members quit soon after the site's opening, and within
a month I was left alone with the site. But I kept working on it and doing the best
I could do alone.
Almost a year later the site started to pick up again.
New members joined the staff. My experiences working with TI-Files (the details
of which are best saved for another story) gave me both guidance toward how
to lead a site and the enthusiasm I needed to be one of the best. The site picked
up from there. Last summer, the summer of 1998, the site was "overhauled." The
main change was the changes to the program archives, which are now generally regarded
as the best part of Dimension-TI. Just a few weeks ago we started adding
CGI scripts to the site to make it easier to maintain as well as more visually
The site has slowly grown into one of the Internet's "major"
TI-Calculator sites. Most people now regard it as, at the least, one of the top three
sites. We are now more professional, have a more dedicated staff, have more
experience, and more regular updates. Since we began to sell calculators, we have
accumulated just enough money to acquire two domain names,
and move to a much more stable server. Dimension-TI is as at its finest. I have accomplished my original dream of creating one of the most popular and helpful TI sites.
For anyone who shares my dream of giving to the "TI-Community," there are many things you can do to start your own site. When I started Dimension-TI, most people believed that the site would die in a few weeks; it would never be one of "the big three." Indeed, most sites that start the way mine did do end up that way. But mine didn't. For those who would like to start their own site, I suggest several things to help you create a successful site.
Firstly and most importantly, you should stay determined even if odds are against you. Many people advised me not to continue with Dimension-TI, that the site was "pointless." If I had listened to them then they would have been proven right. Second of all, give your site a focus. There are now three sites totally dedicated to File Archives. More aren't needed (hypocritical, maybe, but it needs to be said). If your site has a particular focus then it will fill a void that the other calculator sites are missing, and hopefully attract a whole new audience. People who were attracted to one of the existing sites will be hard to "convert" to acknowledge your site as one they should visit regularly. But if you have something on your site that no one else has then your site may succeed. The unique sections at Dimension-TI are the only reason it was successful. Finally, you need a plan. Working with another site is a great way to gain experience running a site. You need to set specific goals and methods of achieving them.
I'll close by thanking ticalc.org for giving me this opportunity to express my views in their newsletter. Maintaining good relations between competing sites is important. I hope that both sites can coexist for as long as possible, and I'll make every effort possible to make that happen.
There are two versions of the ticalc.org Newsletter, a plain text version and an HTML version. To subscribe, send an email to email@example.com with either "subscribe newsletter" (for plain text) or "subscribe newsletter-html" (for HTML) in the body of the message. To unsubscribe, simply do the same thing except replace "subscribe" with "unsubscribe".
You can find all issues of the ticalc.org Newsletter in our Features section under Newsletter. The exact URL is http://www.ticalc.org/features/newsletter/index.html.
Any opinions expressed in this newsletter are the opinions of the newsletter editor and/or published authors. By no means are the opinions heretofore expressed to be considered representative of ticalc.org as a whole. Texas Instruments in no way endorses or is affiliated with ticalc.org. Any trademarks are hereby acknowledged as the property of their respective owners.