==============================================================================
   Ultrascreen200 1.0 (C) 1987-2026 Ultrasoft / Daniel Born / Gary Weber
==============================================================================

60-column by 21-line display driver for the Tandy Model 200
(60x20 when the function-key labels are showing)

Many thanks to Daniel Born for the original Ultrascreen100, which made this
port possible.

LOADER.BA - Tokenized BASIC loader/relocator for creating USC200.CO from
            scratch. This will create USC200.CO at whatever base-address
            you wish.

LOADER.DO - Text-flavor of the BASIC loader/relocator.

USC200.CO - Machine language ready-to-load into your Model 200. You can
            bypass the loader entirely if you just want the fixed-location
            program, which loads at 58108.

TXTADD.BA - A small text-append utility (tokenized) that lets you type
TXTADD.DO   straight into a .DO file from the 60-column screen. TXTADD.DO is
            the text flavor of the same program.

==============================================================================
How to install
==============================================================================

There are two ways to install it: an automatic loader that does the work for
you, or a manual load if you'd rather place it yourself.

** The easy way: the loader

The simplest path is Ultrascreen200's loader, LOADER.BA, which works just like
the original Ultrascreen100 loader on the Model 100. It carries the whole
program inside itself, so LOADER.BA is the only file you need to transfer onto
your Model 200.

Load LOADER.BA and run it. It asks:

   Install under address (ENTER=max 61105)

Press ENTER to tuck it up as high as memory allows (recommended), or type an
address if you want it somewhere specific. It relocates Ultrascreen200 to
fit, saves a ready-to-run USC200.CO built for that spot, and drops you back
at the main menu. Run that USC200.CO and you're straight into 60 columns --
no CLEAR to work out and no address math to get wrong.

** The manual way

If you'd rather use the pre-built USC200.CO (it loads at 58108), transfer it
onto your machine, then from BASIC park high memory at the load address so the
resident code has a safe home:

   CLEAR 0,58108

Now load and run USC200.CO the way you'd launch any machine-language program
(for example, selecting it from the main menu).

** Either way

Once it's installed you're in 60 columns, and BASIC, TEXT, TELCOM, ADDRSS and
SCHEDL will all be 60 columns wide. Type SCREEN 0 any time to go back to the
normal 40-column display, and SCREEN 1 to return to 60.

Ultrascreen200 is compact: once resident it automatically hands back its
one-time install code, and it raises HIMEM only far enough to protect the
roughly 2.8K it actually needs.

==============================================================================
Using Ultrascreen
==============================================================================

When you enter BASIC, TEXT, TELCOM, ADDRSS or SCHEDL, it's just active by
default in 60-column mode.

However, you can temporarily disable it from BASIC with this command:

   SCREEN 0

That flips your computer back into the normal 40-column mode, which persists
in all of the ROM programs. They will run just as they did before. However,
you will know Ultrascreen is still installed and waiting to be reactivated
anytime because you'll see "Basic  Text  Telcom" listed in mixed case in the
main menu. To reactivate your 60-column mode, go to BASIC and type this
command:

   SCREEN 1

** A note on MSPLAN

Ultrascreen200 1.0 covers every ROM application that the original
Ultrascreen100 did. MSPLAN, the Model 200's spreadsheet, has no counterpart
on the Model 100.

MSPLAN carves its work area out of the top of RAM -- it lowers HIMEM itself to
reserve the space -- so it needs the top of memory free and will not run while
any resident program is holding it, reporting "MP work area in use". Because
Ultrascreen protects roughly 2.8K at the top of memory whenever it is resident,
MSPLAN cannot run alongside it. SCREEN 0 does not help: that only switches the
display back to 40 columns, it does not hand the memory back.

To use MSPLAN, uninstall Ultrascreen first (see "How to uninstall" below), run
MSPLAN, then reinstall Ultrascreen afterward. 60-column MSPLAN support is on the
roadmap for a future release.

==============================================================================
How to uninstall
==============================================================================

From BASIC:

   CLEAR 0,MAXRAM

Answer Y to the "REMOVE Ultrascreen? (Y/N)" prompt and Ultrascreen200 unhooks
itself, resets the screen to 40 columns, and hands all of its memory back.
Answer N and it stays put. (MAXRAM is BASIC's built-in name for the top of
memory, so this is the standard, machine-independent way to hand .CO space
back. Under the hood, any CLEAR that would reach up into Ultrascreen200's
reserved memory triggers the prompt; MAXRAM simply hands back the maximum.)

==============================================================================

Gary Weber
email: gary@web8201.com
www.web8201.com
