Skip to content

Releases: joncampbell123/dosbox-x

DOSBox-X menu rewrite WIP BETA 2018-05-06 17:54

07 May 01:05
Compare
Choose a tag to compare

This is a WIP release. This contains a lot of new code concerning the menu layout.

The menu handling system is being changed from one that loads a static Windows menu resource (IDR_MENU) to one that constructs a menu in a platform-independent manner.

The code is brand new and may have some bugs.

The menu framework concept:

  • Components create a menu item by name, as an individual component
  • The mapper automatically creates a menu item for each mapper shortcut registered at startup
  • Lists of popup menus is defined by the menu item name
  • Each menu list can refer to popup menus by name to enable levels of popups
  • The final layout is defined in menu.cpp by name
  • Components can change text, enable, checked, and shortcut text at any time, which is then reflected in the menu
  • Windows builds map this to the Windows menu system
  • Systems where menu support is not implemented, simply do not show a menu, but the menu is in memory anyway
  • Menu items are then connected to a callback function, a mapper shortcut, or both

Look in menu.cpp for the char*[] string arrays that define menu layout by name. It's fairly straightforward.

Another additional feature, connected to the mapper, is that the mapper system automatically updates the menu item for a mapper shortcut when the key binding changes.

This eliminates the problem with DOSBox and DOSBox-X where the shortcut shown in the menu is only correct if the mapper shortcut is left at default.

In the new code, changing the key binding for a mapper shortcut should automatically update the menu.

A quick way to test this:

  • Bring up the mapper
  • Pick a menu item with a shortcut
  • Locate the same shortcut in the mapper UI
  • Click on the shortcut, to edit the binding
  • Note the shortcut shown in the menu
  • Change the binding modifiers
  • Note the shortcut shown in the menu now, it should reflect your changes
  • Delete the binding
  • Note the shortcut shown in the menu, there should no longer be any shortcut
  • Add a binding
  • Note the shortcut shown in the menu, it should show your new binding.

Since menu item order is now defined in menu.cpp, rearranging the menu should be simple now and it should be possible to submit simple patches to do so.

The code only works with Windows at this time. The next major development step for this code is to try and produce identical menus under Mac OS X.

Mac OS X builds would benefit from having proper menus instead of the minimal and useless default provided by SDL.

Have fun. Please use the comments section of the commit this is assigned to for comments.

DOSBox-X release 0.82.6 2018-05-03 09:55

03 May 16:56
Compare
Choose a tag to compare

