REMDRV is a module which, when used in place of the CONREM module in a TurboDOS 1.41 master operating system, allows all of that master's slave to access up to 16 I/O devices. One possible application would be (in conjunction with the appropriate soft ware) access of multiple modems by any slave. With an intelligent terminal program, modem selection would be transparent to the user, so that activating the utility would select the first available modem, until all modems are busy. INSTALLATION of REMDRV Installation of REMDRV is straightforward and requires only a minor change in OSMASTER.GEN. Please note that the release version of REMDRV consists of three serialized .REL files: REMDRV.REL the remote modem driver REMCH0.REL master comm port "0" driver REMCH1.REL master comm port "1" driver NOTE: For the 16-bit package, the files are named .O In addition, the following files are part of the release software package: REMCH0.MAC an example of a REMDRV companion module using the OEM-supplied drivers (via the COMDRV## entry point) ATTREM.MAC an example of a simple terminal program with modem select capability ATTREM.COM object code of above ATTREM.CMD same, for 16 bit systems REMDRV.DOC this text To install, simply add the following line to OSMASTER.GEN REMDRV,REMCH0,REMCH1 With this change, two remote modem channels become active. THEORY OF OPERATION REMDRV allows any user on any slave in a small TurboDOS network to access up to 16 serial channels (commonly used for modems), provided the channel is free. REMDRV is accessed via DEFDID, therefore, the station requesting access must be a slave of the master which runs REMDRV (rather than the slave of a second master networked into the first). REMDRV provides the following functions: 1. attach to remote driver 2. detach from remote driver 3. set remote baud rate 4. interrogate remote baud rate 5. character buffer I/O The following text explains each function in great detail, including all parameters to be passed. Note that for all REMDRV functions the C register (CL in 8086) must be set to 33 (21H). 1 - ATTACH TO REMOTE DRIVER This function initiates a remote I/O session and must be called prior to any remote activity for the desired port. entry: reg D (DH) 0FEH reg B (CH) channel number 00..0FH return: reg A (AL) 000H = successful attach 0FFH = requested channel busy 0FEH = requested channel not implemented 2 - DETACH FROM REMOTE DRIVER This function is used at the conclusion of a remote I/O session to 1) free the port for another user and 2) unlink the port so as not to waste processing power in the master entry: reg D (DH) 0FDH reg B (CH) channel number 00..0FH return: none (channel is detached) 3 - SET REMOTE BAUD RATE Allows setting of the attached channel's baud rate. The baud rate specification parameter is identical to the one used in T- function 37 (set baud rate). entry: reg D (DH) 0FCH reg B (CH) channel number 00..0FH reg E (DL) baud rate code (ex. 9600=0EH) return: none (baud rate is set) 4 - GET REMOTE BAUD RATE Returns the remote baud rate code (the code is identical to the one returned by T-function 38). entry: reg D (DH) 0FBH reg B (CH) channel number 00..0FH returb: reg A (AL) baud rate code (ex. 9600=0EH) 5 - CHARACTER BUFFER I/O This function is used to transfer data between the selected port and the calling software. Please note that the transfer FROM the decive always involves a block of data, up to 127 characters, written to the current DMA address. entry: reg D (DH) 0FAH reg B (CH) channel number 00..0FH bit 7 set if output is desired reg E (DL) output character (if any) return: reg A (AL) number of input characters read into buffer DMA ADDRESS count (same as A) followed by the input data SAMPLE PROGRAM ATTREM This sample attach-program, supplied in source and object format, allows you to attach to and detach from any active REMDRV port on the master. The program can be used from any slave tied to that master. It will reject attempt to attach to a busy or non-existant port. USAGE The following is a sample session with ATTREM (bold=computer, light=user): 0A}attrem ONLY PORTS A..P ALLOWED 0A}attrem a ATTACHED TO PORT A AT 1200 BAUD (communication takes place) ...... (now ATTN-ABORT is typed on console) DETACHED FROM PORT A 0A}attrem c ERROR: PORT C DOES NOT EXIST 0A}attrem b (assume you are attached to B on another terminal) ERROR: PORT B IS BUSY 0A} .HE SOFTWARE RELEASE NOTES, LEGALITIES RELEASE NOTE REMDRV is a copyrighted product of S. Kluger, Dallas TX. Reproduction (other than for archival use or for system genera tion) without written authorization is prohibited. Disassembly or unauthorized reserialization is prohibited. Note that this applies only to REMDRV.REL or REMDRV.O! REMDRV is available in two forms, 1) for use with 8-bit masters and 2) for use with 16-bit 80186 (!) masters. Both versions include the sample ATTREM program in 8- and 16-bit flavors, but only ATTREM.MAC is supplied. REMDRV may periodically be updated or improved without notice. Updates are free if the original master disk with sufficient return postage is sent. I do not expect any major updates to be more frequent than one per 3 months. BUG REPORTS are strongly encouraged! .HE REMDRV ORDER FORM (fill out completely and send the whole sheet) Please send ______ copies of REMDRV. Serialization and versions are as follows: (NOTE: only one copy per serial #) TurboDOS serial number ____/____ REMDRV version (8 or 16) _______ TurboDOS serial number ____/____ REMDRV version (8 or 16) _______ TurboDOS serial number ____/____ REMDRV version (8 or 16) _______ TurboDOS serial number ____/____ REMDRV version (8 or 16) _______ TurboDOS serial number ____/____ REMDRV version (8 or 16) _______ TurboDOS serial number ____/____ REMDRV version (8 or 16) _______ TurboDOS serial number ____/____ REMDRV version (8 or 16) _______ TurboDOS serial number ____/____ REMDRV version (8 or 16) _______ TurboDOS serial number ____/____ REMDRV version (8 or 16) _______ (continue on back if more room needed) Name: __________________________ Company: ______________________ Address: ________________________________________________________ ________________________________________________________ ________________________________________________________ Phone number: (____) _____ - ________ Total number of copies: _______ at $25.00 each Check or Money Order enclosed for $ _________.00 or Please ship COD (postage/COD fees added to total) Please sign here to accept the restrictions placed on the product on the previous page : ___________________ NOTE: please check here if you have: (__) 4 different disk drivers or (__) 4 different circuits defined in your master. .HE RELEASE NOTES FOR DEMO VERSION "REMDRVT.REL" This is a demo version. License is granted for noncommercial use and distribution for demonstration purposes only. REMDRVT operates like the real REMDRV with the following important differences: - REMCH0 only is supplied for use with comm channel 0 on the master. - Only one remote driver (normally REMCH0) can be used - Attempts to access any functions with the B-register not set to 00H (channel 0) may result in a total system crash. REMDRVT allows free access to remote channel "A" with no restrictions.