VOGONS


First post, by superfury

User metadata
Rank l33t
Rank
l33t

I notice that running Windows 95 under many Dosbox versions has various problems with either booting a disk image or the serial port (if it actually manages to boot).

One problem that happens on most Dosbox distros (except Dosbox-X and SVN Daum(is Dosbox-X actually a continuation of SVN Daum? It seems to have the same icon?)) seems to be that it gives me a bootloader error (Operating System not found or comparable message).

Then, on the cases it does actually boot (Dosbox-X/SVN Daum), it doesn't seem to actually detect the serial modem, no matter what I put in the serial port settings. Tried "modem", "modem listenport:5000" and "modem listenport 5000" for both serial1 and serial2 (Windows is setup for COM2 for the serial port).

Or in the cases it does boot, I'm met with all kinds of weird crashes of Explorer.exe and other programs (even during the boot, after the GUI displays the desktop).

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io

Reply 1 of 10, by _Rob

User metadata
Rank Member
Rank
Member

I'm a little confused. Do you have a real modem attached to your real COM2 port on your windows host pc? Or are you wanting to emulate a modem? And what are you trying to connect to?

The "modem" and "nullmodem" options are for emulating a modem or nullmodem respectively. If you have a real serial device your trying to use, you need to do something like "serial1=directserial realport:COM2"

This old guide may also be useful
Directserial and Modem Guide

Reply 2 of 10, by superfury

User metadata
Rank l33t
Rank
l33t

What I mean is that Dosbox is setup for it's softmodem emulation:

[serial]
# serial1: set type of device connected to com port.
# Can be disabled, dummy, modem, nullmodem, directserial.
# Additional parameters must be in the same line in the form of
# parameter:value. Parameter for all types is irq (optional).
# for directserial: realport (required), rxdelay (optional).
# (realport:COM1 realport:ttyS0).
# for modem: listenport (optional).
# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
# transparent, port, inhsocket (all optional).
# Example: serial1=modem listenport:5000
# Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial2: see serial1
# Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial3: see serial1
# Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial4: see serial1
# Possible values: dummy, disabled, modem, nullmodem, directserial.

serial1=dummy
serial2=modem listenport:2048
serial3=disabled
serial4=disabled

