Assets 9

0.82.12

  • MinGW HX DOS builds fixed to accept mouse input properly
    even beyond the 640x480 of the original SDL window
    dimensions. HX DOS seems to use the original dimensions
    of the window even if the window is maximized, thus the
    mouse input issue.
  • Configuration GUI fixed not to restore (unmaximize)
    the window, it's unnecessary.
  • New build scripts for Mac OS X, MinGW, and MinGW HX-DOS,
    under build-scripts in the source tree, to help make
    DOSBox-X releases more timely and consistent.
  • MinGW HX DOS builds now use WS_POPUP style instead
    of WS_OVERLAPPED to avoid window caption redraw
    glitches when in Windows XP.
  • MinGW HX DOS builds fixed to force the SDL window
    maximized at all times. Mapper and Configuration GUI
    interfaces fixed not to call on Windows to SW_RESTORE
    the window, in order to keep it maximized.
  • Steel Gun Nyan PIT/Timer hack revised so that polling
    the timer does not cause an interrupt storm. This
    fixes "God of Thunder" MS-DOS game where entering or
    leaving a house causes the Adlib music to play
    REALLY FAST during the transition effect.
  • Dynrec core ported from DOSBox SVN (Daniel-Trevitz)
  • Configuration GUI will pack settings closer together
    if the window/screen size is below 800x600.
  • Configuration GUI fixed to size dialog boxes as
    large as needed to show all options, to allow tabbing
    between options, to show a focus rectangle on the
    items.
  • Configuration GUI top level windows no longer show
    inactive title bar whenever you access a menu.
  • About dialog in configuration GUI updated to
    reflect that this is DOSBox-X in 2018, not
    DOSBox in 2014.
  • Configuration GUI now works with touchscreens in
    SDL2 builds.
  • INT 33h fixed to regard cursor as hidden if hidden
    for at least 100ms, which fixes host cursor flickering
    when running the built-in FreeDOS EDIT.COM program.
  • Mouse input and guest pointer integration limited
    to send input only if within the display region or
    within a 10% border around the display region.
  • SDL2 tapping the SDL drawn menu bar (on a touch
    screen) no longer triggers mouse click in the
    guest application (bugfix).
  • SDL2 Linux/X11 hack, added to compensate for bugs
    in SDL2 v2.0.5 regarding Linux/X11 touchscreen
    events, removed. SDL2 v2.0.9 fixed it.
  • Linux/X11 SDL2 builds will now encourage the user
    to update the SDL2 library installation if
    SDL2 library v2.0.5 is installed.
  • Fullscreen mode fixed in SDL2 builds.
  • Fixed configuration GUI fade out/in effect after
    exiting mapper GUI bug.
  • Configuration GUI now available and working in
    SDL2 builds as well as SDL1.
  • SDL2 builds now have a working "Fit aspect ratio"
    option.
  • SDL1 fullscreen mode fixed to use either the desktop
    size or the desired output size, and fallback to
    non-fullscreen on failure, to fix a segfault that
    would otherwise happen.
  • CONFIG -set sdl showmenu= now changes menu visibility.
  • CONFIG -set render scaler= fixed to apply changes
    to scaler and force setting, and update menu items,
    instead of ignoring it.
  • CONFIG -set render aspect= now keeps menu synchronized
    with setting.
Assets 6

