VOGONS


First post, by STX84

User metadata
Rank Newbie
Rank
Newbie

Hi all,

I have a very old wire bending machine that is controlled by an old Siemens program that only runs on WFW 3.11. Unfortunately, the computer on which the program had been running so far refused to cooperate and I had to replace it.

I bought a used PC (2 core AMD processor, 2GB RAM, 60HDD), the oldest one I could find with an LPT port (for dongle) and a serial port (for communication). I cloned the old drive to the new one. Unfortunately, WFW 3.11 won't start. Only "_" flashes on the screen. The bootlog file is not created on startup, so I don't know what could be the reason. I was only able to boot the system with the /d:t parameter, but the program I care about doesn't work properly then.

I've been battling this for a few days now with no success. I am asking for help, I know that it can work since the system starts with the /d:t parameter, it's just hard for me to figure out what is the cause of the hang.

Reply 1 of 15, by lawyerpepper

User metadata
Rank Newbie
Rank
Newbie
STX84 wrote on 2023-02-23, 21:46:
Hi all, […]
Show full quote

Hi all,

I have a very old wire bending machine that is controlled by an old Siemens program that only runs on WFW 3.11. Unfortunately, the computer on which the program had been running so far refused to cooperate and I had to replace it.

I bought a used PC (2 core AMD processor, 2GB RAM, 60HDD), the oldest one I could find with an LPT port (for dongle) and a serial port (for communication). I cloned the old drive to the new one. Unfortunately, WFW 3.11 won't start. Only "_" flashes on the screen. The bootlog file is not created on startup, so I don't know what could be the reason. I was only able to boot the system with the /d:t parameter, but the program I care about doesn't work properly then.

I've been battling this for a few days now with no success. I am asking for help, I know that it can work since the system starts with the /d:t parameter, it's just hard for me to figure out what is the cause of the hang.

Can you post the full specs of the new machine? Cloning the drive is probably not the way to go since the hardware won't match. Assuming you can boot to DOS, you can try setting Windows back to basic VGA and go from there:

You need to boot to the DOS command line and edit the two files:-
c:\windows\system.ini
and
c:\windows\Progman.ini
Just use the Edit command to see them
In system.ini boot section look for the line Display.drv=...........
Put a semi colon at the beginning of the line and then create a new line
which reads:
display.drv=vga.drv
In the progman.ini file look in the settings section and look for the
same line and do the same changes.

Taken from here: https://microsoft.public.win3x-wfw-dos.narkiv … -3-11-safe-mode

Reply 3 of 15, by Jo22

User metadata
Rank l33t++
Rank
l33t++
cde wrote on 2023-02-23, 21:56:

Try booting in 286 mode /2. Also consider reducing the amount of memory and disabling multi core / hyperthreading in BIOS. Reduce the frequency.

Standard Mode is in normal Windows 3.11, but was dropped in WfW 3.11..

Good idea, though. Standard Mode is much more robust and does not need V86 and other finicky mechanisms.

Edit: It's just an idea, but maybe Windows 3.1 can be installed over the existing installation of WfW 3.11.
To do so, some one can copy the content of all diskettes in a directory, say C:\WINSETUP
Then, he/she switches to said directory and runs SETUP. Then selects the old Windows directory and chose VGA. After successfull installation, WIN /S or WIN /2 may work.
No guarantee.

Disabling caches, if possible, is also worth a try.

Unfortunately, programs like that application by Siemens do maybe use virtual devices drivers (VXDs, *.386).

..

Siemens never was that of a smart company, I think.
Otherwise they had ported all their things completely over to OS/2..
(I knew a friend that worked for Siemens once had used OS/2 at some point.)

PS: That hardware is insane for use with DOS era software, not to say productivity software.
Overkill, in short. Absolutely overkill.
It's like trying to run Windows 98 or XP on an Intel i7 or AMD Ryzen and ask for help.

Personally, I would simply do things right here.
Especially if it's a vital application.
I'd get an Pentium 1, a Pentium II at most - or simple a 486.

Or just run Windows 3.11 in Virtual PC 2007 on that PC and use its LPT pass-through feature.
Still better than this, I think. 🙂👍

And if a slower PC doesn't have LPT ports on-board, then how about this: Install one.
Buy an add-on card that's DOS compatible (ports on 378h, 3BCh etc).

Or install an LPT cable to the motherboard header.
Many Pentium era systems had at least a header for serial/parallel.

Or in case of 486 era systems - just get an multi-i/o card.
Then set the jumpers accordingly.
If that's too complicated, just get a Hercules clone card with an parallel port.
It appears at 3BCh, gets the LPT1 associated by BIOS automatically and doesn't conflict with existing ports.

