VOGONS


NetBIOS code for DosBox

Topic actions

First post, by HCl

User metadata
Rank Newbie
Rank
Newbie

As mentioned in another thread, i have been working in an implementation of NetBIOS in DosBox. This was made originally with the purpose of playing Wing Commander Armada online but i am currently improving the code to support other games. I have posted in this thread a win32 build of DosBox with my NetBIOS code, along with a couple of diff files with can be used to patch the code, in case someone wants to try this out.

Regrettably, this implementation is still very incomplete. This is the work of a couple of nights i spent toying with DosBox, exploring Armada and NetBIOS functions, which also means my code is not particularly good or efficient. 😦 Some housekeeping is in order. Of the games i tested it with (WC Armada, Syndicate and Hi-Octane), only WC Armada works properly at this time...

Since h-a-l-9000's proposed solution uses Novell's NetBIOS driver to run, it's only natural that it supports more games than my incomplete implementation. However, the thought of having the necessary functionality to run NetBIOS games integrated on DosBox does appeal to me, so i will continue to improve my code and work towards this end. I hope to be able to post a new diff in a couple of days that will be able to run games that require NetBIOS sessions, and eventually to turn this into a viable and complete NetBIOS implementation for DosBox.

Mario Brito
(HCl)

Reply 2 of 4, by HCl

User metadata
Rank Newbie
Rank
Newbie

Thanks for the list! It turns out i had several of these games lying around, but never gave much thought to multiplayer gaming back then.

Fighter Wing needs a few fixes to work and Mechwarrior 2 is in the same situation as Syndicate: needs NetBIOS session support. I'm still trying to figure out what Magic Carpet 1 needs in terms of NetBIOS functionality... In any case, i'll try to get more games for testing eventually, although these seem to be good test cases and should manage keep my hands full for now 😉

Some games, by the way, are listed as using NetBIOS, but my tests indicate that they use IPX instead (Actua Soccer and Shadow Warrior, for example)

Reply 3 of 4, by HCl

User metadata
Rank Newbie
Rank
Newbie

Making some progress here 😀 Syndicate: American Revolt now works with my implementation, and Mechwarrior 2: 31st Century Combat should work as well (i say "should work" because, although the netbios chatter program included with the game works perfectly, i seem to lack a "netdemo" executable mentioned on the readme file, so i can't test it any further). I'm currently solving some bugs with Hi-Octane, but i think i have it under control.

I'm hoping to get the session code more stabilized this weekend and post a build w/ diff by then.

Work in progress, as always...

Mario

Reply 4 of 4, by HCl

User metadata
Rank Newbie
Rank
Newbie

Ok, got Magic Carpet 1 to work with my implementation, so here's a new version in case someone wants to try this out. My code is currently undergoing heavy debugging, but from the NetBIOS games i have around for testing here's a quick summary:

Hi-Octane: broken; i'm clearly doing something wrong in the CANCEL command, when i fix something that helps Hi-Octane i tend to break other games (e.g. Magic Carpet). Still looking into it...

Magic Carpet 1: works (game needs -network switch)

Mechwarrior 2 31st Century Combat: works as far as the netb2.exe goes... i am not able to test any further (i may be missing some files, or just don't know how to get to multiplayer mode)

Syndicate American Revolt: works

Wing Commander Armada: works

So, bugs still persist, but some more games now work. I'll debug Hi-Octane and then try to get more games for testing while i try to understand some aspects of NetBIOS. Eventually i want to try Windows 3.11, make my code efficient and actually use real NetBIOS messages on IPX packets.

One step at a time, tho... I'll be posting a new version when i get the code more stable.