                  ZX-TERM*80 V2.5 ADDENDA                  

                         May, 1988                         

                      By F. Nachbaur                       

I  have  made some "final" changes to ZX-TERM*80, resulting
in version 2.5. This version sports a number of  additional
refinements,  making  it even more flexible and useful than
before. The changes are summarized in this .DOC file.  Feel
free to circulate this, the program, and the associated Hot
Z "NAMES" file to other legitimate users.                  

The program is still only 4K long. Virtually every nook and
cranny  has  been  filled,  and  it  is  most unlikely that
further changes will be necessary or desirable.            

1: WRX16-V2 CORE - ZXT80 V2.5  uses  the  new  V2  of  Wilf
Rigter's  WRX16 high-res core. This eliminates the need for
a copy of the dummy display file in  high  memory,  thereby
removing some of the headaches that this causes.           

V2.5  should work fine with Memotech 32K RAM packs (without
additional 16K pack). It also works with a completely stock
TS1500.  (In  both  cases,  of course, the all-important 8K
static RAM is assumed.)                                    

Finally, there is no need for any data  swapping,  etc.  to
make  the  program  work  with  64K  packs. This frees up a
little space for some of the added features. Note also that
there  is  no  need  to  select  "memory type" in the BASIC
configuration portion of the program.                      

2: NEW ENTRY POINT - The entry point for V2.5 is ten higher
than  previous  versions.  E.g.,  at  the default location,
enter V2.5 with RAND USR  32280  instead  of  32270  as  in
previous  versions.  If you relocate it as high as possible
(45056),  the  entry  point  is  48664  instead  of  48654.
Internally,  some  of  the  routines have been moved about.
This may require changes in auxiliary "patch" programs such
as BIGRLE and Gary Robinson's PATCH (dual data buffer).    

3:  BYTE-BACK  MD-2  MODEM: Previous versions required that
you use  SHIFT  6  (modem  control)  carefully.  They  only
checked if you were pressing the "A" key (to go to "Answer"
mode). Any other key was taken to  mean  "Originate."  This
meant that you had to press Shift 6 very quickly to avoid a
false reading.                                             

This has been corrected in V2.5.  Also  note  that,  unlike
before,  you  MUST  hit  shift  6  and select either A or O
before   getting   online;   the  SIO  chip  is  no  longer
automatically initialized on entry. (See below.)           

3:  WESTRIDGE  MODEM:  The  program no longer automatically
initializes the modem on entry, and does not  shut  it  off
when quitting to BASIC. This allows more flexibility in the






                                                      --2--

                                                           
use of the program.                                        

For instance, you might have a tape fast-save routine in an
alternate   bank  in  8-16K,  or  you  might  have  a  disk
controller  mapped  in this region. You can thus download a
file, quit to BASIC to save it, and re-enter ZX-TERM*80  to
continue   modemming,   download  another  file,  etc.  The
connection will not be broken by quitting to BASIC  or  re-
entering.  (So  don't  forget to hangup after logging off.)
Similarly, you could download a program, test run it to see
if  it's  something  you  want to keep, and jump back in to
download something else if you so decide, else log off.    

4: INPUT BUFFER QUEUE EXPANDED: The input buffer  has  been
permanently  expanded  to  256  bytes,  much  as if you had
employed "useful POKE #13." The buffer address (high  byte)
is  stored  in  the  second byte in the program (generally,
this will be the first address beyond RAMTOP).  Since  most
users  seem to have 64K, the default is at 65024 (254=FEh *
256). This can be changed by modifying  location  16529  as
desired.                                                   

If you are using 16K, a little finagling will be necessary.
The  first  time  through,  answer  "Y"  to  "INSTALL  USER
OPTIONS?"  and  POKE  16529,111.  Enter  GOTO  500,  answer
relocate No, and save the modified program to  tape.  After
saving  (or  subsequent  reload), enter ZX-TERM*80 as usual
but DO NOT do any modemming yet. Quit to BASIC  using  ESC,
then  POKE 16389,111 and NEW. This will lower RAMTOP by 256
bytes, reserving space for the input buffer.  Re-enter  ZX-
TERM*80 and modem to your heart's (and budget's) content.  

5:  TEXTWRITER  MODE: If your save toggle is on, your typed
input  will  be  stored  in  your  capture  buffer  ("Save"
buffer).  This is as if you had installed "useful POKE #4).
The reason this was done is to give you the option of  fast
message   uploading   using  the  ASCII  TRANSFER  feature,
discussed next.                                            

6: ASCII UPLOADING: Some boards don't support  XMODEM,  but
allow  uploads/downloads  using  the "ASCII protocol." This
really isn't a protocol at all,  since  it  does  no  error
checking; it simply sends the data, assuming that the other
terminal is there catching it all.                         

