Home About me PC TI-Calcs Music Guestbook News

The ZShell School is permanently closed!!

ABOUT THE SCHOOL
So, you want to learn ZShell programming? A totally beginner? Know a few high level programming languages already? Or maybe already an average programmer? Whatever you are, you've come to the right place, the Online ZShell school! Even if you think you're an expert (and maybe you are) you can help me correcting statements that doesn't work, or if you find an even smarter solution than I've written. Then I'll also learn! :-)

There were two link errors on the page (to lesson #2 and #4). Thanks Greg Parker, Karl Herrick and Clyde Law for telling me that. Some errors in different lessons have been found by Dan Leehrs and John Murphy.

LESSONS
Below follows a list of all published lessons, both as HTML documents (recommended) and as plain text files.

#1 HTML TXT Introduction to assembly language. Binary and hexadecimal. The memory. A "Hello World" program. How to compile a program.
#2 HTML TXT How to store information in registers and in the memory. Some simple instructions, ld, add, inc, dec and sub. A closer look at the "Hello World!" program.
#3 HTML TXT What are flags? How to compare and make loops. What are ROM_CALLs?
#4 HTML TXT All bit manipulating instructions and some other small useful instructions.
#5 HTML TXT What is/how to use the stack, including the instruction Push/Pop. PutImage and a very fast PutSprite routine.
#6 HTML TXT What are opcodes? How do I use alias and macros in my assembler? Some more registers are presented plus a couple of new instructions. Last, introduction to grayscale graphics.
#7 HTML TXT More about grayscale graphics, including a grayscale sprite routine. Two different input routines. An introduction to ports and how to read multiple keys.

You can download all lessons in text format by pressing here.

COMPILING INSTRUCTIONS
I've got a lot of mail from people asking questions like "Where do I write the program?" and "Where do I find the necessary files?". So I decided to answer those questions here and put all necessary files on the web so I don't have to answer those questions again.

When writing a ZShell program, you should use a regular text editor. If you like Windows (yuck), Notepad is enough (if you use a more advanced wordprocessor, you must save the file as a plain text file). In DOS, you can use EDIT.COM which is in the DOS directory.

To compile a ZShell program, you need the following files: TASM.EXE, TASM80.TAB, TI-85.H and STRING85.COM. No mores files are needed. I've zipped these files together plus two other files, C.BAT and NIBBLES.ASM. The first file is a batch file making the compilation easier, and the second one is a test source from the game nibbles made by Oskar Liljeblad. Press here to download the package.

Now I'll show you how to compile a file. In the example, I will compile the file NIBBLES.ASM and I will use the file C.BAT to do that. Everything should be done in DOS, so start a DOS session if you use Windows.

  C:\ZSHELL\>c nibbles
  TASM Z80 Assembler.       Version 3.0.1  June, 1994.
   Copyright (C) 1985-1994 by Speech Technology Incorporated
  tasm: pass 1 complete.
  tasm: pass 2 complete.
  tasm: Number of errors = 0

  STRING85 v4.0   Copyright (C) 1995 Dan Eble & Magnus Hagander

  Generating ZShell 4.0 file.

  Converting nibbles -> nibbles.85s   <3728 bytes>

  C:\ZSHELL\>

All you have to do is run C with the filename of your program (without the .asm extension!) as the first parameter. If there are no errors in your code, a string file has been created! Just use your favourite linkprogram to send it to the calc.

When compiling, you must have the following files in the same directory as the source file: TI-85.H and TASM80.TAB. The files you execute (TASM.EXE, STRING85.COM and C.BAT) only has to been in a path set by the PATH enviroment variable.

If you get errors compiling the nibbles file, the most likely reason is that you have an old version of TI-85.H. If so, download the newest version of TI-85.H (not needed if you downloaded all files above).

[ Home | About Me | PC | TI-Calcs | Music | Guestbook | E-mail | NEWS ]