Both sides previous revisionPrevious revisionNext revision | Previous revision |
howto:dosemu2 [2022/09/10 18:46] – [Recommended Global Parameters] Updated for using the dosemu2 command-line options to map drives instead of lredir Nightfox | howto:dosemu2 [2023/02/13 19:04] (current) – Sarting around version 2.0~pre9-7903-9d1ac8737+202302132016, SHELL_LOADHIGH_DEFAULT=0 is now the default Nightfox |
---|
Synchronet has run DOS Doors under Linux for years using DOSEMU. Many Sysops find that it meets their needs very well and is stable. However, DOSEMU has not been maintained, has controversial licensing terms, and not every DOOR program works well with it. This page will detail the modifications made to get DOSEMU2 running under Synchronet for Linux with DOS-based DOORS. | Synchronet has run DOS Doors under Linux for years using DOSEMU. Many Sysops find that it meets their needs very well and is stable. However, DOSEMU has not been maintained, has controversial licensing terms, and not every DOOR program works well with it. This page will detail the modifications made to get DOSEMU2 running under Synchronet for Linux with DOS-based DOORS. |
===== Motivation ===== | ===== Motivation ===== |
My primary motivation is to get Tradewars 2002 ver 3.09 running under Synchronet for Linux, something I have not been able to do with Dosemu. | A primary motivation for some is to get Tradewars 2002 ver 3.09 running under Synchronet for Linux, something not possible to do with Dosemu. |
===== Progress ===== | ===== Hobo's Progress ===== |
I have set up a test BBS conveniently named "Dosemu2 Test BBS" which can be accessed by telnet or ssh at dosemu2.mystic.dog | |
So far I have gotten 4 versions of Tradewars 2002 running under Dosemu2. | Progress has been iffy. At one time I had the following Tradewars 2002 games running under Dosemu2 and Synchronet: |
| |
They are Tradewars 2002 versions: | |
* 1.03d | * 1.03d |
* 2.0 wide beta 8 | * 2.0 wide beta 8 |
* 3.09 | * 3.09 |
| |
In addition, I have Global Wars, Freshwater Fishing Simulator, Legend Of The Red Dragon ver 3.55, Scrabble, and Stack'Em running under Dosemu2 on the test BBS. | In addition, I had Global Wars, Freshwater Fishing Simulator, Legend Of The Red Dragon ver 3.55, Scrabble, and Stack'Em running under Dosemu2 on a test BBS. |
| |
| However... after upgrading to a newer version of Dosemu2... things simply stopped working. After much further experimentation I was able to get some of them working, but not all. Eventually I gave up my efforts on these games. |
| |
====== Overview Of The Problem ====== | ====== Overview Of The Problem ====== |
The primary issue with Dosemu2 and Synchronet is that it has different command line options than dosemu, and the external.bat called by Synchronet does not work with dosemu2. Coming very soon will be my modifications to external.bat and dosemu.ini that work for me so far. In time I hope that dosemu2 will be fully supported by Synchronet. That may very well happen before I get this page finished... | The primary issue with Dosemu2 and Synchronet is that it has different command line options than dosemu, and the external.bat called by Synchronet does not work with dosemu2. Coming very soon will be my modifications to external.bat and dosemu.ini that work for me so far. In time I hope that dosemu2 will be fully supported by Synchronet. That may very well happen before I get this page finished... |
| |
====== Reaching Me ====== | |
The best way to prompt me to quicker action is nag Hobo in #synchronet on the Synchronet IRC. Or leave me a message on the Dosemu2 Test BBS. | |
| |
====== Installation of DOSEMU2 ====== | ====== Installation of DOSEMU2 ====== |
There are multiple methods of installing DOSEMU2 to include building from source and through a repository. Taking a simpler approach and ensuring you have the latest build, we will use the DOSEMU2 repository hosted on Gitlab. | There are multiple methods of installing DOSEMU2 to include building from source and through a repository. Taking a simpler approach and ensuring you have the latest build, we will use the DOSEMU2 repository hosted on Gitlab. |
| |
| The general procedure to install dosemu2 is as follows: |
First, add the repository, | First, add the repository, |
| |
* ''sudo apt update'' | * ''sudo apt update'' |
* ''sudo apt install dosemu2'' | * ''sudo apt install dosemu2'' |
| |
| **NOTE:** Starting with dosemu2 build 2.0~pre9-7811-4373124b9+202301020131, dosemu2 seems to require the $_xms and $_ems settings to be more than 1024 in order to run. I (Nightfox) tried "$_xms = (8192)" and "$_ems = (2048)", and newer builds of dosemu2 would run. Additionally, for TradeWars 2002, it also requires the setting SHELL_LOADHIGH_DEFAULT=0 (otherwise, when running TradeWars 2002, dosemu2 was complaining that it could not initialize the fossil driver and would exit). SHELL_LOADHIGH_DEFAULT=0 is supporeted with newer versions of comcom32.\\ |
| And starting around version 2.0~pre9-7903-9d1ac8737+202302132016, SHELL_LOADHIGH_DEFAULT=0 is now the default, so it doesn't absolutely need to be specified anymore for TradeWars 2002.\\ |
| |
If you prefer to use the latest FreeDOS environment, change the second command, to read ''sudo apt install dosemu2 fdpp''. Once you accept the changes to your system, DOSEMU2 and FreeDOS will be installed. | If you prefer to use the latest FreeDOS environment, change the second command, to read ''sudo apt install dosemu2 fdpp''. Once you accept the changes to your system, DOSEMU2 and FreeDOS will be installed. |
\\ | \\ |
Update the cmd settings in exec/dosemu.ini (note that lredir is deprecated according to the dosemu2 documentation; thus, drives are mapped on these command lines - lredir should now be unnecessary in external.bat):\\ | Update the cmd settings in exec/dosemu.ini (note that lredir is deprecated according to the dosemu2 documentation; thus, drives are mapped on these command lines - lredir should now be unnecessary in external.bat):\\ |
cmd=/usr/bin/env $TERM HOME=$CTRLDIR QUIET=1 DOSDRIVE_D=$NODEDIR DOSDRIVE_E=$XTRNDIR DOSDRIVE_F=$CTRLDIR DOSDRIVE_G=$DATADIR DOSDRIVE_H=$EXECDIR NODEDIR=$NODEDIR $DOSEMUBIN -d $NODEDIR -d $XTRNDIR -I"video { none }" $VIRTUALCONF -f$DOSEMUCONF -E$EXTBAT -o$NODEDIRdosemu_boot.log $EXTLOG | cmd=/usr/bin/env $TERM HOME=$CTRLDIR QUIET=1 DOSDRIVE_D=$NODEDIR DOSDRIVE_E=$XTRNDIR DOSDRIVE_F=$CTRLDIR DOSDRIVE_G=$DATADIR DOSDRIVE_H=$EXECDIR NODEDIR=$NODEDIR $DOSEMUBIN SHELL_LOADHIGH_DEFAULT=0 -d $NODEDIR -d $XTRNDIR -I"video { none }" $VIRTUALCONF -f$DOSEMUCONF -E$EXTBAT -o$NODEDIRdosemu_boot.log $EXTLOG |
[stdio] | [stdio] |
cmd=/usr/bin/env $TERM HOME=$CTRLDIR QUIET=1 DOSDRIVE_D=$NODEDIR DOSDRIVE_E=$XTRNDIR DOSDRIVE_F=$CTRLDIR DOSDRIVE_G=$DATADIR DOSDRIVE_H=$EXECDIR NODEDIR=$NODEDIR $DOSEMUBIN -d $NODEDIR -d $XTRNDIR -I"video { none }" -I'keystroke "\n"' $VIRTUALCONF -f$DOSEMUCONF -E$EXTBAT -o$NODEDIRdosemu_boot.log $EXTLOG | cmd=/usr/bin/env $TERM HOME=$CTRLDIR QUIET=1 DOSDRIVE_D=$NODEDIR DOSDRIVE_E=$XTRNDIR DOSDRIVE_F=$CTRLDIR DOSDRIVE_G=$DATADIR DOSDRIVE_H=$EXECDIR NODEDIR=$NODEDIR $DOSEMUBIN SHELL_LOADHIGH_DEFAULT=0 -d $NODEDIR -d $XTRNDIR -I"video { none }" -I'keystroke "\n"' $VIRTUALCONF -f$DOSEMUCONF -E$EXTBAT -o$NODEDIRdosemu_boot.log $EXTLOG |
| |
In ctrl/dosemu.conf, add the following two lines (and change the path to sbbs to match what it is on your system):\\ | In ctrl/dosemu.conf, add the following two lines (and change the path to sbbs to match what it is on your system):\\ |
@lredir -f D: $NODEDIR >NUL | @lredir -f D: $NODEDIR >NUL |
| |
| |
| For the SHELL_LOADHIGH_DEFAULT=0, alternately, you can edit exechlp.bat (in /usr/share/dosemu/dosemu2-cmds-0.3/dosemu) and if SHELL_LOADHIGH_DEFAULT is in there, set it to 0 (it might be 1). The SHELL_LOADHIGH_DEFAULT=0 setting is supported with newer versions of comcom32. |
===== See Also ===== | ===== See Also ===== |
* [[:howto:|howto index]] | * [[:howto:|howto index]] |