Unfortunately, LPT port is not LPT port.
There's SPP, ECP, EPP, PS/2 as far as operation modes are concerned. 😉

Good luck! 🙂🤞

Disclaimer: I'm just thinking out loud.
Everything is my personal opinion.
I'm not liable to any damage.
All information is supplied without guarantee and excluding all liability.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 4 of 15, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

If your PC has a LPT port, in most cases you get the option to configure it to your liking (ECP, DMA and such), as most SuperIO chips offer all the necessary features.

WFW 3.11 simply cannot run with that much RAM. 2GB is really a lot. From what I remember the cutline was about 256MB, and it was very hard to work it around other than physically removing the excess amount.

EDIT: Can you explain where did the system get stuck? Did it get stuck before/during DOS boot, or it was before Windows startup (that DOS has completed booting)?

Reply 5 of 15, by Jo22

User metadata
Rank l33t++
Rank
l33t++
LSS10999 wrote on 2023-02-24, 02:59:

If your PC has a LPT port, in most cases you get the option to configure it to your liking (ECP, DMA and such), as most SuperIO chips offer all the necessary features.

WFW 3.11 simply cannot run with that much RAM. 2GB is really a lot. From what I remember the cutline was about 256MB, and it was very hard to work it around other than physically removing the excess amount.

EDIT: Can you explain where did the system get stuck? Did it get stuck before/during DOS boot, or it was before Windows startup (that DOS has completed booting)?

I think the same, that's why it's so sad that the OP has WfW 3.11 on that HDD.
If it was plain old Windows 3.1, then Standard Mode could function. Believe it or not, it's like night and day.
Standard Mode is also much more lightweight, despite the segmentation overhead the CPU must deal with.
It doesn't use any swap files and virtual memory, of course. Merely what it gets my Himem.sys.

The little loved Standard Mode uses clean 16-Bit Protected Mode with segmentation (dosx+krnl286). No flat-mode, no V86.
The Standard Mode kernal also makes a little bit use of the Ring levels of x86, at least, if I rememember correctly.
Certain stuff is running in Ring 3, enhancing stability.

And since the segmentation unit of the 80286 MMU is still working , code can't be executed if it's in the data field.
(IA32/x64 needed many years to get this feature back: until when PAE and DEP appeared on the scene.)

By comparison, the 386 Enhanced Mode kernal uses Ring 0 for all things, that's why VXDs have full access. Much easier.
Enhanced Mode Windows 3.1x is like Windows 9x in several ways. Same limitations and issues.

Speaking of Standard Mode, there are two versions, actually. One is in krnl286, one in krnl386.
Only on 286 PCs the krnl286 is executed by default.

To run it manually:

C:\WINDOWS> \SYSTEM\DOSX

Edit: This is just an idea, of course, but.. Installing OS/2 could help fixing things, as well, maybe.
It integrates existing Windows 3.1 installations into its Win-OS/2 environment..

It also can be highly customized (many DOS related settings) and
OS/2-hosted Windows 3.1 VMs can more or less talk to real hardware (unlike NTVDM/WoW).

However, classic OS/2 is a bit finicky witht the hardware. It maybe suffers more on that overkill PC than WfW 3.11 already does.
Anyway, this was just an idea. No guarantee whatsoever.

Too bad we don't know that this Siemens application is really actually doing here.
If we knew, we could provide better help, perhaps.

Edit: If this wasn't Vogons, I would tell the OP that he/she should get rid of that silly LPT dongle.
Back in the day, there were inofficial patches floating that put an end to this practice. For good reason.
Anyway, I don't make advices to break any laws. In Germany (home of Siemens), users didn't had to accept all kinds of patronage stated by a company's EULA.
If the user was the rightfully owner and had a proof (invoice, purchase contract, license etc) such a dongle could be by-passed, maybe. Ask a lawyer.
Especially in a situation like this (LPT port nolonger common), this action is more than justified and is reasonable.
Also, at these crazy CPU speeds, timing issues could still occur with the dongle, even if an LPT port was available and technically functioning.
To my understanding, users in Germany have the right to help themselves in such pityful situations, if the provider of the product is unavailable or unhelpful.
But again, ask a lawyer. I don't know where the OP is from. I'm just thinking out loud.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 6 of 15, by lawyerpepper

User metadata
Rank Newbie
Rank
Newbie

I love old hardware, but from a practical standpoint, running DOS/WfW in a VM with LPT passthrough is probably the way to go. Avoid all the perils of old hardware for production use, and dead simple to back up. Even though parallel ports aren't standard equipment on new systems, it's cheap and easy to add with a PCIE card: https://www.amazon.com/StarTech-com-Express-S … t/dp/B007UQZCFU

