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.