0.82.6

  • Resizing the window in SDL 1.x Windows builds
    fixed to work correctly in the latest build
    (1803) of Windows 10. Prior to this fix, resizing
    the window on that build would quickly hit a deadlock
    that prevented the user from moving or resizing the
    window again after that point.
  • PC-98 dosbox.conf option added to select between
    accurate key/shift mapping, vs an alternate mapping
    appropriate for US keyboards (Yksoft1)
  • SDL 1.x for Linux/X11 modified to differentiate
    Ro and Yen keys despite X11 xkbmap apparently
    mapping both to the backslash. The keymap is
    queried to detect the scancodes at startup
    in order to return the correct SDLK constant.
  • SDL 1.x and DOSBox-X mapper code updated to
    correctly map Ro, Yen, @ ^ ; : keys on a JP
    keyboard in Windows and Linux.
  • PC-98 keyboard BIOS handling updated to generate
    ASCII codes according to PC-98 layout, instead
    of by US keyboard layout.
  • Mapper updated to support @ (at sign) key,
    ^ (caret) key, and a few other keys that
    exist on JP keyboards.
  • "Hold" modifier for mapper bindings fixed.
    It is now possible to tap the key again to
    release the hold.
  • VHD differencing disk support added (Shane32)
  • INT 18h AH=0Ah updated to support 20-line
    text mode. Some games use the 20-line text
    mode to space the text out vertically.
    Such games will display correctly now.
  • INT 18h now maintains text layer state
    in BIOS data area byte 0x53C, just as
    the actual BIOS does.
  • Added PC-98 INT 18h function AH=0Ah and
    AH=0Bh to support BIOS calls that enable
    "Simple Graphics" mode. This fixes
    problems with other games having vertical
    lines over the graphics, even though
    these games do not appear to use the
    simple graphics at all. (yksoft1)
  • Added support for PC-98 "Simple Graphics"
    mode of text layer attribute bit 4. When
    enabled, the attribute bit 4 changes
    meaning from vertical line to a bit
    indicating that the 8-bit character is
    a low resolution 2x4 bitmap to be
    displayed in the text layer. This fixes
    score and status display in Carat.
  • PC-98 INT 18h now implements AH=31h to
    report CRTC, text and graphics state and
    24khz/31khz video mode selection. This
    fix allows some games including Touhou
    Project to pace it's gameplay correctly
    in either video mode.
  • MinGW HX DOS builds default to host key
    F12 again
  • PC-98 mode now offers selection between
    24khz and 31khz video modes (yksoft1)
  • KEYB.COM fixed to load only the fonts the
    ROM BIOS has allocated. This fixes a guest
    system crash if using KEYB.COM with
    machine=ega
  • Moved host key to F11 for Windows. F12 is
    already taken by some internal debugging
    voodoo within Windows itself.
  • DOSBox-X codebase now strongly encourages
    compilation with C++11, will become
    required soon.
  • BOOT command fixed to make it possible to
    IMGMOUNT multiple floppies to drive 1, and
    boot from another disk in drive 0. This
    should enable the use of DOSBox-X with
    PC-98 games that expect to boot from drive
    A and the user to rotate through floppies
    in drive B.
  • IMGMOUNT fixed to support mounting with no
    filesystems and multiple disk images, and
    using the "swap floppy" command to rotate
    through them.
  • Added options to BOOT command that allows
    specifying multiple disk images and an option
    that says to swap disk images only through
    one drive.
  • VHD dynamic support added (shane32)
  • INT 10 AH=9 background color fixed in 256-color
    VGA modes.
  • Intro text updated to reflect new default
    key bindings.
  • Mapper shortcuts not in common use now exist
    without any default binding, and most existing
    default bindings are now associated with the
    "host" key.
  • Added 4th modifier "host" key to the mapper.
    This "host" key is F12 by default. The intent
    is to eventually move most mapper shortcuts
    to some combination of F12 and another key,
    rather than many shortcuts scattered over the
    keyboard. Existing dosbox mapper files should
    continue to work.
  • Renderer and 32bpp VGA display code fixed to
    reorder RGBA order for correct display on Intel
    Mac OS X systems. Mac OS X, on Intel systems,
    uses a strange BGRA 32bpp format that requires
    some adjustment on our part to display correctly.
  • Added more 24bpp INT 10h VESA BIOS modes.
  • Removed per-sector debug messages from VFD/FDD
    image support code.

DOSBox-X release 0.82.5 2018-04-18 23:51

19 Apr 06:52
Compare
Choose a tag to compare

