home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / DRMO_130.ZIP / DRM-OPUS.DOC < prev    next >
Text File  |  1992-09-26  |  19KB  |  403 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                             DRM-OPUS v1.30
  9.         PIONEER DRM-600/610 CD-ROM CHANGER (TM) Interface Program
  10.                                  for
  11.                             Opus 1.7x (TM)
  12.                           Copyright (c) 1992
  13.  
  14.                                24/09/92
  15.  
  16.  
  17.                             By:  Niel Uys
  18.  
  19.                              P.O Box 2801
  20.                                Welkom
  21.                                 9460
  22.                             South Africa
  23.  
  24.  
  25.                           LIMIT OF LIABILITY
  26.  
  27.   DRM-OPUS is distributed as-is.  The author disclaims all warranties,
  28.   expressed or implied.  The author will assume no liability for damages
  29.   either from the direct use of this product or as a consequence of the
  30.   use of this product.
  31.  
  32.                             LICENSE TO USE
  33.  
  34.   Anyone may use this program free of charge, provided you do not sell it for
  35.   financial gain. In other words, this is a license to use the program in a
  36.   NON-Commercial environment. If it is used Commercially, you will have to
  37.   contact the author for permission to use the program.  Sysops using the
  38.   program in a NON-Commercial environment, are encouraged to register the
  39.   program, as it is absolutely free of charge. All I need is the following:
  40.  
  41.       1.  Name of Sysop or individual using the program.
  42.       2.  Address, Country and contact telephone number (Voice and Data/Fax).
  43.       3.  Purpose of using the program.
  44.       4.  Where you got the program from and where you heard about it.
  45.  
  46.   Send the above information to the address mentioned on the first page. Of
  47.   course, if you have a FidoNet setup or link, you may send me a netmail
  48.   message with the same information to Niel Uys at 5:7105/1
  49.  
  50.  
  51.                            WHAT IS DRM-OPUS
  52.  
  53.   Drm-Opus is a program to interface the fabulous 6-pack PIONEER DRM-600
  54.   CD-ROM changer to a multiline Opus BBS (CBCS).  That is not all it does,
  55.   as DRM-OPUS can be used by any Opus sysop, even if he/she does not have
  56.   any CD-ROM drives installed!
  57.  
  58.   Let me explain. Originally, this program was only intended for the Pioneer
  59.   CDROM and Opus, but it has been expanded so much, that certain features,
  60.   might actually appeal to most Opus CBCS sysops, and for the following
  61.   reasons:
  62.  
  63.     1. Uploads can be done as well as downloads with DRM-OPUS, and effectively
  64.        replaces the internal protocol engine, with Omen Technologies excellent
  65.        DSZ or GSZ external protocol driver, featuring the original Zmodem,
  66.        Ymodem and Ymodem-G protocol's, as well as the resent MobyTurbo and
  67.        Zmodem-90 protocol's, etc... Of course, the Xmodem and 1K-Xmodem
  68.        protocol's are also still there.
  69.     2. Because of the upload capability of DRM-OPUS, things like Virus scans
  70.        after an upload from a user can be done, as well as the removal of
  71.        unwanted tagfile information, and also the adding of your own tag
  72.        information, etc. This is not implimented yet, but will be an optional
  73.        extra very soon...
  74.     3. For downloading, tag information, on CD-ROM's can be changed/removed
  75.        in flight, not possible previously, with any archive, because the files
  76.        are copied from CD-ROM to R/W disk! This feature is also not yet built
  77.        in, but will be soon!
  78.  
  79.                             WHY DRM-OPUS?
  80.  
  81.   Although the PIONEER DRM-600 can handle up to 6 CD-ROM disks, only one CD
  82.   ROM can be accessed at any one time. On Single line BBS's, it is no problem,
  83.   but when 2 or more nodes (lines) are installed on a BBS, it becomes a
  84.   serious problem when more than one user tries to access/download from
  85.   different CD disks. It is especially anoying when using highspeed 9600
  86.   modems, as all nodes keep on timing out, while waiting for the CD-ROM drive.
  87.   It must be remembered that the DRM-600/610 takes up to 7 seconds to change
  88.   disks, and you can well imagine what would happen on a system, using 8
  89.   nodes, where 6 users are using a different CD-ROM disks at the same time.
  90.  
  91.                       THE SOLUTION TO THE PROBLEM
  92.  
  93.   Well, DRM-OPUS is suppose to sort out this problem. Many other programs have
  94.   been written to solve the problem with this drive, but I have seen none that
  95.   worked for OPUS. Being an Opus sysop, and owning a DRM-600, I wrote my own
  96.   interface program. The concept is the same as with most of the programs I
  97.   have seen, and in fact, very similar to the one's in existance. The FOSSIL
  98.   interface routines, which of course, belongs to the FSC-0015 document,
  99.   written by Rick Moore, laying down the FOSSIL version 5 specification, are
  100.   implimented and an external protocol, called DSZ is used. It is advised to
  101.   use a registered version of DSZ, and is cheap enough. DSZ can be found on
  102.   most BBS's, and was written by Chuck Forsberg (Omen Technology)...
  103.  
  104.   The program works as follows. First it is set up as an external protocol to
  105.   Opus, which will be explained later.  The basic idea is to call up the
  106.   external protocol, after the user typed in the files he/she want's to
  107.   download. These file then get's copied to Read/Write disk, therefore only
  108.   accessing the CDROM drive for a very short period of time, freeing it for
  109.   other users to access. The user then actually downloads the files from the
  110.   Read/Write (normally a hard drive) Disk, deleting them, when finished,
  111.   etc... Fossil I/O is used throughout, except when the external DSZ protocol
  112.   is called for the actual download.
  113.  
  114.   So even when two or more users want to download files from different
  115.   CD-ROM's, the program will copy the files quickly, which might hold up the
  116.   user for a few seconds or so, but let the user download his/her files in
  117.   peace. In fact, currently, all files are copied, be they on CD-ROM or not!
  118.  
  119.                             WHAT IS NEEDED
  120.  
  121.   1. DRM-600/610 CD-ROM Changer (But non CDROM sysops are welcome as well!)
  122.   2. The DRM-OPUS program (Normally the latest copy)
  123.   3. Opus v1.7x and experience on how it works :-)
  124.   4. FOSSIL version 5, like BNU, X00, OpusComm. (X00 recomended!)
  125.   5. DSZ.COM or DSZ.EXE, setup in your path. Preferably, it should be
  126.      registered, otherwise, the users won't able to use MobyTurbo/Zmodem-90?
  127.  
  128.                         INSTALATION of DRM-OPUS
  129.  
  130.   Step 1.
  131.   ======
  132.   Copy the DRM-OPUS.EXE and DRM-OPUS.CFG files to your Opus directory, or
  133.   where LASTUSxx.DAT/FILESBBS.DAT, etc, is stored.
  134.  
  135.   Step 2.
  136.   ======
  137.   Make 100% sure, you have your DSZ.COM or DSZ.EXE in your DOS path or in the
  138.   directory, where you run Opus from. Don't worry about setting the DSZ
  139.   environment path for it's log file, or origin directory. DRM-OPUS takes care
  140.   of that internally, even if you have it set! Don't worry about that, it does
  141.   not matter what you have set these values to, DRM-OPUS will temporary overide
  142.   it anyway, but it will be restored, when DRM-OPUS terminates, etc...
  143.  
  144.   You may also use GSZ of course, but because DSZ is the hardcoded name used,
  145.   you will have to rename GSZ.COM (.EXE) to DSZ.COM (.EXE). I have not tested
  146.   this, but don't see why it should not work...
  147.  
  148.   BTW, Lawrence Gould from 3:712/535 (Australia), reported that GSZ works!
  149.  
  150.   Step 3.
  151.   =======
  152.   Edit your DRM-OPUS.CFG file to reflect your configuration. You have to
  153.   specify a HOLD directory. This directory will hold the download files,
  154.   selected for download by the user, so you must make abosolutely sure you
  155.   have enough disk space. The easiest is to take your maximum daily Kilobyte
  156.   limit per user, and multiply it by the number of nodes. So if your maximum
  157.   daily Kilobyte limit is say 2400 kb, and you have 4 nodes, you should not
  158.   need more than 9.6Mb or 9600kb of disk space. This, of course, is the
  159.   absolute maximum that will be needed at any one time, but I am sure you can
  160.   cut this by at least 50%, as in practice, you will seldom get 4 user,
  161.   downloading their maximum capacity in any one transfer! If it happens, you
  162.   might want to write to the Guiness Book of Records <grin>...
  163.  
  164.   Ram disks may be used, but keep the above in mind, otherwise, you are going
  165.   to have upset users, when running out of disk space, etc... :-)
  166.  
  167.   Step 4.
  168.   ======
  169.   You may enable a LOG file, by specifying it in the control file
  170.   (DRM-OPUS.CFG), and is recomended at first, or when running into problems.
  171.  
  172.   Three levels area allowed with the LOGLEVEL command, where:
  173.  
  174.       LOGLEVEL 0  =  No log information is saved
  175.       LOGLEVEL 1  =  Minimum log information
  176.       LOGLEVEL 2  =  Medium log information  (Normal recomended level)
  177.       LOGLEVEL 3  =  All information saved
  178.       LOGLEVEL 4  =  Diagnostic mode (Only use this when running into trouble
  179.                      as this level will also dump the DSZ.LOG files to your
  180.                      OpusXX.log file, etc. I will normally request you to use
  181.                      this level, when you are having problems, etc...)
  182.  
  183.   Step 5
  184.   ======
  185.  
  186.   The restrict command is a command, that is passed on to DSZ, if you want
  187.   to place some sort of security on your BBS, where uploads are concerned.
  188.   You may enable or diable this.
  189.   Here is an extract from the DSZ documentation:
  190.  
  191.   restrict Restrict incoming pathnames (YMODEM/ZMODEM) to the current disk
  192.            and directory tree, and disallow modification or overwriting of
  193.            existing files.  This command is vital for bulletin boards
  194.            uploading files.  The restrict command causes partially received
  195.            files to be deleted.  When DSZ is restricted, it will refuse to
  196.            transfer files containing the string autoexec.bat and command.com
  197.            in upper or lower case.  This provides some defense from malicious
  198.            uploaded files.
  199.  
  200.   Step 6
  201.   ======
  202.   Duplicate file detection is now also built in. It seems unavoidable,
  203.   especially on CD-ROM's, to have duplicate file names, all over the disks,
  204.   and more so on a DRM-600 Pioneer drive. This can be sorted out by the
  205.   sysop...but oh my oh my...what a job! When Opus passes more than one
  206.   filename from different CD-ROM's, or normal Disks, of the exact same
  207.   filename (and extention), DRM-OPUS will now detect that, and only
  208.   copy/transmit the very first file found, and ignor the duplicates. For those
  209.   that think they have sorted out there duplicates or those that don't like
  210.   the duplicate detection, there is an option in the DRM-OPUS.CFG to disable
  211.   this. just uncomment NODUPES and NO duplicate detection will be done! This
  212.   is however not recommended, as when DRM-OPUS deletes the files, after a
  213.   a download from the hold directory, you get an error logged in the
  214.   OpusXX.log file of "File not found", if there really were duplicates found.
  215.  
  216.   Step 7
  217.   ======
  218.   In the control file, you must also specify port addresses, interupts and
  219.   locked baudrates, etc, especially when running under Desqview. These values
  220.   are specificly used to set DSZ according to your hardware.
  221.  
  222.   Of course, if you run a pure LAN system, you would run one node per machine,
  223.   and would probably only use COM1 or COM2. In this case, you don't have to
  224.   worry about the PORT statements, as they are standard and defaults are used.
  225.   They may therefore be commented out, UNLESS you need to lock the baudrate!!!
  226.   Best is to leave it as is, etc...
  227.  
  228.   DRM-OPUS itself, is not depended on these values, only the external DSZ
  229.   protocol driver program! So when DRM-OPUS works, and DSZ not, please check
  230.   the PORTx statements in the DRM-OPUS.CFG file for correctness, etc...
  231.  
  232.   PORT1 to PORT8 may be used to remap the port I/O address, for DSZ. If it
  233.   is not specified, or commented out with ; or %, then defaults for
  234.   COM1 and COM2 will be used, namely:
  235.  
  236.            PORT1 3F8,4,0   <---+-- Please note, baudrate not locked!
  237.            PORT1 2F8,3,0   <---+
  238.  
  239.   BE sure what you are doing when fiddling with these values, as unpredictable
  240.   results will occur, when wrong values are entered...
  241.  
  242.   Remember, first paramater is the PORT ADDRESS, second the INTERRUPT, and
  243.   third the Interface speed (Locked speed). Leave last parameter as 0, when
  244.   you do not wish to lock the baudrate!
  245.  
  246.   Also remember to lock your FOSSIL, or use the same locked baudrate as your
  247.   FOSSIL. This must be clearly understood, otherwise, you will run into
  248.   problems :-)
  249.  
  250.   VERY IMPORTANT!!!: If you do not lock the baudrate, like most common on
  251.   highspeed modems, use 0 for the baudrate. The user connect rate will then
  252.   be used!!!
  253.  
  254.   With X00 as a device driver in your CONFIG.SYS, it might be:
  255.  
  256.   X00.SYS E 0=3F8,IRQ4 1=2F8,IRQ3 2=2B0,IRQ7 3=368,IRQ5 B,0,38400 B,1,38400
  257.   B,2,19200 B,3,19200 T=1024 R=2048 FIFO=15 VP=2BF,8F
  258.  
  259.   In the above, 4 ports are used, using X00's capability to map ports 2 and 3
  260.   to different I/O port addresses, with non standard IRQ's, and locking all 4
  261.   comport's baudrates, etc...  In fact, the above is what I use on my BBS,
  262.   using 3 ports from an AST 4 port card, using it in Compatible mode, with
  263.   Com1 and Com2 standard, and Com3 (port 2) on I/O address 2B0, IRQ 7, and an
  264.   internal card modem, using I/O port 368, with IRQ 5, as Com4.
  265.  
  266.   Please consult the X00 docs for further info on the above.
  267.  
  268.  
  269.   Step 8.  BBS.CTL or SESSION.CTL file (Depended on your configuration)
  270.   ======
  271.  
  272.   In your Opus control file, first of all include the new protocol:
  273.  
  274.         EXTERNAL Protocol C:\OPUS\DRM-OPUS.EXE
  275.  
  276.   and compile it with NACL (SALT) that comes with Opus.
  277.  
  278.   Please note the extention of .EXE. If not put in, Opus will complain about
  279.   DRM-OPUS not found, etc...
  280.  
  281.   Step 9.  BBS.CTL or MENU.CTL file (Depended on your configuration)
  282.   ======
  283.  
  284.   DISABLE or RAISE the access level of SET_DEF to at least SYSOP and compile
  285.   it also with NACL copying it to your language directory as ENGLISH.MNU.
  286.   Also do the same, if you have other language Menu files of course.
  287.  
  288.   So...
  289.  
  290.         SET_DEF             Sysop         "Default Protocol"
  291.  
  292.                              OR
  293.  
  294.   %     SET_DEF            Disgrace       "Default Protocol"
  295.  
  296.   Will do the trick!
  297.  
  298.  Step 10.
  299.  =======
  300.  
  301.   If you did step 1, namely to copy the DRM-OPUS.EXE file to your Opus
  302.   directory, run DRM-OPUS -u from the command line. This will change ALL your
  303.   user's default protocol's to 'D' for the DRM-OPUS protocol!  A backup of
  304.   your USER.DAT file will be made, called USER.BAK. If run a second time,
  305.   DRM-OPUS will warn you, and asked, if the backup file can be overidden!  It
  306.   is actually only needed once to run DRM-OPUS -u like this, as the next step
  307.   will explain, how new users's default protocol's will be changed to 'D' for
  308.   DRM-OPUS as well!
  309.  
  310.  Step 11.
  311.  =======
  312.  
  313.   Take your NEWUSER2.BBS (or more convenient NEWUSER2.OEC) and include the
  314.   following statement:
  315.  
  316.   [DOSN]drm-opus -L -t#   (If you use the OEC compiler)
  317.  
  318.          OR
  319.  
  320.   ^OJdrm-opus -L -t#
  321.  
  322.   Note: The # will automaticly be replaced by the task number. This is a
  323.   feature of OPUS. You may of course substitude the # with the actual task
  324.   number, but this means, you'll have to have a NEWUSER2.BBS file for each
  325.   task you are running!
  326.  
  327.   The reason for including the above in your NEWUSER2.BBS file, is as follows:
  328.  
  329.   In step 10, you set all users default protocol to "D" for DRM-OPUS, and you
  330.   disallow your users to change from the DRM-OPUS protocol to anything else in
  331.   Step 9!  This is all very well, but new users won't have their default
  332.   protocol set to DRM-OPUS when logging on first. The NEWUSER2.BBS file is
  333.   only presented once, after logging on, for a new user for the first time.
  334.   This is where step 11 (This step) comes in. The above command will change
  335.   the LASTUSxx.DAT file of the new user loggin on, and cause Opus to reload
  336.   the information back into the USER.DAT file, thereby forcing the new user to
  337.   also use DRM-OPUS as a default protocol! Cleaver huh?...:-)
  338.  
  339.   Well, there is one snag, you have to make sure of the following, otherwise,
  340.   it won't work.  Set the following in your BBS.CTL or SESSION.CTL (Depending
  341.   on your setup of course) to at the following:
  342.  
  343.         % Outside information
  344.         %
  345.         Secure  2
  346.  
  347.   Please refer to the Opus technical reference manual on how this works. The
  348.   main thing is, for step 11 to work, you have to get Opus to reload the
  349.   LASTUSxx.DAT file, when shelling to external programs, etc... I hope this
  350.   makes sense... if not, just do as I say :-)
  351.  
  352.                            FUTURE PLANS
  353.  
  354.   1. I plan on incorporating other external protocols, like SeaLink, HSLink,
  355.      maybe, even BiModem and others.
  356.   2. Maybe support for other BBS packages, if requested.
  357.   3. Get DRM-OPUS to do uploads as well. With HSLINK and Bimodem, it will have
  358.      to support it... (This is now done!)
  359.   4. Write a proper door to replace the internal protocol engine.
  360.   5. Now with the upload capability, I want to implement tagfile removal/adding
  361.      and possible virus scanning for uploads, etc...
  362.   6. More inteligent task detection for collisions, etc...
  363.  
  364.                           HOW TO CONTACT ME
  365.  
  366.   I may be contacted on FidoNet at 5:7105/1, or phoned at +27-171-84327
  367.   between 16:00 and 20:00 GMT or 18:00 to 22:00 SAST. This is because I like
  368.   my sleep these days...:-)
  369.  
  370.   BBS access is also available at the following numbers:
  371.  
  372.    +27-171-84102   USRobotics HST/DS 16.8k / V32bis / V42bis
  373.    +27-171-81157   USRobotics HST/DS 16.8k / V32bis / V42bis
  374.    +27-171-84278   USRobotics HST     9.6k
  375.    +27-171-84279   Speedmodem CSP     9.6k
  376.  
  377.                           BUG REPORTING
  378.  
  379.   When having problems, or if you detect bugs, or problems, or in fact,
  380.   anything not to your liking, including improvements, or suggestion, please
  381.   inform me, using the info found above on how to contact me. The prefered
  382.   method, is via netmail on FidoNet, but you may phone me (Expensive way :-),
  383.   or write to me (Slow method), but whatever way you do, you have to let me
  384.   have the following information:
  385.  
  386.      1.  Logging level 4 set!
  387.      2.  OpusXX.log files!
  388.      3.  Your DRM-OPUS.CFG config file
  389.      4.  Config.sys and Autoexec.bat
  390.      5.  What machine your are running on(8088/80286/80486, etc)
  391.      6.  Software used (Con't forget the versions), like MSDOS, Desqview,
  392.          Qemm, Novelle, Lantastic, etc, etc.
  393.      7.  DSZ version, and if it is registered. (Don't worry, I won't report
  394.          you :-)
  395.      8.  Also, not important, but I'd like to know, what hardware you use,
  396.          like, SCSI/ESDI disks and controllers, screen adapters (VGA, etc and
  397.          possible chipset, like Tjeng, or ET4000, etc).
  398.      9.  What serial card you use, especially, if it is a multi port card (4
  399.          ports or more, etc and if it is inteligent...)
  400.  
  401.  
  402.       ooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOooooooooooooooooooooo
  403.