LZ: The Official ZShell FAQ 13.02 (November 12, 1996)


[Prev][Next][Index][Thread]

LZ: The Official ZShell FAQ 13.02 (November 12, 1996)



                                   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 |
+-------------+