Dallas, Texas, January 1985 ESKAY Software presents another freebie --- RTDS PLEASE NOTE: THIS IS THE FINE PRINT: ---------------------------------------------------------------------------- | TurboDOS is a registered Trademark of Software 2000 | | | | RTDS.LBR is released to the Public Domain with the following under- | | standing and restrictions: | | 1. RTDS.LBR is an entity, never shall single modules be distributed to | | anyone, except for updating an existing RTDS.LBR with more recent | | revision software. | | 2. RTDS is (c) S. Kluger, 1985. It is, including source code, released | | to the Public Domain with the understanding that nobody is authorized | | to SELL (regardless of whether for profit or not) or to MODIFY the | | package, except after obtaining written permission to do so. Persons | | wishing to modify the software for their own use without redistri- | | buting it may do so at any time. | | 3. Should some systems need implementation-specific routines to make the | | system run, they may at their discretion include such routines in | | RTDS.LBR, at which time they become an integral part of the package, | | or they may distribute those custom routines separately. | | 4. Nobody will ever take responsibility if your computer catches fire or | | somesuch, through the use of RTDS. Its use is totally at the user's | | own risk. | | 5. RTDS has been tested and is running on the following hardware: | | ICM CPZ-48006, CPS-B6A and CPS-6A, | | utilizing TurboDOS 1.41 with all patches and ICM's SPICPS.REL | | interrupt driver serial driver. | ---------------------------------------------------------------------------- (fine print off) RTDS stands for Remote TurboDos System. This system is designed to allow the operator of a multiuser TurboDOS system to run one or more if its slaves in "remote" mode, which enables modem access via unattended dialup. Most of RTDS is totally implementation-independent. The following is a description of modules currently in use and for distribution. They may not be all included in the RTDSxxx.LBR file: 1. ASSEMBLY LANGUAGE PROGRAMS SECTION.MAC A simple variation of the RCPM-type SECTION command, scans a table containing section names vs. drive/user designation which will log the user into the area that matches the argument given. MLOG.MAC *T* The initial logon program. This program waits for the next call, displaying the current time on the console. When CR is detected, the correct baud rate is set, the files BULLETIN.SYS and WELCOME.SYS (in user area 31) are displayed, then a TurboDOS logon function is executed and control is transferred to LOGIN.COM. COMMAND.MAC The command interpreter module restricting access to certain areas as specified at assembly time. The COM file is renamed WARMSTRT.AUT. This module is not required if you can dedicate one whole drive (or more) to the remote caller. XMODEM.ASM Public-domain XMODEM program, modified for use with TurboDOS. This version, if assembled correctly, will run on any TurboDOS computer version 1.30 and higher. AUTHORIZ.MAC A SYSOP utility to change a caller's access level on the fly (to give him extra time, allow him special privileges or to lower same) 2. ASSEMBLY LANGUAGE MODULES DUALIO.MAC *H* Dual console IO module. This module connects the modem IO channel in parallel with the console channel every time carrier detect is high. One entry point, S0DCDE::, must be called by an external routine (a resident process, or by using SPICPS in an ICM system) when carrier goes away (lost carrier or logoff). The accumulator must contain 00 to indicate carrier loss, at which time the slave will be rebooted. REMUSR.MAC A collection of user-defined functions supporting such things as turning attention-detect on and off, saving and recalling a 128-byte block of data (the caller's access level and logon time), resetting the slave (remotely if possible) and changing privilege status and others yet to be defined. TIMECL.REL A module to be linked into TurboDOS to allow display of the current time and station letter in the normal TD prompt (not required for use with RTDS). Include "CMDINT + 0C = TIMECL" in PAR file. TIMEDIF.REL An elapsed-time calculator for HH:MM:SS TIMEDF4.REL An elapsed-time calculator for HH:MM FREESP.REL A support module for XMODEM to allow calculation of free disk space. GETET.MAC A support module for COMMAND to calculate elaped time. CBTOD.ASM A replacement routine for CB80.IRL. Make CBTOD.REL, then do LIB CB80[I]=CB80.IRL This routine allows CB80 v2.0 to access the TurboDOS date/time functions through C-function 105. FNHALT.MAC Actually misnamed, but so what. Contains all assembly language functions required by (mostly) LOGIN and LOGOUT. FNET.MAC A function used in LOGOUT to display elapsed time 3. BASIC PROGRAMS The following files are intended to be compiled with CB80 version 2.0 with the CBTOD patch applied: LOGIN.BAS The login program. Asks for and verifies caller's name and password, dropping him if marked twit or password is missed. LOGIN also checks for messages (assuming CBBS is used - roll your own code for other BBS systems) and if messages are waiting, control is transferred to CBBS. LOGOUT.BAS The logoff program. Requests positive verification if caller has messages waiting in CBBS (encourages him to go and clean up after himself). Also useful for eager sysops who send messages to callers while they are on line. MAINT.BAS User file maintenance program USRCFG.BAS User configuration program. Allows caller to check and change selected parameters. 4. DATA FILES TO BE CREATED USERS.SYS The user file, typically containing 250 entries. Must have a field size of 128 bytes. LASTCALR.00n (Where n is the slave number as returned by C-function 12, register E). BULLETIN.SYS and WELCOME.SYS Information files displayed before logon 5. FILES TO BE PROVIDED BY THE USER (BOTH PD AND COMMERCIAL) SYSLIB3.REL SYSLIB by Rick Conn is used in generation of XMODEM and all other non-BASIC programs. LDIR.COM Library directory program (LDIR22 recommended). Remove drive/user support to restrict caller to current area. TYPE.COM Renamed TYPEL recommended, possibly pre-3.50 version without prompted support, or with drive/user support removed. CB80.COM et al Digital Research BASIC compiler. version 2.0 highly recommended or else date/time functions must be emulated. M80.COM et al Microsoft makro assembler. RMAC.COM Digital research relocatable makro assembler LINK.COM Companion to RMAC. HIGHLY preferred over L80! OTHERS Other programs/utilities as deemed necessary by the operator, such as LUX, FILEFIND, SD, CBBS(r), RBBS etc. 6. EXPANSION TO HANDLE DIRECT TURBODOS ACCESS WITHOUT COMMAND.MAC TIMEPR.REL A module for use with the next major revision where callers are logged into full TurboDOS without intervening command interpreter. Will replace TIMECL.REL if desired. The current release of RTDS allows callers to log into TurboDOS without command interpreter. Access restrictions are accomplished as follows: 1. access to sensitive files restricted via the GLOBAL attribute which causes regular RCPM-type commands not to recognize, type or XMODEM them. 2. only restricted COM files available 3. CMDINT patched to allow only .COM files to be executed 4. TIMEPR watching over elapsed time etc 5. system setup where all privileged (non-RTDS) access utilizes a different drive as A: and the RTDS has full use of "it's A:" (To elaborate, assume a 4-user system with one slave being RTDS, the MASTER defines drives A,B,C where C is the RTDS drive. The non-RTDS slaves are unchanged. The RTDS slave defines the master's C drive as its own A and maps out the others. Following DSKASTs: MASTER: DSKAST = 0,DSKDRA,1,DSKDRA,2,DSKDRA,0,DSKDRB.... RTDS SLV: DSKAST = 82,(0000),0FF,(0000),0FF,(0000),0FF,(0000)... NORMAL SLV: (default DSKAST entry) 6. Restriction of user from access to certain user areas via a CMDINT patch contained in REMUSR. The files do not have any associated DOC files, except where deemed absolutely essential. Instead, comments in the files should explain almost everything, the rest should be clear as mud to any experienced assembly language programmer. Inexperienced programmers and beginners are discouraged from attempting to use RTDS. Experienced programmers will find it difficult to follow my train of thought and will get even more confused by the package. Remember, even freebies can be well-documented but this one definitely is not. Fact is that RTDS will probably never be used by anyone anyway, but some of the less cryptic stuff in here may prove to be useful to someone... Either way, if I ever have the time to write decent documentation, I will. I know, promises, promises... Forgot something? Maybe. Possibly.... Anyway, this release of RTDS should be considered preliminary, since RTDS undergoes some changes almost daily in order to perfect it. You will see that the often-used programs (LOGIN, MLOG) and the system modules are much more evolved than the secondary programs such as LOGOUT, USRCFG. There will be a new RTDSxxx.LBR every couple of weeks. Since RTDS undergoes soooo many changes and never will be left alone for more than a few days, always consider previous versions obsolete. You might, however, save files that are not in the current library as they likely never will show again anywhere. RTDS will basically be supported via messages on the SENECA RTDS (CBBS message system to be exact) and you should not attempt voice phone contact for now as I'll probably get very upset -- been working much too hard the last couple of weeks to tolerate any BS. This means --- you're on your own playing with RTDS for a while, but isn't that almost as exciting as writing it yourself? Please be sure to send me any bug reports and features you'd like to see, if you can WITH code. (fine print on again) Could I have forgotten anyone? to be sure, "names of commercial products used herein are (TM) and / or (R) and / or (C) theirrespective owners." have fun...