This archive should contain the following files:

NOTES.TXT, SWAPPAT.TXT, QBSWAP2A.TXT, QBSWAP.BI, SWAP.ASM, SWAP.OBJ


I have collected all the relevant pieces from various BBS's and this resulting
package contains ALL the files you need to be able to use the SWAP routine
from your QB program.  The .ASM file contains the assembler source modified
as per SWAPPAT.TXT, and SWAP.OBJ is the assembled version of SWAP.ASM, for
those of you who don't have MASM v5.1.

The original swap() function, as written by Marty Del Vecchio, is also avail-
able on this BBS under the name SWAP330.ZIP.

*** PDS Far String Note ***

1-SEP-1992

I have modified the SWAP.ASM file to include enough for QBSWAP to support
the PDS 7.1 Far Strings.  My assembler knowledge is quite limited; I hope
someone will clean up my additions and give the modified SWAP.ASM a more
professional look but, since I needed QBSWAP to work with PDS *now*, I did
what I could...

To assemble the normal (QB4.5 or PDS 7.1 near string) version, simply type:
 MASM SWAP;

To assemble the far string (PDS 7.1 only) version, type:
 MASM /DFARSTRINGS SWAP;

I have included FSWAP.OBJ in this archive, for those without MASM: it is the
far string version of SWAP.OBJ.  I have also included TEST.BAS, which shows
the minimum required to make QBSWAP work properly.  95% of the code are the
declarations for QBSWAP (as they appear in QBSWAP.BI); the actual demo
consists of the last few lines of code, and the DOSSHELL subroutine.  To
make it work, you must compile TEST.BAS and link it with SWAP.OBJ by using
the following commands:
 BC TEST/O;
 LINK SWAP+TEST+SMALLERR+NOCOM,,,QB/NOE;
The resulting SWAP.EXE (which you may want to rename to TEST.EXE) can be
run as the demo.  The important thing is that SWAP must appear FIRST on
the LINK command line.

I would be interested in hearing from anyone who improves on my Far String
"hack" or any other aspect of the SWAP routine, either in the QUIK_BAS or
BASIC7 echos, or at the FidoNet address below.  I cannot, however, offer
very much in terms of support for SWAP.ASM, since my only contribution was
to collect the various pieces and make them work together.

Francois Roy
(Sysop of 163/506)
R&D BBS @ (819) 772-2952
