Post subject: DOSBox-X v0.82.19 (2019-05-31)
Posted: Jun 01, 2019 - 07:54 PM
AEP Team Member
Joined: Jul 04, 2004
Highscores in 07/2020
DOSBox-X ist ein Ableger von DOSBox, der den Fokus auf genaue Emulation legt und deutlich mehr Einstellungs- und Konfigurationsmöglichkeiten bietet. Hier gibt es den Download.
DOSBox-X is a fork of DOSBox. It has a focus on accurate emulation of the hardware and many more ways to tweak and configure the DOS virtual machine. You can download it here.
- Prefetch core fixed up, made more aggressive, and string
instructions (REP MOVSW) cause more prefetch. "Stereotype"
demoscene production can run again.
- DOSBox Integration device now allows ISA DMA read/write
- 8237 DMA emulation now supports PC-98 "auto bank increment"
functions, which automatically increments the DMA page number
on DMA wraparound. Sim City 2000 needs this to play it's
digitized sound effects properly.
- 8237 DMA emulation now enforces read/write mode provided by
guest. If the DMA is configured for reading from system
memory, then attempts to WRITE to memory via DMA must fail.
Just like real hardware.
- 8237 DMA block transfer cleanup, de-duplication.
- 8237 DMA block cleanup allows implementation of 8/16-bit DMA,
forwards and backwards.
- PC-98 keyboard corrections (not yet verified to be accurate
to hardware though) to solve problems where holding a key
while running a program that is slow to respond to input
can overrun the buffer and fail to handle additional input.
- VGA BIOS size changed to 0x4000 (16KB), because 0x3800
is not liked by Windows 3.0.
- Font vector is now INT 44h for PCjr and Tandy emulation,
INT 43h otherwise as documented in the RBIL.
- Graph key (PC-98 mode) no longer registers as keyboard
input to INT 18h. EDIT.COM's menu is now usable.
- PC-98 INT 18h AH=02h fixed to return the correct keyboard
status byte as documented
- Local directory filesystem support now applies timestamp
before closing the file handle, which should help with
timestamps even if the filename is not directly valid
on the host operating system or filesystem.
- DOSBox Integration Device moved to I/O port DB28h-DB2Bh
in PC-98 mode to avoid conflicts with DMA controller
- DMA controller is now completely disabled in IBM PCjr mode
(machine=pcjr) to match real hardware.
- COPY command now copies file date/time as well.
- INT 2Fh AX=1600h no longer logs an error as unimplemented.
- COPY.EXE removed, so that the built-in COPY command can work.
- PC98UTIL fixed to re-enable the text layer after the BIOS call
for /24khz and /31khz options.
- PC-98 INT 18h AH=30h now allows setting the 480-line mode.
- (PC-9 Port 6Ah command 40h/41h, CRT vs Plasma/LCD mode,
- PC98UTIL.COM now updates the menu item for PC-98 GDC clock
speed when changing GDC clock speed.
- Added to PC98UTIL.COM the /24khz and /31khz switches to change
- Updated PC-98 graphics plane emulation to more properly
handle the 5MHz GDC mode, and the IM bit in the GDC parameter
- INT 18h AH=30h and AH=42h mode set fixed to update CPU and
display pages correctly.
- INT 18h AH=30h (PC-98 mode) now permits graphics layer changes.
- INT 18h AH=30h (PC-98 mode) now permits changing hsync rate.
- INT 18h AH=31h (PC-98 mode) now uses BIOS data area to
return hsync rate (24KHz vs 31KHz)
- INT 18h AH=42h (PC-98 mode) now uses BIOS data area to
determine 5MHz GDC instead of internal state to better emulate
actual hardware behavior.
- PC-98 text console output now fills both cells of doublewide
characters on the text layer.
- PC-98 port 6Ah now handles command 82h/83h and 84h/85h which
allow the guest to reprogram the GDC clock frequency (2.5MHz
or 5MHz). This is necessary to handle strange Windows 3.1
behavior where entering a DOS program fullscreen causes
Windows 3.1 to reprogram your GDC to run at 5MHz regardless of
the BIOS (or dosbox.conf) setting.
- PC-98 port 68h now supports command 0Eh/0Fh to enable display.
- Integrated commits from mainline (Allofich)
- Lower the influence of the aspect table correction
trick when using high scale factors (320x200 => 2000x1200).
- Correction done to Hercules video height parameter.
- The mapper now uses the wrapper as well
- Fix the possible/suggested values for integer
- Do less to update the frequency of an active SB
DMA transfer. Fixes sound in Tempest 2000.
- Add missing --disable-fpu-x64 option
- Use clock_gettime when available instead of the
- Allow CRTC read/write access on all mirror ports for
non-VGA machine types. Fixes Tandy and EGA display in
International Hockey booter.
- Handle "copy H*.txt file.txt" correctly
- Fix detection of always_inline attribute with MinGW 4.9.2
- Introduce mount -pr to mount paths relative to last
loaded configuration file.
- Use normal teletype function for non-ANSI output so the
default attribute 7 applies only to graphics modes and
existing attributes are not changed in text modes.
- Improve compatibility of internal mouse driver with
respect to video mode changes and hiding the pointer, and
handle font reloading as a kind of mode change. Also fix
unlocked mouse pointer to recognize the full range of
tweaked/fontloaded text modes.
- Bring OS2 port up to date.
- Ignore/remove single % in batchfiles.
(Fixes B13Demo batchfiles on PC Gamer cover disc 1995-0
- Clear incomplete Sound Blaster DSP command at reset,
fixes Romancing Prince.
- Add some more cases to the Alt-Tab detection.
- Add alternate font tables and associated loading logic
in video BIOS, allowing correct gaps between "wide"
characters (e.g. m,w,M,W,T,Z,0) in all VGA machine types.
- Update all related BIOS memory values and CRTC registers
when loading fonts.
- Improve support for MDA emulation in the vgaonly machine
type, as it is the only way the video BIOS can make use
of the 14-line alternate symbols.
- Be compatible by setting the INT 43h vector to the first
half of the 8-line font table for standard text modes.
- Move VESA mode table and OEM string before font tables
in the video ROM, which is a more compatible ordering.
- Add opl3gold option to oplmode setting. With this option
the Adlib Gold music can be selected in Dune. Only music
without effects is supported. FM volume control does work.
- Add hardware text mode cursor support.
- Rework FCB_ParseName
-- Remove special code for . and .. as it was wrong
-- Continue reading the input string, when the max length
of the field has been reached (123456789.12345 is read and
returned as 12345678.123)
-- Strip spaces before and after reading the separators.
-- The drive is always parsed (if present), it doesn't
depend on the existence of said drive.
-- Fix parsing of .EXE and other extension only names
-- Always clear out current block and record size.
- Correct AX and BX, they contain information on the
existence of the drives specified in the FCBs in the
- Rework the parsing of arguments into the FCBs
- Use full mask; fixes label search on FAT drives.
- Don't write past the terminator in the DTA name field
when setting search results. This is what DOS does, and
writing junk after the terminator was not good in any case.
Fixes file listing in the 16-bit version of Galaxy Player.
- Improve rename support for when renaming files (in a
folder) on a drive different from the current one.
- Improve internal ANSI support to adapt to currently
displayed columns and rows. Fixes original Infocom
interpreters when using something other than 80x25.
- Handle double-quoted values and quoted values in
- Speed up GetHexValue.
- Restore 1,2,3,4,5 as run 5,500,1000,5000,10000
- Change BIOS equipment list to indicate DMA not
supported on PCjr machine type, which fixes PCjr
detection in old versions of Ancient Art of War.
- Correct some offsets in the DTA for FCB-based search
results. Fixes DIR listing in COMMAND.COM from MS-DOS
and file info in XTree Gold.
- Prevent a multiplication overflow and more accuracy
by using floats for attack rate loop
- Set record size to 128 if it is 0 in the FCB when
calling any FCB read/write function
- Fixes for acad 10:
- Add missing reference counting when the file is
already open when calling FCB_Open, so that acad, which
uses FCBs and normal handles on the same file, works
- Remove FCBs being added to the PSP filetable and
rewrite most functions to support this change. This way
acad won't run out of temporary (fcb) files when low on
- More flexible setting of version with "VER" command.
- Fix screen clearing when setting mode 0xA on PCjr
- Fill DTA for FCB search results more like real DOS,
fixing hang in SETUP.EXE and MSDOSD.EXE from Windows V1.01.
- Add support for mode 8 row copy/fill. Fixes Tandy
GW-BASIC interpreter SCREEN 3 scrolling/clearing.
- Map inactive video memory regions as empty rather than
filled with RAM. Fixes later version of Sargon 3 on color
Set color modes (to the extent that they can be) on the
Hercules machine type if the BIOS equipment list is not set
to monochrome. Fixes missing text in Victory Road.
- Graphics mode text drawing improvements:
-Font source according to machine type.
-Use compatible method of determining fill attribute for
textmode screen scrolling in teletype function.
- Prevent DOS buffered input function from hanging in an
infinite loop when redirected input reads a linefeed or
- EXEC improvements, mostly for the load-but-do-not-execute
- Stop writing uninitialized junk into first shell's command
tail at startup.
- Support writing palette register data to dynamic save area
if pointer is non-zero on mode changes. Fixes CV 2.2.
- Be more compatible by converting tabs to spaces in the DOS
console device rather than in the video BIOS teletype function.
- Make the internal program for loading ROM images a bit
smarter about what it can/will load. Also provide for BASIC
in ROM to support IBM BASIC interpreters.
- Correct page count/size for CGA graphics modes. Fixes RS-2
on the CGA machine type.
- Raise lower limit of cycles in autodetermine mode to
- Fix for 256 color encoding in zmbv.dll codec
- Rework ListMidi so it can be more easily added to more
- Implement mixer /listmidi for coremidi.
- Increase size of SysEx buffer to support Sierra's Yamaha
- Add improved breakpoint handling to the debugger
- Rewrite the order of the debug help list so the keys come
- Clip to boundaries when there are no suggeted values for
- Implement an obscure behavior of the VGA DAC. Fixes wrong
colors in Planet Soccer/Football.
- Use default attribute behavior of ANSI.SYS in the console
device. Fixes scrolling issues. Anything that wants non-ANSI
behavior may not display as intended with the internal DOS,
same as real DOS when ANSI.SYS is loaded.
- Lower default adlib volume with 2.5dB, based on
- Add experimental name support to configmidi for coremidi
- Add support for selectig midi devices by name to win32
- Make IRQ generation in Write_MCR consistent with
ComputeInterrupts when op2 changes.
- Update mixer volume calculations for the SBPRO 1 and 2 and
the SB16, based on measurements.
- Repair a logic error in cycle max calculation
- Introduce a random sleep period, which activates after 3
short sleeps in one frame.
- Adjustments to cycle ratio computation.
- Process repeated reset commands without delay. Fixes MPU
detection in several games. Correct ACK for reset: entirely
absent with dumb setting (mpu401=uart), and also absent when
returning to intelligent mode from UART mode.
- Allow for direct changing of 4op chaining without having
to rewrite the algorithm mode.
- Enable core inlining by default on configure/make build
- Limit amount of polls per second a bit on MAC OS X, as it
was quite high otherwise.
- Add basic support for INT 13 call 15. Used by Korean
Powerdolls to detect harddrive.
- Add ALSA MIDI 0xA0 and improve unhandled message
reporting a bit.
- Support rarely used FCB feature: open file with search
mask. Fixes Buckaroo Banzai.
- ANSI emulation is activated for the session when an
escape sequence is encountered other than those used by
internal messages. Fixes LucasArts setup programs provided
that ANSI emulation is not activated.
- Flag handling for normal core: zero and sign flags for
integer multiply instructions.
- Strip spaces properly.
- Improve disk serial number DOS functions.
- Only add return to buffer if it already contains data,
which fixes extra return in generated autoexec.bat.
- Lock default label of HDD local drive mounts. Fixeslabel
changing to the host drive label when resetting cache on
the Windows platform.
- Fix echo off being written twice. Attempt to make the
line endings in the generated autoexec.bat all DOS-style.
- Take length in consideration before moving the echo off
- Fix ExpandDot not caring about the size of the buffer.
(vogons topic 59658)
- Be less specific about the jump instruction when
identifying a video BIOS.
- Return an error for generic block device request on
unmounted floppy drives.
- No Sound Blaster IRQ generating when masking the IRQ
- Improvements for IOCTL generic block device request
- Make Media ID table relative to DPB table. Fixes
Hattrick by Ikarion.
- Support some installer disk detection methods: block
device count, and specific MBR/boot sector contents.
Fixes (original) SimCity, Amberstar, and later MicroProse
- Fix GetLabel() for the virtual drive.
- Integrated a commit from mainline:
#3860 "Use PCJr specific method to clear the video RAM.
Also don't scroll at unspecified video page.
Fixes issues with KQ1 and KQ2."
- PEGC emulation will now print a warning if the guest
application or OS attempts to use 256-color planar mode.
- PC-98 PEGC 256-color linear framebuffer is not mapped by
default anymore, except when 256-color mode and the enable
bit set, to match real hardware.
- PC-98 PEGC 256-color emulation fixed not to respond to
MMIO registers related to 256-color planar mode according
to real hardware behavior. 256-color planar mode support
is planned in the future.
- Remove old dynamic x86 core. Dynamic core is exclusively
[ PC Emus / Virtual Machines ][ MAC Emulatoren ]