Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I am surprised by the assumption that each box could only handle one modem. I seem to remember that some DOS BBS packages could handle multiple modems/users concurrently and only needed multitasking operating systems for “door” programs. Am I misremembering?
 help



A guy who was local to me, when I was a kid, wrote multi-user BBS system (called "MUBBS" originally-- I don't remember what the name was changed to later) in Turbo Pascal that had a preemptive multitasking loop running in x86 real mode to handle multiple lines simultaneously. The coolest part was the console was just a "line" so you could logon to the board and interact while somebody was online with the BBS, too. Most other DOS BBS packages were only available for the SYSOP or the caller individually.

Edit: Ugh... I'm gonna have to go back to floppy images to find it. There's a "MUBBS" for Mac from 1992 showing up in search engine results but that's not the one I'm thinking of. It was more like 1989 or 1990.


Some details/speculation from the original thread here: https://news.ycombinator.com/item?id=30098186

“as modems got faster, supporting 16 modems on a single machine became impossible, and it was often cheaper to buy a new commodity desktop PC rather than a much more expensive machine with a 16-port serial card capable of handling the IO.”


You are correct, but the problem was the PC only had 16 IRQs. That required using intelligent multi-port cards from Digi or Rocketport. They worked by aggregating all the ports to a single card IRQ, and managing all the hardware signals, echo.

I wrote the software for a breakout box that could handle 128 serial ports. It was an ISA backplane with an industrial 286 computer and multi-port serial cards. This was our solution for a MajorBBS system.

The BBS software would have to timeslice between all the cards handling each IRQ, then poll the card details to see which ports needed service.

GalactiComm eventually came out with their own around 1993 that could go out to 255 serial ports and did not require the 286 processor.

By the mid-90’s, Livingston PortMasters were the preferred way to aggregate serial connections, which quickly gave way to USR TotalControl.


iirc fancier (expensive) multiport ISA card had their own CPU (probably a Z80 or 8051) and a little RAM as buffer. Here an EISA card with an (unusual) Z280: https://oldcomputer.info/terminal/ap_cards/si-eisa_1.jpg

Even the Apple II had multi-line BBSes[^1], so I'm not sure about her assumption.

[^1]: e.g. https://en.wikipedia.org/wiki/Diversi-Dial


Even for a standard PC, you could buy a 16 port serial card and hook it up to 16 modems, either discreet devices or the dedicated ISP kit which might support dozens of incoming calls (possibly on a single bearer) via various means. Telebit netblazers and then ascend maxs were common in those days.

The question is if you could actually handle that many lines concurrently, with available software and the hardware resources of a single PC. Rachel's article as well as other comments here indicate that you could not.

From memory, it very much mattered on your choice of serial card/controller. High quality, high speed, (and high price) cards had their own buffers and better drivers resulting in fewer interrupts and more efficient use of host resources when supporting multiple concurrent file transfers at line speed. Being able to drive the modem-to-host connection faster than the modem connect speed was also helpful for modem protocols with compression.

You certainly could with later 386 and 486 systems. The multiport cards take care of the interrupt issues. 16 lines, all running at 115200 bps (to allow for better compression!), isn't even 2 megabits/sec. That is worst case. I had a 386 with ethernet and it could push 10 megabits no problem.

Telephone line modems were always slow compared to the microcomputers of their day. A 14400Baud modem will just send less than some 1.5KB/s. Even a Z80 could handle a few streams of that. I rather suspect this BBS offered fancier services than just chat and file up/download.

>Rachel's article as well as other comments here indicate that you could not.

That's because she doesn't know what she's talking about.


You could just use DoubleDOS [1] to run the BBS in partition 0 and the door could run in parallel in partition 1. This was my setup before Windows 3 and DESQview replaced it.

[1] https://en.wikipedia.org/wiki/DoubleDOS

[2] https://en.wikipedia.org/wiki/DESQview


DESQview never really clicked with me. Did run DoubleDOS and when I was a TA (or whatever it was) providing support in the computer lab in grad school (most people didn't have their own computers) it was a convenient way to switch between whatever official systems I needed to access and my own stuff.

I'm fairly certain you are correct. I remember the MajorBBS could handle multiple lines on its own.

I knew a couple of local DOS BBSes that ran multiple lines with PCBoard under DESQview.


For sure. I knew people who ran multi-line BBS's on DOS PCs under DESQview, just like that (running Searchlight BBS, in my case). I know of a four line that was just using multiple external modems and non-standard IRQ's for COM3 and COM4 (since, by default, COM1/3 and COM2/4 share an IRQ).

MajorBBS could handle multiple lines on its own, but you had to handle ALL of the lines with one box. That meant a serial port interface like DigiBoard which provided some number (8 or 16 or more) of serial ports that you would connect to modems.

Yep - I ran a 16 line Major BBS back in the mid 90's in Seattle - used what was called a "Bocaboard" - had 16 serial ports on it - plugged in 16 external USR 28.8 modems. It all ran off of one PC.

I remember DigiBoard from my early ISP days. We attempted to turn a mid 90's-era Linux system (Slackware) into a terminal server. The Linux drivers for DigiBoard weren't quite up to it so we wound up going with Telebit Netblazers, I think.

I think we used RocketPorts for a while until switching to Livingston Portmaster 3s, which you plugged a T-1 into.

Portmasters were very popular. Later on the ISP I worked with moved on to Ascend boxes which had digital modems (T1 / PRI lines.)

PRI was a huge step. The "individual modem" days were a mess. Each modem had a serial cable, phone line, and power brick. I remember doing some maintenance in one of the POPs. There were at least 100 modems, stacked on a cheap plastic shelving unit. The shelving unit was sagging from the weight and heat of all the modems.

This early POP was haphazardly built, so no cable management. I remember a river of phone cables coming out of the wall. The power bricks were also crazy. We had power strips 2 or 3 levels deep, making it a hazard to even get behind the rack without tripping on something.


They'd already switched to PRIs before I started so I missed out on that "fun", but I can personally vouch to the younguns here that every word you just wrote was completely plausible and likely.

Portmasters were a godsend. They turned piles of gear into clean boxes at a fraction of the heat and mess.

It's because it's someone that wasn't around during that time geeking out over something they weren't a part of and making stupid assumptions.

Serial ports are a fun thing to learn about, computers had more than one. Now with USB, computers can have many serial ports.

That assumption feeds into the moral of the post and its followup

I don't think those boxes had a 16550 UART...



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: