home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / BBS_UTIL / BM0406_A.ZIP / 0406.ZIP / RSB10406.MRG < prev    next >
Text File  |  1994-04-06  |  96KB  |  1,956 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against RBBSSUB1.BAS to produce RBBSSUB1.NEW
  3. * RBBSSUB1.BAS:  Date 6-20-1992  Size 55569 bytes
  4. * BusiMod (tm) mods for RBBS v17.4 - (c) 1993,94 by respective authors
  5. * RBBS v17.4 (c) 1986,1992 by D Thomas Mack
  6. * ------------[ Created 04-06-1994 22:00:00 ]------------
  7. * REPLACING old line(s) by new
  8. ' $linesize:132
  9. ' $title: 'RBBS-SUB1.BAS 17.4, Copyright 1986-92 by D. Thomas Mack'
  10. '  Copyright 1990 by D. Thomas Mack, all rights reserved.
  11. '  Name ...............: RBBSSUB1.BAS
  12. '  First Released .....: June 21, 1992
  13. '  Subsequent Releases.: 
  14. '  Copyright ..........: 1986-1992
  15. '  Purpose.............:
  16. '     Subprorams that require error trapping are incorporated
  17. '     within RBBSSUB1.BAS as separately callable subroutines
  18. '     in order to free up as much code as possible within
  19. '     the 64WasK code segment used by RBBS-PC.BAS.
  20. '  Parameters..........: Most parameters are passed via a COMMON statement.
  21. '
  22. ' Subroutine  Line               Function of Subroutine
  23. '   Name     Number
  24. '  ChangeDir   20101   Change subdirectory
  25. '  CheckInt    58360   Check input is valid integer
  26. * ------[ first line different ]------
  27. '  CommPut     59725   Write string to communications port
  28. '  DisplayUser 10091   Display user/callers files                   ' DU174/RM08049301
  29. '  DropCarrier 63901   Change users security level with excessive carrier drops ' DROP174
  30. '  ExpiredPswd 63801   Force change of password                     ' PSWD174
  31. '  FindFile    59790   Determine whether a file exists without opening it
  32. '  FindFree    51098   Find amount of space on the upload disk drive
  33. '  FindItX     20219   Find if a file exists on a device
  34. '  FindUser    12598   Find a user in the USERS file
  35. '  FlushCom    20308   Read all characters in the communications port
  36. '  GetCom       1418   Read a character from the communications port
  37. '  GetLogoff   63930   Gets logoff command from user                ' LOFF174/RM07249301
  38. '  GetMenuNew  58370   Read "MNEWx.DEF" file for MENU0 Updates      ' MENU174
  39. '  GetPassword 58280   Read RBBS-PC's "PASSWORD" file
  40. '  GETWRK      58330   Read record from file number 2
  41. '  GraphicsSet 43000   Allows user to set graphics default          ' GR174/RM08039303
  42. '  KillWork    58258   Delete a RBBS-PC "WORK" file
  43. 'MessageExport 63955   Exports message to txt file                  ' ME174/RM08039302
  44. '  NetBIOS     20898   Lock/Unlock NetBIOS semaphore files
  45. '  OpenCom       200   Open communications port (number 3)
  46. '  OpenFMS     58188   Open the upload management system directory
  47. '  OpenOutW    58220   Open RBBS-PC's "WORK" file (number 2) for output
  48. '  OpenRSeq     1479   Open a sequential file (number 2) for random I/O
  49. '  OpenUser     9398   Open the USER file (number 5)
  50. '  OpenWork    57978   Open RBBS-PC's work file (number 2)
  51. '  OpenWorkA   58340   Open RBBS-PC's "WORK" file (number 2) for append
  52. '  OpenWorkB   58040   Open an RBBS-PC work file for append          ' BTCH174
  53. '  Printit     13673   Print line on the local PC printer
  54. '  PrintWork   58320   Print string to file #2 w/o CR/LF
  55. '  PrintWorkA  58350   Print string to file #2 with CR/LF
  56. '  PrintWorkB  58327   Print string to file opened for append with CR/LF ' BTCH174
  57. '  PutCom      59650   Write to the communications port
  58. '  PutWork     59660   Write to work file randomly
  59. '  RBBSPlay    59680   Plays a musical string
  60. '  ReadAny     58310   Read file number 2 into ZOutTxt$
  61. '  ReadDef       112   Read configuration file
  62. '  ReadDir     58290   Read entire lines
  63. '  ReadParmsX  58300   Read certain number of parameters from specified file
  64. '  SysInfo     63910   Subroutine to get DOS/DV/OS2 version         ' SIN174
  65. '  Talk        59700   RBBS-PC Voice synthesizer support for sight impaired
  66. '  SetCall       108   Find where next callers record is
  67. '  UpdateC     43048   Update the caller's file with elasped session time
  68. '  UpdtCalr    13661   Update to the caller's file
  69. '
  70. '  $INCLUDE: 'RBBS-VAR.BAS'
  71. '
  72. * REPLACING old line(s) by new
  73. 108 ' $SUBTITLE: 'SetCall - subroutine to find last callers rec'
  74. ' $PAGE
  75. '
  76. '  NAME    -- SetCall
  77. '
  78. '  INPUTS  --     PARAMETER                    MEANING
  79. '
  80. '  OUTPUTS --  ZCallersFileIndex!
  81. '
  82. '  PURPOSE --  To find where to leave off on callers file
  83. '
  84. * ------[ first line different ]------
  85.     SUB SetCall                                                      ' RM11159302
  86.     ON ERROR GOTO 65000
  87.     IF ZPrevCaller$ = ZCallersFile$ OR ZCallersFilePrefix$ = "" THEN _
  88.        EXIT SUB
  89.     ZPrevCaller$ = ZCallersFile$
  90.     ZCallersFileIndex! = 1
  91.     CLOSE 2
  92.     CLOSE 4
  93.     IF ZShareIt THEN _
  94.        OPEN ZCallersFile$ FOR RANDOM SHARED AS #4 LEN=64 _
  95.     ELSE OPEN "R",4,ZCallersFile$,64
  96.     FIELD 4,64 AS ZCallersRecord$
  97.     IF LOF(4) > 0 THEN _
  98.        ZCallersFileIndex! = LOF(4) / 64
  99.     IF ZCallersFileIndex! < 1 THEN _
  100.        ZCallersFileIndex! = 0
  101.     ZUserIn$ = STRING$(13,0)
  102. * REPLACING old line(s) by new
  103. 112 ' $SUBTITLE: 'ReadDef - subroutine to read RBBS-PC.DEF file'
  104. ' $PAGE
  105. '
  106. '  NAME    -- ReadDef
  107. '
  108. '  INPUTS  --     PARAMETER                    MEANING
  109. '                ZConfigFileName$            NAME OF RBBS-PC.DEF FILE
  110. '                ZSubParm = -62              ONLY READ THE .DEF FILE
  111. '
  112. '  OUTPUTS --  ALL THE RBBS-PC.DEF PARAMETERS
  113. '
  114. '  PURPOSE --  TO READ THE PARAMETERS FROM THE RBBS-PC.DEF FILE
  115. '
  116. * ------[ first line different ]------
  117.      SUB ReadDef (ConfigFile$)                                       ' RM11159302
  118.      ON ERROR GOTO 65000
  119. '
  120. ' **** OPEN AND READ RBBS-PC CONFIGURATION DEFINITIONS ***
  121. '
  122. * REPLACING old line(s) by new
  123. 117 IF ZSubParm <> -62 THEN _
  124. * ------[ first line different ]------
  125.        IF ZPrevRead$ = ConfigFile$ THEN _                            ' RM11159302
  126.           EXIT SUB _
  127.        ELSE ZPrevRead$ = ConfigFile$                                 ' RM11159302
  128.     CLOSE 2
  129.     ZBulletinSave$ = ZBulletinMenu$
  130.     CALL OpenWork (2,ConfigFile$)
  131.     ZCurDef$ = ConfigFile$
  132.     INPUT #2,ZWasDF$, _
  133.              ZDnldDrives$, _
  134.              ZSysopPswd1$, _
  135.              ZSysopPswd2$, _
  136.              ZSysopFirstName$, _
  137.              ZSysopLastName$, _
  138.              ZRequiredRings, _
  139.              ZStartOfficeHours, _
  140.              ZEndOfficeHours, _
  141.              ZMinsPerSession, _
  142.              ZWasDF, _
  143.              ZWasDF, _
  144.              ZUpldDir$, _
  145.              ZExpertUserDef, _
  146.              ZActiveBulletins, _
  147.              ZPromptBellDef, _
  148.              ZWasDF, _
  149.              ZMenusCanPause, _
  150.              ZMenu$(1), _
  151.              ZMenu$(2), _
  152.              ZMenu$(3), _
  153.              ZMenu$(4), _
  154.              ZMenu$(5), _
  155.              ZMenu$(6), _
  156.              ZConfMenu$, _
  157.              ZTestANSITime, _
  158.              ZWelcomeInterruptable, _
  159.              ZRemindFileXfers, _
  160.              ZPageLengthDef, _
  161.              ZMaxMsgLinesDef, _
  162.              ZDoorsAvail, _
  163.              ZWasDF$, _
  164.              ZMainMsgFile$, _
  165.              ZMainMsgBackup$
  166.     INPUT #2, WasX$, _
  167.               ZCmntsFile$, _
  168.               ZMainUserFile$, _
  169.               ZWelcomeFile$, _
  170.               ZNewUserFile$, _
  171.               ZMainDirExtension$
  172.     CALL BreakFileName (WasX$,ZWasY$,ZWasDF$,ZWasZ$,ZFalse)
  173.     IF ZWasDF$ <> "" THEN _
  174.        ZCallersFile$ = WasX$
  175.     INPUT #2, ZWasDF$
  176.     IF ZComPort$ <> "COM0" THEN _
  177.        IF NOT ZConfMode THEN _
  178.           ZComPort$ = ZWasDF$
  179.     INPUT #2, ZBulletinsOptional, _
  180.               ZModemInitCmd$, _
  181.               ZRTS$, _
  182.               ZCallersLst$, _
  183.               ZFG, _
  184.               ZBG, _
  185.               ZBorder
  186.     IF ZConfMode THEN _
  187.        INPUT #2, ZWasDF$, _
  188.                  ZWasDF$ _
  189.     ELSE INPUT #2, ZRBBSBat$ , _
  190.                    ZRCTTYBat$
  191.     INPUT #2,ZOmitMainDir$, _
  192.              ZFirstNamePrompt$, _
  193.              ZHelp$(3), _
  194.              ZHelp$(4), _
  195.              ZHelp$(7), _
  196.              ZHelp$(9), _
  197.              ZBulletinMenu$, _
  198.              ZBulletinPrefix$, _
  199.              ZWasDF$, _
  200.              ZMsgReminder, _
  201.              ZRequireNonASCII, _
  202.              ZAskExtendedDesc, _
  203.              ZMaxNodes                                               ' KG100701
  204.     IF ZConfMode THEN _
  205.        INPUT #2, ZwasDF, ZwasDF _                                    ' KG100701
  206.     ELSE INPUT #2, ZNetworkType, _                                   ' KG100701
  207.                    ZRecycleToDos
  208.     INPUT #2,ZWasDF, _
  209.              ZWasDF, _
  210.              ZTrashcanFile$
  211.     INPUT #2,ZMinLogonSec, _
  212.              ZDefaultSecLevel, _
  213.              ZSysopSecLevel, _
  214.              ZFileSecFile$, _
  215.              ZSysopMenuSecLevel, _
  216.              ZConfMailList$, _
  217.              ZMaxViolations, _
  218.              ZOptSec(50), _   ' SECURITY FOR SYSOP COMMANDS 1
  219.              ZOptSec(51), _
  220.              ZOptSec(52), _
  221.              ZOptSec(53), _
  222.              ZOptSec(54), _
  223.              ZOptSec(55), _
  224.              ZOptSec(56), _   ' SYSOP 7
  225.              ZPswdFile$, _
  226.              ZMaxPswdChanges, _
  227.              ZMinSecForTempPswd, _
  228.              ZOverWriteSecLevel, _
  229.              ZDoorsTermType, _
  230.              ZMaxPerDay
  231.     INPUT #2,ZOptSec(1), _   ' SECURITY FOR MAIN MENU COMMANDS 1
  232.              ZOptSec(2), _
  233.              ZOptSec(3), _
  234.              ZOptSec(4), _
  235.              ZOptSec(5), _
  236.              ZOptSec(6), _
  237.              ZOptSec(7), _
  238.              ZOptSec(8), _
  239.              ZOptSec(9), _
  240.              ZOptSec(10), _
  241.              ZOptSec(11), _
  242.              ZOptSec(12), _
  243.              ZOptSec(13), _
  244.              ZOptSec(14), _
  245.              ZOptSec(15), _
  246.              ZOptSec(16), _
  247.              ZOptSec(17), _
  248.              ZOptSec(18), _   ' MAIN COMMAND 18
  249.              ZMinNewCallerBaud, _
  250.              ZWaitBeforeDisconnect
  251.     INPUT #2,ZOptSec(19), _      ' Security for FILE COMMANDS 1
  252.              ZOptSec(20), _
  253.              ZOptSec(21), _
  254.              ZOptSec(22), _
  255.              ZOptSec(23), _
  256.              ZOptSec(24), _
  257.              ZOptSec(25), _
  258.              ZOptSec(26), _      ' FILE COMMAND 8
  259.              ZOptSec(27), _      ' SECURITY FOR UTILITY COMMANDS 1
  260.              ZOptSec(28), _
  261.              ZOptSec(29), _
  262.              ZOptSec(30), _
  263.              ZOptSec(31), _
  264.              ZOptSec(32), _
  265.              ZOptSec(33), _
  266.              ZOptSec(34), _
  267.              ZOptSec(35), _
  268.              ZOptSec(36), _
  269.              ZOptSec(37), _
  270.              ZOptSec(38), _   ' UTIL COMMAND 12
  271.              ZOptSec(46), _   ' SECURITY FOR GLOBAL COMMANDS 1
  272.              ZOptSec(47), _
  273.              ZOptSec(48), _
  274.              ZOptSec(49), _
  275.              ZUpldTimeFactor!, _
  276.              ZComputerType, _
  277.              ZRemindProfile, _
  278.              ZRBBSName$, _
  279.              ZCmdsBetweenRings, _
  280.              ZCopyrightSecs, _
  281.              ZPagingPtrSupport$
  282.     IF ZConfMode THEN _
  283.          INPUT #2, ZwasDF _
  284.     ELSE INPUT #2, ZModemInitBaud$
  285.              IF ZErrCode > 0 THEN _
  286.                 EXIT SUB
  287. * REPLACING old line(s) by new
  288. 119 INPUT #2, ZPersonalDrvPath$, _
  289.               ZPersonalDir$, _
  290.               ZPersonalBegin, _
  291.               ZPersonalLen, _
  292.               ZPersonalProtocol$, _
  293.               ZPersonalConcat , _
  294.               ZPrivateReadSec, _
  295.               ZPublicReadSec, _
  296.               ZSecChangeMsg
  297.     IF ZConfMode THEN _
  298.          INPUT #2, ZwasDF _
  299.     ELSE INPUT #2, ZKeepInitBaud
  300.     INPUT #2, ZMainPUI$
  301.     IF ZConfMode THEN _
  302.        INPUT #2, ZWasDF$,ZWasDF$,ZWasDF$ _
  303.     ELSE INPUT #2, ZDefaultEchoer$, _
  304.                    ZHostEchoOn$, _
  305.                    ZHostEchoOff$
  306.     INPUT #2, ZSwitchBack, _
  307.               ZDefaultLineACK$, _
  308.               ZAltdirExtension$, _
  309.               ZDirPrefix$
  310.     IF ZConfMode THEN _
  311.        INPUT #2, ZWasDF, _
  312.                  ZWasDF, _
  313.                  ZWasDF _
  314.     ELSE INPUT #2, ZWasDF,_
  315.                    ZModemInitWaitTime, _
  316.                    ZModemCmdDelayTime
  317.     INPUT #2, ZTurboRBBS, _
  318.               ZSubDirCount, _
  319.               ZWasDF, _
  320.               ZUpldToSubdir, _
  321.               ZWasDF, _
  322.               ZUpldSubdir$, _
  323.               ZMinOldCallerBaud, _
  324.               ZMaxWorkVar, _
  325.               ZDiskFullGoOffline, _
  326.               ZExtendedLogging
  327.      IF ZConfMode THEN _
  328.         INPUT #2, ZWasDF$, _
  329.                   ZWasDF$, _
  330.                   ZWasDF$, _
  331.                   ZWasDF$ _
  332.      ELSE INPUT #2, ZModemResetCmd$, _
  333.                     ZModemCountRingsCmd$, _
  334.                     ZModemAnswerCmd$, _
  335.                     ZModemGoOffHookCmd$
  336.      INPUT #2,ZDiskForDos$, _
  337.               ZDumbModem, _
  338.               ZCmntsAsMsgs
  339.      IF ZConfMode THEN _
  340.         INPUT #2, ZWasDF, _
  341.                   ZWasDF, _
  342.                   ZWasDF, _
  343.                   ZWasDF, _
  344.                   ZWasDF, _
  345.                   ZWasDF _
  346.      ELSE INPUT #2, ZLSB,_
  347.                     ZMSB,_
  348.                     ZLineCntlReg,_
  349.                     ZModemCntlReg,_
  350.                     ZLineStatusReg,_
  351.                     ZModemStatusReg
  352.      INPUT #2,ZKeepTimeCredits, _
  353.               ZXOnXOff, _
  354.               ZAllowCallerTurbo, _
  355.               ZUseDeviceDriver$, _
  356.               ZPreLog$, _
  357.               ZNewUserQuestionnaire$, _
  358.               ZEpilog$, _
  359.               ZRegProgram$, _
  360.               ZQuesPath$, _
  361.               ZUserLocation$, _
  362.               ZWasDF$, _
  363.               ZWasDF$, _
  364.               ZWasDF$, _
  365.               ZEnforceRatios, _
  366.               ZSizeOfStack, _
  367.               ZSecExemptFromEpilog, _
  368.               ZUseBASICWrites, _
  369.               ZDosANSI, _
  370.               ZEscapeInsecure, _
  371.               ZUseDirOrder, _
  372.               ZAddDirSecurity, _
  373.               ZMaxExtendedLines, _
  374.               ZOrigCommands$
  375.      INPUT #2,ZLogonMailLevel$, _
  376.               ZMacroDrvPath$, _
  377.               ZMacroExtension$, _
  378.               ZEmphasizeOnDef$, _
  379.               ZEmphasizeOffDef$, _
  380.               ZFG1Def$, _
  381.               ZFG2Def$, _
  382.               ZFG3Def$, _
  383.               ZFG4Def$, _
  384.               ZSecVioHelp$
  385.      IF ZConfMode THEN _
  386.         INPUT #2,ZWasDF _
  387.      ELSE INPUT #2,ZFossil
  388.      INPUT #2,ZMaxCarrierWait, _
  389.               ZWasDF, _
  390.               ZSmartTextCode, _
  391.               ZTimeLock, _
  392.               ZWriteBufDef, _
  393.               ZSecKillAny, _
  394.               ZDoorsDef$, _
  395.               ZScreenOutMsg$, _
  396.               ZAutoPageDef$
  397. * ------[ first line different ]------
  398.      ZLibDriveSave$ = ZLibDrive$                                     ' RM03289401
  399.      ZFastFileListSave$ = ZFastFileList$                             ' RM03269401
  400.      ZFastFileLocatorSave$ = ZFastFileLocator$                       ' RM03269401
  401.      ZDirCatFileSave$ = ZDirCatFile$                                 ' RM03269401
  402.      ZLibSubdirPrefixSave$ = ZLibSubdirPrefix$                       ' RM03269401
  403.      ZLibDirExtensionSave$ = ZLibDirExtension$                       ' RM03269401
  404.      ZLibDirPathSave$ = ZLibDirPath$                                 ' RM03269401
  405.      ZDirPrefixSave$ = ZDirPrefix$                                   ' RM03269401
  406.      ZUpldSubDirTemp$ = ZUpldSubDir$                                 ' RM01219401
  407.      ZCDRomWorkDir$ = ZUpldSubDir$ + "\" + "NODE" + ZNodeFileID$ + "\" ' RM03239401
  408.      ZCDRom = ZFalse                                                 ' RM03249401
  409.      IF ZErrCode > 0 THEN _
  410.         EXIT SUB
  411.      ZConfigFileName$ = ConfigFile$
  412.      CALL EditDef
  413.      ZLibDirSave$ = ZLibDir$                                         ' RM03269401
  414.      ZCurDirPathSave$ = ZCurDirPath$                                 ' RM03279401
  415.      IF NOT ZConfMode AND NOT ZSubBoard THEN _                       ' RM11219301/RM02029401
  416.         CALL ReadColorDef                                            ' RM11159301
  417.      END SUB
  418. * REPLACING old line(s) by new
  419. 200 ' $SUBTITLE: 'OpenCom - subroutine to open the communications port'
  420. ' $PAGE
  421. '
  422. '  NAME    -- OpenCom
  423. '
  424. '  INPUTS  --     PARAMETER                    MEANING
  425. '                BaudRate$                  BAUD TO OPEN MODEM
  426. '                Parity$                    PARITY TO OPEN MODEM
  427. '
  428. '  OUTPUTS -- BaudTest!                     BAUD RATE TO SET RS232 AT
  429. '
  430. '  PURPOSE -- To open the communications port.
  431. '
  432.     SUB OpenCom (BaudRate$,Parity$) STATIC
  433.     ON ERROR GOTO 65000
  434.     IF ZFossil THEN _
  435.        IF ZRTS$ = "YES" THEN _
  436.           ZFlowControl = ZTrue : _
  437.           Flow = &H00F2 : _
  438.           CALL FosFlowCtl(ZComPort,Flow)
  439.     IF INSTR(Parity$,"N") THEN _
  440.        Parity = 2 : _                                     ' No PARITY
  441.        DataBits = 3 : _                                   ' 8 DATA BITS
  442.        StopBits = 0 _                                     ' 1 STOP BIT
  443.     ELSE Parity = 3 : _                                   ' EVEN PARITY
  444.          DataBits = 2 : _                                 ' 7 DATA BITS
  445.          StopBits = 0                                     ' 1 STOP BIT
  446.     IF NOT ZFossil THEN _
  447.        GOTO 202
  448. * ------[ first line different ]------
  449.     IF Baudrate$ = "12000" THEN _                            ' BB09199301
  450.        ComSpeed = &H2EE0 _                                   ' BB09199301
  451.     ELSE IF Baudrate$ = "14400" THEN _                       ' BB09199301
  452.        ComSpeed = &H3840 _                                   ' BB09199301
  453.     ELSE IF Baudrate$ = "16800" THEN _                       ' BB09199301
  454.        ComSpeed = &H41A0 _                                   ' BB09199301
  455.     ELSE IF Baudrate$ = "19200" THEN _                       ' BB09199301
  456.        ComSpeed = &H4B00 _                                   ' BB09199301
  457.     ELSE IF Baudrate$ = "21600" THEN _                       ' BB09039301
  458.        ComSpeed = &H5460 _                                   ' BB09039301
  459.     ELSE IF Baudrate$ = "24000" THEN _                       ' RM11279301
  460.        ComSpeed = &H5E88 _                                   ' RM11279301
  461.     ELSE IF Baudrate$ = "26400" THEN _                       ' RM11279301
  462.        ComSpeed = &H6720 _                                   ' RM11279301
  463.     ELSE IF Baudrate$ = "28800" THEN _                       ' BB062501/BB09039301
  464.        ComSpeed = &H7080 _                                   ' BB062501/BB09039301
  465.     ELSE IF Baudrate$ = "38400" THEN _                       ' BB062501
  466.        ComSpeed = &H9600 _
  467.     ELSE IF Baudrate$ = "57600" THEN _                       ' BB062501
  468.        ComSpeed = &H0E100 _                                  ' BB062501
  469.     ELSE ComSpeed = VAL(BaudRate$)
  470.     CALL FosSpeed(ZComPort,ComSpeed,Parity,DataBits,StopBits)
  471.     EXIT SUB
  472. * REPLACING old line(s) by new
  473. 202 CLOSE 3
  474.     IF ZRTS$ = "YES" THEN _
  475.        ZFlowControl = ZTrue : _
  476.        WasX$ = ",CS26600,CD,DS" _
  477.     ELSE WasX$ = ",RS,CD,DS"
  478.     WasX = (VAL(BaudRate$) > 19200)
  479.     IF WasX THEN _
  480.        ZWasY$ = "19200" _
  481.     ELSE ZWasY$ = BaudRate$
  482.     OPEN ZComPort$ + ":" + ZWasY$ + Parity$ + WasX$ AS #3
  483. '
  484. ' ****************************************************************************
  485. ' *  RAISE THE RTS SIGNAL IF THE MODEM USES RTS FOR MODEM FLOW CONTROL (ONCE
  486. ' *  IT IS RAISED, IT WILL STAY UP UNTIL THE REGISTER IS CLEARED OUT).
  487. ' ****************************************************************************
  488. '
  489.     END SUB
  490. * ------[ first line different ]------
  491. '
  492. * INSERTING new line(s)
  493. 1450 ' $SUBTITLE: 'CopyFile  - Copy a file from CD-ROM to holding directory'
  494. ' $PAGE
  495. '
  496. '  NAME    -- CopyFile
  497. '
  498. '  INPUTS  -- PARAMETER             MEANING
  499. '             FilName$      Name of file to copy
  500. '             Whereto$      Where to copy file to
  501. '             Type          1 = CD-ROM
  502. '                           0 = Other
  503. '
  504. '  OUTPUTS --
  505. '
  506. '
  507. '  PURPOSE -- To copy a file from CD-ROM to a download holding directory.
  508. '             Can be used to copy a file from one directory to another
  509. '             Including across drives.
  510. '
  511. '  WRITTEN BY: R. Molinelli - 03/23/94
  512. '
  513.      SUB CopyFile (FilName$,Whereto$,FType)                          ' RM03239401/RM03259402
  514.      ON ERROR GOTO 65000
  515.      IF FType = 1 THEN           ' Create semaphore file to lock out ' RM03259402
  516.         FilNum1 = FREEFILE       ' out nodes in multinode environ    ' RM03259402
  517.         OPEN "A",FilNum1,"CDWORK" + ZLibDrive$ + ".WRK"              ' RM03259402
  518.         CLOSE FilNum1                                                ' RM03259402
  519.      END IF
  520.      FileLen# = 0
  521.      LenLastRec# = 0
  522.      NumRecs# = 0
  523.      RecLen# = 1024
  524.      FilNum1 = FREEFILE
  525.      IF FType = 1 OR ZShareIt THEN
  526.         OPEN FilName$ FOR BINARY ACCESS READ SHARED AS #FilNum1 LEN = RecLen#
  527.      ELSE
  528.         OPEN FilName$ FOR BINARY ACCESS READ AS #FilNum1 LEN = RecLen#
  529.      END IF
  530.      FileLen# = LOF(FilNum1)
  531.      IF FileLen# >= 1024 THEN
  532.         NumRecs# = FileLen# \ RecLen#
  533.         LenLastRec# = FileLen# - (NumRecs# * RecLen#)
  534.      END IF
  535.      IF FileLen# < 1024 THEN
  536.         NumRecs# = 1
  537.         RecLen# = FileLen#
  538.         CLOSE FilNum1
  539.         IF FType = 1 OR ZShareIt THEN
  540.            OPEN FilName$ FOR BINARY ACCESS READ SHARED AS #FilNum1 LEN = RecLen#
  541.         ELSE
  542.            OPEN FilName$ FOR BINARY ACCESS READ AS #FilNum1 LEN = RecLen#
  543.         END IF
  544.      END IF
  545.      CALL BreakFileName (FilName$,DR$,Pre$,Ext$,ZTrue)
  546.      OutFile$ = WhereTo$ + Pre$ + Ext$
  547.      FilNum2 = FREEFILE
  548.      IF FType = 1 OR ZShareIt THEN
  549.         OPEN OutFile$ FOR BINARY ACCESS WRITE SHARED AS #FilNum2 LEN = RecLen#
  550.      ELSE
  551.         OPEN OutFile$ FOR BINARY ACCESS WRITE AS #FilNum2 LEN = RecLen#
  552.      END IF
  553.      IF ZErrCode >= 75 AND ZErrCode <=76 THEN
  554.         ZErrCode = 0
  555.         CALL LPrnt ("CD-ROM work directory missing...creating directory",1)
  556.         CLOSE FilNum2
  557.         MKDIR MID$(WhereTo$,1,LEN(WhereTo$) - 1)
  558.         IF FType = 1 OR ZShareIt THEN
  559.            OPEN OutFile$ FOR BINARY ACCESS WRITE SHARED AS #FilNum2 LEN = RecLen#
  560.         ELSE
  561.            OPEN OutFile$ FOR BINARY ACCESS WRITE AS #FilNum2 LEN = RecLen#
  562.         END IF
  563.      END IF
  564.      CopyFrom$ = STRING$(RecLen#," ")
  565.      CopyTo$ = STRING$(RecLen#," ")
  566.      FOR X# = 1 TO NumRecs#
  567.         GET #FilNum1,,CopyFrom$
  568.         LSET CopyTo$ = CopyFrom$
  569.         PUT #FilNum2,,CopyTo$
  570.      NEXT
  571.      IF LenLastRec# > 0 THEN
  572.         CopyFrom$ = STRING$(LenLastRec#," ")
  573.         CopyTo$ = STRING$(LenLastRec#," ")
  574.         GET #FilNum1,,CopyFrom$
  575.         LSET CopyTo$ = CopyFrom$
  576.         PUT #FilNum2,,CopyTo$
  577.      END IF
  578.      CLOSE FilNum1,FilNum2
  579.      CopyTo$ = ""
  580.      CopyFrom$ = ""
  581.      FilName$ = OutFile$
  582.      IF FType = 1 THEN _                                              ' RM03259402
  583.         CALL KillWork ("CDWORK" + ZLibDrive$ + ".WRK") ' Delete semaphore file ' RM03259402
  584. 1460 END SUB                                                         ' RM03239401
  585. '
  586. 1465 ' $SUBTITLE: 'KillCDWork - Kill files copied to CD Work Dir'
  587. ' $PAGE
  588. '
  589. '  NAME    -- KillCDWork
  590. '
  591. '  INPUTS  -- PARAMETER             MEANING
  592. '
  593. '
  594. '
  595. '  OUTPUTS --
  596. '
  597. '
  598. '  PURPOSE -- Delete files copied to hard disk for downloading from
  599. '             CD-ROM drive.
  600. '
  601. '  WRITTEN BY: Richie Molinelli - 03/23/94
  602. '
  603.      SUB KillCDWork                                                  ' RM03249401
  604.      Temp$ = DIR$(ZCDRomWorkDir$ + "*.*")
  605.      WHILE Temp$ <> ""
  606.         Temp1$ = ZCDRomWorkDir$ + Temp$
  607.         KILL Temp1$
  608.         Temp$ = DIR$
  609.      WEND
  610.      END SUB                                                         ' RM03249401
  611. '
  612. * REPLACING old line(s) by new
  613. 1479 ' $SUBTITLE: 'OpenRSeq  - open sequential file randomly'
  614. ' $PAGE
  615. '
  616. '  NAME    -- OpenRSeq
  617. '
  618. '  INPUTS  -- PARAMETER             MEANING
  619. '             FilName$      NAME OF SEQUENTIAL FILE TO OPEN AS #2
  620. '             RecLen        Length of a record
  621. * ------[ first line different ]------
  622. '             FilNum        File number to open
  623. '
  624. '  OUTPUTS -- NumRecs&     NUMBER OF RECORDS IN THE FILE based on RecLen  ' LRGE174/YB102001
  625. '             LenLastRec   NUMBER OF BYTES IN THE LAST RECORD
  626. '                          MAY BE LESS THAN OR EQUAL TO RecLen).
  627. '
  628. '  PURPOSE -- Open a sequential file as file #2 and read it randomly
  629. '
  630.      SUB OpenRSeq (FilName$,NumRecs&,LenLastRec,RecLen,FilNum) STATIC ' LRGE174/YB102001/RM01139402
  631.      ON ERROR GOTO 65000
  632.      CALL OpenRand2 (FilName$,RecLen,FilNum)                         ' RM01139402
  633.      IF ZErrCode > 0 THEN _
  634.         EXIT SUB
  635.      FIELD FilNum, RecLen AS ZDnldRecord$                            ' RM01139402
  636.      WasI# = LOF(FilNum)                                             ' RM01139402
  637.      NumRecs& = FIX(WasI#/RecLen)                                    ' LRGE174/YB102001
  638.      LenLastRec = WasI# - CDBL(NumRecs&) * RecLen                    ' LRGE174/YB102001
  639.      IF LenLastRec > 0 THEN _
  640.         NumRecs& = NumRecs& + 1 _                                    ' LRGE174/YB102001
  641.      ELSE LenLastRec = RecLen
  642.      END SUB
  643. * REPLACING old line(s) by new
  644. * ------[ first line different ]------
  645. 1486 SUB OpenRand2 (FileToOpen$,FileLen,FilNum)                      ' RM01139402
  646.      ON ERROR GOTO 65000
  647.      CLOSE FilNum                                                    ' RM01139402
  648. * REPLACING old line(s) by new
  649. 1487 ZErrCode = 0
  650.      IF ZShareIt THEN _
  651. * ------[ first line different ]------
  652.         OPEN FileToOpen$ FOR RANDOM SHARED AS FilNum LEN=FileLen _   ' RM01139402
  653.      ELSE OPEN "R",FilNum,FileToOpen$,FileLen                        ' RM01139402
  654.      END SUB
  655. * REPLACING old line(s) by new
  656. 9398 ' $SUBTITLE: 'OpenUser - subroutine to open users file as #5'
  657. ' $PAGE
  658. '
  659. '  NAME    -- OpenUser
  660. '
  661. '  INPUTS  --     PARAMETER                    MEANING
  662. '                 ZShareIt
  663. '
  664. '  OUTPUTS -- ZActiveUserFile$
  665. '             ZCityState$
  666. '             ZElapsedTime$
  667. '             ZLastDateTimeOn$
  668. '             LastRec                # OF Last RECORD IN USERS FILE
  669. '             ZListNewDate$
  670. '             ZPswd$
  671. '             ZSecLevel$
  672. '             ZUserDnlds$
  673. '             ZUserName$
  674. '             ZUserOption$
  675. '             ZUserRecord$
  676. '             ZUserUplds$
  677. '
  678. '  PURPOSE -- Open the user file as file #5
  679. '
  680. * ------[ first line different ]------
  681.       SUB OpenUser (LastRec)                                         ' RM11159302
  682.       ON ERROR GOTO 65000
  683. '
  684. ' ****  OPEN AND DEFINE USER FILE RECORD VARIABLES  ****
  685. '
  686. * REPLACING old line(s) by new
  687. 9400 CLOSE 5
  688.      IF ZShareIt THEN _
  689.         OPEN ZActiveUserFile$ FOR RANDOM SHARED AS #5 LEN=128 _
  690.      ELSE OPEN "R",5,ZActiveUserFile$,128
  691.      WasI# = LOF(5)
  692.      LastRec = FIX(WasI#/128)
  693.      FIELD 5,31 AS ZUserName$, _
  694.              15 AS ZPswd$, _
  695.               2 AS ZSecLevel$, _
  696.              14 AS ZUserOption$,  _
  697.              24 AS ZCityState$, _
  698. * ------[ first line different ]------
  699.               1 AS MachineType$, _                                   ' DROP174
  700.               1 AS ZDropTimes$, _                                    ' DROP174
  701.               1 AS ZBankTime$,_
  702.               4 AS ZTodayDl$, _
  703.               4 AS ZTodayBytes$, _
  704.               4 AS ZDlBytes$, _
  705.               4 AS ZULBytes$, _
  706.              14 AS ZLastDateTimeOn$, _
  707.               3 AS ZListNewDate$, _
  708.               2 AS ZUserDnlds$, _
  709.               2 AS ZUserUplds$, _
  710.               2 AS ZElapsedTime$
  711.      FIELD 5,128 AS ZUserRecord$
  712.      END SUB
  713. '                                                                    ' DU174/RM08049301
  714. * INSERTING new line(s)
  715. 10091 '$SUBTITLE: 'DisplayUser -- subroutine to display users file'  ' DU174/RM08049301
  716. ' $PAGE                                                              ' DU174/RM08049301
  717. '                                                                    ' DU174/RM08049301
  718. ' NAME: DisplayUser                                                  ' DU174/RM08049301
  719. '                                                                    ' DU174/RM08049301
  720. ' PURPOSE: To display users file with "U" from Utility Menu or       ' DU174/RM08049301
  721. '          2 from SysOp Menu.  Formerly in RBBS-PC.BAS               ' DU174/RM08049301
  722. '                                                                    ' DU174/RM08049301
  723. ' INPUTS:                                                            ' DU174/RM08049301
  724. '                                                                    ' DU174/RM08049301
  725. ' OUTPUTS:                                                           ' DU174/RM08049301
  726. '                                                                    ' DU174/RM08049301
  727. '                                                                    ' DU174/RM08049301
  728.       SUB DisplayUser STATIC                                         ' DU174/RM08049301
  729. 10092 CALL Muzak (6)                                                 ' DU174/RM08049301
  730.       ZOutTxt$ = "List - U)sers, R)ecent callers"                    ' DU174/RM08049301
  731.       ZMacroMin = 2                                                  ' DU174/RM08049301
  732.       CALL SkipLine (1)                                              ' DU174/RM08049301
  733.       GOSUB 10100                                                    ' DU174/RM08049301
  734.       IF ZWasQ = 0 THEN _                                            ' DU174/RM08049301
  735.          EXIT SUB                                                    ' DU174/RM08049301
  736.       CALL AraAllCaps (ZUserIn$(),ZAnsIndex)                         ' DU174/RM08049301
  737.       ON INSTR("UR",ZUserIn$(ZAnsIndex)) + 1 GOTO 10092,10096,10093  ' DU174/RM08049301
  738. 10093 CALL DispCall                                                  ' DU174/RM08049301
  739.       EXIT SUB                                                       ' DU174/RM08049301
  740. 10096 UserRecordHold$ = ZUserRecord$                                 ' DU174/RM08049301
  741.       IF ZConfMode THEN _                                            ' DU174/RM08049301
  742.          ZOutTxt$ = "Users of " + _                                  ' DU174/RM08049301
  743.               ZConfName$ + _                                         ' DU174/RM08049301
  744.               ":" : _                                                ' DU174/RM08049301
  745.          GOSUB 10101                                                 ' DU174/RM08049301
  746.       CALL OpenUser (ZHighestUserRecord)                             ' DU174/RM08049301
  747.       FIELD 5,128 AS ZUserRecord$                                    ' DU174/RM08049301
  748.       ZStopInterrupts = ZFalse                                       ' DU174/RM08049301
  749.       WasI = 1                                                       ' DU174/RM08049301
  750.       ZWasZ$ = ZSecretName$                                          ' DU174/RM08049301
  751. 10097 IF WasI > ZHighestUserRecord OR ZRet THEN _                    ' DU174/RM08049301
  752.          GOTO 10099                                                  ' DU174/RM08049301
  753.       GET 5,WasI                                                     ' DU174/RM08049301
  754.       WasX$ = MID$(ZUserRecord$,ZStartHash,ZLenHash)                 ' DU174/RM08049301
  755.       IF ASC(WasX$)=0 OR LEFT$(WasX$,3)="   " THEN _                 ' DU174/RM08049301
  756.          GOTO 10098                                                  ' DU174/RM08049301
  757.       IF INSTR(WasX$,ZWasZ$) > 0 OR ZSysopSecLevel <= CVI(MID$(ZUserRecord$,47,2)) THEN _ ' DU174/RM08049301
  758.          IF NOT ZSysop THEN _                                        ' DU174/RM08049301
  759.             GOTO 10098                                               ' DU174/RM08049301
  760.       CALL AskMore ("",ZTrue,ZTrue,WasXX,ZFalse)                     ' DU174/RM08049301
  761.       IF ZNo OR ZSubParm = -1 THEN _                                 ' DU174/RM08049301
  762.          GOTO 10099                                                  ' DU174/RM08049301
  763.       ZOutTxt$ = LEFT$(WasX$,36) + ZCityState$ + ZLastDateTimeOn$    ' DU174/RM08049301
  764.       GOSUB 10101                                                    ' DU174/RM08049301
  765. 10098 WasI = WasI + 1                                                ' DU174/RM08049301
  766.       GOTO 10097                                                     ' DU174/RM08049301
  767. 10099 ZOutTxt$ = ""                                                  ' DU174/RM08049301
  768.       LSET ZUserRecord$ = UserRecordHold$                            ' DU174/RM08049301
  769.       ZStopInterrupts = ZTrue                                        ' DU174/RM08049301
  770.       EXIT SUB                                                       ' DU174/RM08049301
  771. 10100 ZTurboKey = -ZTurboKeyUser                                     ' DU174/RM08049301
  772.       CALL PopCmdStack                                               ' DU174/RM08049301
  773.       IF ZSubParm < 0 THEN _                                         ' DU174/RM08049301
  774.          EXIT SUB                                                    ' DU174/RM08049301
  775.       RETURN                                                         ' DU174/RM08049301
  776. 10101 ZSubParm = 5                                                   ' DU174/RM08049301
  777.       CALL TPut                                                      ' DU174/RM08049301
  778.       IF ZSubParm < 0 THEN _                                         ' DU174/RM08049301
  779.          EXIT SUB                                                    ' DU174/RM08049301
  780.       IF ZSubParm = 8 THEN _                                         ' DU174/RM08049301
  781.          ZSubParm = 1 : _                                            ' DU174/RM08049301
  782.          CALL TGet : _                                               ' DU174/RM08049301
  783.          IF ZSubParm < 0 THEN _                                      ' DU174/RM08049301
  784.             EXIT SUB                                                 ' DU174/RM08049301
  785.       RETURN                                                         ' DU174/RM08049301
  786.       END SUB                                                        ' DU174/RM08049301
  787. * REPLACING old line(s) by new
  788. 13661 ' $SUBTITLE: 'UpdtCalr - subroutine to write to CALLERS file'
  789. ' $PAGE
  790. '
  791. '  NAME    -- UpdtCalr
  792. '
  793. '  INPUTS  --     PARAMETER                    MEANING
  794. '                 ErrMsg$                   MESSAGE TO GO IN CALLER LOG
  795. '                 EXTLog               = 1  CHECK FOR EXTENDED LOGGING
  796. '                                           BEFORE UPDATING.
  797. '                                      = 2  UPDATE CALLER LOG WITH ZWasZ$
  798. '                                      = 3  Time stamp before logging
  799. '
  800. '  OUTPUTS -- ZCurDate$           CURRENT DATE (MM-DD-YY)
  801. '             ZTime$                    CURRENT TIME (I.E. 1:13 PM)
  802. '             TIME.LOGGEND.ON$        TIME USER LOGGED ON (HH:MM:SS)
  803. '
  804. '  PURPOSE -- To update the caller's file and/or print on the
  805. '             local printer if it is enabled
  806. '
  807. * ------[ first line different ]------
  808.       SUB UpdtCalr (ErrMsg$,EXTLog)                                  ' RM11159302
  809.       ON ERROR GOTO 65000
  810.       IF ZCallersFilePrefix$ = "" OR (ZLocalUser AND ZSysop) THEN _
  811.          EXIT SUB
  812.       WasX$ = "     " + ErrMsg$
  813. * REPLACING old line(s) by new
  814. 13673 ' $SUBTITLE: 'Printit - subroutine to print on the local printer'
  815. ' $PAGE
  816. '
  817. '  NAME    -- Printit
  818. '
  819. '  INPUTS  --     PARAMETER                    MEANING
  820. '                 Strng$              STRING TO WRITE TO THE Printer
  821. '
  822. '  OUTPUTS -- NONE
  823. '
  824. '  PURPOSE -- To write to the printer attached to the pc running
  825. '             RBBS-PC and toggle the printer switch off whenever
  826. '             the printer is/becomes unavailable
  827. '
  828. * ------[ first line different ]------
  829.       SUB Printit (Strng$)                                           ' RM11159302
  830.       ON ERROR GOTO 65000
  831. * REPLACING old line(s) by new
  832. 20101 ' $SUBTITLE: 'ChangeDir - subroutine to change subdirectories'
  833. ' $PAGE
  834. '
  835. '  NAME    -- ChangeDir
  836. '
  837. '  INPUTS  -- PARAMETER                    MEANING
  838. '             NewDir$                      NAME OF SUBDIRECTORY
  839. '
  840. '  OUTPUTS -- ZOK                           TRUE IF CHDIR SUCCESSFUL
  841. '             ZErrCode                      ERROR CODE
  842. '
  843. '  PURPOSE -- Change subdirectory
  844. '
  845. * ------[ first line different ]------
  846.       SUB ChangeDir (NewDir$)                                        ' RM11159302
  847.       ON ERROR GOTO 65000
  848.       ZErrCode = 0
  849.       ZOK = ZTrue
  850. * REPLACING old line(s) by new
  851. 20219 ' $SUBTITLE: 'FINDITX - subroutine to find if a file exists'
  852. ' $PAGE
  853. '
  854. '  NAME    -- FINDITX
  855. '
  856. '  INPUTS  -- PARAMETER                    MEANING
  857. '             FilName$                 NAME OF FILE TO FIND
  858. '             FileNum                  # TO OPEN FILE AS
  859. '
  860. '  OUTPUTS -- ZOK                      TRUE IF FILE EXISTS
  861. '             ZErrCode                 ERROR CODE
  862. '
  863. '  PURPOSE -- Determine whether a file exists
  864. '
  865. * ------[ first line different ]------
  866.       SUB FindItX (FilName$,FileNum)                                 ' RM11159302
  867.       ON ERROR GOTO 65000
  868.       ZErrCode = 0
  869.       ZOK = ZFalse
  870.       IF LEN(FilName$) < 1 THEN _
  871.          EXIT SUB
  872.       IF ZTurboRBBS THEN _
  873.          CALL FindFile (FilName$,ZOK) : _
  874.          IF ZOK THEN _
  875.             GOTO 20222 _
  876.          ELSE EXIT SUB
  877. * REPLACING old line(s) by new
  878. 20308 ' $SUBTITLE: 'FlushCom -- subroutine reads all char. from  comm. port'
  879. ' $PAGE
  880. '
  881. '  NAME -- FlushCom
  882. '
  883. '  INPUTS --   PARAMETER     MEANING
  884. '              STrng$       STRING TO READ CHARACTERS INTO FROM
  885. '                           THE COMMUNICATIONS PORT (FILE #3)
  886. '
  887. '  OUTPUTS --   Strng$
  888. '
  889. '  PURPOSE -- Reads all characters from the communications port.
  890. '
  891. * ------[ first line different ]------
  892.       SUB FlushCom (Strng$)                                          ' RM11159302
  893.       ON ERROR GOTO 65000
  894.       IF ZLocalUser THEN _
  895.          EXIT SUB
  896.       Strng$ = ""
  897.       IF NOT ZFossil THEN _
  898.          GOTO 20311
  899. * REPLACING old line(s) by new
  900. 29920 ZErrCode = 0
  901.       IF IBMFileLock = 6 AND IBMRecLock = 3 THEN _
  902.          IBMCount = IBMCount - 1 : _
  903.          IF IBMCount > 0 THEN _
  904.             EXIT SUB _
  905.          ELSE IBMCount = 0
  906.       UNLOCK IBMFileLock, IBMRecLock TO IBMRecLock
  907.       IF ZErrCode = 70 THEN _
  908.          EXIT SUB
  909.       IF ZErrCode <> 0 THEN _
  910.          GOTO 29920
  911.       END SUB
  912. * ------[ first line different ]------
  913. '                                                                    ' GR174/RM08039303
  914. * INSERTING new line(s)
  915. 43000 '$SUBTITLE: 'GraphicsSet -- subroutine to allow user to set graphics pref' ' GR174/RM08039303
  916. ' $PAGE                                                              ' GR174/RM08039303
  917. '                                                                    ' GR174/RM08039303
  918. ' NAME: GraphicsSet                                                  ' GR174/RM08039303
  919. '                                                                    ' GR174/RM08039303
  920. ' PURPOSE: To allow user to set their graphics preference            ' GR174/RM08039303
  921. '          Formerly in RBBS-PC.BAS                                   ' GR174/RM08039303
  922. '                                                                    ' GR174/RM08039303
  923. ' INPUTS:                                                            ' GR174/RM08039303
  924. '                                                                    ' GR174/RM08039303
  925. ' OUTPUTS:                                                           ' GR174/RM08039303
  926. '                                                                    ' GR174/RM08039303
  927. '                                                                    ' GR174/RM08039303
  928.       SUB GraphicsSet STATIC                                         ' GR174/RM08039303
  929. 43002 IF ZRIPTest AND NOT ZNewUser THEN                              ' RM07159301/RIP/RM07259301
  930.          WasRIP = ZFalse                                             ' RM08049302/RIP
  931.          ZOutTxt$ = "Disable RIP Support (Y, [N])"                   ' RM07159301/RIP
  932.          CALL TGet                                                   ' RM07159301/RIP
  933.          CALL AllCaps (ZUserIn$)                                     ' RMO7159301/RIP
  934.          IF ZUserIn$ = "Y" THEN                                      ' RM07159301/RIP
  935.             WasRIP = ZTrue                                           ' RM08049302/RIP
  936.             ZRIPTest = ZFalse                                        ' RM07159301/RIP
  937.             ZUserGraphicDefault$ = "C"                               ' RM07159301/RIP
  938.          END IF                                                      ' RM07159301/RIP
  939.          GOTO 43003                                                  ' RM08049302/RIP
  940.       END IF                                                         ' RM07159301/RIP
  941.       IF WasRIP THEN                                                 ' RM08049302/RIP
  942.          ZOutTxt$ = "Re-enable RIP Support (Y, [N])"                 ' RM08049302/RIP
  943.          CALL TGet                                                   ' RM08049302/RIP
  944.          CALL AllCaps (ZUserIn$)                                     ' RM08049302/RIP
  945.          IF ZUserIn$ = "Y" THEN                                      ' RM08049302/RIP
  946.             WasRIP = ZFalse                                          ' RM08049302/RIP
  947.             ZRIPTest = ZTrue                                         ' RM08049302/RIP
  948.             ZUserGraphicDefault$ = "R"                               ' RM08049302/RIP
  949.          END IF                                                      ' RM08049302/RIP
  950.          GOTO 43003                                                  ' RM08049302/RIP
  951.       END IF                                                         ' RM08049302/RIP
  952.       GOTO 43005                                                     ' RM08049302/RIP
  953. 43003 ZOutTxt$ = "Change GRAPHICS Defaults (Y, [N])"                 ' RM07159301/RIP
  954.       CALL TGet                                                      ' RM07159301/RIP
  955.       CALL AllCaps (ZUserIn$)                                        ' RM07159301/RIP
  956.       IF ZUserIn$ <> "Y" THEN                                        ' RM07159301/RIP
  957.          EXIT SUB                                                    ' RM07159301/RIP
  958.       END IF                                                         ' RM07159301/RIP
  959. 43005 GOSUB 43007                                                    ' RM02199401
  960.       GOTO 43022                                                     ' RM02199401
  961. 43007 CALL AskGraphics                                               ' GR174/RM08039303
  962.       IF ZSubParm = -1 THEN _                                        ' GR174/RM08039303
  963.          EXIT SUB                                                    ' GR174/RM08039303
  964.       IF ZWasQ = 0 THEN _                                            ' GR174/RM08039303
  965.          RETURN                                                      ' GR174/RM08039303
  966. 43020 ZOutTxt$ = "Text Graphics: " + _                               ' GR174/RM08039303
  967.            MID$("None AsciiColor",ZWasGR * 5 + 1,5)                  ' GR174/RM08039303
  968.       ZSubParm = 5                                                   ' GR174/RM08039303
  969.       CALL TPut                                                      ' GR174/RM08039303
  970.       IF ZSubParm < 0 THEN _                                         ' GR174/RM08039303
  971.          EXIT SUB                                                    ' GR174/RM08039303
  972.       IF ZSubParm = 8 THEN _                                         ' GR174/RM08039303
  973.          CALL TGet : _                                               ' GR174/RM08039303
  974.          IF ZSubParm < 0 THEN _                                      ' GR174/RM08039303
  975.             EXIT SUB                                                 ' GR174/RM08039303
  976.       RETURN                                                         ' RM02199401
  977. 43022 ZPrevPUI$ = ""                                                 ' GR174/RM08039303
  978.       IF ZEmphasizeOnDef$ = "" THEN _                                ' GR174/RM08039303
  979.          EXIT SUB                                                    ' GR174/RM08039303
  980.       ZOutTxt$ = "Do you want colorized prompts ([Y],N)"             ' GR174/RM08039303
  981.       ZTurboKey = -ZTurboKeyUser                                     ' GR174/RM08039303
  982.       CALL PopCmdStack                                               ' GR174/RM08039303
  983.       IF ZSubParm < 0 THEN _                                         ' GR174/RM08039303
  984.          EXIT SUB                                                    ' GR174/RM08039303
  985.       ZHiLiteOff = NOT ZNo                                           ' GR174/RM08039303
  986.       CALL Toggle(5)                                                 ' GR174/RM08039303
  987.       END SUB                                                        ' GR174/RM08039303
  988. * REPLACING old line(s) by new
  989. 57978 ' $SUBTITLE: 'OpenWork - subroutine to open RBBS-PC's work file (2)'
  990. ' $PAGE
  991. '
  992. '  NAME   -- OpenWork
  993. '
  994. '  INPUTS --     PARAMETER                    MEANING
  995. '                FileNum                    # OF FILE TO OPEN AS
  996. '                FilName$                   NAME OF FILE TO FIND
  997. '                ZShareIt                   USE DOS' "SHARE" FACILITIES
  998. '
  999. '  OUTPUTS -- ZErrCode                        ERROR CODE
  1000. '
  1001. '  PURPOSE -- To open RBBS-PC's "work" file (number 2)
  1002. '
  1003. * ------[ first line different ]------
  1004.       SUB OpenWork (FileNum,FilName$)                                ' RM11159302
  1005.       ON ERROR GOTO 65000
  1006. * INSERTING new line(s)
  1007. 58040 ' $SUBTITLE: 'OpenWorkB - subroutine to an RBBS-PC work file for append' ' BTCH174
  1008. ' $PAGE                                                              ' BTCH174
  1009. '                                                                    ' BTCH174
  1010. '  NAME   -- OpenWorkB                                               ' BTCH174
  1011. '                                                                    ' BTCH174
  1012. '  INPUTS --     PARAMETER                    MEANING                ' BTCH174
  1013. '                FileNum                    # OF FILE TO OPEN        ' BTCH174
  1014. '                FilName$                   NAME OF FILE TO FIND     ' BTCH174
  1015. '                ZShareIt                   USE DOS' "SHARE" FACILITIES ' BTCH174
  1016. '                                                                    ' BTCH174
  1017. '  OUTPUTS -- ZErrCode                        ERROR CODE             ' BTCH174
  1018. '                                                                    ' BTCH174
  1019. '  PURPOSE -- To open an RBBS-PC work file for appended output       ' BTCH174
  1020. '                                                                    ' BTCH174
  1021. '  WRITTEN BY: R. Molinelli                                          ' BTCH174
  1022. '                                                                    ' BTCH174
  1023.       SUB OpenWorkB (FileNum,FilName$)                               ' BTCH174/RM11159302
  1024.       ON ERROR GOTO 65000                                            ' BTCH174
  1025. 58050 CLOSE FileNum                                                  ' BTCH174
  1026. 58060 ZErrCode = 0                                                   ' BTCH174
  1027. 58070 IF ZShareIt THEN _                                             ' BTCH174
  1028.          OPEN FilName$ FOR APPEND SHARED AS #FileNum _               ' BTCH174
  1029.       ELSE OPEN "A",FileNum,FilName$                                 ' BTCH174
  1030.       IF ZErrCode = 52 THEN _                                        ' BTCH174
  1031.          GOTO 58060                                                  ' BTCH174
  1032. 58080 END SUB                                                        ' BTCH174
  1033. * REPLACING old line(s) by new
  1034. 58190 ' $SUBTITLE: 'OpenFMS - subroutine to open the FMS directory'
  1035. ' $PAGE
  1036. '
  1037. '  NAME    -- OpenFMS
  1038. '
  1039. '  INPUTS  -- PARAMETER                      MEANING
  1040. '             ZShareIt                DOS SHARING FLAG
  1041. '             ZFMSDirectory$          NAME OF FMS DIRECTORY
  1042. '
  1043. '  OUTPUTS -- LastRec                NUMBER OF THE Last
  1044. '                                    RECORD IN THE FILE
  1045. '             CatLen                 Length of the category code
  1046. '
  1047. '  PURPOSE -- To open the upload directory as a random file and find
  1048. '             the number of the last record in the file.
  1049. '
  1050.       SUB OpenFMS (LastRec,CatLen) STATIC
  1051.       ON ERROR GOTO 65000
  1052.       CLOSE 2
  1053.       IF ZActiveFMSDir$ = "" THEN _
  1054.          IF ZMenuIndex = 6 THEN _
  1055.             ZActiveFMSDir$ = ZLibDir$ _
  1056.          ELSE ZActiveFMSDir$ = ZFMSDirectory$
  1057.       OldFile = (ZActiveFMSDir$ = PrevFMS$)
  1058.       IF OldFile THEN _
  1059.          GOTO 58192
  1060.       CALL OpenWork (2,ZActiveFMSDir$)
  1061.       CALL ReadDir (2,1)
  1062. * ------[ first line different ]------
  1063.       IF ZErrCode > 0 OR LEN(ZOutTxt$) < 37 THEN _                   ' KG091002
  1064.          IF ZActiveFMSDir$ = ZPersonalDir$ THEN _
  1065.             ZFMSFileLength = 36 + ZMaxDescLen + ZPersonalLen _
  1066.          ELSE ZFMSFileLength = 38 + ZMaxDescLen _
  1067.       ELSE ZFMSFileLength = LEN(ZOutTxt$) + 2
  1068.       IF ZFMSFileLength < 86 THEN _                                  ' KG091002
  1069.          CalcCatLen = 3 : _                                          ' KG091002
  1070.          ZMaxDescLen = ZFMSFileLength - 38 _                         ' KG091002
  1071.       ELSE CalcCatLen = ZPersonalLen : _                             ' KG091002
  1072.            ZMaxDescLen = ZFMSFileLength - 36 - ZPersonalLen          ' KG091002
  1073.       CLOSE 2
  1074. * REPLACING old line(s) by new
  1075. 58192 ZErrCode = 0
  1076.       IF ZShareIt THEN _
  1077.          OPEN ZActiveFMSDir$ FOR RANDOM SHARED AS #2 LEN=ZFMSFileLength _
  1078.       ELSE OPEN "R",2,ZActiveFMSDir$,ZFMSFileLength
  1079.       IF ZErrCode > 0 THEN _
  1080.          CALL QuickTPut1 ("Drive/path does not exist or bad name for FMS dir " + _
  1081.                      ZActiveFMSDir$) : _
  1082.          END
  1083.       LastRec = LOF(2)/ZFMSFileLength
  1084.       CatLen = CalcCatLen
  1085. * ------[ first line different ]------
  1086.       FIELD 2, ZFMSFileLength AS FMSRec$
  1087.       GET #2,1
  1088.       IF ZMenuIndex <> 6 THEN _                                      ' RM03259401
  1089.          ZCDRom = INSTR(FMSRec$,"CDROM") > 0 : _                     ' RM03229402
  1090.          ZUseCDWorkDrive = ZCDRom                                    ' RM03309401
  1091.       IF OldFile THEN _                                              ' RM03259401
  1092.          EXIT SUB                                                    ' RM03259401
  1093.       PrevFMS$ = ZActiveFMSDir$                                      ' RM03259401
  1094.       ZWasA = (LEFT$(FMSRec$,4) <> "\FMS")
  1095.       ZUpInc = 2*(INSTR(FMSRec$," TOP ") = 0 OR ZWasA) + 1
  1096.       ZDateOrderedFMS = ZWasA OR (INSTR(FMSRec$," NOSORT") = 0)
  1097.       ZWasDF = INSTR(FMSRec$,"CH(")
  1098.       ZChainedDir$ = ""
  1099.       IF ZWasDF > 0 AND (NOT ZWasA) THEN _
  1100.          WasX = INSTR(ZWasDF,FMSRec$,")") : _
  1101.          IF WasX > 0 THEN _
  1102.             ZChainedDir$ = MID$(FMSRec$,ZWasDF+3,WasX-ZWasDF-3) : _
  1103.             CALL FindFile (ZChainedDir$,ZOK) : _
  1104.             IF NOT ZOK THEN _
  1105.                ZChainedDir$ = ""
  1106.       IF ZActiveFMSDir$ = ZPersonalDir$ THEN _
  1107.          ZFileWaiting = ZFalse
  1108.       ZPersonalDnld = ((ZActiveFMSDir$ = ZPersonalDir$) OR _
  1109.                        (INSTR(FMSRec$," PERS") > 0 AND NOT ZWasA))
  1110.       ZFreeDnld = ZPersonalDnld
  1111.       IF NOT ZWasA THEN _
  1112.          IF INSTR(FMSRec$," NOFREE") > 0 THEN _
  1113.             ZFreeDnld = ZFalse _
  1114.          ELSE IF INSTR(FMSRec$," FREE") > 0 THEN _
  1115.             ZFreeDnld = ZTrue
  1116.       ZListOnly = ZPersonalDnld
  1117.       IF NOT ZWasA THEN _
  1118.          IF INSTR(FMSRec$," LISTONLY ") > 0 THEN _
  1119.             ZListOnly = ZTrue
  1120.       ZExtraDnldTime = -60 * ZPersonalDnld
  1121.       IF NOT ZWasA THEN _
  1122.          WasX = INSTR(FMSRec$," TIMEEXTRA ")
  1123.          IF WasX > 0 THEN _
  1124.             CALL CheckInt (MID$(FMSRec$,WasX+10)) : _
  1125.             ZExtraDnldTime = ZTestedIntValue
  1126.       END SUB
  1127. * REPLACING old line(s) by new
  1128. 58220 ' $SUBTITLE: 'OpenOutW - sub to open output work file (2)'
  1129. ' $PAGE
  1130. '
  1131. '  NAME    -- OpenOutW
  1132. '
  1133. '  INPUTS  --     PARAMETER                 MEANING
  1134. '                 ZFileName$            NAME OF FILE TO FIND
  1135. '                 ZShareIt              USE DOS' "SHARE" FACILITIES
  1136. '
  1137. '  OUTPUTS -- ZErrCode                        ERROR CODE
  1138. '
  1139. '  PURPOSE -- To open RBBS-PC's "work" file (number 2) for output
  1140. '
  1141. * ------[ first line different ]------
  1142.       SUB OpenOutW (FilName$)                                        ' RM11159302
  1143.       ON ERROR GOTO 65000
  1144.       CLOSE 2
  1145. * REPLACING old line(s) by new
  1146. 58260 ' $SUBTITLE: 'KillWork - subroutine to delete a "work" file'
  1147. ' $PAGE
  1148. '
  1149. '  NAME    -- KillWork
  1150. '
  1151. '  INPUTS  --     PARAMETER                    MEANING
  1152. '                 FilName$                  NAME OF FILE TO DELETE
  1153. '
  1154. '  OUTPUTS -- ZErrCode                        ERROR CODE
  1155. '
  1156. '  SUBROUTINE PURPOSE -- To delete a RBBS-PC "work" file
  1157. '
  1158. * ------[ first line different ]------
  1159.       SUB KillWork (FilName$)                                        ' RM11159302
  1160.       ON ERROR GOTO 65000
  1161.       CLOSE 2
  1162.       ZErrCode = 0
  1163.       CALL FindFile (FilName$,ZOK)                                   ' RM01199401
  1164.       IF NOT ZOK THEN _                                              ' RM01199401
  1165.          EXIT SUB                                                    ' RM01199401
  1166. * REPLACING old line(s) by new
  1167. 58280 ' $SUBTITLE: 'GetPassword - sub to read the "passwords" file'
  1168. ' $PAGE
  1169. '
  1170. '  NAME    -- GetPassword
  1171. '
  1172. '                          PARAMETER             MEANING
  1173. '  INPUTS  -- FILE # 2 OPENED
  1174. * ------[ first line different ]------
  1175. '             NumFinds                 # of params in PASSWORDS file ' RM01159402
  1176. '
  1177. '  OUTPUTS -- ZTempPassword$
  1178. '             ZTempSecLevel
  1179. '             ZTempTimeAllowed
  1180. '             ZTempRegPeriod
  1181. '             ZTempMaxPerDay
  1182. '
  1183. '  PURPOSE -- To read the RBBS-PC "PASSWORDS" file
  1184. '
  1185.       SUB GetPassword (NumFinds)                                     ' RM11159302/RM01159402
  1186.       ON ERROR GOTO 65000
  1187.       ZErrCode = 0
  1188.       ZPswdChngReqTime = 0                                           ' RM01159402
  1189.       ZDropCarSecChng = 0                                            ' RM01159402
  1190.       ZDropIncrement = 0                                             ' RM01159402
  1191.       ZDoMailCheck = 0                                               ' RM01159402
  1192.       ZTimeBankInActive = ZFalse                                     ' RM01159402
  1193.       ZAutoLogoffSecTime! = 20                                       ' RM01159402
  1194.       ZAllowInternodeChat = ZFalse                                   ' RM01159402
  1195.       INPUT #2,ZTempPassword$,    ZTempSecLevel, _
  1196.                ZTempTimeAllowed,  ZTempMaxPerDay, _
  1197.                ZTempRegPeriod,    ZTempExpiredSec, _
  1198.                ZStartTime,        ZEndTime, _
  1199.                ZByteMethod,       ZRatioRestrict#, _
  1200.                ZInitialCredit#,   ZTempTimeLock, _
  1201.                ZTempMaxBank                                          ' PSWD174/DROP174
  1202.       IF NumFinds > 13 THEN _                                        ' RM01159402
  1203.          INPUT #2,ZPswdChngReqTime                                   ' PSWD174/DROP174
  1204.       IF NumFinds > 14 THEN _                                        ' RM01159402
  1205.          INPUT #2,ZDropCarSecChng                                    ' DROP174/RM01159402
  1206.       IF NumFinds > 15 THEN _                                        ' RM01159402
  1207.          INPUT #2,ZDropIncrement                                     ' DROP174/RM01159402
  1208.       IF NumFinds > 16 THEN _                                        ' RM01159402
  1209.          INPUT #2,ZDoMailCheck                                       ' MAIL174/RM101901/RM01159402
  1210.       IF NumFinds > 17 THEN _                                        ' RM01159402
  1211.          INPUT #2,ZTimeBankInActive                                  ' BB09039301/RM01159402
  1212.       IF NumFinds > 18 THEN _                                        ' RM01159402
  1213.          INPUT #2,ZAutoLogoffSecTime!                                ' RM09169301/RM01159402
  1214.       IF NumFinds > 19 THEN _                                        ' RM01159402
  1215.          INPUT #2,ZAllowInternodeChat                                ' RM11199301/RM01159402
  1216.       IF NumFinds > 20 THEN _                                        ' RM02089401
  1217.          INPUT #2,ZOnlyOneTimeLockPerDay                             ' RM02089401
  1218.       IF ZTempMaxBank > 255 THEN _                                   ' RM030801
  1219.          ZTempMaxBank = 255                                          ' RM030801
  1220.       IF ZDropCarSecChng > 255 THEN _                                ' DROP174/RM030801
  1221.          ZDropCarSecChng = 255                                       ' DROP174/RM030801
  1222.       IF ZAutoLogoffSecTime! > 99 THEN _                             ' RM09169301
  1223.          ZAutoLogoffSecTime! = 99                                    ' RM09169301
  1224.       IF ZAutoLogoffSecTime! < 1 THEN _                              ' RM09169301
  1225.          ZAutoLogoffSecTime! = 1                                     ' RM09169301
  1226.       IF ZAllowInternodeChat <> 0 THEN _                             ' RM11199301
  1227.          ZAllowInternodeChat = ZTrue                                 ' RM11199301
  1228.       IF ZTimeBankInActive <> 0 THEN _                               ' RM12299301
  1229.          ZTimeBankInActive = ZTrue                                   ' RM12299301
  1230.       IF ZOnlyOneTimeLockPerDay <> 0 THEN _                          ' RM02089401
  1231.          ZOnlyOneTimeLockPerDay = ZTrue                              ' RM02089401
  1232. * REPLACING old line(s) by new
  1233. 58290 ' $SUBTITLE: 'ReadDir - subroutine to read the "DIR" files'
  1234. ' $PAGE
  1235. '
  1236. '  NAME    -- ReadDir
  1237. '
  1238. '             PARAMETER                MEANING
  1239. '  INPUTS  -- FileNum                  WHICH # FILE TO READ
  1240. '             WhichLine                HOW MANY LINES TO ADVANCE
  1241. '
  1242. '  OUTPUTS -- ZOutTxt$
  1243. '
  1244. '  PURPOSE -- To read possible "DIR" files
  1245. '
  1246. * ------[ first line different ]------
  1247.       SUB ReadDir (FileNum,WhichLine)                                ' RM11159302
  1248.       ON ERROR GOTO 65000
  1249.       ZErrCode = 0
  1250.       FOR WasI = 1 TO WhichLine
  1251.          LINE INPUT #FileNum,ZOutTxt$
  1252.          Temp = INSTR(ZOutTxt$,"|")                                  ' RM10079302
  1253.          IF Temp > 0 THEN _                                          ' RM10079302
  1254.             IF Temp = 1 THEN _                                       ' RM10079302
  1255.                WasI = WasI - 1 _                                     ' RM10079302
  1256.             ELSE _                                                   ' RM10079302
  1257.                ZOutTxt$ = MID$(ZOutTxt$,1,Temp - 1) : _              ' RM10079302
  1258.                CALL Trim (ZOutTxt$)                                  ' RM10079302
  1259.       NEXT
  1260. * REPLACING old line(s) by new
  1261. 58300 ' $SUBTITLE: 'ReadParmsX - subroutine to read parameter values'
  1262. ' $PAGE
  1263. '
  1264. '  NAME    -- ReadParmsX
  1265. '
  1266. '               PARAMETER             MEANING
  1267. '  INPUTS  -- FILE # 2 OPENED
  1268. '             NumParms               # parameters to read
  1269. '             WhichLine              Which set of parms to return
  1270. '  OUTPUTS -- ARA.TO.USER$           Array of string values
  1271. '             FILE.SECURITY
  1272. '             FilePswd$
  1273. '
  1274. '  PURPOSE -- To read different values, where values are
  1275. '             separated by a comma or carriage-return-line-feed.
  1276. '
  1277. * ------[ first line different ]------
  1278.       SUB ReadParmsX (FilNum,AraToUse$(1),NumParms,WhichLine)        ' RM11159302
  1279.       ON ERROR GOTO 65000
  1280.       ZErrCode = 0
  1281.       FOR WasJ = 1 TO WhichLine
  1282.          FOR WasI = 1 TO NumParms
  1283.             INPUT #FilNum,AraToUse$(WasI)
  1284.          NEXT
  1285.       NEXT
  1286. * REPLACING old line(s) by new
  1287. 58310 ' $SUBTITLE: 'ReadAny - subroutine to read file 2 into ZOutTxt$'
  1288. ' $PAGE
  1289. '
  1290. '  NAME    -- ReadAny
  1291. '
  1292. '               PARAMETER             MEANING
  1293. '  INPUTS  -- FILE # 2 OPENED
  1294. '
  1295. '  OUTPUTS -- ZOutTxt$
  1296. '
  1297. '  PURPOSE -- To read file #2 into ZOutTxt$
  1298. '
  1299. * ------[ first line different ]------
  1300.       SUB ReadAny                                                    ' RM11159302
  1301.       ON ERROR GOTO 65000
  1302.       ZErrCode = 0
  1303.       INPUT #2,ZOutTxt$
  1304. * REPLACING old line(s) by new
  1305. 58320 ' $SUBTITLE: 'PrintWork - subroutine to print to file 2'
  1306. ' $PAGE
  1307. '
  1308. '  NAME    -- PrintWork
  1309. '
  1310. '               PARAMETER             MEANING
  1311. '  INPUTS  -- FILE # 2 OPENED
  1312. '             STRING TO WRITE OUT
  1313. '
  1314. '  OUTPUTS -- NONE
  1315. '
  1316. '  PURPOSE -- To print a string to file #2
  1317. '
  1318. * ------[ first line different ]------
  1319.       SUB PrintWork (Strng$)                                         ' RM11159302
  1320.       ON ERROR GOTO 65000
  1321.       ZErrCode = 0
  1322.       PRINT #2,Strng$;
  1323. * INSERTING new line(s)
  1324. 58327 ' $SUBTITLE: 'PrintWorkB - subroutine to print to file'        ' BTCH174
  1325. ' $PAGE                                                              ' BTCH174
  1326. '                                                                    ' BTCH174
  1327. '  NAME    -- PrintWorkB                                             ' BTCH174
  1328. '                                                                    ' BTCH174
  1329. '               PARAMETER             MEANING                        ' BTCH174
  1330. '  INPUTS  -- FilNum                 FILE # OPENED                   ' BTCH174
  1331. '             Strng$                 STRING TO WRITE OUT             ' BTCH174
  1332. '                                                                    ' BTCH174
  1333. '  OUTPUTS -- NONE                                                   ' BTCH174
  1334. '                                                                    ' BTCH174
  1335. '  PURPOSE -- To print a string to file opened for append            ' BTCH174
  1336. '                                                                    ' BTCH174
  1337. '  WRITTEN BY: R. Molinelli                                          ' BTCH174
  1338. '                                                                    ' BTCH174
  1339.       SUB PrintWorkB (FilNum,Strng$)                                 ' BTCH174/RM11159302
  1340.       ON ERROR GOTO 65000                                            ' BTCH174
  1341.       ZErrCode = 0                                                   ' BTCH174
  1342.       PRINT #FilNum,Strng$                                           ' BTCH174
  1343. 58328 END SUB                                                        ' BTCH174
  1344. * REPLACING old line(s) by new
  1345. 58330 ' $SUBTITLE: 'GetWork - subroutine to read file 2'
  1346. ' $PAGE
  1347. '
  1348. '  NAME    -- GetWork
  1349. '
  1350. '               PARAMETER             MEANING
  1351. '  INPUTS  -- RecLen            Length of record
  1352. '
  1353. '  OUTPUTS -- NONE
  1354. '
  1355. '  PURPOSE -- To read a record from file #2
  1356. '
  1357. * ------[ first line different ]------
  1358.       SUB GetWork (RecLen)                                           ' RM11159302
  1359.       ON ERROR GOTO 65000
  1360.       ZErrCode = 0
  1361.       FIELD 2, RecLen AS ZDnldRecord$
  1362.       GET 2,(LOC(2)+1)
  1363. * REPLACING old line(s) by new
  1364. 58340 ' $SUBTITLE: 'OpenWorkA - subroutine to open output work file (2)'
  1365. ' $PAGE
  1366. '
  1367. '  NAME    -- OpenWorkA
  1368. '
  1369. '  INPUTS  --     PARAMETER                    MEANING
  1370. '              FilName$                  NAME OF FILE TO FIND
  1371. '              ZShareIt                  USE DOS' "SHARE" FACILITIES
  1372. '
  1373. '  OUTPUTS -- ZErrCode                        ERROR CODE
  1374. '
  1375. '  PURPOSE -- To open RBBS-PC's "work" file (number 2) for appended output
  1376. '
  1377. * ------[ first line different ]------
  1378.       SUB OpenWorkA (FilName$)                                       ' RM11159302
  1379.       ON ERROR GOTO 65000
  1380.       CLOSE 2
  1381.       ZErrCode = 0
  1382.       IF ZShareIt THEN _
  1383.          OPEN FilName$ FOR APPEND SHARED AS #2 _
  1384.       ELSE OPEN "A",2,FilName$
  1385. * REPLACING old line(s) by new
  1386. 58350 ' $SUBTITLE: 'PrintWorkA - subroutine to print to file 2 with CR'
  1387. ' $PAGE
  1388. '
  1389. '  NAME    -- PrintWorkA
  1390. '
  1391. '                          PARAMETER             MEANING
  1392. '  INPUTS  --            FILE # 2 OPENED
  1393. '                        STRING TO WRITE OUT
  1394. '
  1395. '  OUTPUTS -- NONE
  1396. '
  1397. '  PURPOSE -- To print a string to file #2 followed by a carriage return
  1398. '
  1399. * ------[ first line different ]------
  1400.       SUB PrintWorkA (Strng$)                                        ' RM11159302
  1401.       ON ERROR GOTO 65000
  1402.       ZErrCode = 0
  1403.       PRINT #2,Strng$
  1404. * REPLACING old line(s) by new
  1405. 58360 ' $SUBTITLE: 'CheckInt - subroutine to check input is an integer'
  1406. ' $PAGE
  1407. '
  1408. '  NAME    -- CheckInt
  1409. '
  1410. '             PARAMETER             MEANING
  1411. '  INPUTS  -- Strng$         STRING TO VERIFY CAN BE AN INTEGER
  1412. '
  1413. '  OUTPUTS -- ZErrCode             = 0 MEANS IT IS AN INTEGER VALUE
  1414. '                                 <> 0 MEANS IT IS NOT AN INTEGER VALUE
  1415. '             ZTestedIntValue  Integer value of expression
  1416. '
  1417. '  PURPOSE -- To validate that a string represents an integer
  1418. '
  1419. * ------[ first line different ]------
  1420.       SUB CheckInt (Strng$)                                          ' RM11159302
  1421.       ON ERROR GOTO 65000
  1422.       ZErrCode = 0
  1423.       WasX$ = Strng$
  1424.       CALL Trim (WasX$)
  1425.       ZTestedIntValue = VAL(LEFT$(WasX$,INSTR(WasX$+" "," ")-1))
  1426. * REPLACING old line(s) by new
  1427. 58365 END SUB
  1428. * ------[ first line different ]------
  1429. '                                                                    ' MENU174
  1430. * INSERTING new line(s)
  1431. 58370 ' $SUBTITLE: 'GetMenuNew - sub to read the "MENUNEW.DEF" File' ' MENU174
  1432. ' $PAGE                                                              ' MENU174
  1433. '                                                                    ' MENU174
  1434. '  NAME    -- GetMenuNew                                             ' MENU174
  1435. '                                                                    ' MENU174
  1436. '                          PARAMETER             MEANING             ' MENU174
  1437. '  INPUTS  -- FILE # 2 OPENED                                        ' MENU174
  1438. '                                                                    ' MENU174
  1439. '  OUTPUTS -- ZMenuNewDate$         Date Sysop Last Online           ' MENU174
  1440. '             ZMenuNewTime$         Time Sysop Last Online           ' MENU174
  1441. '             ZMenuNewUpld          New Uploads Since Sysop on       ' MENU174
  1442. '             ZMenuNewUsers         New Users Since Sysop on         ' MENU174
  1443. '             ZMenuNewSysop         New Sysop Mail Waiting           ' MENU174
  1444. '             ZMenuNewCalls         Calls received since last on     ' MENU174
  1445. '                                                                    ' MENU174
  1446. '  PURPOSE -- To read the RBBS-PC "MENUx.DEF" file                   ' MENU174/RM08079301
  1447. '                                                                    ' MENU174
  1448.       SUB GetMenuNew                                                 ' MENU174
  1449.       Found = ZFalse
  1450.       FilName$ = ZNodeWorkDrvPath$ + "MNEW" + ZNodeID$ + ".DEF"
  1451.       CALL FindFile (FilName$,Found)
  1452.       IF Found THEN
  1453.          CALL OpenWork (2,FilName$)
  1454.          WHILE NOT EOF(2)
  1455.             LINE INPUT #2,ZMenuNewDate$
  1456.             LINE INPUT #2,ZMenuNewTime$
  1457.             LINE INPUT #2,Temp$
  1458.             ZMenuNewUpld = VAL(Temp$)
  1459.             LINE INPUT #2,Temp$
  1460.             ZMenuNewUsers = VAL(Temp$)
  1461.             LINE INPUT #2,Temp$
  1462.             ZMenuNewCalls = VAL(Temp$)
  1463.             LINE INPUT #2,Temp$
  1464.             ZMenuNewSysop = VAL(Temp$)                               ' MENU174/RM08079301
  1465.          WEND
  1466.          CLOSE 2
  1467.       END IF
  1468. 58375 END SUB                                                        ' MENU174
  1469. * REPLACING old line(s) by new
  1470. 59680 ' $SUBTITLE: 'RBBSPlay -- subroutine to play music'
  1471. ' $PAGE
  1472. '
  1473. '  NAME    -- RBBSPlay
  1474. '
  1475. '  INPUTS  --   PARAMETER     MEANING
  1476. '               Strng$      STRING TO PLAY
  1477. '
  1478. '  OUTPUTS --
  1479. '
  1480. '  PURPOSE -- Play music.  Skip if get an error.
  1481. '
  1482. * ------[ first line different ]------
  1483.       SUB RBBSPlay (StringToPlay$)                                   ' RM11159302
  1484.       PLAY StringToPlay$
  1485.       ZErrCode = 0
  1486.       END SUB
  1487. * REPLACING old line(s) by new
  1488. 59790 ' $SUBTITLE: 'FindFile -- subroutine to find a file'
  1489. ' $PAGE
  1490. '
  1491. '  NAME    --  FindFile
  1492. '
  1493. '  INPUTS  --  PARAMETER         MENANING
  1494. '               FilName$         NAME OF FILE TO LOOK FOR
  1495. '               FExists          WHETHER FILE EXISTS
  1496. '
  1497. '  OUTPUTS --  RETURNED.VALUE    VALUE RETURNED
  1498. '                                TRUE  = FILE EXISTS
  1499. '                                TRUE = FILE DOES NOT EXIST
  1500. '
  1501. '  PURPOSE --  Determine whether passed file FilName$ exists
  1502. '              Unlike, FindIt, this routine does not open any
  1503. '              file and, hence, does not create one in determining
  1504. '              whether a file exists.
  1505. '
  1506. * ------[ first line different ]------
  1507.       SUB FindFile (FilName$,FExists)                                ' RM11159302
  1508.       CALL BadFileChar (FilName$,FExists)
  1509. * REPLACING old line(s) by new
  1510. 59791 IF FExists THEN _
  1511.          IOErrorCount = 0 : _
  1512.          CALL RBBSFind (FilName$,WasZ,WasY,WasM,WasD) : _
  1513.          FExists = (WasZ = 0)
  1514.       END SUB
  1515. * ------[ first line different ]------
  1516. '                                                                    ' PSWD174
  1517. * INSERTING new line(s)
  1518. 63801 '$SUBTITLE: 'ExpiredPswd -- Subroutine to force change of password' ' PSWD174
  1519. ' $PAGE
  1520. '
  1521. ' NAME:    -- ExpiredPswd
  1522. '
  1523. ' PURPOSE: -- Force a user to change his/her password every X times
  1524. '             logged on to the system.
  1525. '
  1526. ' WRITTEN BY: Richie Molinelli on 03-14-92
  1527. '
  1528.       SUB ExpiredPswd                                                ' PSWD174/RM11159302
  1529.       IF ZPswdChngReqTime = 0 THEN _                                 ' PSWD174
  1530.          EXIT SUB                                                    ' PSWD174
  1531.       IF ZTimesLoggedOn MOD ZPswdChngReqTime <> 0 THEN _             ' PSWD174
  1532.          EXIT SUB                                                    ' PSWD174
  1533.       CALL CmdStackPushPop (1)                                       ' RM11239301
  1534.       ZLastIndex = 0                                                 ' RM11239301
  1535. 63802 CALL SkipLine (1)                                              ' PSWD174
  1536.       CALL QuickTPut1 ("Your password has expired...you must change your password.") ' PSWD174
  1537.       Prompt$ = "Enter a New Password"                               ' PSWD174
  1538.       CALL NewPassword (Prompt$,ZTrue)                               ' PSWD174
  1539.       CALL AllCaps (ZOldPassword$)                                   ' PSWD174
  1540.       IF ZWasZ$ = ZOldPassword$ THEN _                               ' PSWD174
  1541.          CALL SkipLine (1) : _                                       ' PSWD174
  1542.          CALL QuickTPut1 ("You CANNOT reuse your OLD PASSWORD!") : _ ' PSWD174
  1543.          CALL SkipLine (1) : _                                       ' PSWD174
  1544.          GOTO 63802                                                  ' PSWD174
  1545.       ZOutTxt$ = "Re-enter your New Password"                        ' PSWD174
  1546.       ZHidden = ZTrue                                                ' PSWD174
  1547.       ZSubParm = 1                                                   ' PSWD174
  1548.       CALL TGet                                                      ' PSWD174
  1549.       CALL AllCaps (ZUserIn$)                                        ' PSWD174
  1550.       IF ZWasZ$ <> ZUserIn$ THEN _                                   ' PSWD174
  1551.          ZOutTxt$ = "Passwords do not match" : _                     ' PSWD174
  1552.          ZSubParm = 1 : _                                            ' PSWD174
  1553.          CALL TPut : _                                               ' PSWD174
  1554.          GOTO 63802                                                  ' PSWD174
  1555.       CALL UpdtCalr ("Expired Password! " + Time$,2)                 ' PSWD174
  1556.       ZSubParm = 6                                                   ' PSWD174
  1557.       CALL FileLock                                                  ' PSWD174
  1558.       CALL OpenUser (HighestUserRecord)                              ' PSWD174
  1559.       GET 5,ZUserFileIndex                                           ' PSWD174
  1560.       CALL AllCaps (ZUserIn$)                                        ' PSWD174
  1561.       LSET ZPswd$ = ZUserIn$                                         ' PSWD174
  1562.       IF ZUserFileIndex > 0 AND ZUserFileIndex < 32768 THEN _        ' PSWD174
  1563.          PUT 5,ZUserFileIndex                                        ' PSWD174
  1564.       ZSubParm = 8                                                   ' PSWD174
  1565.       CALL FileLock                                                  ' PSWD174
  1566.       ZOutTxt$ = "Password Changed."                                 ' PSWD174
  1567.       ZStopInterrupts = ZTrue                                        ' PSWD174
  1568.       ZSubParm = 1                                                   ' PSWD174
  1569.       CALL TPut                                                      ' PSWD174
  1570.       CALL SkipLine (1)                                              ' PSWD174
  1571.       CALL UpdtCalr ("New Password " + ZUserIn$(1),2)                ' PSWD174
  1572.       CALL DelayTime (2)                                             ' PSWD174
  1573.       CALL CmdStackPushPop (2)                                       ' RM11239301
  1574.       END SUB                                                        ' PSWD174
  1575. '                                                                    ' DROP174
  1576. 63901 '$SUBTITLE: 'DropCarrier -- Subroutine to change users sec level' ' DROP174
  1577. ' $PAGE                                                              ' DROP174
  1578. '                                                                    ' DROP174
  1579. ' NAME: DropCarrier                                                  ' DROP174
  1580. '                                                                    ' DROP174
  1581. ' PURPOSE: To change a users security level who is dropping carrier  ' DROP174
  1582. '          excessively                                               ' DROP174
  1583. '                                                                    ' DROP174
  1584. ' INPUTS:  ZDropCarSecChng                                           ' DROP174
  1585. '                                                                    ' DROP174
  1586. ' WRITTEN BY: Richie Molinelli - 7/12/92                             ' DROP174
  1587. '                                                                    ' DROP174
  1588.       SUB DropCarrier                                                ' DROP174/RM11159302
  1589. 63902 IF ZDropCarSecChng = 0 THEN _                                  ' DROP174
  1590.          EXIT SUB                                                    ' DROP174
  1591.       IF ZTransferFunction = 3 THEN _                                ' RM03269401
  1592.          EXIT SUB                                                    ' RM03269401
  1593.       IF ZDropTimes > ZDropCarSecChng THEN _                         ' DROP174
  1594.          ZDropTimes = ZDropCarSecChng - 1                            ' DROP174
  1595.       IF ZDropChange = ZFalse THEN                                   ' DROP174
  1596.          ZDropTimes = ZDropTimes + 1                                 ' DROP174
  1597.          IF ZDropTimes MOD ZDropCarSecChng <> 0 THEN                 ' DROP174
  1598.             ZGlobalDropTimes = ZDropTimes                            ' DROP174
  1599.             ZDropChange = ZTrue                                      ' DROP174
  1600.             EXIT SUB                                                 ' DROP174
  1601.          END IF                                                      ' DROP174
  1602.          ZUserSecLevel = ZUserSecLevel - ZDropIncrement              ' DROP174
  1603.          ZSubParm = 6                                                ' DROP174
  1604.          CALL FileLock                                               ' DROP174
  1605.          CALL OpenUser (HighestUserRecord)                           ' DROP174
  1606.          GET 5,ZUserFileIndex                                        ' DROP174
  1607.          LSET ZSecLevel$ = MKI$(ZUserSecLevel)                       ' DROP174
  1608.          IF ZUserFileIndex > 0 AND ZUserFileIndex < 32768 THEN _     ' DROP174
  1609.             PUT 5,ZUserFileIndex                                     ' DROP174
  1610.          ZSubParm = 8                                                ' DROP174
  1611.          CALL FileLock                                               ' DROP174
  1612.          ZDropChange = ZTrue                                         ' DROP174
  1613.          CALL UpdtCalr ("Security reset for Dropped Carriers!",2)    ' DROP174
  1614.          ZDropTimes = 0                                              ' DROP174
  1615.          ZGlobalDropTimes = ZDropTimes                               ' DROP174
  1616.          ZSubParm = -1                                               ' DROP174
  1617.       END IF                                                         ' DROP174
  1618.       END SUB                                                        ' DROP174
  1619. '                                                                    ' SIN174
  1620. 63910 '$SUBTITLE: 'SysInfo -- Subroutine to get DOS/DV version'      ' SIN174
  1621. ' $PAGE                                                              ' SIN174
  1622. '                                                                    ' SIN174
  1623. ' NAME: SysInfo                                                      ' SIN174
  1624. '                                                                    ' SIN174
  1625. ' PURPOSE: To get DOS or OS2 version RBBS is running under and store ' SIN174/RM042401
  1626. '          it for display.  Also checks for DESQview and, if found,  ' SIN174
  1627. '          gets version and stores it for display.                   ' SIN174
  1628. '                                                                    ' SIN174
  1629. ' INPUTS:                                                            ' SIN174
  1630. '                                                                    ' SIN174
  1631. ' OUTPUTS:  ZDOSversion$          - version of DOS                   ' SIN174
  1632. '           ZDVversion$           - version of DESQview              ' SIN174
  1633. '           ZOS2version$          - version of OS2                   ' SIN174
  1634. '                                                                    ' SIN174
  1635. ' WRITTEN BY: Richie Molinelli - 1/30/93                             ' SIN174
  1636. '                                                                    ' SIN174
  1637.       SUB SysInfo                                                    ' SIN174/RM11159302
  1638.       ZDOSversion$ = ""                                              ' SIN174
  1639.       ZOS2version$ = ""                                              ' SIN174/RM042401
  1640.       ZDVversion$ = ""                                               ' SIN174
  1641.       CALL RBBSDOS (Maj,Min)                                         ' SIN174
  1642.       IF Maj > 9.99 THEN _                                           ' SIN174/RM042401
  1643.         Maj$ = STR$(Maj/10) _                                        ' SIN174/RM042401
  1644.       ELSE _                                                         ' SIN174/RM042401
  1645.          Maj$ = STR$(Maj)                                            ' SIN174
  1646.       Min$ = STR$(Min)                                               ' SIN174
  1647.       CALL TRIM (Maj$)                                               ' SIN174
  1648.       CALL TRIM (Min$)                                               ' SIN174
  1649.       IF Maj > 9.99 THEN _                                           ' SIN174/RM042401
  1650.          ZOS2version$ = Maj$ + "." + Min$ : _                        ' SIN174/RM042401/RM11099301
  1651.          ZNetworkType = 7 _                                          ' RM11099301
  1652.       ELSE _                                                         ' SIN174/RM042401
  1653.          ZDOSversion$ = Maj$ + "." + Min$                            ' SIN174
  1654.       CALL RBBSDESQ (Maj,Min)                                        ' SIN174
  1655.       IF Maj > 0 THEN _                                              ' SIN174
  1656.          Maj$ = STR$(Maj) : _                                        ' SIN174
  1657.          Min$ = STR$(Min) : _                                        ' SIN174
  1658.          CALL TRIM (Maj$) : _                                        ' SIN174
  1659.          CALL TRIM (Min$) : _                                        ' SIN174
  1660.          IF ZNetworkType <> 7 THEN _                                 ' RM10069302/RM10089301
  1661.             ZDVversion$ = Maj$ + "." + Min$ : _                      ' SIN174/RM10089301
  1662.             PRINT "DESQview detected!" : _                           ' RM10019301/RM10089301
  1663.             ZNetworkType = 4                                         ' RM10069302
  1664.       CALL CKSHARE(Min)                                              ' RM10019301
  1665.       IF Min > 0 THEN _                                              ' RM10019301
  1666.          PRINT "SHARE detected!" : _                                 ' RM10019301
  1667.          IF ZNetworkType <> 4 THEN _                                 ' RM10069302
  1668.             ZShareIt = ZTrue                                         ' RM10019301
  1669.       END SUB                                                        ' SIN174
  1670. '                                                                    ' LOFF174/RM07249301
  1671. 63930 '$SUBTITLE: 'GetLogoff -- Subroutine to get Logoff command'    ' LOFF174/RM07249301
  1672. ' $PAGE                                                              ' LOFF174/RM07249301
  1673. '                                                                    ' LOFF174/RM07249301
  1674. ' NAME: GetLogoff                                                    ' LOFF174/RM07249301
  1675. '                                                                    ' LOFF174/RM07249301
  1676. ' PURPOSE: To get LogOff command options from user.                  ' LOFF174/RM07249301
  1677. '                                                                    ' LOFF174/RM07249301
  1678. ' INPUTS:                                                            ' LOFF174/RM07249301
  1679. '                                                                    ' LOFF174/RM07249301
  1680. ' OUTPUTS:  Wherego     - what user wants to do                      ' LOFF174/RM07249301
  1681. '                                                                    ' LOFF174/RM07249301
  1682. ' WRITTEN BY: Richie Molinelli - 7/24/93                             ' LOFF174/RM07249301
  1683. '             Based on original code by unknown author               ' LOFF174/RM07249301
  1684. '                                                                    ' LOFF174/RM07249301
  1685.       SUB GetLogoff (Wherego)                                        ' LOFF174/RM07249301/RM11159302
  1686.       InvalidOptSave$ = ZInvalidOpts$                                ' RM01289401
  1687.       ZInvalidOpts$ = ""                                             ' RM01289401
  1688.       IF ZMaxBank < 1 OR ZTimeBankInActive THEN _                    ' RM01289401
  1689.          ZInvalidOpts$ = ZInvalidOpts$ + "Bb"                        ' RM01289401
  1690.       IF ZNetConference THEN _                                       ' RM01289401
  1691.          ZInvalidOpts$ = ZInvalidOpts$ + "Cc"                        ' RM01289401
  1692. 63935 ZFileName$ = ZHelpPath$ + "LOGOFF.MNU"                         ' RM01279401
  1693.       CALL Graphic (ZFileName$)                                      ' RM01279401
  1694.          IF ZOK THEN _                                               ' RM01279401
  1695.             ZDeleteInvalid = ZTrue : _                               ' RM01289401
  1696.             CALL BufFile (ZFileName$,WasX) : _                       ' RM01279401
  1697.             ZDeleteInvalid = ZFalse : _                              ' RM01289401
  1698.             GOTO 63941                                               ' RM01279401
  1699. 63940 CALL SkipLine (1)                                              ' LOFF174
  1700.       IF ZMaxBank < 1 OR ZTimeBankInActive THEN _                    ' BANKCK/RM11169301
  1701.          ZOutTxt$ = ZFG7$ + "  A" + ZFG5$ + ")bort Logoff " + ZCrLF$ _  ' BANKCK
  1702.       ELSE ZOutTxt$ = ZFG7$ + "  A" + ZFG5$ + ")bort Logoff " + ZCrLF$ + _ ' BANKCK
  1703.                       ZFG7$ + "  B" + ZFG5$ + ")ank Time " + ZCrLF$  ' LOFF174
  1704.       IF NOT ZNetConference THEN _                                   ' LOFF174/RM07249301
  1705.          ZOutTxt$ = ZOutTxt$ + ZFG7$ +  "  C" + ZFG5$ + ")omment to SysOp and Logoff " + _ ' LOFF174
  1706.                     ZCrLF$ + ZFG7$ + "  G" + ZFG5$ + ")o ahead, log me off now " + ZCrLF$ _ ' LOFF174
  1707.       ELSE _
  1708.          ZOutTxt$ = ZOutTxt$ + ZFG7$ + "  G" + ZFG5$ + ")o ahead, log me off now " + ZCrLF$ ' ' LOFF174/RM07249301
  1709.       CALL QuickTPut1 (ZOutTxt$ + ZEmphasizeOff$)                    ' LOFF174
  1710. 63941 CALL SkipLine (1)                                              ' LOFF174/RM01279401
  1711.       IF ZMaxBank > 0 AND ZTimeBankInActive = 0 THEN _                 ' LOFF174/RM07249301/RM11169301
  1712.          ZOutTxt$ = ZFG5$ + "  Enter Choice (" + ZFG7$ + "A,B," _    ' LOFF174/RM07249301
  1713.       ELSE _                                                         ' LOFF174/RM07249301
  1714.          ZOutTxt$ = ZFG5$ + "  Enter Choice (" + ZFG7$ + "A,"        ' LOFF174/RM07249301
  1715.       IF NOT ZNetConference THEN _                                   ' LOFF174/RM07249301
  1716.          ZOutTxt$ = ZOutTxt$ + ZFG7$ + "C,[G]" + ZFG5$ + ")" + _     ' LOFF174/RM07249301
  1717.                       ZEmphasizeOff$ _                               ' LOFF174/RM07249301
  1718.       ELSE _                                                         ' LOFF174/RM07249301
  1719.          ZOutTxt$ = ZOutTxt$ + ZFG5$ + "[G]" + ZFG5$ + ")" + ZEmphasizeOff$ ' LOFF174/RM07249301
  1720.       ZSubParm = 1                                                   ' LOFF174
  1721.       ZTurboKey = -ZTurboKeyUser                                     ' LOFF174/RM07249301
  1722.       CALL PopCmdStack                                               ' LOFF174/RM07249301
  1723.       IF ZSubParm < 0 THEN _                                         ' LOFF174/RM07249301
  1724.          EXIT SUB                                                    ' LOFF174/RM07249301
  1725.       CALL AllCaps (ZUserIn$)                                        ' LOFF174
  1726.       WasX = INSTR("ABCGY",ZUserIn$)                                 ' LOFF174/DGS092001-DS
  1727.       IF ZUserIn$ = "" THEN _                                        ' LOFF174/RM07249301
  1728.          GOTO 63948                                                  ' LOFF174/RM07249301
  1729.       IF WasX = 0 THEN _                                             ' LOFF174/RM07249301
  1730.          GOTO 63948                                                  ' LOFF174
  1731.       ON WasX GOTO 63942,63944,63946,63948,63948                     ' LOFF174/DGS092001-DS
  1732. 63942 Wherego = 1                                                    ' LOFF174/RM07249301
  1733.       GOTO 63950                                                     ' LOFF174/RM07249301
  1734. 63944 IF ZMaxBank < 1 THEN _                                         ' LOFF174/RM07249301
  1735.          CALL SkipLine (1) : _                                       ' LOFF174/RM07249301
  1736.          CALL QuickTPut1 (ZFG6$ + "You do not have time bank privileges!" + _
  1737.                           ZEmphasizeOff$) : _                        ' LOFF174/RM07249301
  1738.          GOTO 63940                                                  ' LOFF174/RM07249301
  1739.       IF ZTimeBankInActive = 1 THEN _                                  ' RM11169301
  1740.          CALL SkipLine (1) : _                                       ' RM11169301
  1741.          CALL QuickTPut1 (ZFG6$ + "Time Bank NOT Available!" + ZEmphasizeOff$) : _ ' RM11169301
  1742.          GOTO 63940                                                  ' RM11169301
  1743.       Wherego = 2                                                    ' LOFF174/RM07249301
  1744.       GOTO 63950                                                     ' LOFF174/RM07249301
  1745. 63946 Wherego = 3                                                    ' LOFF174/RM07249301
  1746.       GOTO 63950                                                     ' LOFF174/RM07249301
  1747. 63948 Wherego = 4                                                    ' LOFF174/RM07249301
  1748.       GOTO 63950                                                     ' LOFF174/RM07249301
  1749. 63950 ZInvalidOpts$ = InvalidOptSave$                                ' RM01289401
  1750.       END SUB                                                        ' LOFF174/RM07249301
  1751. '                                                                    ' ME174/RM08039302
  1752. 63955 '$SUBTITLE: 'MessageExport -- subroutine to export messages to file' ' ME174/RM08039302
  1753. ' $PAGE                                                              ' ME174/RM08039302
  1754. '                                                                    ' ME174/RM08039302
  1755. ' NAME: MessageExport                                                ' ME174/RM08039302
  1756. '                                                                    ' ME174/RM08039302
  1757. ' PURPOSE: To allow SysOp to export messages to text file            ' ME174/RM08039302
  1758. '                                                                    ' ME174/RM08039302
  1759. ' INPUTS:                                                            ' ME174/RM08039302
  1760. '                                                                    ' ME174/RM08039302
  1761. ' OUTPUTS:                                                           ' ME174/RM08039302
  1762. '                                                                    ' ME174/RM08039302
  1763. ' WRITTEN BY: Richie Molinelli - 8/3/93                              ' ME174/RM08039302
  1764. '                                                                    ' ME174/RM08039302
  1765.       SUB MessageExport (EMsgRec$, ESent$, Year$, MsgSec, MsgTo$, MsgFrom$, Subject$) ' ME174/RM08039302/RM11159302
  1766.       FilNum = FREEFILE                                              ' RM03319401
  1767.       CALL OpenWorkB (FilNum,"NODE" + ZNodeID$ + ".TXT")             ' ME174/RM08039302/RM03319401
  1768.       Temp$ = "  Security:" + STR$(MsgSec)                           ' ME174/RM08039302
  1769.       CALL PrintWorkB (FilNum,"   Msg #: " + EMsgRec$ + Temp$ + _    ' ME174/RM08039302/RM03319401
  1770.                       SPACE$(24 - LEN(Temp$)) + ZConfName$)          ' ME174/RM08039302
  1771.       CALL PrintWorkB (FilNum,"   From:  " + MsgFrom$ + "      Sent: " + ESent$) ' ME174/RM08039302/RM03319401
  1772.       Temp$ = Year$                                                  ' ME174/RM08039302
  1773.       IF LEFT$(Temp$,2) <> " R" THEN _                               ' ME174/RM08039302
  1774.          Temp$ = " Rcvd: " + Year$                                   ' ME174/RM08039302
  1775.       CALL PrintWorkB (FilNum,"   To:    " + MsgTo$ + "     " + Temp$) ' ME174/RM08039302/RM03319401
  1776.       CALL PrintWorkB (FilNum,"   Re:    " + Subject$)               ' ME174/RM08039302/RM03319401
  1777.       CALL PrintWorkB (FilNum," ")                                   ' ME174/RM08039302/RM03319401
  1778.       FOR I = 1 TO ZLinesInMsg                                       ' ME174/RM08039302
  1779.          CALL PrintWorkB (FilNum,ZOutTxt$(I))                        ' ME174/RM08039302/RM03319401
  1780.       NEXT I                                                         ' ME174/RM08039302
  1781.       CALL PrintWorkB (FilNum," ")                                   ' ME174/RM08039302/RM03319401
  1782.       CLOSE FilNum                                                   ' ME174/RM08039302/RM03319401
  1783.       END SUB                                                        ' ME174/RM08039302
  1784. '
  1785. '  $SUBTITLE: 'Error Handling for separately compiled subroutines'
  1786. '  $PAGE
  1787. '
  1788. '
  1789. ' Error handling for the separately compiled subroutines of RBBS-PC
  1790. '
  1791. '
  1792. * REPLACING old line(s) by new
  1793. 65000 IF ZDebug THEN _
  1794.          ZOutTxt$ = "RBBSSUB1 DEBUG Error Trap Entry ERL=" + _
  1795.               STR$(ERL) + _
  1796.               " ERR=" + _
  1797.               STR$(ERR) : _
  1798.          IF ZPrinter THEN _
  1799.             CALL Printit(ZOutTxt$) _
  1800.          ELSE CALL LPrnt(ZOutTxt$,1)
  1801.       ZErrCode = ERR
  1802. '
  1803. '     SetCall
  1804. '
  1805.       IF ERL = 108 THEN _
  1806.          CALL PScrn ("Unable to create callers log " + ZCallersFile$) : _
  1807.          SYSTEM
  1808.       IF ERL = 110 THEN _
  1809.           RESUME NEXT
  1810. '
  1811. '     OPEN CONFIG FILE
  1812. '
  1813.        IF ERL => 117 AND ERL <= 119 THEN _
  1814.           RESUME NEXT
  1815. '
  1816. '     OPEN COM PORT ERROR HANDLING
  1817. '
  1818.       IF ERL = 200 THEN _
  1819.          CLS : _
  1820.          CALL PScrn (ZComPort$ + " does not exist/not responding- Error" + STR$(ERR)) : _
  1821.          STOP
  1822. '
  1823. '     GetCom ERROR HANDLING
  1824. '
  1825.        IF ERL = 1420 AND ERR = 57 THEN _
  1826.           RESUME NEXT
  1827.        IF ERL = 1420 AND ERR = 69 THEN _
  1828.           ZSubParm = -1 :_
  1829.           RESUME NEXT
  1830. '
  1831. '      OPENRESEQ ERROR HANDLING
  1832. '
  1833.        IF ERL = 1480 OR ERL = 1487 THEN _
  1834.            ZErrCode = ERR : _
  1835.            RESUME NEXT
  1836. * ------[ first line different ]------
  1837. '                                                                    ' RM03249401
  1838. '      CopyFile ERROR HANDLING                                       ' RM03249401
  1839. '                                                                    ' RM03249401
  1840.        IF ERL = 1454 AND ERR => 75 AND ERR <= 76 THEN _              ' RM03249401
  1841.           ZErrCode = ERR : _                                         ' RM03249401
  1842.           RESUME NEXT                                                ' RM03249401
  1843. '
  1844. '      OpenUser ERROR HANDLING
  1845. '
  1846.        IF ERL = 9400 AND ERR = 75 AND ZShareIt THEN _
  1847.           CALL DelayTime (30) : _
  1848.           RESUME
  1849. '
  1850. '      FindUser ERROR HANDLING
  1851. '
  1852.        IF ERL = 12610 OR ERL = 12600 THEN _
  1853.           RESUME NEXT
  1854. '
  1855. '     UpdtCalr ERROR HANDLING
  1856. '
  1857.        IF ERL = 13663 THEN _
  1858.           RESUME NEXT
  1859.        IF ERL = 13672 AND ERR = 61 THEN _
  1860.           CALL QuickTPut1 ("Disk Full") : _
  1861.           IF ZDiskFullGoOffline THEN _
  1862.              GOTO 65010 _
  1863.           ELSE RESUME NEXT
  1864.        IF ERL = 13672 THEN _
  1865.           ZCallersFileIndex! = ZCallersFileIndex! - 1 : _
  1866.           RESUME NEXT
  1867. '
  1868. '     ZPrinter ERROR HANDLING
  1869. '
  1870.        IF ERL = 13674 THEN _
  1871.           ZPrinter = ZFalse : _
  1872.           RESUME
  1873. '
  1874. '      ChangeDir ERROR HANDLING
  1875. '
  1876.        IF ERL = 20103 THEN _
  1877.           ZOK = ZFalse : _
  1878.           RESUME NEXT
  1879. '
  1880. '     FindIt ERROR HANDLING
  1881. '
  1882.        IF ERL = 20221 THEN _
  1883.           RESUME NEXT
  1884.        IF ERL = 20223 AND ZErrCode = 58 THEN _
  1885.           ZErrCode = 64 : _
  1886.           ZOK = ZFalse : _
  1887.           RESUME NEXT
  1888.        IF ERL = 20223 AND ZErrCode = 76 THEN _
  1889.           CALL LPrnt("Bad path.  File name is " + FilName$,1) : _
  1890.           ZErrCode = 76 : _
  1891.           ZOK = ZFalse : _
  1892.           RESUME NEXT
  1893.        IF ERL => 20221 AND ERL <= 20223 AND ZErrCode = 70 _
  1894.           AND (ZNetworkType = 6 OR ZNetworkType = 7) THEN _          ' RM01109402
  1895.              ZErrCode = 0 : _
  1896.              RESUME NEXT
  1897.        IF ERL => 20221 AND ERL <= 20223 THEN _
  1898.           RESUME
  1899. '
  1900. '     FlushCom ERROR HANDLING
  1901. '
  1902.        IF ERL = 20311 AND ERR = 57 THEN _
  1903.           RESUME NEXT
  1904.        IF ERL = 20311 AND ERR = 69 THEN _
  1905.           ZAbort = ZTrue : _
  1906.           ZSubParm = -1 : _
  1907.           RESUME NEXT
  1908. '
  1909. '     NetBIOS ERROR HANDLING
  1910. '
  1911.        IF ERL => 29900 AND ERL <= 29920 THEN _
  1912.           RESUME NEXT
  1913. '
  1914. '     UpdateC ERROR HANDLING
  1915. '
  1916.       IF ERL => 43050 AND ERL <= 43060 AND ERR = 61 THEN _
  1917.          ZOutTxt$ = "* Disk full - terminating *" : _
  1918.          ZSubParm =2 : _
  1919.          CALL TPut : _
  1920.          IF ZDiskFullGoOffline THEN _
  1921.            GOTO 65010 _
  1922.          ELSE SYSTEM
  1923. '
  1924. '     CheckInt ERROR HANDLING
  1925. '
  1926.        IF (ERL = 59652 OR ERL = 59727) AND ERR = 24 THEN _
  1927.           ZNotCTS = ZTrue : _
  1928.           CALL Line25 : _
  1929.           ZErrCode = 0 : _
  1930.           RESUME
  1931.        IF ERL => 52000 AND ERL <= 59725 THEN _
  1932.           RESUME NEXT
  1933. '
  1934. '     FindFile ERROR HANDLING
  1935. '
  1936.        IF ERL = 59791 THEN _
  1937.           IF ERR <> 57 THEN _
  1938.              RESUME NEXT _
  1939.           ELSE IF ERR = 57 THEN _
  1940.              CALL DelayTime (1) : _
  1941.              CALL UpdtCalr ("SLOW I/O ERROR",1) : _
  1942.              IOErrorCount = IOErrorCount + 1 : _
  1943.              IF IOErrorCount < 11 THEN _
  1944.                 RESUME
  1945. '
  1946. '     CATCH ALL OTHER ERRORS
  1947. '
  1948.        ZOutTxt$ = "RBBS-SUB1 Untrapped Error" + _
  1949.             STR$(ERR) + _
  1950.             " in line" + _
  1951.             STR$(ERL)
  1952.        CALL QuickTPut1 (ZOutTxt$)
  1953.        CALL UpdtCalr (ZOutTxt$,2)
  1954.        RESUME NEXT
  1955. '     SHARED ROUTINE FOR GOING OFF LINE WHEN DISK FULL
  1956.