0.82.5 (04/18/2018)

  • Expanded memory manager memory copy fixed to
    enable A20 gate temporarily so that the copy
    works correctly.
  • PC-98 FM board emulation now defaults to IRQ 12
    instead of IRQ 3. A lot of PC-98 games seem to
    have a strong preference for that IRQ with regard
    to FM music.
  • PC-98 reset I/O port (F0h) fixed to emulate CPU
    reset according to the SHUT0 and SHUT1 state set
    by the guest. Normally writing port F0h is a
    signal to reset but SHUT0 and SHUT1 can be set to
    indicate alternate behavior. This fixes VEMM486.EXE
    (an expanded memory manager) and allows it to run,
    since this manager appears to reset by port F0h
    then resume execution normally. Prior to this fix,
    booting a MS-DOS disk image that loads VEMM486.EXE
    at startup yielded nothing but an infinite reboot
    loop.
  • XMS and EMS emulation fixed not to leave A20 gate
    enabled unless EMS emulation is set to EMM386 and
    dosbox.conf is set to run the system in virtual
    8086 mode. There are plenty of DOS games that
    malfunction if loaded too low in memory with the
    A20 gate enabled.
  • PC-98 mouse emulation, at the 8255 level, now uses
    new C++ abstraction that seems to work fairly well
    even with the common PC-98 MOUSE.COM driver.
  • "BOOT" command in PC-98 mode updated to no longer
    require the --force switch. Booting MS-DOS from a
    hard disk or floppy disk image in PC-98 mode is
    generally functional now.
  • Added PC-98 SCSI/SASI hard disk emulation, and fixed
    BOOT to enable booting PC-98 MS-DOS from a hard drive
    (HDI image)
  • FAT driver fixed to read/write logical sectors vs
    actual drive sectors and removed geometry remapping
    hack.
  • FAT driver fixed to avoid memory corruption that
    may occur if reading a partition table from a drive
    that has more than 512 bytes/sector.
  • .BAT file parsing fixed to handle BAT files not
    in the current directory (yksoft1)
  • Fixed floppy controller emulation bug that failed
    to advance sectors during multi-sector read/write.
  • Fixed floppy emulation bug that prevented seeking.
    The "head" would get stuck at track 0 and never move.
  • Dynamic core allows running with paging enabled again,
    IF dosbox.conf says to allow it (yksoft1)
  • DOS file I/O functions AH=3Fh and AH=40h updated to
    reflect undocumented MS-DOS behavior that silently
    truncates read/written byte count if the offset
    and byte count reach beyond the end of a 64KB segment.
    This fixes some demoscene productions that read 64KB-1
    bytes but apparently rely on this behavior to avoid
    display errors.
  • FluidSynth fixes and API updates. DOSBox-X no longer
    uses a private API within FluidSynth. (heftig)
  • Added dosbox.conf option to control the size of the
    DOS "Swappable Data Area" which is said to help with
    shelling and task swapping in WordPerfect 5.x and 6.x
  • Added "minimum mcb free", and set minimum mcb segment to
    value same or similar to DOSBox SVN. The "free" option
    directs DOSBox-X to allocate memory before that segment
    value to fill memory.
  • Fixed COMMAND.COM PSP segment to correctly identify it's
    resident size in memory.
  • COMMAND.COM in the DOSBox shell now allocates itself
    normally instead of from a special segment so that it
    appears normally in the MCB allocation chain.
  • BIOS now clears it's stack before booting the DOS shell.
  • Fix Pause (CTRL+Pause or ALT+Pause) to release all keys
    in the mapper so that CTRL, ALT, or Shift are not left
    "stuck" when emulation resumes.
  • Initial host keyboard recognition, and base framework
    for general keyboard language/layout handling. Keyboard
    layout recognition added for Windows and Linux/X11.
  • Fixed 350-line INT 10h VESA modes not to apply EGA mode
    adjustments, which fixes display distortion.
  • INT 10h VESA modes 720x480 and 848x480 fixed.
  • Fixed INT 10h VESA emulation to round up bytes/scanline
    so that 4bpp planar modes display properly.
  • Fixed INT 10h VESA mode 1400x1050 16-color (4bpp planar)
    mode to resolve overlapping mode number.
  • Pulled in VGA vtotal + 2 fix from DOSBox SVN
  • Pulled in EGA display mode fixes from DOSBox SVN to fix
    EGA graphics emulation.
  • Fixed INT 10h AH=1Ch (save/restore VGA state) to handle
    VGA attribute controller properly so that the display is
    not left blank.
  • PC-98 GDC emulation fixed to handle START DISPLAY properly
    by un-blanking the display (fixes "Ellena")
  • Fixed possible format string vulnerabilities (gnustomp)
  • Added menu options to enable/disable EGC and GRCG
    emulation (yksoft1)
  • Added options to enable/disable EGC and GRCG emulation
    (to emulate older hardware).
  • Added PC-98 BIOS function to read 8x16 character bitmaps,
    which fixes "Power Dolls 2"
  • BIOS now reports 16-color and EGC graphics. Some games
    that check the BIOS for capabilities may now begin to
    use 16-color graphics and EGC functions.
  • Added PC-98 INT 18h function to read character font.
    This also resolves garbled text in TH01.
  • PC-98 GDC emulation now uses cursor specification
    (line per character row) to determine whether graphics
    are doubled vertically or not. Several PC-98 games
    switch between 200-line (doubled) and 400-line graphics
    by programming the GDC directly, rather than through
    the BIOS.
  • Added various video-related BIOS variables to the data
    in PC-98 mode.
  • GDC RESET/SYNC debug text updated to indicate which GDC
    is undergoing the RESET/SYNC.
  • Debugger "LOG" command (CPU execution logging) fixed to
    automatically stop logging when the BIOS begins the
    POST routine after system reset. The user who invoked
    "LOG" probably cares more about what happened up to the
    game crash, fault and reset rather than normal BIOS startup.
  • BIOS now properly unmasks the PC-98 cascade IRQ, which
    allows IRQ 8-15 to function, including the mouse (IRQ13)
  • Debugger interface now indicates whether 80386 paging is
    enabled or not at any time.
  • Help text updates to reflect DOSBox-X changes (Shane32)
  • BIOS INT 13h emulation updated to support up to 4 hard
    drives (Shane32)
  • IMGMOUNT and BOOT code cleanup (Shane32)
  • IMGMOUNT RAM drive support: Additional fixes and geometry
    work done, and some hangs resolved (Shane32)
  • CPU emulation fixed to allow setting a breakpoint on
    ANY interrupt of a specific number, not just software
    interrupts. It is now possible to use BPINT to break
    upon hardware (IRQ) interrupts.
  • DOS kernel fixed to drop to the debugger if the MCB
    (memory control block) chain is corrupted, so that
    the corrupted state can be examined. When the debugger
    continues execution, a full restart of the DOS kernel
    is run. If DOSBox-X was compiled without the debugger,
    then the normal E_Exit() path is still taken.
  • Added debugger command to show, and modify, the state
    of the PIC (interrupt controller).
  • Added debugger command to view or change the A20 gate.
  • Added debugger command to view the state of EMS, memory
    handles, allocation, and EMS page frame mapping.
  • Added debugger command to view the state of XMS, memory
    handles, and allocation.
  • Added debugger command to view the layout of the ROM
    BIOS region (0xF0000-0xFFFFF) chosen by emulation.
  • DOS kernel now logs kernel allocations, which can be
    seen in the debugger using the "DOS KERN" command.
  • Added "RUN" command as an alternative to hitting F5.
  • Added "RUNWATCH" to the debugger, so that watching the
    system run in the debugger is possible.
  • Debugger data window can now be used to view memory in
    segmented, virtual (through paging), and physical (bus
    address) modes.
  • Debugger window data and code view windows now indicate
    regions of memory that are beyond the end of the segment.
  • Debugger window data and code view windows now indicate
    regions of memory that are paged out (will cause a page
    fault if accessed)
  • PC-98 A20 gate I/O port F6h fixed to work properly as an
    enable or disable, rather than just an enable. The PC-98
    version of HIMEM.SYS no longer complains about not being
    able to control the A20 gate.
  • IMGMOUNT RAM drive support: Ramdrive bug fixes and changed
    drive limits from ATA limits to BIOS/MBR (Shane32)
  • INT 21h fixed to use BIOS INT 1Ch to read date and time in
    PC-98 mode. Arrowgun now runs properly.
  • Fixed EMS emulation not to claim XMS memory (and zero BIOS
    extended memory size) if EMS emulation is in EMS board mode
    (and therefore not allocating extended memory through HIMEM.SYS).
  • PC-98 INT 1Fh extended memory copy implemented. DOS games in
    PC-98 mode can now use this API to access extended memory.
  • Fixed HIMEM.SYS emulation in PC-98 mode to zero BIOS extended
    memory values when claiming extended memory.
  • PC-98 mode now sets BIOS data area values correctly regarding
    conventional and extended memory.
  • Added rudimentary emulation of non-volatile RAM at the
    trailing edge of text RAM (A3FE0-A3FFF).
  • PC-98 mode now adds additional BIOS data values at boot time
    so that guest OSes like PC-98 MS-DOS can see the floppy drive,
    see keyboard input, and determine the boot drive properly.
    It is now possible to boot MS-DOS in PC-98 mode.
  • Added rudimentary PC-98 INT 1Bh BIOS interrupt, at least for
    floppy disk emulation.
  • Cleanup and formatting enhancements to IMGMOUNT ramdisk (Shane32)
  • DOS CON emulation in PC-98 mode now emulates two additional
    ANSI escapes to clear the screen that are specific to NEC's
    MS-DOS implementation, which fixes text layer problems with...
