VOGONS


First post, by CLAVDIVS

User metadata
Rank Newbie
Rank
Newbie

I recently downloaded the old door game Netrunner after playing it a bit on a web-based BBS, wondering if I could get it to run locally and offline. I remember doing so back in the 90's, but no details as to how.

The good news is, the executable will execute; it needs to be passed the path of a BBS-generated file with user and system information, but the documentation includes specs on a generic file you can create yourself if your backend doesn't use one of the other formats it recognizes. The ANSI-art title screen displays in the DOSBox window just fine. The bad news is, that's as far as it gets. It immediately exits with the message "CARRIER DROPPED!".

I'm inferring from this that there's something in the game's code that checks for a modem connection; one piece of information it gets from the BBS is the modem's COM port. I assume this is so that, if a player loses their connection, the game knows not to wait for them to quit or for their allotted time to run out (it only supports one player at a time) and exits on its own so the next player can run it. However, it's not sending its output exclusively to the modem (since I can see the title screen and exit message), and as such might not be listening exclusively to the modem either. Therefore, if I can somehow trick it into thinking there IS a modem connection, perhaps by emulating one within DOSBox, then perhaps it won't auto-exit and I can play it on my own computer.

The only problem is, I have NO idea how to do that. 😁 I've looked over the documentation for modem emulation, but it's less that I don't know how to configure it and more that I don't know what configuration I need. I don't know enough about how BBSes or door games work under the hood to know what it's looking for.

Now, I'm aware of modern BBS software like Synchronet, which even has a built-in DVM for running door games. I could install that, configure Netrunner inside it, and telnet into localhost to play. But there's a few reasons I'd prefer not to resort to that if I don't have to:

1: It feels like a much bigger tool than the job requires, like taking a private helicopter to the supermarket. It might work, but it's overkill.
2: If I can get it running entirely within DOSBox on my PC, then I might be able to do the same with DOSBox on my phone. Netrunner is not a particularly deep game, but it's exactly the kind of thing I could enjoy playing in short bursts while on a bus or in a waiting room.
3: This is immensely silly of me, but for cosplay or RP purposes I'd like to one day get the thing working on an old "luggable" portable PC as if it were the deck of a 90's cyberpunk character. 😊

I mentioned above that I remember getting the game to work back in the 90's, but not how I did it. Something I DO remember is that I had messed around with BBS software a bit (I never ran one, but I'd considered it, and was just curious how they worked), and that might have been what I did then. I think the software I used might have had a mode where the sysop could log in without tying up the modem, and that might have been what I did back then. If it turns out that's what I need to do, can anyone recommend a free, lightweight BBS backend for DOS that I can run the game from?

Some technical details: My "real" computer is running Windows 7 SP1 on an Intel i5 processor. My DOSBox version is 0.74. I can produce more details if necessary, but it seems highly unlikely to me that they'd be relevant to the problem at hand.

PS: I don't know for sure if the game supports it, but if so, does anyone know how one might make a door game run in monochrome? Not all of those early luggables I mentioned support color. I suppose I could just run the game on a mono display and hope for the best, but it uses color to convey some important information; like when you a virus scan, the names of infected programs change from green to red.

Reply 1 of 11, by CLAVDIVS

User metadata
Rank Newbie
Rank
Newbie

I had a thought, triggered by this part of my post:

The good news is, the executable will execute; it needs to be passed the path of a BBS-generated file with user and system information, but the documentation includes specs on a generic file you can create yourself if your backend doesn't use one of the other formats it recognizes. The ANSI-art title screen displays in the DOSBox window just fine. The bad news is, that's as far as it gets. It immediately exits with the message "CARRIER DROPPED!".

I'm inferring from this that there's something in the game's code that checks for a modem connection; one piece of information it gets from the BBS is the modem's COM port.

The game only knows what port to listen for the modem on because the BBS, or in this case a text file I made, tells it. So what if I just... don't? After all, if I was running the game from inside the BBS software, what would it put in DOOR.SYS or whatever about the modem port? I opened up the GENERIC.SYS file, deleted the COM port info (leaving the empty line in place), and ran the game. And holy heck, it worked!

UQOAmSs.png

Sort of.

It doesn't auto-quit at the title screen anymore, and I get as far as entering my handle or the game's main menu before it hangs for some other, indiscernible reason.

lLVSowU.png

The program doesn't respond at all, and I can only get out of it by closing DOSBox entirely.

Still, progress.

Reply 2 of 11, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

If it's not writing to the modem port, perhaps it's checking for the carrier detect signal line? I guess if you could configure an emulated port to have that signal set, then the game would assume the modem is connected and keep running, perhaps.

Reply 3 of 11, by CLAVDIVS

User metadata
Rank Newbie
Rank
Newbie

That does seem like a likely candidate, as it would be easy to check for. I wonder if and how one could spoof that signal within DOSBox.

However, thanks to a flash of inspiration described in my previous post, it doesn't appear to be necessary, at least in this case. 😀

Reply 4 of 11, by CLAVDIVS

User metadata
Rank Newbie
Rank
Newbie

Ever have one of those problems that you're certain is going to have a complex solution, and it turns out to be something dead simple?

