Version 1.0 - TRS-80 Model 4 80 x 24 Video Driver  (c)1983  by Philip L. Becker

This driver allows use of the 80 x 24 character display on the Model 4 while
in Model III mode.  It fully implements all Model III control codes.  To
install the driver, simply enter the following command at the DOS READY
prompt:

     VID80X24

The driver will configure for 80 x 24 operation and display its logo. As an
option, you may switch the Model 4 to 4Mhz speed as follows:

    VID80X24 FAST

The Model 4 will be placed in 4Mhz mode until the next reset.  Be sure your
DOS is configured for a speedup before using this option. The driver is
self-relocating and will load below any other drivers or filters you have
installed.  The driver replaces the ROM driver and thus must be loaded PRIOR
to any ROUTE, LINK, JOIN, SET, FILTER, or FORCE commands which address the
*DO device (the video display).  After VID80X24 is loaded, all such commands
will function correctly in the 80 x 24 mode.

Cautions in using 80 x 24:  Any program which does direct screen POKE I/O will
most likely fail unless it is re-written.  The driver windows the 2k screen in
1k blocks into the standard Model III video addresses 3C00H - 3FFFH.  It is
difficult for a program to predict which actual screen locations are currently
mapped there when poking. If you display a CHR$(28) (Cursor Home) before
poking, then the first 1024 characters of the screen will be mapped into
3C00H-3FFFH one to one.  Also there are now 80 cols instead of 64 and this
causes the mapping by line to be different.  Screen prints will work poorly.
Do not use the CLOCK display mode of the DOS.  The clock will alternately
show up in different spots on the screen as the driver moves the memory map
window.

   In BASIC, PRINT @ loc works correctly.  Remember that there are now 80
cols/line thus PRINT @ 64 will print at column 64 of line 1 not column 1 of
line 2 as in 64 x 16 mode.  PRINT @ 80 will now print at col 1 of line 2 etc.
Also, BASIC will not allow PRINT @ values greater than 1023 without a syntax
error.  If you poke these values into the video DCB, however, the driver will
correctly handle them.  Note: Be sure you have the BLINK OFF if you poke
cursor addresses higher than 3FFFH into the DCB or the BLINK routine will
overwrite DOS memory with fatal results!  The print tab function does not
work correctly beyond 64 columns, so just print long lines.  SET and RESET
must be preceeded by a PRINT CHR$(28); to work reliably, and are subject to
the same considerations as PRINT @ in that the screen is now 80 cols wide.
Graphics generally will need modifications.

      CHR$(23) now sets the 40 x 24 mode instead of the 32 x 16 mode.  The
same is true for SHIFT right arrow.  This mode is fully supported.  All other
Model III video control codes including space compression and toggling
alternate character set, work as in the standard Model III ROM driver.

*************   About the Source Code **********************

Source code:

     In an effort to allow use of almost any Z80 assembler,
the source was converted to a straight ASCII text file named
VID80X24/SRC.  This file has the tabs expanded to spaces etc.
Also care was taken to use only the most transportable
assembler commands and DEFB statements were limited to one
byte per command.  Labels are defined with trailing colons.
This should allow use with almost any assembler you desire.
The program has been assembled using the Microsoft M80
assembler (after deleting the ORG statement) and it worked
correctly.  It was assembled as-is using the NEWDOS/80
EDTASM assembler.

SPEEDUP/ASM and SPEEDUP/CMD are the 4Mhz option of VID80X24 without
the 80 x 24 driver.

*****************  Public Domain Notice ************************

Since the lifetime of this product has passed in the commercial
world, I hereby release it to the public domain.  I doing so, I
also renounce all support of it in that domain (I will still
support those who paid me for it of course).  However, I will
not discuss modifications etc. with anyone.  In that arena you
are on your own.

                   Philip L. Becker
                   8/7/85

****************
*  8/N/1 #001  *
* 904/377-1200 *
*Gainesville,FL*
*   Guy Omer   *
****************

This file was uploaded, as being in the public domain, to 8/N/1 #001
by Butch Weber <TBBS: 305/857-0974> on 09/26/85.
Using VID80X24 with System 1.5

This utility works fine with System 1.5, with the exception that any time
a bank is selected, (ie TYPE=B, SYSRES=B, SPOOL=B) the screen will swap
in and out of 80 character mode. Use High memory instead of bank!

Please note!!
Do not use VID80X24 FAST  Use SYSTEM (FAST) instead!

VID80X24 relocates to high memory, but although it protects itself from DOS
use, it forgets to reset the "CLEAR" command pointer.

If possible, after VID80X24 is installed, install FAST or any other hi-memory
routine to re-correct the pointer.

Please note that the DRIVER (install) or DBSIDE should be used prior to
using VID80X24. Vid80x24 relocates right to the top of high mem. As Dos uses
the last 2 bytes of high mem, (wrongly) it may overwrite it!

Either that, or set HIGH$ to FFEFh before invoking VID80X24!