Read more

DOSBox-X release 0.82.4 2018-03-16 21:57

17 Mar 05:04
Compare
Choose a tag to compare
  • BIOS now reports 16-color and EGC graphics. Some games
    that check the BIOS for capabilities may now begin to
    use 16-color graphics and EGC functions.
  • Added PC-98 INT 18h function to read character font.
    This also resolves garbled text in TH01.
  • PC-98 GDC emulation now uses cursor specification
    (line per character row) to determine whether graphics
    are doubled vertically or not. Several PC-98 games
    switch between 200-line (doubled) and 400-line graphics
    by programming the GDC directly, rather than through
    the BIOS.
  • Added various video-related BIOS variables to the data
    in PC-98 mode.
  • GDC RESET/SYNC debug text updated to indicate which GDC
    is undergoing the RESET/SYNC.
  • Debugger "LOG" command (CPU execution logging) fixed to
    automatically stop logging when the BIOS begins the
    POST routine after system reset. The user who invoked
    "LOG" probably cares more about what happened up to the
    game crash, fault and reset rather than normal BIOS startup.
  • BIOS now properly unmasks the PC-98 cascade IRQ, which
    allows IRQ 8-15 to function, including the mouse (IRQ13)
  • Debugger interface now indicates whether 80386 paging is
    enabled or not at any time.
  • Help text updates to reflect DOSBox-X changes (Shane32)
  • BIOS INT 13h emulation updated to support up to 4 hard
    drives (Shane32)
  • IMGMOUNT and BOOT code cleanup (Shane32)
  • IMGMOUNT RAM drive support: Additional fixes and geometry
    work done, and some hangs resolved (Shane32)
  • CPU emulation fixed to allow setting a breakpoint on
    ANY interrupt of a specific number, not just software
    interrupts. It is now possible to use BPINT to break
    upon hardware (IRQ) interrupts.
  • DOS kernel fixed to drop to the debugger if the MCB
    (memory control block) chain is corrupted, so that
    the corrupted state can be examined. When the debugger
    continues execution, a full restart of the DOS kernel
    is run. If DOSBox-X was compiled without the debugger,
    then the normal E_Exit() path is still taken.
  • Added debugger command to show, and modify, the state
    of the PIC (interrupt controller).
  • Added debugger command to view or change the A20 gate.
  • Added debugger command to view the state of EMS, memory
    handles, allocation, and EMS page frame mapping.
  • Added debugger command to view the state of XMS, memory
    handles, and allocation.
  • Added debugger command to view the layout of the ROM
    BIOS region (0xF0000-0xFFFFF) chosen by emulation.
  • DOS kernel now logs kernel allocations, which can be
    seen in the debugger using the "DOS KERN" command.
  • Added "RUN" command as an alternative to hitting F5.
  • Added "RUNWATCH" to the debugger, so that watching the
    system run in the debugger is possible.
  • Debugger data window can now be used to view memory in
    segmented, virtual (through paging), and physical (bus
    address) modes.
  • Debugger window data and code view windows now indicate
    regions of memory that are beyond the end of the segment.
  • Debugger window data and code view windows now indicate
    regions of memory that are paged out (will cause a page
    fault if accessed)
  • PC-98 A20 gate I/O port F6h fixed to work properly as an
    enable or disable, rather than just an enable. The PC-98
    version of HIMEM.SYS no longer complains about not being
    able to control the A20 gate.
  • IMGMOUNT RAM drive support: Ramdrive bug fixes and changed
    drive limits from ATA limits to BIOS/MBR (Shane32)
  • INT 21h fixed to use BIOS INT 1Ch to read date and time in
    PC-98 mode. Arrowgun now runs properly.
  • Fixed EMS emulation not to claim XMS memory (and zero BIOS
    extended memory size) if EMS emulation is in EMS board mode
    (and therefore not allocating extended memory through HIMEM.SYS).
  • PC-98 INT 1Fh extended memory copy implemented. DOS games in
    PC-98 mode can now use this API to access extended memory.
  • Fixed HIMEM.SYS emulation in PC-98 mode to zero BIOS extended
    memory values when claiming extended memory.
  • PC-98 mode now sets BIOS data area values correctly regarding
    conventional and extended memory.
  • Added rudimentary emulation of non-volatile RAM at the
    trailing edge of text RAM (A3FE0-A3FFF).
  • PC-98 mode now adds additional BIOS data values at boot time
    so that guest OSes like PC-98 MS-DOS can see the floppy drive,
    see keyboard input, and determine the boot drive properly.
    It is now possible to boot MS-DOS in PC-98 mode.
  • Added rudimentary PC-98 INT 1Bh BIOS interrupt, at least for
    floppy disk emulation.
  • Cleanup and formatting enhancements to IMGMOUNT ramdisk (Shane32)
  • DOS CON emulation in PC-98 mode now emulates two additional
    ANSI escapes to clear the screen that are specific to NEC's
    MS-DOS implementation, which fixes text layer problems with
    Rusty.
  • PC-98 GDC dip switch 2-8 emulation fixed. It was backwards.
    This may break existing dosbox.conf configurations, apologies
    in advance.
  • Added -xms option to LOADFIX command. When given, the command
    consumes extended memory instead of conventional memory.
  • HIMEM.SYS emulation fixed to behave more like Microsoft's
    HIMEM.SYS implementation regarding global & local A20 gate
    control.
  • Mac OS X builds fixed to work from the user's home directory
    if run from the Finder, instead of trying to operate at the
    root of the filesystem as directed by the Finder.
  • Mac OS X builds now put the FREECG98.BMP file inside of the
    .app bundle, and fall back to it if not found in the current
    directory.
  • RPM builds now install FREECG98.BMP in /usr/share/dosbox-x
    and refer to it if not in your local directory, in order to
    better provide PC-98 emulation.
  • PC-98 BOOT command: Loading addresses and CPU register layout
    updated to match actual hardware behavior, in which the boot
    sector is loaded at just under 128KB.
  • Build updates to support compiling for Windows with MinGW.
  • BOOT now accepts a --debug switch that causes DOSBox-X to break into
    the debugger when the boot sector begins to execute.
  • BOOT now accepts a --force switch to override the PC-98 lockout,
    if the user wants to better understand why I locked it out in PC-98 mode.
  • PC-98 support now supports reading font from FONT.ROM, if available.
  • Code, data, and output now respond to arrow, page up/down and
    home/end keys as a user would normally expect.
  • Arrow and page up/down keyboard input now goes to active window
    instead of mapping directly to any specific window.
  • Debugger interface now has the concept of an "active" window, and
    the title bar of each window hilights if it is active.
  • Debugger interface now hides the "variables" window by default.
  • Fixed window "titles" in debugger interface to fill the terminal
    line they're on and use ncurses horizontal line character which
    on modern systems looks better than hyphens.
  • Removed one line padding around data window in debugger interface.
  • Debugger interface redesigned to permit more flexible layout
  • Debugger interface no longer crashes when terminal window is sized
    down too small (when there is no room for the output window)
  • EMM386 (ems) emulation fixed to always turn on the A20 gate when
    the DOS application requests to map pages into the EMS page frame.
    This fixes crashes with Creative's Sound Blaster 16 installer when
    run with the A20 gate turned off.

