BXSND Technical Notes
The BXSND programs and LISTING files provided are tools to get you started. Included in your PRO/5 distribution are:
LISTING.BB3 |
Business BASIC III & IV |
LISTING.BB7 |
Basic Four 2000/3000 |
LISTING.BBM |
BB/M |
LISTING.BI |
BI286 MS-DOS |
LISTING.MSB |
Microshare Basic |
LISTING.OB |
MAI OpenBasic |
LISTING.PLU |
Pluto Basic |
LISTING.PRT |
Pertec |
LISTING.PVX |
Providex |
LISTING.RX1 |
Rexon 1000 |
LISTING.RX2 |
Rexon (newer) |
LISTING.S10 |
MAI S10 |
LISTING.SMC |
Thoroughbred Basic (Old) |
LISTING.TBD |
Throroughbred Basic (New) |
LISTING.VS |
MAI MPX (BOSS/VS) (7000/8000/9000/AS) |
NOTE: If converting from a Thoroughbred
system, LISTING.TBD
is preferred. The older LISTING.SMC
does not support MSORT (multi-keyed) files.
When using a BASIC and/or a computer not supported by one of the LISTING
files provided, use one of the existing LISTING programs and make the
necessary changes for it to work for a particular BASIC. Listed below
is a check list of routines that will probably need to be changed:
1000-1999 |
Input a list of files to send. The list should be placed in F0$, with each name ending with a $00$. Fall through to 2000 when done. |
6000-6199 |
Returned the listed form of the next line from a program file opened on channel 1. Z$ is returned. If the end of the program is reached, then return Z$="". Normally, P$ is used as a holding string for program information. |
6200-6399 |
Prepare program file opened on channel 1 for processing by routine at 6000. Normally, this involves finding the first line of the program. Nothing is returned. |
6400-6599 |
Take the FID of the file opened on channel 1, convert it to the PRO/5 FID format, and return it in F$. If the file type is other than indexed, keyed, string, program, or serial, then return F$="". For more information, see the FID() function. |
6600-6799 |
Create a file whose name is in Z$ to be the output file. Assume the file does not exist. This should be a string file if possible, otherwise it should be an indexed file with a record size of 128. If the BASIC being used requires information, such as disk number, prompt the user for the information. If files cannot grow dynamically on your BASIC, then prompt for a size. If the file cannot be created, issue an error message and return with Z$="". |
Set W5$ near the beginning of BXSND to the name of your BASIC. |
Moving LISTING Files To Other BASICs
If the two machines you are converting have incompatible media types, move the pertinent LISTING file to the Business BASIC machine and save it as a program called BXSND before beginning the conversion.
All of the LISTING.XXX files for the sending BASIC machine should be moved through compatible media or communications. We do not recommend that you type in these files.
Be certain the two machines being converted have established communications.
Use the test described in Communications.
When you have verified that the two machines are successfully communicating,
move the LISTING program to the Business BASIC machine using PRO/5.
For example, to send LISTING.S10
from a machine running PRO/5 to an S10, use the following program. (Assume
the serial port is called /dev/tty1.)
$ pro5
>10 OPEN (1)"LISTING.S10"
>20 OPEN (2)"/dev/tty1"
>30 READ RECORD(2,SIZ=1)A$
>40 READ(1)A$
>50 PRINT (2)A$
>60 GOTO 30
On the S10 side, BASIC must be set up to receive the LISTING program. Following this example on the S10, type the following lines:
>enable 1
>serial "temp" 1000,20,1,0
>10 OPEN(1)"T1"
>20 OPEN(2)"temp"
>30 LOCK (2)
>40 PRINT (1)"x",
>50 READ(1)A$
>60 PRINT A$
>70 PRINT (2)A$
>80 GOTO 40
>RUN
PRO/5 will receive the "x" character from the S10 and print
one line of code to the S10. The S10 will receive each line of code and
write it to a file temp, after echoing it to the screen. Then, on the
S10, clear the workspace, open the temp
file, and merge it into the workspace, saving it as a program file called
BXSND.
This is just one example. You must be familiar with the Business BASIC
language you are converting to modify this example to suit your own needs.