VOGONS


First post, by asiegman

User metadata
Rank Newbie
Rank
Newbie

Howdy folks. I'm new here to the forums, but hoping you can shed some light or troubleshooting help on a problem I'm having.

I've been using DOSBox quite successfully for a while with games and such, but I have a business application for a customer I'm attempting to use it for.

I have a customer who is being forced by one of his software vendors to upgrade to Windows XP from Windows 98SE. He has several TSR plug ins for WPDOS5.1 (a medical dictionary, a shorthand expander, etc.) that do not work under Windows XP. However, he is determined to stay on WPDOS5.1 so he doesn't have to retrain all of his employees on new XP and Word and whatever new dictionaries/macros would come along with it.

My issue is that WPDOS will freeze or have a lengthy delay (10+ minutes) when trying to press alt-o and list a directory that is mounted in dosbox but a mapped network drive to a novell share out in windows xp. Explanation follows with more details.

I'm using DOSBox because regardless of my config.nt / autoexec.nt settings I cannot get these TSRs to insert themselves in to WordPerfect. None of them, at all. From my reading and understanding it's that NTVDM creates separate instances for each .exe/.com that is run. So DOSBox it is. I have a directory with all my programs in it. DOSBox loads and mounts just fine, the TSRs work like a champ and everyone is happy. Here's the kicker. I also have some novell network shares I'm connecting to (natively in windows) with mapped network drives. I'm also connecting to these over a VPN. The VPN works great, windows can access everything just fine. CMD.EXE and COMMAND.COM can access these mapped drives with no delay at all. A "Mount o: o:\" in DOSBox can access these drives just fine, a short (1-2 seconds delay) for listing some directories, but quite usable. WPDOS cannot. It will sometimes list them just fine, but most of the time just hangs. If I run WP natively in WinXP, it can list these directories with little to no hassle (sometimes a short delay of no more than 3 seconds, but perfectly usable).

A search of the forums brought me to some threads about config.nt/autoexec.nt editing for EMM support to run the TSRs natively in windows, however I've tried all those fixes with no luck. The only other WP threads are people telling folks it works fine in Windows, don't run it through DOSBox.

So I'm hoping somewhere here has an idea. I either need to:

(a) Make WP for DOS 5.1 stop freezing when doing directory listings of mounted network shares over a VPN.
(b) Make SEMD and PRD TSRs inject in to WPDOS when running natively in windows xp.

Here is the information from the "post for help this way" thread. The hardware stuff is mostly irrelevant for this issue, I would think.

# Motherboard
Various, all are intel boxes, some with intel and some with VIA chipsets

# Processor type and speed
Most are lower end P4s and Celerons, plenty of speed for XP though

# Amount and type of RAM
Minimum in all boxes is 1GB

# Video board w/ RAM amount and type
Most are integrated, 8MB shared

# Sound board
Mostly integrated.

# Operating system
Windows XP Service Pack 2 + Current Updates

# Game name (and version, if applicable)
Word Perfect for DOS 5.1

# Description of problem (be detailed: saying "it's jerky" doesn't help, saying "the player sprites seem to be jerky when I'm pressing any of the arrow keys" does)
See above

# Reproducibility of problem (always, only once, always but only on a specific level, etc.)
Every time, subjective however. It may do a directory listing in 5 seconds, it may lock up and never finish

# Sound mode used
nosound

# Video mode (Software, OpenGL, Direct3D, or Glide, and resolution)
Not sure on this, I can provide my dosbox.conf file as necessary.

# Version of emulator (for VDMSound, probably 2.0.4 or 2.1.0; for DOSBox, 0.58+)
DosBOX 0.70 and 0.72 both recreate the same issue.

# Steps already attempted to solve the problem (please say you've read the README if you haven't, and READ IT IF YOU HAVEN'T!)
See above

Reply 1 of 10, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

that NTVDM creates separate instances for each .exe/.com that is run

Try a batch file, that is create some "run.bat" that executes the
tsr first, then the program (in the same session).
Like

@echo off c: cd\where\is\my\tsr thetsr.exe cd\where\is\that\prog theprog.exe […]
Show full quote

@echo off
c:
cd\where\is\my\tsr
thetsr.exe
cd\where\is\that\prog
theprog.exe

Reply 2 of 10, by asiegman

