0.74-3
A security release for DOSBox 0.74:
- Fixed that a very long line inside a bat file would overflow the parsing
buffer (CVE-2019-7165 by Alexandre Bartel)
- Added a basic permission system so that a program running inside DOSBox
can't access the contents of /proc (e.g. /proc/self/mem) when / or /proc
were (to be) mounted (CVE-2019-12594 by Alexandre Bartel)
- Several other fixes for out of bounds access and buffer overflows.
- Some fixes to the OpenGL rendering.
Changes:
- 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.
Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
audio stuttering was very noticeable in some games on netbsd and
the cause wasn't clear. downsides: may increase audio lag.
This is also configurable with ~/.dosbox/dosbox-0.74.conf.
Suggested by nat, thanks!
bump PKGREVISION
Problems found with existing digests:
Package suse131_libSDL
1c4d17a53bece6243cb3e6dd11c36d50f851a4f4 [recorded]
da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
Package suse131_libdbus
de99fcfa8e2c7ced28caf38c24d217d6037aaa56 [recorded]
da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
Package suse131_qt4
94daff738912c96ed8878ce1a131cd49fb379206 [recorded]
886206018431aee9f8a01e1fb7e46973e8dca9d9 [calculated]
Problems found locating distfiles for atari800, compat12, compat 13,
compat14, compat15, compat20, compat30, compat40, compat50,
compat50-x11, compat51, compat51-x11, compat60, compat61,
compat61-x11, fmsx, osf1_lib, vice, xbeeb, xm7.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
0.74
- 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).
0.73
- 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:
- S3
- Paradise
- Tseng
- 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.
This release fixes a few bugs that slipped through when releasing 0.71.
Here a list of the changes:
* 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.
* Fixed 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.
A bugfix release this time, but we couldn't resist adding a few new
exciting features:
* Added a new recompiling cpu core which is easier to port!
* Added a x86_64 and a mipsel_32 recompiling core.
* Fixed hangups on certain platforms after long gameplay of several games.
* Fixed several joystick bugs.
* Improved cdrom support. (fixes for audio, iso and detection.)
* Improved SVGA and VESA. (detection and display)
* Fixed a few textmodes and improved ansi emulation a bit.
* Fixed pcspeaker and certain types of soundeffects.
* Added undocumented mousebackdoor.
* Made mount and imgmount a bit easier to use. (ioctl by default, support
for ~ and ~username, auto size guessing for images)
* Fix a few compilation problems on various hosts and a general code
cleanup.
* Several small fixes that improve compatibility.
- Improve register handling and support with XMS.
- Fix some issues with deleting open files.(windows only issue)
- Add dummpy LPT1 class. (windows only issue)
- Improve some of the internal dos commands. (choice, copy and shift)
- Improve ROM area. (for games that use it for random numbers or
overwrite it as some sort of detection thing)
- Improve compatibility of dynamic core by making it handle certain
pagefaults earlier.
- Move internal dos tables around so we have more umb memory.
- Add some dos tables.
- Dynamic core supports io exceptions.
- Move some interrupt handlers to XT Bios locations.
- Add a dynamic fpu on x86.
- Improve fpu on non-x86.
- Trapflag gets strickt priority over hardware IRQs.
- Trapflag support for the dynamic core.
- Add dummy TRx handling.
- Fix a few rarely used character functions.
- Improve auto cycle guessing code.
- Improve and extend the joystick support.
- Add autofire support.
- Improve the mapper so you can map keys to the joystick and vice versa.
- A few game specific video card fixes.
- Fix some 64 bit cpu bugs.
- Add support for certain cdrom detection schemes.
- Improve HSG/Red Book support.
- Improve MSCDEX.
- Improve dynamic core support under intel macs.
- Add basic support for clipper programs.
- Add support for different keyboard layouts.
- Add auto core guessing.
- Fix a few flags bugs.
- Fix a few small cpu bugs.
- Improve soundblaster detection rate by various programs.
- Improve EMS emulation. (allow mapping of non standard regions)
- Improve keyboard input codes on various OS-es.
- Fix problems with filenames having stackdata in them.
- Changed a few basic operations in DOSBox so they take emulated time.
- Improve dos ioctl functions.
- Improve DOS functions when dealing with virtual drive.
- Improve FAT drives.
- Better handling of volume-labels in file functions.
- Image disk cycling capability. (prompt)
- Try to reduce the impact of using an analog joystick.
- Several measures to avoid code invalidation on certain types
of self modification in the dynamic core.
- Add dynamic core memory function inlining.
- A few small mouse improvements. (some games are using things they
shouldn't)
- Add nullmodem emulation.(h-a-l-9000)
- Some small cga and hercules fixes.
- Add more scalers (hq2x/hq3x/sai). (Kronuz)
- Change configuration file loading support. It now supports
multiple configuration files.
- Make dynamic core capable of running some win32s programs.
- Fix and add some rare soundblaster modes. (Srecko)
- Better soundblaster mixer controls. (Srecko)
- Make soundblaster installation under windows much easier.
- Add device control channel handling.
- GEMMIS support (ems under windows).
- Support more colours in win 3. (vasyl)
- Don't show unmounted drives in windows filemanager.
- Fix some bugs in the int13 handler.
- Simulate some side-effects of bios interrupt handlers on flags.
- Add IPX functions needed by netbios.
- Make ports take emulated time.
- Tabcompletion is now aware of the CD command.
- Add suppport for the dac pel mask.
- Fixes to hercules emulation, better detection and bank switching.
- Fixes to tandy emulation, 640x200x16 mode and different sizes bank.
- EGA/VGA memory changes detection for faster rendering.
- Gus 16 bit fixes.
- Many timer improvements.
- Some pcjr fixes.
- Some booter fixes.
- Many small fixes.
* 4/15/16/32bpp VESA mode support
* Lot's of fixes for better vga compatibility
* Improved CGA composite output
* Added video capturing to avi
* Improved screen updating for more speed
* PCjr machine mode added
* Speedup cpu cores and fix endian issues
* FPU core speedup with assembly
* Improved keyboard and bios handling
* Lockfree mouse mode added again
* Improved builtin dos with umbs and better fat support
* Added VCPI emulation and fixed some issues with ems
* Improved support for booter games
* Modem and IPX support improved for multiplayer
* Countless other bugfixes and features added
Ok'ed by cube.
aalib-x11 and aview-x11.
SDL dependencies change, so bump PKGREVISION (and BUILDLINK_RECOMMENDED)
for affected packages.
Addresses PR 32046 by Leonard Schmidt.
- Fixed crash with keymapper (ctrl-f1) and output=surface.
- Added unmounting.
- Fixed multiple issues with drive labels.
- Fixed most if not all FILES=XX problems.
- Added redirection in the shell.
- Fixed crashes with subst.
- Fixed multiple crashes with the drive images support.
- Added a missing fpu instruction.
- Fixed some cpu and fpu instructions.
- Fixed a small bug related to font loading.
- Rewrote the devices support.
- Added capslock/numlock checks on startup.
- Fixed wave writing.
- A few internal DOS fixes.
- Timer fixes for the hybrid loader.
- Some small soundblaster fixes.
- The drive cache can now be cleared by a keycombo. (CTRL-F4)
- A few keyboard fixes.
- Compilation fixes on various platforms.
- Quite some debugger improvements.
- Fixed dir only showing files after the first run on cdrom drives.
- Added some cdrom detection checks.
- Enabled insert in the shell. (Easier editing of commands)
- Changed order in which executables appear with tab-completion.
- Fixed some issues with raw opl recording and using a slightly different
format
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.