SDXLD
=====
(c) 2011 by KMK/DLT

INDEX

I.   What's this
II.  Passing parameters
III. How does it work
IV.  Cautions

I. What's this?
---------------

Well, the *.SYS driver file you can find in this archive is an executable saved in SpartaDOS X specific, relocatable binary format. Which means that you can not load that under any other DOS (for example MyDOS), because such a DOS will think it is not a binary file and refuse to load.

Since I am too lazy to write (and certainly to maintain) two separate versions of the driver, I have decided to write a program, that could load the SpartaDOS X executable when SpartaDOS X is not present.

And here it is: SDXLD.COM does just that. If you want it to autoboot the driver, rename it AUTORUN.SYS and place together with the *.SYS file (and DOS) on your boot disk.

II. Passing parameters
----------------------

The command line parameters for the *.SYS driver may be passed to it in two ways:

1) by putting the argument line into a text file named SDXLD.CMD, and placing the file onto the same disk and directory as the SDXLD.COM binary. The arguments must be ordered properly (as described in the main documentation file), and the entire line must be EOL-terminated. The name of the *.SYS executable itself should NOT be placed there, the line should begin with the first argument.

2) by typing the arguments at the DOS' prompt. For example, if you want to pass "$00 $0F /X" as arguments to the *.SYS driver, to accomplish that in MyDOS, select "L. Binary load" from the main menu, then type the following:

SDXLD.COM $00 $0F /X

and hit the Return key. This way has a priority over the previously mentioned one, i.e. then you pass the parameters this way, the *.CMD file will be ignored. This is good when you want to temporarily modify the permanent defaults you have saved in the *.CMD file.

III. How does it work
---------------------

The program not only loads the file, but also controls its initial execution by tricking it into thinking that it is running under SpartaDOS X. This is accomplished by emulating (or mocking) few required variables and library calls. Of course, you cannot expect, that it allows you to run any other SpartaDOS X binary: the provided functionality is just enough to run the VBXE driver up to the point where it installs successfully into the system, and that's about all.

The SDXLD program itself is not resident and terminates quickly after the driver's initialization is completed.

IV. Cautions
------------

Using this program you can load the S_VBXE and play in BASIC with new display modes (refer to S_VBXE.MAN for details). However, running binary programs which use the driver (such as Eddy as of version 1.11) may depend on the MEMLO value: if in your DOS after loading the S_VBXE.SYS module the MEMLO ($02E7/8, i.e. 743/744 dec) value is greater than $2000 (8192 dec) then most programs won't work.

Have fun
drac030@krap.pl

Warszawa, 10.VIII.2011.