The Web     KG6YTZ's pages   

 

Navigation


  Biography
  Operations
  In The News
  Link-O-Rama
  Guest Book

Old Biography:
The BBS Days / CMI Software

This text is from my original CMI Software pages formerly hosted on AOL, generally focusing on the computer stuff rather than the ham radio stuff [most of this was written several years before I finally got around to getting my license].

I've added or edited a few things where appropriate, and completely reworked the original sloppy primitive HTML layout.

Click here to read my newer amateur radio biography page.

It all started one fine day in December of 1978 when I discovered a new thing called a TRS-80 Model 1 at my friendly neighborhood Radio Shack. Within a few minutes, and with a little help from other loitering first-generation microcomputer nerds, I was writing short programs that repeated my name endlessly on the screen in various ways. Thrilling so far, isn't it?

As time went on, I learned more and more BASIC, enough to write my first "real" program, a little math drill thingie that wasn't really much use except as a practice project while I learned the language.

I fiddled with the TRS-80 and its descendents [Model IV, CoCo] for a few years, until in 1983, I finally owned my first computer, a Timex/Sinclair 1000. [Happy Birthday to me!] With 16K RAM, 32x22 text, 64x44 monochrome graphics, and cassette storage at a blazing 30 CPS, that little paperweight was certainly not a serious computer. [Opinion. Certain old T/S diehards will beg to differ.] However, since I now had a computer at my disposal any time I wanted one, I was able to get in countless hours of programming practice. I learned more about BASIC programming on the T/S 1000 than I ever learned on any of the TRS-80's.



TRS-80 Model IV



Timex/Sinclair 1000

with optional 16K RAM pack


Photos courtesy of Paul Grebenc /
Paul's Computer Jamboree

The first large program I wrote for the Timex/Sinclair was in 1983, a game called Slots Deluxe, but that was never publicly released in T/S form [although I did dream of running a software company!]. For several years, I used the Timex off and on, eventually becoming a bit bored with its lack of speed and power. I also wrote a T/S 1000 game called SuperSquare in the summer of 1990, shortly after I had pulled the T/S out of mothballs and rewritten Slots Deluxe. I would later port both programs to GWBASIC and then to QuickBASIC.

In August 1987, after wanting one for years, I bought a CB radio [yes, this is related to my little story, so bear with me here]. Aside from brief appearances on the band in earlier times as "The Kid" and "Road Rat," the first handle I really used was Crazy H, but I soon got tired of it when I found that it was hard to understand when the channels got noisy — and in the summer of '87, with the 11-year sunspot cycle reaching its peak and raising all kinds of ionospheric hell, things were very noisy. I got sick of correcting people who thought they heard me say Crazy Eights, Lazy Eights, Lazy Ace, Crazy Ace, and so on and so forth.

Fast-forward to December 1987, and a meeting with my friend "Blue Knight" [not a cop; he just drove a blue Ford Ranger]. I had mentioned that I was thinking about changing my handle. At the time, I was driving a 1969 Olds Cutlass with the 350 Rocket engine, which he told me was also known as the Crossfire V8. He suggested Crossfire for a handle, and I have been Crossfire ever since, on Citizen's Band radio and in cyberspace. [The amateur radio call sign came much later, in 2005.]

My 1969 Oldsmobile Cutlass Supreme with the Crossfire V8 engine from which I took my handle. Picture taken in June 1988; it makes the old Cutlass look nicer than it actually was [you can't see the left-rear wheelwell dent or the tattered wreck of the interior]. If you look closely, you can see my trunk-mounted CB antenna [a no-name knockoff of the VanOrdt Pow-R-Stik, in case you're wondering, and probably pretty similar to Lakeview's Hamstick HF antennas].

It was at about this time that I had the opportunity to try out an IBM PC at work. Browsing the manuals, in the same way I had taught myself BASIC programming on the TRS-80 and the Timex/Sinclair, I learned enough DOS to muddle my way around the directories and find programs to run. One of the first ones I tried was Borland's SideKick because it was in the AUTOEXEC on most of the machines in the office. I was immediately hooked, and decided I wanted a PC, because I wanted to use SideKick [particularly its notepad] at home and because I needed something with far more power than the T/S 1000 in order to catalog my growing music collection.

It wasn't until October 1990 that I finally got my own PC, a used Corona PPC-400 XT clone with a V20 CPU [not to be confused with the Commodore VIC-20; this was an 8088 clone made by NEC], 9" green monochrome screen, and — big whoopie! — a TEN MEG Tandon hard drive. A noisy old Citizen 180D 9-pin dot matrix printer was also added to the deal. Although the Corona was, without a doubt, a slow and outdated machine, it was adequate for my purposes at the time — but just barely.

The old Corona came with a 1200-baud Hayes modem already installed. After I had owned the system for a week, I decided I'd get brave and plug the modem in just to see what it was like to use one. I picked a number out of The Recycler [a local free ad paper] and called my very first BBS — El Jefe BBS in West Covina, California — on October 25th, 1990. [That was also my first chat with a sysop. Wasn't expecting it. Freaked me right the f*** out! Thanks for the heart attack, Bill Clark, but thanks for running a good board too.] I also called a few other numbers — Night Gallery and Half Moon in El Monte — and from there I collected even more numbers. [It turned out that Night Gallery was run by a friend-of-a-friend. Small world!]

