DOSBox Changelog

What's new in DOSBox 0.74-3

Dec 24, 2020
  • Implement basic file access control for files available from within the emulation, so that programs running inside DOSBox can't access /proc (e.g. /proc/self/mem). (CVE-2019-12594)
  • Unify unmounting code and add some protections against out of bound access when DOS_DRIVES is not 26.
  • Use correct type for return value of strlen.
  • Change scan3x to a bit brighter.
  • Fix unitialized access to some isoDrive fields and improve stability when switching CD images.
  • Small fix to hq3x.
  • Fix 256 colour mode encoding in zmbv.dll.
  • Some small aliassing fix.
  • Change SET to check the size of the MCB when adding variables. Fixes hangs with Norton Commander.
  • Check buffer length before doing tab completion.
  • Correct buffer overflow with very long lines in bat files. (CVE-2019-7165)
  • Correct the boundary check for the internal programs array.
  • Increase stability in max cycles mode by increasing the lower bound.
  • Fix command prompt in windows 3.11 with dynrec core.
  • Fix Win64 dynrec core.
  • Always clear buffers before drawing in OpenGL mode. Fixes artifacts with drivers that have more than 2 buffers and overlays.
  • Fix red border that appeared when scaling the image in OpenGL mode with Nvidia on Linux and Mac.
  • Change default output to opengl on Mac, as surface is very slow there in 64 bit.
  • Add workaround for the mouse unlocking problem with X.org 1.20.1.
  • Fix table access when USE_FULL_TLB is undefined (non-default configuration).
  • Several fixes to prevent compilation errors.
  • Update Visual studio file to fix missing files from 0.74-2.

New in DOSBox 0.74-2 (Dec 24, 2020)

  • Rewrite auto/max cycles algorithm to work better with windows 7, other OSes might benefit as well.
  • Update 64bit recompiler to work on OSX and Linux.
  • Several improvements to make the recompilers work with newer compilers and add some workarounds about clang confusing itself.
  • Fix several variables being the wrong size in the recompiler.
  • Support absolute 64 bit addressing. (DRC:64 bit error messages)
  • Zero extend data in dynrec core for LLVM compilation/
  • Reduce overhead of the Mac version with a lot. Results in a speed increase.
  • Replace NV_PixelDataRange with the more common ARB_PixelBufferObject extension. Should help with output=opengl.
  • Reuse graphics window if possible instead of always creating a new one!
  • Add patches to work better when called by WINE
  • support WINE style namemangling.
  • allow Z: to be moved to a different drive.
  • Try to fix stuttering audio with opengl output on Linux. (or at least improve it. Linux users might need to increase the prebuffer option a bit)
  • Fix automake and autoconf problems.
  • Fix problems related to packed struct layouts.
  • Fix compilation on gcc 4.4 and gcc 4.6.1.
  • Fix compilation with -DPIC.
  • Hopefully fix crash on shutdown, when unknown condition is encountered.
  • Fix -lto with gcc.
  • Fix clang compliation with asm fpu core.
  • Fix mapper crash on startup and when changing the mapper key.
  • Fix compilation in VS2015.
  • Fix compilation on mingw64.
  • Fix compilation on Frisbee and newer clang.
  • Fix compilation machines that have X11 libraries installed, but use a SDL without X11.
  • Fix a few problems relating to video capturing
  • Writing out the index too often. (slowdown with longer captures)
  • Not being aware of when only the refresh rate changed.
  • Fix call order when bitshifting the return order (VS C /O2 builds).
  • Fix sign-extension error in S3 draw funcion, i.e. win3.1 analog clock.
  • Fix expanddot not caring about the size of the inputbuffer.
  • Some fixes for the debugger related to starting a program through debug.com.
  • Bring OS/2 port code up to date.
  • Reduce the amount of warning when compiling with quite a bit.
  • Allow 15/26/32 bits input to the opengl output.
  • Add cmd-q as exit key for macs.
  • Fix icon and titlebar on very old setups.
  • Fix off by one display size calculation errors with very large displays.
  • Fix out of bounds access the unused byte in the 32 bit colour value of the hardware mouse cursor pixel was affected.
  • Fix depreciated warnings on Mac, allow soundfont loading for coreaudio.
  • Keep repeating a pressed key if another key was unpressed.
  • Fix crash on OS X related to putting junk in the titlebar.
  • Extend fullresolution=0x0 to work on Linux and Mac.
  • Change gameblaster and tandy sound core to latest mame version.
  • Improve numlock and capslock support on Linux and Macs. Still not perfect on Windows.
  • Added even more code to workaround Windows behaving weirdly with alt-tab.