Reply 7 of 15, by STX84

User metadata
Rank Newbie
Rank
Newbie

Thank you for your replies. I read everything, but unfortunately nothing helped. BUT...

Looks like I found a solution. I don't know if this is correct, but this helped:

I downloaded new HIMEMX.EXE file and put it in C:\ location. Than I modify config.sys like this:

DEVICE=C:\HIMEMX.EXE /MAX=262144
rem DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
rem DEVICE=C:\WINDOWS\EMM386.EXE NOEMS HIGHSCAN WIN=EA00-ECFF WIN=E600-E9FF

Also

I turn off 32BitDiskAccess in system.ini.

Now system starts without issues. Dongle on LPT is also visible. Final test on Monday, connecting the machine through the serial port. Wish me luck 😀

Peter

Attachments

  • 20230224_150534.jpg
    Filename
    20230224_150534.jpg
    File size
    218.58 KiB
    Views
    1399 views
    File license
    Public domain

Reply 8 of 15, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Nice. Good luck! 😃🤞

PS: Next time, please consider getting a Thin Client.
These little devices come with good legacy support. ❤️

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 9 of 15, by kaputnik

User metadata
Rank Oldbie
Rank
Oldbie
STX84 wrote on 2023-02-24, 14:19:
Thank you for your replies. I read everything, but unfortunately nothing helped. BUT... […]
Show full quote

Thank you for your replies. I read everything, but unfortunately nothing helped. BUT...

Looks like I found a solution. I don't know if this is correct, but this helped:

I downloaded new HIMEMX.EXE file and put it in C:\ location. Than I modify config.sys like this:

DEVICE=C:\HIMEMX.EXE /MAX=262144
rem DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
rem DEVICE=C:\WINDOWS\EMM386.EXE NOEMS HIGHSCAN WIN=EA00-ECFF WIN=E600-E9FF

Also

I turn off 32BitDiskAccess in system.ini.

Now system starts without issues. Dongle on LPT is also visible. Final test on Monday, connecting the machine through the serial port. Wish me luck 😀

Peter

If Himemx ever gives you trouble - it did with some app for me when I had a similar problem and had to limit the amount of available RAM - you can also try with himem.sys from older DOS versions than you're currently running. All of them have their upper limit of addressable RAM, the older the lower.

Assuming you're running DOS 6.22, it's kinda strange that it wouldn't work if the RAM amount really is the problem though. IIRC himem.sys from DOS 6.22 caps out at 64 MB.

From the specs in the OP, I'm guessing the computer is equipped with DDR2 RAM. I've definitely seen 256MB sticks of that, maybe even smaller exist. Shouldn't set you back a lot. Perhaps also a solution.

Also, good luck 😀

Reply 10 of 15, by dionb

User metadata
Rank l33t++
Rank
l33t++

One option not mentioned so far that might just do the trick:

- Windows 3.11 can be run on DOSbox
- available memory can be limited in DOSbox
- DOSbox can access a physical parallel port directly

If that works, it would be a lot easier than attempting to run 30-year old software on modern bare metal. In any event you should be able to find out if it will in a matter of minutes. Worth a shot IMHO...

Reply 11 of 15, by elszgensa

User metadata
Rank Member
Rank
Member

> Windows 3.11, DOSbox, access physical port

Might work but might introduce jitter (unless you run that DOSbox instance on a realtime enabled OS?). If that port just hands off some data to some other component that then does the actual bending hardware control then it's probably fine, but if it needs to be (close to) real time then that might turn things sour. Only one way to find out...

Reply 12 of 15, by dionb

User metadata
Rank l33t++
Rank
l33t++

As I understand it, it's just a DRM protection dongle to allow the software to run. If it does more than that, then YMMV - but even then, you'll only find out one way.

Reply 14 of 15, by STX84

User metadata
Rank Newbie
Rank
Newbie

My first attempt was to only rem this line

DEVICE=C:\WINDOWS\EMM386.EXE NOEMS HIGHSCAN WIN=EA00-ECFF WIN=E600-E9FF

After that everything started to work, but very slow. So I added:

DEVICE=C:\HIMEMX.EXE /MAX=262144

And rem this

DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF

After that everything started to run smoothly.

No idea what's the problem behind the curtain, but I think my knowledge and power to search another solution ends here 😉

-------

I considered using Dosbox (or Dosbox-x) and I even tested that, but I have a problem with WFW 3.11 freezing after boot. Also there was some problem with writing data and some other minor problems. I decided to use real hardware to minimize potential communication errors with the machine (this is where the problem started, the message of no communication with the machine via the serial port). In the future I will try to run WFW 3.11 in a virtual machine, but now I want to bring the bending machine back to life ASAP.