User metadata
Rank Newbie
Rank
Newbie

I have done this in two ways.

If I run the batch file natively it will run the both tsrs (one fails with an error message not enough memory, so i'm only testing the one that didn't give a failed to load message) and in WPDos hitting ctrl-d doesn't bring up the TSR.

If I make a shortcut and PIFs for all programs involved, and my shortcut is to "command.com /P /E:4096 /c mybatchfile.bat" it just craps out when loading either TSR.

I've been through pretty much every fix on this site to try to get things running natively:

http://www.columbia.edu/~em36/wpdos/

I've also tried loading the TSRs in my config.nt file using INSTALL=C:\SEMD15\SEMD.EXE and INSTALL=C:\PPLUS2\PRD.COM but then command.com and cmd.exe just crash out when I try to start them. They instantly close.

I also found the following "dosonly" setting for config.nt, but it doesn't seem to help in any of the above configurations:

http://www.microsoft.com/resources/documentat … y.mspx?mfr=true

And actually, the following page has fixes for both my programs (Stedman's Medical Dictionary and PRD+) that don't seem to work either:

http://www.columbia.edu/~em36/wpdos/medtrans.html

note: I did not try that MoSlo 4Biz program.

Reply 3 of 10, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

A fine site, that one. I was just going to recommend it. I was also going to suggest Bochs, but there's no way you're going to be able to access the network shares from within Bochs. I don't suppose WP5.1+ or WP6 are out of the question?

It sounds to me like the real issue should be finding out what causes WP to hang when trying to access these network drives mounted in DOSBox . Have you observed this behavior with non-Novell network shares, maybe? Does the freezing still happen in DOSBox if you don't load up the TSRs? Are you trying to access some deep subdirectory of drive o: (or whatever), or something in the root of drive o: ? Are there long filenames involved? Is write-access to the shared drives permitted? Does the problem happen with the WordPerfect Library Shell on this page ?

Reply 4 of 10, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

We had another poster with a similar problem - very slow access to networked drives. I think Qbix looked at the code trying to determine what could be causing this (multiple look-ups, unnecessary caching, ...) but I don't remember if any conclusion was ever found.

Edit: Found the thread:
Slow network drive reading using DOSBox 'CAD edition'

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 5 of 10, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Might be better off running the program in Virtual PC. Since it's a DOS program you can just install FreeDOS and not have to worry about buying license's for Windows 98 for each virtual machine.

Only problem is that Virtual PC 2007 doesn't official support MS-DOS anymore. (Although it does work).

What cycles/core options are you using for DosBox? Perhaps these shares have alot of directories/files and since DosBox cycles/core is set to a non-optimal setting then they may take longer to parse.

How To Ask Questions The Smart Way
Make your games work offline

Reply 6 of 10, by dvwjr

User metadata
Rank Member
Rank
Member

MiniMax and DosFreak,

This re-inforces my point about adding the NTVDM EMS (fix) support into another release of the VDMsound code. The WinXP NTVDM is actually the correct business answer for this in-over-his-head 'consultant' and his customer's WPDOS problems.

The use of the word 'inject' said TSRs 'into' WPDOS was my first clue that the original poster might not have a good handle on solving the problem. 🤣 The other hint was his impression that seperate NTVDMs are launched for each executable in a batch file. 😖 The WordPerfect for DOS Updated website has all the information necessary to run said applications, however the problem is, of course that these applications require EMS memory in DOS, DosBox or the NTVDM to function. Since he is probably getting no EMS memory in the NTVDMs of the client's WinXP (SP2) based PC workstations - he turned to Dosbox, which unfortunately is not the fix for his customer's business application problems because of the requirement for access to a remote directory accessed over a VPN.

I wonder how hard it would be to re-create Vlad's production environment? 😢 Anyway, something for later. I've got to finish my WinXP (SP2) VGA.SYS fix, so I can then release my SYSTEM SHOCK (floppy version F1.5S) installer and finally get back to finishing my proposed DosBox coding changes for hardware MT-32 rev00 SYSEX delay support and MIDI timing fixes.

dvwjr

Reply 7 of 10, by asiegman

User metadata
Rank Newbie
Rank
Newbie

dvwjr: My terminology sucks, that I know. I'll be the first to admit I know nothing when it comes to programming / memory address ranges / etc. I have no idea how half this stuff works on the inside. I'd love to but I can only cram so much in to my brain each day. I'm generally only a network and telecom consultant, I hate dealing with these kinds of software issues.

Anyhow, progress update. I've worked a bunch through that site in more detail, and I have PRD+ and WPDOS51 working just fine with the help of the recommended "Tame" application and a lot of PIF memory settings. I cannot get Stedmans to work in the same fashion, presumably due to the "machine too fast" issue they talk about. Tame's documentation seems to have information about controlling CPU speed and such, I'm going to begin investigating that.

Reply 8 of 10, by asiegman

User metadata
Rank Newbie
Rank
Newbie
dvwjr wrote:

The other hint was his impression that seperate NTVDMs are launched for each executable in a batch file.

While I didn't explain what I thought correctly, it is how it appeared. SEMD would run, PRD would run (once I fixed the memory errors), but neither would function inside WPDOS. I'm curious how this really works technically.

Windows uses the same memory space / etc. for each shell open I would assume from your comments, and from the fact that I *can* get it working now. At least now I know my problems actually (seemingly) stem from other issues.

Reply 9 of 10, by asiegman

User metadata
Rank Newbie
Rank
Newbie
DosFreak wrote:

Might be better off running the program in Virtual PC. Since it's a DOS program you can just install FreeDOS and not have to worry about buying license's for Windows 98 for each virtual machine.

Only problem is that Virtual PC 2007 doesn't official support MS-DOS anymore. (Although it does work).

What cycles/core options are you using for DosBox? Perhaps these shares have alot of directories/files and since DosBox cycles/core is set to a non-optimal setting then they may take longer to parse.

I had things set up in a VMWare player, but gaining access to locally mapped network shares wasn't very clean at all. Plus, while a virtual machine is easy for you and me to use, it will be fairly difficult for someone less adept to use. Maybe VirtualPC is more user friendly, though. I may still give it a shot.

I have the default settings for cores and cycle:

core=normal
cycles=3000
cycleup=500
cycledown=20

I'll attempt playing with this a little bit, though I'm not sure it will make a difference.

Reply 10 of 10, by asiegman

User metadata
Rank Newbie
Rank
Newbie

Okay I was able to get all of this working natively in Windows. Thanks for confirming my suspicion that it's what I should have worked on from the beginning.

For those interested; these were the steps I took. The short version: Followed the Medical Transcriptionist's Survival Guide (linked above) with a couple tweaks since they did not have the right combination of TSRs configured and working with WP5.1. Long version follows.

I needed to use TameDOS to get WP working the way the customer liked. WP would work without, but I can change screen resolutions and stuff as easily without it.

I was able to get EMS working in Windows. Making .PIFs for each .exe/.com involved did not seem to be enough, but I didn't take good enough notes to know exactly what fixed it, as I did the EMS stuff and TameDOS stuff all at once. I also modified the _default.pif in the system32 folder for a catch all, since these machines have a very specific use. I do not know if this was necessary.

From the start I had a batch file that ran my two TSRs with appropriate command line options (SEMD.EXE and PRD.COM) but SEMD would never load. Tame's diagnostics reported how SEMD was functioning, and a created a Tame settings file to attempt to eliminate giving SEMD extra time slices as my reference site said it did not like fast computers. This did not help. I then ran prime95 at higher priority and loaded it, it loaded one out of about 7 tries, not nearly reliable enough.

I then checked in to the Mo Slo 4 Biz, and the settings provided there did not work. I was able to play with the methods and durations enough that eventually I got it working reliably. My command line options for MoSlo ended up being for my three test machines:

MoSlo.exe /s2000/m3/du8 C:\wp51.bat

wp51.bat ended up looking like this:

c:
cd \semd15
semd.exe
cd \pplus2
prd.com /b40 /e1200
cd \wp51
wp.com

Each related .com/.exe had a .PIF with EMS and Initial Environment Maxed, everything else set to Auto.

Config.NT was modified to include the line "EMM=RAM"

Now the slowdown will need to be tweaked for each model/speed of machine this will go on, as it doesn't work at all on my faster box here unless I really pump up the slow down.

I know the detailed information is not particularly relevant for this forum, but in case anyone else has the same idea for using DOSBox as I did, I hope this post helps.