New in DOSBox 0.74.1 (Sep 11, 2012)

  • built against SDL 1.2.15 which fixes going fullscreen on OS X 10.7 and newer
  • includes DOSBox revisions
  • Fix startup detection of numlock and capslock.
  • Update CALLBACK_Idle to use the callback offset. Fixes memory corruption.
  • Fix bug 3477126. Don't put junk chars in the title bar. Mac OS X will crash on it
  • Add cmd-q => exit for Mac OS X

New in DOSBox 0.74 (May 12, 2010)

  • Several small game specific fixes/hacks/support. (Offensive, Roadhog, GTA installer, Kingdom O' Magic soundcard detection, Pirate booter, Armored Fist installer)
  • Add the S3-specific 640x480 256 color mode. (fixes regression in "Wooden Ships and Iron Men" and "I Have No Mouth And I Must Scream")
  • Fix a stack overflow that could crash DOSBox.
  • Add fake microphone input. (fixes Talking Parrot)
  • Modify adlib turn off code, so that it doesn't turn off in cases where the same sound is repeated over and over again.
  • Several small fixes to the CDROM audio code. (HOMM2, Redneck Rampage and others)
  • Several improvements to the CDROM emulation code. (fixes Alpha Storm and GT Racing 97)
  • Some small CPU fixes that might fix something.
  • Handle opcode 0xff subcode 7 as invalid instruction. (fixes dif-2 & others)
  • Some hercules fixes. (Testdrive)
  • Improve support for blanked parts that wrap around to the start of the screen. (fixes Magic Circle demo and Sid&Al)
  • Remove old OPL cores as the new ones seem to work very nicely.
  • Modify movie recording code so that the movies aren't corrupt when you exit dosbox without stopping the movie.
  • Change RGB3x scaler to look more pretty.
  • Improve initial register values compatility of the GUS.
  • Added autodetection for Gameblaster. (games can find it now)
  • Change render preferences a bit to be more compatible with Windows 7.
  • Add DOS fixes to terminate program. (fixes Fortune Teller)
  • Add FFREEP. (fixes Trucks)
  • Improve FPU ST80 in C mode when writing zero. (fixes Antigok)
  • Add special int10 scanline function. (fixes mz700 and probably lots of games that mess with them)
  • Fix scrolling in rarely used video modes. (fixes Orphee)
  • Modify game specific hacks a bit so that Kick off 3 works again.
  • Lots of fixes to the INT10 video parameter table. (Seven spirits of ra and others)
  • Add VGA blanking in machine=vgaonly. (used by Alien Carnage)
  • CGA, PCJr, Tandy: Add video blanking, change display start latch timing, sync pulse width correction.
  • PCJr, Tandy: implement vertical retrace interrupt.
  • PCJr, CGA: line-by-line video emulation.
  • PCJr: support on-screen change of color modes 4medium to 16low. (used by Ghostbusters booter)
  • Hercules: Add green and amber monochrome support.
  • All machines: only update the video timing when needed. (Jungle Hunt, others that synchronize to the video screen might profit)
  • Several small DOS fixes.
  • Some UMB related fixes. (The Legacy without UMB)
  • Fix version number of DSP for SB 1.5. (fixes a few games)
  • Several VGA emulation improvements. (Allertone football manager)
  • Some Tandy fixes. (Mech Warrior)
  • Small improvements and fixes to the OPL emulation.
  • Add low level Tandy DAC emulation.
  • Some EMS fixes. (fixes Mortal Kombat and others)
  • Change SoundBlaster DSP reset mechanism, add sb irq acknowledge logic. (fixes stmik-based applications)
  • Some interrupt pointer location modifications. (fixes Tinker Tales)
  • Some fixes to the BOOT code. (fixes Last Mission)
  • Respect write-only file information. (fixes Champions of Zulala)
  • Some RTC fix. (fixes Tully Bodine and others)
  • Improve mouse emulation to work better with Water World.
  • Hopefully fix the translation of the configuration file.
  • Speed up and fixes for the recompiler core. (pitfall2 pcjr)
  • Change memory start location. (fixes 7th Guest installer)
  • Several fixes to the batch file handling. (Shift and use the typed first %0 instead of the parsed %0)
  • Improve file redirection and redirected line ends. (fixes Phantasmagoria 2 DOS installer)
  • Fix compilation with new MAC os X version.
  • Add 16C550A FIFO support to the serial port emulation.
  • Improve modem emulation to get higher speeds.
  • Change default samplerates to 44100, blocksize to 1024 and prebuffer to 20, so that hopefully certain soundcards produce more fluent sound playback.
  • Add some rarely used, but for some games critical flags to the internal commands.
  • Add -userconf flag, so that the userspecific configuration can easily be used together with -conf configfile.
  • Improve internal timing with repeating timers (especially with the dynamic core).

New in DOSBox 0.73 (May 28, 2009)

  • Add two new opl2+opl3 emulators. (better speed, different implementation approach)
  • Improved DRO recording/better file structure.
  • Add EGA emulation.
  • Add special vga machine mode. Supports more of the exotic tricks like changing the palette during screen updates, 9x16 fonts etc.
  • Added special machine modes for the following svga cards:S3ParadiseTseng
  • Fix problems with the vga split line feature.
  • Improve vesa emulation.
  • Add optional selection of old vesa mode for games that don't work with certain vesa features.
  • Improve video BIOS emulation to behave more like a real bios.
  • Fixes for emulated 4bpp graphics modes.
  • Fixes to paging system.
  • Various fixes and improvements for the recompiling core.
  • Add arm backend for the recompiling core.
  • Add some mscdex quirks when dealing with files that are exactly 8.3 long.
  • Small fixes to batch file handling.
  • Small fixes to the XMS memory handling.
  • Various fixes for aligned memory on hosts that want it.
  • Various improvements to the mouse.
  • Fixes and small speed ups to the debugger.
  • Fix and improve lot's of compilation problems. (curses detection, GCC 3.4 and GCC 4.X fixes)
  • Added some basic auto keyboard layout handling. (windows only currently)
  • Add basic support for evdev keyboard driver.
  • Various fixes to the timer. (improve mode 2 timer changes, implement mode 1, improve gate2 handling)
  • Add audio extraction and mci audio support. Should enable CDROM audio for Vista and adds volume control.
  • Improve the directory cache speed a lot, especially with mounting slow media like network paths.
  • Various fixes to the create temporary file call.
  • Don't keep batchfiles open during execution. Allows rewriting of the active batchfile. (menu programs use this trick sometimes)
  • Fix problems with filenames with 2 extensions.
  • Add some more lowlevel dos tables.
  • Fixes to hercules emulation.
  • Fix flag handling for special case of ROR.
  • Make the batchfile handling in regard to IF more flexible.
  • Fixes to scrolling/panning feature.
  • Add prefetch queue emulation.
  • Make the emulated cpu type selectable. This is mainly the identification commands and the way paging works.
  • Some special EMS functionality added. (OS handles, zero-page handling)
  • Improve support for EMS when booting a different OS.
  • Improve cdrom speed detection by games.
  • Improve stability of cycle guessing code, when there is background activity.
  • Fix various mscdex and cdrom detection schemes.
  • Added Coremidi support on Mac OS X.
  • Improve support for DOS devices when used to detect the existance of directories in various ways.
  • Add IRQ 2 emulation on VRET. (ega only)
  • Added video parameter table and video state functionality.
  • Increase default freespace to 250 MB.
  • Some fixes to the fat filesystem handling for disk images.
  • Some soundblaster fixes and command additions.
  • Fix mixer 16bit direct transfers on bigendian hosts.

New in DOSBox 0.72 (Dec 8, 2008)

  • Fixed unitialized variable in joystick. (Fixes crashes on Vista and Mac OS X)
  • Some bugfixes and speedups to the 64 bit recompiling core.
  • Fixed sign flag on soundblaster dma transfers (Space Quest 6 intro)
  • Fixed a bug in keyboard layout processing code and fixed certain layouts.
  • Fixed Dreamweb.
  • Improved speed unlocking when running cycles=max.
  • Fixed a crash related to the tab completion in the shell.
  • Improved aspect correction code. Should now be like how a real monitor handles it.
  • Fixed a bug in the xms status report code. (Blake Stone 1.0 shareware)
  • Added a lot more keyboard layouts.
  • Fix crash related to changing the scaler before a screen was created.
  • Hopefully fixed compilation on *bsd.
  • Enabled auto cpu core selection for recompiling core as well.
  • Made the used joystick selectable when 4axis is specified.
  • Added some hints for inexperienced DOS users to the shell.

New in DOSBox 0.71 (Dec 8, 2008)

  • Add a new recompiling cpu core, which should be easier to port.
  • Add 64 bit version of the recompiling core.
  • Add mipsel 32 bit version of the recompiling core.
  • Fix a few small problems with FCBs. (fixes Jewels of darkness and cyrus chess)
  • Raise some more exceptions. (fixes vbdos)
  • Fix a few problems with the dynamic core. (fixes Inner Words, Archmimedean Dynasty and others)
  • Improve/Fix fallback code for certain graphics cards.
  • Fix a few cd audio related bugs.
  • Add an undocumented MSCDEX feature. (Fixes Ultimate Domain)
  • Fix some pcspeaker mode. (fixes Test Drive and similar games)
  • Improve dos keyinput handling. (fixes Wing Commander 3 exit dialog)
  • Remove Exit condition on fully nested mode. (fixes some demo)
  • Add image file size detection.
  • Add/Fix some ansi codes. (fixes PC Larn and certain versions of infocom games)
  • Several general DOS fixes. (fixes nba95, hexit and various other games)
  • Add some valid input checks. (fixes 3d body adventure and similar games)
  • Fix digital joystick centering problem.
  • Reenable textmode 54 and 55.
  • Fix a pelmask problem with univbe 5.0 lite. (fixes Panzer General)
  • Fix minor mixer underflow.
  • Some general image and bios disk emulation fixes.
  • Hopefully fix compilation on BSD and darwin.
  • Try using ioctl cdrom access by default if possible.
  • Fix some svga detection routine. (fixes Grandest Fleet 2 and Bobby Fischer Teaches Chess)
  • You can now close DOSBox using the status window in win32.
  • Add support for NX enabled systems.
  • Fix a casting error which only showed with certain compilers. (fixes various games under mac os x and 64 bit linux)
  • Improve timer and add gate 2 support. (fixes various games and joystick problems)
  • Improve mouse. Add undocumented backdoor. (fixes Last half of Darkness, PC-BLOX and others)
  • Add/improve support for ~ and ~username in all commands.
  • Fix a font problem with the pcjr/tandy. (fixes personal deskmate 2)
  • Change dma routine a bit. (fixes ticks in sound in various games)
  • Allow read-only diskimages to be booted. (fixes various booter games)
  • Add basic hidden file support on cdrom images. (fixes Player Manager 2)
  • Add some rarely used functionality to the int10 mode setup. (fixes WW2 Battles of the South pacific)
  • Add ability to force scaler usage.
  • Speed up flag generation and make it more 386-like.
  • Some colourful feedback in the mapper.
  • General code cleanup.