joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.83k stars 383 forks source link

Windows 95 first version installation stops at the last phase #5044

Open aca18d opened 5 months ago

aca18d commented 5 months ago

Describe the bug

Installation stops at 73% file copying (last phase).

Steps to reproduce the behaviour

Follow the installation procedure.

Expected behavior

w95_dosbox-x And there it stops. Installation broken.

What operating system(s) this bug have occurred on?

Windows 95 first version OEM (Italian) - older than OSR1

What version(s) of DOSBox-X have this bug?

Either 2023.10.06 and 2024.03.01

Used configuration

[sdl]
autolock=true

[dosbox]
title=Windows 95
memsize=64

[video]
vmemsize=8
vesa modelist width limit=0
vesa modelist height limit=0

[dos]
# Set 'ver=7.1' if using Win95 OSR2 (95B) or later
ver=7.0
hard drive data rate limit=0
floppy drive data rate limit=0

[cpu]
cputype=pentium_mmx
# MMX IS THE DEFAULT BUT I'M NOT SURE IT'S SUITABLE FOR WIN95 FIRST VERSION
core=normal
# 
turbo = true
# ADDED TURBO

[sblaster]
sbtype=sb16vibra

[fdc, primary]
int13fakev86io=true

[ide, primary]
int13fakeio=true
int13fakev86io=true

[ide, secondary]
int13fakeio=true
int13fakev86io=true
cd-rom insertion delay=4000

[render]
scaler=none

[autoexec]

Output log