DOSBox-X release 0.82.4 2018-03-08 12:15

08 Mar 20:17
Compare
Choose a tag to compare
  • Improvements to build process
  • Source tree no longer provides configure script, you'll need to use autogen.sh to build
  • Linux RPM packages now include FREECG98.BMP, changelog, and reference conf in /usr/share/dosbox-x. If FREECG98.BMP is not available in the current directory, it will look for it in /usr/share/dosbox-x.
  • Mac OS X builds now include FREECG98.BMP in the app bundle, and will use that if one is not provided
  • Mac OS X builds will now default to using your home directory as the current working directory if run from the Finder

DOSBox-X release 0.82.4 2018-03-06 19:20

07 Mar 03:21
Compare
Choose a tag to compare

New MinGW-based builds are available for Windows XP systems and lower end CPUs.

  • BOOT now accepts a --debug switch that causes DOSBox-X to break into
    the debugger when the boot sector begins to execute.
  • BOOT now accepts a --force switch to override the PC-98 lockout,
    if the user wants to better understand why I locked it out in PC-98 mode.
  • PC-98 support now supports reading font from FONT.ROM, if available.
  • Code, data, and output now respond to arrow, page up/down and
    home/end keys as a user would normally expect.
  • Arrow and page up/down keyboard input now goes to active window
    instead of mapping directly to any specific window.
  • Debugger interface now has the concept of an "active" window, and
    the title bar of each window hilights if it is active.
  • Debugger interface now hides the "variables" window by default.
  • Fixed window "titles" in debugger interface to fill the terminal
    line they're on and use ncurses horizontal line character which
    on modern systems looks better than hyphens.
  • Removed one line padding around data window in debugger interface.
  • Debugger interface redesigned to permit more flexible layout
  • Debugger interface no longer crashes when terminal window is sized
    down too small (when there is no room for the output window)
  • EMM386 (ems) emulation fixed to always turn on the A20 gate when
    the DOS application requests to map pages into the EMS page frame.
    This fixes crashes with Creative's Sound Blaster 16 installer when
    run with the A20 gate turned off.

