Category : BBS Programs+Doors
Archive   : TONSMOD.ZIP
Filename : CDROM2.MOD

 
Output of file : CDROM2.MOD contained in archive : TONSMOD.ZIP
CDROM2.MOD
----------
The 'ROM Mod for the Rest of Us

"Hmm... Well, what we can do is check XFER.C and see *why* it's so slow."

For those of you who have a CD-ROM hooked into WWIV, you know exactly what I am
talking about. The transfer section seems to be really handicapped when it
comes to CD-ROMs. A while back, I wrote CDROM.MOD to allow PC-SIG and other
ROM's like it (PC-SIG breaks the individual programs into individual
directories, needless to say, it's a pain). This one takes care of the "nice"
CD-ROMs that have them in separate directories, already ZIPped/ARCed up--the
only problem with these ROMs and WWIV is that they are slow.

This mod provides the necessary fixes so that when a user does a 'L'ist, it
speeds by, usually FASTER than a 'normal' directory. Also, it automatically
puts the text '(CD-ROM)' in front of the directory name.

As usual with most of these mods, the author (me) takes no resposibility
what-so-ever if this mod causes your cat to jump on your keyboard and
delete every user you have or if your modem decides it doesn't like you
and fries itself, committing datacide...

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

Crispy Software #5
Ethereal Cereal #16

Multi-Networked The Downtown Tower Multi-Lined (soon)
Home of CrispySoft ____________________ WWIV On A LAN (Host)
618-234-6892 WWIVlink: @16853 USR Dual Standard
Sysop Autoval FredNET : @6888 700+ WWIV Files Online
WL2SP Support WWIVnet : @6866 Snarfable!
More Fun Than A Normal Human Being Can Stand
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

/***********************/
/* L E G E N D */
/***********************/
/* - = Deleted Line */
/* + = New Line */
/* # = Existing Line */
/* ! = Modified Line */
/* * = Search For Line */
/***********************/


Step #1 -- VARDEC.H (v4.12/v4.20)
Function -- N/A
Comments --

Way down yonder in the file VARDEC.H, your directoryrec.mask's should
look similiar to this. The only change as far as the mod, is the addition
of the line marked /* MOD: CDROM2 */

/* directoryrec.mask */
#define mask_PD 0x0001
#define mask_no_uploads 0x0004
#define mask_archive 0x0008
#define mask_pending_batch 0x0010
#define mask_no_ratio 0x0020
#define mask_cdrom 0x0040 /* MOD: CDROM2 */
#define mask_extended 0x8000


Step #2 -- DIREDIT.C (v4.12/v4.20)
Function -- modify_dir
Comments --

We've got a few changes in here... just follow along...
(This section changes DIREDIT so that you turn ROM mode on and off, as
well as turn the "Is this PD/Shareware?" message on and off.)

# npr("G. DAR : %s\r\n",s);
! /* MOD: CDROM2 */
! /* npr("H. Mask : %d\r\n",r.mask); */
+ npr("H. CD-ROM Disk: %s\r\n",
+ (r.mask & mask_cdrom) ? "Yes" : "No");
# npr("I. Dir Type : %u\r\n",r.type);
# npr("J. Uploads : %s\r\n",
# (r.mask & mask_no_uploads) ? "Disallowed" : "Allowed");
# npr("K. Arch. only : %s\r\n", (r.mask & mask_archive) ? "Yes" : "No");
+ /* MOD: CDROM2 */
+ npr("L. PD Message : %s\r\n", (r.mask & mask_PD) ? "Yes" : "No");
# nl();
! prt(2,"Which (A-L,Q) ? "); /* Change K to L */
! ch=onek("QABCDEFGHIJKL"); /* Add L */
# switch(ch) {
# case 'Q':done=1; break;

Step #3 -- DIREDIT.C (v4.12/v4.20)
Function -- modify_dir
Comments --

... Keep going down from where you left off ... Just replace these
case statements.. (Just finishing up the new DIREDIT options)


# else
# r.dar=1 << (ch2-'A');
# break;
# case 'H':
- nl();
- prt(2,"New Mask? ");
- input(s,3);
- i=atoi(s);
- if ((i>=0) && (i<32767) && (s[0]))
- r.mask=i;
- break;
+ /* MOD: CDROM2 */
+ r.mask &= ~mask_cdrom;
+ nl();
+ prt(5,"Is this directory on a CD-ROM? ");
+ if (ny())
+ r.mask |= mask_cdrom;
+ break;
+ /* MOD: CDROM2 */
# case 'I':
# nl();
# prt(2,"New Dir Type? ");


# r.mask |= mask_archive;
# break;
+ case 'L':
+ /* MOD: CDROM2 */
+ r.mask &= ~mask_PD;
+ nl();
+ prt(5,"Ask user if upload is PD/Shareware? ");
+ if (ny())
+ r.mask |= mask_PD;
+ break;
+ /* MOD: CDROM2 */
# }
# } while ((!done) && (!hangup));

Step #4 -- XFER.C (v4.12/v4.20)
Function -- printinfo
Comments --

Just copy in this CHECK_FOR_EXISTANCE section. It's a complete replacement.
(Does the actual work. Tells the board to check for existance ONLY if the
directory isn't a ROM directory.)

# #ifdef CHECK_FOR_EXISTANCE
# strcpy(s2,directories[udir[curdir].subnum].path);
# strcat(s2,u->filename);
+ /* MOD: CDROM2 */
+ if (!(directories[udir[curdir].subnum].mask & mask_cdrom))
# if (!exist(s2))
# strcpy(s1,"N/A");
# #endif

Step #5 -- XFER.C (v4.12/v4.20)
Function -- printtitle
Comments --

Just a little more of the same... (Puts the (CD-ROM) text
before the directory's title.)

# pla("",abort);
# pla("",abort);
! sprintf(s,"%s%s - #%s, %d files.",
+ /* MOD: CDROM2 */
+ (directories[udir[curdir].subnum].mask & mask_cdrom) ? "(CD-ROM) " : " ",
# directories[udir[curdir].subnum].name,
# udir[curdir].keys,numf);
# i=strlen(s);
# ansic(2);

Step #6 -- XFER.C (v4.12/v4.20)
Function -- printfileinfo
Comments --

(When a user does a DL, it will tell him/her whether or not it's located
on the CD-ROM)

# npr("Uploaded by: %s\r\n", u->upby);
# npr("Times D/L'd: %d\r\n", u->numdloads);
+ /* MOD: CDROM2 */
+ npr("CD-ROM File: %s\r\n",
+ (directories[dn].mask & mask_cdrom)? "Yes" : "No");
# nl();
# abort=0;


  3 Responses to “Category : BBS Programs+Doors
Archive   : TONSMOD.ZIP
Filename : CDROM2.MOD

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/