By the end of my first day online, I had more than a dozen numbers in my dialer, and I had tied up our voice line from about 8am until well after sunset. Being online would become a major habit. It didn't make anybody else in the house very happy when I learned how to shut off call waiting with the ATDT*70 command, either! "Your line has been busy all day. Is Ken playing with his computer again?" <g>

Many of the boards I called were running WWIV. Since it was the most common BBS software in the area, I soon learned my way around it rather well. It was around this time that I was introduced to Telix by my friend Eric ["Linerunner"], and I was more than happy to trashcan that cruddy Hayes Smartcom II software I had been using after I found that Telix did everything that Smartcom garbage couldn't do [like ANSI graphics and color, for starters, even though the old monochrome XT couldn't show color].

After only a couple of months online, I decided I wanted to try being a sysop. Just for fun, I started off with a Telix mini-BBS script called HOST43. Using HOST43, I set up a small experimental BBS which I named Crossfire's Confusion Corner. Only a few good online friends ever saw it, and only when I wanted them to call in for testing, because I didn't have a dedicated modem line at the time.

In late January of 1991, I downloaded WWIV 4.12 from Half Moon, tried to set it up, and was disappointed when it seemed to lock up my system. That'll teach me to read the manuals. It was at WFC! [That's "Waiting For Call," by the way.] When the Corona locked up, the screen often looked exactly like WWIV looks at WFC — just the cursor blinking in the upper-left corner — so I figured I'd better give it the old three-finger salute. I deleted the setup, but kept the archive.

I decided to give WWIV another try after I had read the docs and learned why the cursor just sat there in the corner and blinked when I ran the BBS. Armed with the manuals — which took a hell of a long time to print out on the Citizen 180D — I began setting up WWIV again. On February 1st, 1991, I created the sysop account. The board was still called Crossfire's Confusion Corner, but not for long.

The name ModeMANIA — pronounced like "modem mania" but as all one word — was invented by me on Deacon's Corner BBS in February 1991 during a discussion about modem addiction ["If modem addiction is a disease, what would you call it?"]. I decided it would make a good name for a BBS, and Crossfire's Confusion Corner became Crossfire's ModeMANIA BBS, and then just plain ModeMANIA BBS. Sometimes you have to go through a few names before one sticks.

In May 1991, we moved from our apartment in El Monte, CA. to Temple City, CA. There was already a second line installed in the new house, which I had Ma Bell turn on, and ModeMANIA BBS finally went online on May 15th, 1991, after more than three months of configuring and testing and dreaming about getting my BBS open to the public.

My God, has it really been nearly 18 years already???

The Corona PPC-400 portable XT clone formerly known as ModeMANIA BBS. Picture taken in July 1991, shortly after ModeMANIA first went online.

The Corona was retired in June 1996 after a catastrophic hard drive failure forced me to move the BBS to my secondary machine, which at the time was a lowly 12 MHz 286 [but it sure kicked the snot out of the XT]. Thank God for backups, even partial sets and even if they are a week old.

The BBS machine has been through several upgrades since then, and is currently a 200 MHz Pentium MMX mid-tower running Windows 95 with 40 megs of RAM, 1.6GB [C:] and 30GB [D:] hard drives, and a Wisecom 56K modem. I'm hoping for a cable modem in the near future. [Addendum, Feb. 11th, 2009: Remember, this is old text here! What I'm running now is just a bit more modern than that. But just a bit.]

With a replacement 40MB MFM Seagate drive installed, the Corona is still functional, but I don't really have much use for it. It has just been gathering dust for about a decade now.

But getting back to 1991... I was, of course, still interested in programming. All I had available at the time was GWBASIC, but I learned it as best I could and slapped together many simple little programs. I was eventually able to port SuperSquare, one of my two Timex/Sinclair games, to GWBASIC. [SuperSquare? It's a video version of those little plastic sliding-number-tile games, where you have to put the tiles back in order after you scramble 'em up, but on a 6x6 grid instead of the usual 4x4. It's like a Rubik's Cube in two dimensions.]

