LZ: The Official ZShell FAQ 13.02 (November 12, 1996)
[Prev][Next][Index][Thread]
LZ: The Official ZShell FAQ 13.02 (November 12, 1996)
-
Subject: LZ: The Official ZShell FAQ 13.02 (November 12, 1996)
-
From: Henrik Edlund <piett@ticalc.org>
-
Date: Tue, 12 Nov 1996 14:01:22 -0500 (EST)
-
In-Reply-To: <>
OFFICIAL
________ ____ __ ___ ___
/\_____ \ /\ _`\ /\ \ /\_ \ /\_ \
\/____//'/'\ \,\L\_\ \ \___ __\//\ \ \//\ \
//'/' \/_\__ \\ \ _ `\ /'__`\\ \ \ \ \ \
//'/'___ /\ \L\ \ \ \ \ \/\ __/ \_\ \_ \_\ \_
/\_______\\ `\____\ \_\ \_\ \____\/\____\/\____\
\/_______/ \/_____/\/_/\/_/\/____/\/____/\/____/
FAQ
Copyright (c) 1995, 1996 the ticalc.org project
Maintained by Henrik Edlund
Version 13.02
November 12, 1996
This FAQ attempts to answer some of the frequently asked questions about
ZShell. Suggestions, corrections and comments should be sent to the author and
maintainer of this FAQ, Henrik Edlund at piett@ticalc.org.
PLEASE READ THE 'IMPORTANT READING' SECTION!
+------------+
| Legal Note |
+------------+
This FAQ is copyrighted by 'the ticalc.org project'.
Under no circumstances should this FAQ's content be changed or in any other
way manipulated.
The information presented here is provided "as is" without any warranty,
guarantee, or promise, express or implied, concerning the content or accuracy
of this FAQ. In no event shall the maintainer of this FAQ or people who have
submitted information be liable for any damages whatsoever including but not
limited to direct, indirect, incidental, consequential, loss of business
profits or special damages, even if someone has been advised of the
possibility of such damages. This FAQ is not officially supported by TI in any
way. The bottom line is: USE THE INFORMATION PRESENTED HERE AT YOUR OWN RISK!
(Not that it's deadly or soo...)
+-------------------+
| Important Reading |
+-------------------+
Questions! Write to me with new questions, there must be lot of unanswared
question out there. Don't hesitate, write today... See address above!
Spelling! Please write and correct me if I typed in something wrong or
used some bad grammar. That would really help both me and the FAQ.
This FAQ should not under any circumstances be put up on a FTP site without
the written permission of the author/maintainer.
You may distribute this FAQ to a newsgroup but let me know in advance.
I already distribute it to a lot of places and the last thing people wants
is to get their mailbox jammed with several copies.
Check out 'the ticalc.org project' at "http://www.ticalc.org/".
+-------------------------------------------------+
| Thanks Goes To These People For Helping Me Out! |
+-------------------------------------------------+
(listed alphabetically)
Chris Dornfeld <smack@ticalc.org>
Dan Eble <eble@ticalc.org>
Magnus Hagander <mha@ticalc.org>
Isaac Salpeter <isaac@ticalc.org>
Amitai Schlair <amitai@ticalc.org>
Rob Taylor <rtaylor@ticalc.org>
Christopher Busch <cbusch@d.umn.edu>
Damien Den <DamienDen@aol.com>
Michael Heinsohn <mikeh@clovis.nerdnosh.org>
Greg Hill <Virginia.Ord@k12.uen.gen.ut.us>
Dines Justesen <c958362@student.dtu.dk>
Philipp Knobel <100430.3302@compuserve.com>
Jeff Lawson <jlawson@hmc.edu>
Mattias Lindqvist <ENWGM@lustudat.student.lu.se>
Adam L. Pollock <alp@telerama.lm.com>
Andrew Wedgbury <aw@wedger.demon.co.uk>
+--------------------------------------------------+
| Where Can I Find The Latest Version Of This FAQ? |
+--------------------------------------------------+
Do not get it from any other site than those listed below.
HTTP (Web) sites
----------------
(1) http://www.ticalc.org/pub/zshell/zshell.faq
FTP sites
---------
(1) ftp://ftp.ticalc.org/pub/zshell/zshell.faq
"the ticalc.org project"'s FTP mail service
-------------------------------------------
Write to "ftpmail@ticalc.org" with "get /pub/zshell/zshell.faq" in the body of
your message.
+-----------------+
| The FAQ Version |
+-----------------+
The major version number (the number before the separator) changes when
questions are added.
The minor version number (the number after the separator) changes when
answers are revised or other stuff is changed.
Note that when questions are added the minor version number is reset to zero,
even if answers were revised in that turn.
+-----------------+
| Version History |
+-----------------+
1.00 - August 14, 1995 - Initial Release.
2.00 - August 16, 1995 - Q6 and Q11 revised and Q12 added!
2.01 - August 17, 1995 - Q3 and Q5 revised.
2.02 - August 20, 1995 - Q5 revised.
2.03 - September 19, 1995 - Q6 revised.
2.04 - October 12, 1995 - Q11 and Q9 revised.
3.00 - November 01, 1995 - Q13 and Q14 added.
4.00 - November 23, 1995 - Q2, Q3, Q6, Q8, Q10, Q11, Q13 and Q14 revised.
Q15, Q16 and Q17 added.
Some bad spelling corrected.
4.01 - November 26, 1995 - Q6, Q9, Q15 and Q17 revised. Spelling corrected.
4.02 - November 29, 1995 - Q14, Q15 and Q16 revised. Spelling corrected.
4.03 - November 29, 1995 - Q3 had an serious error which was corrected.
Q14 was revised.
5.00 - December 08, 1995 - Some addresses changed. Q19, Q20 and Q21 added.
Q13 revised.
6.00 - December 15, 1995 - Q15 and Q21 revised. Q22 added.
Spelling corrected.
7.00 - December 21, 1995 - Changed Rob Taylor's e-mail address.
Q23, Q24 and Q25 added.
8.00 - January 19, 1996 - Q26 added.
9.00 - March 12, 1996 - Q27 and Q28 added. Q9, Q12 and Q26 revised.
10.00 - March 14, 1996 - Q29 added.
10.01 - March 16, 1996 - Corrected spelling on Q29.
10.02 - March 17, 1996 - New directories for the ZShell Home Site.
Q15, Q25 and Q28 revised!
10.03 - April 07, 1996 - List-ZShell has moved and List-ZShell-Binaries
has not been set up yet! Q12, Q26 and Q27 revised.
10.04 - April 10, 1996 - New URL for The Official ZShell Home Page.
Q9, Q14, Q21, Q24 and Q25 revised.
11.00 - April 11, 1996 - Q30 and Q31 added.
11.01 - April 11, 1996 - Q12, Q15, Q26, Q27 and Q28 revised.
11.02 - April 19, 1996 - Q14 and Q25 revised.
12.00 - June 21, 1996 - A lot of changes above. We have moved!
Q5, Q9, Q13, Q14, Q15, Q18, Q21, Q23, Q24
and Q25 revised. Q32 added.
13.00 - June 27, 1996 - Q33 added. Michael Heinsohn address changed.
Q20 revised.
13.01 - August 03, 1996 - Changed some spelling.
Added Amitai Schlair's new e-mail address.
13.02 - November 12, 1996 - Changed Amitai Schlair's e-mail address.
Also added request for new questions.
+----------------+
| Question Index |
+----------------+
* means that this question needs more answers... or more explanations!
+ means that this question was added in this major release!
! means that the answer was revised in this major release!
1. What is ZShell?
2. What are the files in the ZSHELL.ZIP archive?
3. What are the requirements?
4. What version of ROM do I have?
5. How do I put ZShell in my calculator?
6. How do I run ZShell?
7. How do I run programs for ZShell?
8. Who wrote ZShell?
9. Is there a ZShell Home Page?
10. What is the current version of ZShell?
11. Does ZShell work with ROM versions above 8.0?
12. Is there a mailing list for discussing ZShell?
* 13. Is there any reference literature about Z80 programming?
14. Where can I find an example of some ZShell (Z80) source code?
15. Where can I get the latest version of ZShell?
16. What does "ZShell too old" mean?
17. What's so special about 21 November 1995?
18. Are there any programming pages about ZShell on the web?
19. Does Zilog (the makers of the Z80) have a Web site?
! 20. Is there a IRC channel for discussing ZShell stuff?
21. Where can I get applications for ZShell?
22. What is the correct filesize for ZSHELL40.ZIP?
23. I have made a program for ZShell. Where can I distribute it?
24. Where can I always get the latest version of the applications in the
ZSHELL40.ZIP package?
25. Does the file TI-85.H ever change? And where do I get the new version?
26. Is there a digest version of List-ZShell?
27. Is there a mailing list for distributing ZShell applications?
28. Is there a digest version of List-ZShell-Binaries?
29. I transfered ZShell to my friends calculator by linking a memory
backup and now his custom menu is garbled. How do I fix this?
30. Can the TI-85 produce sound?
31. What if I don't have money to buy a GraphLink from TI?
32. Hey, what happened to the ZShell Home Page?
+ 33. How do I write a byte of data to the data bus of the CPU?
+-----------------------+
| Questions and Answers |
+-----------------------+
1. Question : What is ZShell?
Answer : ZShell is a program for the TI-85 graphing calculator that
enables execution of Z80-compatible programs stored in string
variables. ZShell is a shell and an operating system combined.
The shell part provides an organized way to list and execute
the string programs stored on the calculator. The operating
system part provides functions necessary for the string
programs to work properly with different ROM versions and in
the quicksand environment of the TI-85's memory.
2. Question : What are the files in the ZSHELL40.ZIP (ZSHELL.ZIP) archive?
Answer : ZSHELL .85B - ZShell 4.0, TexaNoid, Organiser
and Function Tester.
ZSHELL .DOC - The Documentaion
TI-85 .H - header file for TASM facilitating TI-85
programming.
TASM is the Table Assembler, not Borland's
product.
STRING85.COM - compiles binary Z80 code into an .85S file
UPGRADE .TXT - Information about how to upgrade old programs.
(Version 3.x to ZShell 4.0)
TEXAN .DOC - Documentation for TexaNoid.
ORGANISE.DOC - Documentation for Organiser.
TEST .DOC - Documentation for Function Tester.
3. Question : What are the requirements?
Answer : You must have TI-85 and a Link Cable and Link Software or know
someone who does or know someone who knows someone who does...
For version 4.0 of ZShell, you must have ROM version 3.0A,
4.0, 5.0, 6.0, 8.0, 9.0 or 10.0.
4. Question : What version of ROM do I have?
Answer : To find out what version of ROM you have, press the following
keys: [2nd] [MODE] [ALPHA] [S].
The sentence "Enter self test?" accompanied by a version
number will appear. Hit any key EXCEPT [ENTER].
PRESSING [ENTER] WILL CAUSE YOUR MEMORY TO BE ERASED.
5. Question : How do I put ZShell in my calculator?
Answer : ZShell itself is stored in a string variable.
(Plus a pointer from the menu to that string).
You can only get ZShell through a memory backup, you can't
"type it in".
All you have to do to put it in your calculator is use your
the link and transfer a memory backup to your calculator.
To do this without losing whatever is presently in your
memory, follow these steps:
(1) Transfer all of the data on your calculator to a group
file on the computer.
(2) Transfer the ZShell backup file to your calculator.
(3) Transfer the group file back to your calculator.
Don't overwrite any variables from the ZShell backup.
6. Question : How do I run ZShell?
Answer : To run ZSHELL, hit [CUSTOM] [F1]. Note that if you have a ROM
version other than the ones listed in Q3, ZShell will not run.
If the text on F1 does not say ZShell DO NOT PRESS F1!
That will destroy all your data!
Programs made for ZShell 1.0, 2.0, 3.0 and 3.1 are incompatible
with ZShell 4.0 and above.
7. Question : How do I run programs for ZShell?
Answer : When you start ZShell, it displays a list of the string
programs on your calculator, or "NO PROGRAMS" if it can't find
any. Use the up and down arrow keys to select a program,
[MORE] to see the next page of programs (if you have more than
eight), [ENTER] to run a program, and [EXIT] to return to
the home screen.
8. Question : Who wrote ZShell?
Answer : Version 1 to 3.1 was made by Dan Eble <eble@ticalc.org>.
Version 4.0 and future versions are made by Magnus Hagander
<mha@ticalc.org> and Rob Taylor <rtaylor@ticalc.org>.
9. Question : Is there a ZShell home page?
Answer : YES! It's now incorporated in "the ticalc.org project" at
"http://www.ticalc.org/asm/zshell/".
And there is also a ZShell Fan-Page run by Magnus Hagander at
"http://www.rbk.sollentuna.se/~mha/zshellfan/".
10. Question : What is the current version of ZShell?
10. Answer : 4.0
11. Question : Does ZShell work with ROM versions above 8.0?
11. Answer : YES, now in version 4.0 it does!
12. Question : Is there a mailing list for discussing ZShell?
12. Answer : Yes! Write a message to majordomo@rbk.sollentuna.se
with "subscribe list-zshell" in the body of the message.
NOTE: Application postings to this list are NOT allowed!
See Q27!
13. Question : Is there any reference literature about Z80 programming?
13. Answer : (1) 'Programming the Z80' by Rodney Zaks, SYBEX.
Read choice for beginners. Read this to understand the
basics of Z80 assembler.
ISBN: 0-89588-094-6.
(2) 'Z80 Assembly Language Subroutines' by Lance A.
Leventhal/Winthrop Saville.
Some nice routines
(3) 'Spectrum Machine Language for the Absolute Beginner'
by William Tang. It's a great book and has a lot of non
specific Z80 stuff. Just ignore the Spectrum only bits as
sound and the game.
(4) 'Z80 Programmers Reference' from Zilog, Inc.
(5) 'A Z80 Workshop Manual' by E.A. Parr.
Published bu Bernard Babani (publishing) Ltd.
ISBN: 0-85934-087-2.
(6) 'Z80 Assembly Language Programming' by Lance A.
Leventhal, published by OSBORNE/McGraw-Hill.
ISBN: 0931988-21-7.
(7) 'TLCS-Z80,85 Data Book' by Toshiba Corporation.
(8) 'Z80 Assembly-Language Programming' by Christopher Lampton.
Published by Franklin Watts.
It refers to the old TRS-80 and other CP/M computers, but
it can be generalized and applied to the TI fairly easily.
The book offers a clear explanation of exactly what factors
you control in ASM programming.
(9) 'The Programming Guide to the Z80 Chip'
by Phillip R. Robinson. Published by Tab Books.
(10) 'Learning Assembly Language: A Guide for BASIC Programmers'
by Hugo T. Jackson and A.M. Fischer. Published by Harper
and Row.
The title itself should draw TI-BASIC programmers.
Not about the Z80, but about a fictional chip called
"GRAPE-80" which handles generalized instructions.
(11) 'The Z80 Microprocessor' by Ramesh Gaonkar.
Published by Merrill. ISBN: 0-02-340484-1
This book is still in print, unlike most of the others.
14. Question : Where can I find an example of some ZShell (Z80) source code?
14. Answer : (1) http://www.ticalc.org/asm/zshell/
(2) ftp://ftp.ticalc.org/pub/zshell/source/
15. Question : Where can I get the latest version of ZShell?
15. Answer : The latest version of ZShell can be found at these places:
(1) ftp://ftp.ticalc.org/pub/zshell/zshell.zip
(2) If you only can use e-mail:
Write to "ftpmail@ticalc.org" with
"get /pub/zshell/zshell.zip" in the body of your message.
16. Question : What does "ZShell too old" mean?
Answer : The message is displayed when you try to run a program that is
made for a newer version of ZShell.
For example if you run a ZShell 4.1 program on ZShell 4.0.
It is then time to upgrade your ZShell! See Q15.
17. Question : What's so special about 21 November 1995?
Answer : It's the date when ZShell 4.0 (the big revolution) was
released. It's from now on a sanctuary day.
You can find a log from the release party on IRC-channel
#ti-calc at ftp://ftp.ticalc.org/pub/zshell/irc.log.
18. Question : Are there any programming pages for ZShell on the Web?
Answer : Yes, http://www.ticalc.org/asm/zshell/.
19. Question : Does Zilog (the makers of the Z80) have a Web site?
Answer : Yes, http://www.zilog.com/.
20. Question : Is there a IRC channel for discussing ZShell stuff?
Answer : Yes, #calc-ti was created on EFNet for general discussion of
the TI calculators, and then also for ZShell.
21. Question : Where can I get applications for ZShell?
Answer : (1) http://www.ticalc.org/asm/zshell/
(2) ftp://ftp.ticalc.org/pub/zshell/programs/
22. Question : What is the correct filesize for ZSHELL40.ZIP?
Answer : 27282 bytes.
23. Question : I have made a program for ZShell. Where can I distribute it?
Answer : Via the ticalc.org project! Just send the program to
contrib@ticalc.org.
Or by uploading it (put) to ftp://ftp.ticalc.org/incoming.
Or via the mailing-list List-ZShell-Binaries. See Q27.
24. Question : Where can I always get the latest version of the applications
in the ZShell package?
Answer : (1) http://www.ticalc.org/asm/zshell/
25. Question : Does the file TI-85.H ever change? And where do I get the new
version?
Answer : The TI-85.H TASM header file is updated occasionally by
Magnus Hagander (see above for address).
Get the latest version at the ticalc.org project site:
http://www.ticalc.org/asm/zshell/
26. Question : Is there a digest version of List-ZShell?
Answer : NO! No longer! It has been closed!
But all messages are archived by Magnus Hagander at
"http://www.rbk.sollentuna.se/mailing-lists/list-zshell/"
in WWW format for your pleasure.
27. Question : Is there a mailing list for distributing ZShell applications?
Answer : Yes! Write a message to majordomo@defiant.rbk.sollentuna.se
with "subscribe list-zshell-binaries" in the body of the
message. Also, see Q12.
28. Question : Is there a digest version of List-ZShell-Binaries?
Answer : NO! No longer! It has been closed!
But all messages are archived by Magnus Hagander at
http://www.rbk.sollentuna.se/mailing-lists/list-zshell-binaries/
in WWW format for your pleasure.
29. Question : I transfered ZShell to my friends calculator by linking a
memory backup and now his custom menu is garbled.
How do I fix this?
Answer : This happens when you do a memory backup between calculators
with two different ROM versions and there is something besides
ZShell in the sender's custom menu.
To fix this problem, hit 2nd-Catalog, and F4, which allows you
to clear spaces of the custom menu. Hit F5 through F2 until the
problem is fixed.
Do not hit F1 while here, because that will clear ZShell from
your custom menu.
When all is fixed, just hit Exit twice.
30. Question : Can the TI-85 produce sound?
Answer : The TI-85 can produce sound through its link port connected
to headphones or a stereo.
A ZShell program is required to toggle the link outputs on and
off quickly to produce square sound waves.
A mini-jack adapter is commonly required, which can be purchased
at electronic stores.
Using the link port in this way appears not to harm the TI-85.
31. Question : What if I don't have money to buy a GraphLink from TI?
Answer : There are several plans for homemade cables available at
"http://www.ticalc.org/link/".
32. Question : Hey, what happened to the ZShell Home Page?
Answer : It has been closed, and is now incorporated in 'the ticalc.org
project' at "http://www.ticalc.org/asm/zshell/".
33. Question: How do I write a byte of data to the data bus of the CPU?
Answer : Every time memory is accessed the bytes 'appears' on the data
bus. That's what it's for.
However when an interrupt occurs, the processor lets any
peripheral put a byte on the data bus (there is no way for the
processor to put a byte there instead of a peripheral).
On the TI-85 there are no peripheral which are designed to place
a byte on the databus at interrupt time, and as such the byte
the processor finds there is pretty much random.
So the *only* way to do interrupts on the TI-85 is the way used
in all currenty available interrupt handling code
(see graylib for an example).
+-------------+
| End of File |
+-------------+