DOSBox-X release 0.82.4

01 Mar 05:11
Compare
Choose a tag to compare

NOTICE: This is the last official release to maintain both async and non-async Windows builds. Windows releases from this point on will contain the async code only.

0.82.4 (02/28/2018)

  • Updated ramdisk formatting code to better match FAT12/FAT16
    specifications and limits (Shane32)
  • Menu items related to Gravis Ultrasound, Glide emulation, Innova SID,
    and other IBM PC-specific options are now grayed out in PC-98 mode.
  • Updated Windows menus to gray out CPU core and type options that
    are invalid. Selecting a prefetch CPU type while core dynamic is
    no longer possible, and selecting dynamic core while using a
    prefetch cpu type is no longer possible.
  • CPU type submenu in Windows updated to reflect all types supported
    by DOSBox-X including 8086 and 286 cores.
  • Fixed E_Exit() crash on Windows in PDCurses endwin() that only
    happens if you had never brought up the debugger console window.
  • Minor oddities with OPNA stereo panning resolved.
  • Sound Blaster, Adlib, and PC-98 FM emulation now reset state
    correctly when the reset signal is given to avoid stuck notes.
  • Fixed BIOS logo in PC-98 mode to properly reset the graphics mode
    so that the logo is visible.
  • Added Windows menu items to control PC-98 GDC speed, 4-partition enable,
    200-line "scanline" effect enable, and PIT timer clock control.
  • Added "Restart DOS" command to the Windows menu, with code to
    allow it only if at the initial DOS shell.
  • Added "multi-track WAV" command to the Windows menu, under Capture
  • Added "reset system" command to the Windows menu
  • "Restart" menu command updated to clarify that it restarts DOSBox-X entirely.
  • OpenGL HQ output removed.
  • Commands to force driver (DirectX or WINDIB) removed.
  • Default disk I/O limit raised to more reasonable speeds.
  • FM code borrowed from Neko Project II now compiles on Mac OS X
  • IMGMOUNT now supports mounting a RAM drive (using -t ram) (Shane32)
  • Direct3D fullscreen aspect ratio fixes, especially for
    monitors with a 5:4 aspect ratio (such as 1280x1024) (Shane32)
  • "Show menu" in Windows builds system menu is now a toggle
    to show/hide the menu bar (Shane32)
  • Fixed broken color palette with CGA composite and EGA
    machine emulation. Composite CGA and machine=ega displays
    properly again.
  • According to documentation, IBM PC and PC-98 use different
    initial PC speaker frequencies. Update the code to match.
  • 8254 I/O port alias at 3FD9h-3FDFh added, which is needed
    for several PC-98 games that program the PC speaker
    frequency through those ports instead of through 71h-77h
  • New Intel 8255 emulation. PC-98 system 8255 emulation
    now uses this emulation, along with PC speaker emulation.
  • Fixed XMS memory copy functions to enable the A20
    gate so extended memory copies work correctly whether
    or not the DOS application in question made the call
    with A20 enabled. This fixes crashes and memory
    corruption while installing Windows 3.1 using SETUP.EXE.
  • "CLS" now sends the proper ANSI escapes to clear the
    console in PC-98 mode.
  • BIOS logo in PC-98 fixed to clear graphics RAM and
    set graphics back to 8-color digital mode when booting
    to DOS. This should fix palette errors and color issues
    with older PC-98/PC-88 games that use the 8-color
    graphics modes.
  • Added PC-98 INT 1Ch timer interval BIOS function,
    and timer countdown routine in IRQ 0.
  • Windows builds now incorporate pdcurses and enable
    the debugger interface (bulletshot60)
  • DOSBox-X now tracks the systemwide keyboard layout
    on Windows, and acts on user changes to the keyboard
    and language in the system.
  • Removed hack code in SDL 1.x that sets DOSBox-X's
    keyboard layout to the US layout even if the host
    uses anything else.
  • Fix CPU cycles count increment not to nag you to use
    core=dynamic if a) dynamic core is not available or
    b) you're already using dynamic core.
  • Added dynamic core back, it seems to be very stable
    again.
  • PC-98 FM board now allows changing the base I/O port
    and IRQ (interrupt) line used by the card.
  • PC-98 mode now supports joystick emulation. Joystick
    input is mapped through the DOSBox mapper to the
    PC-98 FM board where DOS games expect to see it.
  • Added dosbox.conf option to select which PC-98 FM
    board to emulate.
  • Fixed PC-98 FM code to enable the ADPCM and Rhythm
    FM channels.
  • Re-ported Neko Project II FM board emulation, this
    time keeping the code intact and keeping the separate
    board emulations intact for PC-98 mode.
  • VGA palette errors with Crystal Dream II fixed.
  • PC-98 FM synthesis fixed not to initialize itself
    again when rebooting, which fixes a problem with
    garbled FM synthesis after rebooting.
  • Removed some now-unnecessary SDL Video quit/init
    calls from Windows builds.
  • machine=pc98 now starts entire emulation in PC-98
    mode instead of booting up in IBM PC mode and
    switching to PC-98 mode.
  • Initial "BIOS" startup screen now operates in
    PC-98 mode when machine=pc98.
  • Prefetch core debug code now disabled at compile
    time. Seems to be stable so far.
  • Prefetch core now emulates partial load of the
    prefetch buffer on miss, and completing the buffer
    fill on hit, to better emulate (probable) 80486
    behavior.
  • 486_prefetch is now a valid cputype setting, despite
    the setting having existed for years in the source
    code. Prior to this fix, 486_prefetch was ignored.