After about a year of being a sysop, I got the urge to write something for the BBS, and I knew GWBASIC wasn't going to do the job because it was strictly an interpreter, not a compiler. I downloaded a shareware BASIC dialect called APBasic. While it had the ability to compile, I was not used to modular coding without line numbers, so my first efforts with APBasic resulted in some very primitive code, and the compiled programs had a nasty habit of locking up the entire system when run under the BBS. My time with APBasic was very brief.

The first WWIV add-on I wrote in APBasic was VSI ["Various and Sundry Info"] 1.00, a simple logon event which read the CHAIN.TXT file and displayed assorted bits of user information. Since APBasic programs had a tendency to lock up under WWIV [which I suspect was due to a hardware quirk in the old Corona, not a defect in APBasic], my friend "K9 S&D" set me up with a copy of QuickBASIC 4.5. One of the first things I did with QB45 was port VSI to it from APBasic, although I soon discovered that QB45-compiled programs also caused the BBS to lock up — a problem that I eventually traced to my use of QB's SLEEP command ["pause for 'x' seconds or until a key is pressed"], which didn't get along well with the way WWIV accessed the XT's timer interrupt on my particular old oddball beast of a computer. I had to write my own variation of SLEEP to get around this problem, and that did the trick — my programs now ran under the BBS.

VSI was followed by other small utilities — FSORT, which sorted the BBSLIST.MSG file; PHSTRIP, which removed apparent "junk" entries [BBS listings with seemingly non-standard phone numbers] from BBSLIST.MSG; and VSAN, which analyzed VSI's connection logs to generate activity statistics. I soon learned how to use data structures — something GWBASIC couldn't even dream of doing — which gave me the ability to easily read and write WWIV's data files, and the first version of WWIVSort was created. Not long after I started using QB45, K9 S&D helped me upgrade to Microsoft PDS [Professional Development System] v7.1, which I am still using today. [Addendum, Feb. 11th, 2009: ...and I'm STILL using it.]

Sometime between 1988 and 1990 [believe it or not, I don't remember exactly when] was when I first used the initials CMI. So what do the initials stand for? Over the years, they have stood for various things — Crossfire Mobile Inc. [as in "Crossfire and his mobile CB radio"], Crossfire Microdata Inc., Crossfire Microdata International, and later, California Microdata International. [Hey, I never said they stood for anything particularly cool!] These days, I never use the full name — for the most part, it's CMI Software or just plain CMI, and the initials themselves are nothing more than a geeky little personal joke. Forget I mentioned it. ;-)

In late 1992, WWIV gained the ability to connect to multiple networks, although gating was still in the future. I decided I wanted to run a network of my own, even though I was also WWIVnet's 818 Area Coordinator at the time. [Or did I get that job a little bit later, like maybe the spring of '93? Some details are bit fuzzy now.] Using Black Dragon's NETEDIT as the network data editor, I created USLink and convinced a few friends to join me in my little experiment. USLink started out with five nodes — ModeMANIA, Gateway Station, Radio Control Model Plane BBS [run by Mark Melvin, then KE6MP, now AE6MP], The Unmentionable Horror, and Half Moon. Even JAFO's famous Blue Thunder BBS was on USLink for a short time.

I wasn't satisfied with posting updates in a special sub or sending them out as e-mail, the way most of the other new upstart networks were doing, so with my friend John Joha [a.k.a. "Q"] doing the coding in C and me supplying the network know-how — with the occasional bit of helpful info from Wayne Bell — we started work on an automated updater package. [That was the biggest problem with most of the update methods – they weren't completely automated, requiring manual sysop intervention to process, and the only other solution at the time was Wayne Bell's NETUP, which was expensive and exclusive.] We used the high end of the allowable WWIV main types, from 64 down to the 50's somewhere, and a NETWORK2 pre-processor. While it worked well enough to keep USLink updated, the network software — Wayne's LNET.EXE in particular — couldn't recognize the items.

By this time, my programming skills and familiarity with WWIV had evolved far enough that I was able to create my own USLink update software, which I named CMI NetUp. It transmitted all data as type 27 items and also included a set of network diagnostic ping types. After using Q's updater for several months, USLink switched to CMI NetUp updating in the summer of 1993. Two other networks also used CMI NetUp; each network using it had its own unique 27/xxx minor type number, so the software had to be slightly modified and recompiled specifically for each network.

The CMI NetUp transmittal program contained a simple packet reader, so I could browse through the outgoing update packets it generated, and this is what gave me the idea to write an external browser that could be run without CMI NetUp, and one that — unlike Wayne Bell's LNET — could fully recognize CMI NetUp's type 27 items. That browser was XLNET v1.00. The name meant "extended LNET"; the program bore a faint resemblance to Wayne's LNET and had mostly similar command keystrokes, although it could do a few things that LNET didn't do. I had not yet learned the art of the GUI — with that old monochrome XT, I had little incentive to try, since it couldn't display any color — so XLNET 1.00's user interface was bland, boring, plain gray text [as were all other CMI products at that point].