I was looking up the formats to various kinds of BBS-generated files the game can read (which are apparently called 'drop files', which I think I knew in the 90's back forgot since), as I was considering dummying one up so I wouldn't have to keep entering my name every time (it links player data with BBS user names, but the GENERIC.SYS file doesn't provide this so it asks each time it runs). I mention this to point out that I wasn't even looking for a solution to the main problem when I stumbled upon it; I was taking a break from that to look for a fix for a comparatively minor annoyance.

Each of these drop file formats has an entry for specifying the COM port, but several mentioned that COM0 was used to signify that the user (likely the sysop) was logged in to the board in local mode. Convinced that the solution could NOT be that simple, I tried it anyway, replacing the deleted COM port line on GENERIC.SYS but setting it to zero.

And that's exactly what did it. The game works perfectly now. I guess having no COM port specified, rather than a dummy one, was a case the author never accounted for and the program got confused.

Let this thread be a monument for others trying to get the door games from their youth to work locally, be it LORD, Trade Wars, or what have you: The answer probably isn't nearly as complicated at you might think. 😁

Reply 5 of 11, by konc

User metadata
Rank l33t
Rank
l33t

I read this thread too late to answer. Most doors can run in what's referred to as "local" mode. Some of them need specific command line parameters, but in most cases they handle it the way you described: When the BBS software "drops" the file and switches to the door, this file contains information about the logged-in user. If the sysop for example had logged in locally, then the dropped file will be exactly as you described. So the program most probably wasn't confused, it just needed a properly structured drop file containing the COM port entry. They do have specific structure and COM 0 is perfectly valid for a door.

As rule of thumb, if the door's documentation doesn't mention any special command line parameters to operate in local mode, then a drop file similar to what BBS software would create from a local login is usually enough. I recently resurrected my old BBS and made again available online (telnet) and the pain from setting up doors hasn't changed, so I feel you 😀

Reply 6 of 11, by CLAVDIVS

User metadata
Rank Newbie
Rank
Newbie

Yeah. I'm pretty sure I knew all of this twenty years ago and just forgot it since. 😀

A further note: I got the game to run on my phone, too! Well, again, sort of. It won't save my progress or even my chargen data. it's like everything's being opened read-only, but the folder and files are all set writable and I can't find an option in the app settings or config file that would do that. Googling hasn't been any help, either. I may post a separate thread about that, since it's a separate issue from this one.

Still, though! When I got the game running on my PC, I was thinking, "This is neat, and it's a cool little nostalgia trip, but the game's so shallow that I'm gonna be bored with it in a week." But it turns out to be a perfect mobile game. I can play it for short bursts while I have time to kill, it's turn-based so you can take your attention away from it at any moment with no in-game risk, it requires no twitch-gaming skills which is always difficult on a touch screen, and the simple, high-contrast visuals are easy to see. I even found an app called Magic DosBox (I installed the free version) which lets you create custom buttons to make controlling the game easier, so I made some for the in-matrix commands and a numpad for both navigation and program selection:

lUJ1QaJ.png?1

Not only that, but it let me create an icon to launch the game directly from my home screen. For this, I used the box art for the card game Android: Netrunner. It seemed appropriate since I'm playing Netrunner on Android. 😁

Reply 7 of 11, by CLAVDIVS

User metadata
Rank Newbie
Rank
Newbie

Two more updates, if anyone still cares 😉 :

In the Magic DosBox configuration, I added some invisible buttons over the map portion of the screen so I can tap the direction I want to go.

I've also narrowed down the problem with it not saving my progress. Credits stolen from systems seem to stay stolen, and the game day keeps incrementing when the maintenance program runs, so it's not read-only. The problem seems to be specific to the file PLAYERS.DAT. I still have no idea WHY, especially since I never had this problem on my PC, but at least I have a clearer picture of WHAT.

Reply 8 of 11, by CLAVDIVS

User metadata
Rank Newbie
Rank
Newbie

I have cleared the final technical hurdle! One of the settings in NETRUN.CFG is the number of days after which to delete inactive characters; I set it to an absurdly high number so that it would essentially never happen. However, in my troubleshooting, I learned two things:

One, if the number is set above some upper limit, the game deletes all characters immediately, possibly because binary rollover makes it read it as zero or negative.

Two, this upper limit appears to be lower when it runs inside my Android version of DOSBox, so the absurdly large number that worked on my PC didn't work on my phone.

I have no idea; neither one seems to correspond to the valid ranges of any of the integer data types. but whatever, it works now. 😁

Reply 9 of 11, by IBM Portable PC

User metadata
Rank Newbie
Rank
Newbie

See my posts in other threads regarding carrier detection. It appears that DOSBox is supposed to pass DCD assertions from the host to the direct connection, however I have used various UART reading utilities and can confirm that DCD changes (in Raspbian Linux at least) are visible in Linux but not passed to the DOSBox environment. I'm about to test MEGABuild to see if this issue has been addressed there.

Reply 10 of 11, by BSA Starfire

User metadata
Rank Oldbie
Rank
Oldbie

I love the William Gibson novels so would really like to play this myself, anyone got a link to a stand alone download for this game? Would love to play this one on one of my old DOS systems. IBM Portable PC could you upload your version with the required tweaks to plat slandalone on DOS?
Thanks,
Chris

286 20MHz,1MB RAM,Trident 8900B 1MB, Conner CFA-170A.SB 1350B
386SX 33MHz,ULSI 387,4MB Ram,OAK OTI077 1MB. Seagate ST1144A, MS WSS audio
Amstrad PC 9486i, DX/2 66, 16 MB RAM, Cirrus SVGA,Win 95,SB 16
Cyrix MII 333,128MB,SiS 6326 H0 rev,ESS 1869,Win ME

Reply 11 of 11, by johnt7303

User metadata
Rank Newbie
Rank
Newbie

Hi,

I loved this game (if it's the one I'm thinking of) when I was on BBS's back in the day. I've been looking for it forever. It's not well known these days and there's very little google info.

If you have a link to play it on my phone or PC I'd love that .

Much appricated.