DOSBox-X release 0.82.3 2018-02-26 13:17

26 Feb 21:18
Compare
Choose a tag to compare
  • IMGMOUNT now supports mounting a RAM drive (using -t ram) (Shane32)
  • Direct3D fullscreen aspect ratio fixes, especially for
    monitors with a 5:4 aspect ratio (such as 1280x1024) (Shane32)
  • "Show menu" in Windows builds system menu is now a toggle
    to show/hide the menu bar (Shane32)
  • Fixed broken color palette with CGA composite and EGA
    machine emulation. Composite CGA and machine=ega displays
    properly again.
  • According to documentation, IBM PC and PC-98 use different
    initial PC speaker frequencies. Update the code to match.
  • 8254 I/O port alias at 3FD9h-3FDFh added, which is needed
    for several PC-98 games that program the PC speaker
    frequency through those ports instead of through 71h-77h
  • New Intel 8255 emulation. PC-98 system 8255 emulation
    now uses this emulation, along with PC speaker emulation.
  • Fixed XMS memory copy functions to enable the A20
    gate so extended memory copies work correctly whether
    or not the DOS application in question made the call
    with A20 enabled. This fixes crashes and memory
    corruption while installing Windows 3.1 using SETUP.EXE.
  • "CLS" now sends the proper ANSI escapes to clear the
    console in PC-98 mode.
  • BIOS logo in PC-98 fixed to clear graphics RAM and
    set graphics back to 8-color digital mode when booting
    to DOS. This should fix palette errors and color issues
    with older PC-98/PC-88 games that use the 8-color
    graphics modes.
  • Added PC-98 INT 1Ch timer interval BIOS function,
    and timer countdown routine in IRQ 0.
  • Windows builds now incorporate pdcurses and enable
    the debugger interface (bulletshot60)
  • DOSBox-X now tracks the systemwide keyboard layout
    on Windows, and acts on user changes to the keyboard
    and language in the system.
  • Removed hack code in SDL 1.x that sets DOSBox-X's
    keyboard layout to the US layout even if the host
    uses anything else.
  • Fix CPU cycles count increment not to nag you to use
    core=dynamic if a) dynamic core is not available or
    b) you're already using dynamic core.
  • Added dynamic core back, it seems to be very stable
    again.

