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 >
Wrap
Text File
|
1992-09-26
|
19KB
|
403 lines
DRM-OPUS v1.30
PIONEER DRM-600/610 CD-ROM CHANGER (TM) Interface Program
for
Opus 1.7x (TM)
Copyright (c) 1992
24/09/92
By: Niel Uys
P.O Box 2801
Welkom
9460
South Africa
LIMIT OF LIABILITY
DRM-OPUS is distributed as-is. The author disclaims all warranties,
expressed or implied. The author will assume no liability for damages
either from the direct use of this product or as a consequence of the
use of this product.
LICENSE TO USE
Anyone may use this program free of charge, provided you do not sell it for
financial gain. In other words, this is a license to use the program in a
NON-Commercial environment. If it is used Commercially, you will have to
contact the author for permission to use the program. Sysops using the
program in a NON-Commercial environment, are encouraged to register the
program, as it is absolutely free of charge. All I need is the following:
1. Name of Sysop or individual using the program.
2. Address, Country and contact telephone number (Voice and Data/Fax).
3. Purpose of using the program.
4. Where you got the program from and where you heard about it.
Send the above information to the address mentioned on the first page. Of
course, if you have a FidoNet setup or link, you may send me a netmail
message with the same information to Niel Uys at 5:7105/1
WHAT IS DRM-OPUS
Drm-Opus is a program to interface the fabulous 6-pack PIONEER DRM-600
CD-ROM changer to a multiline Opus BBS (CBCS). That is not all it does,
as DRM-OPUS can be used by any Opus sysop, even if he/she does not have
any CD-ROM drives installed!
Let me explain. Originally, this program was only intended for the Pioneer
CDROM and Opus, but it has been expanded so much, that certain features,
might actually appeal to most Opus CBCS sysops, and for the following
reasons:
1. Uploads can be done as well as downloads with DRM-OPUS, and effectively
replaces the internal protocol engine, with Omen Technologies excellent
DSZ or GSZ external protocol driver, featuring the original Zmodem,
Ymodem and Ymodem-G protocol's, as well as the resent MobyTurbo and
Zmodem-90 protocol's, etc... Of course, the Xmodem and 1K-Xmodem
protocol's are also still there.
2. Because of the upload capability of DRM-OPUS, things like Virus scans
after an upload from a user can be done, as well as the removal of
unwanted tagfile information, and also the adding of your own tag
information, etc. This is not implimented yet, but will be an optional
extra very soon...
3. For downloading, tag information, on CD-ROM's can be changed/removed
in flight, not possible previously, with any archive, because the files
are copied from CD-ROM to R/W disk! This feature is also not yet built
in, but will be soon!
WHY DRM-OPUS?
Although the PIONEER DRM-600 can handle up to 6 CD-ROM disks, only one CD
ROM can be accessed at any one time. On Single line BBS's, it is no problem,
but when 2 or more nodes (lines) are installed on a BBS, it becomes a
serious problem when more than one user tries to access/download from
different CD disks. It is especially anoying when using highspeed 9600
modems, as all nodes keep on timing out, while waiting for the CD-ROM drive.
It must be remembered that the DRM-600/610 takes up to 7 seconds to change
disks, and you can well imagine what would happen on a system, using 8
nodes, where 6 users are using a different CD-ROM disks at the same time.
THE SOLUTION TO THE PROBLEM
Well, DRM-OPUS is suppose to sort out this problem. Many other programs have
been written to solve the problem with this drive, but I have seen none that
worked for OPUS. Being an Opus sysop, and owning a DRM-600, I wrote my own
interface program. The concept is the same as with most of the programs I
have seen, and in fact, very similar to the one's in existance. The FOSSIL
interface routines, which of course, belongs to the FSC-0015 document,
written by Rick Moore, laying down the FOSSIL version 5 specification, are
implimented and an external protocol, called DSZ is used. It is advised to
use a registered version of DSZ, and is cheap enough. DSZ can be found on
most BBS's, and was written by Chuck Forsberg (Omen Technology)...
The program works as follows. First it is set up as an external protocol to
Opus, which will be explained later. The basic idea is to call up the
external protocol, after the user typed in the files he/she want's to
download. These file then get's copied to Read/Write disk, therefore only
accessing the CDROM drive for a very short period of time, freeing it for
other users to access. The user then actually downloads the files from the
Read/Write (normally a hard drive) Disk, deleting them, when finished,
etc... Fossil I/O is used throughout, except when the external DSZ protocol
is called for the actual download.
So even when two or more users want to download files from different
CD-ROM's, the program will copy the files quickly, which might hold up the
user for a few seconds or so, but let the user download his/her files in
peace. In fact, currently, all files are copied, be they on CD-ROM or not!
WHAT IS NEEDED
1. DRM-600/610 CD-ROM Changer (But non CDROM sysops are welcome as well!)
2. The DRM-OPUS program (Normally the latest copy)
3. Opus v1.7x and experience on how it works :-)
4. FOSSIL version 5, like BNU, X00, OpusComm. (X00 recomended!)
5. DSZ.COM or DSZ.EXE, setup in your path. Preferably, it should be
registered, otherwise, the users won't able to use MobyTurbo/Zmodem-90?
INSTALATION of DRM-OPUS
Step 1.
======
Copy the DRM-OPUS.EXE and DRM-OPUS.CFG files to your Opus directory, or
where LASTUSxx.DAT/FILESBBS.DAT, etc, is stored.
Step 2.
======
Make 100% sure, you have your DSZ.COM or DSZ.EXE in your DOS path or in the
directory, where you run Opus from. Don't worry about setting the DSZ
environment path for it's log file, or origin directory. DRM-OPUS takes care
of that internally, even if you have it set! Don't worry about that, it does
not matter what you have set these values to, DRM-OPUS will temporary overide
it anyway, but it will be restored, when DRM-OPUS terminates, etc...
You may also use GSZ of course, but because DSZ is the hardcoded name used,
you will have to rename GSZ.COM (.EXE) to DSZ.COM (.EXE). I have not tested
this, but don't see why it should not work...
BTW, Lawrence Gould from 3:712/535 (Australia), reported that GSZ works!
Step 3.
=======
Edit your DRM-OPUS.CFG file to reflect your configuration. You have to
specify a HOLD directory. This directory will hold the download files,
selected for download by the user, so you must make abosolutely sure you
have enough disk space. The easiest is to take your maximum daily Kilobyte
limit per user, and multiply it by the number of nodes. So if your maximum
daily Kilobyte limit is say 2400 kb, and you have 4 nodes, you should not
need more than 9.6Mb or 9600kb of disk space. This, of course, is the
absolute maximum that will be needed at any one time, but I am sure you can
cut this by at least 50%, as in practice, you will seldom get 4 user,
downloading their maximum capacity in any one transfer! If it happens, you
might want to write to the Guiness Book of Records <grin>...
Ram disks may be used, but keep the above in mind, otherwise, you are going
to have upset users, when running out of disk space, etc... :-)
Step 4.
======
You may enable a LOG file, by specifying it in the control file
(DRM-OPUS.CFG), and is recomended at first, or when running into problems.
Three levels area allowed with the LOGLEVEL command, where:
LOGLEVEL 0 = No log information is saved
LOGLEVEL 1 = Minimum log information
LOGLEVEL 2 = Medium log information (Normal recomended level)
LOGLEVEL 3 = All information saved
LOGLEVEL 4 = Diagnostic mode (Only use this when running into trouble
as this level will also dump the DSZ.LOG files to your
OpusXX.log file, etc. I will normally request you to use
this level, when you are having problems, etc...)
Step 5
======
The restrict command is a command, that is passed on to DSZ, if you want
to place some sort of security on your BBS, where uploads are concerned.
You may enable or diable this.
Here is an extract from the DSZ documentation:
restrict Restrict incoming pathnames (YMODEM/ZMODEM) to the current disk
and directory tree, and disallow modification or overwriting of
existing files. This command is vital for bulletin boards
uploading files. The restrict command causes partially received
files to be deleted. When DSZ is restricted, it will refuse to
transfer files containing the string autoexec.bat and command.com
in upper or lower case. This provides some defense from malicious
uploaded files.
Step 6
======
Duplicate file detection is now also built in. It seems unavoidable,
especially on CD-ROM's, to have duplicate file names, all over the disks,
and more so on a DRM-600 Pioneer drive. This can be sorted out by the
sysop...but oh my oh my...what a job! When Opus passes more than one
filename from different CD-ROM's, or normal Disks, of the exact same
filename (and extention), DRM-OPUS will now detect that, and only
copy/transmit the very first file found, and ignor the duplicates. For those
that think they have sorted out there duplicates or those that don't like
the duplicate detection, there is an option in the DRM-OPUS.CFG to disable
this. just uncomment NODUPES and NO duplicate detection will be done! This
is however not recommended, as when DRM-OPUS deletes the files, after a
a download from the hold directory, you get an error logged in the
OpusXX.log file of "File not found", if there really were duplicates found.
Step 7
======
In the control file, you must also specify port addresses, interupts and
locked baudrates, etc, especially when running under Desqview. These values
are specificly used to set DSZ according to your hardware.
Of course, if you run a pure LAN system, you would run one node per machine,
and would probably only use COM1 or COM2. In this case, you don't have to
worry about the PORT statements, as they are standard and defaults are used.
They may therefore be commented out, UNLESS you need to lock the baudrate!!!
Best is to leave it as is, etc...
DRM-OPUS itself, is not depended on these values, only the external DSZ
protocol driver program! So when DRM-OPUS works, and DSZ not, please check
the PORTx statements in the DRM-OPUS.CFG file for correctness, etc...
PORT1 to PORT8 may be used to remap the port I/O address, for DSZ. If it
is not specified, or commented out with ; or %, then defaults for
COM1 and COM2 will be used, namely:
PORT1 3F8,4,0 <---+-- Please note, baudrate not locked!
PORT1 2F8,3,0 <---+
BE sure what you are doing when fiddling with these values, as unpredictable
results will occur, when wrong values are entered...
Remember, first paramater is the PORT ADDRESS, second the INTERRUPT, and
third the Interface speed (Locked speed). Leave last parameter as 0, when
you do not wish to lock the baudrate!
Also remember to lock your FOSSIL, or use the same locked baudrate as your
FOSSIL. This must be clearly understood, otherwise, you will run into
problems :-)
VERY IMPORTANT!!!: If you do not lock the baudrate, like most common on
highspeed modems, use 0 for the baudrate. The user connect rate will then
be used!!!
With X00 as a device driver in your CONFIG.SYS, it might be:
X00.SYS E 0=3F8,IRQ4 1=2F8,IRQ3 2=2B0,IRQ7 3=368,IRQ5 B,0,38400 B,1,38400
B,2,19200 B,3,19200 T=1024 R=2048 FIFO=15 VP=2BF,8F
In the above, 4 ports are used, using X00's capability to map ports 2 and 3
to different I/O port addresses, with non standard IRQ's, and locking all 4
comport's baudrates, etc... In fact, the above is what I use on my BBS,
using 3 ports from an AST 4 port card, using it in Compatible mode, with
Com1 and Com2 standard, and Com3 (port 2) on I/O address 2B0, IRQ 7, and an
internal card modem, using I/O port 368, with IRQ 5, as Com4.
Please consult the X00 docs for further info on the above.
Step 8. BBS.CTL or SESSION.CTL file (Depended on your configuration)
======
In your Opus control file, first of all include the new protocol:
EXTERNAL Protocol C:\OPUS\DRM-OPUS.EXE
and compile it with NACL (SALT) that comes with Opus.
Please note the extention of .EXE. If not put in, Opus will complain about
DRM-OPUS not found, etc...
Step 9. BBS.CTL or MENU.CTL file (Depended on your configuration)
======
DISABLE or RAISE the access level of SET_DEF to at least SYSOP and compile
it also with NACL copying it to your language directory as ENGLISH.MNU.
Also do the same, if you have other language Menu files of course.
So...
SET_DEF Sysop "Default Protocol"
OR
% SET_DEF Disgrace "Default Protocol"
Will do the trick!
Step 10.
=======
If you did step 1, namely to copy the DRM-OPUS.EXE file to your Opus
directory, run DRM-OPUS -u from the command line. This will change ALL your
user's default protocol's to 'D' for the DRM-OPUS protocol! A backup of
your USER.DAT file will be made, called USER.BAK. If run a second time,
DRM-OPUS will warn you, and asked, if the backup file can be overidden! It
is actually only needed once to run DRM-OPUS -u like this, as the next step
will explain, how new users's default protocol's will be changed to 'D' for
DRM-OPUS as well!
Step 11.
=======
Take your NEWUSER2.BBS (or more convenient NEWUSER2.OEC) and include the
following statement:
[DOSN]drm-opus -L -t# (If you use the OEC compiler)
OR
^OJdrm-opus -L -t#
Note: The # will automaticly be replaced by the task number. This is a
feature of OPUS. You may of course substitude the # with the actual task
number, but this means, you'll have to have a NEWUSER2.BBS file for each
task you are running!
The reason for including the above in your NEWUSER2.BBS file, is as follows:
In step 10, you set all users default protocol to "D" for DRM-OPUS, and you
disallow your users to change from the DRM-OPUS protocol to anything else in
Step 9! This is all very well, but new users won't have their default
protocol set to DRM-OPUS when logging on first. The NEWUSER2.BBS file is
only presented once, after logging on, for a new user for the first time.
This is where step 11 (This step) comes in. The above command will change
the LASTUSxx.DAT file of the new user loggin on, and cause Opus to reload
the information back into the USER.DAT file, thereby forcing the new user to
also use DRM-OPUS as a default protocol! Cleaver huh?...:-)
Well, there is one snag, you have to make sure of the following, otherwise,
it won't work. Set the following in your BBS.CTL or SESSION.CTL (Depending
on your setup of course) to at the following:
% Outside information
%
Secure 2
Please refer to the Opus technical reference manual on how this works. The
main thing is, for step 11 to work, you have to get Opus to reload the
LASTUSxx.DAT file, when shelling to external programs, etc... I hope this
makes sense... if not, just do as I say :-)
FUTURE PLANS
1. I plan on incorporating other external protocols, like SeaLink, HSLink,
maybe, even BiModem and others.
2. Maybe support for other BBS packages, if requested.
3. Get DRM-OPUS to do uploads as well. With HSLINK and Bimodem, it will have
to support it... (This is now done!)
4. Write a proper door to replace the internal protocol engine.
5. Now with the upload capability, I want to implement tagfile removal/adding
and possible virus scanning for uploads, etc...
6. More inteligent task detection for collisions, etc...
HOW TO CONTACT ME
I may be contacted on FidoNet at 5:7105/1, or phoned at +27-171-84327
between 16:00 and 20:00 GMT or 18:00 to 22:00 SAST. This is because I like
my sleep these days...:-)
BBS access is also available at the following numbers:
+27-171-84102 USRobotics HST/DS 16.8k / V32bis / V42bis
+27-171-81157 USRobotics HST/DS 16.8k / V32bis / V42bis
+27-171-84278 USRobotics HST 9.6k
+27-171-84279 Speedmodem CSP 9.6k
BUG REPORTING
When having problems, or if you detect bugs, or problems, or in fact,
anything not to your liking, including improvements, or suggestion, please
inform me, using the info found above on how to contact me. The prefered
method, is via netmail on FidoNet, but you may phone me (Expensive way :-),
or write to me (Slow method), but whatever way you do, you have to let me
have the following information:
1. Logging level 4 set!
2. OpusXX.log files!
3. Your DRM-OPUS.CFG config file
4. Config.sys and Autoexec.bat
5. What machine your are running on(8088/80286/80486, etc)
6. Software used (Con't forget the versions), like MSDOS, Desqview,
Qemm, Novelle, Lantastic, etc, etc.
7. DSZ version, and if it is registered. (Don't worry, I won't report
you :-)
8. Also, not important, but I'd like to know, what hardware you use,
like, SCSI/ESDI disks and controllers, screen adapters (VGA, etc and
possible chipset, like Tjeng, or ET4000, etc).
9. What serial card you use, especially, if it is a multi port card (4
ports or more, etc and if it is inteligent...)
ooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOooooooooooooooooooooo