86Box/86Box

MicroProse install.exe makes a BIOS call and freezes 86Box, requiring hard reset.

Closed this issue · 10 comments

What happened?

MicroProse games use an install.exe file that checks for the floppy drive via a BIOS call and then runs mpscopy to extract. Even after an install has been achieved, one still needs to run install.exe in order to set the soundcard settings for the game to use.

The problem is install.exe locks up 86Box.

Some discussion about the issue here (no longer an issue in the current version of dosbox) https://retrocomputing.stackexchange.com/questions/382/unable-to-install-colonization-in-dosbox

I can install the game to the drive manually via "mpscopy -c c:\installsourcedir c:\installdestinationdir" but needing to set the sound card afterward via install.exe in installdestinationdir makes Colonization, probably all MicroProse games not work.

To facilitate tracing, I have attached the install.exe. The files I have removed from the directory it comes from are "install.gif, mpslabs.idx, mpslabs.001, mpslabs.002, mpslabs.003". mpslabs is just a segmented archive containing the game itself and shouldn't be needed to run install.exe.

install.zip

Configuration file

[General]
vid_renderer = qt_software
dpi_scale = 0
confirm_save = 0
force_43 = 1
video_filter_method = 0
hide_status_bar = 1
hide_tool_bar = 1

[Machine]
machine = 4saw2
cpu_family = i486dx2_pc330
cpu_speed = 66666666
cpu_multi = 2
cpu_use_dynarec = 1
fpu_softfloat = 0
time_sync = local
fpu_type = internal
mem_size = 16384

[Video]
gfxcard = et4000w32p_nc_vlb

[Input devices]
mouse_type = none

[Sound]
fm_driver = nuked
mpu401_standalone = 1
sndcard = sbprov2
midi_device = mt32

[Network]
net_01_link = 0
net_02_link = 0
net_03_link = 0
net_04_link = 0

[Storage controllers]
hdc = internal
cassette_mode = load
scsicard_1 = ncr53c810

[Hard disks]
hdd_01_parameters = 17, 8, 963, 0, scsi
hdd_01_fn = C:/Users/Peter/Documents/test2.vhd
hdd_01_speed = ramdisk
hdd_01_scsi_location = 0:01

[Floppy and CD-ROM drives]
fdd_01_type = 35_2hd
fdd_02_type = none

Operating system

Windows 10

CPU

Core 2 Duo

86Box version

v4.1.1 build 5634

Build architecture

Windows - x64 (64-bit)

Build type

  • New recompiler
  • Debug build

Download source

Official website (Jenkins, GitHub)

Additional context

This issue does not exist on dosbox which can run install.exe correctly.

Extracting the files in 86Box using mpscopy and running the game's exe is not enough, because you NEED install.exe in order to set the sound for it. Without install.exe it is silent.

why is the HDD on 0:01 without 0:00 on scsi?

Thanks for reminding me, I have to report another issue involving IDE. :) But to answer your question I was testing various scsi adapters, and one wasn't working on 0:00 but did work on 0:01 and I neglected to change it back to 0:00 as the other adapter accepted both 0:00 and 0:01.

Monitor_1_20240416-205816-246
I don't see any issue here.

@TC1995 What version of DOS are you using? My attempt was with MS-DOS 6.22.

Actually, MS-DOS 6.00 OEM Base (a slightly official bare bones MS variant) from floppy and IDE hdd.

Interesting.. I switched over to an IDE drive on the linux flatpak to compare, same issue with the install program, freezes, even with a different 486 machine on a different chipset.

I'll try freedos since I have it.

I'm puzzled.. the install.exe works on FreeDOS 1.3 with an IDE image.

MS-DOS 6.22 was released in June 1994 and Colonization was also released in 1994, so that probably means they were developing it on 6.0-6.20 which were all in 1993. There should not have been that much incompatibility with a point version.. there must be some other issue.. hmm.

Solved.. memory.. I tried out memmaker instead of doing it by hand, and after it finished the install was able to run.

So this is the answer.

Somewhat.. first, install.exe was run as-is.. it started the process then froze.. presumably because it wanted a second disk.. so I then ran the mpscopy by hand. It ran so fast the screen cleared and then the machine rebooted.. gah.

There is something wrong with MS-DOS 6.22 with 86Box! First, I switched to the FreeDOS image.. the mpscopy command was able to complete without rebooting.. so I then copied the directory over from FreeDOS to the MS-DOS image.. new problem encountered.. I'm also trying to use MT-32 sound.. and it's not playing properly! Boot back into FreeDOS and MT-32 sound is working properly..

But all is not perfect with FreeDOS, it has a slower disk access and 3x lower IOPS compared to MS-DOS and I don't know why..

So, game installs, sound plays, but disk speed is slower (but still faster than IDE mode). 2 out of 3 isn't bad.

Ok, really solved now. mpscopy and mt-32 (in the game anyway) REQUIRES expanded memory.. so don't use NOEMS, and instead use RAM on the EMM386 line. With expanded selected, both work correctly.