Free Model 4P mode boot ROM for xtrs
Copyright 1999, Peter W. Cervasio

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use, copy,
modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

This is a freely available Model 4P mode boot ROM which can
be used with Tim Mann's version of xtrs in order to boot up
LS-DOS 6.3.1.

This code was written with the help of the LS-DOS 6.3.1 source
code, which Roy Soltoff has allowed everyone to download and
freely distribute (though he retains the copyright).  The Model
4/4P technical reference manual proved invaluable, as well, even
if I didn't make this do everything.

The code was tested with xtrs 3.3 on Linux 2.2.2 using an LS-DOS
6.3.1 disk image.  I got it to the point where xtrs would boot up
LS-DOS 6.3.1 and would reboot it when pressing F10 or typing
"boot" at the LS-DOS command line.

It is only useful for the Model 4P mode of operation, and it
might not work for all operating systems.  The ROM does not
contain any code to access any sector other than track 0, sector
1.  It will not boot a Model III operating system, and is unable
to load in a "MODELA/III" ROM image from disk, like the real
Model 4P ROM does.

This ROM will not work in plain Model 4 mode.  If you want to use
Model 4 mode, boot LS-DOS 6.3.1, export the MODELA/III file to
Unix, and set it up as a Model 3 and 4 ROM.

Features:
=========

Small and simple (and easy to fix).

To do:
======

Write code for all the RST handlers as in the real 4P ROM, which
would allow xtrs to boot a Model III disk when in Model 4P mode.
This would require considerable work, and isn't planned for any
time in the forseeable future.

Any questions?
==============

Here's my list of IEQ's (Infreqently Expected Questions) about the
xtrsrom4p rom image:

1) Does xtrsrom4p handle the special keypresses the 4P uses at boot up
time, such as F1, F2 and F3 to modify the boot sequence?

Sorry, but it doesn't look at the keyboard.  See the answer to #2.

2) Will it load MODELA/III from disk so I can boot LDOS/TRSDOS 1.3 or
NewDos/80 for the Model III?

Sorry.  You're welcome to write the code for it, though.

3) Can I use it to boot from from a hard disk image?

Um.... no.  See the answer to #2.

4) How about Network 4?

Uh... no, it won't do that either.  Also see #2's answer.

5) What about booting from RS-232?

See #2 again.

6) How about the diagnostics?

What diagnostics?  Oh, those diagnostics.  See the answer to #2.

<grin>

Along with not doing any of that other stuff, it also doesn't follow
the technical reference as far as RST handlers go, so if you have a
custom 4P setup that uses the RST instructions, that's not going to
work without some additional code.  I wrote this so people could get
something up and running with what's in the xtrs distribution.  From
there, you can export a MODELA/III image from a disk (or disk image)
to use in booting up Model III mode.