XLNET was followed by Dead-Fix, a utility which I originally wrote for my own use as a quick-and-dirty solution to selectively clean out some items from a large DEAD.NET packet on my system. Dead-Fix went through the usual bug fixes and new releases, and in 1994, I learned how to take a screen I had created in TheDraw, save it as an object, and link it into a compiled program. Dead-Fix v2.10 gained a full-color GUI [albeit a somewhat garish one, in retrospect], and I was at last producing software you could look at without falling asleep.

I also created a version of SuperSquare which could be played online through the BBS. That included a user/sysop chat routine with what I called a "line noise filter" – all that really did was strip out any incoming high ASCII characters [and selected low ASCII] from the chat, but it actually did reduce the effects of line noise rather dramatically, if only by making it less visible. I had hoped to write an online version of Slots Deluxe as well, but I never got around to actually getting started on it, aside from toying with the screen designs. [What, exactly, is "deluxe" about a text-based slot machine anyway? <laugh> And nevermind the fact that, at the time, I had never once even touched a real slot machine in my entire life and didn't really know the rules of the game!]

Cut to early 1996. Dead-Fix v2.30 was in development, and I had added an item text browser which would let the sysop read the items in the DEAD.NET packets instead of viewing just their header data. I never did release Dead-Fix v2.30, but in September 1996, I began work on a TOTAL overhaul of XLNET, using many of the advanced routines from the Dead-Fix source code as a starting point to form the shell of what was then called XLNET v2.00. Every last bit of the old XLNET v1.00 source code was scrapped. GUI screens were created in TheDraw, making v1.xx's plain text display deservedly obsolete. Limited beta testing began in July 1997.

In February 1998, I discovered that the XLNET name had been previously trademarked – for some sort of LAN package, I believe — by a company called ExcellTech. That discovery, and Trader Jack's decision to include my reader in the official NET37 archive, prompted me to rename XLNET v2.00 to LNET-II. Since this was, after all, a completely new program written almost entirely from scratch, I also changed the version number to v1.00.

LNET-II's last public revision, v1.10, was released on January 9th, 2000 and was, for all practical purposes, the last new CMI Software product until I released BCPROG, a utility to assist in programming old Electra Bearcat 101 scanners, in February 2003.

Even to this day, though, LNET-II remains the largest and most complex program I have ever written. It was probably also extreme overkill – especially when compared with Wayne Bell's original LNET — and far more than the average WWIV sysop ever truly needed, but at least it was cool. ;->

June 2002 — The End Of An Era: It's a long story, but basically, it goes like this. After 11 years, we had to move out of the house in Temple City because the owner wanted to sell it. We thought we would be renting a house in Azusa that just wasn't quite ready for us to move in yet, so we packed a few essentials, put everything else in storage, and headed for the local Motel 6 [because they let you bring your dogs with you – didja know that?]. What we expected to be a stay of a few days turned into a month-and-a-half ordeal of desperation, destitution, and Cup-o'-Noodles, during which time the Azusa house was rented to someone else. We were never told about this until after it had happened. [Yeah, that's the kind of jackass I want as a landlord...]

Well, we finally found a suitable house to rent in Baldwin Park, and we moved in there in August '02 [and out of there in May '04, but that's another story]. My room/office didn't have a separate phone line when we moved in, I never got around to putting one in, and ModeMANIA BBS never went back online full-time after the move, although I did bring it up occasionally to transfer a few net packets. By this time, BBS activity had dropped to virtually nothing just about everywhere. The decline of the dialup BBS had actually started a few years earlier, in the latter half of the 1990's — everyone wanted to be on that new "World-Wide Interweb SuperHighway" thing instead – so I never really considered it worth the cost to put in a new dedicated phone line just for a few calls a week, mostly from three regular users, two of whom were no longer local calls anyway.

June 23rd, 2002 marked the end of ModeMANIA BBS.

I still have the backups.

Click here to return to my newer amateur radio biography page.

View My Guestbook   [ Sign My Guestbook ]


This page is Copyright © 1996-2009 by Ken Harris KG6YTZ
Last update: 02/17/2009

All graphics and text Copyright © 1988-2009 by Ken Harris, except:

• Portrait at top of page [photo by Hector Figueroa
KE6VRL]
• Images from Paul's Computer Jamboree [credited]
• HTML Gear guest book button
• MapLoco visitor map

Page created in OpenOffice.org Writer v2.4.2


Visitor Map
Create your own visitor map!