0.82.11

  • SDL GUI fixed to make fade/sepia effect fit the
    actual display rectangle instead of filling the
    window.
  • PC-98 BIOS keyboard handling now returns capitals
    for A-Z if SHIFT xor CAPS LOCK is engaged.
  • PC-98 BIOS keyboard handling now uses modifier bits
    of keyboard bitmap to process scan codes, hackish
    IBM PC/AT data area status handling in PC-98 mode
    removed.
  • PC-98 BIOS keyboard emulation now maps numeric keypad
    to produce the correct keyboard input to the console
    and games. This fixes games that rely on the numeric
    keypad and the DOS console driver
  • Command line parsing fixed to add any BAT, COM, and
    EXE file references given at DOSBox-X's command line
    to the autoexec.bat file run at startup.
  • BOOT command bug fixed that made it impossible to
    specify both disk images and the --debug and --force
    options.
  • Debug output fixed to make it easier to break into
    the debugger even during a flood of debug output.
  • Added dosbox.conf option to enable/disable the
    PC-98 bus mouse interface
  • PC-98 boot disks with 128 bytes/sector boot sectors
    now load 4 sectors instead of 2. Seems to be
    required by some games.
  • INT 13h read/write functions fixed to refuse the
    command if the floppy disk has a sector size too
    large for the implementation (such as a PC-98
    disk image mounted in IBM PC mode with 1024 bytes
    per sector).
  • INT 13h AH=2 (read sector) updated to return disk
    change error on first read after disk change, to
    match real BIOS behavior.
  • Floppy emulation now tracks "disk change" signal.
  • PIC event handling fixed, IRQ breakpoints now stop
    at the beginning of the interrupt handler.
  • MPU-401 MIDI default IRQ is now IRQ 6 in PC-98 mode,
    to match factory default setting.
  • MPU-401 MIDI IRQ masked by default in PC-98.
  • PC-98 port BFDB implemented, which allows control
    of the mouse interrupt rate.
  • Eliminated mouse periodic interrupt hack, the mouse
    interrupt on PC-98 is periodic when enabled.
  • 256-byte/sector hard disk images fixed to ensure the
    proper boot drive identifier is presented for MS-DOS
    when booting a hard disk image.
  • Added IMGMOUNT -o partidx=N option. N is an integer
    value that indicates which partition to mount, counting
    up from zero. This allows mounting disk images that
    the FAT driver otherwise can't identify which partition
    to mount.
  • New general -o name=value option for IMGMOUNT, to pass
    various options to the FAT driver.
  • Update Metal Force mouse hack to become a more general
    "fire interrupt on Port C write" with a dosbox.conf
    option to enable. This fixes the requirement to move
    the mouse constantly for "Amaranth" when enabled.
  • Add to cascade interrupt hacks by offering an option
    to ignore the "in service" bit of the PIC for the
    cascade interrupt, while still tracking it for
    the DOS game or interrupt. Handy for PC-98 games
    that check the cascade "in service" bit before
    acting on the interrupt (IRQ 8-15).
  • DOS kernel fixed to limit it's private area and
    UMB region to avoid overlapping the PC-98 SOUND
    BIOS.
  • PC-98 SOUND BIOS dummy stub added for games that
    call into it.
  • Emulator hanging problem fixed when inputs are
    processed while running at a very low cycle count.
  • Added PC-98 LIO BIOS list and stub for games that
    require it.
  • Timer and PIC updated to emulate Mode 3 Square Wave
    output through the IRR register. Needed for Steel
    Gun Nyan.
  • PC-98 INT 18h fixed to reenable and process any
    keyboard data waiting when the DOS game or application
    calls INT 18h to read keyboard input. This fixes
    keyboard problems with Quarth.
  • PC-98 FDC BIOS emulation no longer reprograms the
    timer interrupt, but uses an alternate hack to
    avoid divide by zero fault with Ys II.
  • PC-98 GDC command to read back cursor position
    added.
  • PC-98 DOS CON device emulation now maintains ANSI
    attribute byte at 60:11D as documented.
  • BOOT now hides hardware cursor when booting a guest
    OS in PC-98 mode.
  • INT 1Dh vector now points at segment FD80 to satisfy
    some games that autodetect PC-98 vs other platforms.
  • INT 18h AH=42 implement display "bank" bit for games
    that need it.
  • PC-98 text scroll region implemented (I/O ports
    76h-7Ah even).
  • PC-98 CRTC mode set regarding 20/25-line mode fixed
    to update line height, text vertical position/height,
    and cursor shape.
  • PC-98 emulation of text height/vertical position
    registers 70h-74h even added.
  • PC-98 text hardware cursor fixed to cover both halves
    of doublewide characters if cursor positioned on left
    half, to match real hardware.
  • Fixed music/interrupt slowdown whenever I/O and INT 10h
    BIOS emulation is involved.
  • PC-98 minimal (non-functional at this time) printer
    port emulation added, as well as system configuration
    port.
  • PC-98 CG memory region fixed to match real hardware
    behavior, responding to A4000-A4FFF.
  • FAT filesystem driver now supports 2048 bytes per
    sector filesystems.
  • FAT filesystem driver logical/physical sector matching
    fixed to improve flexibility.
  • Fixed crash that occurs if you maximize the window
    and then adjust scalers to produce output that is
    larger than the maximized window.
  • INT 33h emulation now offers hiding the host cursor
    if the guest has provided an interrupt subroutine
    for the mouse driver to call, since it usually means
    the DOS game wishes to draw the cursor itself.
  • INT 33h emulation now offers hiding the host cursor
    if the guest is polling the cursor position, to
    better support guest/host integration with DOS games
    that draw their own cursor.
  • AUX and PS/2 emulation no longer allowed if machine
    type is PCjr.
  • PS/2 mouse emulation fixed to disable itself if the
    slave PIC needed for IRQ 12 is not present.
  • INT 33h pointer integration improved to support some
    additional DOS games, and to handle DeluxePaint II
    enhanced.
  • IMGMOUNT now supports NFD disk images.
  • DOSBox Integration Device now available for PC-98.
  • Added support for T98Next NHD hard disk images.
  • Added support for T98Next NFD R1 disk images.
  • Fixed crash with VGA BIOS allocation if video memory
    allows the full modelist to overflow the available
    ROM space.
  • SDL2 mapper redraw issue resolved.
  • Added dosbox.conf option to determine whether INT 10h
    VESA BIOS emulation points at the modelist in ROM or
    copies the modelist into the DOS application's info
    structure when asked.
