home *** CD-ROM | disk | FTP | other *** search
/ synchro.net / synchro.net.tar / synchro.net / main / TEXT / NEWS9411.TXT < prev    next >
Encoding:
Text File  |  2001-07-30  |  140.4 KB  |  2,714 lines

  1.          ▐██▌░ ▄█████▄ ▄██████░ ██░  ██░ ▄██████░ ██░    ██░ ▄█████▄
  2.           ██░  ██░░░░░ ██▄▄▄▄░  ███▄ ██░ ██▄▄▄▄░  ██░    ██░ ██░░░░░
  3.           ██░  ██░     ██▀▀▀▀░  ██▀████░ ██▀▀▀▀░  ██░ ▄  ██░ ▀█████▄
  4.          ▐██▌░ ▀█████▀ ▀██████░ ██░ ▀██░ ▀██████░ ██▄███▄██░  ░░░░██░
  5.           ██░    ██░░░  ██░██░  ██░  ██░  ██░██░░ ▀██▀ ▀██▀  ▀█████▀
  6.           ▐▌░    ▐▌░    ▐▌░▐▌░  ▐▌░  ▐░   ▐▌░▐▌░   ▐▌░  ▐░    ▐▌░▐░
  7.            ▌░    ▐░      ▌░     ▐░         ▌░      ▐░         ▐░
  8.  
  9.      The Journal of IceNET                                  November 1994
  10.     ┌───────────────────────────────────────────────────────────────────┐
  11.     │ Editor's Desk                                                     │
  12.     │   The Upper Registers                               Will (1@6754) │
  13.     │   Managing Editor's Notes                             Louie (6@1) │
  14.     │   Letters To The Editors                              Louie (6@1) │
  15.     │  IceNEWS Op-Ed Forum                                              │
  16.     │   Is it you, or is you ain't my baby?    Tolkien (1@2000 WWIVnet) │
  17.     │                                                                   │
  18.     │ Feature Stories                                                   │
  19.     │   The Facts About FAQs                      Deacon Blues (2@7653) │
  20.     │   WWIV Services on the Internet                     IceNEWS Staff │
  21.     │   A Day in the Life of an IceNET GC            Music Man (1@9680) │
  22.     │                                                                   │
  23.     │ WWIV-Specific                                                     │
  24.     │   WWIV Utility & Mod Review                       Calvin (1@8262) │
  25.     │   Revolution 95!                                Spotnick (1@5497) │
  26.     │                                                                   │
  27.     │  Hardware                                                         │
  28.     │    Lexmark LaserPrinter 12R+                        Will (1@6754) │
  29.     │    Oh, Those Upgrading Blues...                Papa Bear (1@5079) │
  30.     │                                                                   │
  31.     │ Software                                                          │
  32.     │    Borland Paradox 5.0 Review                       Will (1@6754) │
  33.     │    Sidekick 1.0 for Windows                         Will (1@6754) │
  34.     │    MS-DOS Memory Management                       Renob1 (5@7650) │
  35.     │                                                                   │
  36.     │ Programming                                                       │
  37.     │   Tips on Sound Blaster Programming    Odieman (949@2132 WWIVnet) │
  38.     │   Advantages of C Over PASCAL        Grim Reaper (2@8415 WWIVnet) │
  39.     │                                                                   │
  40.     │ Lite Bytes                                                        │
  41.     │   Silly Strings                                Ima Moron (1@9661) │
  42.     │                                                                   │
  43.     │ Special!                                                          │
  44.     │  WWIVnet Technical Documentation    Midnight Tree Bandit (1@8411) │
  45.     ├───────────────────────────────────────────────────────────────────┤
  46.     │                  IceNEWS Staff For November 1994                  │
  47.     │                                                                   │
  48.     │    "...Winners of the 1994 WWIVcon Award for Electronic News"     │
  49.     │                                                                   │
  50.     │                    IceNEWS Publisher - Jim 1@1                    │
  51.     │               IceNEWS Editor-In-Chief - Will 1@6754               │
  52.     │            IceNEWS Managing Editor - Louie 2@7650                 │
  53.     │                                                                   │
  54.     │                    IceNEWS Contributing Editors                   │
  55.     │  WWIV-Specific - Spotnick 1@5497    Lite Bytes - Ima Moron 1@9661 │
  56.     │                    Software - Music Man 1@9680                    │
  57.     │                                                                   │
  58.     │         Editors-At-Large - Louie 2@7650 & Crave 1@7668            │
  59.     │               IceNEWS Production - Help Wanted                    │
  60.     ├───────────────────────────────────────────────────────────────────┤
  61.     │     IceNEWS is always seeking submissions from those who have     │
  62.     │      ideas for stories. If you have any ideas that you might      │
  63.     │        like to see published, contact any IceNEWS editor or       │
  64.     │        subscribe to IceNEWS Beat, subtype IceNEWS, host @1.       │
  65.     └───────────────────────────────────────────────────────────────────┘
  66.  
  67.  
  68.                         ┌───────────────────────────┐
  69. ────────────────────────┘ E D I T O R ' S   D E S K └────────────────────────
  70.  
  71.  
  72.   ┌───────────────────────────────────────────────┐
  73.   │ The Upper Registers - "Warp Speed Now"        │  by Will 1@6754
  74.   └───────────────────────────────────────────────┴───────────────────
  75.  
  76.  
  77.         On October 11th, I had the good fortune to be able to attend the
  78. official IBM announcement and launch of the latest version of the OS/2
  79. Operating System, version 3.0, also known as Warp. The announcement took
  80. place at the IBM Corporate Headquarters in New York State, but was
  81. beamed by satellite to over a hundred cities in the US, and as far away
  82. as Australia. Some highlights -
  83.  
  84.         The Operating System itself was amazing. IBM has an amazing product
  85. here, and all that they need to do is market it. On the surface, Warp
  86. (now the official name of the product, a last minute change from 'v3'
  87. ordered by IBM Chairman Lou Gerstner himself) looks a lot like the
  88. OS/2 2.11. In fact, the only really noticeable difference is a launchpad
  89. from which you can launch frequently used applications. The launchpad
  90. allows you to have a set of "Drawers" beneath the icon you're using.
  91. During the demo that took place at the announcement, they had Lotus
  92. 1-2-3 for OS/2 sitting on the launchpad, and the rest of the Smartsuite
  93. for OS/2 programs in a drawer beneath it, hidden from view until you
  94. click on the handle. This is an amazing way to keep frequently used
  95. files available.
  96.  
  97.         Performance is way up. I saw Warp running on a 486sx-33 machine
  98. with four megabytes of RAM. While it wasn't lightning, it was fast. I fully
  99. expect to be able to run Warp on my four megabyte laptop without any
  100. difficulty. On an eight or sixteen megabyte dx2, the result is pure
  101. speed. There are also a lot of little tweaks. The settings dialog has
  102. been moved to its own place on the pop up menus for an object. You can
  103. now assign different settings priority (so that my OS/2 .MOD Player
  104. doesn't steal too many cycles from the BBS). Multimedia support, robust
  105. to begin with in 2.1, has been fully integrated (previously you needed
  106. to install it separately) into the installer, and support for a large
  107. number of additional sound cards and CD-ROMs (including some non-SCSI
  108. CD-ROM drives, and most major Sound/CD combinations). The movie player
  109. will now play MPEG and FLI files as well as AVI.
  110.  
  111.         IBM has dropped the applets it previously shipped with OS/2 2.x
  112. (which, while powerful, were a bit too much or too little for many) in
  113. favor of the Bonus Pack containing IBM Works. This includes full
  114. featured word processor, spreadsheet, and database products, as well as
  115. Internet support (we'll get to that in a minute). The applets support
  116. complete DDE between them, and a common "address book". Drop an adress
  117. into the PIM, and you schedule an appointment. Drag a spreadsheet into a
  118. word processor document. It's a level of flexibility I'd never seen
  119. before. If the link makes logical sense, you can do it. A friend of mine
  120. was able to get an early copy of the program, and claims to have already
  121. begun to do most of his work using the applications shipped with OS/2.
  122. From someone who has some of the most advanced software extant floating
  123. around his computers, this is high praise indeed. He's ecstatic.
  124.  
  125.         The last big addition to Warp is Internet SLIP/PPP support.
  126. Without going into too much detail, it's one button Internet. World Wide
  127. Web, FTP, Gopher, Mail, and News clients are all included, with a Mosaic
  128. interface due out next year (no word on pricing). You default connecting
  129. through the IBM provider Advantis, but the software will work with any
  130. SLIP/PPP connection. I'm planning on swapping my own Internet access to
  131. the Boston based Internet Access Company as soon as I have the final
  132. version of Warp installed.
  133.  
  134.         Moving back, the announcement itself was spectacular. A real
  135. sight and sound extravaganza. Leonard Nimoy did a very funny (pre taped)
  136. introduction, with lots of jabs at how Windows makes you waste time.
  137. They had Kate Mulgrew (the star of the latest Star Trek spinoff) on hand
  138. to help emphasize the Trek connection. All told, it was a major event.
  139.  
  140.         My conclusion - Warp is going to rock the industry. This is an
  141. amazing piece of software. Everything Windows 95 promises, and much
  142. more, now, instead of in the nebulous future. While availability was
  143. pushed back a week due to the discovery of a minor bug (copies should be
  144. hitting the stores as you read this), Warp has a serious jump on the
  145. competition. IBM should even be able to market it, since they've hired
  146. some of the marketing people who sold Windows 3.0 to the public a few
  147. years ago. Imagine what these people will do when they don't have to
  148. exaggerate the merits of the product!
  149.  
  150. -----
  151.  
  152.      Lastly, I'd like to pass along an announcement that Morgul (1@8315) sent me
  153. a while ago for inclusion in IceNEWS. I'd also like to remind everyone to
  154. come by the WWIV Chat Session on the IRC every Sunday afternoon, and to
  155. request the individual who's been locking the channel into invite only mode
  156. to find something more interesting to do. You know who you are.... The chat
  157. session is on #wwiv, and here's Morgul's announcement about the WWIV Mailing
  158. List on the Internet:
  159.  
  160. In the ever expanding effort to make WWIV a cyber-household name, we now
  161. announce....
  162.  
  163.  
  164.       W W I V - T A L K  :  T H E  I N T E R N E T  M A I L I N G  L I S T !
  165.  
  166.  
  167.      We may not have our own newsgroup on Internet (yet!) but we now have our
  168. own mailing list!  Hosted from The Trading Post [SOUTH], this mailing list is
  169. open to ALL internet users who are interested in finding out more about WWIV.
  170. If you have an internet address, by all means, send in and join!
  171.  
  172.      To join the mailing list, send email to:
  173.  
  174.      mailserv@ttps.lakes.trenton.sc.us
  175.  
  176.      And include the phrase "join wwiv-talk" in the body of the message.
  177. Messages can be sent to the mailing list by addressing them to:
  178.  
  179.      wwiv-talk@ttps.lakes.trenton.sc.us
  180.  
  181.     Come join us, and help spread the word!
  182.  
  183. -----
  184.  
  185.      That's it for this issue. Enjoy the rest of IceNEWS!
  186.  
  187.     ──══════════════════════════════════════════════════════════════════──
  188.  
  189.  
  190.   ┌────────────────────────────┐
  191.   │ Managing Editor's Comments │  by Louie 6@1
  192.   └────────────────────────────┴────────────────────────
  193.  
  194.      Well, this is the November 1994 issue of the IceNEWS Journal.  There was
  195. no October issue this year.  Our last issue was September 1994. Various cons-
  196. iderations meant that we didn't have the material to publish an issue last
  197. month.
  198.      
  199.      The main reason we did not have enough material was that the IceNEWS Staff
  200. had shrunk in size.  Deacon Blues and Spelunker left the Staff after the
  201. August issue and while in the middle of producing the September issue Papa
  202. Bear and Chris (now Crave) filed for extended leaves of absence.  Papa Bear
  203. got a great new job that has him doing a lot of traveling and Chris went back
  204. to school. 
  205.  
  206.      That left the active members of the IceNEWS Staff as Will (1@6754), our
  207. fearless Editor in Chief; Ima Moron (1@9661), our Lite Bytes Editor; and me,
  208. Louie (6@1, 2@7650), Contributing Editor at-Large - no, I don't know what that
  209. fancy title really means either.  Three editors couldn't keep this show on the
  210. road moving.  
  211.  
  212.      This month we  have fixed that problem.  We asked people from around
  213. IceNET to join the all-powerful IceNEWS Staff.  And, boy were we surprised when
  214. two suckers...er, great all-around nice people, took us up on our offer.  They
  215. were:
  216.  
  217.      Spotnick (1@5497) - The mod-king from Montreal, Canada.  He is taking over
  218. at Papa Bears old post of WWIV-Specific Editor on the staff.  Watch out at PB's
  219. old Desk, Spotnick.  Jack Ryan used to have it and I am positive that the
  220. lower left hand drawer still has a bomb in it that could go off at any time.
  221.  
  222.      Music Man (1@9680) occupies the Software Desk.  Yes, this is the same
  223. Music Man who doubles as the IceNET Group Four Coordinator and backup singer
  224. for Devo.  So, if you are a sysop in Group Four and MM asks for an article, you
  225. better give it to him or I'll have him throw you out of IceNET. <evil laughter>
  226.  
  227.  
  228.      That gives IceNEWS a good sized and capable staff once again.  Or maybe
  229. that is something we never had before.  Well, we are sure to find out over the
  230. course of the next few months.  The IceNEWS Staff now looks like this.
  231.  
  232.      Will 1@6754         -    Editor in Chief
  233.      Ima Moron 1@9661    -    Lite Bytes
  234.      Louie 6@1, 2@7650   -    Contributing Editor at-Large,
  235.                               Letters to the Editor
  236.      Spotnick 1@5497     -    WWIV Specific
  237.      Music Man 1@9680    -    Software
  238.  
  239.      Crave (1@7668) and Papa Bear (1@5079) are still around.  Just not
  240. very active normally.  Papa Bear popped up this month to hand in an article.
  241. I hope Chris does something similar in the future as well.  Both are just
  242. considered inactive Staff members.  Kind of the like the disabled list in the
  243. NFL.  
  244.  
  245.      Deacon Blues (2@7653) our old Editor in Chief still writes for us.  He has
  246. an interesting article in this issue.
  247.  
  248.      In other news from me... You may be interested to know that a friend of
  249. mine decided to put up a new BBS in the 716 area.  Jalpar (1@7650) asked me to
  250. help him set it up and run the board with him. So, I do a lot of my IceNEWS
  251. work off of Chaos Manor @7650 IceNET now. 
  252.  
  253.      Chaos Manor is a board for the technical minded computer person and
  254. programmers a like in the main and this has helped me to recruit work from
  255. techies and programmers around IceNET.  If you are a computer tech or a
  256. programmer and would like to write for IceNEWS, please drop one of the editors
  257. a line.  We would be glad to hear from you. 
  258.  
  259.      I went to the Buffalo Computer and Business Show on October 13th of this
  260. past month with Jalpar and Renob1 (5@7650).  Other than collecting lots of
  261. sales literature to allow me nice bathroom reading material for the next,
  262. oh...six or seven years I got to see a lot of new stuff from around the world
  263. of computing.  Two things did kind of stick out in my mind after going to it.
  264.     
  265.           1. IBM was there pushing the heck out OS/2 3.0 Warp. 
  266.           2. Microsoft was Not there and they were Not pushing
  267.              Windows/ Chicago. They were content to allow a small
  268.              local company to push Chicago for them. 
  269.  
  270.      Warp looked fantastic.  It does Windows better than Windows does Windows.
  271. It looks better than Windows. Now that I think about it, Warp's interface looks
  272. more like the Macintosh interface than the Windows interface. I saw a 486/SX
  273. lap-top with four megs of RAM run Doom ][ under Warp at a very nice speed. Now,
  274. I know IBM will play-up their product but I was impressed with Warp even after
  275. factoring in my cynicism of the whole "Business Hock the Wares" thing that was
  276. going on everywhere.
  277.  
  278.      Other things I looked out while hanging around with the IBM dudes was a
  279. RISC System/6000.  The "Dream Machine" for any bbser walking the earth today.
  280. I even took a peek at AIX 4.1.1.  IBM Unix to those of you who have no idea
  281. what that is.  It isn't anything a PC person like myself will ever use but what
  282. the heck, while I'm at a Computer Convention I'll look at anything.  Besides,
  283. you never know what you'll run into in the business world.  It is good to be
  284. familiar with a little of everything once you get a "real" job.
  285.  
  286.      As for all the "Info Superhighway" talk that is still going on in the
  287. media the Internet is becoming a major topic for BBSers.  Two local
  288. Buffalo-based companies were that the Computer Show hocking their Internet
  289. access service.
  290.  
  291.      The guys I talked to from these companies didn't seem to understand BBSes
  292. or BBSing.  They kind of struck me as aging college students who had to have an
  293. Internet account they couldn't make hide nor hair of for one semester but when
  294. all the "Information Superhighway" talk started in the press they thought to
  295. themselves "Hey, we could make a business out of this idea". 
  296.  
  297.      Another tidbit I picked up on is that a BBS has been set up for
  298. distribution for information about stolen computers.  "The Stolen Computer
  299. Registry" (PO Box 1490, Madison Square Station, NY, NY, 10159) can be reached
  300. at the following phone numbers 212-777-1291 (voice), 212-777-1290 (fax) and
  301. 212-505-7526 (BBS, 8-N-1).  Their BBS has a list of stolen computer serial
  302. numbers and provides info about recently stolen computers.  
  303.  
  304.      This is a little something everybody who owns a computer should know
  305. about.
  306.  
  307.      Now, in this issue of IceNEWS we have a lot of fun stuff for you to read.
  308. Most important is probably the first of four installments of the new WWIV
  309. Technical Documentation that was written by Midnight Tree Bandit (1@8411).  MTB
  310. did a great job and he deserves a round of applause from all of IceNET and
  311. WWIVland.  
  312.  
  313.      Also, Deacon Blues (2@7653), our former leader, has an article about
  314. everything you might have wanted to know about internet style FAQ (frequently
  315. Asked Questions) text files.  This is something that WWIVland folks should
  316. start to do.  FAQ's for WWIVnet, IceNET, WWIVlink, IceNEWS, NetXX, etc. might
  317. be a good idea.  Sure, in many cases lots of the questions are answered if you
  318. read the doc's but sometimes the FAQ-style is easier for folks to understand. 
  319.  
  320.      Spotnick (1@5497) includes the inside scoop on WWIVsys.  Music Man
  321. (1@9680) tells us what the life of a GC is like.  Papa Bear (1@5079) has
  322. upgrading blues.  Will (1@6754), our fearless editor in chief, has too many
  323. articles for me to mention them all.  
  324.  
  325.      There are many, many good articles included in this issue of IceNEWS.  I
  326. do wish I could mention them all, really.  We actually have some stuff
  327. already lined up for the December issue though...but don't let that stop you
  328. from writings for us if you get that urge. 
  329.  
  330.      Well, this is a rather lengthy version of M/E notes so I will end it here.
  331. Enjoy the issue.
  332.  
  333.  
  334.     ──══════════════════════════════════════════════════════════════════──
  335.  
  336.  
  337.   ┌───────────────────────┐
  338.   │ Letters to the Editor │  by Louie #6@1, Will 1@6754, and Ima Moron 1@9661
  339.   └───────────────────────┴───────────────────────────────────────
  340.  
  341.  
  342. Firestorm, The Solar Destroyer #1 @5409 writes the following:
  343.  
  344. Dear Sir;
  345.  
  346.      I have been reading IceNEWS with some great deal of enjoyment.  The
  347. stories are rather interesting.  However, I've noticed that Icenews does not
  348. have a line indicating a standardized filename format with the usual date or
  349. vol. # reference when renaming the WWIVNEWS.NET file.  I'd like to make
  350. Icenews file available for my users who may want to read them, but without any
  351. standard filename format, it'll stay offline....
  352.  
  353. I'd like to see this minor feature on the next issue of icenews.
  354. How about it?
  355.  
  356.      Louie, 6@1, the Letters Editor responds with:
  357.  
  358.           Thank you for reading IceNEWS.  I am glad you are enjoying reading
  359. it. 
  360.           We stopped having volume numbers on IceNEWS issues because there was
  361. no standard usage of the volumn numbering system.  The method we use in-house
  362. is NEWSYYMM.TXT for the names of the various files.  YY is the year, as in 94
  363. for 1994, and MM is the month with 09 for September, 10 for October, etc.  The
  364. September, 1994 was called NEWS9409.TXT.
  365.  
  366.           We encourage everybody who keeps back issues of IceNEWS around to
  367. use this system of file naming as it is much superior to the old volume number
  368. method. [EIC Note: And of course, we encourage everyone to keep old issues
  369. around for users to download!]
  370.  
  371.  
  372. Crazy Horse, #1 @8050, writes about IceNEWS Content:
  373.  
  374.   I really like the tech stuff. Like how to max your memory and the little
  375. things to make your bbs run faster and hog less memory. I really don't think
  376. you could put too much tech stuff.
  377.  
  378. IceNEWS EIC, Will 1@6754, Responds:
  379.  
  380.         Thanks for the comment! While we try to keep a broad range of items
  381. available in IceNEWS, I'll admit that the technical articles are generally
  382. my favorite as well (although, since I need to keep feet on all sides of
  383. the fence, I'll admit I like everything we print!). We don't have quite
  384. as much of it for this issue, but you might be interested in the "MS-DOS
  385. Memory Management" in  the Software/Programming section of this issue. Lots
  386. of advanced tricks for getting more conventional memory without buying a
  387. third party memory manager. Of course, you're encouraged to make your own
  388. submissions!
  389.  
  390.  
  391.     ──══════════════════════════════════════════════════════════════════──
  392.  
  393.  
  394.   ┌───────────────────────────────────────────┐
  395.   │ The IceNEWS Op/Ed Forum -                 │ by Tolkien, 1@2000 WWIVnet
  396.   └───────────────────────────────────────────┴─────────────────────────
  397.  
  398.                    "Is You Is Or Is You Ain't My Baby?"
  399.  
  400.      Some time ago, when people began importing one network into another (via
  401. gating and the like), I had a premonition of problems to come. The feeling
  402. was vague, unspecific, but would not go away. For some years I have thought
  403. about that, tried to pin down my unrest. Finally, the source of the unrest
  404. began to come clear: the problem is homogeneity between the networks, used
  405. by unscrupulous people as a means of venting rage while escaping any punitive
  406. consequences.
  407.  
  408.      For example, let us say someone in WWIVnet gates nastygrams to a system
  409. in IceNET. Who then deals with this problem? HOW do they deal with it? Clearly,
  410. there is little that the system being abused can do, nor could any network
  411. official in the "receiving network" do much, if anything, about it. The
  412. abusing system, after all, might not even be a member of the destination
  413. network for the hatemail. 
  414.  
  415.      What can the network officials in the originating network do about it?
  416. Should they, in fact, do anything at all? The system being abused might not
  417. even be a member of the network originating the abusive mail. There is no
  418. standard convention for dealing with such problems at this time, at least in
  419. any way other than something purely improvisational. Just whose problem is this
  420. anyway, and who addresses it if it IS a problem, if anyone?
  421.  
  422.      When this occurred to me, I was doing some research on copyright laws and
  423. so forth, and looked at the Berne Convention. The Berne Convention is a set
  424. of basic rules governing the protection of artistic, literary, and other
  425. such copyrightable works. Before the Berne Convention (which the United
  426. States signed in 1989), international copyright protection was only available
  427. to members of countries who had signed the Universal Copyright Convention,
  428. which the United States helped found and which went into effect on September 
  429. 16, 1955. By joining the Berne Convention, the United States gave its 
  430. citizens additional copyright protection in foreign countries (especially 
  431. countries willing to join the Berne Union but who had not signed the UCC).
  432.  
  433.      Now, let us backtrack a bit. I propose that members of a network have some
  434. method to address the problem of hatemail originating in foreign networks.
  435. Or perhaps it would be best to be more general: people should have a method
  436. to cause unwanted network packets to stop coming to their bulletin board; it
  437. need not necessarily be unwanted email, though that is the most likely 
  438. scenario.
  439.  
  440.      The problem is that network administrators are generally hesitant to
  441. provide such protection for systems not in their network at all, or to avoid
  442. the responsibility of addressing such cross-network problems by pointing out
  443. the fact that the network packets (probably email most often) cross network
  444. boundaries. I say, "So what!" Regardless of the homogeneity of networks, the
  445. members of ALL networks deserve at least a modicum of protection from
  446. harassment, just as the members of ALL countries deserve some basic copyright
  447. protection.
  448.  
  449.      So, I propose a new convention. Since these things are traditionally named
  450. after the place where they are discussed and signed into effect (Berne is
  451. the capital of Switzerland, Geneva is a city, etc), and since we operate
  452. in a "place" that is more virtual than actual (nd since the convention itself
  453. is vastly more virtual than actual at this point), I will even propose a
  454. tentative name: "The Virtual Protection Convention." Networks could sign it
  455. and thus provide their members some form of cross-network protection against
  456. network harassment, or could choose NOT to sign it, in which case joining
  457. systems would know in advance that such protection would not be afforded
  458. them if needed.
  459.  
  460.      Obviously, before any network could sign such a thing, it first must exist!
  461. There is the tricky part; the phrasing would need to be general enough that 
  462. the specifics of a network's functioning (either technically or politically)
  463. are irrelevant, while being clear enough that protection from cross-network
  464. harassment is still maintained. 
  465.  
  466.      So. I have pointed out a serious flaw with network homogeneity (which is
  467. an ever-growing trend). I have also pointed out a method that network adminis-
  468. trators can use to solve (at least in part) this problem - once the wording
  469. of such a convention can be worked out. To that effect, network coordinators
  470. interested in providing such protection from harassment for their member
  471. systems are urged to contact me (1@2000 WWIVnet) with suggestions for
  472. additions to such a convention (or for a better name than VPC, for that
  473. matter). If enough people work at the wording, eventually it will be good
  474. enough, and sysops and users can have at least some form of protection from
  475. cross-network abuse.
  476.  
  477.      In the end, I think this is a laudable goal, just as I believe that
  478. joining the Berne Union was a good thing for the United States to do. Someday,
  479. hopefully not long from now, we will see on network applications, "Member
  480. of the Virtual Protection Convention" or somesuch, and will thus know
  481. in advance whether we, as sysops and as users, have any protection from
  482. cross-network abuse. Sysops can brag: member of only networks that HAVE
  483. signed the VCP, thus assuring their users of some protection should THEY be
  484. harassed across networks.
  485.  
  486.      While this problem hasn't really been wide scale, I suspect that it is more
  487. common than most of us think, but simply goes unreported (or is ignored as
  488. even BEING a problem), since there is currently no real method of addressing 
  489. the problem. In any case, the problem is apt to grow, and it is my opinion
  490. that creating some form of protection is better done early than late. The
  491. growing homogeneity of networks is a mixed blessing; let us enjoy the good,
  492. but let us not fail to address the bad.
  493.  
  494.     ──══════════════════════════════════════════════════════════════════──
  495.  
  496.  
  497.                       ┌───────────────────────────────┐
  498. ──────────────────────┘ F E A T U R E   S T O R I E S └───────────────────────
  499.  
  500.  
  501.   ┌──────────────────────────────┐
  502.   │ The Facts About FAQS         │  by Deacon Blues 2@7653
  503.   └──────────────────────────────┴────────────────────────
  504.  
  505.     As the Internet, that Infobahn of Infobahns, slowly builds more and more
  506. off-ramps into WWIV BBSes and networks, readers of gated newsgroups (subs, we
  507. WWIVers call them) are going to notice something that they may not be accustom
  508. to seeing; a "Frequently Asked Questions List," better known as a FAQ, or
  509. sometimes FAQL.
  510.  
  511.     FAQs have been a staple around the Internet for years, but the idea never
  512. seemed to catch on much with WWIVers. It is generally considered good Internet
  513. etiquette to post a message asking about the existence of a FAQ for that
  514. newsgroup prior to the posting of any questions regarding the topic. This is
  515. an issue which should not be taken lightly and is something that many WWIVers
  516. who are just getting their first taste of newsgroup access through WWIV
  517. network gating may be unaware of.
  518.  
  519.     Simply stated, the purpose of a FAQ is to periodically inform others
  520. reading a newsgroup (either newbies to the newsgroup or those who've been out
  521. of it for awhile) of the answers to the most commonly asked questions
  522. regarding the topic of the newsgroup. It may sound like a bit of a waste to
  523. those accustomed to WWIV subs, but there is some good reasoning behind the
  524. idea of the FAQ.
  525.  
  526.     The FAQ was and is used by newsgroup moderators as a way to keep network
  527. traffic to a minimum. This is something that is crucial, especially
  528. considering the size and the logistics of the Internet. By periodically
  529. posting a FAQ, the number of (I hate to put it this way, but I really can't
  530. think of another way to say it) "stupid" questions that have already been
  531. asked and answered on the newsgroup many, many times before are kept to a
  532. minimum. This is particularly helpful on more popular newsgroups where there
  533. are thousands (or tens of thousands) of sites (nodes) subscribing.
  534.  
  535.     Think about the concept of the FAQ in WWIV terms. Let's say, for the sake
  536. of argument, that you're a sysop and have just subscribed to a sub for
  537. discussion of that hot, new (but fictional) TV comedy show "Sitcom: The
  538. Series."  The show is currently top-rated and the sub has many subscribers and
  539. is very active. You've been successfully added to the sub and messages start
  540. rolling in at a good clip.
  541.  
  542.     However, after reading the new posts, you notice that many of the
  543. questions asked are repetitive and the answers are sometimes contradicting.
  544. Everyone is asking when the new season premier will air. Some say it's in two
  545. weeks, some say three or four. Several people post saying they've heard rumors
  546. that the show will be changing time slots. Many reply that the rumor is true,
  547. others say it's false. Somebody asks what other shows the star of the series
  548. has been in. Many people reply. Some answer with incorrect shows, but most
  549. cite the one only other show that the actor has done.
  550.  
  551.     Sound familiar? It should. There are a number of existing WWIV subs where
  552. the message traffic is reminiscent of the scenario I outlined above, and not
  553. all of these subs deal with popular television shows. The above could happen on
  554. almost any given sub that has a topic matter that is rather specific in
  555. nature. While not applicable to most "general"-type discussion areas, a FAQ
  556. can really help to resolve the problem of repetitiveness and multiple
  557. uninformed or misinterpreted answers on subs where there are problems with
  558. such things.
  559.  
  560.     Now, if you take this WWIV sub scenario that I outlined above and
  561. multiply it ten- or twenty-fold, you then begin to have an understanding of
  562. why a FAQ is considered almost a necessity for those who moderate Internet
  563. newsgroups. As I implied, even the most popular WWIV-network sub has only a
  564. fraction of the subscribers of almost any Internet newsgroup. When I used to
  565. have regular Internet access, it was almost nothing to see a newsgroup blow in
  566. 50-100 new messages on a daily (that's right, I said daily) basis. If half of
  567. the subject matter of the messages falls into the aforementioned "stupid"
  568. question/answer category, then how much bandwidth is wasted and how much was
  569. the cost of the transmission of it?
  570.  
  571.     FAQs can be beneficial to everybody. They benefit the readers by providing
  572. them with correct answers to popular questions, therefore minimizing the
  573. number of new but spurious posts. By curtailing the need for spurious posts,
  574. the sysop and the network benefit by the loss of the spurious data and the
  575. need to distribute it.
  576.  
  577.     A good FAQ is as informative but a concise as it can be. It asks and
  578. answers as many questions as possible without going into excruciating detail.
  579. A FAQ should not have the answer to every question ever asked about the
  580. subject, but only the ones that are constantly asked, especially by those who
  581. are new to the discussion or subject. After all, the idea of a FAQ is to
  582. conserve space, so it doesn't do much good to post a 200+k FAQ every month.
  583. Also, whenever possible, the source for the answer to the question should be
  584. included, for those who really wish to verify the accuracy of the statement.
  585.  
  586.     A good FAQ is also as accurate and up-to-date as it can be. This means
  587. that the moderator or the individual in charge of keeping the FAQ should
  588. always try to confirm the information in the FAQ and correct any errors that
  589. may be contained in it. After all, it doesn't make much sense to create a FAQ
  590. with erroneous information. Older questions that have not been asked in some
  591. time or to which the answers are know by virtually all should be removed and
  592. new, fresh questions should be added periodically.
  593.  
  594.     A good FAQ does not contain opinions and hearsay. As we all know,
  595. everyone has an opinion and everybody is a critic. A FAQ should not try to
  596. pose or answer a question that is speculative or subjective by nature. FAQs
  597. are meant to answer questions, not start arguments about the validity of an
  598. answer because the answer is opinionated in nature or is second-hand news
  599. heard from a friend, who heard it from another friend, who was told by his
  600. long-lost cousin (twice removed), etc. If you're going to put it in a FAQ, you
  601. should be able to substantiate your claims.
  602.  
  603.     With that in mind, a good FAQ is also usually a group effort. Creating a
  604. FAQ that contains current and accurate information can be a difficult and
  605. time-consuming task in some cases. Certain information may be difficult for
  606. only one person to research or confirm. Also, a group effort can help
  607. stimulate interest of other readers of the sub or newsgroup. A moderator can
  608. promote the building of a FAQ on his/her sub as a "project" for readers to
  609. participate in and give the readers something constructive to do. There's an
  610. old saying that everybody knows a little bit about something, and it's due to
  611. this that many group-written FAQs are usually compiled in relatively short
  612. order and with usually accurate and credible information.
  613.  
  614.     Regardless of whether you build a FAQ alone or with others, one rule must
  615. always be followed: stick with what you know and don't stretch it. Don't try
  616. to be too diverse on an initial effort to compile a FAQ. Let it slowly grow
  617. over time, just like a tree. Prune it every now and again by purging outdated
  618. material. Keep feeding it a handful of fertilizer (as in new material and not
  619. the fertilizer of the bovine category that we're all familiar with) every now
  620. and again and it could thrive for years with relatively low-maintenance.
  621.  
  622.     As with anything that demands a good degree of accuracy, the answers to a
  623. successful FAQ must be researched and documented whenever possible. About the
  624. best place to do this is through a local public library. Many have
  625. computerized databases with published information on virtually thousands of
  626. subjects. Regardless of where the subject matter of the FAQ lies, from
  627. entertainment to computer programming and anything else, a library should
  628. yield a good number of answers for you in one stop. And if you still need
  629. more, chances are that you can use information from the library to help point
  630. you in the direction for the answers that you still need.
  631.  
  632.     A FAQ can be about any subject, and, in many cases, is a good way for
  633. someone unfamiliar with the topic to at least learn some basics. In this
  634. regard, a FAQ should be educational. In fact, I know of a number of people who
  635. simply go around collecting FAQs to put them on their BBSes in g-files or for
  636. downloading. Some CD-ROM discs for BBS use can also contain FAQs on them on
  637. any number of topics. So, if you're considering writing a FAQ, look around
  638. first. Somebody may have already written one on the subject you want to do one
  639. on, thus saving you the trouble.
  640.  
  641.     Now that you know what a FAQ is and how to go about creating one, I'll
  642. conclude this article by creating an short sample excerpt of what a finished
  643. FAQ may look like when completed. I'll again use the fictitious "Sitcom: The
  644. Series" as the model. I hope that this article helps to raise the level of
  645. awareness about FAQs, the purpose that they can serve, and the valuable asset
  646. that they can be, especially to sub moderators.
  647.  
  648. =============================================================================
  649.  
  650.                        FREQUENTLY ASKED QUESTIONS LIST
  651.                           ABOUT "SITCOM: THE SERIES"
  652.  
  653.            Compiled by: The users and readers of "Sitcom: The Sub"
  654.  
  655.                          FAQL Last Updated: 09/12/94
  656.  
  657.  
  658. Q. WHAT IS "SITCOM: THE SERIES?"
  659.  
  660. A. "Sitcom: The Series" is a weekly half-hour television program based on
  661.    "Sitcom: The Movie," a 1992 feature film comedy about life on the set of a
  662.    popular television situation comedy. "Sitcom: The Series" premiered
  663.    09/27/93 and has been renewed for a second season. (Source: Mr. Knowitall,
  664.    1@685380)
  665.  
  666. Q. WHEN AND WHERE IS IT ON?  <-- (Notice two questions on one line)
  667.  
  668. A. "Sitcom: The Series" airs in the US at 8:00 PM Eastern time each Wednesday
  669.    on cable's The Useless Programming Channel (UPC). Syndicated in all other
  670.    foreign markets. Check local listings for regional availability. (Sources:
  671.    Couch Potato, 142@6930731, The Useless Programming Channel Magazine)
  672.  
  673. Q. WHO ARE THE CHARACTERS IN IT AND WHO PLAYS THEM?
  674.  
  675. A. Burt Langhorne stars as Jack Hack, producer of "The Handy's," the show with
  676.    the show. Steve Odore plays actor Forrest Parkes, who plays Andy Handy,
  677.    owner of Handy's Mart on the fictional show. Pam Oleo portrays actress
  678.    Amanda Pumps/wife Mandy Handy. Dora Standpipe plays actress Sharon
  679.    Sharalyke/teen daughter Candy Handy. Jimmy Locke stars as heart-throb actor
  680.    Jason Mason/inept Russian immigrant store clerk Ivan Slakenoff. Various
  681.    guest stars appear as writers, directors, and as guest stars on the
  682.    fictitious show. (Source: Video Junkie, 26@8489670532)
  683.  
  684. Q. WHEN DOES THE NEW SEASON START?
  685.  
  686. A. October 27, 1994. (Source: The Useless Programming Channel Magazine)
  687.  
  688. Q. WHO WILL BE MAKING GUEST APPEARANCES IN THE NEW SEASON?
  689.  
  690. A. Asian comedian Sandy Chin, Italian race car driver "Goggles" Pisano,
  691.    football coach Buck Skin, and washed-up actor McLean Stevenson are
  692.    scheduled to appear so far. (Sources: Channel Surfer Dude, 846@48567683,
  693.    Idiot Box Magazine)
  694.  
  695. Q. IS JIMMY LOCKE REALLY LEAVING THE SHOW?
  696.  
  697. A. No. That was a rumor started by Locke's agent as a tactic to re-negotiate
  698.    Locke's contract. He has signed a new contract and will return. (Sources:
  699.    Fighting Oscar, 73@385897032, syndicated TV show "Tube Talk")
  700.     ──══════════════════════════════════════════════════════════════════──
  701.  
  702.  
  703.    ┌──────────────────────────────────┐
  704.    │ WWIV Services on the Internet    │ IceNEWS Staff
  705.    └──────────────────────────────────┴─────────────────────
  706.  
  707.         WWIV hasn't been left behind in the proliferation of Internet services
  708. over the past year. Multiple FTP sites for WWIV support have been setup at
  709. various locations, and efforts to organize a regular WWIV chat session over
  710. the Internet are underway.
  711.  
  712.         FTP (File Transfer Protocol) is an Internet service that allows users
  713. to request and transfer files from remote machines. Currently, I am aware
  714. of two Anonymous FTP sites accessible over the Internet. They are:
  715.  
  716. ftp.netcom.com - /pub/WWIV
  717.  
  718.         Chris Yarnell (IceNET 1@2914) runs this site from the nationwide
  719. Network Communications (netcom) service. While the size of the FTP site
  720. is limited by space constraints, pub/WWIV contains virtually every major
  721. WWIV utility, a large collection of FAQ (Frequently Asked Questions) files
  722. pertaining to WWIV, and even a few OS/2 related communications files.
  723. Netcom also has virtually unlimited capacity, so response and transfer times
  724. are always speedy.
  725.  
  726. helser66.res.iastate.edu -
  727.  
  728.         This is a newer site, run by Backlash (1@5552 IceNET). While the
  729. capacity for concurrent users is lower (and response times are somewhat
  730. slower), there are no disk space restrictions applying to the site, so
  731. a considerably larger number of files can be found here. The selection
  732. includes all the current WWIV Software Services releases, WWCP (WWIV->
  733. Internet gate software) files, and most popular utilities.
  734.  
  735.  
  736. The IRC (#WWIV/#wwiv)
  737.  
  738.         The Internet Relay Chat system (IRC) allows users all over the world
  739. to chat with each other in near-realtime. At any given time of day, you can
  740. expect to come across thousands of users from all over making use of the
  741. service, often speaking German. There have been several attempts to setup
  742. a set meeting time for sysops on #wwiv (or #WWIV - there seems to be little
  743. agreement on which is preferred). Over the last few weeks, people have been
  744. popping on and off almost at random. IRC servers vary in response speed and
  745. quality. Some recomended servers are irc-2.mit.edu (port 6665) and
  746. irc.colorado.edu. Some people have been pushing the "Undernet" (the sitename
  747. is no.undernet.org). This should probably not be used, as it requires a
  748. deliberate connection to a little-used server. Since the majority of
  749. IRC users are on the normal ("over") network, this keeps the channel accessible.
  750.  
  751.         Over the past few weeks, a meeting time of 1:00pm Pacific Time has
  752. been generally agreed upon, and a large number of people have been showing
  753. up for either the whole session or just for a segment.
  754.  
  755.  
  756.     ──══════════════════════════════════════════════════════════════════──
  757.  
  758.    ┌────────────────────────────────────────┐
  759.    │ A Day in the Life of an IceNET GC      │ by Music Man 1@9680
  760.    └────────────────────────────────────────┴─────────────────────
  761.  
  762.      It's 7:00 am and all is well except for an irritating sound emanating from
  763. somewhere unknown to this old man asleep on his somewhat firm bed.  Again, 
  764. the irritating sound persists with a unrelentless screech as if to say, get 
  765. up you jerk.  Being a not so argumentative type guy, I regain consciousness 
  766. again as I have for the last 45 years.  Typically, I very much despise waking 
  767. out of my slumber, but oh well, it is dirty work, but someone has to do it.
  768.  
  769.      I, Mr. GC4 of IceNET, begin my day.  Hurry up honey, it is time to go
  770. to work, yells my wife from the distance.  I think to myself,  "leave me alone,
  771. yesterday was a long day and I want to enjoy one of life's choicest moments, 
  772. sleep."  Though I try to fight it, I do get up.  Off to the shower to wash 
  773. the previous day's wear and tear.  Scrub a dub, scrub a dub, "maybe if I 
  774. scrub hard enough I will loose a couple more pounds."  "Hmm... it didn't work!"
  775.  
  776.      After a time in the bathroom I head to my Maestro BBS computer center to
  777. check of the nights email and update requests that, hopefully, came in over the
  778. night callouts through the wonderful software called Net 34.  "Hmm... what is 
  779. this, a lock up?" I say to myself.  Ah... what is the awful noise coming from 
  780. the inside of my  tower case?   Grind, Grind... another of those hard locks!  
  781. "I have simply go to get this bug fixed."  I reset the computer and net 34 
  782. finishes it's grind and good old linker unlinks the collage of packet 
  783. information.  "Ah Hah!"  "It is fixed for another day."  I anxiously go 
  784. through my mail.  In the background I hear "honey, come eat your breakfast.  
  785. You have to be at work in 10 minutes."  I, as any husband will do, I hurriedly 
  786. head to the dining room as ordered.
  787.  
  788.      Arriving at my office I rush to my computer and call out to good old
  789. Maestro BBS and quickly head to the mail again.  "Oh, another new applicant,"
  790. I think to myself.  "Let's see, this update from the AC has an application
  791. from this new connect but has no server listed.  Hm...what should I do here?
  792. I guess I will send mail off to the AC and ask to which node this new applicant
  793. will connect to."  So off to my faithful friend WWIVedit I go to write to the
  794. AC. I think as I am writing, "boy, one of my directives as a GC is to have fast
  795. updates.  How is this going to look?"  I put that off knowing that the problem
  796. is not at my end.  Thus I have a slight delay in this update.
  797.  
  798.      I read through more of my mail.  "What?  Please drop XXXX and XXXX from
  799. XXXX?" "Hmm... now that will orphan 30 systems from the network."  So off to
  800. WWIVedit again to write to all the potential systems that will no longer be
  801. in the net with this update.  I ask them whom they are planning  connecting
  802. to on this situation.  I then proceed to write to the one who is requesting
  803. the drop if he will wait till we find new connects for the orphaned systems.
  804. "I sure hope he will hold off on this until these others get connected to.
  805. I guess they can call here if they have to until they get another connect."
  806.  
  807.      As a new GC, I find myself unsure of all the ins and outs, but know that
  808. if there is a problem I cannot solve, I can go to my friend Jim, 1@1, for
  809. advice.
  810.  
  811.      I think to myself, "Boy, I sure hope I am doing the right things for Jim
  812. and his great network.  I would not want to let him down or those who depend
  813. on me."
  814.  
  815.      On to the next email.  I find a request to be AC for an area.  "Well," I
  816. think, "this area doesn't have an AC and it sure would be great to have one,
  817. and it would be much easier on me to see one there too."  So I write back again
  818. with my favorite editor.  I tell him that it would be best to have an election
  819. and to have someone nominate him/her for the position.  "It is always best to
  820. have support of others in your area code."  As I write, I hope that the sysop
  821. will understand that I am not against them being an AC, but that I want the
  822. best situation for him  and the area involved.
  823.  
  824.      There is one more email.  This is a request from a new system to be added
  825. to IceNET.   As I continue to look over the application I find that the system 
  826. has only been up for two days!  I find that the system has only two users 
  827. and a total of 10 calls.  Now at I think that this is a joke.  Reading further 
  828. I find that this is an actual application.  So, I proceed to email again.  
  829. "Thank you so very much for your consideration of IceNET to be added to your 
  830. bbs.  We count it a compliment that you would consider our network.  I would 
  831. like to suggest that you wait a while before adding any networks to your 
  832. system.  It would be beneficial to you and your users to have more time to 
  833. get acquainted with the WWIV software and all the ins and outs.  Since you 
  834. have only been up for two days at the time of this application, I would like 
  835. to suggest that you get more time under your belt.   Also, it would be good 
  836. to consider registering your software ASAP although we do allow you a period 
  837. of time to be in IceNET before registration is required.  Anyway, thank you 
  838. again for your application.  I will keep this on hold until I hear from you 
  839. again in a month or so."  After sending of this mail, I think to myself, "boy, 
  840. I hope they will understand and know we want the best for their bbs and 
  841. IceNET."
  842.  
  843.      I finish my reading of update requests and proceed to edit the bbslist.*
  844. and connect.* files carefully checking to see that no one is messed up or left
  845. out.  I then turn to a program called netup and send out the new files to Jim.
  846.  
  847.      Knowing that Jim and I both desire that IceNET be a fast, friendly and
  848. efficient network, I realize that Jim will send out this update to the rest of
  849. the network within hours. 
  850.  
  851.     "Hmm... it is now 10 am.  I guess I had better get to my rehearsals." Off I
  852. go into the rest of my day knowing full well that tomorrow will bring another
  853. day of updates and email from Group 4.
  854.  
  855.  
  856.     ──══════════════════════════════════════════════════════════════════──
  857.  
  858.                         ┌───────────────────────────┐
  859. ────────────────────────┘ W W I V - S P E C I F I C └─────────────────────────
  860.  
  861.  
  862.    ┌────────────────────────────────────────┐
  863.    │ WWIV Utilities and Modification Review │ by Calvin 1@8262
  864.    └────────────────────────────────────────┴─────────────────────
  865.  
  866. NAME OF MOD/UTILITY BEING REVIEWED: DREAM35B.MOD
  867. AUTHOR'S NAME/HANDLE              : Unca Scrooge @8398 WWIVNet
  868. VERSION NUMBER                    : N/A
  869. VERSION DATE (.EXE date stamp)    : March 28, 1994
  870. OVERALL SCORE                     : 8
  871.   INSTALLATION                    : 7
  872.   DOCUMENTATION                   : 9
  873.   PRESENTATION                    : 10
  874.   EASE OF USE                     : 10
  875.   CODING (mods only)              : 8
  876.  
  877. STATED PURPOSE OF MOD/UTILITY:
  878. ------------------------------
  879.  
  880. To provide WWIV with an informative, colorful message header
  881.  
  882. REVIEWER'S PRO COMMENTS:
  883. -----------------------
  884. This mod LOOKS GREAT.  When you have it installed on your BBS, the
  885. information normally presented in a bland, non-informative, and frankly
  886. cluttered format at the beginning of messages and mail suddenly comes to
  887. life.  I'm going to include a screen shot here, so be warned that
  888. there's ANSI coming!!!  This is a sample of a post header in a netted
  889. message base.
  890.  
  891. ╔────────────╦──────────────────────────────────────────────────────────────╗
  892. │  Title     │ Hey Unca! (:                                           74/75 │
  893. │  SubName   │ DreamWARE Comm. Support                                      │
  894. │  Name      │ Dude #897 @1111                                              │
  895. │  Date      │ Sat Mar 19 10:21:04 1994                                     │
  896. │  From      │ WWIVnet - Always Down BBS [813-555-1122]                     │
  897. │  Location  │ Western Florida                                              │
  898. ╚────────────╩──────────────────────────────────────────────■─06:05:56 pm─■─╝
  899.  
  900. Now, maybe that doesn't impress you, but look at how the stuff is laid
  901. out!?  I think it looks great, and it really adds a nice touch to your
  902. message bases and your WHOLE SYSTEM in general.  Mail and posts both get
  903. this header.
  904.  
  905. REVIEWER'S CON COMMENTS:
  906. ------------------------
  907. There are a couple problems with this mod, but they're quite small.
  908. There is a bug that makes Source Validated Mail look screwy in the
  909. header.  Now, that was fixed in a later version, but that's the other
  910. part of the problem:  Unca Scrooges dang updates DON'T come through
  911. ModNet!  I had put this mod in right when it came out (March) and about
  912. JUMPED for joy and excitement when I saw Unca Scrooge put out a new
  913. version that fixed the Source Validated Mail thing.  He also included a
  914. new, ViSiOn-X-style header that could be used instead of the default one
  915. through a simple define.  I personally thought it looked terrible, but
  916. someone must have liked it!  <g>
  917.  
  918. Here's the problem again:  Una Scrooges mods DON'T make it to my system
  919. anymore.  This mod requires a standard library he made for his mods.
  920. For THIS mod, and old one is used, which I happened to have in ModNet
  921. still.  In the update, though, it requires a NEW version of his library
  922. which I DIDN'T have.  When I finally got it, I discovered that
  923. DREAM35C.MOD would put garbage instead of message numbers in sub
  924. posts!!!  Then I heard talk of DREAM35E.  Heck, I hadn't even seen _D_
  925. come down the sub!!!!
  926.  
  927. That is why I chose to install this mod.  Unca Scrooge has an excellent
  928. series of mods that are well-written, fairly easy to install, and quite
  929. functional as well as pretty.  I WON'T put any of them in, though, until
  930. he gets a version of this mod out compatible with the new library that
  931. actually gets to me.  I mean, this mod is GREAT!
  932.  
  933. FINAL THOUGHTS:
  934. ---------------
  935. If you're not Unca Scrooge, put this mod in.  If you ARE Unca Scrooge,
  936. why on earth do you UUCode your mods, anyway?  They AREN'T that big!  I
  937. REALLY would like to see the update of this mod.  In the meantime,
  938. except for the Source Validated Mail thing, I'll leave in this
  939. EXCELLENT, PERFECTLY working mod!
  940.  
  941. REVIEW WRITTEN BY  : Calvin
  942. NET ADDRESS        : @8262 IceNET
  943. REVIEWER'S SYSTEM  : Blarty-Toot BBS (WWIV v.4.23)
  944. HEAP FREE @ //STAT : uh. Huh-huh.  Didn't check.
  945.  
  946.  
  947.     ──══════════════════════════════════════════════════════════════════──
  948.  
  949.  
  950. ┌───────────────────────────┐
  951. │Revolution Planned For '95!│ by Spotnick 1@5497
  952. └───────────────────────────┴──────────────────────────────────────────────────
  953.  
  954.    Firstly, I must welcome you to this first "WWIV Chronicles", I'm a new
  955. editor in IceNEWS and I must say that this won't be easy for me because english
  956. is my second language, but I'll do my best to be understandable. I thank the
  957. IceNEWS staff for asking me to join this team, even if I'm not really good at
  958. writing articles in english, this is a change to improve my skills.
  959.  
  960.    As my first article, it wouldn't be fair to explain my group project to the
  961. people. I will take this opportunity to introduce to everyone the WWIVsys
  962. project.
  963.  
  964.    WWIVsys project was developed many years ago by Dark Shadow, the co-author
  965. of WWIVsys. He was trying to write his own BBS software and the editors were
  966. external. We decided last summer to convert this project to WWIV for good, and
  967. this is where the story begins.
  968.  
  969.    WWIVsys stands for "WWIV SysOp Utilities", which is a local-only utility
  970. for the WWIV system operator. A demo version has been released for SysOps to
  971. see the environment and show what it should look like at the beginning, but
  972. since that release, WWIVsys improved a lot and is far superior to what it was
  973. supposed to be at the beginning.
  974.  
  975.    WWIVsys is the most powerful tool to date for the WWIV SysOp, it replace the
  976. entire SysOp functions from WWIV, puts them on an external program. Not only
  977. it does this, but it also replace the INIT.EXE that comes with WWIV. All
  978. functions are available in WWIVsys and there is some extra options also
  979. available. All functions in WWIVsys are graphical, in ANSI mode, that allow
  980. you to do everything will the minimum of keys. Mostly you will navigate with
  981. the arrow keys and the spacebar.
  982.  
  983.    One good note is that WWIVsys can allow Registered WWIV SysOps to remove
  984. all the code for the SysOp functions of WWIV, which will free a lot of memory,
  985. and save a lot of DGROUP space. But the main problem is that it doesn't work
  986. remotely, so only local SysOps can use it, so if you have remote operators, you
  987. can't remove WWIV internal functions.
  988.  
  989.    To have a look at what WWIVsys can do, here is a list of the features in
  990. WWIVsys (version is 0.4ß):
  991.  
  992.  Activity Log
  993.  ════════════
  994.         A Graphical ZLOG viewer.
  995.  
  996.  Auto Validation Keys
  997.  ════════════════════
  998.         The ALT-Fkeys options editor, to validate users online.
  999.  
  1000.  BBS Information
  1001.  ════════════════
  1002.         All information  about the BBS itself. Most of this information
  1003.         is from INIT's screen 1 and 2.
  1004.  
  1005.  Conference Editor
  1006.  ═════════════════
  1007.         The Conference Editor of WWIVsys.
  1008.  
  1009.  Dir Editor
  1010.  ══════════
  1011.         The directory editor of WWIVsys.
  1012.  
  1013.  Door Editor
  1014.  ═══════════
  1015.         The chain editor of WWIVsys, also a very good way to select the
  1016.         registered user option.
  1017.  
  1018.  External Editors
  1019.  ════════════════
  1020.         The full screen editors editor of WWIVsys.
  1021.  
  1022.  External Programs
  1023.  ═════════════════
  1024.         Allows you to edit archivers and events.
  1025.  
  1026.  External Protocols
  1027.  ══════════════════
  1028.         Allows you to edit internal and external protocols.
  1029.  
  1030.  File Editor
  1031.  ═══════════
  1032.         File Editor, many options available, very good tool to do your file
  1033.         maintenance.
  1034.  
  1035.  Gfile Editor
  1036.  ════════════
  1037.         Allows you to edit the gfiles in gfiles sections.
  1038.  
  1039.  Gfiles Section Editor
  1040.  ═════════════════════
  1041.         The Gfile Section editor of WWIVsys.
  1042.  
  1043.  Instance Editor
  1044.  ═══════════════
  1045.         Allows you to edit options of each instance you have. Won't allow to
  1046.         add instances due to the protection of WWIV.
  1047.  
  1048.  Language Editor
  1049.  ═══════════════
  1050.         The language editor of WWIVsys.
  1051.  
  1052.  Mail Manager
  1053.  ════════════
  1054.         The email manager of WWIVsys.
  1055.  
  1056.  Modem Init
  1057.  ══════════
  1058.         The modem strings & result codes editor of WWIVsys.
  1059.  
  1060.  Network Information
  1061.  ═══════════════════
  1062.         The net editor of WWIVsys
  1063.  
  1064.  Paths Editor
  1065.  ════════════
  1066.         The paths editor of WWIVsys.
  1067.  
  1068.  Security Level
  1069.  ══════════════
  1070.         This allow you to select the options for each security level, much
  1071.         better than the INIT system.
  1072.  
  1073.  SSM Manager
  1074.  ═══════════
  1075.         This allows you to edit/delete/send small system messages.
  1076.  
  1077.  Statistics
  1078.  ══════════
  1079.         Various Statistics of the WWIV system. Might be removed from release
  1080.         version.
  1081.  
  1082.  Strings Editor
  1083.  ══════════════
  1084.         WWIVese integrated to WWIVsys. The freeware external string editor of
  1085.         Dark Shadow is now included inside WWIVsys
  1086.  
  1087.  Sub Editor
  1088.  ══════════
  1089.         The board editor of WWIVsys, with the net info editor embedded, which
  1090.         is very powerful. Gives you more options than the normal WWIV system.
  1091.  
  1092.  Sub List Selector
  1093.  ═════════════════
  1094.         The ultimate networked WWIV tool! This option is unique to WWIVsys. It
  1095.         allows you to scan the SUBS.* files and press ENTER to the sub you wish
  1096.         to install, and WWIVsys will automatically install the sub for you. A
  1097.         very useful tool for SysOps.
  1098.  
  1099.  Tetris
  1100.  ══════
  1101.         The popular Tetris game, included to WWIVsys for relaxation and to
  1102.         have another dimension in WWIVsys. You will be able to play from WFC!
  1103.  
  1104.  User Editor
  1105.  ═══════════
  1106.         The most powerful user editor ever, you can simply edit ANYTHING you
  1107.         wish, this is the perfect tool for WWIV SysOp. Very easy to use.
  1108.  
  1109.  Vote Editor
  1110.  ═══════════
  1111.         Finally a vote editor that allows you to change the embedded options
  1112.         without having to delete the question. Was planned since a while, but
  1113.         finally included into WWIVsys. This is the ultimate tool for voting
  1114.         booth. Does not work currently with the Logicom Voting Booth.
  1115.  
  1116.  WWIV.INI Flags Editor
  1117.  ═════════════════════
  1118.         For the INI hater in you! This will avoid you to load an editor to
  1119.         toggle WWIV.INI options. Yes! You can toggle the YES/NO field with
  1120.         only the press of the Space Bar!
  1121.  
  1122.  WWIV.INI Editor
  1123.  ═══════════════
  1124.         To edit all other WWIV-native options, only the original ones included
  1125.         starting v4.24
  1126.  
  1127.   This is the current options available, but there are more to come. WWIVsys
  1128. is written in C, so it is fast. WWIVsys is our first real step in the
  1129. shareware market, and the price is fixed to 30$ CAN (22$ US) for the multi-
  1130. station software.
  1131.  
  1132.   Our beta team is limited, but is also composed of great members:
  1133.  
  1134.   Morbid Angel, an old friend, a very good bug finder!
  1135.   Expos, SysOp of an FMD site called Best of the Best BBS.
  1136.   Electron, SysOp of Electronic Avenue.
  1137.   Tarkan, Author of the WWIVsys documentation.
  1138.   Zu Digital, Part time beta tester, author of the WWIV.INI handling functs.
  1139.   Morgul, WWIV Support SysOp, SysOp of the Trading Post [EAST]
  1140.   Unca Scrooge, SysOp of DreamNET.
  1141.  
  1142.   Without those people, the WWIVsys project wouldn't be at the level it is now,
  1143.   this team is limited, but they do the job of 20 beta testers!
  1144.  
  1145.   Authors: Dark Shadow (Martin Bourdages)
  1146.            Spotnick    (Nicolas LeBlanc)
  1147.  
  1148.   Release Date planned: Christmas 1994 or earlier.
  1149.  
  1150.   WWIVsys will be released as a demo. The demo version will have all options
  1151. enabled for testing purpose, but it won't save any data files. So you will be
  1152. able to test the entire software before buying it. Some options will be enabled
  1153. ,
  1154. the string editor, the BBS Informations and the WWIV.INI flags editor.
  1155.  
  1156.   There is a sub about WWIVsys for those interested to have the latest news
  1157. about it, it's of course available on IceNET and auto requestable.
  1158.  
  1159.                           WWIVsys Beta Discussion
  1160.                              SubType: WWIVSYS
  1161.                                 Host: 5497
  1162.  
  1163.    You can have the demo version of WWIVsys called WWIVSYS.ZIP on most support
  1164. boards, it will give you an idea of the way WWIVsys will work, but this demo
  1165. is from the v0.1ß, many additions has been done since then, and the WWIVsys
  1166. software is getting better and better.
  1167.  
  1168.    So, that's why we, in French Mod Division, tell you to be ready for the
  1169. revolution of WWIV management in 1995!
  1170.  
  1171.  
  1172.     ──══════════════════════════════════════════════════════════════════──
  1173.  
  1174.                              ┌─────────────────┐
  1175. ─────────────────────────────┘ H A R D W A R E └──────────────────────────────
  1176.  
  1177.  
  1178.    ┌────────────────────────────────────────┐
  1179.    │ IBM Lexmark LaserPrinter 12R+          │ by Will 1@6754
  1180.    └────────────────────────────────────────┴─────────────────────
  1181.  
  1182.  
  1183.         Laserprinters have always been a tricky purchase. While nobody
  1184. can really deny their usefulness and excellent document quality,
  1185. finding the best match of features and performance for a given task can
  1186. be daunting. While Laserprinters (usually lower resolution 300x300 dpi
  1187. models) have come down in price substantially over the past year, a
  1188. really good model will still cost more than the computer that's driving
  1189. it. This is changing.
  1190.  
  1191.         Lexmark's (IBM spun their printer division off to this Kentucky
  1192. based company a few years back) printers are by no means the only choice
  1193. on the market. However, they provide one of the best mixes of features,
  1194. price, and performance currently available. Several new printers have
  1195. recently been added to the company's flagship 4039 line, the "Plus"
  1196. series, consisting of the 12 Page Per Minute 12R+ and 12L+ and the 16
  1197. Page Per Minute 16L+. After spending several months looking over these
  1198. and other products in the Laserprinter arena, we went ahead and bought a
  1199. 12R+.
  1200.  
  1201.         The 4039 series printers are large, well designed, boxes. These
  1202. are not machines to fit under your monitor lift, being fourteen by
  1203. fourteen by twelve inches (length/width/height) in dimension. This large
  1204. case is necessary to hold the fast print engine and make other options
  1205. available, but it did require significant shuffling on my desk. The
  1206. unit has a front mounted power toggle switch, and a four line, 19
  1207. characters per line LCD, with six control buttons (four of which change
  1208. function according to the current menu being displayed). The printer
  1209. uses a multi-menu system to access all configuration options. It's
  1210. extremely easy to do just about everything, including print font lists,
  1211. demo and test pages, and change printer defaults.
  1212.  
  1213.         Accessing the innards of the printer is very easy. There are no
  1214. screws, sliders, thumbpresses, or other impediments. You simply grasp
  1215. the slider above the LCD, squeeze, and lift. Elapsed time, one second.
  1216. The toner cartridge (available in 10,000 and 20,000 page versions)
  1217. slides right out for easy replacement. The printer design lifts the
  1218. cartridge free of the printer body, reducing the opportunity for damage
  1219. or injury, as well as making the process virtually effortless.
  1220.  
  1221.         In the standard configuration, the 12R+ includes two paper
  1222. insertion areas and two output areas. There's a standard paper tray
  1223. (again in the front, easily removable), and a sheet feeder attachment at
  1224. the rear for small numbers of envelopes, stationary, etc. Output is
  1225. usually produced at the top of the printer, which has a snap-on paper
  1226. block that can accommodate up to 14 inch stock (the block is removable).
  1227. Copy is delivered face down. Another front mounted toggle allows you to
  1228. have output ejected front the front of the printer onto a snap-on tray.
  1229. In this case, copy appears face-up.
  1230.         In the standard configuration, the 12R+ comes with two megabytes
  1231. of printer RAM. The unit supports a maximum of 16 megabytes, more than
  1232. enough for virtually any project (upgrading past 10 megabytes does
  1233. require the removal of the two megabyte modules the printer ships with).
  1234. Four megabyte and eight megabyte modules (to raise total memory to 6 and
  1235. 10 MB) have a street price of around $170 and $320, respectively. Access
  1236. to the printer mainboard to install these upgrades is more complicated
  1237. than toner removal, but not overly so.
  1238.  
  1239.         The printer includes a fast RISC microprocessor to decrease the
  1240. amount of time one spends waiting for jobs to print. Maximum resolution
  1241. is 600x600 dots per inch, and the printer includes Lexmark's PQET
  1242. enhancement technology to smooth edges and lines. Lexmark advertises a
  1243. 101 gray scale capability, and on my tests with 256 color grayscale
  1244. photos, the output was quite acceptable (in fact, it looked better than
  1245. the same images output on an Apple Laserwriter Pro 630). The fact
  1246. that the printer had only two megabytes of memory limited the size of
  1247. the image I could print (for the 256 greyscale image, about 4 inches by 5
  1248. inches), but did not degrade the quality. There was some slight banding
  1249. in the darker shades on a gradient fill test, but no more than on any
  1250. other printer I've seen. Fills looked excellent, as the solid blacks did
  1251. not appear as patchy as they do on many other printers.
  1252.  
  1253.         The software included is also excellent. Full Windows and OS/2
  1254. drivers and installation software are included. Both installed and
  1255. functioned without problems, and offered a lot of functionality. The +
  1256. series printers also come with a set of other bidirectional printer
  1257. utilities for use in DOS and Windows. Postscript Level 2 and Enhanced PCL 5
  1258. (Page Control Language - the Hewlett Packard standard) emulations are
  1259. both included, and you can install any combination of Windows and OS/2
  1260. emulation drivers.
  1261.  
  1262.         The printer includes 39 Adobe Type One fonts, 36 Intellifonts,
  1263. 10 Truetype, and two bitmapped fonts (including bar codes). The printer
  1264. does not included matching screen fonts, but they can be ordered from
  1265. Lexmark at no charge - just check the boxes on a postage paid card, drop
  1266. it in the mail, and Lexmark will ship you what you need, including the
  1267. printer's technical reference guide, and a converter program to allow
  1268. you to convert Truetype fonts to downloadable form.
  1269.  
  1270.         In short, the 4039-12R+ is an excellent printer and an excellent
  1271. value, working quickly, efficiently, and easily.
  1272.  
  1273. Product Statistics:
  1274.  
  1275. Model : Lexmark IBM LaserPrinter 4039-12R Plus
  1276. Pages Per Minutes : 12
  1277. Emulations : Enhanced PCL 5 and Postscript Level 2
  1278. Resolution : 600x600 dpi + PQET resolution enhancement
  1279. Memory : 2mb standard, 16mb max
  1280. Grayscales : 101
  1281. Fonts : 39 Postscript, 10 Truetype, 36 Intellifont, 2 Bitmapped
  1282.         Supports HP type font cartridges
  1283. Software : Windows and OS/2 drivers, Windows/DOS/OS/2 Printer Utilities
  1284. Options Available : Network Support
  1285.                     100 and 500 Sheet Paper Trays
  1286.                     Duplexing
  1287.                     Flash Memory and Hard Disk Drive
  1288. Other : EPA Energy Star Qualified
  1289. Street Price : $1300
  1290. Contact : Lexmark International, Inc.
  1291.           740 New Circle Road
  1292.           Lexington, KY 40511-1847
  1293.           (800)-358-5835,(606)-232-2000, Fax: 606-232-2000
  1294. In short : An excellent Laser Printer providing top notch print quality
  1295. and network upgradability as an excellent price.
  1296.  
  1297.  
  1298.     ──══════════════════════════════════════════════════════════════════──
  1299.  
  1300.  
  1301.    ┌───────────────────────────────┐
  1302.    │ Oh, Those Upgrading Blues...  │ by Papa Bear 1@5079
  1303.    └───────────────────────────────┴─────────────────────
  1304.  
  1305.   I recently came back from my trip in New Jersey, where I was working for
  1306. the past month, only to find that my precious BBS computer had some things
  1307. wrong with it.
  1308.   During that month I had been in contact with my cosysop (and wife) talking
  1309. on the phone about the health and welfare of the family, and BBS.  She had
  1310. mentioned a few weeks ago that there were things starting to get "flaky".
  1311. (With the BBS, not the family <grin>.)
  1312.   Firstly, the tape back-up stopping backing up, for no apparent reason.  It
  1313. wouldn't even take new tapes properly. To bypass this, and keep the BBS up,
  1314. she simply disabled the automatic backup routines that I had written before I
  1315. left.
  1316.   Then the laser on the CD-ROM stopped firing (we're both Electronics
  1317. Technicians, and we're always up to our elbows in the computer).  This was
  1318. VERY distressing since we do a *lot* of business off the CD-ROM.  This news
  1319. by itself seemingly indicated that the CD-ROM was simply going bad on its own.
  1320.   She then reported about this time that the 345 MB and the 540 MB hard drives
  1321. were acting very strangely.  The boot drive would boot up fine during one
  1322. reset, and then it wouldn't during another.  The machine would seem to forget
  1323. that both hard drives each had a partition on them, only to work fine an hour
  1324. later.
  1325.   BIOS information would get lost for no apparent reason...
  1326.  
  1327.   "Aha!", I though, I *know* the problem.  A power supply going bad.  I knew
  1328. the motherboard's CMOS battery was okay, since I had just bought a new
  1329. 486DX-33 motherboard and CPU a mere month before.  The power supply and case
  1330. (a full size desktop AT) were the *LAST* pieces of remaining hardware left on
  1331. my entire machine -- everything else had been upgraded throughout the years.
  1332.   So she went out and bought me a "refrigerator" (larger than full size, 10
  1333. bays) size tower case with a new 300 watt power supply.  She carefully, and
  1334. dutifully moved the guts from one machine to the other, and hooked it all up.
  1335. After it was done, around 4:30am, she thought it all worked...
  1336.  
  1337.   I came home a week or so later, to find this GREAT case with a side that
  1338. swings open, allowing easy access to the insides, and a non-working tape
  1339. back-up.  Remember that she had disabled the tape back-up software a week or
  1340. so before, and hadn't re-enabled it. Everything else seemed to work fine.
  1341.   So I opened her up (now my wife was the one to be out of town, visiting
  1342. relatives in El Paso) to see what was up.  Oh! The tape back-up's data cable
  1343. was disconnected.  So I reconnected it.  After hooking up the necessities --
  1344. being the keyboard, video, and power connectors -- I fired it up a found that
  1345. the tape back-up worked fine.  Now the CD-ROM stopped working...  This is was
  1346. strange.  Thank goodness I never button up the case until after testing the
  1347. things I think I've fixed, as it saves a lot of time if something else needs
  1348. working on!
  1349.   I doubled checked all the software first.  Always a first step, since its
  1350. easier checking that than risking breaking something else by having my big
  1351. ole hands rummaging around inside the case.  Everything looked great there!
  1352. Okay, time to go back into the case...
  1353.   I thought I had found the problem when I noticed that there were some 8-bit
  1354. cards in 16-bit card slots with 16-bit cards in slots "before" them (before
  1355. meaning that they were in a position on the motherboard that is closer to the
  1356. power supply). Sometimes this will render a 8-bit card inoperable, especially
  1357. if the 16-bit card before the 8-bit "answers up" to a "call" from the CPU
  1358. that was destined for the 8-bit card.  In this case the 8-bit card never
  1359. "hears" the call and doesn't preform its function.
  1360.   Anyway, I rearranged the cards, making sure to use the 8-bit cards in 8-bit
  1361. slots whenever possible (one of my 8-bit slots is unusable due to the
  1362. placement of the CMOS battery -- something to watch for next time you're in
  1363. the market for a new motherboard), and also making sure that the 8-bit cards
  1364. were "before" the 16-bit ones...
  1365.   Nope, still didn't work. Damn.
  1366.   So I changed the base address, via hardware jumper, on the CD-ROM from 250h
  1367. to 260h.  Success!  Well, at first it worked.  Upon rebooting, the CD-ROM
  1368. stopped working again.
  1369.   Now its 5:30am Monday morning, and I'm beat.  I've been working on this thing
  1370. since 9pm Saturday night (there was a host of other things to do, too) -- since
  1371. getting home from New Jersey. So I disable the CD-ROM's software device
  1372. drivers and get a few hours sleep.
  1373.  
  1374.   Upon waking up, I call technical support.  After describing my symptoms
  1375. (which are:  When SBCD.SYS is called the drive takes a extraordinary long time
  1376. to pass and when MSCDEX.EXE is called, the machine will only proceed booting
  1377. up if you press the EJECT button on the drive), the Technician declares my
  1378. drive dead, and turns me over to the RMA department.  (Yes, I'm getting it
  1379. repaired for free, it *is* still under warranty. <G>)
  1380.   Needing a CD-ROM, I went out and bought another, different, CD-ROM.  One
  1381. that would use the standard 50-pin SCSI connector that is on my sound card.
  1382. (The other one uses a funky kind of proprietary 38-pin SCSI connector that
  1383. requires its own interface card.)  I get it home, slap on the rails, and
  1384. install it.  After powering up, I find that the CD caddy will not insert
  1385. fully into the drive.  The manual says its supposed to go in easily,
  1386. especially since it is motor driven when the caddy go in past a certain
  1387. point.  No go, damn!
  1388.   Resigned to my fate, I start to take the rails off so I can pack it up and
  1389. return it.  By sheer luck, I notice that the screws (ones that came with the
  1390. rails for the case, not the ones that came with the drive) were long.  I
  1391. replaced those screws with the ones that came with the drive and hooked it
  1392. back up.  Finally! It works!  Some final software tweaking, and buttoning up,
  1393. and we're all set.
  1394.   But there's no audio cable to go from the CD-ROM to the sound card.  Oh
  1395. well, I'll just pick one of those up tomorrow.  For now I'll just use the
  1396. front panel mini-plug jack to plug into my stereo computer speakers.
  1397.  
  1398.   So after more than a week, we're finally stable again.  These are the
  1399. things that can happen when the power to your machine starts going bad.  I
  1400. knew that from the beginning.  What I didn't know was that the bad power,
  1401. which was beginning to fluctuate between unacceptable highs and lows, would
  1402. damage certain components in machine to the point where THEY would become
  1403. intermittent at a later date as well.  And intermittent problems have to be
  1404. the WORST things to try and track down!
  1405.   If you're going to be upgrading your machine a lot (in the past 4 years
  1406. I've had 4 hard drives, 3 motherboards, 3 floppies, 4 keyboards, RAM [DRAM
  1407. and SIMMs], etc...) keep in mind that the power supply needs to be taken into
  1408. consideration as well.  For without stable power, a computer wigs out.
  1409.   Also take into consideration the wattage you have to work with.  The
  1410. motherboard (faster CPUs draw more, too!) and anything plugging into the
  1411. motherboard draws from the total amount of power you have. On my system I
  1412. have: 486/33 CPU, 8 MB RAM, sound card, video card, IDE interface, CD-ROM
  1413. interface, I/O interface, 2 hard drives, 1 floppy, 1 tape back-up, and 1
  1414. CD-ROM.  With all of this, and a 200 watt power supply, I was most likely
  1415. pushing that power supply to major extremes.  Adding a 300 watt power supply
  1416. alleviates the problem nicely!
  1417.   Three last points:  When installing new hardware, always try to use the
  1418. parts that they have packaged with what you're installing!  Also make sure
  1419. that you have all the necessary hardware (like cables) to complete the job. 
  1420. Finally, get rest.  I made a lot of mistakes because I didn't get the sleep
  1421. over the weekend that I should have.
  1422.  
  1423.  
  1424.     ──══════════════════════════════════════════════════════════════════──
  1425.  
  1426.                  ┌─────────────────────────────────────────┐
  1427. ─────────────────┘ S O F T W A R E / P R O G R A M M I N G └──────────────────
  1428.  
  1429.  
  1430.    ┌───────────────────────────┐
  1431.    │ Borland Paradox 5.0       │ by Will 1@6754
  1432.    └───────────────────────────┴─────────────────────
  1433.  
  1434.      Borland's Paradox database has always been a powerful tool. It's also
  1435. popular, with over twenty percent market share as of June, 1994. With Borland's
  1436. other end-user database, Dbase IV/5, holding over 50%, Paradox is a clear
  1437. number 2. The new version, 5.0 for Windows, goes a long way towards resolving
  1438. the few problems with the program, and reasserts its lead over Microsoft
  1439. Access, Lotus Approach, and the rest.
  1440.         
  1441.      Paradox 5.0 is a massive expansion on it's predecessor, version
  1442. 4.5. It also runs faster, even though the minimum memory was raised from four
  1443. megabytes to six (experienced Paradox 4.5 users will know that the program
  1444. needed at least 10 to run with decent performance). Version 5.0 is usable with
  1445. eight. Much of the code is optimized, so the program compiles applications and
  1446. runs queries much faster than earlier versions.
  1447.         
  1448.      Version 5.0 includes a host of new features designed to remove
  1449. the biggest gripe people had about it - usability. While earlier versions were
  1450. not bad in terms of usability, the learning curve was higher than in competing
  1451. programs. Version 5.0 includes three "Experts", equivalent to Microsoft's
  1452. Wizards, although in some ways more flexible, that allow for virtually hands
  1453. off design of forms, reports, and mailing labels. The latter, especially, had
  1454. been tricky to put together with 4.5. With the Mailing Label Expert, however,
  1455. all you need to do is select the data, select the data order, pick from a
  1456. selection of the popular Avery brand printer labels, and the program will take
  1457. care of putting everything together. The results are excellent - in two minutes
  1458. I put together an excellent label report.
  1459.         
  1460.      Individuals developing Paradox 5.0 applications (see below) can now create
  1461. their own Experts as well, and add them to the Paradox Experts dialog. This
  1462. feature seems to be unique to Paradox, and will provide developers with an
  1463. excellent new selling point.
  1464.         
  1465.      The other learning curve enhancements are the thirteen interactive
  1466. "Coaches" that lead you through the performance of various tasks. While they
  1467. don't teach you the most advanced aspects of the program, the coaches do an
  1468. excellent job of teaching all the everyday skills you'll need, such as
  1469. designing a database set, working with a table, query, or report, and linking
  1470. multiple databases. My only gripe with the Coaches was the lack of flexibility
  1471. - when I needed to change my working directory in order to run one of them, I
  1472. had to quit the Coach midway and start over. Since they will generally be used
  1473. first by people who haven't added additional database aliases, etc, this
  1474. really won't be a problem in the long run.
  1475.  
  1476.       ObjectPAL, the Object-Oriented Paradox Application Language, has also
  1477. been expanded. The new version accepted forms and applications written in
  1478. version 4.5 flawlessly, but with over two hundred new methods (functions),
  1479. and over a hundred new properties, they didn't stay backwards compatible for
  1480. long. Using some of the new functions, I was able to cut several pages of code
  1481. from various applications. The IDE (Integrated Development Environment) has
  1482. been improved, and a new multi-Window Independent Debugger added. The new
  1483. debugger allows tracing, error stack tracing, Stop Execution and Run to End
  1484. of Method buttons, and quite a bit more, making it much easier to debug
  1485. complex applications.
  1486.         
  1487.       ObjectPAL has always been a great tool, and the new methods make it even
  1488. more so. With the release of the forthcoming Developers Edition, which will
  1489. allow the release of precompiled applications, ObjectPAL's advanced features
  1490. (such as access to most of the Windows API, for functions like playing .WAV
  1491. files) will make it an increasingly important player in the programming
  1492. arena.
  1493.         
  1494.       The Form and Report designers also contain a slew of new features that
  1495. make it even easier to design great looking screens and printouts. Most visible
  1496. are the several nice looking new frame styles, allowing for a much better
  1497. looking document. The standard dialog boxes (created with the msgInfo(),
  1498. msqQuestion(), and related ObjectPAL commands) have been changed to the
  1499. standard 3D Borland style. While they still look good, I would have liked
  1500. to be able to use the Paradox 4.5 type dialog boxes as well.
  1501.         
  1502.       Paradox's overall usability has been increased with a Project Viewer
  1503. similar to the one found in dBase 5.0 for Windows. The Project Viewer allows
  1504. you to view all of the files of various types in your working directory
  1505. graphically. I found that with the Project Viewer available, I was able to cut
  1506. the amount of time I spent opening and closing reports and forms dramatically.
  1507.         
  1508.       The database engine itself has also been improved. Beyond speed increases,
  1509. the already robust amount of field types has been augmented with Long Integer,
  1510. Time, Time Stamp, Logical, Byte, Binary, and Autoincrement fields. The last is
  1511. the most immediately useful - Autoincrement fields are Long Integer fields that
  1512. increase by one with each new record. Instead of simply adding one to the
  1513. highest value, however, they choose the highest value that has yet to be used.
  1514. The upshot of this is if you have order numbers 33, 34, and 35, and you delete
  1515. 33 and 35, the next one you add will be assigned 36, not 35, keeping all values
  1516. unique. For one wholesaler's management application, I was able to remove
  1517. nearly a page of code designed to keep order numbers unique for new records
  1518. just by changing the key fields to Autoincrement and Long Integer.
  1519.         
  1520.       Paradox 4.5 was packaged as a stand alone and as a separate networked
  1521. product. Paradox 5.0 comes in one version, with networking support and the
  1522. Workgroup Desktop, for the same list price as the networkable version of
  1523. Paradox 4.5. Borland has added support for Client Server computing and SQL.
  1524. It also includes local SQL which lets you treat local tables as SQL based
  1525. tables during application development. Paradox now supports SQL linking to
  1526. Borland Interbase, Oracle, Sybase, and Microsoft SQL servers, and Informix.
  1527. Of course, you can also use multiple copies of Paradox on a LAN, with the
  1528. purchase of the appropriate licensing.
  1529.         
  1530.       In short, the program's a winner. The program makes up for its heavier
  1531. resource requirements with enhanced speed and functionality, and ease of use
  1532. has been improved to the point where a relative database novice can get started
  1533. with a little patience.
  1534.  
  1535.  
  1536.     ──══════════════════════════════════════════════════════════════════──
  1537.  
  1538.  
  1539.    ┌───────────────────────────┐
  1540.    │ Borland Sidekick 1.0/Win  │ by Will 1@6754
  1541.    └───────────────────────────┴─────────────────────
  1542.  
  1543.     For the last couple of years I've been pretty down on the concept of
  1544. Personal Information Manager programs (PIMs). Really, I've had this feeling
  1545. since the first ones came out. Whenever my information managing needs became
  1546. too great for the mass of paper and Post-It notes that surround my various
  1547. desks, I'd always pull one out of the pile (both Shareware and Commercial) and
  1548. give it a shot. Inevitably, after about a few days of religiously using the
  1549. thing, I gave it up, consolidated the various sheets of paper into a smaller
  1550. pile, and let the cycle repeat itself.
  1551.         
  1552.     However, last week I broke the chain. While I was installing the new
  1553. version of Borland Paradox (see elsewhere in this issue), I noticed that
  1554. Borland had slipped in a promotional copy of Sidekick 1.0 for Windows. I'd
  1555. heard more good things about the various DOS versions of Sidekick, but since
  1556. the DOS program had fallen out of the update cycle, I'd never tried it out.
  1557. Since I had a little extra free time, I popped the single high-density
  1558. disk into my floppy drive and gave the program a shot.
  1559.  
  1560.     My original plan was to start out using the program as little more than a
  1561. glorified Rolodex. I had a lot of jotted down phone numbers and business cards
  1562. that I'd just as soon get out of the way. The program has three main features,
  1563. a Cardfile, which functions as an amazingly functional mini-database for
  1564. contact management purposes, a calendar/appointment book, and "Notes",
  1565. which is essentially a pad of virtual paper for jotting down minor notes to
  1566. oneself, or larger projects.
  1567.         
  1568.      The Cardfile was considerably more full featured than I though it would
  1569. be. Besides just entering data, and scrolling up and down to look things up,
  1570. it provides some very interesting features to access the data once you have it
  1571. in the program. The Print menu, for instance, will allow you to print labels
  1572. and address book pages (using the standard Avery label sheets and address pages)
  1573. for the entire database, the current record, or just the items you've marked
  1574. with a left-mouse click. You have complete control over what the resulting
  1575. printout looks like, as well. I had less trouble doing a label merge in
  1576. Sidekick than I did the first time I used Ami Pro for the purpose, and I've
  1577. always regarded the Ami Pro mailmerge functions as very usable.
  1578.  
  1579.       After I decided I liked the Cardfile, I decided to see if I'd have any
  1580. use for the Calendar and Notes portions of the program. The Calendar/
  1581. Appointment Schedule was also powerful and easy to use. While I don't think
  1582. that I personally will be getting much mileage out of that part of the program,
  1583. I like having it available. The scheduling allows you to view the year from
  1584. daily/weekly/monthly/yearly perspectives, and click on the relevant location
  1585. to add an appointment. You can print summaries of available appointment slots,
  1586. FiloFax and DayRunner format summaries, set multi day and recurring events and
  1587. reminders, etc.
  1588.         
  1589.       The Notes section of the program was probably the least impressive, while
  1590. still being impressive - it essentially functions like a stack of paper and
  1591. file folders. It's useful, especially since you can easily divide notes into
  1592. categories, and search through them for specific topics. You can also use
  1593. Cardfile data for a mail merge. What I didn't notice about Sidekick for Windows
  1594. until I'd been playing with it a while is the fact that it's obviously meant to
  1595. be a program that you can stay in 100% of the time. It has two features to
  1596. allow this - QuickMenus and the LaunchBar. QuickMenus are the most interesting.
  1597. It sits next to the Window control button in the upper lefthand corner of all
  1598. your applications. Clicking on it allows you to access all of the SideKick
  1599. functions, and quickly switch back and forth between open applications. I'm
  1600. eagerly awaiting an OS/2 version of this. It can be started independently from
  1601. your Startup Group in Windows, so you don't need Sidekick loaded to use the
  1602. utility, and you can launch Sidekick from it.
  1603.         
  1604.       The LaunchBar is more straight forward - a gray bar (although all the
  1605. colors in the program are customizable) at the bottom of the screen that allows
  1606. you to select and launch various applications from within the program. I also
  1607. found several other, smaller, utility programs embedded within the Sidekick for
  1608. Windows framework, including a multi-function 13 digit transaction recording
  1609. calculator, and a phone auto-dialer that works with a modem and the Phone field
  1610. in the Cardfile.
  1611.         
  1612.      I've also taken to bringing a laptop into classes, and using the Notes
  1613. feature of SideKick to keep my class notes. While I hadn't been overly
  1614. impressed with this aspect of the program when I first used it, I've realized
  1615. the value of the way it works. I can keep separate folders for each class,
  1616. separate, but easily accessed files for each note, and search through all the
  1617. notes in the system or for a subject for certain text (for instance, if I
  1618. want to find all the notes that mention Murmansk, I can search through the
  1619. Russian History folder, and it will provide me with a list of all the notes
  1620. files containing a reference to Murmansk. It's amazingly useful, besides
  1621. cutting clutter quite a bit.
  1622.         
  1623.      In short, I've become a PIM convert. I'm in and out of Sidekick several
  1624. times a day on my main system, and I always have it loaded on my other,
  1625. Windows dedicated, computer. While I have a few problems still with the program
  1626. (I'd like to have some file management utilities built in, for instance, and a
  1627. more desktop based approach to icon placement for the LaunchBar and the icons
  1628. representing the internal programs), I'm quite happy with this first attempt.
  1629. The PIM may just have come into it's own.
  1630.         
  1631.  
  1632.     ──══════════════════════════════════════════════════════════════════──
  1633.  
  1634.    ┌───────────────────────────┐
  1635.    │ MS-DOS Memory Management  │ by Renob1 5@7650
  1636.    └───────────────────────────┴─────────────────────
  1637.  
  1638.      The MS-DOS memory management system is good, but sometimes just not good
  1639. enough.  Before running out to get a better memory management package like
  1640. Quarterdeck QEMM, Qualitas 386Max, or Helix NetRoom -- which can cost more
  1641. than a DOS upgrade itself -- this article will present ways to configure
  1642. the MS-DOS 5.0, 6.x, and Windows 3.1 EMM386.EXE memory manager to help you
  1643. get the most Upper memory possible.  In most cases, those who are currently
  1644. unable to load everything they need into Upper memory on 386 or better
  1645. computers will benefit greatly from this information.
  1646.  
  1647.      Unfortunately, MS-DOS doesn't provide memory management for 286 or lower
  1648. computers, other than Extended (XMS) memory services via the HIMEM.SYS
  1649. driver (and in most cases, it only works for a system with more than 1 meg
  1650. of memory installed).  There's not much you can do on a 286 without the use
  1651. of Upper memory, which is where you could load device drivers and TSRs
  1652. high, out of conventional memory.  There is hope, though!  A few good
  1653. shareware Upper memory managers that support a lot of 286 systems do exist,
  1654. the best being LastByte, MemKit, UMB_DRVR, and UMM (all of which are
  1655. available online).  Popular commercial offerings that support some 286
  1656. systems include Quarterdeck QRAM, Qualitas MOVE'EM, and Helix NetRoom.
  1657.  
  1658.      If the following information doesn't help you load everything you need
  1659. into Upper memory, or one of the EMM386 configuration settings does not work
  1660. on your computer, then your only options are the following:  Invest in another
  1661. memory management package (mentioned above); load only the device drivers
  1662. and TSRs that you absolutely need; or live with the reduced conventional
  1663. memory, but use a multi-config setup for running those huge applications or
  1664. games.
  1665.  
  1666.     Now on with the show... The MS-DOS memory management system consists of
  1667. three parts:
  1668.  
  1669.      First is the HIMEM.SYS device driver.  HIMEM.SYS provides access to the
  1670. computer's Extended memory, which is that above 1 meg.  HIMEM.SYS makes the
  1671. physical Extended memory accessible as XMS memory to programs that are
  1672. designed to take advantage of it.  (XMS is short for "eXtended Memory
  1673. Specification"; XMS memory and Extended memory generally refer to the same
  1674. thing these days, but they are technically different.)  HIMEM.SYS also
  1675. creates the High Memory Area (HMA) from the first 64K of Extended memory,
  1676. which DOS can use for loading its own kernel into and free up close to 50K
  1677. of conventional memory (which is that below 640K and being the most
  1678. important to programs).  For the HMA to be available on most systems, there
  1679. must be at least 64K of Extended memory above 1 meg in the computer;
  1680. computers with only 1 meg of total system memory usually will not be able
  1681. to take advantage of loading DOS into the HMA.
  1682.  
  1683.      Second is the EMM386.EXE device driver, which provides access to Upper
  1684. memory and/or Expanded (EMS) memory.  Upper memory is what EMM386.EXE
  1685. creates from the areas of Reserved memory between 640K and 1 meg that are
  1686. not occupied by any ROM BIOS.  Expanded (or EMS, short for "Expanded Memory
  1687. Specification") memory is a special type of memory in a computer, a
  1688. standard for extra memory that came long before XMS.  On 386 or better
  1689. systems, EMM386.EXE simulates EMS memory from the XMS memory provided by
  1690. HIMEM.SYS.  That's one reason why EMM386.EXE requires that HIMEM.SYS be
  1691. loaded first in CONFIG.SYS to work.
  1692.  
  1693.      Third is the line DOS=HIGH,UMB in CONFIG.SYS.  The UMB part is necessary
  1694. for DOS to be able to access the Upper memory provided by EMM386.EXE.  The
  1695. HIGH part isn't really required, but it does perform a very important
  1696. function in that it frees up close to 50K of conventional memory by moving
  1697. the DOS kernel into the HMA created by HIMEM.SYS -- Its use is highly
  1698. recommended!  Note that you can have separate DOS=HIGH and DOS=UMB lines if
  1699. you want (something MS-DOS 6 MemMaker likes to do), but combining them as
  1700. DOS=HIGH,UMB is a bit more tidy and it is one less line for DOS to process
  1701. at bootup.
  1702.  
  1703.      So, lines similar to the following must exist in CONFIG.SYS for DOS to
  1704. manage the memory in the computer:
  1705.  
  1706.  DOS=HIGH,UMB
  1707.  DEVICE=HIMEM.SYS
  1708.  DEVICE=EMM386.EXE
  1709.  
  1710.      HIMEM.SYS must be the first of any DEVICE lines to load in CONFIG.SYS, and
  1711. EMM386.EXE must always load directly after HIMEM.SYS (in normal setups).
  1712. By the way, it actually doesn't matter where lines like DOS=HIGH,UMB,
  1713. FILES, BUFFERS, etc. appear in CONFIG.SYS; the only order that matters to
  1714. DOS is that of DEVICE and DEVICEHIGH lines.  Note that the path to
  1715. HIMEM.SYS and EMM386.EXE is not shown above, since that of course varies
  1716. per setup and depends on whether you're using MS-DOS 5.0, 6.x, or Windows
  1717. 3.1.  The MS-DOS 6.2 versions of HIMEM.SYS and EMM386.EXE are the newest,
  1718. the MS-DOS 6.0 versions are older, the Windows 3.1 versions are older
  1719. still, and the MS-DOS 5.0 versions are the oldest.  Even if you have
  1720. Windows 3.1 installed, always use the newest versions of HIMEM.SYS and
  1721. EMM386.EXE since they contain fixes and enhancements over previous versions
  1722. and are meant to replace them.
  1723.  
  1724.      Now EMM386.EXE must be specially configured to get what we want:  Maximum
  1725. Upper memory.  To do this, one of the following EMM386.EXE lines is to be
  1726. used:
  1727.  
  1728.  1)  For Upper memory only, no EMS memory support:
  1729.  
  1730.  - MS-DOS 5.0, 6.x, or Windows 3.1:
  1731.  DEVICE=EMM386.EXE NOEMS I=B000-B7FF I=C800-F7FF
  1732.  
  1733.  - MS-DOS 6.x only alternative:
  1734.  DEVICE=EMM386.EXE NOEMS I=B000-B7FF I=C800-EFFF HIGHSCAN
  1735.  
  1736.     This EMM386.EXE line is used when you want Upper memory only, and don't
  1737. need EMS memory support for DOS programs, which is specified by the NOEMS
  1738. parameter.  You gain an extra 64K of Upper memory for loading things high
  1739. when not using EMS memory support.
  1740.  
  1741.  2)  For both Upper memory and EMS memory support:
  1742.  
  1743.  - MS-DOS 5.0 or Windows 3.1:
  1744.  DEVICE=EMM386.EXE [memory] RAM FRAME=C800 I=B000-B7FF I=D800-F7FF
  1745.  
  1746.  - MS-DOS 6.x only alternatives:
  1747.  DEVICE=EMM386.EXE MIN=0 RAM FRAME=C800 I=B000-B7FF I=D800-F7FF
  1748.    or
  1749.  DEVICE=EMM386.EXE MIN=0 RAM FRAME=C800 I=B000-B7FF I=D800-EFFF HIGHSCAN
  1750.  
  1751.     This EMM386.EXE line is used when you need both Upper memory and EMS memory
  1752. support for DOS programs, which is specified by the RAM parameter.  With
  1753. the MS-DOS 5.0 or Windows 3.1 EMM386.EXE, you must specify a value for the
  1754. amount of EMS memory you wish to have available to DOS programs if you want
  1755. more than the default of 256K.  With MS-DOS 6.x, a number no longer has to
  1756. be specified to set the amount of EMS memory, because its EMM386.EXE will
  1757. dynamically allocate as much EMS memory as a program requests, and then
  1758. release it back to XMS memory when the program is done.  Using the MIN=0
  1759. parameter means to not permanently reserve any EMS memory from the XMS
  1760. memory pool (otherwise the default is 256K reserved), thereby making the
  1761. largest amount of XMS memory available when EMS is not actually in use.
  1762. (This is just like how Quarterdeck QEMM has been working all these years!)
  1763.  
  1764.  
  1765.      The following explains the parameters common to both EMM386.EXE lines:
  1766.  
  1767.      The I=B000-B7FF parameter tells EMM386.EXE to convert the area of Reserved
  1768. memory that is normally for a monochrome video adapter into Upper memory.
  1769. This is perfectly safe to do if you do not use monochrome, and gains 32K
  1770. more Upper memory.  The only major problems this may cause are when using
  1771. special high-resolution video modes or monochrome emulation modes of
  1772. certain SuperVGA video adapters; and with Windows 3.1, depending on the
  1773. Windows video driver used.  The video mode problem will vary greatly with
  1774. the ton of video cards out there, but it is quite rare.  The Windows
  1775. problem can be solved by using the MONOUMB.386 driver available from
  1776. Microsoft or included with MS-DOS 6.x, which involves adding the line
  1777. DEVICE=MONOUMB.386 under the [386Enh] section of the SYSTEM.INI file in the
  1778. Windows directory (either copy the MONOUMB.386 file to the Windows System
  1779. directory, or supply the full path to the MONOUMB.386 on the DEVICE line).
  1780.  
  1781.      The I=C800-F7FF parameter (or alternate I=C800-EFFF HIGHSCAN parameters for
  1782. MS-DOS 6.x only; HIGHSCAN is really the same as I=F000-F7FF) converts the
  1783. largest free area of Reserved memory normally empty on most systems (with
  1784. one hard disk controller, no special expansion cards, and that are not IBM
  1785. PS/2s) into Upper memory.  If the RAM parameter is being used, then D800 is
  1786. used instead of C800 because of the 64K EMS Page Frame required in Upper
  1787. memory for EMS memory support.  The EMS Page Frame is placed at the lowest
  1788. free area by the FRAME=C800 parameter so the largest free area of Upper
  1789. memory is created.  Either of these settings is the most common, but it
  1790. will of course differ per system.  Some things to note about this memory
  1791. range:
  1792.  
  1793.  - Including the F000-F7FF area (or using HIGHSCAN with MS-DOS 6.x) converts 
  1794.  the first half of the System ROM BIOS into Upper memory.  This gains an 
  1795.  extra 32K of Upper memory, but unfortunately it causes problems on quite a 
  1796.  few systems.  For example, many system will exhibit erratic floppy drive 
  1797.  behavior or plain old system lockups at some point.  In my experience, I've 
  1798.  found it necessary with a 1990 AMI BIOS to use F6FF instead of F7FF (or 
  1799.  HIGHSCAN) to avoid floppy drive problems in certain DOS programs and in 
  1800.  Windows; however, F7FF (and HIGHSCAN) works fine with a Pheonix BIOS on 
  1801.  another system I use.  You will just have to test it out on your system.  
  1802.  Some less-compatible systems may not like Upper memory in the System ROM 
  1803.  BIOS area at all.
  1804.  
  1805.  - Adapter cards like secondary IDE hard disk controllers and SCSI 
  1806.  controllers may use 8K or more for their own ROM starting at the C800 
  1807.  address.
  1808.  
  1809.  - Network interface cards may place their RAM buffers in the D000-DFFF 
  1810.  area.
  1811.  
  1812.  - IBM PS/2 computers use the E000-EFFF range for their Advanced BIOS.  Some 
  1813.  computers (such as Epsons) use this range for the VGA BIOS instead of the 
  1814.  normal C000-C7FF range.
  1815.  
  1816.      To avoid memory conflicts, your best bet would be to first examine the
  1817. Reserved memory area for the spaces that do not contain ROM.  This way you
  1818. can see if multiple I= parameters must be used instead of one big range,
  1819. and what would be the best range for the 64K EMS Page Frame (if using EMS
  1820. memory support).  Such a utility to do this is called MSD (Microsoft
  1821. Diagnostics) and comes with Windows 3.1, MS-DOS 6.x, and most other
  1822. Microsoft products.  There is also a utility from PC Magazine called
  1823. UMASCAN that displays a nice map of the Reserved memory area.
  1824.  
  1825.      There is one more trick for MS-DOS 6.x users.  Using the EMM386.EXE
  1826. parameter NOHI will prevent EMM386.EXE from taking 4K of Reserved memory
  1827. for its own code.  That 4K will then take away from free conventional
  1828. memory, however if you have a device driver or TSR that requires just a
  1829. couple more K to load resident in Upper memory, then that trade off is well
  1830. worth it.  I had to do this myself in order to fit SHARE into Upper memory;
  1831. EMM386.EXE now takes up 4K more conventional memory, but the 17K SHARE
  1832. driver fits into Upper memory now.
  1833.  
  1834.      After you have configured EMM386.EXE for maximum Upper memory, you should
  1835. optimize the loading order of your device drivers and TSRs so hopefully all
  1836. of them fit into Upper memory now.
  1837.  
  1838.      The easiest way to do this with MS-DOS 6.x is to run MemMaker in its Custom
  1839. mode, and then if necessary change the EMM386.EXE line back to the way you
  1840. configured it for maximum Upper memory.  Since MemMaker puts a size value
  1841. (the /L parameter) on each device driver and TSR load line, you can easily
  1842. reorder them to load the ones with the largest size values first since they
  1843. require the most free Upper memory to initialize in before going resident.
  1844. Usually MemMaker does this reordering for you, but not always for the best.
  1845.  
  1846.      If you are not using MS-DOS 6.x, then optimizing the loading order of your
  1847. device drivers and TSRs is a more involved trial-and-error deal.  You first
  1848. have to check memory usage with the MEM /C command and note what device
  1849. driver or TSR is not loading into Upper memory.  Then move the line that
  1850. loads that device driver or TSR higher up in CONFIG.SYS or AUTOEXEC.BAT.
  1851. Reboot and check with MEM /C again.  Keep trying if necessary until you
  1852. hopefully get everything to load into Upper memory.  Remember that no other
  1853. device driver should be loaded before HIMEM.SYS and EMM386.EXE in
  1854. CONFIG.SYS (in normal setups).
  1855.  
  1856.      If you use a certain device driver or TSR that must load after another one
  1857. to work properly, then you can't always optimize the loading order of them.
  1858. An example of this is the new SmartDrive 5.0 included with MS-DOS 6.2,
  1859. which can now cache a CD-ROM drive.  In order to cache a CD-ROM drive,
  1860. SmartDrive must be loaded after the MSCDEX.EXE driver.  Since MSCDEX.EXE
  1861. must be loaded first, and most load it into Upper memory, SmartDrive may
  1862. not be able to completely fit into Upper memory anymore (depending on what
  1863. else has been loaded into Upper memory already).
  1864.  
  1865.      Hopefully the information discussed here will help you load everything you
  1866. need to load into Upper memory, without having to spend more on a third-
  1867. party memory management package!
  1868.  
  1869.  
  1870.     ──══════════════════════════════════════════════════════════════════──
  1871.  
  1872.  
  1873.                         ┌───────────────────────┐
  1874. ────────────────────────┘ P R O G R A M M I N G └──────────────────────────
  1875.  
  1876.   ┌───────────────────────────────────┐
  1877.   │ Tips on Sound Blaster Programming │ Odieman 949@2132 WWIVnet
  1878.   └───────────────────────────────────┴─────────────────────────────
  1879.  
  1880.  
  1881.                                  Introduction
  1882.  
  1883.      Two of the most popular sound cards for the IBM-PC, the AdLib and the
  1884. Sound Blaster, suffer from a real dearth of clear documentation for programmers.
  1885. AdLib Inc. and Creative Labs, Inc. both sell developers kits for their sound
  1886. cards, but these are expensive, and (in the case of the Sound Blaster
  1887. developers' kit) can be extremely cryptic. This article is intended to provide
  1888. programmers with a source of information about the programming of these sound
  1889. cards. The information contained in this article is a combination of
  1890. information found in the Sound Blaster Software Developer's Kit, and that
  1891. learned by painful experience.  Some of the information may not be valid for
  1892. AdLib cards; if this is so, I apologize in advance.
  1893.  
  1894.      Please note that numbers will be given in hexadecimal, unless otherwise
  1895. indicated.  If a number is written out longhand (sixteen instead of 16)
  1896. it is in decimal.
  1897.  
  1898.                                 Sound Card I/O
  1899.  
  1900.      The sound card is programmed by sending data to its internal registers
  1901. via its two I/O ports:
  1902.  
  1903.              0388 (hex) - Address/Status port  (R/W)
  1904.              0389 (hex) - Data port            (W/O)
  1905.  
  1906.      The Sound Blaster Pro is capable of stereo FM music, which is accessed
  1907. in exactly the same manner.  Ports 0220 and 0221 (hex) are the address/data
  1908. ports for the left speaker, and ports 0222 and 0223 (hex) are the ports for
  1909. the right speaker.  Ports 0388 and 0389 (hex) will cause both speakers to
  1910. output sound.
  1911.  
  1912.      The sound card possesses an array of two hundred forty-four registers;
  1913. to write to a particular register, send the register number (01-F5) to the
  1914. address port, and the desired value to the data port. After writing to the
  1915. register port, you must wait twelve cycles before sending the data; after
  1916. writing the data, eighty-four cycles must elapse before any other sound card
  1917. operation may be performed.
  1918.  
  1919.      The AdLib manual gives the wait times in microseconds: three point three
  1920. (3.3) microseconds for the address, and twenty-three (23) microseconds for the
  1921. data.
  1922.   
  1923.      The most accurate method of producing the delay is to read the register
  1924. port six times after writing to the register port, and read the register
  1925. port thirty-five times after writing to the data port.
  1926.  
  1927.      The sound card registers are write-only.
  1928.  
  1929.      The address port also functions as a sound card status byte.  To 
  1930. retrieve the sound card's status, simply read port 388.  The status
  1931. byte has the following structure:
  1932.  
  1933.               7      6      5      4      3      2      1      0
  1934.           +------+------+------+------+------+------+------+------+
  1935.           | both | tmr  | tmr  |              unused              |
  1936.           | tmrs |  1   |  2   |                                  |
  1937.           +------+------+------+------+------+------+------+------+
  1938.  
  1939.           Bit 7 - set if either timer has expired.
  1940.               6 - set if timer 1 has expired.
  1941.               5 - set if timer 2 has expired.
  1942.  
  1943.                                 The Registers
  1944.  
  1945.      The following table shows the function of each register in the sound
  1946. card.  Registers will be explained in detail after the table.  Registers
  1947. not listed are unused.
  1948.  
  1949.    Address      Function
  1950.    -------      ----------------------------------------------------
  1951.      01         Test LSI / Enable waveform control
  1952.      02         Timer 1 data
  1953.      03         Timer 2 data
  1954.      04         Timer control flags
  1955.      08         Speech synthesis mode / Keyboard split note select
  1956.    20..35       Amp Mod / Vibrato / EG type / Key Scaling / Multiple
  1957.    40..55       Key scaling level / Operator output level
  1958.    60..75       Attack Rate / Decay Rate
  1959.    80..95       Sustain Level / Release Rate
  1960.    A0..A8       Frequency (low 8 bits)
  1961.    B0..B8       Key On / Octave / Frequency (high 2 bits)
  1962.      BD         AM depth / Vibrato depth / Rhythm control
  1963.    C0..C8       Feedback strength / Connection type
  1964.    E0..F5       Wave Select
  1965.  
  1966.      The groupings of twenty-two registers (20-35, 40-55, etc.) have an odd
  1967. order due to the use of two operators for each FM voice.  The following
  1968. table shows the offsets within each group of registers for each operator.
  1969.  
  1970.    Channel        1   2   3   4   5   6   7   8   9
  1971.    Operator 1    00  01  02  08  09  0A  10  11  12
  1972.    Operator 2    03  04  05  0B  0C  0D  13  14  15
  1973.  
  1974.      Thus, the addresses of the attack/decay bytes for channel 3 are 62 for
  1975. the first operator, and 65 for the second.  (The address of the second
  1976. operator is always the address of the first operator plus three).
  1977.  
  1978.                        Explanations of Registers
  1979.  
  1980. Byte 01 - This byte is normally used to test the LSI device.  All bits
  1981.           should normally be zero.  Bit 5, if enabled, allows the FM 
  1982.           chips to control the waveform of each operator.
  1983.  
  1984.              7     6     5     4     3     2     1     0
  1985.           +-----+-----+-----+-----+-----+-----+-----+-----+
  1986.           |   unused  | WS  |            unused           |
  1987.           +-----+-----+-----+-----+-----+-----+-----+-----+
  1988.  
  1989. Byte 02 - Timer 1 Data.  If Timer 1 is enabled, the value in this 
  1990.           register will be incremented until it overflows.  Upon
  1991.           overflow, the sound card will signal a TIMER interrupt
  1992.           (INT 08) and set bits 7 and 6 in its status byte.  The
  1993.           value for this timer is incremented every eighty (80)
  1994.           microseconds.
  1995.  
  1996. Byte 03 - Timer 2 Data.  If Timer 2 is enabled, the value in this 
  1997.           register will be incremented until it overflows.  Upon
  1998.           overflow, the sound card will signal a TIMER interrupt
  1999.           (INT 08) and set bits 7 and 5 in its status byte.  The
  2000.           value for this timer is incremented every three hundred
  2001.           twenty (320) microseconds.
  2002.  
  2003. Byte 04 - Timer Control Byte
  2004.  
  2005.         7     6     5     4     3     2     1     0
  2006.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2007.      | IRQ | T1  | T2  |     unused      | T2  | T1  |
  2008.      | RST | MSK | MSK |                 | CTL | CTL |
  2009.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2010.  
  2011.           bit 7 - Resets the flags for timers 1 & 2.  If set,
  2012.                   all other bits are ignored.
  2013.           bit 6 - Masks Timer 1.  If set, bit 0 is ignored.
  2014.           bit 5 - Masks Timer 2.  If set, bit 1 is ignored.
  2015.           bit 1 - When clear, Timer 2 does not operate.
  2016.                   When set, the value from byte 03 is loaded into
  2017.                   Timer 2, and incrementation begins.
  2018.           bit 0 - When clear, Timer 1 does not operate.
  2019.                   When set, the value from byte 02 is loaded into
  2020.                   Timer 1, and incrementation begins.
  2021.  
  2022. Bytes 40-55 - Level Key Scaling / Total Level
  2023.  
  2024.         7     6     5     4     3     2     1     0
  2025.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2026.      |  Scaling  |             Total Level           |
  2027.      |   Level   | 24    12     6     3    1.5   .75 | <-- dB
  2028.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2029.  
  2030.           bits 7-6 - causes output levels to decrease as the frequency
  2031.                      rises:
  2032.  
  2033.                           00   -  no change
  2034.                           10   -  1.5 dB/8ve
  2035.                           01   -  3 dB/8ve
  2036.                           11   -  6 dB/8ve
  2037.  
  2038.           bits 5-0 - controls the total output level of the operator.
  2039.                      all bits CLEAR is loudest; all bits SET is the
  2040.                      softest.  Don't ask me why.
  2041.  
  2042. Bytes 60-75 - Attack Rate / Decay Rate
  2043.  
  2044.         7     6     5     4     3     2     1     0
  2045.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2046.      |         Attack        |          Decay        |
  2047.      |          Rate         |          Rate         |
  2048.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2049.  
  2050.           bits 7-4 - Attack rate.  0 is the slowest, F is the fastest.
  2051.           bits 3-0 - Decay rate.  0 is the slowest, F is the fastest.
  2052.  
  2053. Bytes 80-95 - Sustain Level / Release Rate
  2054.  
  2055.         7     6     5     4     3     2     1     0
  2056.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2057.      |     Sustain Level     |         Release       |
  2058.      | 24    12     6     3  |          Rate         |
  2059.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2060.  
  2061.           bits 7-4 - Sustain Level.  0 is the loudest, F is the softest.
  2062.           bits 3-0 - Release Rate.  0 is the slowest, F is the fastest.
  2063.  
  2064. Bytes A0-B8 - Octave / F-Number / Key-On
  2065.  
  2066.         7     6     5     4     3     2     1     0
  2067.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2068.      |        F-Number (least significant byte)      |  (A0-A8)
  2069.      |                                               |
  2070.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2071.  
  2072.         7     6     5     4     3     2     1     0
  2073.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2074.      |  Unused   | Key |    Octave       | F-Number  |  (B0-B8)
  2075.      |           | On  |                 | most sig. |
  2076.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2077.  
  2078.           bit   5  - Channel is voiced when set, silent when clear.
  2079.           bits 4-2 - Octave (0-7).  0 is lowest, 7 is highest.
  2080.           bits 1-0 - Most significant bits of F-number.
  2081.  
  2082.      In octave 4, the F-number values for the chromatic scale and their 
  2083.      corresponding frequencies would be:
  2084.  
  2085.         F Number     Frequency     Note
  2086.            16B          277.2       C#
  2087.            181          293.7       D
  2088.            198          311.1       D#
  2089.            1B0          329.6       E
  2090.            1CA          349.2       F
  2091.            1E5          370.0       F#
  2092.            202          392.0       G
  2093.            220          415.3       G#
  2094.            241          440.0       A
  2095.            263          466.2       A#
  2096.            287          493.9       B
  2097.            2AE          523.3       C
  2098.  
  2099. Bytes C0-C8 - Feedback / Algorithm
  2100.  
  2101.         7     6     5     4     3     2     1     0
  2102.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2103.      |         unused        |    Feedback     | Alg |
  2104.      |                       |                 |     |
  2105.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2106.  
  2107.           bits 3-1 - Feedback strength.  If all three bits are set to
  2108.                      zero, no feedback is present.  With values 1-7,
  2109.                      operator 1 will send a portion of its output back
  2110.                      into itself.  1 is the least amount of feedback,
  2111.                      7 is the most.
  2112.           bit 0    - If set to 0, operator 1 modulates operator 2.  In this
  2113.                      case, operator 2 is the only one producing sound.
  2114.                      If set to 1, both operators produce sound directly.
  2115.                      Complex sounds are more easily created if the algorithm
  2116.                      is set to 0.
  2117.  
  2118. Byte BD - Amplitude Modulation Depth / Vibrato Depth / Rhythm
  2119.  
  2120. To further illustrate the relationship, the addresses needed to control
  2121. channel 5 are:
  2122.  
  2123.     29 - Operator 1  AM/VIB/EG/KSR/Multiplier
  2124.     2C - Operator 2  AM/VIB/EG/KSR/Multiplier
  2125.     49 - Operator 1  KSL/Output Level
  2126.     4C - Operator 2  KSL/Output Level
  2127.     69 - Operator 1  Attack/Decay
  2128.     6C - Operator 2  Attack/Decay
  2129.     89 - Operator 1  Sustain/Release
  2130.     8C - Operator 2  Sustain/Release
  2131.     A4 -             Frequency (low 8 bits)
  2132.     B4 -             Key On/Octave/Frequency (high 2 bits)
  2133.     C4 -             Feedback/Connection Type
  2134.     E9 - Operator 1  Waveform
  2135.     EC - Operator 2  Waveform
  2136.  
  2137. Byte 08 - CSM Mode / Keyboard Split.
  2138.  
  2139.         7     6     5     4     3     2     1     0
  2140.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2141.      | CSM | Key |              unused               |
  2142.      | sel | Spl |                                   |
  2143.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2144.      
  2145.           bit 7 - When set, selects composite sine-wave speech synthesis
  2146.                   mode (all KEY-ON bits must be clear).  When clear,
  2147.                   selects FM music mode.
  2148.  
  2149.           bit 6 - Selects the keyboard split point (in conjunction with
  2150.                   the F-Number data).  The documentation in the Sound 
  2151.                   Blaster manual is utterly incomprehensible on this;
  2152.                   I can't reproduce it without violating their copyright.
  2153.  
  2154. Bytes 20-35 - Amplitude Modulation / Vibrato / Envelope Generator Type /
  2155.               Keyboard Scaling Rate / Modulator Frequency Multiple
  2156.  
  2157.         7     6     5     4     3     2     1     0
  2158.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2159.      | Amp | Vib | EG  | KSR |  Modulator Frequency  |
  2160.      | Mod |     | Typ |     |       Multiple        |
  2161.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2162.  
  2163.           bit 7 - Apply amplitude modulation when set; AM depth is
  2164.                   controlled by the AM-Depth flag in address BD.
  2165.  
  2166.           bit 6 - Apply vibrato when set;  vibrato depth is controlled
  2167.                   by the Vib-Depth flag in address BD.
  2168.  
  2169.           bit 5 - When set, the sustain level of the voice is maintained
  2170.                   until released; when clear, the sound begins to decay
  2171.                   immediately after hitting the SUSTAIN phase.
  2172.  
  2173.           bit 4 - Keyboard scaling rate.  This is another incomprehensible
  2174.                   bit in the Sound Blaster manual.  From experience, if 
  2175.                   this bit is set, the sound's envelope is foreshortened as
  2176.                   it rises in pitch.
  2177.  
  2178.           bits 3-0 - These bits indicate which harmonic the operator will 
  2179.                   produce sound (or modulation) in relation to the voice's 
  2180.                   specified frequency:
  2181.  
  2182.                       0 - one octave below
  2183.                       1 - at the voice's specified frequency
  2184.                       2 - one octave above
  2185.                       3 - an octave and a fifth above
  2186.                       4 - two octaves above
  2187.                       5 - two octaves and a major third above
  2188.                       6 - two octaves and a fifth above
  2189.                       7 - two octaves and a minor seventh above
  2190.                       8 - three octaves above
  2191.                       9 - three octaves and a major second above
  2192.                       A - three octaves and a major third above
  2193.                       B -  "       "     "  "   "     "     "
  2194.                       C - three octaves and a fifth above
  2195.                       D -   "      "     "  "   "     "
  2196.                       E - three octaves and a major seventh above
  2197.                       F -   "      "     "  "   "      "      "
  2198.  
  2199.         7     6     5     4     3     2     1     0
  2200.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2201.      | AM  | Vib | Rhy | BD  | SD  | TOM | Top | HH  |
  2202.      | Dep | Dep | Ena |     |     |     | Cym |     |
  2203.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2204.  
  2205.           bit 7 - Set:    AM depth is 4.8dB
  2206.                   Clear:  AM depth is 1 dB
  2207.           bit 6 - Set:    Vibrato depth is 14 cent
  2208.                   Clear:  Vibrato depth is 7 cent
  2209.           bit 5 - Set:    Rhythm enabled  (6 melodic voices) 
  2210.                   Clear:  Rhythm disabled (9 melodic voices)
  2211.           bit 4 - Bass drum on/off
  2212.           bit 3 - Snare drum on/off
  2213.           bit 2 - Tom tom on/off
  2214.           bit 1 - Cymbal on/off
  2215.           bit 0 - Hi Hat on/off
  2216.  
  2217.           Note:  KEY-ON registers for channels 06, 07, and 08 must be OFF
  2218.                  in order to use the rhythm section.  Other parameters
  2219.                  such as attack/decay/sustain/release must also be set
  2220.                  appropriately.
  2221.  
  2222. Bytes E0-F5 - Waveform Select
  2223.  
  2224.         7     6     5     4     3     2     1     0
  2225.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2226.      |               unused              |  Waveform |
  2227.      |                                   |  Select   |
  2228.      +-----+-----+-----+-----+-----+-----+-----+-----+
  2229.  
  2230.           bits 1-0 - When bit 5 of address 01 is set, the output waveform
  2231.                      will be distorted according to the waveform indicated
  2232.                      by these two bits.  I'll try to diagram them here,
  2233.                      but this medium is fairly restrictive.
  2234.  
  2235.          ___              ___            ___    ___       _      _
  2236.         /   \            /   \          /   \  /   \     / |    / |
  2237.        /_____\_______   /_____\_____   /_____\/_____\   /__|___/__|___
  2238.               \     /
  2239.                \___/
  2240.  
  2241.             00              01               10               11
  2242.  
  2243.                            Detecting a Sound Card
  2244.   
  2245.      According to the AdLib manual, the 'official' method of checking for a
  2246.      sound card is as follows:
  2247.   
  2248.         1)  Reset both timers by writing 60h to register 4.
  2249.         2)  Enable the interrupts by writing 80h to register 4.  NOTE: this
  2250.             must be a separate step from number 1.
  2251.         3)  Read the status register (port 388h).  Store the result.
  2252.         4)  Write FFh to register 2 (Timer 1).
  2253.         5)  Start timer 1 by writing 21h to register 4.
  2254.         6)  Delay for at least 80 microseconds.
  2255.         7)  Read the status register (port 388h).  Store the result.
  2256.         8)  Reset both timers and interrupts (see steps 1 and 2).
  2257.         9)  Test the stored results of steps 3 and 7 by ANDing them
  2258.             with E0h.  The result of step 3 should be 00h, and the
  2259.             result of step 7 should be C0h.  If both are correct, an
  2260.             AdLib-compatible board is installed in the computer.
  2261.  
  2262.                                Making a Sound
  2263.  
  2264.      Many people have asked me, what the proper register values should be
  2265. to make a simple sound.  Well, here they are.
  2266.   
  2267.      First, clear out all of the registers by setting all of them to zero.
  2268. This is the quick-and-dirty method of resetting the sound card, but it
  2269. works.  Note that if you wish to use different waveforms, you must then
  2270. turn on bit 5 of register 1.  (This reset need be done only once, at the
  2271. start of the program, and optionally when the program exits, just to
  2272. make sure that your program doesn't leave any notes on when it exits.)
  2273.   
  2274.      Now, set the following registers to the indicated value:
  2275.  
  2276.        REGISTER     VALUE     DESCRIPTION
  2277.           20          01      Set the modulator's multiple to 1
  2278.           40          10      Set the modulator's level to about 40 dB
  2279.           60          F0      Modulator attack:  quick;   decay:   long
  2280.           80          77      Modulator sustain: medium;  release: medium
  2281.           A0          98      Set voice frequency's LSB (it'll be a D#)
  2282.           23          01      Set the carrier's multiple to 1
  2283.           43          00      Set the carrier to maximum volume (about 47 dB)
  2284.           63          F0      Carrier attack:  quick;   decay:   long
  2285.           83          77      Carrier sustain: medium;  release: medium
  2286.           B0          31      Turn the voice on; set the octave and freq MSB
  2287.  
  2288.      To turn the voice off, set register B0h to 11h (or, in fact, any value
  2289. which leaves bit 5 clear).  It's generally preferable, of course, to
  2290. induce a delay before doing so.
  2291.  
  2292.  
  2293.  
  2294.  
  2295.     ──══════════════════════════════════════════════════════════════════──
  2296.  
  2297.   ┌───────────────────────────────┐
  2298.   │ Advantages of C over PASCAL   │ Grim Reaper (2@8415 WWIVnet)
  2299.   └───────────────────────────────┴─────────────────────────────
  2300.  
  2301. 1. C is case sensitive by nature, that means you can't just type stuff any old
  2302. way.  This promotes better coding and more standard naming conventions.
  2303.  
  2304. 2. C has a very versatile preprocessor.  Pascal has an extremely primitive one
  2305. that no one ever uses.
  2306.  
  2307. 3. C has macros, which saves code for constants because the preprocessor seeks
  2308. out the macros and replaces them with the real code (i.e. in the code,
  2309. NUM_OBJECTS would be physically replaced with the number 7) whereas in Pascal,
  2310. constants must be used, which take up memory.
  2311.  
  2312. 4. In C, functions can be manipulated and even passed as parameters.  In order
  2313. to accomplish this in Pascal, you must use inline assembly.
  2314.  
  2315. 5. C is more flexible in parameters, even allowing variable numbers of
  2316. parameters in some instances.  You can call by value or by reference at any
  2317. time you choose.  In Pascal when you use the VAR keyword it expects a variable
  2318. of the correct type and nothing else will do.
  2319.  
  2320. 6. C is not strongly typed - Pascal is.  That means that an int can be
  2321. replaced with a char or vice versa or almost anything, in most instances.  In
  2322. many cases it is easier because you don't need useless functions such as the
  2323. 2ord0 function in Pascal to accomplish what should already be available to you.
  2324.  
  2325. 7. C can be made portable if it complies with certain standards.  Pascal is
  2326. rarely (if ever) portable to UNIX or other operating systems.
  2327.  
  2328. 8. C++ can allow overloading for operators or functions.  That means that if
  2329. you pass the same function a different number, set, or types of parameters, it
  2330. will execute differently.  An example would be creating a 1print0 statement that
  2331. prints different formats depending on whether it is passed a character, an
  2332. integer, or a floating point number.  You could NEVER do this in Pascal.
  2333.  
  2334. 9. C allows for different memory models, meaning it's good in a bind.  Pascal
  2335. offers adjustable memory sizes but never changes the amount of memory it
  2336. occupies.
  2337.  
  2338. 10. To the best of my knowledge, C is able to take advantage of 80386 and
  2339. 80486 instruction sets (including 32-bit registers).  Thus far I have only
  2340. encountered 80286 instruction set capabilities in Pascal and I own Turbo
  2341. Pascal 7.0 by Borland.  (not sure about this though - can anyone confirm?)
  2342.  
  2343. 11. C++ allows for temporary variables, meaning even within a specific
  2344. function they are not on the stack the entire time.  An example is that
  2345. statement:
  2346.  
  2347.   for (int i = 0; i < 10; i++) 
  2348.     ...
  2349.  
  2350.     This can save stack space and help coding at the same time, so you can
  2351. better name your temporary variables to suit each specific purpose but not
  2352. have to have 10 of them in memory at once.
  2353.  
  2354. 12. C and C++ communicate on a logic much closer to that of the processor than
  2355. Pascal does.  While it can look messy with all its funky symbols, it is less
  2356. abstracted than Pascal.
  2357.  
  2358. 13. Knowledge of C and C++ is infinitely more valuable for obtaining a career
  2359. than knowledge in Pascal.  I should know, I had a summer job working at Hughes
  2360. Training, Inc.  They programmed the software for their flight trainers mostly
  2361. in FORTRAN, with bits of C every now and then to accomplish what FORTRAN could
  2362. not.  That was for the 3-4 year old models.  The newest flight trainers are
  2363. written entirely in UNIX C and OpenGL.
  2364.  
  2365.  
  2366. That's about all I could think of offhand.  You could get down to the details,
  2367. like implicit operations:
  2368.  
  2369.   j = i++;
  2370.  
  2371. and other fun things, but I think the list of arguments I have presented
  2372. should suffice to convince whoever it is you need.  Hope I've helped!
  2373.  
  2374.  
  2375.     ──══════════════════════════════════════════════════════════════════──
  2376.  
  2377.                            ┌────────────────────┐
  2378. ───────────────────────────┘ L I T E  B Y T E S └─────────────────────────────
  2379.  
  2380.  
  2381.   ┌───────────────────────────────┐
  2382.   │ Silly Strings                 │ by Ima Moron 1@9661
  2383.   │ From IceNET Sysops Everywhere │ Lite Bytes Editor
  2384.   └───────────────────────────────┴─────────────────────
  2385.  
  2386.  This month we have the compendium of wit from the users and sysops of Icenet 
  2387.  and WWIVNet. If you have a tagline that you feel is funny, or if you've seen
  2388.  a humorous tagline on another users posts, please send those taglines to
  2389.  myself Ima Moron 1@9661 Icenet or 1@10331 WWIVNet.
  2390.  
  2391.  From: Elite #8@15327 WWIVNet
  2392.  "Could you continue with your petty bickering? I find it most intriguing."
  2393.  
  2394.  From: Minnie Mouse #9@7763 Icenet, Eat-A-Byte BBS
  2395.  I'll be glad to get an offline mail reader!!
  2396.  
  2397.  From: "Yosemite Sam" #1@11561 WWIVNet
  2398.  We don't want users with good taste, we want users that taste good!!!
  2399.  
  2400.  From: Mr. Cheese #26@15116 WWIVNet
  2401.  iwannabestereotyped!iwannabeclassified!iwannabemasochistic!iwannabeastatistic!
  2402.  
  2403.  From: Joker's Wild #14@11809 WWIVNet
  2404.  Just remember, stupid taglines don't kill people, people kill people.
  2405.  
  2406.  From: Anthony #429@4501 Icenet
  2407.  Drink more and fester...
  2408.  
  2409.  From: The Fader #268@12000 WWIVNet
  2410.  I've got something for you that I don't want anymore....
  2411.  
  2412.  From: Sleepy #3@3074 Icenet
  2413.  Ignorance is temporary...stupidity is FOREVER
  2414.  
  2415.  From: Norplant #160@8312 WWIVNet
  2416.  Once I thought I was wrong, but I was mistaken.
  2417.  
  2418.  From: Firefighter #1@9660 Icenet
  2419.  SysOp's Creed: Coffee is god, Juan Valdez is the messiah
  2420.  
  2421.     ──══════════════════════════════════════════════════════════════════──
  2422.  
  2423.  
  2424.                             ┌───────────────┐
  2425. ────────────────────────────┘ S P E C I A L └───────────────────────────────
  2426.  
  2427.  
  2428.   ┌───────────────────────────────┐
  2429.   │ WWIVnet Technical Docs        │ by Midnight Tree Bandit 1@8411
  2430.   └───────────────────────────────┴───────────────────────────────
  2431.  
  2432.  
  2433. [IceNEWS Serialization Note - This is part one of four. Internal page numbers
  2434. have been retained for ease of reference. Page breaks, however, have been
  2435. removed.]
  2436.  
  2437.                             WWIVnet Technical Documentation
  2438.                                     Version 2.0.34
  2439.                                     3 October 1994
  2440.  
  2441.                         Wayne Heyward aka Midnight Tree Bandit
  2442.                         (based on the original by Wayne Bell)
  2443.  
  2444.                    Copyright 1994 by WH and WWIV Software Services
  2445.  
  2446.  
  2447.      WWIVnet Technical Documentation                              2.0.34 (NET34)
  2448.  
  2449.                                        CONTENTS
  2450.  
  2451.                I.   Introduction   . . . . . . . . . . . . . . . .   1
  2452.                     A.   History . . . . . . . . . . . . . . . . .   1
  2453.                     B.   Purpose, Limitations, and other Info  . .   1
  2454.                     C.   Relevant Copyrights and Acknowledgements    2
  2455.  
  2456.                II.  General Overview of WWIV Networking  . . . . .   4
  2457.  
  2458.                III. Making Connections   . . . . . . . . . . . . .   6
  2459.                     A.   Establishing Contact  . . . . . . . . . .   6
  2460.                     B.   Data Transfer . . . . . . . . . . . . . .   7
  2461.                     C.   Identification Block Examples . . . . . .  10
  2462.  
  2463.                IV.  Message Packets  . . . . . . . . . . . . . . .  12
  2464.                     A.   The Message Header  . . . . . . . . . . .  12
  2465.                     B.   Mail File Processing  . . . . . . . . . .  14
  2466.                     C.   Local Mail Processing . . . . . . . . . .  16
  2467.                     D.   Main and Minor Message Types  . . . . . .  18
  2468.  
  2469.                V.   BBSLIST/CONNECT Files and Message Routing  . .  27
  2470.                     A.   Old WWIVnet -- BBSLIST.NET & CONNECT.NET   27
  2471.                     B.   New WWIVnet -- BBSLIST.x & CONNECT.x  . .  30
  2472.                     C.   Figuring the Routing    . . . . . . . . .  31
  2473.  
  2474.                VI.  Tips for Writing WWIVnet Software  . . . . . .  35
  2475.                     A.   WWIVnet Interface Software  . . . . . . .  35
  2476.                     B.   WWIVnet Software Add-ons  . . . . . . . .  37
  2477.  
  2478.  
  2479.  
  2480.                Appendix A
  2481.                     Mail Packet Compression  . . . . . . . . . . .  38
  2482.                     Compression Source Code  . . . . . . . . . . .  39
  2483.  
  2484.  
  2485.      WWIVnet Technical Documentation                              2.0.34 (NET34)
  2486.  
  2487.      I.   INTRODUCTION
  2488.  
  2489.           A.   History
  2490.  
  2491.                Back in 1989, Wayne Bell released the first technical documenta-
  2492.                tion covering the technical workings of the WWIV networking
  2493.                software.  While much of the information in that document is
  2494.                still relevant now, much has changed since 1989.  The Group
  2495.                structure has been added, support for more message types, and
  2496.                support for preprocessors to the packet tossers has been added.
  2497.  
  2498.                So in late 1992 or early 1993 Wayne asked for volunteers to
  2499.                rewrite the WWIVnet Technical documentation.  No one spoke up. 
  2500.                Then in March I started providing WWIV support on the GEnie
  2501.                information service, and some people started asking about 
  2502.                getting technical information so they could get their non-WWIV
  2503.                boards to communicate with WWIV networks.  Looking around, I
  2504.                found the original doc, and asked Wayne if anyone had answered
  2505.                his call.  As it turned out, I became the volunteer.  After much
  2506.                procrastination and "How's the doc coming?" from Wayne, here it
  2507.                is.
  2508.  
  2509.           B.   Purpose, Limitations, and Other Info
  2510.  
  2511.                The purpose for this document is to explain the WWIVnet interface
  2512.                for those who wish to write software which communicates with
  2513.                WWIVnet systems, either independently or as an extra utility for
  2514.                the existing NETxx software.
  2515.  
  2516.                The documentation that you are reading now is more an expansion
  2517.                and clarification of the original docs than it is a total
  2518.                rewrite.  It looks a little neater too, thanks to Word Perfect. 
  2519.                Now that the bulk of the work is done, the plan is to update them
  2520.                with each release of NETxx to reflect new features.  The
  2521.                information in this document is current with WWIVnet version 34
  2522.                (NET34).
  2523.  
  2524.                First clarification: in the context of this document, the term
  2525.                "WWIVnet" refers to the software for interfacing WWIV-type
  2526.                networks and any network which uses that software.  Though
  2527.                WWIVnet is also the name of the original and largest of the
  2528.                dozens of WWIV networks out there, the use of the term here is
  2529.                not meant to imply that this document is specific to that
  2530.                network.
  2531.  
  2532.                This documentation assumes that the reader at least:
  2533.                a)   has a good working knowledge of C and the various C data
  2534.                     types and data structures.
  2535.                b)   has a general familiarity of how file transfer protocols
  2536.                     work. 
  2537.  
  2538.                                           1
  2539.  
  2540.      WWIVnet Technical Documentation                              2.0.34 (NET34)
  2541.  
  2542.                Due to the proprietary nature of Wayne Bell's WWIVnet software,
  2543.                we will not cover the inner workings of the current networking
  2544.                programs distributed in NETxx.ZIP.  We will only discuss the
  2545.                external requirements for any third party interfaces that may be
  2546.                written for connecting non-WWIV systems to WWIV networks. 
  2547.                Likewise, we will not discuss the NETUP software, which generates
  2548.                and sends out the network node lists and connect lists.  You'll
  2549.                just have to figure that out for yourself.
  2550.  
  2551.                This document is not a replacement for Filo's WWIVnet Software
  2552.                Documentation.  This doc does not describe how to use the network
  2553.                software, only how it works.  For instructions on using the NETxx
  2554.                software and familiarize yourself with how to use it, see Filo's
  2555.                documentation, which can be found in the current NETxx release.
  2556.  
  2557.                A note on the numbering for this document.  This is version
  2558.                2.0.34.  The first number indicates that this is a major rewrite
  2559.                from the original by Wayne Bell.  Unless a major overhaul is
  2560.                done, this is not likely to change.  The 0 in the second part
  2561.                indicates that this is the first version of this document.  If
  2562.                there are any major changes or additions made, this will be
  2563.                incremented.  The 34 indicates that this information is current
  2564.                as of version 34 of the WWIVnet software (NET34).  Minor changes
  2565.                reflecting small interface changes in the WWIVnet software will
  2566.                cause this number to be changed.  This number will not always be
  2567.                the same as the latest version of the WWIVnet software; if there
  2568.                are no changes in the external interface, this document will not
  2569.                be updated.
  2570.  
  2571.                I welcome comments about this document -- suggestions for
  2572.                additional information to include, things that could be explained
  2573.                more fully, and so forth.  I can be reached at the following
  2574.                addresses:
  2575.                     WWIVnet:  #2@8408
  2576.                     WWIVLink: #1@18411
  2577.                     IceNET:   #1@8411
  2578.                     GEnie:    TREE.BANDIT
  2579.                     Internet: tree.bandit@genie.geis.com
  2580.  
  2581.           C.   Relevant Copyrights and Acknowledgements
  2582.  
  2583.                This document is Copyright 1994 by Wayne Heyward (aka Midnight
  2584.                Tree Bandit) and WWIV Software Services (WSS).  It may be freely
  2585.                distributed provided it is not altered in any way.  This is
  2586.                copyrighted to prevent unauthorized (and possibly inaccurate)
  2587.                changes from being made to this document by anyone other than
  2588.                myself or any other appointed by WWIV Software Services (should I
  2589.                be unable to continue updating this document).
  2590.  
  2591.                                            2
  2592.  
  2593.      WWIVnet Technical Documentation                              2.0.34 (NET34)
  2594.  
  2595.                WWIV BBS and the WWIVnet software (distributed as NETxx) are
  2596.                Copyright 1986-1994 by Wayne Bell and WSS.
  2597.  
  2598.                NETEDIT is Copyright 1994 by Black Dragon Enterprises.
  2599.  
  2600.                DSZ is Copyright 1994 by Omen Technology INC.
  2601.  
  2602.                HSLink is Copyright 1994 by Samuel H. Smith.
  2603.  
  2604.                The PKWare Compression Libraries are copyright 1993 by PKWARE,
  2605.                Inc.
  2606.  
  2607.                The WWIVnet interface information and code in this document is
  2608.                placed in the public domain, and may be freely used for the
  2609.                purpose of interfacing with WWIV networks and network software.
  2610.  
  2611.                I would like to thank Wayne Bell, not only for creating a top-
  2612.                notch BBS program that is both powerful and easy to use, but
  2613.                creating a networking scheme that is more painless to set up and
  2614.                operate than any other out there.  He has said often that if he
  2615.                knew then what he does now, things would have been different.  I
  2616.                cannot help thinking that the result would have been less elegant
  2617.                or easy to use.
  2618.  
  2619.                I would also like to thank Wayne for his patience over the last
  2620.                year and a half, waiting for me to get this document started. 
  2621.                I've fired thousands of questions at him the last few weeks in an
  2622.                effort to make this documentation as complete as possible, and he
  2623.                answered every one.
  2624.  
  2625.                And finally thanks to Filo, who also provided vital information
  2626.                and advice without which this documentation would be incomplete.
  2627.  
  2628.                                           3
  2629.      WWIVnet Technical Documentation                              2.0.34 (NET34)
  2630.  
  2631.      II.  GENERAL OVERVIEW OF WWIV NETWORKING
  2632.  
  2633.           A WWIV network is basically a loose confederation of WWIV BBS systems
  2634.           that use the WWIVnet (or compatible) software.  The software does not
  2635.           limit the connection structure, so the member sysops can connect to
  2636.           anyone they wish (subject to the rules of their network).  For ease of
  2637.           administration, the network may be split up into Groups, each with
  2638.           their own coordinator.  Node numbers are an unsigned short int, so
  2639.           that nodes may be assigned a value from 1 to 65535.
  2640.  
  2641.           The lists of nodes are distributed in two sets of files: BBSLIST.xxx
  2642.           and CONNECT.xxx.  There are two different ways of handling these
  2643.           files.  The old way has just one BBSLIST.NET and one CONNECT.NET file. 
  2644.           The CONNECT.NET file assigns costs to each connection for each system. 
  2645.           Some smaller networks still use this setup.  The new way, implemented
  2646.           in 1990, uses several BBSLIST and CONNECT files with extensions
  2647.           indicating group number (e.g. Group 1's files would be BBSLIST.1 and
  2648.           CONNECT.1).  BBSLIST.0 contains a list of Group numbers, and CONNECT.0
  2649.           contains inter-Group connections.  It is important that any non-WWIV
  2650.           systems be able to support both setups if they wish to connect to a
  2651.           WWIV network.
  2652.  
  2653.           Like all BBS networks, the primary purpose is to exchange private mail
  2654.           and public posts between BBSes.  The passing of files in binary form,
  2655.           however, is not supported by the WWIVnet software, though there are
  2656.           some third party programs such as Tolkien's PACKSCAN which can handle
  2657.           files.  All messages also have a maximum size limit of 32k.
  2658.  
  2659.           The basic WWIVnet software distributed in NETxx.ZIP by WSS consists of
  2660.           four programs: NETWORK.EXE, NETWORK1.EXE, NETWORK2.EXE and
  2661.           NETWORK3.EXE.  Any alternative software for interfacing with WWIV
  2662.           should follow the same structure.
  2663.  
  2664.           NETWORK.EXE handles connections between systems.  On the sending end
  2665.           of the connection, NETWORK.EXE calls out to another system, chosen
  2666.           from the CALLOUT.NET file on that system.  The answering system
  2667.           activates NETWORK.EXE when it detects a network call.  Once they're
  2668.           talking, they make any mail packet transfers needed.
  2669.  
  2670.           NETWORK1.EXE is the first of the two mail tossers.  This one takes the
  2671.           incoming packet received by NETWORK.EXE and distributed the messages
  2672.           within to their rightful places.  Local mail goes into LOCAL.NET,
  2673.           while mail passing through to other systems is tossed into packet
  2674.           files for the next hop.
  2675.  
  2676.           NETWORK2.EXE tosses the local messages in LOCAL.NET.  Most are
  2677.           messages for email or local subboards, but there are also network
  2678.           updates, sub REQuests, software "pings," and other special purpose
  2679.           message types.  It also has the ability to call on third-party
  2680.           preprocessors for special handling of certain types of messages.
  2681.  
  2682.                                           4
  2683.  
  2684.      WWIVnet Technical Documentation                              2.0.34 (NET34)
  2685.  
  2686.           NETWORK3.EXE processes all the network updates that come in.  This
  2687.           helps determine what routing off-system mail will take.
  2688.  
  2689.           Each WWIV network also has its own special encoding and decoding
  2690.           programs for handling of updates and network mail from the Network
  2691.           Coordinator and Group Coordinators.  These are the DEmmm.EXE files
  2692.           (mmm corresponding to the message type).  The DEmmm.EXE cannot be
  2693.           replaced, so any NETWORK2.EXE replacement must be able to recognize
  2694.           the need for calling the appropriate DEmmm.EXE, as described below.
  2695.  
  2696.                                           5
  2697.  
  2698.  
  2699.      WWIVnet Technical Documentation                              2.0.34 (NET34)
  2700.  
  2701.      III. MAKING CONNECTIONS
  2702.  
  2703.           A.   Establishing Contact
  2704.  
  2705.                Through some process, one system decides to call another. 
  2706.                Various techniques can be used for deciding when and who to call;
  2707.                that should have no effect on the network.  Any WWIVnet system
  2708.                should be able to receive a network connection at any time (i.e.,
  2709.                there is no network mail hour).  For an example of a method for
  2710.                limiting call out times, see the WWIVnet Software Docs.
  2711.  
  2712.                However the decision is made, a call is made to another WWIVnet
  2713.                system.  If he connects, the connection protocol is then begun. 
  2714.