UPDATE:
The links here have been reported to be broken. This archive upload by Jas Hud should have everything you need.
UPDATE:
Telnet connections appear to *require* core=normal in the conf file. I've updated the archived version. Please change your setup to match.
IMPORTANT:
DOSBox does not currently handle share modes or range locking. Further, it will cache directory contents. This effectively means that any door ran under DOSBox can not possibly be multi-node.
Ok, it is now possible to run DOS doors without FOSSIL support using DosBox thanks to H-A-L-9000 (a DosBox hacker). Instructions are as follows:
- Download and install DosBox 0.63
- Download H-A-L-9000's build of DosBox with the socket inheretence patch
- Download H-A-L-9000's DLL package
- Extract both zip files to the DosBox directory (C:\Program Files\DosBox-0.63 by default)
- Create a "dosdoors" directory in your xtrn directory (ie: C:\sbbs\xtrn\dosdoors)
- Download dosdoors.zip and extract into the new dosdoors directory
- Modify the paths found at the end of the .conf files to match your system. If you did not install to C:\program files\dosbox-0.63, you will need to modify the .cmd files also.
- Install the DOS doors into subdirectories of dosdoors ie: C:\sbbs\xtrn\dosdoors\yt. Under dosbox, C: will be mapped to the dosdoors dir regardless of where on your system it is located. D: will be mapped to the node directory. You can run a DOS shell to install/configure them by running the dosbox-local.cmd file. Set them up for COM1 on all nodes. The door will always be located in C:\<subdir>. The drop file will always be located in D:\. You should always use this shell to configure your doors if they have a config program.
- Set up the doors in Synchronet as follows:
1: Name <DoorName>
2: Internal Code <DoorCode>
3: Start-up Directory ../xtrn/dosdoors
4: Command Line rundosdoor.cmd %h <subdirname> <progname> <args>
5: Clean-up Command Line
6: Execution Cost None
7: Access Requirements
8: Execution Requirements
9: Multiple Concurrent Users No
10: Intercept Standard I/O No
11: Native (32-bit) Executable Yes
12: Use Shell to Execute No
13: Modify User Data No
14: Execute on Event No
15: Pause After Execution No
16: BBS Drop File Type GAP door.sys
17: Place Drop File In Node Directory
18: Time Options...
- If progname is actually a batch file, use call... ie:
rundosdoor.cmd %h <subdirname> call <batname> <args>
For Win9x and WinME, rename the .cmd files to .bat and remove the set line from rundosdoor.bat
Old/*nix Instructions
Here are the things you need to run your doors under dosbox.
Patch for current CVS
Patch for 0.63
Apply the patch, and set up your dosbox.conf like so:
for Win32 with H-A-L-9000 build, or
for CVS, or
for 0.63
A precompiled Win32 binary is now available from H-A-L-9000, so you should be able to install DosBox, then plop this new binary in its place. You will also need to download the DLL package from that same site.
Then modify rundosdoor.sh for your setup and add use dosbox to configure the door(s).
In scfg, a door would looke something like this:
[LORD]
1: Name LORD
2: Internal Code LORD
3: Start-up Directory ../xtrn/dosdoors
4: Command Line rundosdoor.sh %h lord call start.bat %#
5: Clean-up Command Line
6: Execution Cost None
7: Access Requirements
8: Execution Requirements
9: Multiple Concurrent Users No
10: Intercept Standard I/O No
11: Native (32-bit) Executable Yes
12: Use Shell to Execute No
13: Modify User Data No
14: Execute on Event No
15: Pause After Execution No
16: BBS Drop File Type GAP door.sys
17: Place Drop File In Node Directory
18: Time Options...