==============================================================================
   UltrascreenNEC 1.3 (C) 1987-2026 Ultrasoft / Daniel Born / Gary Weber
==============================================================================

60-column by 10-line display driver for the NEC PC-8201/8300

Many thanks goes to Daniel Born and Richard Ecklerlin for making this a
reality!

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

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

USCNEC.CO - Machine language ready-to-load into your NEC machine, you can
            bypass the loader entirely if you just want the fixed-location
            program which loads at 57416.

==============================================================================
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 UltrascreenNEC'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 PC-8201A or PC-8300.

Load LOADER.BA and run it. It asks:

   Install under address (ENTER=max 62336)

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

** The manual way

If you'd rather use the pre-built USCNEC.CO (it loads at 57416), 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,57416

Now load and run USCNEC.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 60x10, and TEXT, TELCOM, and BASIC will all be
60 columns by 10 lines. Type SCREEN 0 any time to go back to the normal 40-
column display, and SCREEN 1 to return to 60.

It takes up a good chunk of memory due to the full screen BASIC editor that 
had to be reimplemented from scratch to service the 60x10 display, but it may
not be considered a big sacrifice especially in today's environment where most
of us using Model T machines have TPDD / TS-DOS setups and we treat our RAM-
disk as ephemeral storage anyway.

Once it's resident it automatically hands back its one-time install code,
and it raises HIMEM only far enough to protect the roughly 4.8K it actually
needs.

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

When you enter BASIC, TEXT and TELCOM, it's just active by default in 60x10
mode.

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

That flips your computer back into 40x8 mode, which persists in all three ROM
programs. BASIC, TEXT and TELCOM 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 60x10 mode, go to BASIC and type this command:

   SCREEN 1

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

From BASIC:

   CLEAR 0,62336

Answer Y to the "REMOVE Ultrascreen? (Y/N)" prompt and UltrascreenNEC unhooks
itself, resets the screen to 40x8, and hands all of its memory back. Answer N
and it stays put. (Under the hood, any CLEAR that would reach up into
UltrascreenNEC's reserved memory triggers the prompt; 62336 simply hands back
the maximum.)

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

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