Assets 3
  • Emulator hanging problem fixed when inputs are
    processed while running at a very low cycle count.
  • Added PC-98 LIO BIOS list and stub for games that
    require it.
  • Timer and PIC updated to emulate Mode 3 Square Wave
    output through the IRR register. Needed for Steel
    Gun Nyan.
  • PC-98 INT 18h fixed to reenable and process any
    keyboard data waiting when the DOS game or application
    calls INT 18h to read keyboard input. This fixes
    keyboard problems with Quarth.
  • Added dosbox.conf settings to enable Auto EOI mode
    in PC-98 mode. DOS game behavior suggests that
    the platform may use Auto EOI.
  • PC-98 FDC BIOS emulation no longer reprograms the
    timer interrupt, but uses an alternate hack to
    avoid divide by zero fault with Ys II.
  • PC-98 GDC command to read back cursor position
    added.
  • PC-98 DOS CON device emulation now maintains ANSI
    attribute byte at 60:11D as documented.
  • BOOT now hides hardware cursor when booting a guest
    OS in PC-98 mode.
  • INT 1Dh vector now points at segment FD80 to satisfy
    some games that autodetect PC-98 vs other platforms.
  • INT 18h AH=42 implement display "bank" bit for games
    that need it.
  • PC-98 text scroll region implemented (I/O ports
    76h-7Ah even).
  • PC-98 CRTC mode set regarding 20/25-line mode fixed
    to update line height, text vertical position/height,
    and cursor shape.
  • PC-98 emulation of text height/vertical position
    registers 70h-74h even added.
  • PC-98 text hardware cursor fixed to cover both halves
    of doublewide characters if cursor positioned on left
    half, to match real hardware.
  • Fixed music/interrupt slowdown whenever I/O and INT 10h
    BIOS emulation is involved.
  • PC-98 minimal (non-functional at this time) printer
    port emulation added, as well as system configuration
    port.
  • PC-98 CG memory region fixed to match real hardware
    behavior, responding to A4000-A4FFF.
  • FAT filesystem driver now supports 2048 bytes per
    sector filesystems.
  • FAT filesystem driver logical/physical sector matching
    fixed to improve flexibility.
  • Fixed crash that occurs if you maximize the window
    and then adjust scalers to produce output that is
    larger than the maximized window.
  • INT 33h emulation now offers hiding the host cursor
    if the guest has provided an interrupt subroutine
    for the mouse driver to call, since it usually means
    the DOS game wishes to draw the cursor itself.
  • INT 33h emulation now offers hiding the host cursor
    if the guest is polling the cursor position, to
    better support guest/host integration with DOS games
    that draw their own cursor.
  • AUX and PS/2 emulation no longer allowed if machine
    type is PCjr.
  • PS/2 mouse emulation fixed to disable itself if the
    slave PIC needed for IRQ 12 is not present.
  • INT 33h pointer integration improved to support some
    additional DOS games, and to handle DeluxePaint II
    enhanced.
  • IMGMOUNT now supports NFD disk images.
  • DOSBox Integration Device now available for PC-98.
  • Added support for T98Next NHD hard disk images.
  • Added support for T98Next NFD R1 disk images.
  • Fixed crash with VGA BIOS allocation if video memory
    allows the full modelist to overflow the available
    ROM space.
  • SDL2 mapper redraw issue resolved.
  • Added dosbox.conf option to determine whether INT 10h
    VESA BIOS emulation points at the modelist in ROM or
    copies the modelist into the DOS application's info
    structure when asked.

