./emulators/dosbox-x, DOSBox fork with enhancements

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 0.82.26, Package name: dosbox-x-0.82.26, Maintainer: nia

As a fork of DOSBox, DOSBox-X retains compatibility with the wide base of
DOS games DOSBox was designed for.

It also goes further, with a focus on accurate emulation of the hardware,
and many more ways to tweak and configure the DOS virtual machine.

The DOSBox-X team believes that a better way to emulate the legacy PC platform
is to give the user all the options they need to emulate everything from
original IBM PC hardware with 64KB of RAM all the way up to late 90's
hardware, whatever it takes to get that game or software package to run.

Required to run:
[graphics/png] [audio/fluidsynth] [x11/liboldXrandr] [devel/SDL2] [multimedia/ffmpeg4]

Required to build:
[pkgtools/x11-links] [x11/xcb-proto] [x11/fixesproto4] [pkgtools/cwrappers] [x11/xorgproto]

Package options: ffmpeg, opengl, x11

Master sites:

SHA1: 831813f86e73599e8d49df0dd742bcb9bbaa7a5a
RMD160: e19fea27b36406486e09ff65c8464d169f843bd8
Filesize: 34968.317 KB

Version history: (Expand)

CVS history: (Expand)

   2020-02-05 14:57:40 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
dosbox-x: Update to 0.82.26

  - Debugger console window fixed to choose a smaller
    default size in Windows builds.
  - Debugger console window now resizes properly
    in Windows builds.
  - Using F10 (step over) in the debugger to step
    over INT 21h when a breakpoint for INT 21h is
    set now works correctly, instead of letting the
    instruction pointer "stick" there without moving.
  - Debugger interface now shows (running/watching)
    while RUNWATCH is active.
  - Debugger interface now correctly shows (running)
    status when F5 is used to resume emulation.
  - Debugger toggle reverts back to debugger interface
    instead of running state if triggered during a
    RUNWATCH command.
  - Fixed RUWNATCH command, which was broken by another
    fix sometime back designed to stop PIC event
    processing while in the debugger.
  - Debugger interface fixed to keep the SDL event
    handling going during the "pager" routine to
    prevent Windows from graying out the main window
    as "not responding" in Windows 7/8/10.
  - Direct3D support has been fixed to properly render
    pixel shaders again that were already written for
    other forks.
  - Added "Rescan all drives" menu command and mapper
    shortcut (Issue #1379 requested by saintfrater)
   2020-01-04 12:54:51 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
dosbox-x: Update to 0.82.25

  - Added 1920x1440 4:3 HD VESA BIOS mode and increased
    scaler limits to support it.
  - VESA BIOS emulation now rejects video modes that
    exceed the render scaler architecture's limits,
    to avoid frozen screens if set. However, VESAMOED.COM
    warns the user, so if the user ignores the warning,
    VESA BIOS emulation will allow user-defined modes
    that exceed the limits anyway.
  - VESAMOED.COM will now warn you if the custom mode
    you modified exceeds the render scaler's limits.
  - VGA emulation now reports render scaler limits
    in the logfile at startup, if debug logging is
  - Render scaler code now logs a warning when it
    rejects a video mode that exceeds the render
    scaler limits.
  - S3 emulation now allows 16MB of video memory.
  - Due to continuous problems with DOS games and a
    very long VESA modelist, the defaults for VESA
    BIOS options in dosbox.conf have been changed to
    limit the modelist to something a late 1990s
    VESA BIOS would list. New defaults include a
    maximum resolution of 1280x1024, the removal of
    4bpp 16-color packed, unusual video modes,
    "High Definition" TV broadcast modes, and the
    extra explicitly defined 24bpp modes to complement
    VBE1.2 32bpp modes. Those options remain
    changeable and all limits can be lifted with
    settings in dosbox.conf if wanted.
  - Allow using "" in the debugger to specify that
    a hex value should be used rather than the
    contents of the flag with that name. Allows
    hex values of AC, AF, CF and DF to be directly
    specified. (Allofich)
  - 25.COM, 28.COM, and 50.COM now have different
    versions for VGA, EGA, and other IBM compatible
    video machines. 28.COM now correctly sets 28 lines
    for machine=ega. CGA/MDA/Hercules/etc. still use
    INT AX=3h for 25.COM.
  - Change 25.COM to use INT 10h AX=1114h (8x16) instead
    of INT 10h AX=3 (set 80x25 mode).
  - INT 10h AX=1111h (8x14) and AX=1113h (8x8), related
    to 28.COM and 50.COM, now range check the current
    cursor row against number of rows to keep it on
  - Fixed ADDKEY "full" command not turning on the
    full core when used with a delay. (Allofich)
  - INT 10h AX=101Ah Get Video DAC color-page state fixed
    to restore display after blanking it due to Attribute
    Controller read and write operations. This fixes
    IBM PC compatible MS-DOS game "Blue Force".
  - Debugger: "VGA AC" now shows AC disable bits as well
    as the internal state indicating whether the last
    byte written to 3C0h was handled as the index.
   2019-12-05 23:56:23 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
dosbox-x: Update to 0.82.24

  - FDC emulation now allows READ command to look for
    sector numbers that are out of range in order to
    support booter games that read out of range sector
    numbers as part of their copy protection.
  - Windows SDL1 window resizing fixed to avoid snapping
    and jumping issues when the window is sized down
    to the point the menu bar doubles or triples in
    height due to menu item wrapping.
  - FDC clear DMA terminal count automatically (with a
    warning printed to the log) at beginning of FDC
    read/write (PC-98 booter game Star Cruiser).
  - FDC DMA read/write failure now causes FDC to signal
    an error, and the debug output will say so.
  - FDC debug output now shows motor bits in the correct
    order, not backwards
  - CONFIG.COM and MIXER.COM are now registered only at
    DOS kernel startup, to resolve their disappearance
    after RE-DOS or guest system reset.
  - Some OpenGL cleanup and fixes for when compiling for
    Mac OS X Catalina.
  - Shell startup now prints the actual mapper binding
    (whatever it is) for the Host key instead of assuming
  - "Ro" key in PC-98 mode in the mapper interface now
    clarifies that it is Ro / _ since the shift state is
    the underscore.
  - Shell startup code fixed to show F11 for Windows and
    F12 for other platforms properly instead of always
    showing F11.
  - Added BOOT option --pc98-graphics to start up with
    graphics layer enabled in order to run HDI images
    using QMOUSE and games that expect NEC MOUSE.COM
    behavior of showing graphics layer on driver init.
  - BOOT now hides graphics layer on startup in PC-98 mode
    to reflect real hardware.
  - INT 33h mouse emulation now enables graphics layer
    on mouse startup and INT 33h AX=0 to imitate NEC
    MOUSE.COM behavior seen on real PC-98 hardware. This is
    needed for some Orange House games that assume this
    behavior, without which the graphics are invisible.
  - INT 33h define range functions now include separate
    range correction for text mode vs graphics mode.
  - Help sections in Configuration GUI have been improved,
    they are now easier to browse and read. (aybe)
  - CONFIG: added description for 'securemode' (aybe).
  - Integer properties are now correctly saved when
    they have been changed in configuration GUI (aybe).
  - Some scenarios with command history could display
    garbage characters from previous/next command (aybe).
  - Fixed all hard disk images created by IMGMAKE having
    VHD footers. (Allofich)
  - Windows Visual Studio solution: (aybe)
    - cleaned and clarified project properties for projects
    - removed configurations that didn't make sense
    - fixed broken debugging
    - consolidated to use single versions of SDK and IDE
    - enabled faster builds (multi-processor compilation)
    - fixed broken builds, e.g. ARM, ARM64
   2019-11-02 19:30:48 by Nia Alarie | Files touched by this commit (1)
Log message:
dosbox-x: Not mprotect safe on x86
   2019-11-01 18:53:41 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
dosbox-x: Update to 0.82.23


  - Serial and parallel file output now disable stdio
    buffering so that output is more immediately
    accessible to the user.
  - Added file output to serial port emulation.
  - Parallel port emulation now support both dev: and
    file: to specify that LPTx output go to a file,
    not necessarily a device by name.
  - Fixed bug that capped vmemsizekb to 8KB.
  - BIOS bootup screen now shows correct text for CPU
    type instead of "? CPU" when cputype=auto.
  - PC-98 256-color mode fixed to ignore doublescan
    and 200-line bits of the GDC to match real hardware
    behavior. This fixes display problems with
    "Alone in the Dark"
  - BOOT command will now always set 640x200 8-color
    graphics mode when booting PC-98 disk images,
    to match the apparent behavior of real hardware.
  - PC-98 hardware apparently allows writing port 6Ah
    to jump directly to 256-color mode from 8-color
    mode, update DOSBox-X emulation to allow it.
    This fixes the PC-9821 port of "Alone in the Dark".
  - Slow CGA memory access handler now wraps to 16KB
    correctly, and resolves a segfault that can happen
    if the last 16KB is accessed by the guest if
  - vmemsize default is now -1, which means to pick a
    video memory size automatically.
  - Added PC-98 INT 1Bh AH=03h SCSI BIOS command, which
    allows FreeDOS98 to boot.
  - INT 33h emulation fixed not to reset mouse min/max
    range if the new video mode is a VESA BIOS SVGA
    mode (not a standard VGA mode). Some games seem to
    define the mouse min/max range AND THEN set the
    VESA BIOS mode, not the other way around.
  - INT 33h define range functions now apply rounding
    to the max range if the range is close to the
    dimensions of the screen, for games like Daggerfall
    that set the cursor maximum range to values close to,
    but not exactly, the dimensions of the VGA screen.
  - INT 33h define range functions updated to accept max
    ranges for mapping host to guest if set just after
    video modeset or if those INT 33h functions are called
    when no mouse buttons are down.
  - INT 10h AH=4Fh AL=08h (Set DAC width) now correctly
    set AL=4Fh to indicate the call is supported.
  - VGA DAC palette writes are now ALWAYS masked to 6-bit
    unless 8-BIT DAC mode is ON and enabled. This fixes
    palette problems with Amulets and Armor.
  - VGA DAC 6/8-bit palette management code simplified
  - Added dosbox.conf option to instruct DOSBox-X to leave
    the PC speaker clock gate enabled if set, for games
    that use that PIT output as a time source. Setting
    the option to "true" allows "Bàoxiào sānguózhì", a game
    with strange and elaborate timing code, to run without
    hanging at the second title screen.
  - VGA port 3DAh "undefined bits" setting changed to 0x04
    to accomodate "Blues Brothers"
  - Configuration GUI: If the settings are scrollable,
    tabbing between fields will now auto-scroll to the
    field and make it visible.
  - In the configuration GUI, scroll wheel input no longer
    changes the window focus.
  - Set CPU cycles dialog box layout fixed.
  - Added 'skip encoding unchanged frames' option to
    dosbox.conf. If set, AVI video capture will skip
    video frame compression if the frame has not changed
    from the previous frame. Option is off by default
    at this time in case it causes any issues with users
    and their video editing software.
   2019-10-20 11:42:13 by Nia Alarie | Files touched by this commit (1)
Log message:
dosbox-x: Disable dynarec on non-x86
   2019-10-01 21:37:51 by Nia Alarie | Files touched by this commit (7)
Log message:
Accept blame for a handful of packages.
   2019-10-01 16:23:22 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
dosbox-x: Update to 0.82.22

  - Added Normal2x render scalers so that 'force scaler'
    for 1x2 or 2x1 scalefactors works and you can scale
    up 320x200/640x200 VGA modes and 640x200 CGA modes
    by 2x.
  - Main window titlebar now reflects whether or
    not the debugger interface is active.
  - Debugger interface now flushes terminal input
    upon entering the debugger, so that keyboard
    input prior to entering the debugger is ignored.
  - Debugger mapper shortcut and menu item are now
    a toggle. Selecting once will enter the debugger
    and selecting again will resume emulation.
  - cycles=max now displays cycle percentage correctly
    instead of showing e.g. 100 cyc/ms
  - (Allofich) Note and ignore INT 33, AX=53C1 call
    for the Logitech CyberMan.
  - Fixed odd code addition that disabled (through
    the configuration) XMS, EMS, and UMB when
    booting a guest OS. This fixes a problem where
    those services are not available when rebooting
    back into the DOSBox-X shell from a guest OS.
  - CGA 640x200 and MCGA 640x480 modes fixed to
    have proper refresh rate when machine=mcga,
    instead of 140Hz.
  - MCGA horizontal active display register
    encodes N - 1, not N, according to real
    hardware register dumps.
  - INT 10h modes 2 and 3 updated set MCGA CRTC
    write protect bit, to match real PS/2 hardware
    behavior, and to unlock CRTC registers during
    mode set.
  - PC-98 VSYNC interrupt now fires at vertical
    retrace start (as documented) instead of at
    active display end behavior borrowed from
    DOSBox VGA emulation. This fixes "Tonight"
    by Swat.
  - Fixed mistake that placed N88 ROM BASIC stub
    (something specific to PC-98) in memory even
    in IBM PC/XT/AT emulation mode.
  - Fixed some callback slot leaks that can cause
    DOSBox-X to run out of callback slots if you
    reset the guest system too much.
  - Fixed invalid callback and errant interrupt
    handling during BIOS reset delay that happens
    if you use the keyboard shortcut to trigger
    system reset.
  - XMS emulation resets global enable and local
    enable state on XMS emulation startup to fix
    crashes related to inability to control A20 gate
    after system reset or DOS kernel restart.
  - Debugger "SM" command now accepts segment:offset
    syntax for memory location to write.
  - Fixed INT 21h AH=65h bug that returns DBCS table
    for AH=4h that should return filename uppercase
  - Configuration GUI property settings are now
    shown in a single column wide list with scrolling.
  - In the configuration GUI, help dialogs will now
    present the help text as a scrollable region if
    there is too much to fit on screen.
  - dosbox.conf mixer rate will now accept any
    sample rate from 4KHz to 192KHz instead of only
    fixed specific sample rates.
  - cascade interrupt ignore in service setting now
    accepts true, false, and auto. "auto" is now the
    default, and will choose true or false depending
    on machine type for correct emulation either way.
    It should no longer be necessary to add
    "cascade interrupt ignore in service=true" to
    your dosbox.conf every time you want to run a
    PC-98 game properly.
  - PC-98 FM board emulation will now load SOUND.ROM
    into segment CC00h if available, if FM board
    emulation is enabled.
  - PC-98 INT 18h AH=30h updated to return AH=05h
    AL=00h BH=00h if success, AH=00h AL=01h BH=01h
    if failure. This is needed to get Puyo Puyo 2
    to work, which for some reason fails if a call
    to set 15KHz mode works.
  - PC-98 LIO and SOUND BIOS entry points, while
    still not implemented, have been updated to
    print the name of the call according to an
    online reference.
  - DOS FCB rename now supports renaming the
    volume label as MS-DOS does.
  - Fixed bug that prevented proper DOS FCB rename
    if the FCB used to rename is extended.
  - FAT filesystem driver updated to also store
    updated volume label in the boot sector of the
    partition, as per MS-DOS FAT standards.
  - FCB create can now be used to set a FAT
    filesystem label. MS-DOS LABEL.EXE works
    correctly now.
  - FAT filesystem driver now allows LABEL command
    to change the FAT volume label of mounted disk
  - DOS kernel updated to support basic FCB methods
    of deleting/setting the volume label, at least
    on local folder mounts.
  - DOS kernel will now return the volume label of
    FAT filesystems mounted from disk images.
  - LABEL setting code fixed not to treat label as
    if an 8.3 filename.
  - LABEL is no longer a builtin shell command and
    appears on drive Z: as LABEL.COM
  - LABEL reimplemented to imitate MS-DOS behavior
    with regard to how it handles the command line.
  - File I/O checking and cleanup (Allofich)
  - Integrated commits from mainline (Allofich)
    - Handle errant IRQs as a real BIOS does. Also
    remove r3263 workaround, as it's no longer
    - Fix flag behavior of several shift/rotate
    instructions, cause exceptions and fix
    potential 'pop ss' problems
    - Add support for Print Screen key and
    interrupt. In-game screenshot feature
    of Descent and Descent 2 now works.