bash-5.1$ dosbox-x -conf w95.conf 
LOG: Early LOG Init complete
LOG: DOSBox-X's working directory: /vm/OS/dosbox-xOS/web/w95
LOG: Logging init: beginning logging proper. This is the end of the early init logging
LOG: Logging: No logfile was given. All further logging will be discarded.
LOG: DOSBox-X version 2023.10.06 (Linux SDL2)
LOG: SDL: version 2.0.20, Video x11, Audio pulseaudio)
LOG: Host keyboard layout is now  ()
LOG: Mapper keyboard layout is now  ()
LOG: SDL2 reports desktop display mode 1920 x 1080
LOG: The default output for the video system: opengl
LOG: Configured windowposition: -
LOG: SDL: Current window pixel format: SDL_PIXELFORMAT_RGB888
LOG: SDL: You are running in 24 bpp mode, this will slow down things!
LOG: X11 main window is 640 x 400 maximized=0
LOG: X11 extension XRANDR is available
LOG: XRandR CRTC 0: pos=(1280,0) size=(1920,1080) outputs=1
LOG: Our window lies on this CRTC display (window pos=(1920,369) size=(640,400) match=(2240,569)).
LOG:   Goes to output 0: name='HDMI-0' size_mm=(600 x 340)
LOG: Screen report: Method 'XRandR' (1920.000 x 1080.000 pixels) at (1280.000 x 0.000) (600.000 x 340.000 mm) (23.622 x 13.386 in) (81.280 x 80.682 DPI)
LOG: ISA BCLK: 8333333.333Hz (25000000/3)
LOG: monopal: green, 
LOG: Active save slot: 1 [Empty]
LOG: USING AVI+ZMBV
LOG: Max 3670016 sz 65536
LOG: Final 65536
LOG: SDLNet_TCP_Open: Couldn't connect to remote host
LOG: TiMidity: can't open control connection (host=127.0.0.1, port=7777)
fluidsynth: error: Unknown numeric setting 'audio.periods'
fluidsynth: error: Unknown numeric setting 'audio.period-size'
fluidsynth: error: Unknown string setting 'synth.reverb.active'
fluidsynth: error: Unknown string setting 'synth.chorus.active'
fluidsynth: Using PulseAudio driver
fluidsynth: warning: Failed to set thread to high priority
LOG: MIDI:fluidsynth: Loaded SoundFont: /usr/share/soundfonts/default.sf2
LOG: MIDI:Opened device:fluidsynth
LOG: Pentium CMPXCHG8B emulation is enabled
LOG: VOODOO LFB now at d0000000
LOG: Serial1: BASE 3f8h
LOG: Serial2: BASE 2f8h
LOG: Parallel1: BASE 378h
LOG: MPU-401 Registering I/O ports as if IBM PC MPU-401 at base 330h
LOG: Memory I/O complexity optimization enabled aka option 'memory io optimization 1'. If the game or demo is unable to draw to the screen properly, set the option to false.
LOG: The 'scanline render on demand' option is available and may provide a modest boost in video render performance if set to true.
LOG: GetDesktopResolution reading X11 desktop resolution
LOG: Root window (ID 733) is 4480 x 1080
LOG: X11 main window is 640 x 400 maximized=0
LOG: XRandR CRTC 0: pos=(1280,0) size=(1920,1080) outputs=1
LOG: Our window lies on this CRTC display (window pos=(1920,369) size=(640,400) match=(2240,569)).
LOG:   Goes to output 0: name='HDMI-0' size_mm=(600 x 340)
LOG: Screen report: Method 'XRandR' (1920.000 x 1080.000 pixels) at (1280.000 x 0.000) (600.000 x 340.000 mm) (23.622 x 13.386 in) (81.280 x 80.682 DPI)
LOG: Allocated APM BIOS pm entry point at f000:ce40
LOG: Writing code to fce40
LOG: Writing code to fce60
LOG: X11 main window is 640 x 400 maximized=0
LOG: XRandR CRTC 0: pos=(1280,0) size=(1920,1080) outputs=1
LOG: Our window lies on this CRTC display (window pos=(1920,369) size=(640,400) match=(2240,569)).
LOG:   Goes to output 0: name='HDMI-0' size_mm=(600 x 340)
LOG: Screen report: Method 'XRandR' (1920.000 x 1080.000 pixels) at (1280.000 x 0.000) (600.000 x 340.000 mm) (23.622 x 13.386 in) (81.280 x 80.682 DPI)
LOG: ISA Plug & Play BIOS enabled
LOG: VGA ROM BIOS init callback
LOG: pixratio 1.000, dw false, dh false
LOG: Aspect ratio: 640 x 480  xToY=1.333 yToX=0.750
LOG: menuScale=1
LOG: X11 main window is 640 x 497 maximized=0
LOG: XRandR CRTC 0: pos=(1280,0) size=(1920,1080) outputs=1
LOG: Our window lies on this CRTC display (window pos=(1920,369) size=(640,497) match=(2240,617)).
LOG:   Goes to output 0: name='HDMI-0' size_mm=(600 x 340)
LOG: Screen report: Method 'XRandR' (1920.000 x 1080.000 pixels) at (1280.000 x 0.000) (600.000 x 340.000 mm) (23.622 x 13.386 in) (81.280 x 80.682 DPI)
LOG: font texture id=2 will make 128 x 256
LOG: X11 main window is 640 x 497 maximized=0
LOG: XRandR CRTC 0: pos=(1280,0) size=(1920,1080) outputs=1
LOG: Our window lies on this CRTC display (window pos=(1920,369) size=(640,497) match=(2240,617)).
LOG:   Goes to output 0: name='HDMI-0' size_mm=(600 x 340)
LOG: Screen report: Method 'XRandR' (1920.000 x 1080.000 pixels) at (1280.000 x 0.000) (600.000 x 340.000 mm) (23.622 x 13.386 in) (81.280 x 80.682 DPI)
LOG: WARNING: No translation support (to host) for code page 0
LOG:   25532672 ERROR BIOS:Keyboard layout file auto not found
LOG:   25532672 ERROR BIOS:Keyboard layout file auto not found
LOG: XMS: 50 handles allocated for use by the DOS environment
LOG: EMS page frame at 0xe000-0xefff
LOG: COMMAND.COM env size:             720 bytes
LOG: COMMAND.COM environment block:    0xcc01 sz=0x002d
LOG: COMMAND.COM main body (PSP):      0xcc2f sz=0x009a
LOG: COMMAND.COM stack:                0xcc49
LOG: pixratio 1.350, dw false, dh false
LOG: Aspect ratio: 720 x 540  xToY=1.333 yToX=0.750
LOG: menuScale=1
LOG: X11 main window is 720 x 417 maximized=0
LOG: XRandR CRTC 0: pos=(1280,0) size=(1920,1080) outputs=1
LOG: Our window lies on this CRTC display (window pos=(1920,369) size=(720,417) match=(2280,577)).
LOG:   Goes to output 0: name='HDMI-0' size_mm=(600 x 340)
LOG: Screen report: Method 'XRandR' (1920.000 x 1080.000 pixels) at (1280.000 x 0.000) (600.000 x 340.000 mm) (23.622 x 13.386 in) (81.280 x 80.682 DPI)
LOG: font texture id=2 will make 128 x 256
LOG: X11 main window is 720 x 417 maximized=0
LOG: XRandR CRTC 0: pos=(1280,0) size=(1920,1080) outputs=1
LOG: Our window lies on this CRTC display (window pos=(1920,369) size=(720,417) match=(2280,577)).
LOG:   Goes to output 0: name='HDMI-0' size_mm=(600 x 340)
LOG: Screen report: Method 'XRandR' (1920.000 x 1080.000 pixels) at (1280.000 x 0.000) (600.000 x 340.000 mm) (23.622 x 13.386 in) (81.280 x 80.682 DPI)
LOG: IDE: index 0 slave=0
LOG: FAT: Partition type is MBR (IBM PC)
LOG: Mounted FAT volume is FAT16 with 64439 clusters
LOG: Mapping BIOS DISK C/H/S 1023/64/63 as IDE 4092/16/63
LOG: Fast Forward OFF
LOG: Flush STDIN
LOG: Flush STDIN
LOG: Flush STDIN
LOG: Flush STDIN
LOG: Flush STDIN
LOG:   29269252 ERROR BIOS:INT1A:Undefined call B0
LOG:   29269546 ERROR DOSMISC:DOS:IOCTL Call  4 unhandled
LOG:   29269571 ERROR DOSMISC:DOS:IOCTL Call  4 unhandled
LOG:   29269596 ERROR DOSMISC:DOS:IOCTL Call  4 unhandled
LOG:   29269621 ERROR DOSMISC:DOS:IOCTL Call  4 unhandled
LOG:   29270171 ERROR DOSMISC:DOS:IOCTL Call  4 unhandled
LOG:   29270216 ERROR DOSMISC:DOS:IOCTL Call  5 unhandled
LOG:   29270254 ERROR DOSMISC:DOS:IOCTL Call  5 unhandled
LOG:   29270292 ERROR DOSMISC:DOS:IOCTL Call  5 unhandled
LOG:   29270330 ERROR DOSMISC:DOS:IOCTL Call  5 unhandled
LOG:   29271166 ERROR DOSMISC:DOS:IOCTL Call  5 unhandled
LOG:   29381512 ERROR IOCTL:DOS:IOCTL Call 0D:4A Drive  2 volume/drive locking IOCTL, faking it
LOG:   51112789 ERROR IOCTL:DOS:IOCTL Call 0D:6A Drive  2 volume/drive locking IOCTL, faking it
LOG: DEBUG: INT 2Fh Windows 286/386 DOSX init broadcast issued (ES:BX=0000:0000 DS:SI=0000:0000 CX=0000 DX=0001 DI=030a(aka version 3.10))
LOG:  [286 DOS extender]
LOG: 
LOG:  118574090 ERROR BIOS:INT16:Unhandled call 6F
LOG:  118577261 ERROR CPU:Illegal Unhandled Interrupt Called 68
LOG: DOSBox-X has switched to max cycles, because of the setting: cycles=auto.
If the game runs too fast, try a fixed cycles amount in DOSBox-X's options.
LOG:  118658602 ERROR CPU:Illegal Unhandled Interrupt Called 5C
LOG: INT 15h mouse initialized to 3-byte protocol
LOG: INT 15h mouse reset
LOG: INT 15h reporting mouse device ID 0x00
LOG: pixratio 1.000, dw false, dh false
LOG: Aspect ratio: 640 x 480  xToY=1.333 yToX=0.750
LOG: menuScale=1
LOG: X11 main window is 640 x 497 maximized=0
LOG: XRandR CRTC 0: pos=(1280,0) size=(1920,1080) outputs=1
LOG: Our window lies on this CRTC display (window pos=(1920,369) size=(640,497) match=(2240,617)).
LOG:   Goes to output 0: name='HDMI-0' size_mm=(600 x 340)
LOG: Screen report: Method 'XRandR' (1920.000 x 1080.000 pixels) at (1280.000 x 0.000) (600.000 x 340.000 mm) (23.622 x 13.386 in) (81.280 x 80.682 DPI)
LOG: font texture id=2 will make 128 x 256
LOG: X11 main window is 640 x 497 maximized=0
LOG: XRandR CRTC 0: pos=(1280,0) size=(1920,1080) outputs=1
LOG: Our window lies on this CRTC display (window pos=(1920,369) size=(640,497) match=(2240,617)).
LOG:   Goes to output 0: name='HDMI-0' size_mm=(600 x 340)
LOG: Screen report: Method 'XRandR' (1920.000 x 1080.000 pixels) at (1280.000 x 0.000) (600.000 x 340.000 mm) (23.622 x 13.386 in) (81.280 x 80.682 DPI)
LOG: INT 15h mouse initialized to 3-byte protocol
LOG: INT 15h mouse reset
LOG: INT 15h reporting mouse device ID 0x00
LOG: 1189944495 ERROR DOSMISC:DOS:IOCTL Call  5 unhandled
LOG: 1189975764 ERROR BIOS:Disk 0 not active
LOG: 1189979540 ERROR DOSMISC:DOS:IOCTL Call  5 unhandled
LOG: 1189993979 ERROR DOSMISC:DOS:IOCTL Call  5 unhandled
LOG: 1190007635 ERROR DOSMISC:DOS:IOCTL Call  5 unhandled
LOG: 1190045057 ERROR DOSMISC:DOS:IOCTL Call  5 unhandled
LOG: 1192226075 ERROR DOSMISC:DOS:IOCTL Call  5 unhandled
LOG:  757981636 ERROR DOSMISC:DOS:IOCTL Call E0 unhandled