@joncampbell123 joncampbell123 released this Nov 4, 2018 · 475 commits to master since this release

Assets 8

0.82.10

  • PC-98 INT 1Bh floppy emulation now fakes success for
    calls to format track.
  • Initial keyboard pause fixed
  • PC-98 INT 1Bh floppy disk BIOS call now resets timer
    interval per call. This fixes Ys II after disk swap.
  • BIOS fixed to put normal "unhandled INT call" handler
    for INT 0-7 even in PC-98 mode to avoid confusion
    between game crashes and unknown INT calls.
  • VFD image support fixed to properly handle disk images
    where a sector is marked with fill byte 0xFF and the
    data field is 0xFFFFFFFF, which means the sector contents
    are all 0xFF.
  • DOSBox-X now supports T98 NFD disk images (R0).
  • BIOS data area now properly reports a high-resolution
    CRT display.
  • INT DCh AH=1 CL=10h added, which is apparently a print
    string function.
  • BIOS data area now reports 188+ user-definable CG slots,
    which makes GAJET happy.
  • FDI image support fixed to read the header instead of
    treating it as a plain disk image with 4096 of junk.
  • PC-98 character generator is now accessible through both
    I/O ports A1h-A9h and through memory-mapped I/O range
    A4000-A401F. This fixes missing text in Eve Burst Error.
  • Gravis Ultrasound emulation will no longer log GUS reset
    writes in cases where the same value is being written
    repeatedly, to reduce log clutter. Some demoscene
    productions have music routines that trigger GUS reset
    repeatedly without changing the register.
  • Added "gus master volume" setting to deal with games or
    demoscene productions where the music is too loud and clipping.
  • Added "Pause with interrupts". When enabled, the CPU is directed
    into a CALLBACK_Idle() loop to halt the game's main
    logic while allowing interrupts to run. This is useful
    for recording the game or demo's music because most DOS
    games/demos run the music and sound effects from interrupt
    handlers instead of the main loop.
  • Audio/video capture fixed to render audio even if muted,
    instead of rendering garbage to the capture file when
    audio is muted.
  • Experimental Emscripten + Node target (not reliable yet).
  • Added option to control how unhandled IRQs are dealt with.
    One option, mask_isr, is derived from em-dosbox.
  • Code added to read the screen dimensions in Linux/X11,
    either through XRandR or through the base X11 API.
  • Code added to read and store the dimensions, size, and
    DPI (Dots per Inch) of the screen.
  • Fixed bug that enabled IBM style APM BIOS in PC-98 mode.
  • For PC-98 mode, PIC emulation by default (but controllable
    through dosbox.conf) now initializes the PIC at startup to
    return the ISR (interrupt in-service) register instead of
    the IRR (interrupt request) register. This fixes FM
    music problems with Blackbird by Vivian caused by a
    programming mistake in the FM interrupt handler.
  • PIC emulation now accepts a dosbox.conf option not to mark
    the cascade interrupt as in service, for troublesome games.
  • VESA BIOS emulation now supports a packed 16-color (4bpp)
    mode as seen on a Toshiba Libretto (Chips & Tech) system.
    The packed format is different than the normal planar 16-color
    SVGA modes seen on most systems.
  • INT 33h no longer reports relative mouse motion unless the
    user captures the cursor.
  • Fixed EGA 16-color display modes (M_EGA) to honor CGA and
    Hercules compatible mapping modes (bits 0 and 1 of the
    CRTC mode control) and limit memory display to 8KB or 16KB
    accordingly. This fixes the mode select screen in the game
    "Prehistorik 2".
  • Removed Sound Blaster goldplay mode + sample accurate mode
    warning, goldplay mode no longer has issues with sample
    accurate mode.
  • Mixer "sample accurate" mode fixed to work again.
  • Windows SDL1 builds fixed to work around Windows SDK-level API
    limitation that normally prevents Win32 applications from
    fully receiving WM_KEYDOWN events for the left/right shift
    keys independently. Left and right shift keys are now fully
    usable on Windows builds (i.e. for use with pinball games).
  • INSTALL.MD guide and test files (Aybe)
  • CONFIG -get now populates %CONFIG% environment variable with
    configuration setting (follow DOSBox SVN behavior)
