Tutorial 1
What you need to write ASM programs

Overview
   In this tutorial, I will be showing you what is needed to make/assemble Asm programs. We'll even learn some DOS commands!

Required hardware
The following items are needed to create/run Asm programs:
- TI-83 Plus (this is kind of important)
- TI-Graph Link or Equivalent (actually optional)
- IBM compatible PC

Required software
   The following programs are needed to write/assemble Asm programs:
-TI-Graph link software (only if using TI-Graph Link)
-*TASM cross assembler/linker
-*Objhex (Objhex is a program I made in C that converts Binary files to hexadecimal code)
-*Virtual TI (optional, I'll show you how to use it later)
-**Asm.bat (a batch file I will show you how to make, don't worry about it yet)
-Any word processor (Notepad is prefered)
-Windows 3.x, 95, 98, 2000, or greater

*Available at www.ticalc.org, www.calc.org, or other calculator websites. Your best bet is to look in their program archives.
**Included with this Help File

What is this?
   If you are new to Asm programming, you have probably never heard of the software mentioned above. The TASM assembler/linker assembles the program you've written in z80 assembly language. Nobody would have heard of ObjHex because I made it (It is programmed in C). The only reason I use it is because I have never used Obj83 (I just recently found out what it was for:). They both do the same thing, but I'd prefer you use ObjHex because I worked hard on it. If you want proof that it isn't just a renamed Obj83, give me an e-mail, I'll show you the source code for it! Virtual TI is a calculator
emulator, I'll tell you how to use it later. If you don't know what Windows is, you probably shouldn't be using this help file, because you wouldn't be able to. Notepad is a word processor, we will type in the source code for our programs here.

What we're going to do
   Now, we need to organize the files into folders ("Directory" is the DOS term for folder).
Create a new folder called "LearnAsm". You may call this folder anything you want as long as you know what it is. Now, inside this folder, create four more new folders, name them: "TASMassembler", "ObjHex", "Virtual TI", and "MyPrgms". Extract the contents of the TASM zip file to "TASMassembler", the ObjHex zip file to "ObjHex", and so forth with the rest of them. Leave the "MyPrgms" folder alone for now, we will save all the programs you make to this folder. Now copy the contents of "ObjHex" to "TASMassembler". Before we get to the batch file, make sure if you're using the TI-Graph Link software that it's installed correctly in it's own seperate folder.

   Now, here's the batch file. Open the "LearnAsm" folder. Now right click and select New, then click on text document. Name it "asm.bat". Note the file extension is .bat. Now open it. Copy and paste the following text into it.

@echo off
echo ----- Assembling %1 for the TI-83 Plus...
tasm -80 -i -b %1.z80 %1.bin
if errorlevel 1 goto ERRORS
echo ObjHex Converter Version 1.2
echo Copyright (C) 2000 Jeff Chai
objhex %1.bin > %1.hex
echo ----- Converting to hexadecimal format...
echo ObjHex: HexaDecimal version is %1.hex
echo ObjHex: Task Complete!
goto DONE
:ERRORS
echo ----- Errors were found!
:DONE
echo ----- Done

   Just to let you know, these are MS-DOS commands (Microsoft Disk Operating System). DOS was developed by Microsoft in the late 80's. It is simple to use if you know how. What do these commands mean? Well, look below:

@echo off - prepares OS to display text
echo - command that displays anything typed after it, always preceded by @echo off
goto <Label> - goes to a Label
If - If statement true, do something
%1 - This is replaced with the name of the file you specify in another batch file.

   Save the file and then move it to the "TASMassembler" folder ("Directory" is the DOS term for folder for those who are DOS illiterate...). Take a look at the batch file. Try to understand it, know what it is doing at a specific point in time. It'll make things a lot clearer.

Important!
   Assembly programs must be written in z80 assembly language. Though to be sent to the calculator, they must be assembled and converted to ASCII (Hexadecimal code). Once on the calculator, they may be run as is, or compiled in to the calc's native language.

Tutorial 2

    Click to return to the site's menu... or here to get back to the tutorial's menu.