Additional information

Built with "build-debug-sdl2".

Have you checked that no similar bug report(s) exist?

Code of Conduct & Contributing Guidelines

rderooy commented 5 months ago

I just tried to install Win95 RTM (aka "Release To Manufacturing", which was the original release) version, and the install worked fine.

This is on a Linux host using DOSBox-X SDL2 (nightly) and the English version of Win95 RTM. I don't see this "Call E0 unhandled" message. But based on previous cases where we have seen this E0 message, this seems like it may have had something to do with disk emulation. What type of Win9x HDD and CD setup are you using? Are you using any virtual folder mounts?

aca18d commented 5 months ago

I created a standard 2 Gb fat16 image disk mounted as C and copied the WIN95 folder inside a Linux folder, mounted as D.

Exactly I did:

mount D cdinst_w95 mount E /mnt/sr0 IMGMAKE w95hd.img -t hd_2gig -fat 16 IMGMOUNT C w95hd.img XCOPY E:\WIN95 D:\WIN95 /I /E D: CD \WIN95 SETUP

I also remenber that installing, for example, MS Office English version on Windows 95 Italian version caused tons of problems, maybe because of something related to the language translation.

rderooy commented 5 months ago

That is likely where the problem is, please unmount D: and E: before starting the installer. Copy the Win95 folder to the C: drive instead. That, or make D: an image, instead of a host folder mount.