Windows 95 is setup for using COM2 for the modem (for easy compatibility with Windows 95 running inside my own emulator, UniPCemu, which has the same kind of 'softmodem' on it's second serial port (the first port being a serial mouse on non-PS/2 architectures)).

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io

Reply 3 of 10, by _Rob

User metadata
Rank Member
Rank
Member

"listenport" is for incoming requests. So if you want to "dial into" win98 running in DOSBox. If you only want to establish an outgoing connection, it is not needed.

With just "serial2=modem" you should be able to start something like HyperTerminal in Win95 and dial an IP address.

I just tried it on Win95 with DOSBox-X, and with serial2=modem ran the "Add New Hardware Wizard". And after a considerable wait, it found a "Standard Modem".

I then went to https://www.telnetbbsguide.com/ found a bbs to try and dialed it by dialing it's IP address, such as 205.213.162.240 and it worked first time.

Reply 4 of 10, by superfury

User metadata
Rank l33t
Rank
l33t

Like I said, on Dosbox SVN Daum and Dosbox-X it works fine. The other build I tried(Dosbox 0.74) failed miserably. It looks like some kind of UART issue(assuming that the softmodem is still working properly itself).
When using o.74 I go to the modem settings and make it perform the diagnostics on COM1/COM2, it gives an empty default information list for the port the modem isn't connected to, while telling me that the device is in use and failing for the modem port(like another app has locked the port driver or something).

Daum seems fine on one of my testing machines(gaming PC) with both serial and booting. I don't use Dosbox-X there.
Dosbox-SVN Daum on my laptop is booting Windows with weird crashes on boot(including explorer.exe). Dosbox-X doesn't crash and does boot there, but the serial port issue occurs. Tried 0.73 and 0.74 there as well, but they don't boot Windows at all(Boot sector errors out)?

As for the device specs:
- Gaming PC (custom build): MSI Gaming B85-G43 motherboard, i7-4790K CPU, 8GB RAM, NVidia GTX 750Ti video card.
- Laptop: Lenovo Ideapad L340-15IRH Gaming.

Edit: Note: The gaming PC has poweron hard drive poweron delay issues (it can't detect it most of the time. If failing, a soft reboot(Ctrl-Alt-Del) after a few seconds detects it properly). Is that a sign of (relatively) imminent failure?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io

Reply 5 of 10, by _Rob

User metadata
Rank Member
Rank
Member

Stock DOSBox 0.74 should really not be used with Win95. You should fare a little better with a SVN release.

Daum has been discontinued for years already. DOSBox-X is the only actively maintained DOSBox fork that actually supports Win9x, and it incorporated most (all?) of Daum's features.

You say you have serial port issues with DOSBox-X and Win95, but as I said, it worked for me first time. I used a very plain config, as you can find on the DOSBox-X wiki on how to install Windows 95.

Reply 6 of 10, by superfury

User metadata
Rank l33t
Rank
l33t

Dosbox-X is weird. I use imgmake to create an 2GB image with the -t parameter. Then, running imgmount c diskimage.img throws an error:

Cannot create drive from file.

However, running "imgmount 2 diskimage.img" works (and "boot-l c" after that)?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io

Reply 7 of 10, by _Rob

User metadata
Rank Member
Rank
Member

There are two possible problems you may have run into.

1. it was possibly created as FAT32, and so you need to set your reported DOS version to 7.1 to be able to access it. (ver set 7.1)
2. a bug that was introduced in 0.83.17 that only effects the Windows Visual Studio (VS) build. Either use the previous version, the MinGW build, or build a version from git.

Reply 8 of 10, by superfury

User metadata
Rank l33t
Rank
l33t
_Rob wrote on 2021-09-17, 06:06:

There are two possible problems you may have run into.

1. it was possibly created as FAT32, and so you need to set your reported DOS version to 7.1 to be able to access it. (ver set 7.1)
2. a bug that was introduced in 0.83.17 that only effects the Windows Visual Studio (VS) build. Either use the previous version, the MinGW build, or build a version from git.

I do know it's created as FAT32(that what the "-t 2gig" (or something along those lines) during the image creation made). Confirmed that using Winimage (it's formatted fat32 and empty) after running imgmake.

But the formatted type of the disk image shouldn't affect the mounting of it with such an error message(it indicates the file itself would be inaccesible, not it's MBR)?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io

Reply 9 of 10, by _Rob

User metadata
Rank Member
Rank
Member

By default DOSBox (and DOSBox-X by extension) claims to be DOS 5.0, which has no support for FAT32 or LFN (Long FileNames). To maintain compatibility with some dos utilities that make assumptions based on the DOS version, it was decided to only make LFN available if the reported DOS version is 7.0 and FAT32 requires 7.1, which are the versions reported by Win95 and Win95OSR2 respectively which initially implemented these features.

As such, to be able to mount a FAT32 volume you need to set the reported DOS version to 7.1 which you can do either in the config file, or from the DOSBox-X command line with "ver set 7.1". But as you noticed, booting a FAT32 volume does not require setting the DOS version first. This is also as expected, as the emulated DOS environment of DOSBox-X no longer matters at that point.

I do agree however that the error message can be confusing. A few versions back the error message was better, telling you to set the version and try again, but for some reason this message was taken out.

Reply 10 of 10, by superfury

User metadata
Rank l33t
Rank
l33t
_Rob wrote on 2021-09-17, 07:22:

By default DOSBox (and DOSBox-X by extension) claims to be DOS 5.0, which has no support for FAT32 or LFN (Long FileNames). To maintain compatibility with some dos utilities that make assumptions based on the DOS version, it was decided to only make LFN available if the reported DOS version is 7.0 and FAT32 requires 7.1, which are the versions reported by Win95 and Win95OSR2 respectively which initially implemented these features.

As such, to be able to mount a FAT32 volume you need to set the reported DOS version to 7.1 which you can do either in the config file, or from the DOSBox-X command line with "ver set 7.1". But as you noticed, booting a FAT32 volume does not require setting the DOS version first. This is also as expected, as the emulated DOS environment of DOSBox-X no longer matters at that point.

I do agree however that the error message can be confusing. A few versions back the error message was better, telling you to set the version and try again, but for some reason this message was taken out.

I've reported the issue on github: https://github.com/joncampbell123/dosbox-x/issues/2921

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io