Assets 8

0.82.9

  • "Always on top" mode is now available for Mac OS X builds.
  • PS/2 mouse emulation fixed not to send relative mouse motion
    unless mouse cursor is captured.
  • Shell no longer provides MEM.COM if machine=pc98 or cputype=8086.
    MEM.COM is not compatible with either case.
  • INT 10h emulation will now set the S3 LFB enable bit for VESA
    SVGA modes, unless machine=vesa_nolfb was specified.
  • VGA emulation revised to report possible known problems with
    Windows 3.1 with regard to LFB base address or memalias setting.
  • VGA emulation fixed to emit warning if memalias=24, for S3 LFB,
    if machine=svga_s3, to inform the user that the configuration is
    known to cause the Windows 3.x driver to crash.
  • VGA emulation will no longer report S3 linear framebuffer address
    unless machine=svga_s3. The LFB address doesn't matter for anything
    other than SVGA S3 emulation.
  • S3 emulation will now automatically disable PCI VGA emulation if
    constraints prevent DOSBox-X from setting a linear framebuffer
    address aligned to 32MB (as required for PCI emulation).
  • VGA emulation fixed to pick a more appropriate linear framebuffer
    (S3) address if memalias is set to a value below 32.
  • Added dosbox.conf option "pci vga" to control whether the VGA
    emulation appears as a PCI or ISA device.
  • ROM BIOS now forces reported RAM down to make room for BIOS
    alias at top of memory instead of throwing an E_Exit error.
  • Fixed Hercules emulation (and MDA) so that the Hercules palette
    is always enforced. This fixes a bug where switching to HGC
    graphics mode resulted in monochrome blue/black graphics instead
    of the intended white/green/amber color expected.
  • Added MDA emulation (machine=mda). It functions like
    machine=hercules minus the graphics mode and Hercules-specific
    extensions to the base MDA card.
  • DOSBox shell no longer accepts dosbox.conf settings as commands
    by default, unless enabled in dosbox.conf. Typing "cycles" will
    no longer show cycle count. The dosbox.conf setting allows the
    user to enable it again i.e. for compatibility with DOSBox SVN.
    This is to prevent dosbox.conf settings from polluting the
    available commands at the shell and conflicting with shell and
    executable names.
  • EGA emulaton fixed to obey Color Plane Enable register in
    16-color planar modes.
  • Fixed BIOS model byte to report PS/2 model 30 correctly when
    machine=mcga, to allow certain DOS games to detect MCGA that way.
  • CGA mode/color select registers are readable on MCGA, fix 3D8-3D9h
    to reflect that.
  • INT 10h fixed to properly allow/deny AH=10h, AH=11h, and AH=12h calls
    according to machine= type instead of mistakes that blocked too many
    calls.
  • CGA composite mode should not be available when machine=mcga.
  • Fixed INT 10h to report MCGA color display if machine=mcga.
  • MCGA (IBM PS/2 Multi-Color Graphics Adapter) emulation added.
  • bitop C++11 self-test disabled for Microsoft Visual Studio builds.
    Microsoft's compiler can't handle them for some reason.
  • Added DOSLIB DSXMENU.EXE to the built-in executable list.
    DSXMENU.EXE allows DOS CONFIG.SYS style menus to be set up to
    run commands based on menu selection.
  • PC-98 ANSI emulation fixed to use the number of rows on the screen,
    not cursor position, to range-clip ANSI cursor positioning.
  • Added code to have DX-CAPTURE wait 3 seconds (or until ENTER/SPACE
    is pressed) after the program exits, before stopping capture.
  • DOSBox-X menus now allow runtime selection of capture format
    (AVI+ZMBV or MPEG-TS H.264). Changing while capturing will stop/start
    capture correctly.
  • Added switches to DX-CAPTURE to allow specifying audio, multitrack audio,
    and video as well.
  • DX-CAPTURE shell command added. The command to run is specified
    after DX-CAPTURE and DX-CAPTURE will start video capture, run the
    program, then stop capture when the program exits.
  • VGA/SVGA emulation fixed to enforce 256KB (64KB planar) wraparound
    when emulating stock VGA modes (not SVGA/VESA BIOS). Some
    demoscene productions rely on the 256KB wraparound when showing
    scrolling credits.
  • Gravis Ultrasound emulation now uses I/O callout system, with
    I/O port handling to emulate ISA bus 10-bit decoding (but with
    consideration of GUS MAX 7xx registers) so that GUS I/O ports
    are visible every 1000h I/O ports. A demoscene production was
    found that relies on an alias of GUS ports at 5xxxh rather than
    using the I/O ports directly.
  • Mouse emulation no longer sends motion to serial and PC-98 mouse
    emulation unless mouse cursor has been captured.
  • Mouse emulation fixed to set sensitivity and mickey count even if
    int33=false on mouse emulation reset.
  • Debugger fixed to paginate commands with a lot of output, including
    HELP, PIC, and various commands to dump interrupts and GDT/IDT tables.
  • CPU core no longer triggers Double Fault if Divide Overflow
    occurs within Divide Overflow. This is needed for bizarre anti-debugger
    obfuscated code seen in a demoscene production, where the program
    wraps the demo in a mini-filesystem emulated by trapping INT 21h.
  • cputype= dosbox.conf setting fixed to allow selecting between
    new 486 emulation (cputype=486) and old 486 emulation (cputype=486old).
    The "old" 486 core emulates older 486 CPUs that differ significantly
    from the newer 486 CPUs that inherited features from the Pentium.
  • IRQ hack setting for GUS and Sound Blaster is now a list so that
    multiple hacks can be specified, but in a way that is backwards
    compatible with existing dosbox.conf files.
  • IRQ hack option for Gravis Ultrasound added.
  • INT 20h emulation fixed to work with demoscene productions that
    call INT 20h in a way that the interrupt frame wraps around the
    64KB limit of the stack.
  • XMS emulation now has a dosbox.conf setting to control the number
    of XMS handles available.
  • Added INT 33h option not to round mouse cursor coordinates to text
    cell boundaries in text mode. Some demoscene productions were found
    that detects mouse movement, but reads initial position from text mode
    before switching to graphics.
  • Removed IRQ0 error measurement hack, to match DOSBox SVN. This fixes
    timing problems with some demoscene productions. The error measurement
    hack was apparently added for Microsoft Flight simulator, but has not
    been needed since and has been causing timing issues since.
  • Fixed INT 10h VGA save state function to program the Attribute Controller
    properly so that the screen is not left blank after the call.
  • 8042 keyboard emulation now initializes port 60h to 0xAA on hardware
    reset and initialization. Some DOS games and demoscene productions
    need something with bit 7 set in the register at startup in order not
    to act as if a key was immediately pressed.
  • Add printer emulation from Daum's branch of DOSBox, add FreeType 2.9.1
    to go with it (Alex/AT)
  • Add keyboard type setting, for use in future development.
  • PCjr emulation fixed to emulate PC/XT style NMI mask at port A0h
    rather than emulate the secondary PIC.
  • Code of Conduct revised to make it clear that forks/derivatives CAN
    have their own Code of Conduct but that it only applies to that fork
    or derivative version. No forking DOSBox-X, changing the code of
    conduct, and enforcing it on anyone outside your fork.
  • CPU normal core fixed to clear ZF flag after MUL when cputype=8086,
    which fixes problems with MSD.EXE mis-detecting the CPU as a NEC V20.
  • Fixed PCjr emulation not to allow UMB (upper memory blocks) since
    that seems to cause stability issues with emulation. Also, PCjr
    does not have UMB as far as I know.
  • Fixed PCjr not to re-read port 60h from IRQ1 handler.
  • Fixed PCjr not to emulate INT 15h keyboard hook.
  • PCjr keyboard emulation fixed to trigger NMI and reflect to IRQ1
    the way it actually works on IBM PCjr systems, which also fixes
    keyboard control issues with the PCjr version of "Pitfall".
  • configure.ac now provides an option for compiler optimization (Yksoft1)
  • Code of Conduct, initial version, added to source tree
  • PC-98 palette save/load state
  • CPU, memory, VGA palette and attribute controller save/load state
  • DOS SHELL now implements INT 0x2E to allow DOS programs to invoke
    shell commands through COMMAND.COM (borrowed from DOSBox SVN).
  • Added dosbox.conf option to control the physical memory address of the
    S3 SVGA linear framebuffer.
  • Save/load state system added, currently very minimal and experimental.
  • Appveyor XML added to source tree (Allofich)
  • Fixed most SDL2 refresh problems.
  • Sound Blaster Pro mixer volume fixed to return reserved bits SET rather
    than CLEAR. Some demoscene productions detect Sound Blaster Pro by whether
    these bits remain set when written. This fix allows them to detect Sound
    Blaster Pro as Sound Blaster Pro.
  • VGA emulation fixed not to add 2 scanlines twice, which fixes VGA vertical
    timing and scanline count and fixes the scroller in "Inconexia".
  • Gravis Ultrasound emulation now prints a warning if the game/demo attempts
    a DMA transfer while leaving the DMA channel masked.
  • Fixed Gravis Ultrasound emulation to mask DRAM peek/poke I/O to the 1MB
    offered by the card, which fixes GUS problems with a demoscene production
    that has random values in DRAM address bits 23-20.
  • Added dosbox.conf option that, if set, lets Gravis Ultrasound emulation
    start a DMA transfer if the game/demo is polling the DMA control register
    when DMA is unmasked and DMA terminal count has not occured, which helps
    some demoscene productions.
  • Added "PIC unmask IRQ" option for Gravis Ultrasound emulation.
  • Gravis Ultrasound emulation now has a dosbox.conf setting to initialize
    the hardware at startup as if ULTRINIT had been run.
  • Added dosbox.conf option for VESA BIOS emulation that, if set, instructs
    non-LFB modes to report 64KB windows but map 128KB from the start of
    the window, which helps (but does not fully solve) some Demoscene
    productions with redraw problems handling non-LFB as if LFB.
  • Fixed ET4000 emulation to support the hretrace "wobble" needed for
    "Copper"
  • VGA DAC/attribute controller behavior updated to reflect actual behavior
    as seen on an IBM PS/2 VGA model, as well as almost any SVGA clone.
  • VGA DAC behavior unique to Tseng ET4000 implemented when machine=svga_et4000.
    256-color mode on the ET4000 seems to map the low 4 bits through the
    attribute controller and, if enabled, the upper 4 bits through the
    color select register. Note this behavior is REQUIRED for the
    "copper" demo to display properly.
  • VGA palette, DAC, and attribute controller emulation updated to
    reflect actual VGA behavior, including the way that 256-color mode
    is mapped through the attribute controller.
  • Sierra highcolor DAC can now be enabled for any VGA/SVGA emulation
  • Cleanup and reorganization of scaler, aspect ratio handling (Alex/AT)
  • MinGW config.h builds fixed to enable Direct3D (Alex/AT)
  • Build fixes for SDL1 and Linux and extended functions (JP Cimalando)
  • Fixed ALSA MIDI mistake preventing the creation of subscription
    ports (JP Cimalando)
  • Previous release broke SVGA 16-color planar modes by masking video
    memory to 64KB planar boundaries at all times, fixed code to do so
    only for non-VESA modes. 1024x768 16-color mode works again.
  • Fixed user-defined VESA BIOS modes to validate the required video
    memory against the available memory on the emulated SVGA hardware.
  • VESA BIOS modelist generaton moved into it's own function. Modelist
    is regenerated upon editing/deletion of modes.
  • VESA BIOS modes added as suggested by hail-to-the-ryzen
  • VESA BIOS emulation now allows scriptable editing, deletion, and
    mode renaming of VESA BIOS modes for use with picky DOS games and
    demoscene productions that assume mode numbers.
  • Added VESA BIOS mode 0x136 as an alias for 320x200x16bpp mode
  • Enhancements to GFX_CaptureMouse and CaptureMouseNotify added
  • Fixed scaler change detection to use sizeof(int) properly than assume
    a certain byte count
  • Fixed undefined sse2_available reference issue in certain builds