DOSBox-X release 0.82.3 2018-02-21 08:45

21 Feb 16:47
Compare
Choose a tag to compare
  • Windows builds now incorporate pdcurses and enable
    the debugger interface (bulletshot60)
  • DOSBox-X now tracks the systemwide keyboard layout
    on Windows, and acts on user changes to the keyboard
    and language in the system.
  • Removed hack code in SDL 1.x that sets DOSBox-X's
    keyboard layout to the US layout even if the host
    uses anything else.

DOSBox-X release 0.82.3 2018-02-19 23:11

20 Feb 07:14
Compare
Choose a tag to compare
  • Fix CPU cycles count increment not to nag you to use
    core=dynamic if a) dynamic core is not available or
    b) you're already using dynamic core.
  • Added dynamic core back, it seems to be very stable
    again.
  • PC-98 FM board now allows changing the base I/O port
    and IRQ (interrupt) line used by the card.
  • PC-98 mode now supports joystick emulation. Joystick
    input is mapped through the DOSBox mapper to the
    PC-98 FM board where DOS games expect to see it.
  • Added dosbox.conf option to select which PC-98 FM
    board to emulate.
  • Fixed PC-98 FM code to enable the ADPCM and Rhythm
    FM channels.
  • Re-ported Neko Project II FM board emulation, this
    time keeping the code intact and keeping the separate
    board emulations intact for PC-98 mode.
  • VGA palette errors with Crystal Dream II fixed.
  • PC-98 FM synthesis fixed not to initialize itself
    again when rebooting, which fixes a problem with
    garbled FM synthesis after rebooting.