ASCII downloads can  be  done  with  all  versions  of  ZX-
TERM*80.  Simply  open your capture buffer, and press a key
(usually  SPACE).  Uploading,  however,  was  not  directly
supported until V2.5.                                      

Since  the  main  menu  keys were all used up, this and the
other new features were placed in the FUNCTION  mode.  When
you  press  FUNCTION  (shift  enter),  you  will  now get a
FUNCTION sub-menu. The symbol keys are used as  before  for
symbols,  but  you  now  also  have  (D)ump, (H)ardcopy and
(T)ransmit options. The first two are covered in  the  next
section.   The   (T)ransmit  option  proceeds  sending  the






                                                      --3--

                                                           
contents of your capture buffer (or whatever else is in the
program area) to the other terminal in a continuous stream.
The  output  is  shown  in window 2 as it is sent. Pressing
SPACE or ESC will prematurely terminate the output stream. 

Bit 7 is NOT masked, so this is actually a little more than
just  an  "ASCII"  uploader. In theory, at least, you could
therefore use it for 8-bit data,  even  Sinclair  programs.
However,  since  there  is  no  error-checking,  use Xmodem
whenever possible for such uploads.                        

With many boards, you  can  use  this  to  prepare  a  long
message,  then  ship it to the board in one go (saving time
and money). I noticed, though, that on the NNN,  the  board
doesn't  have  enough  time  to  process each line as it is
received. As a result, messages longer than 4  or  5  lines
get  garbled.  In  such cases, you might consider uploading
your long message to the files area, and leave a short note
to the sysop to ask him to transfer it to the message area.
                                                           

7: BIG PRINTER OPTIONS:  The  program's  handling  of  big-
printer    operation   has   been   considerably   refined.
Previously, there was not much processing of the  line-feed
(LF)  and carriage-return (CR) codes. This caused headaches
with some printers, causing to print double-spaced lines in
some  circumstances,  while refusing to line-feed at all in
others. V2.5 now does  the  following.  When  printing,  it
completely  ignores  any LF codes that may be received. The
CR code alone is used to signal a newline.  When  a  CR  is
sent,  an LF is automatically sent right afterwards. So set
up your printer for the "LF + CR" mode, your printed output
will always be spaced correctly.                           

You  can  now  turn  the printer on or off using FUNCTION H
(Hardcopy toggle). Window 2 will show the  present  printer
ON  or  OFF  status.  This  was added because some printers
continue to accept data into their buffer,  even  if  taken
offline.  Having  software  control  eliminates the need to
take the printer offline, or  shut  it  off  completely  to
clear its buffer.                                          

Finally,  the  (D)ump option can be used to dump the entire
contents of the capture buffer to  the  big  printer.  This
obsoletes  the  DUMP  DATA  BUFFER  TO  PRINTER  option  in
Appendix V of the manual. As with the (T) option,  pressing
SPACE  or  ESC  terminates  the  dump. Also as with the (T)
option, window 2 will display the data as it is sent.  This
option  can  be  used either while online, or after logging
off.                                                       

8: COSMETIC TOUCHES: Finally, some  cosmetic  changes  were
made that you may or may not notice. For instance, the main
menu now includes options SHIFT 9 (MEMory report) and SHIFT
0  (DELete).  Delete,  incidentally,  sends a BS (ASCII 08)
instead of DEL (7Fh), since some boards don't like the  DEL
code (including the NNN) whereas virtually all will respond






                                                      --4--

                                                           
to BS. (That is NOT a value judgement!)                    

Incidentally, you can send a % symbol with "FUNCTION ." and
an apostrophe with "FUNCTION SHIFT ." - these were  present
in  previous  versions,  but were omitted from the table on
page 6.                                                    

USEFUL POKES MODS: Since some routines were moved, some  of
the  useful  POKEs  have  to  be  changed.  Others  are now
obsolete.                                                  

#1: POKE 30705 (18561), 0 (196)                            
         30706 (18562), 0 (210)                            
         30707 (18563), 0 (117)                            

#2, #3: OK as published.                                   

#4: Implemented. OK to reverse.                            

#5: Obsolete                                               

#6: POKE 30109 (17965), 240 (226)*                         
         30110 (17996), 116 (125)*                         

#7, #8, #9, #10: Obsolete                                  

#11: Not recommended. Ignore.                              

#12: Not possible. RAND USR (address) to return.           

#13: Obsolete                                              

#14: POKE 32267 (20120), 0 (10)                            

#15: OK as published.                                      

#16: Obsolete                                              

#17: OK as published.                                      