@joncampbell123 joncampbell123 released this Jul 15, 2018 · 828 commits to master since this release

Assets 3
  • VGA DAC emulation cleanup, and accuracy fixes. Attribute controller, pel mask, and palette now operate in the way they actually work on real hardware.
  • VGA DAC emulation alternate behavior for Tseng ET4000 emulation, based on what actual ET4000 hardware does with the Attribute Controller, Pel mask, color select, and palette. Note that this behavior is required for COPPER.EXE to do it's line-fading technique properly.
  • machine=svga_et4000 emulation now also supports the hretrace "wobble" technique in COPPER.EXE
  • Added option to map SVGA non-linear framebuffer modes with a 128KB window starting from the 64KB bank-switching window, to help with a few demoscene productions that seem to have problems rendering past the 64KB bank without properly bank switching.
  • Gravis Ultrasound emulation now has an option to start emulation with the GUS wavetable, IRQ already started and running (as if ULTRINIT) which is needed for some demoscene productions.
  • Added "pic unmask irq" for Gravis Ultrasound.
  • Added hack for Gravis Ultrasound (disabled by default) where polling the DMA control register can check and re-trigger GUS DMA. For use with demoscene productions that have broken GUS support when uploading samples to the GUS.
  • Fixed Gravis Ultrasound emulation to mask the DRAM address (wraparound) to 1MB when the DOS game/demo peeks/pokes samples into RAM without DMA. This fixes "Acme Mental Masturbation" demo which seems to upload samples directly this way where bits 23-20 of the DRAM address are garbage or meaningless.
  • Fix VGA vertical timing bug where vtotal += 2 was applied twice.
  • Fixed Sound Blaster Pro mixer emulation to leave undefined bits set, not cleared. This fixes some demoscene productions that rely on set reserved bits to detect Sound Blaster Pro.
  • Fixed refresh and screen update problems with SDL2 builds.
  • Refactoring and cleanup of SDL output modes, separation into separate files (Alexat)
  • New load/save state framework. Currently (at this build) loads/saves system RAM, video RAM, and CPU state. THIS FRAMEWORK IS VERY EXPERIMENTAL AND IS NOT GUARANTEED TO WORK WITH MORE THAN A HANDFUL OF GAMES. Mapper shortcuts are hostkey+F1 to save, hostkey+F2 to load. Hostkey is F12, except on Windows, where hostkey is F11.
