dosbox-x

DOSBox-X fork of the DOSBox project

GPL-2.0 License

Stars
2.5K
Committers
121

Bot releases are hidden (Show)

dosbox-x - DOSBox-X 2024.07.01 2024-07-01 21:45 Latest Release

Published by joncampbell123 4 months ago

2024.07.01

  • Correct Hercules InColor memory emulation. Read and write planar
    behavior was incorrect due to a misunderstanding of available
    documentation. (joncampbell123).
  • Hercules/MDA and InColor integration broke the Hercules blend mode
    render, fix the render so that adjacent lit pixels are brighter
    again. (joncampbell123).
  • Fix "VRD" debugger command bug that didn't properly render out the
    rest of the VGA display frame. (joncampbell123).
  • Fixed debugger mapper shortcut bug where entering the debugger
    completes the 1 ms "tick" early, effectively jumping emulator time
    up to start of the next ms. This might explain the mysterious cases
    where a program always fails to work unless you are debugging it.
    (joncampbell123).
  • Added debugger command "VRT" which resumes running the guest until
    vertical retrace. Added for programmers who wish to write something
    to screen and then see it show up. (joncampbell123).
  • Fix IMGMOUNT, when mounting FAT disk images, to provide the DPB the
    actual media id byte instead of assuming 0xF8 or 0xF0. INT AH=1Ch
    should now report the proper media id byte for any floppy format,
    instead of always reporting 0xF0 (1.44MB floppy). (joncampbell123).
  • Allow BOOT to load and execute the boot sector of a guest OS even if
    memory size is too small (in IBM PC emulation, less than 32KB of RAM).
    MS-DOS 1.x of course will crash if you try that because of the
    assumptions made in the boot sector, but it's there if you are feeling
    adventurous or are in an experimental mood (joncampbell123).
  • If memsize is 4KB, place the COMMAND.COM PSP segment in the private
    UMB area instead of the normal MCB allocation chain (joncampbell123).
  • DOS kernel will always allocate kernel memory from private UMB area
    if memory size < 16KB, in order to continue to work (joncampbell123).
  • DOS kernel will allocate from segment 0x60 instead of 0x70 if the
    memory size is less than 64KB. (joncampbell123).
  • files= and fcbs= default value now automatically scales according to
    available conventional memory (640KB or lower) in order for memsize 64KB
    or lower to free up or memory and run properly. (joncampbell123).
  • dosbox.conf files= and fcbs= settings have been changed to allow
    "0" as a value to mean choose a reasonable default. (joncampbell123).
  • Fix bug where DOS kernel crashes on startup because of the initial
    stack pointer set by BIOS startup that points past available memory
    when memsize is 64KB or less. (joncampbell123).
  • If minimum mcb free is not set and memory size is less than 256KB,
    automatically set minimum mcb free to minimum mcb segment, in order
    to release more available memory within the limited space (joncampbell123).
  • Do not enable XMS emulation if system memory size is 1MB or less. (joncampbell123)
  • DOS drive cache: When listing a directory, defer the filename sort until
    the entire list is built. This improves directory listing performance
    in directories with many files. (joncampbell123).
  • INT 10h, if instructed, will now use the video parameter table to set
    standard VGA modes instead of internal logic. (joncampbell123).
  • Removed erroneous VGA display compensation code for certain EGA/VGA
    registers that really only caused incorrect display of the EGA 640x350
    4-color mode. (joncampbell123).
  • Corrected EGA and VGA video parameter tables by copying the parameters
    from actual IBM EGA VGA ROM BIOS images. They should be 100% correct
    now. (joncampbell123).
  • Corrected register values and video rendering of machine=EGA 640x350
    mode when emulating 64KB of RAM. This should fix rendering and display
    issues with EGA 640x350 4-color emulation. Also corrected INT 10h
    character printing functions to filter the color attribute value for
    640x350 4-color mode so the DOS prompt does not have alternating
    colors, in the same manner the real IBM EGA BIOS does. (joncampbell123).
  • Fix BIOS screen to use CGA 640x200 2-color mode if machine=ega with
    less than 128KB of video ram, or machine=ega200, instead of showing
    a garbled 640x350 display. (joncampbell123).
  • Fix memory buffer overrun with machine=ega that can occur with
    640x350 mode and less than 256KB of video RAM. (joncampbell123).
  • The DOSBox clipboard API (via INT 2Fh) is now disabled by default, because
    some programs use it's presence to detect whether they are running under
    Windows. This fixes a program where Norton Desktop 1.0 does not use it's
    "graphical" text UI elements because it thinks it's running within a
    Windows DOS box. (joncampbell123).
  • Remove unnecessary and useless Win32 fcntl() on some memory typecast
    to int which is causing a segfault whenever a ZIP file is mounted
    as a drive with an overlay filesystem atop it. (joncampbell123)
  • Update caption control feature to use equivalent APIs on Mac OS. (joncampbell123)
  • Add dosbox.conf and menu option to control whether the DOSBox-X window
    can be seen in screen captures in Windows 7/8/10/11. Windows 11 "Recall"
    is very concerning and users might not want their DOS gaming to be
    part of it's memory. (joncampbell123).
  • Correct EGA switch readback from port 3C2h to reflect a value of 0x8
    instead of 0x9 when machine=ega200 (joncampbell123).
  • Correct BIOS data area value that holds the "EGA switches" to reflect
    200-line EGA "emulation" when machine=ega200. Value 0x08 instead of 0x09
    (joncampbell123).
  • Correct mode parameters for CGA 640x200 2-color mode when using
    machine=ega200 so that it displays correctly. (joncampbell123)
  • DOS kernel: Remove fixed hacks for SFT and dynamically allocate the
    second SFT table for the last N - 5 file handles. Add code to zero
    SFT table memory to ensure that random data doesn't cause issues.
    Windows 3.1 is still perfectly fine with it, so the SFT table update
    and cleanup is complete. (joncampbell123).
  • DOS kernel: Move the magic "CON" strings into the first SFT and
    mimic the 5 default open file handles that every DOS process starts
    with: CON CON CON AUX PRN. Windows 3.1 is still happy with it, which
    is good. (joncampbell123).
  • DOS kernel: Put the CON driver somewhere else because allowing it
    to overlap the SFT is messy. Fix SFT generation to match the way that
    MS-DOS 5.0 does it where the first table is always 5 entries and the
    second table is always N - 5 entries. Cleanup the DOS memory allocation
    a bit. So far, Windows 3.1 doesn't have a problem with it. (joncampbell123).
  • DOS kernel: Interrupt handler IRET was accidentally placed within
    the SFT table, move it up to resolve the conflict. (joncampbell123).
  • Local DOS drive support: On Windows, if the guest is attempting to
    create a hidden file, make sure to call the right APIs to create a
    hidden file on the host. Not only is this needed to create a hidden
    file, but if the guest tries to create a hidden file and the file
    already exists as a hidden file, the file creation needs to succeed.
    Fix for "Facts of Life" by Witan because the demo creates a hidden
    WITAN.92 every time it is run (joncampbell123).
  • XMS: Add dosbox.conf option to XMS driver to switch on flat real mode
    when a) the XMS driver initializes and/or b) when the XMS driver is
    called on to move/copy memory. (joncampbell123).
  • INT 21h: If a DOS program frees a memory block, and then resizes the
    freed memory block, reassign ownership of that block to the program
    as if allocated. This is apparently canonical MS-DOS behavior. Added
    dosbox.conf option to control whether resizing a freed block silently
    assigns ownership (default setting) or whether it returns an error.
    DOS resize memory function for the most part DID assign ownership but
    not in the case where the size of the MCB was exactly the size requested
    to resize to. (joncampbell123).
  • Sound Blaster: Fix bug where "force autoinit" prevented Sound Blaster
    playback from working at all, fix for "Jump" by Public NMI (joncampbell123).
  • Debugger UI now shows PIC_FullIndex() and whether or not the CPU is
    in the HLT state. Single stepping does not do anything when the CPU is
    in the HLT state, so at least let the user know (joncampbell123).
  • Keyboard controller (IBM PC): Cancel the IRQ signal upon reading I/O
    port 60h. The reason for the IRQ, the pending data, was just read, so
    now there is no point in keeping the IRQ signal up. This fixes Escape
    key problems with "Cronologia" by Cascada that causes part 3 "Time"
    to immediately exit and continue to the credits. Part 1 and 2 are not
    affected by the pending IRQ because those parts mask IRQ 1 and poll
    the keyboard controller directly. (joncampbell123).
  • Fix complexity test code to determine when Odd/Even mode is enabled
    in all cases and to resolve a problem with garbled scrolling text
    in the "Vectorballs" part of "Unreal" (joncampbell123).
  • M_EGA display mode now applies CRTC BYTE/WORD/DWORD shift to display
    start address, same as M_VGA, to ensure correct display when demos
    and games set the CRTC to non-BYTE modes. This fixes page flipping
    flickering during the "Vectorballs" part of "Unreal" by Future Crew.
    (joncampbell123).
  • Update Configuration GUI to use radio buttons for selection, meaning the
    circular buttons that resemble those in Windows, not the check boxes.
    The GUI toolkit had them all along, the Configuration GUI was using
    check boxes for that for some reason. (joncampbell123).
  • Linux ALSA MIDI output: Any attempt to send RESET or other Fx commands
    to the ALSA library causes a segfault in the ALSA library. Revise the
    code to send without crashing. (joncampbell123).
  • Linux ALSA MIDI output: Add code to list and enumerate the MIDI sequencer
    devices available so the user can use it to determine what magic numbers
    to put into the midiconfig setting, especially if the user wants to send
    MIDI to an external synthesizer. (joncampbell123).
  • Suddenly Mac OS 14 and XCode consider the "id" and "int" datatypes
    different and assigning or returning one to the other is now a compiler
    error. Add typecast to enable compile on latest XCode. (joncampbell123)
  • INT 33 mouse emulation: Add dosbox.conf options to force a specific
    coordinate system for the DOS game with respect to host/guest mouse
    cursor integration (getting the DOS cursor to match the host cursor
    within the window). Add dosbox.conf option where additional adjustments
    are available. The maximum x/y and max-adjust options are ideal for
    Lemmings 2, which uses INT 33h in a way that confuses the automatic
    range detection code used to synchronize cursor position and therefore
    needs this option, and the first Lemmings as well. (joncampbell123).
  • PIT timer: Fix restart_counter(), the delay computation was completely
    backwards. This is particularly important where it concerns programs
    that use the PIT to detect the rate at which the Pentium time stamp
    (RDTSC) advances as the previous code caused wildly inaccurate measurements
    and bad timing (GRUB bootloader, the Microsoft CD-ROM boot "press a key
    to boot from CD" message). (joncampbell123).
  • IDE: Make sure to set feature/error register to 0x01 when the guest
    soft or hard resets the IDE devices through the controller. The Linux
    kernel uses a soft/hard reset on startup to detect PATA devices and
    if it does not see the correct value after reset, it will either ignore
    the device or complain about diagnostic failure and cautiously talk to
    the primary IDE hard drive while ignoring any ATAPI CD-ROM emulation.
    This allows the Linux kernel to boot and see the CD-ROM drive. (joncampbell123).
  • IDE: Do not clear registers unnecessarily when finishing IDENTIFY DEVICE.
  • The BOOT command now supports El Torito "no emulation" booting from a
    CD-ROM drive, which is needed to boot install CDs for Windows XP, Linux,
    etc. or Linux-based live CDs. Note that at this time, BOOT only supports
    "no emulation" and IMGMOUNT only supports "floppy emulation" (joncampbell123).
  • INT 13h extensions: If a read was interrupted by an error, update the
    block transfer count so the caller knows (joncampbell123).
  • DOS: Move version parsing farther up, so that the initial DOS version
    can affect memory layout and tables as needed. (joncampbell123)
  • DOS DPB and FAT driver: If the DOS version is 4.0 or higher, write a
    DOS 4.0+ compatible DPB structure (as DOSBox-X already has been doing
    since forking from DOSBox). If the DOS version is lower than 4.0,
    write an MS-DOS 3.30 compatible DPB structure. This allows Popful Mail
    to run without getting into an infinite loop scanning the DPB linked list
    when [dos] section ver=3 30 (MS-DOS 3.30), aside from the fact that the
    game will also run without this change if you set ver=4 0 since the game
    appears to be aware of the change in structure between MS-DOS 3.30 and
    MS-DOS 4.0, though for whatever reason the game refuses to run on
    MS-DOS 5.0 or higher. (joncampbell123).
  • IDE: Silently ignore SET FEATURES command 0x03. Any negative response
    to feature 0x03 causes the Linux kernel to reject the IDE device.
    (joncampbell123)
  • Add support for PIT timer 0 mode 4. Linux kernel 6.1.29 compiled in
    "tickless" mode uses mode 4 instead of mode 0 as a delay timeout. Prior
    to this fix, the Linux kernel would switch into tickless mode and then
    nothing would happen because IRQ 0 would never fire again. See also Linux
    kernel source code, drivers/clocksource/i8253.c function pit_set_oneshot()
    to see what I mean. (joncampbell123)
  • Windows 95 S3 driver behavior suggests that S3 16-color VESA modes
    0x202 to 0x208 are NOT planar modes, but packed modes. Change modes to
    M_PACKED4 and update modelist building to allow that range even if the
    dosbox.conf is configured not to list 4bpp packed VESA modes. This fixes
    Windows 95 S3 driver 16-color modes 800x600, 1024x768, 1280x1024.
    Noted: Windows 95 is the last version of Windows to support 4bpp packed.
    Windows 98 and higher refuses to support it and the Display settings
    will not allow you to select any 16-color mode other than the stock
    VGA 640x480 16-color planar mode. (joncampbell123)
  • Add --load-seg option to BOOT in case any PC-98 game boot floppy expects
    to be loaded somewhere other than the default. PC-98 game "Private School
    Adventure" will crash if loaded to segment 0x1FC0 but runs fine if booted
    with --load-seg 0x0FC0 instead. (joncampbell123)
  • Add dosbox.conf option to direct the EMS page frame segment, in a limited
    fashion, though only effective for PC-98 mode. PC-98 segment is still
    0xD000 by default, but apparently there are games that require the EMS
    page frame to exist at 0xC000. For these games, you can now set under the
    [dos] section "ems frame=C000". (joncampbell123)
  • Restored libslirp support for 32-bit MinGW CI builds which was temporarily
    dropped in 2024.03.01 release. Also since MinGW plans to gradually phase
    out 32-bit support, added code to manually build on our own. (maron2000)
  • Fixed build errors of Windows installers. Windows Vista support for standard
    installer is dropped to fix this issue. Vista users can either use the XP
    installer or portable builds instead. (maron2000)
  • Fixed compile error of speexdsp/fftwrap.c on gcc-14 (maron2000)
  • PC-98: Fixed US keyboard support for tilde (Shift+grave) key (maron2000)
  • Fixed DOSBox-X freezed when codepages regarding EGA18.CPX were set (maron2000)
  • Fixed CUE sheets of GOG games were rejected. Still requires "-t iso" or
    "-t cdrom" option for uncommon file extensions except ".CUE". (maron2000)
  • Added loongarch64 support (donmor)
  • Disable FP exceptions in a portable way (xry111, donmor)
  • Added "*.ccd" in file open dialog (maron2000)
  • Added CI builds for ARM mac (maron2000)
  • Bump tinyfiledialogs to ver 3.17.4 (maron2000)
  • Obtain geometry info of non-standard sized floppy from BPB (maron2000)
  • PC-98: Implemented int 18h ah=47h,48h,49h (nanshiki)
  • Added breakpoint type "Freeze memory" (Enmet)
  • Implemented seeking in MSCDEX
    (Imported from dosbox-staging/dosbox-staging#3516 authored by weirddan455)
  • Fixed built-in COPY command failed to obtain free space when reported DOS
    version is set to 7.1 (maron2000)
  • Fixed some file extensions in the filter list were ignored in the file open
    dialogs (maron2000)
  • Fixed mounting a non-FAT VHD image (maxpat78)
  • Fixed VHD geometry detection (maxpat78)
  • Fixed issue that IMGSWAP command did not work for CD drives. (maron2000)
  • Fixed loaded language file unexpectedly changes on launch. (maron2000)
  • Fixed reported size issues in builtin DIR command (maxpat78)
  • Added missing language file in Windows standard & XP installers. (maron2000)
  • Fixed a bug in IME character display on macOS Sonoma (nanshiki)
  • Fixed build errors of SDL1 code when built with gcc-14 (maron2000)
  • Fixed static link errors of libslirp >= 4.8.0 (maron2000)
  • PC-98: Added MEM command for PC-98 mode (maron2000)
dosbox-x - DOSBox-X 2024.03.01 2024-03-01 14:58

Published by joncampbell123 8 months ago

  • If an empty CD-ROM drive is attached to IDE emulation, return "Medium Not
    Present" instead of a read error, when asked to read. (joncampbell123).
  • Add "empty drive" CD-ROM image type "IMGMOUNT e: empty -t iso" as a way
    to emulate an empty CD-ROM drive with no disc in the drive. (joncampbell123).
  • Add "empty drive" floppy image type "IMGMOUNT 0 empty -t floppy -fs none"
    as a way to emulate a floppy drive with no disk in the drive. (joncampbell123).
  • Video debug overlay: Fix mouse integration misalignment when the video
    debug overlay is enabled while Windows is running (joncampbell123).
  • Video debug overlay: Fix segfault when enabled with 15/16bpp SVGA modes.
    (joncampbell123).
  • Video debug overlay: Fix bug where video debug failed to appear in SVGA
    15/16/24/32bpp display modes because of a design where the VGA drawing
    code points directly at video RAM except when drawing the hardware cursor.
    One symptom was that the video debug info on the side failed to appear at
    all, unless running in Windows and only within the vertical range of the
    mouse cursor. (joncampbell123).
  • Video debug overlay: Do not bother showing the Attribute Controller palette
    in 15/16/24/32bpp SVGA modes because it doesn't matter there and is not
    involved with how anything is displayed. (joncampbell123).
  • Video debug overlay: Fix debug info text to appear for 15/16/24/32bpp SVGA
    modes. (joncampbell123).
  • BOOT --bios no longer triggers a system reset VM event, but instead just
    jumps to the new BIOS image after DOS kernel shutdown. This is needed for
    hardware and resources to stay as they were when running the BIOS i.e.
    keeping any IDE devices configured within the DOS kernel intact so that the
    BIOS can find and use them. Prior to this change, all hardware was fully
    reset and unmapped prior to running the BIOS which made IDE emulation
    unusable with BIOS images. (joncampbell123).
  • BOOT --bios no longer immediately loads the new BIOS into memory, but instead
    loads and stores the image to a temporary buffer. The ROM image does not
    actually get mapped in until the DOS kernel and everything else has had a
    chance to shut down fully. (joncampbell123).
  • Fix BOOT --bios not to try to load PC-98 ITF firmware unless actually running
    in PC-98 mode (joncampbell123).
  • Write PC-98 keyboard translation table (non-shifted) in ROM BIOS and set the
    keyboard translation table pointer in the BIOS data area for "Nut Berry".
    This Nut Berry game also assumes lookup and translation tables exist at
    specific locations in the ROM BIOS, so put those tables there. The shift
    state table in BIOS has also been added, though at the moment, the tables
    are incomplete. (joncampbell123).
  • MegaZeux from the MS-DOS days had a 256-color tweakmode that worked on some
    popular SVGA chipsets of it's time though on others it does nothing but halve
    the display resolution of text mode. The basic idea is that it makes the VGA
    card latch two 4-bit outputs of the VGA text mode into one 8-bit value, thus,
    256 colors possible. Add support for this. However I am not sure whether this
    tweakmode is supported by S3 chipsets, so it is OFF by default and you will
    need to add "enable supermegazeux tweakmode=true" to the [video] section of
    your dosbox.conf to enable it. (joncampbell123).
  • Undo the "no partition offset" change. DOOM II for PC-9821 requires it to work
    else the page flipping fails and sprites and rendering flickers as you play.
    (joncampbell123).
  • Allow text layer to appear in PC-98 256-color mode. Even though I was unable
    to enable it on real hardware, "Shamat, The Holy Circlet" requires having
    the text layer visible on top of 640x400 256-color mode for the introductory
    scrolling text to appear on screen. So for now, just allow it. (joncampbell123).
  • The reason some PC-9821 games have been giving bad PITCH values (double the
    correct value) to the GDC in 256-color mode has been determined. They read
    port 9A0h to determine if the GDC is running at 5MHz or not. That port 9A0h
    index was not implemented and therefore gave the game the impression it was
    running at 5MHz when it was not, therefore the doubled PITCH value. This fix
    corrects the squeezed 256-color mode and allows it to appear properly.
    (joncampbell123).
  • IMGMOUNT: If the file extension is HDI, assume a hard disk image even if the
    image file is small enough to qualify as a floppy disk image. There is an
    HDI image of PC-98 game "D.O. Doki Doki Disk 8" that is 2.2MB, small enough
    to be mistaken as a 2.88MB IBM PC floppy disk and therefore fail to mount
    as an HDI image, this change fixes it. (joncampbell123, maron2000).
  • Emulate PEGC PC-98 linear framebuffer at both 0xF00000-0xF7FFFF (at 15MB
    memory mark) but also make it appear at top of memory below BIOS (normally
    at 0xFFF00000-0xFFF7FFFF). Some 32-bit PC-9821 CD-ROM MS-DOS games assume
    the top of memory alias and will fail to show anything on screen without
    it (unless, alternatively, the memalias setting is set to emulate 24 address
    lines like a 386SX). Now to figure out why these same games are programming
    a GDC PITCH value that's double what it should be... (joncampbell123).
  • PC-98 GDC scan offset no longer pays attention to scan offset of data
    partition in 256-color mode. Required to help fix broken 256-color graphics
    for some PC-98 CD-ROM games. (joncampbell123).
  • Refuse to enable ISA 15MB-16MB memory hole if memalias is set to 24 bits or
    less. Not only is it redundant to do that but it also causes the BIOS to
    immediately crash on startup. (joncampbell123).
  • IDE ATAPI CD-ROM emulation: In PC-98 mode when emulating a NEC CD-ROM drive,
    also limit sector reads to one CD-ROM sector per DRQ because the MS-DOS driver
    assumes that behavior. The driver will stall and error out if it requests a
    multi-sector read and the drive does NOT limit transfers to one sector at a
    time per IDE data transfer. This is in line with my experience writing the
    DOSLIB IDE testing program and laptops from the 1990s with IDE ATAPI CD-ROM
    drives, so it's understandable. (joncampbell123).
  • The reason the CD-ROM driver in PC-98 game HDI images refused to talk to our
    IDE CD-ROM emulation is... (drumroll) we didn't report ourself as an NEC
    CD-ROM drive when given the MMC INQUIRY command. Yes, really. The OAK CD-ROM
    driver in these HDI images really does care whether or the drive is an NEC
    brand drive. What a stupid reason not to talk to a CD-ROM drive. Add code to
    default to "NEC" "CD-ROM DRIVE" as the INQUIRY result if running in PC-98 mode.
    (joncampbell123).
  • Add basic rudimentary support for CloneCD (*.ccd *.img) images. It might not
    work with more complex arrangements but it is enough for most CD-ROM PC-98
    games so far. (joncampbell123).
  • libpng supports the pHYs PNG chunk which describes the pixel aspect ratio of
    the PNG image. libpng 1.6 has it, use it. Programs that support the information
    like FFMPEG will then display the PNG image with the correct aspect ratio.
    (joncampbell123). [https://github.com/joncampbell123/dosbox-x/issues/4754]
  • PC-98 mode: There is a 302KHz timer behind I/O ports 5Ch/5Eh that some MS-DOS
    drivers depend on for timing, particularly a popular IDE CD-ROM device driver
    in many PC-98 game HDI images. This change allows the driver to time out after
    about 5-10 seconds instead of an infinite hang. (joncampbell123)
  • Fix INT 10h to keep hardware CRTC I/O port synchronized with BIOS DATA area
    copy so that other parts of INT 10h called by SetVideoMode do not accidentally
    talk to the wrong I/O ports. This fixes corrupted INT 10 Mode F display
    (640x350 monochrome graphics mode). (joncampbell123).
  • Add DOS Int21 0x5D 0x00 - remote server call
    Inspired by FeeDOS inthndlr.c
    With this change it is possible use a plain dosbox-x to install and run
    Windows for Workgroups V3.11 as an IPX server on the pcap ne2000 interface
    offering a host directory for read and persistent write access to an
    MSDOS machine running a WfW 3.11 IPX network client.
    Please don't forget mounting with -nocachedir
    (Issue #4162)(Yogi-baer)
  • Fix missing keystroke SDLK_LESS on DE keyboard on Raspbian OS (Yogi-baer)
  • Fix crash when loading a language file without existing menu item "ttf_extcharset" (Yogi-baer)
  • Change ISA memory hole 512kb option from boolean to true/false/auto. (joncampbell123)
  • Add ISA memory hole 15mb option, make it true/false/auto.
    Auto means off for IBM compatible mode and on for PC-9821 compatible mode.
    This should allow some DOS games that depend on the linear framebuffer
    to work properly even if memsize=16 or higher. (joncampbell123)
  • MIDI: set minimum sysex delay when enabled (mistydemeo)
  • International support in LABEL, COPY, DEL builtin commands (maxpat)
  • Fix palette setting bugs due to SETCOLOR fix in 2023.10.06 release. (maron2000)
    Graphical glitches in Ultima VI(#4507), Chessmaster 3000(#4510), Wizardry VII(#4534)
    Crash Sid Meyer's Civilization I (#4511)
    TTF color settings regarding 'colors' option (#4579, #3318) and some more
  • Fix crash when mounting floppy/ISO images with no extension (maron2000)
  • Fix Intel macOS CI builds crashed on startup due to missing dylibs
    (Issue #4438)(maron2000)
  • Fix TTF mode didn't switch to graphics mode on certain types of machines
    such as tandy/pcjr.(Issue #4559)(maron2000)
  • Fix crash on switching to fullscreen when output=opengl (Intel macOS) (maron2000)
  • Update DXCapture shell command to support /O for OPL capture (AranVink)
  • Fix floppy images lock bug (maxpat78)
  • Fix type of return value at bool MountFat() (jg1uaa)
  • Fix VHD geometry bugs by performing MBR analysis (maxpat78)
  • Change maximum number of joystick buttons allowed by the mapper (mattcaron)
  • Enable Win9x support on a Pentium3 PC (crazii)
  • Add PC98 image extensions in file open dialogs (maron2000)
  • Fix input in configuration tool (SDL2) (maron2000)
  • Reduce warnings by replacing sOffset (use offsetof) (jg1uaa)
  • Fix LFN functions (nanshiki, SmileTheory)
    Fixed a bug in which 2 extra bytes were copied to the buffer (ax=714eh,714fh).
    Fixed wrong value of date/time etc. in file information (ax=714eh,714fh,71a6h).
    Fixed date/time conversion to be correct (ax=71a7h)
    Report correct file size on win32 when file is open (ax=71a6h).
  • Fix C++11 uncompliant codes (midi_alsa.h, gamelink.cpp) (maron2000)
  • Consider function key display in MORE command (PC-98) (maron2000)
  • Add support for J-3100 video mode 75h (nanshiki)
  • Reflect drawing status bit of GDC status I/O port (PC-98) (nanshiki)
  • Re-enable top line dimming when focus is lost in fullscreen (TTF mode) (maron2000)
  • Fix PC98 mouse counter value range to unsigned value (0-255) (nanshiki)
  • Added function for int DCh cl=10h ah=0Ah to 0Eh (nanshiki)
  • Added escape sequences (ESC[0J ESC[1J ESC[0K ESC[1K ESC[2K ESC[nL) (nanshiki)
  • Fixed behavior of Kanji character output at the right edge of screen (nanshiki)
  • Fixed Media ID was being written to an incorrect location in DPB (nanshiki)
  • Refined version info (maron2000)
  • Added PC-98 NEC mouse functions in INT33h (nanshiki)
  • Bump Nuked-OPL3 code to commit 730f8c2 (13 Nov. 2023) (maron2000)
  • Enabled OPL pass-through code (oplmode=hardware)(dbjh)
  • Fixed crash on startup due to SDLnet library linked externally (macOS) (maron2000)
  • Changed PC-98 floppy boot behavior when Drive 2 is mounted before Drive 1(maron2000)
  • Added Human68k ver.1.0&2.0 floppy disk support (maron2000)
  • Fixed attribute copy behavior of FreeDOS XCOPY.exe to match genuine DOS (maron2000)
  • Added Russian translation (Lartenik)
  • Fixed COPY/XCOPY command fails to recognize 2GB+ free disk space (maron2000)
  • Enable FONTX2 files in PC-98 mode (nanshiki)
  • Fix codepage switching when loading lang files (maron2000)
  • Add missing quotation marks in vcxproj (bredbored)
  • Fixed BPB detection of PC-98 floppies (maron2000)
  • Changed sequence to boot with drive numbers when booting from image (maron2000)
  • Added force JIS (JP106) keyboard layout option in PC-98 mode (maron2000)
  • PC-98: Enable mounting partitions with non-genuine IPL entry names (maron2000)
  • Added support for XDF disk format (maron2000)
  • Added ESFM emulation (ESFMu v1.2 core) (Kagamiin)
  • Added support for ESS "ESFM" sound synthesis (oplemu=esfmu, oplmode=esfm) (Kagamiin)
  • Added experimental/WIP support for the ESS ES1688 sblaster type (sbtype=ess1688) (Kagamiin)
  • Delete obsolete information regarding "INTRO SPECIAL" option (maron2000)
dosbox-x - DOSBox-X 2023.10.06 2023-10-06 23:24

Published by joncampbell123 about 1 year ago

2023.10.06

  • Add "VRD" debugger command to force redraw of the VGA screen.
  • Add VGA debug set commands to force a video start address and another
    to clear all debug settings.
  • Add "PITSYNC" option to VFRCRATE command. "VFRCRATE PITSYNC ON"
    directs the system timer interrupt to synchronize tick rate with
    vertical refresh rate of VGA emulation if the game or demo set
    the timer tick rate to a value close enough to vertical refresh.
    This is intended for games or demos that use the system timer for
    a vsync interrupt.
  • IMGMAKE: Fix bug where if -bat was specified, the generated .bat
    file would attempt to mount the .bat file, not the disk image.
  • IMGMAKE: If -nofs and -bat was specified, the generated .bat file
    will refer to "IMGMAKE 2" instead of "IMGMAKE C"
  • DOS FAT driver: When the guest sends in a new BIOS Parameter Block,
    recalculate the disk locations and FAT type properly instead of
    assuming that FORMAT.COM is using the same format already present.
  • DOS FAT driver: If the partition is unformatted and looks as if
    freshly written by FDISK, then instead of failing to mount, mount
    the partition instead as an unformatted partition and fail file
    I/O until a BPB is set and the partition formatted by FORMAT.COM.
    This matches MS-DOS behavior and it makes it possible to mount an
    image, FDISK it, restart, FORMAT.COM the unformatted partition,
    and end up with a working drive letter (just like MS-DOS). So far
    verified against MS-DOS 6.22 and Windows 98 versions of FDISK,
    FORMAT, SYS, and SCANDISK.
  • DOS FAT driver: Add options -o sectoff and -o sectlen to make it
    possible to manually specify the start and length of a partition.
    Future code will use this internally as well.
  • IMGMOUNT: Allow *: as a drive letter to mean automatically pick a
    drive letter.
  • Fix debugger to use toupper(), but only for ASCII range ncurses
    keycodes.
  • Timer PIT: If the guest writes the counter value while the counter
    gate is off, make sure the counter read back is the same value
    written regardless of gate status. Prior code returned the stale
    latched value of the counter as it was prior to shutting off the
    gate and writing the counter, causing timing issues.
  • Fix restoring minimized window on TTF output (Issue #4248) (maron2000)
  • Fix macos crash on launch when output=surface or auto (SDL2) (maron2000)
  • Update in-tree SDL2 library to ver 2.28.2 (maron2000)
  • Updated build tool for MinGW lowend builds required for the updated SDL2
    library. As a result, MinGW lowend builds are now able to enable debugger
    features. (maron2000)
  • Debugger RUN and RUNWATCH commands were broken, fix. Make sure debugger
    shortcut triggers execution to stop whether in RUN or RUNWATCH mode.
  • Fix SETCOLORS command didn't change color when output=ttf.(Issue #4503)
    Also fixed the values reported were wrong. (maron2000)
  • BIOS CMOS date/time functions will now idle the CPU 4 times after reading
    or setting the clock to allow interrupts, CPU time, and RTC clock ticks
    to proceed normally. This fixes "Pizza Tycoon" and allows it to continue
    past the initial logo. (joncampbell123)
  • Fix segfault when mounting hard disk images with no file extension
    (joncampbell123).
dosbox-x - DOSBox-X 2023.09.01 2023-09-01 17:00

Published by joncampbell123 about 1 year ago

2023.09.01

  • Disable by default message confirmation after snapshot and AVI video
    capture, but leave the option there for those who want to enable it (joncampbell123).
  • Remove "LOG: Logging output has been disabled." output when -nolog
    is specified on the command line (joncampbell123).
  • Fix stuck Ins key problems by fixing a typo in src/ints/bios_keyboard.cpp.
    The code is supposed to clear the "Ins key down" flag, but instead cleared
    all bits EXCEPT "Ins key down" (joncampbell123).
  • NE2000 macaddr default is now "random", which instructs the NE2000
    hardware at startup to pick a random MAC address. (joncampbell123).
  • IPX: If NE2000 and IPX are enabled, and an IPX tunneling connection is
    active, and the user boots a guest OS, switch on a mode where all IPX
    packets going to and coming from the guest are re-routed through the
    IPX tunnel instead of to the NE2000 ethernet backend. This feature
    makes it possible to play IPX-based games in a guest OS like MS-DOS
    and Windows 95. (joncampbell123).
  • IPX: Add extension to server to allow clients to register their own
    MAC address instead of using the default MAC address given by their
    IP address and port number. The extension is designed so that if DOSBox-X
    is a client to another DOSBox fork's IPX tunneling server, it will
    be ignored and DOSBox-X will get the usual MAC address instead. This
    extension is required for guest OSes to be able to use the IPX protocol
    through the NE2000 card given upcoming code changes as they normally
    use the network card MAC address when picking an IPX address because
    the IPX interface is not available once booted into a guest OS. (joncampbell123).
  • IPX client: If both IPX and NE2000 emulation are enabled, IPX emulation
    will use the NE2000 card's MAC address instead. It will use the IPX
    server DOSBox-X extension to try. If it doesn't work, then the normal
    MAC address assignment is accepted without complaint. (joncampbell123).
  • NE2000: Add "nothing" backend. It receives nothing and send packets go
    nowhere. If no other backend is available, this backend is a fallback
    so that at least the NE2000 emulation can work. The other purpose of
    a nothing callback is to give NE2000 something to talk to for those
    who wish to use the upcoming IPX packet redirection to link DOS and
    Windows games over the IPX client or server connection to other
    instances of DOSBox. (joncampbell123)
  • Added record function to capture NE2000 network traffic to a
    pcap/Wireshark file in the capture directory. (joncampbell123)
  • Fixed bug where guest VM reset causes the CMOS to stop ticking for
    exactly the amount of time it was running before reset. (joncampbell123)
  • Added alarm interrupt function to RTC CMOS emulation (joncampbell123)
  • Reverted DOS to using the BIOS_DATA tick count for time and the cached
    copy of date it keeps internally, rather than always calling INT 1Ah.
    It turns out that is how DOS actually behaves, which is also why it is
    possible for the DOS and CMOS RTC to diverge. Fix CMOS emulation to
    allow get/set time and to run in emulation time, not real time, though
    the clock starts from the host time. (joncampbell123)
  • Fixed VHD disk image calculation of footer position and, thus, of newly
    allocated block position. (maxpat78)
  • Enhanced Dynamic and Differencing VHD support #4273 (maxpat78)
  • Imported IBM Music Feature Card support from DOSBox Staging. (Allofich)
  • Fix IMGMAKE large size image error on MinGW builds (maron2000)
  • Set usescancodes=true when non-US keyboards are detected. (Linux / MacOS
    builds) (maron2000)
  • Fix day of week detection (INT 21h function 0x2Ah). (maron2000)
  • Refine KEYB and CHCP command (maron2000)
  • Use segment descriptor's big flag (if present) when disassembling code in
    the debugger code view (cimarronm)
  • Add decoding of rdmsr/wrmsr instructions to disassembler (cimarronm)
  • Fix disassembly for far jmp/call decoding (cimarronm)
  • Fix memory limits on expand-down segment descriptors (cimarronm)
  • Bump tinyfiledialog to ver 3.13.3 (maron2000)
  • Fix mouse column limit on text mode (issue #4353) (maron2000)
  • Fix Blocek launching failure (issue #4385) (maron2000)
  • Bump in-tree FreeType library to ver 2.13.1 (maron2000)
  • Enable debugger function for MinGW builds (maron2000)
dosbox-x - DOSBox-X 2023.05.01 2023-05-01 10:30

Published by joncampbell123 over 1 year ago

2023.05.01

  • IMGMAKE will choose LBA partition types for 2GB or larger disk
    images, but the user can also use -chs and -lba options to override
    that choice. The CHS or LBA partition types do matter because it
    affects which version of INT 13h is used by Windows 98/ME to boot up
    and, if drive C: is in compatibility mode, at all times. (joncampbell123)
  • PC-98 256-color mode will also trigger the auto mode of "render on
    demand" for performance reasons because per-scanline raster effects
    are very unlikely in that case, as will MDA and Hercules machine
    types. (joncampbell123)
  • When the DOS IDLE API is enabled (by default), limit STI+HLT to
    occur on INT 28h only once after any call to read the CON device
    or call to BIOS INT 16h to read the keyboard. This fixes stalls
    and sluggish input problems with programs that like to call INT 28h
    often like the Pacific C compiler PPD IDE interface. (joncampbell123).
  • Hercules InColor machine type: Fixed attribute and RAMFONT handling
    of 48K RAMFONT mode and added planar text rendering. (joncampbell123).
  • Write BIOS data area fields for number of rows, char height, etc.
    for MCGA machine type in addition to EGA/VGA machine types because
    IBM technical references suggest it's there for MCGA as well.
    This also resolves an issue where with the MCGA machine type, INT 10h
    failed to print any text to screen whatsoever. (joncampbell123).
  • Render on demand (Staging calls it "lazy rendering") now defaults
    to "auto" and allows an "auto" setting. The auto setting will
    turn it off for standard VGA modes and will turn it on for SVGA
    modes where per scanline raster effects are very unlikely to
    occur. This may provide a performance boost for DOS games in SVGA
    modes and the Windows desktop (joncampbell123).
  • CGA 320x200 4-color mode is now rendered using the M_EGA render
    code for EGA/VGA machine types to better reflect real hardware.
    (joncampbell123).
  • Fix bug where setting doublescan=false for anything other than
    the VGA machine type would break CGA graphics modes.
    (joncampbell123).
  • Fix video debug overlay calculations of source video mode for
    CGA graphics modes. (joncampbell123).
  • CGA 640x200 2-color mode and MCGA 640x480 2-color mode are no
    longer rendered as M_CGA2 for EGA/VGA machine types. The reason
    is that at the hardware level they are really just IBM standard
    tweaked versions of the EGA/VGA 16-color modes with additional
    bits for the interleave emulation and can be properly emulated
    with the M_EGA renderer. M_CGA2 is still used for the CGA and
    MCGA machine types for those modes. The DCGA DOS/V mode has been
    carefully made into it's own render mode instead of part of the
    M_CGA2 case. (joncampbell123).
  • Fixed refcount -1 error and abort when multiple floppies are
    attached to a floppy drive and the "Swap floppy" mapper shortcut
    is used at least once (joncampbell123).
  • Hercules palette selection now provides a "dark gray" color
    mapping to match the green, amber, or gray palette selection of
    the user (joncampbell123)
  • Fix Hercules vs MDA attribute handling of "dark gray" background
    color when hardware blink is disabled. (joncampbell123)
  • Added RAMFONT emulation to Hercules Plus machine type, fixed code
    to allow Hercules Plus text mode to draw farther than the first 4KB
    of RAM if RAMFONT enabled. (joncampbell123)
  • DOS kernel: Fix programming mistake that allocated perhaps a bit
    too much DOS kernel memory for the "List of Lists" info block.
    Fix the sizes of the info block and other structures to make sure
    specific kernel structures are placed at fixed addresses because
    later Microsoft software for MS-DOS checks those values.
    (joncampbell123)
  • Serial port: Add multiplier: setting as requested to enable
    faster than 115200 baud rates. (joncampbell123)
  • Fix mistakes in CPUID emulation that threw a #UD exception for
    specific cases where EAX was not recognized by particular CPU
    types. (joncampbell123)
  • Fix RTC clock emulation to correctly signal IRQ8 interrupt for
    both periodic tick and update-ended events. Prior to this fix,
    only periodic tick events were reported even if the bit was set
    to enable update-ended. (joncampbell123)
  • Fix serial and AUX PS/2 mouse emulation to not send relative
    motion unless mouse captured, to make it consistent with the
    BIOS PS/2 mouse emulation (joncampbell123)
  • FAT driver: Major performance boost is possible by eliminating
    unnecessary code that re-reads the entire directory when looking
    up or changing one particular directory entry. (joncampbell123).
  • CMOS registers: Fix code to allow getting and setting time,
    fix year vs century registers to work properly. (joncampbell123).
  • BIOS INT 1Ah: Fix functions to get and set time and date
    instead of faking on read and ignoring set. Use the CMOS
    registers. (joncampbell123).
  • DOS INT 21h: Fix date and time functions to call the BIOS for
    time instead of trying to fake it only at the DOS level. This
    includes allowing INT 21h to change the date/time using the
    BIOS. (joncampbell123).
  • DOS shell: Make TIME actually use INT 21h to set time instead of
    directly modifying the BIOS timer tick count in the BDA.
    (joncampbell123).
  • Increased PIC event queue size, there are corner cases especially
    with Windows XP that can occasionally overrun the queue.
    (joncampbell123).
  • Updated IBM PC keyboard emulation to correctly encode Pause and
    Print Screen key scan codes when shift, alt, and ctrl are held
    down. This makes it possible to type "Alt+SysRq" for programs
    that expect it, including SoftICE. (joncampbell123).
  • NE2000 emulation: Looking at recent Bochs source code, ne2k.cc
    appears to have downgraded the "IMR write, reserved bit set"
    message from BX_PANIC to BX_ERROR. Update the same in DOSBox-X
    so that Windows 2000 no longer crashes the emulator with E_Exit()
    when probing the NE2000 hardware. (joncampbell123).
  • INT 33h mouse services: Add "Get General Driver Information"
    function for Microsoft Word 5.5 (joncampbell123).
  • INT 33h mouse services: Render cursorType == 2 (graphics cursor)
    as if text cursorType == 0 if the current mode is text mode.
    Microsoft Word 5.5 always calls functions to set text AND graphics
    cursor regardless of whether the actual mode is graphics or not.
    This fix allows the cursor to show correctly as the block cursor
    it wanted in text mode instead of a moving hardware blinking cursor.
    (joncampbell123).
  • Fixed S3 XGA emulation bitmap rendering to correctly handle
    8/16/32-bit pixel transfer I/O and update comments to reflect
    the 32-bit byte aligned transfer mode of the Trio chipset.
    This fixes incorrectly drawn radio buttons and 16x16 icons
    in Windows NT 3.5, Windows NT 3.51, Windows NT 4.0, and
    Windows 2000. (joncampbell123).
  • Fixed keyboard emulation so that upon the keyboard reset command
    FFh, the keyboard does the reset process and THEN sends back
    bytes 0xAA (power on/reset OK) and 0x00 (interface self-test).
    This resolves the issue where Windows NT 3.1 pauses at startup and
    does not resume booting until you press a key on the keyboard.
    This also resolves the issue where Windows NT 3.5 keyboard and
    mouse input stops working completely if you press a key on the
    keyboard. (joncampbell123).
  • Add Hercules InColor emulation of MDA vs CGA attribute select,
    and make sure it obeys the blink setting (joncampbell123)
  • Change Hercules/MDA text output to render 9 pixels per char
    if the char9 setting is on, to match the 9x14 character cell
    that those cards emit to the screen. The user can always turn
    it back off to get the 8x14 text they're probably accustomed
    to in other DOSBox forks. (joncampbell123)
  • Render output fixed to never double pixels vertically on render
    if the machine type is emulating VGA and the Doublescan option
    is enabled, in order to help resolve SVGA text mode issues
    reported by ThomasKjoernes (joncampbell123)
  • Add InColor CRTC registers and add code to emulate the planar
    bitplane operations. Microsoft Flight Simulator 3.0 renders
    correctly now. (joncampbell123)
  • Update Hercules InColor code to render the same 64-color EGA
    palette as machine=ega. (joncampbell123)
  • Correct machine=hercules text rendering flaw that prevented
    the bright attribute (bit 3/7) from working, making all text
    output the same normal brightness. (joncampbell123)
  • Add expected data structures and signatures to VGA ROM BIOS at
    C000:0000 if machine type selects ATI emulation (joncampbell123).
  • Add ATI machine types, which at this time, is just a placeholder
    for development to go in that direction over time for those
    machine types. (joncampbell123)
  • Added "machine=hercules_plus" and "machine=hercules_incolor" as
    stubs to be developed on going forward to emulate the HGC+ and
    InColor cards. Note that InColor will require the MCH_HERC case
    to generate 64-color EGA-like output going forward even if the
    documented stratup state still emulates the MDA-like monochrome
    attributes. (joncampbell123)
  • SDL2: Stop checking for compiler flags that make it an error to
    declare variables after statements in a function or any other
    terrible sins that would offend old C89 standard compilers.
    DOSBox-X is never going to compile for a C standard that old.
    Furthermore this check is preventing compilation on ARM-based
    Macbooks for some reason, though not Intel based Macbooks.
dosbox-x - DOSBox-X 2023.03.31 2023-03-31 23:59

Published by joncampbell123 over 1 year ago

2023.03.31

  • "mount -t overlay" will now print a message on the console to
    let you know if the act of mounting the overlay replaced a
    previous overlay mount. Overlay mounts cannot be stacked in
    DOSBox-X (and probably most DOSBox forks that support overlays)
    and the user should understand that. (joncampbell123).
  • Remove kludges from DOS path resolution to handle drive paths
    that refer to drive @ (at sign). Note that in ASCII the at sign
    is one code below capital "A". Windows 95 FORMAT.COM due to
    another issue was asking for "@:\WINBOOT.SYS" and sometimes
    causing a segfault in DOS path resolution due to an uninitialized
    drive index. The fix for the other issue removes the need for this
    kludge. In it's place a message will be logged to your log file if
    anything attempts to access files on drive "@:" because it likely
    means a failure to determine the drive index properly. (joncampbell123).
  • In addition to reporting the "boot drive" via INT 21h AX=3305h, also
    write boot drive in the "List of Lists" structure. Windows 95
    FORMAT.COM reads the boot drive from the LoL and does not do any
    error checking if that value is out of range (such as if it was
    never set and the byte value is zero). Failure to set this field
    will result in FORMAT.COM attempting to access "@:\WINBOOT.SYS"
    and "@:\IO.SYS" and failing. (joncampbell123).
  • Add dosbox.conf option to set a fixed RTDSC tick rate to use at
    all times during emulation instead of the CPU cycle count
    (joncampbell123).
  • Fix RDTSC to maintain a monotonic increasing count even if the
    CPU cycles count changes, and better handle timestamp writes
    through WRMSR (joncampbell123).
  • FAT filesystem driver: Instead of searching from cluster 0 every
    time a new cluster is to be allocated, keep track of the search
    to help reduce slowdowns on fairly large filesystems when many
    files are copied onto it (joncampbell123)
  • Page Up/Down vs Roll Down/Up was in the wrong order, switch order
    to correct it. (joncampbell123)
  • Fix 'pc98 force ibm keyboard layout' was always forced to be 'true'
    for left & right bracket keys on US keyboards. (maron2000)
  • Fix dynamic_nodhfpu FPU stack bugs, the same bugs that once plagued
    dynrec. dynamic_x86 never seemed to have the same problem because
    in reality the DH FPU case was normally used, to hit this bug you
    had to use core=dynamic_nodhfpu. Also fix dynamic x86 DH FPU code
    never to restore from DH case if the DH FPU code was never enabled,
    which periodically caused FPU state to dissapear. (joncampbell123).
  • Add dosbox.conf option to control the MSCDEX.EXE device name when
    emulating a CD-ROM drive (joncampbell123).
  • Wengier coded this nice text-only DOSBox-X logo for the TTF output.
    Fix border alignment issues and make the text logo the default and
    only option for MDA and Hercules machine types at boot.
    (joncampbell123).
  • Add -print-ticks command line option, which enables code to print
    both SDL_GetTicks() and emulator time once a second to the console
    and the log file. This may help in tracking down bugs related to
    long term laptop suspend or suspension of the process in general.
    (joncampbell123).
  • PC-98: Ignore INT 18h AH=0Ch (enable text layer) in 256-color mode.
    Real hardware doesn't seem to let you turn on the text layer in
    256-color mode, though I am not certain if this is a restriction
    imposed by the BIOS or by the hardware. This fixes possible cases
    where Sim City 2000 in 256-color mode reveals garbage text data at
    the bottom of the screen if it is there when it starts. This doesn't
    fix the issue where Sim City 2000 cannot set 640x480 256-color mode
    properly unless your display is already set to 31Khz hsync because that
    is evidently a bug in the game, not DOSBox-X. (joncampbell123).
  • PC-98 256-color mode: Fix "Active Display Words" value set by INT 18h
    to 40, not 80, for graphics layer. This has no apparent effect on
    games but it does fix the sometimes erroneous graphics layer width
    in the video debug display. Neko Project II source code seems to
    indicate the 31KHz hsync mode is programmed that way even if 256-color
    mode. This should not break anything since the GDC doesn't let you
    read back the "SYNC" reset parameters anyway--this isn't VGA hardware,
    after all. (joncampbell123).
  • IPX emulation was broken because it set up the virtual file, IRQ
    and interrupt handler way too early, which the BIOS startup would
    then overwrite with the default BIOS IRQ handler. IPX emulation
    should work now, at least multiplayer DOOM. (joncampbell123)
  • Added debug menu and dosbox.conf option to show debug information
    at the bottom of the screen when enabled. This debug information
    reflects the video state at the start of active display. It can be
    used to see in real time the state of the palette, display offset,
    display stride, and other useful information. It is rendered into
    the frame on purpose so that it appears as part of the picture
    when you take a screenshot or record a video to AVI or MTS for
    later review. (joncampbell123)
  • Dynamic core: Fix serious bug in dynrec dynamic core where calls
    to handle x86 FPU instructions erronously passed the entire
    FPU status word instead of passing only the FPU stack pointer.
    The result of this error was that floating point was erratic,
    buggy, and often caused memory corruption in DOSBox-X eventually
    leading to a crash. It should now be possible to properly run
    DOS games on dynrec based systems, including ARM-based M1 Macbooks,
    that use the FPU. (joncampbell123)
  • Debugger: When entering debugger interface, force dynamic core
    to flush it's state so that the debugger can show the correct
    state to the user when they use the "FPU" command to see it.
    (joncampbell123).
  • VGA emulation: Automatically ignore odd/even mode if "Chain 4"
    mode is enabled in the sequencer (normally enabled only for
    256-color mode). Some games accidentally set odd/even mode
    in 256-color mode and yet apparently worked just fine on real
    hardware. Without this change, such games will display distorted
    graphics. It makes logical sense "Chain 4" would take priority
    over odd/even mode. Note: If a game uses 256-color unchained mode
    AND foolishly enables odd/even mode, then the resulting distorted
    graphics are probably accurate to what would happen on real
    hardware, but then programmers would have caught their mistake
    and fixed it so that is very unlikely to occur. This helps to fix
    "Seal: Magic Eye" although some remaining visual artifacts in the
    game can only be resolved by setting machine=svga_et4000
    (joncampbell123).
  • Set usescancodes=true when non-US keyboards are detected
    (Windows builds) (maron2000)
  • For long double without using x86 FPU, the code still calls the
    fstcw instruction and can enable FPU exceptions that crash the
    emulator, therefore mask off all exception bits to stop that.
    (joncampbell123)
  • Added code to mouse emulation to control how often the mouse
    reports events through the interrupt. Added dosbox.conf option
    to allow the user to force a report rate, which can be used to
    force a lower than normal report rate for games that cannot
    proprly handle higher ones. Allow PS/2 mouse emulation, if
    rate not set by user, to control report rate. (joncampbell123).
  • Add code to COMMAND.COM to flush keyboard input before running
    the command given by the user, and flush again when the command
    returns. Added option to dosbox.conf to enable/disable this
    function (joncampbell123)
  • Fix bug where Tandy mode ignored the "allow more than 640kb"
    setting.
  • Fix INT13h AH=02 broken conditional branch which prevents
    installer of game "Inherit the Earth: Quest for the Orb"
    to obtain free space of hard drive (maron2000)
  • qcow2 image support: Make image able to be mounted by
    drive letters (experimental) (maron2000)
  • VHD image support: Make file name check for .vhd extension
    to be case insensitive (maron2000)
  • VHD image support: Fix auto-detection of geometry (maron2000)
  • Sound Blaster: Added code to periodically check the user's
    settings regarding recording source selection and listening.
    This should allow the user to change those settings on the
    fly. (joncampbell123).
  • Sound Blaster: Added options to control whether the generated
    recording source is audible through the speakers, and what
    generated audio to send to the client. Options are: silence,
    hiss, and a 1KHz test tone. (joncampbell123).
  • Sound Blaster: If the DSP is recording rather than playing,
    then send audio to the guest at the recording sample rate
    containing some form of generated audio. Default is silence.
    This ALSO satisfies the Creative driver CTSB16.SYS when it
    does the DMA test at startup. (joncampbell123).
  • Sound Blaster: Fixed code to properly recognize when the
    guest wants to record audio, including through SB16
    commands. Prior to this fix, all SB16 Bxh-Cxh commands
    were handled as if playback even if the command would
    instead trigger recording. (joncampbell123).
  • Sound Blaster: Add missing update of "last DMA callback"
    timestamp that is needed for when the guest pauses DMA
    during playback or recording. (joncampbell123).
  • VHD image support: If the VHD image is not a fixed type,
    say so in the log (previously it said nothing) and say
    what kind of image was mounted (joncampbell123).
  • Added INT 13h AH=44h Extended Verify to satisfy any disk
    utilities that might use it. The function doesn't really
    do anything except return success (joncampbell123).
  • Fix CPU stack management to use CPU mode agnostic method
    using mem_readw instead of real_readw. However the real
    mode version is used if real or virtual 8086 mode because
    of comments in an older commit that mention UNLZEXE that
    depends on real mode stack pointer rollover. This fixes
    a bug related to protected mode APM (Advanced Power
    Management) emulation that prevented the Linux kernel
    from booting (joncampbell123).
  • Add support for INT 2F function 1680h "Idle" and DOS
    idle (INT 28h), add code to reduce DOSBox-X CPU load
    during emulation when the idle function is called,
    add dosbox.conf enable/disable (default enable) to
    control this behavior (Github user "finalpatch")
  • Graphical fixes and dialog support for Haiku OS (amol-)
  • Allow jp106 keyboard layout in DOS/V mode, automatically
    choose when keyboard layout is auto on Windows with
    Japanese keyboard, fix jp106 input in SDL1 builds running
    on Japanese Windows with English keyboard (nanshiki)
  • Sync dh fpu state with normal fpu when dynamic core
    calls normal core to handle self modifying code. Add
    additional code to other cases. (Github user "finalpatch")
  • Fix incorrect handling of upper 4 bits of character attributes
    in video mode 72h in DOS/V mode (nanshiki)
  • Fix BIOS signature at 0xFFFFF to reflect actual value
    of Tandy machines so "Ninja" works correctly in
    Tandy mode (rderooy)
    See also: [https://www.vogons.org/viewtopic.php?f=32&t=92129]
  • Change default mixer rate to 48KHz instead of the
    long standard 44.1KHz. Most modern sound cards on
    modern OSes render at 48KHz anyway and resample
    either in hardware or software and most configurations
    render at 48KHz. Perhaps somewhat improved audio quality
    could be had by rendering at what most sound cards are
    doing these days anyway. As usual, audiophiles are free
    to set the mixer rate to 96KHz if supported by their
    sound card. (joncampbell123)
  • Fix PIT 0 timer interrupt handling not to attempt
    periodic event and error adjustment unless the game
    is using periodic modes 2 or 3. This fixes PIT timing
    bug and possible emulator hang when exiting games
    like "Days of Thunder" that leave PIT 0 in mode 0 or
    1 on exit for some reason. (joncampbell123)
  • Fix Sound Blaster DMA rate limits to better reflect
    actual hardware. SB16 limits to 45454Hz just as
    Pro and earlier do. These limits were added before
    the proper measurements were coded and tested on
    real hardware. (joncampbell123)
  • Fix S3 cursor emulation to support both X11 and
    Windows hardware mouse cursor modes available
    on S3 Virge, Trio, and possibly other cards
    (John Tsiombikas)
  • Add EGA/VGA emulation code to keep track at runtime
    whether planar features are in use. If they are not,
    then handle EGA/VGA video memory access using a
    simplified version for a bit of a performance boost
    in response to complaints about poor VGA emulation
    performance. (joncampbell123)
  • VGA palette DAC update: Instead of recalculating
    the palette map every time a color is written through
    port 3C9h, set a flag. Defer palette map update to
    when the next scan line is rendered, in order to
    improve performance. (joncampbell123)
  • Add option to enable or disable the "memory I/O
    optimization" option, meaning the code that was
    added to assign simplified VGA memory I/O handling
    when the DOS game is not using any bit planar raster
    op and more complicated features of the EGA/VGA
    hardware. (joncampbell123)
  • Added VGA render on demand mode to VGA emulation.
    When enabled, VGA emulation does not render scanlines
    until vertical retrace or when certain registers are
    written that change the display (attribute controller,
    VGA palette, etc.). It is added to dosbox.conf as
    "scanline render on demand" and is false by default
    because it can provide a performance boost for DOS games
    but it also tends to break timing-dependent Demoscene
    effects. The idea is that some emulator performance
    improvement may be possible by not interrupting the
    CPU loop per scanline for the same reason that DOSBox
    SVN has traditionally only rendered the VGA display
    in quarters instead of per scanline. (joncampbell123).
  • Remove experimental "alt VGA" rendering code. It was
    never completed and it is probably starting to
    bitrot (joncampbell123).
  • Fix EGA/VGA version of CGA 4-color graphics renderer
    code to consider all four bitplanes when combining
    each pair into a 2-bit value. When bitplanes 2+3 are
    enabled and writeable, the 4-color mode becomes a
    sort of 2-plane 2 bits per pixel 16-color mode. Fix
    for machine=ega and "Leather Goddess of Phobos 2",
    a game that sets up EGA 640x200 16-color mode then
    suddenly switches on the 2bpp CGA mode as a way to
    do 16-color dithered graphics. (joncampbell123).
  • Fix installers for Dynamix games not working.
    (Allofich & halcyon00)
  • Fix crash related to swapping between disk
    images. (Allofich)
  • SVN r4482: Correct CMS sound pitch. (Allofich)
dosbox-x - DOSBox-X 2022.12.26 2022-12-26 19:55

Published by joncampbell123 almost 2 years ago

2022.12.26

  • Allow more than 640KB of conventional memory,
    regardless of "allow more than 640kb" option, for
    Tandy machine type. The setting is capped to 768KB
    to reflect Tandy systems with that upgrade, which
    is said to allow a full 640KB for DOS and 128KB for
    video RAM without any conflict from the MCB chain.
    Adjust Tandy video emulation for 768KB case. This
    fixes "Might and Magic III Isles of Terra" crashes
    in Tandy mode and Tandy graphics because the game
    does not correctly handle the memory configuration
    when less RAM is involved. (joncampbell123).
  • Fix code page CPI/CPX loader to allocate 128KB of
    memory instead of 84KB. The code allocates a 64KB
    stack for the executable code within. The 84KB
    allocation permitted the initial stack pointer to
    exist beyond available conventional memory if
    conventional memory size was below about 156KB and
    cause a crash. This is a quick fix, a long term fix
    would be to instead set the initial stack pointer
    to some offset below 0xFFFE based on available memory,
    just as the .COM executable loader was modified to do
    some time back to enable proper execution when
    memsize < 64KB. (joncampbell123)
  • Do not load country/font information at startup
    if the code page to load is the same as the default
    code page. (joncampbell123)
  • Fix Tab/Shift+Tab in Configuration GUI regarding
    setting text fields that have a ... button to select
    from an enumeration. Those buttons are no longer a
    trap for tab enumeration. (joncampbell123)
  • Fix Mac OS SDL1 keyboard support code to properly
    fill in unicode character values in relation to
    IME checks. This fixes a problem where it was
    impossible to type anything in the configuration GUI
    in SDL1 Mac OS builds. (joncampbell123)
  • Mark VBE mode 0x212 as "do not list" so that it does
    not appear in normal VBE mode enumeration, while
    keeping it valid for the Windows 3.1 driver which
    assumes the mode is there at that number without
    enumeration. By not listing the mode, drivers like
    VBEMP and DOS application code will not attempt to
    use it. There is already another mode number for
    640x480 24bpp anyway. (joncampbell123)
  • Fix VBE mode 0x212, which is 640x480 24bpp packed
    mode but with a per scanline stride of 2048 bytes
    per pixel set aside for the Windows 3.1 driver and
    the "640x480 (1Meg) 16 million colors" setting,
    so that the VBE "Get Mode Info" call reflects the
    proper per-scanline stride instead of the ideal one.
    This should fix complaints about VBEMP and 640x480
    24-bit color mode. Given how minimal the use of the
    mode is by the Windows 3.1 driver, the 2048 byte
    mode does not permit setting scan line length or
    display start i.e. panning is not permitted.
    (joncampbell123).
  • Fix Pentium Pro emulation to support microcode
    related MSRs so that Windows 98 does not crash
    on startup when cputype=ppro_slow. (joncampbell123).
  • Added SMV debugger command. This is the linear
    (virtual) equivalent of the SM "Set Memory"
    command. (joncampbell123).
    (https://github.com/joncampbell123/dosbox-x/issues/3826)
  • Fix debugger help command to list both C / D commands
    and the DV/DP commands. (joncampbell123)
  • Add VGA FONTDUMP debugger command for those
    who might want to take custom fonts in text
    mode and do something with them outside the
    emulator. "VGA FONTDUMP" followed by a filename
    which must have the extension .BIN (for a raw
    64KB dump of font RAM) or .BMP (for a formatted
    dump as a monochrome bitmap file). (joncampbell123).
  • Disabled code to randomly return GDC drawing
    status active. The implementation was causing
    severe performance issues. The code has not
    been removed because it could be optimized and
    fixed and could even follow the state of GDC
    drawing. (joncampbell123)
  • VGA 6-bit DAC mode expand to full 8-bit range,
    instead of simple shifting (joncampbell123).
  • Fix 8254 PIT emulation (joncampbell123)
  • Add dosbox.conf option "cpuid string" to allow
    CPUID to return custom ID strings instead of just
    "GenuineIntel". Have fun! (joncampbell123)
  • Fixed build to properly compile against internal
    SDL/SDL2 library even if an external version is
    available (joncampbell123)
  • Fixed some violations of the one definition rule.
    (Jookia)
  • Use pkg-config to find OpenGL (Jookia)
  • Updated Flatpak SDK and dependencies (Jookia)
  • PC-98 Implement AVSDRV.SYS PCM function (int D9h)
    (nanshiki)
  • PC-98 Support 6x8 Katakana font with int 18h ah=14h
    (nanshiki)
  • PC-98 Fix Audio Q-Channel info in MSCDEX (nanshiki)
  • Fixed FFMPEG 5 compatibility (Jookia)
  • Fix FFMPEG crash if FFMPEG fails to write header
    for some reason. (joncampbell123)
  • Fix setcap on systems with split /usr (Jookia)
  • Fix building with --disable-core-inline (Jookia)
  • Fix building not finding fluidsynth (Jookia)
  • Fix some NetBSD build issues
    (Jookia, with patch from Nia)
  • Fix minor graphical issues in mapper GUI (aybe)
  • Removed --disable-core-inline (Jookia)
  • Swap SDL2 XInput axes by default for a better
    out of the box experience (aybe)
  • SDL1 XInput is now enabled by default for
    a better out of the box experience (aybe)
  • add set of cga shaders from dosbox staging (aybe)
  • Updated mt32emu code to latest(2.7.0).(maron2000)
    Also, added config option "mt32.engage.channel1"
    (Refer to https://github.com/munt/munt for details)
  • Fix missing line in printouts (Issue #3569)
    (maron2000)
  • Adjust Int 11 return value to better match real
    BIOSes. (Allofich)
  • Limit the "always return bit 6 of port 61h as set
    for PC" change to only apply to early PC types
    (MDA, CGA or Hercules). (Allofich)
  • Integrated SVN commits (Allofich)
    • r4476: Preserve last error code when no error
      occurs.
    • r4477, r4478: Drive system improvements.
    • r4479: Correct handling of invalid encodings of
      the BOUND instruction.
    • r4480: Some confirmed DOS behaviors and minor
      cleanup.
    • r4481: Push registers for most DOS function calls;
      prevents a bug in UNLZEXE from causing a crash, and
      maybe helps other buggy programs and unusual cases.
      Use real addressing to support stack pointer wraparound.
  • Fix Opl3! Duo and Opl2 Audio board audio playback on
    unix (stengun)
  • Fix Japanese input related issues (nanshiki)
  • Fix START command only ever opens first file
    (NebularNerd, darac-10, aybe)
  • Win32 logging console (aybe)
    • add 'Debug/Clear logging console' menu entry
    • ensure main window stays above it when shown
  • Fix overflow in mapper info on SDL2 builds (aybe)
  • Enable OpenGL output in MinGW builds again (maron2000)
  • Fixed to display IME marked text in SDL2 version on
    macOS (nanshiki)
  • Fix allocation of IDE slots when mounting images by
    IMGMOUNT (maron2000)
  • Increase of sprintf buffer size in Program::WriteOut()
    (caiiiycuk)
  • Fix unexpected behavior of swapping multiple CD images
    (maron2000)
  • Fixed build on NetBSD and FreeBSD (Jookia)
dosbox-x - DOSBox-X 2022.09.0 (0.84.3) 2022-09-01 16:22

Published by joncampbell123 about 2 years ago

Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.

2022.09.0 (0.84.3)

  • Added 86PCM support for PC-98 emulation. (nanshiki)
  • Added German language translation. (Link-Mario)
  • Added code page 867 (compatible with Hebrew DOS
    WordPerfect) and 868 (Urdu) for the guest-to-host
    code page conversions. (Wengier)
  • Improved ANSI.SYS detection for the welcome banner
    and CLS command. The command "INTRO WELCOME" will
    re-display the welcome banner without running the
    commands in AUTOEXEC.BAT. (Wengier)
  • Improved IME support on macOS SDL2 build. (Wengier)
  • Improved detection for the Chinese/Japanese/Korean
    keyboard layouts on Windows platform. (Wengier)
  • Improved Windows installer for selecting languages
    for the DOS emulator. (Wengier)
  • Improved config option "file access tries" for the
    Linux and macOS platforms. (Wengier)
  • Fixed SafeDisc 2 check for Red Alert 2 by renaming
    the IDE CD-ROM device. (rderooy & psyraven)
  • Fixed problem when inputting characters with call
    INT21/AH=3Fh in PC-98 mode. (nanshiki)
  • Fixed hang on zip-mounted drives and minor bug on
    the DOS file-read code. (tbr)
  • Fixed file copying problem with Windows 9x install
    at the end of the DOS-based Setup. (Wengier)
  • Fixed command like "IF NOT EXIST D:\NUL ..." not
    working if the drive does not exist. (Wengier)
  • Fixed that pasting text from clipboard via mouse
    may not work properly in some cases. (Wengier)
  • Fixed the mouse scrolling wheel not working with
    CTMOUSE 2.1's "CTMOUSE /O" in guest DOS. (Wengier)
  • Fixed window transparency setting not working in
    macOS SDL1 build. (Wengier)
  • Fixed macOS small display issue with the in-tree
    SDL2 library by applying SDL updates. (Wengier)
  • Fixed menu option "Always on top" to work with the
    in-tree SDL2 library on macOS. (Wengier)
  • Fixed the terminal mess-up issue with -display2
    option on Linux and macOS platforms. (Wengier)
  • Fixed OpenGL output options not working in Windows
    ARM32/ARM64 builds. (Wengier)
dosbox-x - DOSBox-X 2022.08.0 (0.84.2) 2022-08-01 13:28

Published by joncampbell123 about 2 years ago

Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.

For usage information please look at the DOSBox-X user guide, which is available from the DOSBox-X Wiki.

2022.08.0 (0.84.2)

  • Fill in PC-98 BIOS data area byte value indicating
    CPU type (whether 8086, 286, 386 or higher)
    (Wengier), fill it in at startup (joncampbell123).
  • CHOICE now supports breaking and errors on end of
    file or pipe instead of freezing DOSBox-X. (Jookia)
  • Fixed debugger commands parsing numbers wrong. (Jookia)
  • Fixed DIR crashing on volumes with more than
    999,999,999,999 bytes of free space. (Jookia)
  • Switched to year.month.patch versioning (Jookia)
  • Fix NE2000 panicking if packets are queued too fast.
    (kcgen, Jookia)
  • Fix ISO image format detection to support pure
    UDF formatted images, meaning that the image
    lacks any ISO 9660 features and contains only
    UDF. (joncampbell123).
  • Added support for UDF filesystem to ISO image
    handling. It is enabled by default if emulating
    MS-DOS 7.10 (aka Windows 98) or higher.
    (joncampbell123).
  • Added code to detect Rock Ridge according to the
    System Use Sharing Protocol standard, and to
    read the SUSP entries correctly for the alternate
    name, if enabled. (joncampbell123)
  • Updated ISO MSCDEX drive emulation to scan the
    available volumes in the ISO image rather than
    assume the first volume, which makes Joilet
    support possible if long filenames are enabled
    and the DOS version is 7.0 or higher. (joncampbell123).
  • Add IMGMOUNT -o option for ISO filesystem support
    to enable/disable Joliet extensions, which is a
    Microsoft extension to ISO 9660 where long names
    encoded using Unicode UCS-16 exist as a supplementary
    volume in the ISO image and are used by Windows 95
    and higher to support long filenames on CD-ROM.
    Added support for reading the Joliet volume and
    providing them for both the 8.3 and long filename
    APIs in DOS. (joncampbell123).
  • Add IMGMOUNT -o option for ISO filesystem support
    to enable/disable Rock Ridge long filename support.
    The option is -o rr=1 to enable and -o rr=0 to
    disable. (joncampbell123).
  • Fixed 8.3 name generations on ISO drives with Rock
    Ridge extension. The ISO drives can be refreshed
    via RESCAN command like other drives. (Wengier)
  • SDL_Net support is available for HX-DOS builds,
    similar to other builds. Packet driver is needed
    for network capability in DOS. (Wengier)
  • Fixed line endings when copying to shared clipboard
    (e.g. CLIP$) in non-Windows platforms. (Wengier)
  • Fixed problems with SDL1 Windows builds in which
    the user had to type the Fullscreen mapper shortcut
    twice. It seems a SDL1 library function that is
    used to indicate ignoring or adding a class of
    events also liked to flush the event queue. This
    is called on mode change. This caused lost
    keystrokes, leaving the mapper the impression that
    those keys were still held down. (joncampbell123).
  • Fixed PC-98 mode MS-DOS 7/Windows 9x boot disk's
    80386 CPU check. (Wengier)
  • Added support for auto-converting non-image drives
    (such as mounted local drives) to disk images, so
    that they will be visible when booting into guest
    systems. A config option "convertdrivefat" (in
    [dosbox] section) is added to toggle this setting,
    or you can toggle via BOOT command's -convertfat
    (or -convertfatro option for read-only access) and
    -noconvertfat options. There're also config options
    "convert fat free space" (in [dosbox] section) and
    "drive z convert fat" (in [dos] section) to control
    free space (in MB; 0 means read-only) and whether
    to also convert virtual drive Z:. Much of the code
    is imported from DOSBox Pure, with added support
    for PC-98 HDI and code page conversions. (Wengier)
  • Added menu option "Save to disk image" (under drive
    letter in "Drive" menu) to save a mounted non-FAT
    drive to selected disk image (IMG/HDI). (Wengier)
  • Added the "Limit disk transfer speed" menu group
    (under "DOS") to toggle the hard & floppy disk data
    rate function. Also moved "Quick launch program..."
    menu from "DOS" menu to "Main" menu. (Wengier)
  • Added code pages 856 (Hebrew) and 859 (Latin 9) for
    the guest-to-host code page conversions. (Wengier)
  • Added config option to allow create of temporary
    devices for piping operations when a temporary DOS
    path is not available. (Wengier)
  • Added support for ATAPI raw sector reading with
    READ CD command. (schellingb)
  • Report bad sectors recorded in raw CD images as
    ATAPI read errors. (schellingb)
  • You can use CONFIG -set langcp=... to change the
    current language along with the embedded code page,
    or CHCP nnn:... to specify a language file as well,
    e.g. "CHCP 932:" or "CHCP 932:ja_JP" for Japanese
    code page and language file. Also improved -langcp
    option for SBCS code pages, and Windows installer
    will additionally set keyboard layouts for the
    selected languages. (Wengier)
  • Changed menu option "Restart DOSBox-X with language
    file..." to "Load language file..." for loading
    language files without rebooting DOSBox-X, unless
    a guest system is currently running. (Wengier)
  • Imported the more recent MBR code from FreeDOS to
    avoid the "boot menu" as in older code. (Wengier)
  • When changing TTF font, DOSBox-X will try to show
    the number of missing characters in the new TTF
    font (if any). (Wengier)
  • Fixed color becoming darker after changing TTF font
    multiples times in TTF output. (Wengier)
  • Fixed display of individual/total file sizes with
    DIR command when they are very large. (Wengier)
  • Fixed non-US code page conversions for mounted FAT
    drives. (Wengier)
  • Fixed incorrect message displays in Configuration
    Tool and Mapper Editor when booting into guest
    systems with language files. (Wengier)
  • Fixed possible "Path not found" bug when switching
    to code page 950 from another code page. (Wengier)
  • Fixed creating directories may not work properly
    for overlay drives on Windows systems. (Wengier)
  • Fixed -set and -get options of CONFIG command when
    there are spaces in property names, without having
    to prepend the section names. For example, command
    CONFIG -get "synchronize time" is supported just
    as CONFIG -get "dosbox synchronize time". Similar
    for -SET option when launching DOSBox-X. (Wengier)
dosbox-x - DOSBox-X 0.84.1 2022-07-01 09:45

Published by joncampbell123 over 2 years ago

Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.

For usage information please look at the DOSBox-X user guide, which is available from the DOSBox-X Wiki.

0.84.1

  • Added dosbox(-x).conf option to enable workaround
    for errant DOS programs that set the TF (trap flag)
    and then crash. Added code to DOS kernel INT 01h
    handler to clear TF flag if instructed to by the
    dosbox(-x).conf setting which can prevent such
    errant programs from crashing. Needed for 1996 demo
    "Dyslexia" by Threesome. (joncampbell123)
  • Fix RETF instruction handling to only modify the
    low 16 bits of ESP in real mode, even if the
    immediate value for RETF is a large value like
    FFFEh (fix for Finster by Mad Scientists). Prior
    to this fix, it was possible to increment the
    upper 32 bits of ESP from real mode using a
    normal 16-bit RETF with a very large immediate
    value. This fix removes the need for the ENTER
    masking dosbox(-x).conf option entirely and allows
    Finster to run without it. (joncampbell123).
  • Added dosbox(-x).conf option to control whether the
    ENTER instruction masks the stack pointer to 64KB
    if the stack segment is 16-bit, which is off by
    default because real Intel processors do not do
    that. (joncampbell123).
  • Added dosbox(-x).conf option that can instruct EGA/
    VGA emulation to ignore the display blanking bit in
    the sequencer registers. Some games appear to have
    bugs in their VGA programming code that can
    accidentally set that bit and therefore show
    nothing on screen. Fix for 1996 game "Finster" by
    Mad Scientists. The game appears to make this
    programming mistake on any fork of DOSBox
    including DOSBox-X, and is reported to also make
    the same mistake on other emulators like 86box.
    However most forks of DOSBox have a matching bug
    in their VGA emulation that allows the blanked
    display to appear normally regardless of that
    register bit unless run with machine=vgaonly.
    It's unclear if there is anything about DOSBox
    or DOSBox-X emulation that causes the game to
    misprogram the registers. (joncampbell123).
  • If guest uses ENTER instruction from 16-bit code
    with 66h (32-bit operand) prefix, and the CPU is
    in real mode or the stack segment is 16-bit, mask
    stack pointer with 0xFFFF. This fixes 1996 game
    "Finster" by Mad Scientists (joncampbell123).
  • DOSBox-X will now search for resource files such as
    fonts and translations in the resource directory (
    C:/DOSBox-X in Windows, /usr/(local/)share/dosbox-x
    in Linux, and dosbox-x.app/Contents/Resources in
    macOS) in addition to other locations. (Wengier)
  • Updated DOSBox-X's integration device to version
    1.0.1, adding API calls such as DOSBox-X's version
    number and platform, and some DOS-related status
    such as DOS version number. (Wengier)
  • Improve the HX-DOS build package, including the
    TTF output support and accessory files. (Wengier)
  • Use long double for internal event scheduling
    if available, to improve accuracy (joncampbell123).
  • Fix remaining SDL2 Windows problems by adding
    missing break statement above window event
    handler. (joncampbell123).
  • Move "Always on top" menu option from "Video" to
    "Main" menu, also enabled for Windows/macOS SDL2
    builds when possible. (Wengier)
  • Add workarounds for SDL2 builds to avoid problems
    with window resize, menu update, and restore
    events that sometimes caused the emulator to hang
    on startup in Windows. (joncampbell123).
  • Add "Set transparency..." and "Set text in title
    bar..." menu options under "Video" to change window
    transparency and title bar text. (Wengier)
  • Add special properties to CONFIG command including
    "system" and "version". (Wengier)
  • Fix DOS 8.3 filename generations when there are
    special characters in the filenames. (Wengier)
  • Fix creation of disk images with spaces using the
    "Create blank disk image..." menu option. (Wengier)
  • Fix IMGMAKE to provide executable code in MS-DOS
    partition or floppy disk boot sector following
    the BPB, that prints "This is not a bootable disk"
    instead of leaving zeros that lead the CPU astray
    and possibly hang the system in the event anything
    tries to boot the partition (joncampbell123).
  • Fix emulator segfault on invalid encoding of
    BOUND instruction (joncampbell123).
  • Address auto-centering on mode change complaints
    by making the "-" setting of windowposition the
    default. (joncampbell123).
  • Added MinGW-lowend SDL2 build, which is compatible
    with Windows XP. Also updated the build selection
    page for Windows installers. (Wengier)
  • Fix windows transparency during TTF output switch
    in Windows SDL2 builds. (Wengier)
  • Fix SDL2 Windows builds to flag a resize as not
    user initiated only if the presence of the menu
    bar changes. This fixes a problem where SDL2
    builds did not acknowledge window resize events
    at all. (joncampbell123).
  • Fix FluidSynth weird sound issue in 32-bit Visual
    Studio SDL2 build. (Wengier)
  • Fluidsynth: Fix uninitialized conditional object
    init in Windows builds (joncampbell123).
  • Linux/X11: Add an X11 error handler function to
    handle the occasional X11 error that can happen
    within the SDL2 library if certain events, like
    window resize, occur too frequently. The custom
    error handler logs the error but does not abort
    the emulator like the default one would.
    (joncampbell123).
  • Fix SDL2 builds with output=surface not to render
    if the window at any point is too small. Resizing
    the window below the minimum supported by the
    DOS screen will not longer trigger segfaults or
    assertion failures. Issue #3348. (joncampbell123).
  • Fix IME not working on Windows when -langcp option
    is used to load a language with DBCS codepage, or
    in 32-bit MinGW lowend SDL1 build. (Wengier)
  • Fixed INT 10h failing to fully clear Tandy video
    memory when entering 16-color graphics modes.
    (joncampbell123).
  • Fixed missing/NULL INT 1Fh interrupt vector with
    CGA/PCjr/Tandy machine types. DOS games that print
    to screen using INT 10h in graphics modes can now
    print extended (>=128) character codes correctly.
    This fixes "BushBuck: A Treasure Hunt" and enables
    it's rather odd Tandy detection routine to work
    with machine=tandy. (joncampbell123).
  • Disney Sound Source: Fix problems between Disney
    sound source and parallel port emulation. Fix the
    code to enable Disney Sound System emulation either
    by disney=true (DOSBox SVN compatible) or
    parallel1=disney (The DOSBox-X way). (joncampbell123).
  • DOS SHELL: Change shell command parsing to make
    unusual combinations of command plus trailing
    command possible such as ECHO. ECHO; ECHO: ECHO[
    ECHO] ECHO\ ECHO/ ECHO" ECHO+ (issue #3503).
    (joncampbell123).
  • DIR command supports more sorting methods including
    "DIR /OGD", "DIR /OGE", and "DIR /OGS". (Wengier)
  • Support for BDF and PCF bitmap fonts for DOS/V
    functions, such as the free WenQuanYi bitmap font
    (bundled for displaying CJK characters). (Wengier)
  • EGA: Add machine type to emulate 200-line (CGA
    compatible) EGA display mode, machine=ega200.
    All text modes have 8x8 character cells, use CGA
    compatible video timing, and the 640x350 modes
    are not available. Fix EGA display offset register
    usage to properly work with alphanumeric text
    mode when "word mode" is turned off. This fixes
    IBM demonstration program "Fantasy Land".
    (joncampbell123).
  • IDE: Remove extra state from IDE controller that
    is managed by the drive. The ATA-1 standard seems
    to say that status and drive/head registers on
    read back always come from the ATA device.
    (joncampbell123).
  • IDE: If ATA device is busy, all IDE registers
    return the status register and BSY bit according
    to ATA-1 standard (joncampbell123).
  • IDE ATAPI CD-ROM: Add ATAPI command BEh READ CD.
    This command is like the 28h/A8h READ command but
    specific to the CD/CD-ROM format and allows reading
    the various sector types including data sectors and
    CD audio. Windows NT 4.0 requires this, or else it
    treats the CD-ROM drive like a non-working device.
    (joncampbell123).
dosbox-x - DOSBox-X 0.84.0 2022-05-31 20:25

Published by joncampbell123 over 2 years ago

Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.

For usage information please look at the DOSBox-X user guide, which is available from the DOSBox-X Wiki.

0.84.0

  • CMOS century register now aliased to register
    32h and 37h to appease Windows 2000, which assumes
    the century is stored there and will complain
    about invalid date/time otherwise (joncampbell123).
  • Treat IDE command E7h (FLUSH CACHE) as a no-op
    so that the common use of it from Windows 2000
    doesn't spam your log file (joncampbell123).
  • BIOS: At post, if DOS kernel was active and the
    DOS Shell was still running, initiate a proper
    system reset event. Some software, including the
    WINNT.EXE install program for Windows NT, like to
    restart the system by JMPing to the BIOS POST
    entry point. Prior to this fix, doing that from a
    DOS program caused instability with mounted images
    and the DOS shell due to recursion. (joncampbell123).
  • Fix FPU implementation for aarch64 cores (cimarronm)
  • Fixed INT 10h and DAC palette mapping to resolve
    incorrect colors with Hercules graphics mode when
    a game calls INT 10h to set video mode after setting
    it up. This resolves the incorrect blue on black
    color map for Grand Prix by Accolade (joncampbell123).
  • Add recursive mkdir_p() directory creation so that
    overlay filesystem support can correctly create
    a subdirectory of any depth, instead of only one
    level deep from an existing directory on disk.
    (joncampbell123)
  • Add dosbox(-x).conf option "isapnpport" to control
    whether the ISA Plug & Play I/O port is presented
    to the guest. Setting is "true", "false", or "auto".
    "auto" means to enable if PnP BIOS is enabled.
    Previously this port was always present even if
    the PnP BIOS was not. Some operating systems,
    including Windows NT/2000/XP, will enumerate ISA
    Plug & Play hardware by themselves whether or not
    the PnP BIOS is present. (joncampbell123)
  • Fix FPU operations using the top of stack on
    32-bit VS builds (cimarronm)
  • Add IDE ATAPI command MECHANISM STATUS for
    Windows NT 4.0 because that system seems
    to want to know if your CD-ROM drive is a
    CD changer (joncampbell123)
  • IDE Plug & Play resource descriptor changed to use
    2-byte structure for listing IRQ resource instead of
    3 bytes. This (for some reason) fixes problems with
    the IDE driver in Windows NT 4.0, Windows 2000, and
    Windows XP and allows them to boot properly.
    (joncampbell123)
  • INT 13h extensions function 48h is supposed to
    return physical geometry, not the logical geometry
    normally returned by function 08h. This means for
    IDE devices, to return the geometry the IDE controller
    is using. (joncampbell123)
  • Enhanced the Mapper Editor interface. The Mapper UI
    has been greatly improved. (aybe)
  • Add IDE ATAPI command MECHANISM STATUS for Windows
    NT 4.0 because that system seems to want to know if
    your CD-ROM drive is a CD changer. (joncampbell123)
  • Fix IDE devices to start up with the drive ready
    bit set for OSes that expect it when probing IDE
    devices. This allows the Linux kernel to see IDE
    ATA drives emulated by DOSBox-X. (joncampbell123)
  • Fix IDE ATAPI emulation to correctly handle CD
    READ across one or more DRQ block transfers. Use
    block size given by guest in consideration of DRQ
    block size, which allows ATAPI CD-ROM emulation to
    work properly with the Linux kernel. (joncampbell123)
  • Add debug command to show PC-98 color palettes.
    Corrected typo. (joncampbell123)
  • Add support for PC-98 monochrome graphics mode.
    (joncampbell123)
  • IDE emulation now handles implementation events per
    IDE device instead of per IDE controller, which
    may resolve IDE controller issues with some guests.
    (joncampbell123)
  • Added PC-98 GDC drawing commands, which is
    based on Neko Project II source code (nanshiki)
  • Added PC-98 LIO BIOS interface, which is based on
    Neko Project II source code (nanshiki)
  • INT 21h AH=31h Terminate And Stay Resident: If the
    program called INT 21h to free its own PSP segment,
    reassign the block back to the program as allocated
    and then resize as expected. Needed for PC-98 game
    "Yu No" in which PLAY6.EXE, one of the resident
    drivers used for music, does just that. (joncampbell123)
  • Add a hack to enable read access to port 0xa460 on PC-98 which
    returns Sound ID to detect the sound board available.
    Note that the current hack returns Sound ID of PC-9801-86 board
    regardless of the board selected to emulate. (maron2000)
  • Adds WINCHECK to list of programs which should not
    return a valid installation check for WinOldAp
    (AX=1700h/int2fh) so it doesn't mistakenly believe
    Windows is running (cimarronm)
  • Add minimal support for IDE SET FEATURES command EFh.
    (joncampbell123)
  • Fix CMPXCHG8B to change only the ZF flag, instead of
    changing ZF with other flags in an undefined state
    afterwards. This fixes problems with the Windows 2000
    kernel booting up and cputype=pentium (though I am
    unable to get past the INACCESSIBLE_BOOT_DEVICE error).
    (joncampbell123)
  • Updates XADD instruction to set appropriate flags
    (cimarronm)
  • Updates to FPU to handle opcode size prefix (66h)
    on FSTENV/FLDENV/FSAVE/FRSTOR instructions (cimarronm)
  • Update FLD constant FPU instructions to more
    accurately match FPU implementations (cimarronm)
  • Fixed dynamic_dynrec being displayed as dynamic_x86
    in menu, and PREFETCH instruction breakage in the
    dynamic core. (Jookia)
  • Fixed crash if no dynamic cores available (Jookia)
  • Fixed TTF mode breaking a guest not running the
    DOS kernel. (Jookia)
  • Fix DBCS table initialization on reset and
    restart (cimarronm)
  • Fixed some guest systems may not work as expected
    in non-TTF outputs. (Wengier)
  • Fixed IME input not working in MinGW builds, and
    FluidSynth in MinGW-lowend builds. (Wengier)
  • Fixed resizable OpenGL Voodoo window not working
    properly on Windows in previous version. (Wengier)
  • Fixed commands "CHOICE /N /C:123" and "MIXER /GUI"
    not working properly in previous version. (Wengier)
  • Integrated commits from mainline (Allofich)
    • Disable leading directory validity check in
      DOS_FindDevice.
dosbox-x - DOSBox-X 0.83.25 2022-05-01 08:07

Published by joncampbell123 over 2 years ago

Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.

For usage information please look at the DOSBox-X user guide, which is available from the DOSBox-X Wiki.

0.83.25

  • XGA: Do not register XGA I/O ports unless emulating
    S3 chipset (such as machine=svga_s3) (joncampbell123)
  • Menu options "Force scaler" and "Print text screen"
    can now be assigned to keyboard shortcuts from the
    Mapper Editor. (Wengier)
  • Allowed to boot from Toshiba DOS image file for the
    Toshiba J-3100 emulation. (nanshiki)
  • Default S3 machine types now support XGA/SXGA VText
    in DOS/V, in addition to svga_et4000. (nanshiki)
  • Added "j3100backcolor" and "j300textcolor" config
    options (in [dosv] section) to specify background
    and text colors in J-3100 mode. (nanshiki)
  • Added config option "aspect_ratio" (in [render]
    section) which when set will force the specified
    aspect ratio (e.g. 16:9 or 3:2) in the aspect ratio
    correction mode (i.e. aspect=true). A menu group
    "Aspect ratio" is added to "Video" menu for users
    to select or set an aspect ratio, including an
    original ratio option. (Wengier)
  • Added config option "show recorded filename" (in
    [dosbox] section) which when set to true (default)
    will show message boxes with recorded filenames
    when making audio or video captures. (Wengier)
  • Added config option "allow quit after warning" (in
    [dosbox] section) which when set to false DOSBox-X
    will disallow the quit option after displaying a
    warning message. (Wengier)
  • Added config option "turbo last second" (in [cpu]
    section) which allows to stop the Turbo function
    after specified number of seconds. (Wengier)
  • Updated FLAC, MP3, and WAV decoder libraries to the
    latest versions (v0.12.38, v0.6.32, and v0.13.6)
    respectively; per David Reid). (Wengier)
  • Added support for upper case characters (A-Z) for
    AUTOTYPE command. (kcgen)
  • Added /T option for CHOICE command to set a default
    choice as in DOS, e.g. CHOICE /T:Y,3 (Wengier)
  • Added Korean language option in Windows installer.
    Also, language option page will be shown regardless
    of the output option selected. (Wengier)
  • Add stub INT 10h handler at F000:F065 if
    machine=vgaonly and using a VGA ROM BIOS image.
    The IBM VGA ROM BIOS image points INT 42h at that
    fixed address and calls it for any function it does
    not understand. (joncampbell123)
  • Set int33 event status bit 8 when passing absolute
    mouse coordinates, which is useful in emulation or
    virtualization environments where the mouse may be
    integrated with the host cursor. (javispedro)
  • Added support for Pentium Pro hinting NOPs and
    related multi-byte NOPs. (Jookia)
  • Updated HX DOS Extender to latest version 2.19 for
    HX-DOS builds. (Wengier)
  • DOSBox-X returns 1 instead of 0 when E_Exit occurs
    or unit tests fail. (Wengier)
  • Fixed built-in IPX and Modem emulation unavailable
    in MinGW builds. (Wengier)
  • Fixed -machine command-line option (as listed by
    "INTRO USAGE" command) not working. (Wengier)
  • Fixed lockup in classic Jumpman. (maron2000)
  • Fixed color in some modes under x86-64 macOS SDL2
    builds. (myon98)
  • Fixed extra INT 10h call during BIOS screen. The
    extra call caused crashes when combined with a ROM
    image of the stock IBM VGA BIOS. (joncampbell123)
  • Fixed fscale FPU operation and updated FPU status
    word. Also fixed FPU stack value log messages on
    x86-based builds. (cimarronm)
  • Fixed bug that OpenGL Voodoo window may not appear
    correctly if the DOSBox-X window was previously in
    full-screen mode in some builds. DOSBox-X will now
    ensure a switch to window mode (or maximized window
    mode) in this case. Also fixed some menu options
    including rebooting DOSBox-X while Voodoo emulation
    is currently active. (Wengier)
  • Fixed crash when switching to dynamic_rec core from
    menu when dynamic_x86 is also available. Also fixed
    the dynamic_rec core may not be displayed correctly
    in the menu when a language file is used. (Wengier)
  • Fixed Windows resource information. (Wengier)
  • Fixed a buffer overflow when launching a program.
    (Jookia)
  • Fixed bug where DOS IOCTL would call device control
    channel on devices which did not advertise support
    for IOCTL. (cimarronm)
  • Clean up of DOS device and attribute flag usage
    (cimarronm)
  • Integrated commits from mainline (Allofich)
    • Use real pointer with font data for reading
      characters. Also ignore page number for modes with
      only one page.
dosbox-x - DOSBox-X 0.83.24 2022-04-01 08:00

Published by joncampbell123 over 2 years ago

Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.

For usage information please look at the DOSBox-X user guide, which is available from the DOSBox-X Wiki.

0.83.24

  • Release notes for this version:
    https://dosbox-x.com/release-0.83.24.html
  • PC-98: Search for FONT.ROM in resources directory
    in addition to the working directory. (bsdf)
  • Add S3 Vision964 and Vision968, based on existing
    support for the Vision864/868 chips (rderooy).
  • APM BIOS: When the guest calls the APM BIOS to go
    into suspend or standby mode, emulate a suspended
    or standby mode. Spacebar resumes the guest machine.
    Blank the display (if VGA/SVGA machine type) upon
    suspend/standby and unblank upon leaving it.
    (joncampbell123)
  • APM BIOS: Add dosbox-x.conf option to control
    whether the power button triggers a suspend or
    standby event. (joncampbell123)
  • APM BIOS: Add power button mapper event, tie
    power button to APM BIOS, return power button as
    APM suspend event, add code to APM BIOS to handle
    suspend and resume events. Windows 98 no longer
    complains about the inability to suspend or go to
    standby. (joncampbell123)
  • APM BIOS: Limit debug logging of APM BIOS function
    AH=05h (CPU IDLE) because Windows 98 likes to call
    that function way too often. Once a millisecond, in
    fact! The log spam makes it difficult to see
    anything important scroll by while debugging.
    (joncampbell123).
  • Revise S3 Trio64 XGA line drawing code to
    add comments, and obey the "skip last pixel" bit
    so that the Windows drivers can better draw polygon
    line segments. This fixes broken XOR polylines in
    Windows 3.1 and Microsoft Word 2.0. (joncampbell123)
  • Add S3 ViRGE accelerated XGA line drawing function.
    Windows 3.1 through Windows 98 can now draw lines
    with hardware acceleration. (joncampbell123)
  • Merge code to help preserve long filename when
    older program writes/overwrites the 8.3 filename.
  • Change "fpu" config setting to an enumeration
    that still accepts true and false, but now also
    accepts auto, 287, and 387. It is now possible to
    specify fpu=287 and cputype=386 to emulate a 386
    paired with a 287 chip as is said to be how early
    386 Compaq systems were wired, for example.
    (joncampbell123)
  • 3Dfx Voodoo window is now resizable (inc. maximized
    window) when using OpenGL mode, in addition to the
    software mode. (MartyShepard, kekko, Wengier)
  • Menu options "CJK: Switch between DBCS/SBCS modes",
    CJK: Auto-detect box-drawing characters", and "Reset
    color scheme" (in "Video" -> "TTF options") are now
    assignable in Mapper Editor. (Wengier)
  • The "colors" config setting now allows a leading
    "+" character to stay the specified color scheme when
    switching from another output. (Wengier)
  • SETCOLOR command allows a syntax like "SETCOLOR 1 +"
    to return the specified color number to the preset
    value (as specified by "colors" setting). (Wengier)
  • When using TTF output, DOSBox-X will dim the topmost
    line when the window is inactive in full-screen or
    menuless mode as in vDosPlus. (emendelson)
  • IMGMOUNT command now accepts wildcards, such as
    "IMGMOUNT A disk*.img" to mount image files matching
    the given pattern. (Wengier)
  • Added CuteMouse wheel mouse extension so that DOS
    programs such as DOS Navigator 2 can make use of it.
    It is enabled when mouse wheel movement conversion is
    currently disabled. (FeralChild & Wengier)
  • Implemented basic support for VMware mouse protocol
    so that when used together with e.g. the VMware mouse
    driver for Windows 3.x, the mouse will be seamlessly
    integrated with the host system, and can enter/exit
    the DOSBox-X window without having to capture/release
    the mouse. Config option "vmware" is added (in [dos]
    section) which allows to disable VMware mouse guest
    integration. (FeralChild, Wengier, joncampbell123)
  • When country number is not specified and cannot be
    obtained from system, DOSBox-X will try to map the
    keyboard layout to country number. The country list
    is also extended. (Wengier & FeralChild)
  • Added "-nolog" command-line option to disable logging
    output completely, and "Disable logging output" menu
    option in "Debug" menu to toggle this. (Wengier)
  • Updated EGA?.CPX and KEYBOARD.SYS/KEYBRD?.SYS to the
    latest version from FreeDOS. The CPX files now appear
    in CPI directory of Z drive, which can be replaced by
    files provided by the user. (FeralChild & Wengier)
  • Fix lockup when printing in dBase IV. (Wengier)
  • Fix crash/restart when running Wing Commander with
    EMS memory enabled. (grapeli)
  • Fix possible buffer overflow issue that may happen
    in certain conditions. (maron2000)
  • Fix NewWadTool 1.3 unable to play music by ensuring
    that periodic timer interrupt is triggered on every
    cmos_timerevent. (cimarronm)
  • Fix handling of some DOS file I/O device drivers that
    expect a pre-filled input-buffer on READ function and
    also do not like to be called for every single byte
    in that buffer may not work correctly. (leecher1337)
  • Fix FPU emulation to use 8087 FENI/FDISI behavior
    when cputype=8086 or cputype=80186. (joncampbell123)
  • Fix FPU emulation to correctly emulate 80287 -/+inf
    compare behavior even if compiled for x86 targets
    where C_FPU_X86 uses the host FPU. (joncampbell123)
  • Fix audio speech stuttering issue in SpaceQuest 4
    v1.3 using Sound Blaster. (grapeli & rderooy)
  • Fix issue with Lemmings palette swapping not working
    properly. (maron20000 & grapeli)
  • Updated MT32emu to version 2.6.1. (maron20000)
  • Updated DOSMID to version 0.9.6. (Wengier)
  • Integrated commits from mainline (Allofich)
    • Indicate in BIOS memory when keyboard ACK received.
      Fixes Soko-ban Revenge.
    • Fix execution of small COM programs on PCjr machine
      type.
dosbox-x - DOSBox-X 0.83.23 2022-02-28 22:32

Published by joncampbell123 over 2 years ago

For usage information please look at the DOSBox-X user guide, which is available from the DOSBox-X Wiki.

0.83.23

  • Fixed XGA accelerated rendering for ViRGE emulation
    and 24 bits/pixel display modes. Since Windows drivers
    insist on 24bpp, this is necessary for
    "Truecolor (24-bit)" to display and render correctly.
  • dosbox-x.conf option "vesa vbe 1.2 modes are 32bpp" is
    now "true", "false" or "auto", where "auto" determines
    this setting based on which S3 chipset is being
    emulated. It seems the Windows drivers for ViRGE
    chipsets require 24bpp for truecolor modes, in fact,
    they do not even offer 32bpp as an option. Since
    the Windows 3.1/95/98 drivers use VESA BIOS calls to
    set video modes, this implies that the VESA BIOS on
    ViRGE cards are also making the base modes 24bpp rather
    than 32bpp. Note that the Windows drivers for older S3
    chipsets are perfectly happy to use 32bpp unless you
    select "16.7 million colors (1 Meg)" in Windows 3.1,
    which is the only option in those drivers to offer
    24bpp. To avoid grief with DOSBox-X users, "auto"
    is the default setting.
  • Added basic S3 ViRGE XGA acceleration. It's enough for
    90% of the GDI functions in Windows 3.1 so far.
  • Fixed S3 rectangle XGA accelerated pattern blit, when
    using display memory as the pattern mask source, to
    follow S3 Trio32/Trio64 documentation, instead of the
    DOSBox SVN educated guess, to resolve some edge cases
    where the wrong color is chosen to draw filled rectangles
    in Windows 3.1. This fixes the "basement" in Microsoft
    Creative Writer so that clicking around no longer leaves
    white boxes on the screen.
  • Extend 256-color foreground/background color behavior
    from S3 86c928 to Vision864 and Vision868 as Windows
    95 behavior suggests they handle the hardware cursor
    the same way in 256-color mode.
  • Extend "divide cursor X position by bytes per pixel"
    behavior from S3 86c928 to Vision864 and Vision868
    emulation as well, based on Windows 3.1 video driver
    behavior.
  • Gravis Ultrasound: Most I/O registers except port 3x4
    are intended for 8-bit I/O. If 16-bit I/O occurs to
    such registers, handle as two 8-bit I/O cycles. I
    found something in the Demoscene (1997 demo "Atlantis,
    Deep Like A Sea") that uses a 16-bit I/O write to write
    current channel and register select in one write.
    Prior to this fix, there was no music other than quiet
    popping noises in DOSBox-X.
  • Sound Blaster: Fixed DSP command 0x48 (Set DSP block
    transfer size) to accept block size as BYTES as
    standardized by Creative and convert to SAMPLES
    internally. This fixes stuttering voices in Freddy
    Pharkas when sbtype=sb16. (joncampbell123)
  • Avoid crashes due to assertion failure when media
    keys are pressed (maron2000)
  • Fix CD audio playback failure (cue + mp3) when
    trying to play from pregap sectors. (maron2000)
  • Change default value of mt32.rate to 48kHz to match
    default value of mt32.analog option. (maron2000)
  • Fix a buffer overflow issue in dos.cpp (maron2000)
dosbox-x - DOSBox-X 0.83.22 2022-01-31 23:31

Published by joncampbell123 over 2 years ago

For usage information please look at the DOSBox-X user guide, which is available from the DOSBox-X Wiki.

0.83.22

  • Added Pentium 3 Processor Serial Number emulation.
    Serial number can be set from dosbox-x.conf or not
    set, in which case it will act as if disabled by the
    BIOS. (joncampbell123).
  • Added Pentium III cputype, added SSE register set,
    added SSE instructions to debugger disassembler,
    added some initial SSE instructions. (joncampbell123)
  • Added some MSRs expected by Linux, Windows, and
    tools like CPU-Z to make them happy. (joncampbell123)
  • Added FXSAVE/FXRSTOR which makes Linux happy with
    Pentium III emulation. (joncampbell123)
  • Allow WRMSR to set time stamp counter, as it is known
    though undocumented a standard since the Pentium
    (joncampbell123).
  • Added debugger command to show global and per-voice
    status of the Gravis Ultrasound emulation. May come
    in handy for programmers who wish to write their own
    GUS routines, and for Trixter who brought up the
    subject of determining whether a program plays music
    with the GUS or treats it like a dumb sound card.
    (joncampbell123).
  • Added debugger command to show SSE register file, and
    to set SSE register contents. (joncampbell123)
  • Added debugger command to show MMX register file, and
    to set MMX register contents. (joncampbell123)
  • Added support for expressions within parenthesis in
    debugger expression handling. (joncampbell123)
  • Added & (AND), ^ (XOR), and | (OR) operators, and
    << and >> bit shift operators to debugger expression
    handling. (joncampbell123)
  • Added multiply (*) and divide (/) operators to debugger
    expression handling. Order of operations applies, so
    given mixed addition and multiplication, the multiply
    is done first then the result is added. Also added
    support for the modulo (%) operator to the debugger
    expression handling. (joncampbell123)
  • Revised debugger expression handling to correctly
    parse arithmetic operators with order of operations
    in mind. Prior to this fix, consecutive subtraction
    would cause seemingly illogical results, for example
    "10-1-1-1" would yield "9" instead of "7" because
    subtraction was handled in the wrong order. This fix
    also makes mixed addition and subtraction possible.
    NOTICE: Remember that all numbers going in and
    coming out of the expression handler are hexadecimal,
    NOT decimal! (joncampbell123)
  • Fixed simple expression handling in the debugger.
    Revised hexadecimal vs register parsing so that
    hexadecimal numbers that happen to start with
    the name of certain CPU flag registers does not
    cause confusing results. Prior to this fix,
    hexadecimal numbers like "dfe" or "af0" were
    impossible to enter without leading zeros or
    quotes because the parser would confuse the
    first digits with the DF and AF bits of the FLAGS
    register. (joncampbell123)
  • Added menu options "AMD Athlon 600MHz" and "Pentium
    III 866MHz EB" within the group "Emulate CPU speed"
    (under "CPU") for CPU speeds to emulate. (Wengier)
  • Added support for archive, hidden, system attributes
    on mounted local and overlay drives for non-Windows
    platforms by using special file(s). (Wengier)
  • Added config option "special operation file prefix"
    (in [dos] section) to speciay an alterantive file
    prefix for DOSBox-X's special operations on mounted
    local and overlay drives. (Wengier)
  • Added code page 3021 for the MIK character set used
    by the Bulgarian language (as in FreeDOS). (Wengier)
  • Added language file for the Brazilian Portuguese,
    available from Windows installer. (altiereslima)
  • For piping (|), DOSBox-X will now also try C: drive
    as a temporary piping path if current directory is
    read-only and the environment variable %TEMP% (or
    %TMP%) is not set. (Wengier)
  • For clipboard copy, CR+LF will now be used instead
    of LF on Windows for better compatibility. (Wengier)
  • Disk images are automatically mounted as read-only
    (instead of failing) now if the image files are
    read-only and the users do not explicitly specify
    read-only mode for the disk images. (Wengier)
  • The default value of config option "autofixwarning"
    (in [dos] section) is now "false", and it is now
    changeable via CONFIG command. (Wengier)
  • The default output for Linux SDL1 builds is changed
    from opengl to surface, unlike Linux SDL2 builds
    whose default output remains opengl. (Wengier)
  • Native Windows menus is supported in Windows SDL2
    builds just like Windows SDL1 builds. It is possible
    to force SDL-drawn menus for both Windows SDL1 and
    SDL2 builds at compile time. (Wengier)
  • Setting "windowposition" to "-" in the configuration
    will leave DOSBox-X window position as is instead of
    a specific position or being centered. (Wengier)
  • For printing, the SarasaGothicFixed TTF font will
    also be searched for DBCS code pages. (Wengier)
  • Added config option "showdbcsnodosv" (in the [dosv]
    section) which when set to true enables rendering of
    Chinese/Japanese/Korean characters for DBCS code
    pages in non-DOS/V, non-PC98, and non-TTF mode.
    Video capturing started from TTF output will enable
    DBCS characters when possible. (Wengier)
  • Changing DBCS code pages is supported for standard
    modes (i.e. non-DOS/V, non-PC98 and non-TTF modes)
    using CHCP command. (Wengier)
  • Fixed issues with certain DBCS characters for the
    DOS/V system. (Wengier)
  • Fixed slow blinking text in TTF output. (Wengier)
  • Fixed copying box drawing characters to clipboard
    not working in non-TTF JEGA mode. (Wengier)
  • Fixed background for the Configuration Tool when
    the TTF output is active. (Wengier)
  • Fixed DBCS characters not showing up when capturing
    screenshots in TTF CJK mode, or they do not show up
    properly in the Configuration Tool when "autodbcs"
    is set to "false" in the configuration. (Wengier)
  • Fixed media keys presses by ignoring these keys in
    Windows SDL1 builds. (maron2000)
  • Fixed IOCTL & ASPI interfaces for mounting physical
    CD drives on the Windows platform. (Wengier)
  • Fixed the issue of loading scalers in the previous
    version. A message box will only show up if you
    append "prompt" to the scaler option. (Wengier)
dosbox-x - DOSBox-X 0.83.21 2021-12-31 18:28

Published by joncampbell123 almost 3 years ago

Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.

For usage information please look at the DOSBox-X user guide, which is available from the DOSBox-X Wiki.

Happy New Year 2022!

0.83.21

  • Release notes for this version:
    https://dosbox-x.com/release-0.83.21.html
  • Improved clipboard copying & pasting for different
    code pages including box-drawing characters in DBCS
    code pages. Also, for the J-3100 mode, the selected
    text will now be highlighted when you try to select
    text for copying. (Wengier)
  • Improved IME support for Chinese/Japanese/Korean
    languages on Windows builds. (Wengier)
  • Pausing the emulation will automatically release
    the mouse and prevent mouse capture. (Wengier)
  • For Configuration Tool, a "..." button is added to
    properties which have limited numbers of values so
    that when clicking their possible values will be
    shown in a new dialog and can be selected directly.
    Also, more settings will be applied immediately when
    modified from the Configuration Tool. (Wengier)
  • For Windows SDL1 builds, DOSBox-X will now try to
    prevent the Windows menus from separating into more
    than one lines due to small window width. (Wengier)
  • If a scaler as specified in the config may not work
    as expected and if not forced, DOSBox-X will show a
    a message box asking whether to load it. (Wengier)
  • Config option "pixelshader" now allows a shader file
    name without the .fx extension, or a shader file in
    the current directory. (Wengier)
  • Added support for ENET reliable UDP as an option for
    modem and null-modem emulation. You can enable it
    with "sock:1" option for modems/null-modems that are
    connected with serial ports (COM1-COM9), such as
    "serial1=modem listenport:5000 sock:1" for COM1 to
    listen to port 5000 with reliable ENET UDP instead
    of TCP connection. The feature is ported from DOSBox
    Staging. (sduensin, GranMinigun, kcgen, Wengier)
  • Added new command-line option "-o" for providing
    command-line option(s) if programs(s) are specified
    to start when you launch DOSBox-X. An example:
    dosbox-x program.exe -o "opt1 opt2". (Wengier)
  • Added special properties to CONFIG command including
    "cd", "date", "errorlevel", "random", "time", and
    "lastmount" so that commands like "CONFIG -GET cd"
    and "CONFIG -GET errorlevel" will get current DOS
    directory and ERRORLEVEL value. The returned value
    will also be saved to %CONFIG% variable. (Wengier)
  • Added "Enter Debugger Command" button to "DOSBox-X
    logging output" and "Code overview" windows (from
    "Debug" menu") for users to enter some debugger
    command(s) and see the result. (Wengier)
  • Added debugger commands DATE and TIME to view or
    change DOSBox-X's internal date and time, using the
    same date and time formats as the shell DATE and
    TIME commands, e.g. "TIME 10:11:12". (Wengier)
  • Added config option "badcommandhandler" (in [dos]
    section) which allows to specify a custom error
    handler program before error message "Bad command
    or file name" shows up in the DOS shell. (Wengier)
  • Added config option "stop turbo on key" (in [cpu]
    section) which allows to automatically stop the
    Turbo (fast forward) mode when a keyboard input
    has been detected. (Wengier)
  • Added config option "fat32setversion" (in [dos]
    section) which controls whether DOSBox-X should
    automatically set reported DOS version to 7.0/7.10
    when it's less than 7.0/7.10 and mounting LBA/FAT32
    disk images is requested. It defaults to "ask" so
    that DOSBox-X will ask in this case. (Wengier)
  • Added config option "j3100colorscroll" (in [dosv]
    section) which defaults to "false" and allows the
    J-3100 version of SimCity and VGA version of the
    Toshiba Windows 3.1 to run, whereas CGA/EGA version
    of the latter requires a "true" setting. (nanshiki)
  • Added config options (in "ethernet, slirp" section)
    "tcp_port_forwards" and "udp_port_forwards" for port
    forwarding when using the Slirp backend. (kcgen)
  • Added code pages 737 (Greek) and 775 (Baltic) for
    the guest-to-host code page conversions. (Wengier)
  • Added UTF8 and UTF16 commands to convert UTF-8 and
    UTF-16 text to view in the current code page. For
    example, the command "UTF8 < UTF8TEXT.TXT" will
    output converted text UTF8TEXT.TXT in the current
    code page, and for UTF16 command there are optional
    /BE & /LE options to specify endianness. (Wengier)
  • Added support for DBCS characters located in UNC
    network paths of the form \COMPUTER\FOLDER\FILE
    on the Windows platform. (Wengier)
  • Added hidden code page 951 for Big5-HKSCS encoding
    or Big5 Unicode-At-On (Big5-UAO) encoding. Config
    option "uao" is added in [ttf] section so that if
    set to "true" code page 951 will use the Big5-UAO
    encoding instead of the Big-HKSCS encoding, the
    latter being the default for CP951. If ChinaSea is
    enabled, ChinaSea characters will be used instead
    of original characters in these encodings. (Wengier)
  • Added -nl option for MOUNT command to automatically
    find the next available drive letter to mount if
    the specified drive is already mounted. This allows
    multiple directories to be mounted when DOSBox-X
    starts with multiple [name] arguments. (Wengier)
  • Added HISTORY command to display or clear command-
    line history for the internal DOS shell. (Wengier)
  • Added ASSOC command to view/change file extension
    associations. You can define a command or program
    to open a file with a specific file extension, e.g.
    "assoc .txt=edit" to open .TXT files with the EDIT
    command when entering the .TXT file name from the
    DOS command line. Wildcards are allowed, such as
    "assoc .*=dir", although in such case exceptions
    including "assoc .com=com", "assoc .exe=exe", and
    "assoc .bat=bat" are probably desired. (Wengier)
  • Commands CHOICE and COUNTRY are external commands
    that appear on the Z drive (Z:/DOS/CHOICE.COM and
    Z:/SYSTEM/COUNTRY.COM respectively) now rather than
    internal shell commands. COUNTRY command now also
    affects thousand and decimal separators. (Wengier)
  • The internal Virtual Drive Z: can now be rescanned
    just like mounted local drives. (Wengier)
  • You can now change most config options in [printer]
    section of the configuration for the virtual printer
    with CONFIG -set commands. (Wengier)
  • Added missing ChinaSea characters in code page 950
    with ChinaSea/Big5-2003 extension enabled. (Wengier)
  • Added support for Bash-shell completion for DOSBox-X
    on non-Windows platforms. (rderooy & FeignInt)
  • Improved DBCS support for DOS commands including
    ATTRIB, ECHO, TYPE, MORE, and TRUENAME. (Wengier)
  • Improved checking of segment limits. (joncampbell123)
  • Mac OS X builds from now on will use an in-tree tool
    to replace dylib references in all executable files.
    XCode install_name_tool is no longer used, it became
    a hypocondriac and is sitting in the corner screaming
    about link edit data that doesn't fill a __LINKEDIT
    segment. It is once again possible to make Mac OS X
    ARM releases and to use dylib files from Brew doing
    so. (joncampbell123)
  • Fix IPL1 partition choice debug message to actually
    show the partition index chosen, not the -partidx
    option variable, which if not given by the user, is
    -1 and was reported as a very large unsigned
    number. (joncampbell123)
  • Fixed command-line options -starttool & -startmapper
    not showing messages from specified language file
    for Configuration Tool and Mapper Editor. (Wengier)
  • Fixed an issue with RENDER_Reset function while
    loading previously saved states. (yetmorecode)
  • Fixed E_Exit "RET from illegal descriptor type 0"
    when running DirectX diagnostic program (dxdiag)
    from a guest Windows 98 system. (Wengier)
  • Fixed "parallel?=file openwith:xxx" not working if
    a file name is not provided. (Wengier)
  • Fixed crash in the following config combination:
    output=ttf, machine=pc98, dosvfunc=true. (Wengier)
  • Fixed Disney sound source connecting to parallel
    port not working in the previous version. (Wengier)
  • Fixed NET command from Windows for Workgroups 3.11
    not working from the internal DOS shell. (Wengier)
  • Fixed MODE command options like "rate" and "delay"
    not working if entered in upper cases. (Wengier)
  • Fixed command-line parameters (when launching
    DOSBox-X) containing Chinese characters in code page
    950 not working in Windows SDL2 builds. (Wengier)
  • Integrated commits from mainline (Allofich)
    • Improve BIOS FDD motor timeout counter, most
      notably for earlier PCs. Fixes a Chinese variant
      of Space Harrier.
dosbox-x - DOSBox-X 0.83.20 2021-11-30 23:26

Published by joncampbell123 almost 3 years ago

Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.

For usage information please look at the DOSBox-X user guide, which is available from the DOSBox-X Wiki.

For Windows users, it is recommended to use the Windows installer(s) for a more complete installation.

0.83.20

  • Release notes for this version:
    https://dosbox-x.com/release-0.83.20.html
  • Implemented support for Pentium II cputype (with
    the setting "cputype=pentium_ii" in [cpu] section),
    and added Pentium II SYSENTER/SYSEXIT instructions
    to normal core and debugger disassembler. The two
    instructions are supported for Pentium II cputype.
    CPUID for Pentium II will now report stepping 3 and
    model 3 which is a minimum requirement for OSes to
    attempt to use SYSENTER/SYSEXIT. Silencing for
    RDMSR/WRMSR and SYSENTER/SYSEXIT debug messages is
    removed while CPU "debug spew" is silenced by
    default. MSRs related to Intel microcode are added
    because both Linux and Windows ME probe those MSRs
    if Pentium II emulation reports stepping 3 model 3.
    The microcode MSRs are silently ignored. Moreover,
    the MSR register 0x0000001B has been added to
    Pentium II emulation. DOSBox-X does not emulate a
    local APIC but Windows ME assumes that MSR is
    present and reads/writes it on startup if DOSBox-X
    reports itself as a Pentium II. (joncampbell123)
  • Added support for DCGA and Toshiba J-3100 emulation
    modes by importing code from DOSVAXJ3 by nanshiki.
    The J-3100 emulation mode can be enabled with the
    option "dosv=jp" along with a non-off setting of
    "j3100" option in [dosv] section. For example, with
    "j3100=on" or "j3100=auto" (and "dosv=jp") J-3100
    system will be enabled and activated at start. With
    "j3100=manual" (and "dosv=jp") J-3100 system will
    be enabled and not activated at start, but there is
    now a DCGA command to enter DCGA (either English or
    J-3100 DCGA, depending on if J-3100 is enabled)
    mode from other video modes. (nanshiki & Wengier)
  • Added support for unit tests based on Google Test
    framework (gTest/gMock) to ensure code stability.
    Unit tests can be started with command-line option
    "-tests" in the debug builds. Some unit tests are
    ported from DOSBox Staging. (Wengier)
  • Added SERIAL and PARALLEL commands to view/change
    the current configuration of serial/parallel ports.
    Type "SERIAL /?" and "PARALLEL /?" for further info
    about the two commands. Commands like "config -set
    serial?=..." and "config -set parallel?=..." will
    also auto-call these commands. (sduensin & Wengier)
  • Added IMGSWAP command to swap disks for drives.
    e.g. "IMGSWAP D" to swap D: drive to the next swap
    position, and "IMGSWAP A 3" to swap A: drive to
    the 3nd swap position. (Wengier)
  • Added DOS commands including COMP, DISKCOPY, EDLIN,
    FC, FILES, PRINT, and SHUTDOWN (most from FreeDOS)
    to the built-in Z: drive. Updated or recompiled
    EDIT and EDLIN commands to support LFNs. (Wengier)
  • The CAPMOUSE command without a parameter now shows
    whether the mouse is captured/released. (Wengier)
  • The command "config -set" is now case-insensitive
    for property names. Also, if an option cannot be
    changed at run-time, DOSBox-X will ask whether to
    restart itself to apply the new setting. (Wengier)
  • Do not read real-mode data areas from mouse event
    handling if running a protected mode guest OS like
    Windows NT, and disable INT 33h functions when DOS
    kernel is shut down to boot into a guest OS. Moving
    mouse while Windows NT is running should no longer
    cause page faults and crashes. (joncampbell123)
  • The setting "mountwarning = false" will now silence
    more warning messages during mounting. (Wengier)
  • The code page setting of "country" option will now
    be ignored for PC-98, JEGA and DOS/V modes. These
    modes will enforce the desired code page. (Wengier)
  • Added support for loading the ASC16/ASCFONT.15/
    ASC24/ASCFONT.24? font files from the UCDOS/ETen
    Chinese DOS systems for the options "fontxsbcs",
    "fontxsbcs16" and "fontxdbcs24" in [dosv] section
    of the config file for DOS/V systems. (Wengier)
  • Improved auto-detection of box-drawing characters
    when using DBCS code pages. (Wengier)
  • Applied UTF-8 conversions to file browse dialog
    boxes for selecting files containing Unicode
    characters (e.g. CJK characters). (Wengier)
  • For screenshot and MIDI/OPL recording, DOSBox-X
    will now display a message box showing the saved
    file name when the recording has been completed.
    The full paths will also be logged. (Wengier)
  • Added confirmation message while trying to load a
    Direct3D pixel shader which may not be needed or
    may have undesired effect. (Wengier)
  • Added warning message if DOS/V or Japanese PC-98/AX
    machine type is selected and a language file with
    an incompatible code page is specified. (Wengier)
  • Added "AMD K6 166 MHz", "AMD K6 200 MHz" and "AMD
    K6-2 300 MHz" menu options within the menu group
    "Emulate CPU speed" (under "CPU"). (Wengier)
  • Added a TrueType font selection page into Windows
    installer, which will show when TrueType font (TTF)
    output is selected for new installations. (Wengier)
  • Added MMX instruction PSHUFW and added typecasts
    to some MMX instructions in case compilers cannot
    properly shift uint64_t by uint8_t otherwise. Most
    Pentium-level MMX instructions (such as MOVD, MOVQ,
    and EMMS) are added to the debugger disassembler
    and support for the disassembler to represent MMX
    registers. (joncampbell123)
  • Added code to normal core to flush paging TLB
    whenever handing a non-recursive guest page fault.
    The guest OS will likely update the page tables
    to resolve the fault. The Linux kernel will
    constantly get "stuck" whenever you run a command
    without this change. (joncampbell123)
  • Added code to make sure DOS kernel drives and drive
    letters have been unmounted and deallocated before
    booting a guest OS or shutting down DOSBox-X
    (joncampbell123).
  • Added ability to change floppy images with drive
    number (0 or 1) only. (Wengier)
  • Added INT 13h AH=16h, detect disk change. This can
    be controlled by config option "int 13 disk change
    detect" (in [dos] section) in case any older OS can
    not handle it. INT 13h AH=15h will report a floppy
    drive with change line support if enabled. MS-DOS
    seems to work just fine with it. (joncampbell123)
  • Added menu item "Enable extended Chinese character
    set" in "Video" => "TTF options" to toggle setting
    for the Simplified Chinese (GBK extension) and
    Traditional Chinese (ChinaSea extension). (Wengier)
  • Added config option "chinasea" (in [ttf] section)
    which when set to "true" allows ChinaSea (中國海字集)
    and Big5-2003 extension of the original Big5-1984
    charset for Traditional Chinese TTF output. This
    requires the use of a TTF/OTF font containing such
    extended characters to correctly render them; the
    included SarasaGothicFixed TTF font is updated to
    support such characters.Certain Traditional Chinese
    DOS software like the Hyper Editor 5.03 (漢書5) makes
    use of ChinaSea characters. Also moved "gbk" config
    option from [dosv] to [ttf] section. (Wengier)
  • Added config option "forcesquarecorner" (in [sdl]
    section) which when set to "true" will force to
    disable rounded corners on Windows 11. (Wengier)
  • Added code to INT 18h emulation (IBM PC mode) to
    jump to ROM BASIC if the user provided an IBM
    ROM BASIC image to load. (joncampbell123)
  • Added config option "ibm rom basic" in [dosbox]
    section which allows users to load a ROM image
    containing IBM PC ROM BASIC, for disk images
    and MS-DOS setups that need it. (joncampbell123)
  • Added stub IBM ROM BASIC points in the BIOS area
    so that when BASIC(A).COM from MS-DOS 1.x and 2.x
    are run, a polite message is displayed instead of
    invalid code and crashes. (joncampbell123)
  • 8086 and 80186 CPU types no longer check segment
    limits. (joncampbell123 & Allofich)
  • Put in undocumented behavior in opcode 0x8e for
    8086 and 80186. (Allofich)
  • Made 8086 treat opcodes C0,C1,C8,C9,F1 as aliases
    of C2,C3,CA,CB,F0, and opcodes 0x60-0x6F as aliases
    of opcodes 0x70-0x7F. (Allofich)
  • Adjusted multiple-prefix bug for 8086/286 to only
    apply when REP or REPZ is used. (Allofich)
  • Fixed 0x0F opcode being valid on 80186 core when
    it should be invalid. (Allofich)
  • Fixed CGA modes to always use a character height
    of 8, rather than reading it from address 485h.
    Fixes corrupt graphics in the PC Booter version
    of Apple Panic. (Allofich)
  • Fixed underflow when INT 13 AH=2 called for
    sector 0. (Allofich)
  • Fixed infinite loop when trying to run a 32-bit
    program with the 8086 CPU type. (Allofich)
  • Fixed INT 13h emulation to no longer call the DOS
    kernel "DriveManager" if the DOS kernel has been
    shutdown. This fixes memory corruption issues in
    the guest OS system run by the BOOT command that
    can occur when the "swap disks" command is used in
    the emulator. (joncampbell123)
  • Fixed DTA memory leak from FAT driver if FAT drive
    was mounted when booting into a guest OS. (joncampbell123)
  • Fixed a crash on unmount that occurs if IMGMOUNT
    is used to mount multiple floppy disk images to
    a drive letter. (joncampbell123)
  • Fixed possible crash with printing. (jamesbond3142)
  • Fixed possible freeze when shutting down Windows 9x
    after changing a CD image from the menu. (Wengier)
  • Fixed the default U.S. keyboard layout for the
    HX-DOS build. (Wengier)
  • Fixed copying full-screen or multi-line text from a
    DBCS codepage in TTF output or PC98 mode. (Wengier)
  • Fixed possible crash at start with getsysfont=true
    when a font may not be obtained on some Chinese
    Windows systems. (Wengier)
  • Fixed TTF color issue with some DOS GUI programs by
    initializing the color scheme when with default
    COLORS= setting in EGA or VGA mode. (Wengier)
  • Fixed some Direct3D pixel shaders not working (such
    as GS2x and CRT-geom-blend). (Wengier & depaljas)
  • Fixed config option windowposition=x,y not working
    in Linux/macOS SDL1 builds. (Wengier)
  • Fixed copying files from the virtual drive Z: not
    working when using the 4DOS shell. (Wengier)
  • Fixed some issues in MORE command. (Wengier)
  • Fixed "DIR>NUL" freeze/crash when only disk or CD
    images are mounted. (nanshiki)
  • Fixed BIOS screen when resetting the machine with a
    non-TTF output and DOS/V mode enabled. (Wengier)
  • Fixed the key `/~ not working when IME is enabled
    on a non-Japanese keyboard. (Wengier)
  • Fixed display glitches in the game "Continuing
    adventures of Cyberbox". (Wengier)
  • Fixed unusable joystick with config options like
    joy1response1 set to certain values. (Baderian)
  • Make memory B0000-B7FFF unmapped for the CGA
    emulation. Fixes "Backgammon 5.0" detecting that
    an MDA is also present when using CGA. (Allofich)
  • Make floppy I/O delay separately configurable from
    hard drive delay, and make it slower than before
    by default. It is adjustable via the "floppy drive
    data rate limit" config option. (Allofich)
  • Always return bit 6 of port 61h as set for PC and as
    clear for PCjr and Tandy. Allows Zaxxon to load in
    PC mode. (Allofich)
  • Video emulation for PC-98 mode (for 400-line modes)
    is now 16:10 instead of 4:3. 480-line PC-98 modes
    are still 4:3. (joncampbell123)
  • PC-98 EGC emulation: Add generic ope_xx handler for
    the remaining block of undefined/undocumented EGC
    ROPs. This fixes "Atomic Punker" which uses EGC ROP
    0xBE for sprite rendering. (joncampbell123)
  • Don't run mouse setup code if there is no emulated
    mouse. (Allofich)
  • Integrated commits from mainline (Allofich)
    • Add proper opl3 handling of the waveform select
      to dbopl.
    • Correct disassembly of some FPU instructions.
dosbox-x - DOSBox-X 0.83.19 2021-11-01 10:33

Published by joncampbell123 almost 3 years ago

Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.

You can also see the release notes here: DOSBox-X 0.83.19 Release Notes and the user guide here: DOSBox-X Wiki

For this version, 32/64-bit MinGW builds are included in the Windows installers and not separately available.

0.83.19

  • Reorganized the "List network interfaces" and "List
    printer devices" dialogs (under the "Help" menu) to
    allow the use of scroll bars. (Wengier)
  • Added menu option "Reset TTF color scheme" to reset
    the current color scheme for TTF output. (Wengier)
  • Added config option "righttoleft" in [TTF] section
    which when set to "true" will cause DOSBox-X to
    display text from right to left (instead of left to
    right) for the TTF output. It can also be toggled
    from the menu ("Video" => "TTF options" => "Display
    text from right to left"). (Wengier)
  • Added config option "vga fill active memory" which
    when set to "true" will fill inactive video memory
    regions with RAM rather than mapping them as empty.
    This allows the ETen Chinese DOS system (倚天中文系統)
    3.5/2000 (e.g. ET16V and ET24VA) to run. (Wengier)
  • Added config option "middle_unlock" ([sdl] section)
    to control whether to unlock the mouse with middle
    mouse button click. (Wengier)
  • Added config option "dosvfunc" in [ttf] section to
    support DOS/V applications when country information
    is set to Japan in TTF output. (nanshiki)
  • Added "VTEXT" command to view or change the current
    V-text mode for the DOS/V emulation. Also improved
    the font support for 24-pixel font DOS/V mode, such
    as supporting HZK24? fonts for Simplified Chinese
    DOS/V mode and STDFONT.24 from ETen Chinese system
    for Traditional Chinese DOS/V mode. If a Chinese
    font is specified via "fontxdbcs", "fontxdbcs14" or
    "fontxdbcs24" options, it will be loaded before
    system font even with "getsysfont=true". (Wengier)
  • Commands like 80x25, 80x43, ... now use internal
    function for better compatibility with the TrueType
    font (TTF) output. (Wengier)
  • MODE command without a parameter will now print the
    current lines/columns instead of usage. (Wengier)
  • INTVEC debugger command now correctly outputs
    addresses when in protected mode. (Allofich)
  • Fix horizontal lines in the debugger window being
    rendered as unrelated characters in some code
    pages. (Allofich)
  • INT 21 AX=4B03 now sets AX to 0000 like MS-DOS
    does. Fixes missing music in "聊齋誌異之幽谷傳奇"
    (Liáozhāi zhì yì zhī yōugǔ chuánqí) (Allofich)
  • Use 0x1E to 0x3E for the keyboard buffer of the CGA
    machine, which fixes the controls locking up in the
    PC booter version of Apple Panic. (Allofich)
  • Allowed machine types "pcjr_composite" and
    "pcjr_composite2", similar to "cga_composite" and
    "cga_composite2", instead of having to switch the
    composite type manually. (Wengier)
  • If machine is PCjr, place PC BIOS reset code at
    F000:0043 to match that of the real BIOS.
  • Fix PCjr NMI handler to load DS with segment 0x0040.
    Fixes crashes in SHAMUS. (Allofich)
  • Fix PCjr NMI handler to use 8086-level instructions
    when loading DS with segment 0x0040 so that it
    works properly with cputype=8086.
  • Remove useless check for signed divide quotient
    of 0x80/0x8000/etc. (the result was -0x80/0x8000/etc
    anyway. Add code to check specifically for these
    values after signed divide if cputype=8086 and
    trigger divide overflow exception, to match behavior
    described for the 8086 processor.
  • Modify exception handling so that for cputype=8086
    the return address for an exception handler points
    at instruction after fault location.
  • Fix IDIV instruction incorrectly raising a divide
    error exception for some borderline values. Fixes
    Microsoft Flight Simulator. (Allofich)
  • IBM PC BIOS emulation fixed to place key pieces of
    code and entry points at fixed legacy locations
    required by some older DOS games, instead of
    by dynamic allocation. Added code to BIOS allocation
    to reserve F000:E000 or higher for fixed allocation
    and force dynamic allocation below that address to
    prevent further conflicts should others submit
    pull requests for additional fixed locations. This
    fixes some games like "聊齋誌異之幽谷傳奇" (Liáozhāi
    zhì yì zhī yōugǔ chuánqí) which appear to assume
    some of these fixed BIOS addresses and will
    crash if they are wrong.
  • Added tool EMSMAGIC.COM as alternative EMS manager,
    which can be dynamically installed or uninstalled
    with the setting ems=false. (Wengier)
  • If a program is provided in the command-line when
    launching DOSBox-X, it will now be executed after
    any commands in the [autoexec] section by default.
    A command-line option "-prerun" is added to force
    the program run before any commands in [autoexec]
    section like before. (Wengier)
  • Added auto-detection for single-wide DBCS-encoded
    characters for the TTF output (non-PC98). (Wengier)
  • Improved the menu option "Restart DOSBox-X with
    language file..." (under "Main") for switching
    between DBCS languages. (Wengier)
  • Disabled the Alt+F4 key for closing the DOSBox-X
    window in MinGW SDL2 builds. (Wengier)
  • Fixed program or config file containing Unicode
    characters passed from command-line when launching
    DOSBox-X in Windows SDL2 builds. (Wengier)
  • Fixed issue with DELETE key in PC-98 mode. (Wengier)
  • Fixed COLORS config option (in [ttf] section) not
    working in the previous version. (Wengier)
  • Fixed issues after resetting the virtual machine
    when using DBCS language files. (Wengier)
  • Fixed some issues related to system IME support for
    CJK (Chinese/Japanese/Korean) languages, for both
    Windows SDL1 and SDL2 builds. (nanshiki & Wengier)
  • Fixed bugs in the region memory allocator C++ class
    that claimed the entire free block even if the
    size wanted was smaller. Added field to remember if
    the allocated block was allocated for fixed or
    dynamically allocated memory. Cleaned up allocator
    code and removed redundancy.
  • Fix SELINFO command not showing output correctly
    in the debugger window. (Allofich)
  • Better CMOS register B and C emulation. (Allofich)
  • Integrated commits from mainline (Allofich)
    • Support for DMF floppy disk images.
    • Zero-out DX in EXEC overlay command.
    • Improve stack check for wrap-around cases.
    • Change to misc_output for SVGA_S3Trio.
dosbox-x - DOSBox-X 0.83.18 2021-10-01 13:58

Published by joncampbell123 about 3 years ago

Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.

You can also see the release notes here: DOSBox-X 0.83.18 Release Notes and the user guide here: DOSBox-X Wiki

0.83.18

  • Cleaned up and more accurately worded CMOS-related
    log messages. (Allofich)
  • Fixed the names of virtual files and files on mounted
    FAT drive images being logged as "(null)". (Allofich)
  • Fixed packed structure alignment problem with MSVC
    (Microsoft C++) builds regarding some disk image
    formats. These problems prevented VS2019 builds from
    mounting hard disk images. (Allofich)
  • REP STOSB will correctly move one byte if one byte
    remains to be processed aka CX == 1, this is needed
    for FD98.COM self clearing code to work properly. (nanshiki)
  • Fixed IOCTL support for character device drivers. (nanshiki)
  • Fixed ANSI ESC [6n escape handling to correctly
    report cursor position as 1-based count, not 0-based
    count. (nanshiki)
  • PC-98 INT DCh emulation fixed to better represent the
    function key shortcuts as real DOS does. (nanshiki)
  • Emulator fix for HX-DOS builds. (Wengier)
  • Integrated commits from mainline (Allofich)
    • Fix the return value of register al from INT10 ah=0x0F
      for non EGA/VGA machines.
dosbox-x - DOSBox-X 0.83.17 2021-09-01 07:06

Published by joncampbell123 about 3 years ago

Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.

You can also see the release notes here: DOSBox-X 0.83.17 Release Notes and the user guide here: DOSBox-X Wiki

0.83.17

  • Added FISTTP instruction to experimental cputype (LBi)
  • Updated debugger to support and decode fisttp, fcomi,
    fcomip, fucomi, fucomip (LBi)
  • Added support for Chinese/Japanese/Korean IMEs on
    Windows/Linux SDL2 builds. (nanshiki)
  • Added cputype=experimental, which is the same as the
    highest CPU emulation level but with additional
    instructions from newer processors that do not exist
    in the era emulated by DOSBox-X i.e. FISTTP which is
    an SSE3 Pentium 4 instruction. (joncampbell123)
  • Added support for 286/386 call gates to JMP
    instruction (joncampbell123)
  • Added -bd option to IMGMOUNT to allow mounting
    partitions from a hard disk image mounted as an
    INT 13h hard disk. is the numeric value the
    hard disk image was mounted to. In this way, it
    becomes possible to mount any or all partitions
    in a hard disk image. WARNING: To safely mount
    multiple partitions, use -o partidx= to specify
    each partition you mount by index. (joncampbell123)
  • If a drive has no volume label, and user runs
    LABEL without specifying one, do not ask whether
    or not to delete the volume label because there
    is in fact no volume label to delete. (joncampbell123)
  • Added FreeDOS utilities DEFRAG, FORMAT, FDISK,
    CHKDSK, and SYS to the built-in Z drive. KERNEL.SYS
    is not provided so that the user can provide what
    they consider the best version of the FreeDOS kernel
    to format with if they use FORMAT /S (joncampbell123)
  • INT 29h routes output through ANSI.SYS driver in
    both IBM PC and PC-98 mode, unless ansi.sys=false
    is set in the config setting. (joncampbell123)
  • Integrated commits from mainline (Allofich)
    • Fix regression in r4444: Hercules machine type
      cursor translation.
    • Remove redundant signature for ET4K that is now
      done in video BIOS.
    • Implement mouse driver function 0x27, fixes
      Alive - Behind the Moon.
    • Add log message for unusual cases where an
      executable unsafely places its initial stack outside
      the memory block.