aca18d commented 5 months ago

Thank you so much. Making D: as an image didn't work. Copying the Win95 folder on C: worked instead.

joncampbell123 commented 5 months ago

Thank you so much. Making D: as an image didn't work. Copying the Win95 folder on C: worked instead.

Is Windows 95 using the INT 21h call that returns which drive is the boot drive?

Maybe it's time to provide an option to control which drive (C: or D:) is returned as the boot drive.

aca18d commented 5 months ago

Is Windows 95 using the INT 21h call that returns which drive is the boot drive?

Maybe it's time to provide an option to control which drive (C: or D:) is returned as the boot drive. Oh, I'm not so skilled, I'd need to know how to check that INT 21h. :)

rderooy commented 5 months ago

Thank you so much. Making D: as an image didn't work. Copying the Win95 folder on C: worked instead.

Is Windows 95 using the INT 21h call that returns which drive is the boot drive?

Maybe it's time to provide an option to control which drive (C: or D:) is returned as the boot drive.

That may well be the issue, as it happens quite late during the first phase of SETUP, but just prior to the first reboot. I'm not sure having an option to control the boot drive is the best solution, or if that would even solve the issue. But from an automated perspective, in this case only one drive was an image mount, and therefore only one drive could be the boot drive. In the case where multiple images are mounted, it could obviously be more tricky to automatically select the boot drive...