Pre-release

@joncampbell123 joncampbell123 released this Jul 5, 2018 · 916 commits to master since this release

Assets 3

This is a beta release.

This has fixes for mouse integration, and consolidation of aspect ratio scaling along with other minor fixes.

Assets 8

0.82.8

  • New xBRZ scaler (with bilinear mode) (Alexat)
  • Fixed aspect ratio correction to use the ratio given by VGA emulation
    instead of assuming 4:3
  • output=surface and xBRZ now permit filling the window just like
    output=opengl and output=direct3d
  • Added critical section around Windows SDL 1.x resize code to solve
    the remaining 0.5% probability that resizing the window causes move
    and resize to stop working in Windows 10.
  • INT 10h AH=10h now ignores AL=3 in PCjr mode.
  • Fixed keyboard handler bug in PCjr mode that caused some CPU
    register corruption and general crashiness in games.
  • Improved shell: (Aybe, Joncampbell123)
    • Ctrl+Left and Ctrl+Right permits word-navigation.
    • Added emulation of 'Ins' key behavior.
  • Num Lock, Caps Lock, Scroll Lock are now synchronized at startup
    and when DOSBox-X window gains focus again (Windows). (Aybe)
  • Added visual feedback to Hat/D-pad buttons in mapper. (Aybe)
  • Added documentation for 'dir' command sorting switches. (Aybe)
  • Menu 'Show console' is now checked with '-console' (SDL1). (Aybe)
  • Improved joystick support (see README.joystick): (Aybe)
    • Added deadzone and response for joystick axes.
    • Axes can be remapped for devices with questionable layout.
    • User-settable deadzones for joystick bindings in mapper,
      mappings like WSAD keys to axes is less frustrating.
  • Improved mouse integration (Aybe):
    • Now by default DOSBox-X does not emulate mouse movement when the mouse
      is not locked. This gives a consistent experience when compared to host OS.
      For the old behavior, use [sdl] mouse_emulation=always.
    • Added visual or auditive feedback about auto-lock state (Windows).
      This feature can be switched off, use [sdl] autolock_feedback=none.
  • Added CAPMOUSE program for capturing/releasing mouse from command line. (Aybe)
Jun 6, 2018