86box is a fork of PCem, and is a fully featured x86 PC emulator that aims at accuracy and allows you to specify many different period-accurate hardware configurations -- unlike DOSBox which is more of a catch-all thing that tries to pretend whatever machine a game expects it to be.
Since I do not have a copy of MS-DOS, I settled on FreeDOS as the OS to try 86box with. I found no useful, up-to-date online guide for installing FreeDOS in 86box, so I had to figure stuff out myself (nothing too complicated overall), and put together a small step-by-step guide here. I will not reiterate the steps in this post, but the machine that I set 86box has the following specs:
- Machine type: i486 (Socket 3)
- Machine: [SiS 496] ASUS PVI-486SP3C
- CPU type: Intel 486DX2 @66 MHz
- Memory: 32 MB
- Video: [VLB] S3 Trio32 (Phoenix)
- Mouse: Standard PS/2 Mouse
- Sound card: [ISA16] Sound Blaster 16 (Port: 220, IRQ: 5, DMA: 1, HDMA: 5)
Now, when you boot FreeDOS, it offers you a bunch of loading options that will use different configurations of the onboard memory manager, Jemm. The thing is, none of these will let Arena run properly: the floppy v1.06 will hang after the Ria Silmane cinematic or when loading a saved game, and the CD v1.07 will hang when trying to fast travel. There are two solutions:
First, you can load Jemm with a set of parameters that make it behave as close as possible to the EMM386 manager that Arena expects:
Code: Select all
DEVICE=C:\FreeDOS\BIN\JEMMEX.EXE MAX=32M MIN=48 I=B000-B7FF I=TEST
The other solution is to take EMM386.EXE from Caldera DR-DOS 7.03 and load it with the following parameters (this is supposed to be done via FDCONFIG.SYS):
Code: Select all
DEVICE=C:\DRDOS\EMM386.EXE DPMI=OFF FRAME=AUTO NOVCPI
86box supports GLSL shaders, such as those found here, and I've picked one called crt-easymode, which is not very intrusive but gives the image a less blurred-out, more CRT-esque look. Also I found a neat SC-55 soundfont to use with FluidSynth for MIDI output.