dosbox-x/CHANGELOG
Jonathan Campbell 6ec4458d34 version bump
2018-06-30 21:46:49 -07:00

1732 lines
86 KiB
Plaintext

0.82.8
- New xBRZ scaler (with bilinear mode) (Alexat)
- Fixed aspect ratio correction to use the ratio given by VGA emulation
instead of assuming 4:3
- output=surface and xBRZ now permit filling the window just like
output=opengl and output=direct3d
- Added critical section around Windows SDL 1.x resize code to solve
the remaining 0.5% probability that resizing the window causes move
and resize to stop working in Windows 10.
- INT 10h AH=10h now ignores AL=3 in PCjr mode.
- Fixed keyboard handler bug in PCjr mode that caused some CPU
register corruption and general crashiness in games.
- Improved shell: (Aybe, Joncampbell123)
- Ctrl+Left and Ctrl+Right permits word-navigation.
- Added emulation of 'Ins' key behavior.
- Num Lock, Caps Lock, Scroll Lock are now synchronized at startup
and when DOSBox-X window gains focus again (Windows). (Aybe)
- Added visual feedback to Hat/D-pad buttons in mapper. (Aybe)
- Added documentation for 'dir' command sorting switches. (Aybe)
- Menu 'Show console' is now checked with '-console' (SDL1). (Aybe)
- Improved joystick support (see README.joystick): (Aybe)
- Added deadzone and response for joystick axes.
- Axes can be remapped for devices with questionable layout.
- User-settable deadzones for joystick bindings in mapper,
mappings like WSAD keys to axes is less frustrating.
- Improved mouse integration (Aybe):
- Now by default DOSBox-X does not emulate mouse movement when the mouse
is not locked. This gives a consistent experience when compared to host OS.
For the old behavior, use [sdl] mouse_emulation=always.
- Added visual or auditive feedback about auto-lock state (Windows).
This feature can be switched off, use [sdl] autolock_feedback=none.
- Added CAPMOUSE program for capturing/releasing mouse from command line. (Aybe)
0.82.7
- Mac OS X builds now honor showmenu=false by leaving the
stock SDL menu in place at startup.
- Default minimum MCB free/base is now 0x100, to sidestep
unknown unstable DOS application behavior when DOS
applications are loaded at around segment 0x800.
This also puts DOSBox-X at parity with the base memory
behavior of DOSBox SVN.
- Add dosbox.conf option to set Sound BIOS enable
bit in non-volatile RAM (PC-98) that tells older
PC-98 games the FM card is present (Yksoft)
- BOOT updated to boot D88 except for 2D format which
is generally used by PC-88 disk images.
- Added D88 disk image support
- CMake files added (Aybe)
- PIC timing updated to use "double" float type for
more precision, but as a typedef for future support
as a compile time option.
- Removed geometry checks from INT 1Bh FDC functions,
to allow non-uniform disks to work.
- MinGW builds now allowed to use Direct3D.
- Direct3D output fixed to use the same texture
coordinate, window fitting, and positioning
logic as OpenGL.
- Update zlib and libpng libraries in-tree.
- Fixed VFD disk image support to correctly signal
failure to detect geometry, to avoid divide by
zero crash with FAT driver.
- showmenu= now taken into consideration whether to
show the menu bar at startup
- Fixed get_item() E_Exit crash if menus asked to
show from dosbox.conf
- SDL drawn menus fixed to integrate with Direct3D
output on Windows.
- PC-98 mode can now boot floppy disk images where the
boot sector is 128 or 256 bytes/sector despite
track 1 and higher having 1024 bytes/sector.
- General codebase cleanup, compiler warning cleanup.
- Enable XInput support on Windows (Aybe)
- Fixed SDL drawn menus to use std::vector properly,
not to hold onto iterators while resizing the vector
and popping things off the top.
- PC-98 INT 1Bh "read id" floppy disk call fixed to
cycle through sector numbers. Some bootable PC-98
games use "MEGDOS" which polls this BIOS call before
attempting to read the disk. If the sector numbers
never cycle, "MEGDOS" will not attempt to read the
disk.
- Fixed bug that prevented some menu options (such as
"aspect ratio") from working if still in the BIOS or
booted into a guest OS.
- PC-98 mode fixed to ignore "mainline compatible mapping".
That mapping mode refers to DOSBox SVN which never
supported PC-98 mode anyway.
- Fix PC-98 INT 1Bh "test read" call, which then allows
"cherry bomb" to run.
- Remove geometry checks in PC-98 INT 1Bh BIOS call, so
that FDD images with odd sector sizes can work.
- ROM BIOS now automatically occupies E8000-FFFFF instead
of F0000-FFFFF when in PC-98 mode.
- Most 128 byte/sector FDD images appear to jump to
E800:0002. I'm guessing that's ROM BASIC, so add a
callback at that location to catch these boot disks
and show a message instead of allowing the boot
sector to jump to nothing and crash.
- PC-98 BOOT fixed to check for and support booting from
FDD images where track 0 contains 128 byte/sector
boot sectors.
- PC-98 INT 1Bh support fixed to support reading/writing
sector sizes other than the one sector size reported
by the image. It is now possible to read the other
sector sizes from an FDD/VFD image.
- Fixed somewhat serious bug that, when compiled against
Microsoft C++, causes the AVI writer to use the 32-bit
lseek() function instead of the 64-bit lseek64() function.
Prior to this fix, AVI captures would begin to corrupt
themselves after growing past 2GB in size.
- Cleanup code, fix compiler warnings, typecast problems,
C/C++ conformance problems as reported by GCC 4.8,
GCC 7.3.0 (MinGW), Visual Studio 2017, and Clang/LLVM
on Mac OS X.
- FM Towns machine type stub, for anyone interested in
forking DOSBox-X to implement FM Towns emulation.
- Code cleanup, refactor, according to compiler warnings.
- SDL drawn menus fixed to copy Direct3D backbuffer to
the SDL surface when popup occurs. This allows the
menus to overlap the Direct3D display correctly.
- Fixed Direct3D output so that when composing the next
frame in the backbuffer, it also copies the SDL drawn
menu from the SDL surface in order to keep it on
screen.
- Direct3D output updated to follow SDL clip rectangle
struct, in the same exact manner as the OpenGL output.
This also permits the Direct3D output to correctly size
itself and leave space at the top for the SDL drawn
menus.
- Fixed dynamic core entry point to push/pop EBP because
debug builds need the compiler to track the stack frame.
- Updated in-tree zlib and libpng libraries to the latest
provided by both projects.
- Fixed VFD (FDD) disk image support to signal to FAT driver
properly an error if it could not determine a geometry.
- Fixed code breakage with SDL2 that prevented compilation
with Munt (MT32) emulation enabled. SDL2 builds now allow
MT32 emulation.
- Mac OS X builds now compile against the in-tree zlib and
libpng libraries for consistency.
- MinGW builds now compile against the MinGW provided zlib
and the in-tree libpng library for consistency.
- Enabled MinGW builds to use Direct3D and Direct3D shaders.
- Added code to auto-detect the VirtualBox display driver
in Windows build, because OpenGL output doesn't work
in Windows XP under VirtualBox. The change will switch
the default output to "surface" if VirtualBox is detected,
else will retain the "opengl" default. This change applies
only to MinGW builds and not HX DOS or main VS2017 builds.
- Added PC-98 INT DCh emulation for function call that
writes a char to the screen, allowing Eve Burst Error
to clear the function row
- Added command line option to allow skipping the 1-second
wait in the BIOS startup screen.
- SDL2 builds now support use of the SDL drawn menu with
a touchscreen device.
- Fixed up SDL2 support code to compile correctly on
Mac OS X.
- Fixed up SDL2 compilation to automatically use the
SDL2 library on the system, or if that is not available,
use the SDL2 library in-tree. There are no plans to make
modifications to the in-tree SDL2 code.
- Added code to read and discard OpenGL error code before
creating font texture, to avoid false failure handling.
This fixes font rendering on Windows MinGW builds when
output=opengl.
- OpenGL SDL drawn menus fixed to ensure the menu contents
have been redrawn at least twice. One for each OpenGL
buffer because DOSBox-X uses the double-buffered mode.
- SDL drawn menus implemented for output=opengl. The menu
bar in Linux builds is now available in OpenGL mode.
- SDL drawn menus fixed to redraw only when state changes,
and to clean up menu drawing code.
- US keyboards can now enter the "Ro" key in PC-98 mode.
Default binding is set up to map the Windows Menu key
as Ro in PC-98 mode.
- VGA option change code fixed to trigger scaler redraw
correctly. Changing video modes or changing between
8/9-pixel VGA text no longer leaves artifacts on the
screen.
- Added code to force redrawing additional frames when
output=opengl, in order to correct a bug with Linux/X11
and MesaGL where the first OpenGL buffer swap after
SDL_SetVideoMode() is misplaced when the window size
changes.
- Renderer SSE line comparison fixed to use correct sizeof()
of the integer type during compare.
- Renderer fixed not to use SSE and non-SSE line comparision
at the same time, if SSE was enabled at compile time.
- Fixed in-tree SDL 1.x library to allow DOSBox-X to disable
auto-refresh of the window in Linux/X11 after SDL_SetVideoMode
to prevent visible flickering when resizing the window.
- Conditional support for Direct3D (9) output enabled for
MinGW builds, if the MinGW headers are available (yksoft1).
Option is disabled by default.
- Configuration GUI dialog box widened to accomodate buttons
that were previously cut off on the right.
- Replace E_Exit() with LOG_MSG() for key codes from the mapper
that a keyboard scan code generator does not recognize. This
fixes E_Exit() crashes if typing certain keys on a Japanese
keyboard with no equivalent in IBM PC/AT mode.
- Added code to double the size of the menu and menu items if
the window is 1280x800 or larger, for users with high
definition laptop displays and screens.
- Enforce minimum window size of 640x400 if the menu bar is
visible and DOSBox-X is drawing them, to make sure the menus
are accessible on screen.
- Removed auto-scalar-size code when output=surface that was
causing problems when resizing the window.
- Do not show "screenshot" menu item if screenshot support not
available at compile time.
- Remove "always on top" for anything but Windows at this time.
- Disable "Show debugger" option on Linux and Mac OS X if no
console attached to STDIN/STDOUT/STDERR.
- Disable "Show console" option on Linux and Mac OS X since
the console is not under our control.
- Windows "Always on top" fixed to remember selection and
enforce it between SDL_SetVideoMode and fullscreen entry/exit.
- Windows builds fixed NOT to change window Z-order on the
screen when updating the window on SDL_SetVideoMode.
- HX DOS builds fixed to keep window maximized at all times
to fill the otherwise unused space on the screen since
HXGUI only supports one window.
- Menu framework support for any other platform (including
Linux) added. The menus are drawn by DOSBox-X itself
using the 8x16 VGA font. This also gives SDL 2.x builds
a working menu. These menus are used if no other platform
specific menus are available. These menus are NOT AVAILABLE
at this time if output=opengl.
- Cycle count edit dialog box fixed to immediately place
keyboard focus in the text field, and to process
ENTER and ESCAPE keyboard input as OK and CANCEL
button input. You can type a new cycles count without
having to click on the text field first.
- Menu framework and mapper fixed so that menus always
reflect the mapper binding in the menu.
- Windows SDL 1.x fixed async hack to properly destroy
and shut down the parent window again.
- Fixed output=opengl crash on Mac OS X.
- Menu framework support for Mac OS X NSMenu objects added.
This gives DOSBox-X the same useful menu on Mac OS X
instead of the useless default menu SDL 1.x offers.
- Menu framework support for Windows win32 menu resources
added. The Windows menu is now generated at runtime,
the static IDR_MENU resource is no longer used.
- New platform independent menu framework added. Menus
that were once Windows-only are now available on
any other platform including Linux and Mac OS X.
- In-tree SDL 1.x library fixed to #define a special
variable that the code now requires to compile
SDL 1.x builds. The option to use your host SDL 2.x
library is left open.
- C++11 is now mandatory to compile DOSBox-X
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.
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
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.
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.
0.82.3 (02/13/2018)
- Removed DOSBox SVN-style "fast" A20 gate emulation.
Recent changes make it infeasible to keep. "fast" is
now mapped to "mask" mode.
- RAM aliasing is now always on, even if memalias is not
set, in order to help enforce A20 gate behavior, and
to fix emulator crashes when a non-aliased RAM page
is referenced through an alias.
- Cleanup and rewrite of prefetch core, to make the code
cleaner and more readable and maintainable.
- DOS file I/O updated to apply a proper delay rather
than the old DOSBox SVN code's cycle count dependent
method. The delay by default will slow disk I/O down
to mid 1990's IDE PIO speeds, which can resolve issues
with MS-DOS demoscene or game executables that can
malfunction when disk I/O is too fast.
- PIC code updated to enforce a proper IRQ delay on ALL
IRQ signals, which fixes issues with MS-DOS executables
that have race conditions between their code and their
interrupt handlers.
- DOS Shell now shows the full intro text only at first
run, instead of every shell invocation.
- Use FCB record size of 128 bytes if the FCB record size
is zero (from DOSBox SVN).
- PC speaker fix not to generate a continuous tone if
the PIT timer was set to mode 0. This fixes issues with
many early 1990s demoscene executables leaving the PC
speaker enabled (BEEEEEEP).
- Register DEBUGBOX.COM at DOS environment start instead
of boot, which allows the command to work again.
- EXE loader sets stack pointer (SS:SP) into PSP segment
(from DOSBox SVN)
- EXE loader fixed to use the larger of the minimum and
maximum memory sizes listed in the EXE header, which
fixes some demoscene executables with a minimum size
larger than maximum.
- VGA DAC (palette) emulation updated to better match
actual SVGA chipset (Paradise SVGA) behavior, which
fixes some VGA palette errors in some demoscene
productions.
- Added -nocachedir option to internal MOUNT command, to
disable directory caching for a local folder mounted
to a drive letter. When mounted this way, changes on
the host filesystem are immediately visible in the
guest DOS environment.
- Added -ro and -rw options to internal MOUNT command, to
allow mounting local folders to a drive letter as a
read-only volume.
- MIDI Fluidsynth fixed to initialize and free state properly
so that switching to and from Fluidsynth doesn't cause
a segfault or crash.
- MPU-401 fixed to allow changes to MIDI configuration from
CONFIG.COM.
- DOS filename handling fixed to maintain ASCII conversion
to uppercase, while not converting Shift-JIS double-byte
characters in PC-98 mode. This fixes Shift-JIS filename
corruption when the trailing byte can be mistaken for
lowercase ASCII a to z.
- Windows fixes to keep menu bar items updated with
DOSBox-X state.
- Remove WM_DROPFILES handling, for now. The code remains
to allow re-enabling later.
- SDL 1.x builds fixed to process only WM_COMMAND (menu
bar) and WM_SYSCOMMAND (system menu) events so that
the general chatter in modern Windows system does not
drown out the messages. This fixes issues where the
menu bar doesn't work on some systems.
- SDL 1.x builds fixed to handle menu bar input using
SDL's WM events instead of fighting with SDL's message
pump to receive menu events. This fixes potential
issues with losing menu bar events.
- dosbox.conf reference included with Windows builds
now uses MS-DOS line endings so that the file can be
edited in NOTEPAD.EXE
- New dosbox.conf option to control whether the menu is
shown by default in Windows builds.
- titlebar= SDL dosbox.conf option, to allow showing a more
user friendly name for the program instead of just using
the EXE name.
- E_Exit() on Windows now displays the message using
MessageBox() in addition to sending to STDERR, so that
Windows users see the error even if they are running
it from the desktop instead of the command line.
- PC-98 EGC bit shifter emulation fixed to correctly support
ascending and descending bit shifting in either direction.
This fixes screen shake emulation errors with Touhou Project
TH04 and TH05.
- Linux/X11 fixes to SDL 1.x to better match and compare
Visuals (descriptions of the screen) since X11 libraries
don't seem to use the same pointer values for the same
Visuals.
- ALT+TAB or loss of focus from fullscreen in Windows now
restores the window instead of minimizing it.
- 3Dfx OpenGL will hide the minimize and maximize buttons
in Windows while active.
- Windows menu bar items are now grayed out when 3Dfx OpenGL
emulation is active (items that cannot be used at that time).
- Fix Windows system menu to always keep "show menu".
- GFX rendering fixed not to render any output while 3Dfx
OpenGL emulation is active.
- 3Dfx OpenGL bug fixes to properly restore the DOS console
when the 3Dfx card is de-initialized and the game returns
to the DOS prompt.
- Linux/X11 window output fixed to keep the window on the
screen even when switching between OpenGL and non-OpenGL,
and when setting the SDL video mode.
- Remove some init hacks and SDL forced reinitialized hacks,
so that the window is stable on the screen.
- Added code to do more OpenGL state initialization (both
output=opengl and when initializing 3Dfx OpenGL emulation)
to make more consistent output.
- 3Dfx voodoo OpenGL based emulation fixed to switch out of
fullscreen mode IF DOSBox-X was fullscreen at the time the
card is initialized.
- 3Dfx voodoo OpenGL based emulation no longer allows fullscreen
mode, and does everything it can to prevent window resizing.
- Linux/X11 disable XRandR, XV, and X modeset functions. Do not
change monitor resolution.
- MPU-401 MIDI emulation fixed to look at all conductor message
bytes for code 0xFC (ALL END) instead of just the first byte.
This fixes hangs in games that send additional bytes prior to
0xFC and then expect the MPU-401 to signal 0xFC back when the
games are waiting for music to stop.
- Fix DOS CON driver not to signal data ready for PC-98 scan
codes that have no corresponding ANSI code. Tapping numeric
keypad keys during the title screen in Touhou Project should
no longer cause the game to pause waiting for keyboard input
when going into demo mode.
- Fix DOS CON driver to signal data ready for buffered escape
code.
- Fix PC-98 keyboard emulation not to apply IBM PC "extended"
keyboard scancode filtering.
- Window maximization does not count as a user resize preference.
- Fix Windows builds to enable DirectSerial, Direct LPT, modem,
emulation.
- New mapper shortcut to restore the window's original size.
- Fix bug with SHL instruction and OF flag, which corrects some
games and their decompression routines.
- Fullscreen (monitor) modesetting removed. DOSBox-X either runs
in a window, or scales up to fill the monitor, but will not change
the monitor resolution.
- Resize handling fixed to differentiate user resize verses resize
caused by DOSBox-X changing the window dimensions.
- Linux/X11 fixes to avoid flickering when resizing the window, and
to avoid redrawing unless necessary.
- Window resize management, to scale/arrange the output to fit the
window (for output= surface, opengl, direct3d)
- Enable resizing again, except when the GUI or mapper is active.
- Fix Linux/X11 to always take resize events, instead of ignoring
all further resize events just because one resize event is forever
"pending"
- Linux/X11 builds now track the size of the window on the desktop,
to keep track of resizing and maximizing.
0.82.2 (01/29/2018)
- Linux builds no longer enable window resizing. The ability to
resize will be added back when the emulator can better handle
the user resizing the window.
- Windows and Linux now have synchronized build date and version
strings.
- Codebase begin transition to C++11
- The Windows maximize button no longer triggers fullscreen mode.
- Direct3D, OpenGL, and Surface outputs updated to fill the window
in Windows builds when the window is maximized. If aspect
correction is enabled, the Direct3D and OpenGL outputs will
scale the DOS screen (with pillarbox/letterbox padding) to the
correct aspect ratio and center within the maximized window.
- Fixed minor memory leak in MT32 (MUNT) synthesizer usage.
- Fixed uninitialized state issues with DMA channel 4 (cascade).
- IMGMOUNT now allows mounting the El Torito bootable floppy image
of a CD-ROM drive as a drive letter and accessible (read only)
filesystem. The FAT filesystem driver was fixed to support working
from sources other than a direct file.
- PC-98 mode fixed not to register certain built-in commands and
binaries to drive Z:\ that are not compatible with PC-98 mode.
MEM.EXE in particular uses IBM PC-specific techniques to gather
it's information, and is therefore incompatible with PC-98 mode.
This can be verified from the source code as MEM.EXE was evidently
borrowed from the FreeDOS project.
- EGA emulation (machine=ega) fixed to render 8bpp (256-color mode)
instead of full 32bpp VGA output. EGA video output is limited to
64-color (6-bit) by the design of the video connector (2-bit R/G/B)
therefore the full precision of 32bpp is not needed. This will also
benefit video capture as the reduced color bit depth will result
in smaller AVI files when recording gameplay.
- Added code to correctly detect 15-bit highcolor vs 16-bit highcolor
display format support, despite SDL falsely indicating 16-bit
color in both cases, which fixes incorrect colors on 15-bit display
modes.
- Fix up VGA DAC/palette mapping to display the emulator screen
properly on 16-bit true color displays. Fixed off-by-one shift
mistake in the DOSBox-X render scaler code that caused
green and purple tints to colors on 16-bit true color displays.
- Add "Show menu bar" command to the Windows "system menu" so that
the menu bar can be brought back after selecting "hide menu bar".
- Losing window focus while fullscreen no longer leaves the emulator
window blank.
- Maximize/restore fullscreen cleanup.
- Removed DDRAW output.
- Fix FAT filesystem driver to clear "success" flag at all failure
return points. This fixes problems where unrecognizeable FAT
filesystems are nonetheless presented as a drive letter with
garbled filenames, when IMGMOUNT should have displayed an error
instead.
- Fix FAT filesystem driver to allow PC-98 HDI images to load that
have headcount == 0 in the BPB.
- Fix Adlib emulation not to register a mapper handler if emulation
will jump to PC-98 mode, and fix mapper handler to check if Adlib
emulation is loaded to avoid segfault.
- Add "recording" volume to control the loudness of the audio going
out to capture (WAV, AVI, etc.)
- Separate mixer rendering from master volume. Apply master volume
at the sound card only, leave audio at full volume for recording
(WAV, AVI, etc. capture).
- dosbox.conf and command line option to log CON driver output to
a file. Anything written to STDOUT/CON by a DOS application is
logged this way.
- --time-limit <n> command line option to put a time limit on the
emulator, in seconds.
- Keyboard shortcut for the mapper UI no longer leaves keys "stuck"
in the guest to cause problems when you exit the mapper UI.
- Fixed code mistake that caused OpenGL NB output when dosbox.conf
specified output=opengl
- Mapper layout fixes:
- Shortcut buttons (on the right hand side of the UI) fixed to
become two columns wide if the button text won't fit in one
column.
- Some shortcut button titles shortened.
- Mapper UI updated to show which bindings are being activated by
hilighting buttons in the UI.
- Mapper UI modifier buttons indicate status through hilighting.
- Mapper UI joystick buttons and axes now use hilighting to indicate
that there is input from the device.
- Mapper fix for 4-axis joysticks that may count zero buttons, and
then crash (divide by zero) when the user pushes a button on the
joystick device.
- BIOS emulation now allows you to specify binary blobs to execute
in the guest system as part of startup. One can be specified to
execute just after CPU reset/power-on, and the other just before
booting to the DOS shell. THE BINARY BLOBS EXECUTE IN THE GUEST
ENVIRONMENT AND NOT AS ARBITRARY CODE ON YOUR HOST. This option
is provided for both automated testing and for the curious who
may want to venture into low level ASM hacking.
- INTRO.COM fixed to accept keyboard input correctly in both
PC-98 and IBM PC mode. You can now browse the help text properly
in either mode.
- DOS shell fixed to accept DOSKEY-like input in both IBM PC and
PC-98 mode (including arrow keys, F3, tab completion, etc.)
- DOS CON emulation now provides function keys (F1-F10) in PC-98 mode.
- DOS CON emulation fixed to process PC-98 BIOS codes and generate
PC-98 ANSI escapes as real hardware normally does.
- Mapper no longer shows two sets of the shortcuts (one overlaid
over the keyboard), registration bug fixed.
- PC-98 keyboard interrupt handler now handles CTRL key and
passes most keys as-is down through INT 18h now.
- Removed non-recursive page fault option. It is now always on,
except for internal cases where it needs to be off for callback
instructions to do their work properly.
- Removed dynamic x86 core. It is old and unmaintained code that
is incompatible with the non-recursive page fault system.
- IRQ cascade interrupt fixes and cleanup.
- BAT files given on the command line fixed to occur AFTER the
registration of ULTRASND and BLASTER environment variables.
- PC-98: DOS CON emulation fixed to decode Shift-JIS itself,
with consideration that some proprietary double-byte encodings
yield single-wide characters. DOS program using NEC's proprietary
box/line drawing characters this way should display properly now.
- DOSBox shell "greeting" now displays a proper box in PC-98 mode
instead of framing the text in rows and columns of Katakana. (basic2004)
0.82.1 (12/25/2017)
- Windows builds no longer redirect stdout and stderr to
stdout.txt and stderr.txt. This also fixes problems
with crashing or hanging when run from Program Files.
- Windows releases compiled by TheGreatCodeholio again.
- SDL 1.x and SDL 2.x support in the same branch, selectable
by configuration option or VS2017 build target.
- SC400 emulation fixes
- Mac OS X pixel format fix to avoid corrupt graphics (Martin Lindhe)
- MT32 emulation now explains what ROM images it's looking for,
instead of just stating that it can't find the ROM images.
- Direct3D shaders from Daum (alex)
- NukeOPL OPL emulation
- Basic (experimental) NEC PC-98 emulation (machine=pc98)
- CG (character generator) emulation will need ANEX86.BMP
or FREECG98.BMP
- Some uninitialized state fixes
- FDI, FDD floppy disk support (especially PC-98 games)
- HDI hard disk support (especially PC-98 games)
- DOS FAT filesystem driver: added many sanity, size,
sector size and overrun checks.
- Floppy and hard disk image support now supports sector
sizes other than 512 bytes per sector (up to 1024).
- DOS FAT filesystem driver can now handle FAT filesystems
formatted with 256, 512, or 1024 bytes per sector.
- INT 29h route output to CON driver in PC-98 mode so
games can clear the screen with ANSI codes (Touhou Project).
- NEC PC-98 support for proprietary ANSI codes to clear
screen and show/hide function key row.
- NEC PC-98 FM emulation (borrowed/ported from Project Neko II).
- MPU-401 now emulates relative tempo change commands.
- When mounting folders as a drive letter, filenames are
now translated between guest and host according to the
MS-DOS code page. This allows DOS games to use extended
characters in a way that does not cause invalid filenames
on the host. The host is always assumed to support unicode.
Windows builds will use wide char (UTF-16) host names and
Linux/Mac OS X builds will use UTF-8.
- Code page translation for 437 (US MS-DOS) and 932 (PC-98 Shift-JIS).
- Emulate DOS console function key row in PC-98 mode.
- PC-98 EGC graphics emulation (minimal)
- PC-98 CG support for custom fonts (RAM portion)
- PC-98 EGC minimal ROP emulation
- PC-98 select between 2.5MHZ and 5MHz GDC (for games that demand one or the other)
- Aspect ratio menu item in Windows works correctly now
- Capture menu works correctly now
- Removed "overlay" output
- Fix Direct3D and OpenGL output to enable linear interpolation (smoothing)
- Fixed "double aspect ratio" issue with OpenGL output
- Linux builds compiled against SDL 1.x and running against PulseAudio
no longer hang/crash after some random amount of time (threading conflict)
- PC-98 minimal mouse emulation
- VGA doublescan=false fixed to display correctly, especially with scalers
- SDL 1.x Windows builds fixed to process mouse motion FIRST before
mouse buttons so that guest pointer integration with Windows 3.1
works properly.
- SDL 1.x Windows builds now enforce a 60Hz cap on mouse motion
detection because recent versions of Windows have some latency
when SDL repositions the mouse cursor. This fixes random
erratic jumps in mouse motion when playing games that respond
to mouse movement.
- SDL 2.x fix touchscreen interaction on Windows
- SDL 2.x mapper now responds to touchscreen as well as mouse.
- DOSBox Integration device no longer enables it's ISA PnP device
by default.
- SDL 2.x fix Windows 3.1 "double-click" accidents by ignoring
"mouse" events faked by Windows from the touchscreen.
- "Paper white" HGC/CGA monochrome palette (basic2004)
- CMS (GameBlaster) frequency correction (basic2004)
- SID frequency correction (basic2004)
- Maximize button in Windows now consistently triggers fullscreen mode
- SDL 2.x builds now use a different mapper file name to
avoid conflicts with SDL 1.x builds. SDL scan codes are
completely different between the two.
- Windows builds now include WinPCAP support and NE2000 emulation.
- MOUNT / IMGMOUNT convert backslash to forward slash in path on Linux to
allow dosbox.conf files from Windows to work on Linux.
- DOSBox-X officially no longer targets Windows XP.
Unofficially third party builds may support Windows XP.
- MPU-401 emulation now allows you to choose the IRQ, if desired.
- Windows builds now include reference dosbox.conf so that you
have a list of all options.
- IMGMOUNT and FAT filesystem support now check partition type
field to ensure that the partition chosen is a FAT filesystem.
- IMGMOUNT no longer requires -size parameter if mounting
a HDI disk image.
- IMGMOUNT and FAT filesystem driver updated to support both
IBM PC MBR (master boot record) and PC-98 IPL1 partition
tables.
- Fixed UMB memory selection not to overlap the EMS page frame.
- EMS updated to sit at E000h in IBM PC mode and D000h in PC-98 mode.
- Mapper interface now shows additional buttons for handlers
registered after initial emulator setup phase.
- Mapper fixed to load/save or apply default keybindings for
handlers registered after initial emulator setup phase.
- Mapper fixes now reveal "capture OPL", "hercules palette"
options as well. The fixes also allow the default key
bindings for those functions to work.
- "CTTY NUL" no longer causes DOSBox-X to hang.
- MOUNT now supports use of -q to suppress message when
successfully unmounting a drive.
9/21/2017
Pentium Pro instruction set implementation
https://github.com/joncampbell123/dosbox-x/pull/305
MMX instruction set recompiler for core=dynamic
https://github.com/joncampbell123/dosbox-x/pull/290
0.74
- Several small game specific fixes/hacks/support. (Offensive,
Roadhog, GTA installer, Kingdom O' Magic soundcard detection,
Pirate booter, Armored Fist installer)
- Add the S3-specific 640x480 256 color mode. (fixes regression in "Wooden
Ships and Iron Men" and "I Have No Mouth And I Must Scream")
- Fix a stack overflow that could crash DOSBox.
- Add fake microphone input. (fixes Talking Parrot)
- Modify adlib turn off code, so that it doesn't turn off in
cases where the same sound is repeated over and over again.
- Several small fixes to the CDROM audio code. (HOMM2, Redneck
Rampage and others)
- Several improvements to the CDROM emulation code. (fixes Alpha
Storm and GT Racing 97)
- Some small CPU fixes that might fix something.
- Handle opcode 0xff subcode 7 as invalid instruction. (fixes dif-2 & others)
- Some hercules fixes. (Testdrive)
- Improve support for blanked parts that wrap around to the start of
the screen. (fixes Magic Circle demo and Sid&Al)
- Remove old OPL cores as the new ones seem to work very nicely.
- Modify movie recording code so that the movies aren't corrupt when
you exit dosbox without stopping the movie.
- Change RGB3x scaler to look more pretty.
- Improve initial register values compatility of the GUS.
- Added autodetection for Gameblaster. (games can find it now)
- Change render preferences a bit to be more compatible with Windows 7.
- Add DOS fixes to terminate program. (fixes Fortune Teller)
- Add FFREEP. (fixes Trucks)
- Improve FPU ST80 in C mode when writing zero. (fixes Antigok)
- Add special int10 scanline function. (fixes mz700 and probably lots
of games that mess with them)
- Fix scrolling in rarely used video modes. (fixes Orphee)
- Modify game specific hacks a bit so that Kick off 3 works again.
- Lots of fixes to the INT10 video parameter table. (Seven spirits
of ra and others)
- Add VGA blanking in machine=vgaonly. (used by Alien Carnage)
- CGA, PCJr, Tandy: Add video blanking, change display start latch
timing, sync pulse width correction.
- PCJr, Tandy: implement vertical retrace interrupt.
- PCJr, CGA: line-by-line video emulation.
- PCJr: support on-screen change of color modes 4medium to 16low. (used
by Ghostbusters booter)
- Hercules: Add green and amber monochrome support.
- All machines: only update the video timing when needed. (Jungle Hunt,
others that synchronize to the video screen might profit)
- Several small DOS fixes.
- Some UMB related fixes. (The Legacy without UMB)
- Fix version number of DSP for SB 1.5. (fixes a few games)
- Several VGA emulation improvements. (Allertone football manager)
- Some Tandy fixes. (Mech Warrior)
- Small improvements and fixes to the OPL emulation.
- Add low level Tandy DAC emulation.
- Some EMS fixes. (fixes Mortal Kombat and others)
- Change SoundBlaster DSP reset mechanism, add sb irq acknowledge logic.
(fixes stmik-based applications)
- Some interrupt pointer location modifications. (fixes Tinker Tales)
- Some fixes to the BOOT code. (fixes Last Mission)
- Respect write-only file information. (fixes Champions of Zulala)
- Some RTC fix. (fixes Tully Bodine and others)
- Improve mouse emulation to work better with Water World.
- Hopefully fix the translation of the configuration file.
- Speed up and fixes for the recompiler core. (pitfall2 pcjr)
- Change memory start location. (fixes 7th Guest installer)
- Several fixes to the batch file handling. (Shift and
use the typed first %0 instead of the parsed %0)
- Improve file redirection and redirected line ends. (fixes
Phantasmagoria 2 DOS installer)
- Fix compilation with new MAC os X version.
- Add 16C550A FIFO support to the serial port emulation.
- Improve modem emulation to get higher speeds.
- Change default samplerates to 44100, blocksize to 1024 and prebuffer to 20,
so that hopefully certain soundcards produce more fluent sound playback.
- Add some rarely used, but for some games critical flags to
the internal commands.
- Add -userconf flag, so that the userspecific configuration can
easily be used together with -conf configfile.
- Improve internal timing with repeating timers (especially with
the dynamic core).
0.73
- Add two new opl2+opl3 emulators. (better speed, different implementation
approach)
- Improved DRO recording/better file structure.
- Add EGA emulation.
- Add special vga machine mode. Supports more of the exotic tricks like
changing the palette during screen updates, 9x16 fonts etc.
- Added special machine modes for the following svga cards:
- S3
- Paradise
- Tseng
- Fix problems with the vga split line feature.
- Improve vesa emulation.
- Add optional selection of old vesa mode for games that don't work
with certain vesa features.
- Improve video BIOS emulation to behave more like a real bios.
- Fixes for emulated 4bpp graphics modes.
- Fixes to paging system.
- Various fixes and improvements for the recompiling core.
- Add arm backend for the recompiling core.
- Add some mscdex quirks when dealing with files that are exactly 8.3 long.
- Small fixes to batch file handling.
- Small fixes to the XMS memory handling.
- Various fixes for aligned memory on hosts that want it.
- Various improvements to the mouse.
- Fixes and small speed ups to the debugger.
- Fix and improve lot's of compilation problems. (curses detection,
GCC 3.4 and GCC 4.X fixes)
- Added some basic auto keyboard layout handling. (windows only currently)
- Add basic support for evdev keyboard driver.
- Various fixes to the timer. (improve mode 2 timer changes,
implement mode 1, improve gate2 handling)
- Add audio extraction and mci audio support. Should enable CDROM audio
for Vista and adds volume control.
- Improve the directory cache speed a lot, especially with mounting slow
media like network paths.
- Various fixes to the create temporary file call.
- Don't keep batchfiles open during execution. Allows rewriting of the
active batchfile. (menu programs use this trick sometimes)
- Fix problems with filenames with 2 extensions.
- Add some more lowlevel dos tables.
- Fixes to hercules emulation.
- Fix flag handling for special case of ROR.
- Make the batchfile handling in regard to IF more flexible.
- Fixes to scrolling/panning feature.
- Add prefetch queue emulation.
- Make the emulated cpu type selectable. This is mainly the
identification commands and the way paging works.
- Some special EMS functionality added. (OS handles, zero-page handling)
- Improve support for EMS when booting a different OS.
- Improve cdrom speed detection by games.
- Improve stability of cycle guessing code, when there is background
activity.
- Fix various mscdex and cdrom detection schemes.
- Added Coremidi support on Mac OS X.
- Improve support for DOS devices when used to detect the existance
of directories in various ways.
- Add IRQ 2 emulation on VRET. (ega only)
- Added video parameter table and video state functionality.
- Increase default freespace to 250 MB.
- Some fixes to the fat filesystem handling for disk images.
- Some soundblaster fixes and command additions.
- Fix mixer 16bit direct transfers on bigendian hosts.
0.72
- Fixed unitialized variable in joystick. (Fixes crashes on Vista and
Mac OS X)
- Some bugfixes and speedups to the 64 bit recompiling core.
- Fixed sign flag on soundblaster dma transfers (Space Quest 6 intro)
- Fixed a bug in keyboard layout processing code and fixed certain
layouts.
- Fixed Dreamweb.
- Improved speed unlocking when running cycles=max.
- Fixed a crash related to the tab completion in the shell.
- Improved aspect correction code. Should now be like how a real monitor
handles it.
- Fixed a bug in the xms status report code. (Blake Stone 1.0 shareware)
- Added a lot more keyboard layouts.
- Fix crash related to changing the scaler before a screen was created.
- Hopefully fixed compilation on *bsd.
- Enabled auto cpu core selection for recompiling core as well.
- Made the used joystick selectable when 4axis is specified.
- Added some hints for inexperienced DOS users to the shell.
0.71
- Add a new recompiling cpu core, which should be easier to port.
- Add 64 bit version of the recompiling core.
- Add mipsel 32 bit version of the recompiling core.
- Fix a few small problems with FCBs. (fixes Jewels of darkness and
cyrus chess)
- Raise some more exceptions. (fixes vbdos)
- Fix a few problems with the dynamic core. (fixes Inner Words,
Archmimedean Dynasty and others)
- Improve/Fix fallback code for certain graphics cards.
- Fix a few cd audio related bugs.
- Add an undocumented MSCDEX feature. (Fixes Ultimate Domain)
- Fix some pcspeaker mode. (fixes Test Drive and similar games)
- Improve dos keyinput handling. (fixes Wing Commander 3 exit dialog)
- Remove Exit condition on fully nested mode. (fixes some demo)
- Add image file size detection.
- Add/Fix some ansi codes. (fixes PC Larn and certain versions of
infocom games)
- Several general DOS fixes. (fixes nba95, hexit and various other games)
- Add some valid input checks. (fixes 3d body adventure and similar
games)
- Fix digital joystick centering problem.
- Reenable textmode 54 and 55.
- Fix a pelmask problem with univbe 5.0 lite. (fixes Panzer General)
- Fix minor mixer underflow.
- Some general image and bios disk emulation fixes.
- Hopefully fix compilation on BSD and darwin.
- Try using ioctl cdrom access by default if possible.
- Fix some svga detection routine. (fixes Grandest Fleet 2 and Bobby Fischer
Teaches Chess)
- You can now close DOSBox using the status window in win32.
- Add support for NX enabled systems.
- Fix a casting error which only showed with certain compilers. (fixes
various games under mac os x and 64 bit linux)
- Improve timer and add gate 2 support. (fixes various games and
joystick problems)
- Improve mouse. Add undocumented backdoor. (fixes Last half of Darkness,
PC-BLOX and others)
- Add/improve support for ~ and ~username in all commands.
- Fix a font problem with the pcjr/tandy. (fixes personal deskmate 2)
- Change dma routine a bit. (fixes ticks in sound in various games)
- Allow read-only diskimages to be booted. (fixes various booter
games)
- Add basic hidden file support on cdrom images. (fixes Player
Manager 2)
- Add some rarely used functionality to the int10 mode setup. (fixes
WW2 Battles of the South pacific)
- Add ability to force scaler usage.
- Speed up flag generation and make it more 386-like.
- Some colourful feedback in the mapper.
- General code cleanup.
0.70
- Improve register handling and support with XMS.
- Fix some issues with deleting open files.(windows only issue)
- Add dummy LPT1 class. (windows only issue)
- Improve some of the internal dos commands. (choice, copy and shift)
- Improve ROM area. (for games that use it for random numbers or
overwrite it as some sort of detection thing)
- Improve compatibility of dynamic core by making it handle certain
pagefaults earlier.
- Move internal dos tables around so we have more umb memory.
- Add some dos tables.
- Dynamic core supports io exceptions.
- Move some interrupt handlers to XT Bios locations.
- Add a dynamic fpu on x86.
- Improve fpu on non-x86.
- Trapflag gets strict priority over hardware IRQs.
- Trapflag support for the dynamic core.
- Add dummy TRx handling.
- Fix a few rarely used character functions.
- Improve auto cycle guessing code.
- Improve and extend the joystick support.
- Add autofire support.
- Improve the mapper so you can map keys to the joystick and vice versa.
- A few game specific video card fixes.
- Fix some 64 bit cpu bugs.
- Add support for certain cdrom detection schemes.
- Improve HSG/Red Book support.
- Improve MSCDEX.
- Improve dynamic core support under intel macs.
- Add basic support for clipper programs.
- Add support for different keyboard layouts.
- Add auto core guessing.
- Fix a few flags bugs.
- Fix a few small cpu bugs.
- Improve soundblaster detection rate by various programs.
- Improve EMS emulation. (allow mapping of non standard regions)
- Improve keyboard input codes on various OS-es.
- Fix problems with filenames having stackdata in them.
- Changed a few basic operations in DOSBox so they take emulated time.
- Improve dos ioctl functions.
- Extend cpu core so they are capable of detecting and raising a few
more exception types.
- Improve DOS functions when dealing with virtual drive.
- Improve FAT drives.
- Better handling of volume-labels in file functions.
- Image disk cycling capability. (prompt)
- Try to reduce the impact of using an analog joystick.
- Several measures to avoid code invalidation on certain types
of self modification in the dynamic core.
- Add dynamic core memory function inlining.
- A few small mouse improvements. (some games are using things they
shouldn't)
- Add nullmodem emulation.(h-a-l-9000)
- Some small cga and hercules fixes.
- Add more scalers (hq2x/hq3x/sai). (Kronuz)
- Change configuration file loading support. It now supports
multiple configuration files.
- Make dynamic core capable of running some win32s programs.
- Fix and add some rare soundblaster modes. (Srecko)
- Better soundblaster mixer controls. (Srecko)
- Make soundblaster installation under windows much easier.
- Add device control channel handling.
- GEMMIS support (ems under windows).
- Support more colours in win 3. (vasyl)
- Don't show unmounted drives in windows filemanager.
- Fix some bugs in the int13 handler.
- Simulate some side-effects of bios interrupt handlers on flags.
- Add IPX functions needed by netbios.
- Make ports take emulated time.
- Tabcompletion is now aware of the CD command.
- Add suppport for the dac pel mask.
- Fixes to hercules emulation, better detection and bank switching.
- Fixes to tandy emulation, 640x200x16 mode and different sizes bank.
- EGA/VGA memory changes detection for faster rendering.
- Gus 16 bit fixes.
- Many timer improvements.
- Some pcjr fixes.
- Some booter fixes.
- Many small fixes.
0.65
- Fixed FAT writing.
- Added some more missing DOS functions.
- Improved PIC so that it actually honours irq 2/9.
- Improved intelligent MPU-401 mode so that more games work with it.
- Some mouse fixes.
- Changed DMA transfers a bit so they bypass the paging tables.
- Added S3 XGA functionality.
- Improved paging so that read and write faults are handled differently.
- Rewrote exception handling a bit (no exception 0x0B with dos4gw anymore).
- Added IO exceptions in all but the dynamic core.
- Some ems improvements.
- Added midi-device selection code for the windows hosts.
- Fix crashes/segfaults related to the disabling of the pcspeaker.
- Added some more FILES=XX detection tricks.
- Fixed some vga detection schemes.
- Fixed screenshot corruption when using -noconsole in a read-only directory.
- Fix wrong scaled screenshots.
- Added some hidden file functions when using diskimages. (helps with cdrom
detection schemes)
- Fixed a bug in the mixer code, that muted the music in certain games.
- Added an assembly fpu core.
- Made the shell more flexible for batch files.
- Check for unaligned memory acces fixes hangups on ARM processors.
- Some 64 bit fixes.
- Added code to change configuration at runtime.
- Improved ADPCM emulation.
- Fixed a few cpu instructions.
- Always report vesa 2.0 and fix some colour issues with vesa games.
- Fix video mode 0x06 and 0x0a.
- Improvements to the joystick emulation. 4 buttons are supported as well.
- Add VCPI emulation for Origin games.
- Fixed a lot of things in the boot code. Most booters work now.
- Lots of improvements to the IPX emulation.
- Rewritten modem emulation. Should work with more games.
- Improvements to the dos memory managment routines.
- Add UMB (upper memory blocks) support.
- Emulate the pause key.
- Improve Composite CGA mode emulation.
- Lots of vga compatibility changes.
- Improved support for chained video modes.
- Improved mode and palette handling in cga modes.
- Mount accepts ~ now.
- Added a few of the EGA RIL functions.
- Added TandyDAC emulation.
- OS/2 support.
- Improved and speed up the dynamic cpu core.
- Fix some errors in the CD-ROM emulation layer.
- Added an automatic work-around for some graphics chipsets.
- Add PCjr support.
- Allow mousedriver to be replaced. Fixes a few games that come with their
own (internal) driver.
- Improved dynamic cpu core so it can handle pagefaults and some obscure
types of self-modifying code.
- Added -noautoexec switch to skip the contents of [autoexec] in the
configuration file.
- Improved v86 mode emulation (mainly for Strike Commander).
- Improved timer behavior.
- Improved extended keyboard support.
- Enhanced and added several DOS tables.
- Made core_full endian safe.
- Made pagefaults endian safe.
- Add support for moviecapturing
- Add support for 15/16/32 bit videomodes.
- Add some more VESA modi (4 bit).
- Add 1024x768 output.
- Changed screenrendering so it only draws changes to the screen.
- Allow remapping of the EMS page when the dma transfer was started from
the page frame
- Made EMS and DMA work together when playing from a mapped memory page.
- Renamed several configuration options, so that they are unique.
- Merged mpu and intelligent into one option.
- Merged fullfixed and fullresolution.
- Extended keys should be handled better.
- F11 and F12 work.
- Compilation fixes for various platforms.
- Fix a few crashes when giving bad input.
- Removed interp2x and added few new scalers.
- Reintroduce the lockfree mouse. (autolock=false)
- Add a larger cache for the dynamic cpu core.
- Improved soundblaster DSP, so it gets detected by creative tools.
- Lots of bugfixes.
- Even more bugfixes.
0.63
- Fixed crash with keymapper (ctrl-f1) and output=surface.
- Added unmounting.
- Fixed multiple issues with drive labels.
- Fixed most if not all FILES=XX problems.
- Added redirection in the shell.
- Fixed crashes with subst.
- Fixed multiple crashes with the drive images support.
- Added a missing fpu instruction.
- Fixed some cpu and fpu instructions.
- Fixed a small bug related to font loading.
- Rewrote the devices support.
- Added capslock/numlock checks on startup.
- Fixed wave writing.
- A few internal DOS fixes.
- Timer fixes for the hybrid loader.
- Some small soundblaster fixes.
- The drive cache can now be cleared by a keycombo. (CTRL-F4)
- A few keyboard fixes.
- Compilation fixes on various platforms.
- Quite some debugger improvements.
- Fixed dir only showing files after the first run on cdrom drives.
- Added some cdrom detection checks.
- Enabled insert in the shell. (Easier editing of commands)
- Changed order in which executables appear with tab-completion.
- Fixed some issues with raw opl recording and using a slightly different
format
0.62
- Added blinking support in the shell and some color fixes.
- Fixed commandline parsing when .bat files involved (fixes -exit)
- Fixed issues with tabs in commandline not being processed correctly.
- Cleaned/improved shutdown sequence.
- Added some more bios functions (wait and delay functions).
- Made our XMS driver conform the specs better. (c2woody)
- Added support for some more ems functions.
- Added intelligent mpu401 emulation. (Srecko)
- Added soundblaster 16 emulation.
- Rewrote GUS emulation to sound more authentic.
- Improved pc speaker emulation.
- Added an internal (programmable) mixer.
- Added support a few soundblaster/adlib detection routines.
- Fixed lot's of bugs related to DMA transfers.
- Added interpolating prebuffering mixer routines.
- Added recording of OPL commands and raw midi.
- Fixed some bugs with the wave recording.
- Changed sensitivity settings of the mouse.
- Added ps2 mouse-emulation in bios interrupts (c2woody).
- Fixed some bugs with mouse emulation limits.
- Fixed a bug with an unterminated string in the drivelabel.
- Changed file search routines a bit to be more compatible.
- Added support for attribute-searching with fcb's.
- Added basic SDA.
- Added TPA and DIB.
- Added Lot's of missing dos tables (c2woody).
- Changed psp and dta functions to use dta.
- Returned filename in ds:dx in create-random-file (c2woody).
- Fixed a bug with date and time used on open files.
- Some mscdex fixes.
- Added the -version switch, which makes dosbox report its version.
- Added a keymapper.
- Added basic IPX emulation.
- Added cdrom iso support and floppy images support.
- Added the possibity to boot another dos version.
- Added Serial passthrough support (win32 only).
- Added the possibility to pause dosbox.
- Changed OpenGL so that it is initialized only when used.
- Make dosbox run at higher priority when active and lower when inactive.
- Added direct draw output support (win32 only).
- Added current running program to title bar.
- Rewrote video emulation to support new scalers.
- Added new graphics scalers like advmame3x,tv2x.
- Added a support for a few anti-debugger tricks.
- Improved the handling of the tab-key.
- Improved support for the numeric keyboard.
- Fixed a few cpu opcodes.
- Added cpu core simple (for lowerend machines)
- Fixed some nasty bugs in the dynamic cpu core.
- Added a few (rarely used) fpu opcodes.
- Fixed various issues with GCC 3.4.
- Many internal timer improvements (PIT and PIC).
- Added some more PIC commands (c2woody).
- Added BCD counting to the timers.
- Fix some vesa functions.
- Add some basic support for 132x25 and 132x45 textmodes.
- Improved Tandy emulation a lot.
- Lowered cpu usage when dosbox is idle.
- Allow virtualisation of some basic IO-ports (c2woody).
0.61
- Added a beta dynamic cpu for x86 hosts (very unstable)
- Added opengl and hardware overlay display output
- Rewrote the vga screen updates to go in lines
- Added paging and v86 support to cpu emulation
- Added a config option to simulate a certain type of machine
- Added hercules graphics emulation
- Made CGA/TANDY modes more compatible
- Updated textmode drawing routines to support blinking colors
- Fixed VESA set page function that was documented wrong
- Fixed some wrongly emulated cpu opcodes.
- improved exception handling
- debugger: fixes; logging of gdt,lgt,idt, new commands(Fizzban)
- fixed some mscdex issues (drive letter header error, added get directory entry)
- added/fixed some bios funcs
- added some rarely used xms functions (thanks c2woody!)
- implemented GUS emulation
- Added 16-bit DMA support (for GUS and eventually SB16)
- Fixed many small bugs in filehandling routines
- Many small FPU fixes (c2woody/Fizzban)
- Some keyboard improvements (pharlab games)
- Some Timer and cmos/rtc fixes (Mirek/Srecko/Others)
- Lot's of mouse fixes (Help from various people)
- Enabled internal modem
- Made the DOS parsing routines a bit more flexible
- Added Subst (Srecko)
- Added cdrom ioctl support for linux (prompt)
- Many internal DOS fixes: memory/files/datastructures.
- Got some help from c2woody in allowing more than 1 irq being served
- Disabled DPMI (not needed anymore. DOSBox handles almost every extender)
- Search configfile in $HOME directory if none present in current directory
- Added another way to switch to protected mode. (Thanks Morten Eriksen!)
- Fixed some odd badly documented behaviour with PSP/DTA
- Added some warnings on opening of readonly files in writemode(DOS default).
- Many shell enhanchements
- Fixed a win32 specific bug dealing with filenames starting with a "."
- Fixed some bugs with the directory structure: not found/can't save errors
0.60
- rewrote memory system for future paging support
- fixed several EMS and XMS bugs and rewrite for new memory system
- added some support for tandy video modes
- added MAME Tandy 3 voice emulation
- added MAME CMS/GameBlaster emulation
- added serial port emulation with virtual tcp/ip modem (somewhat buggy)
- sound blaster emulation is now sb pro 2.0 compatible
- added basic support for 32-bit protected mode
- VGA now tries to emulate an S3 Trio 64 card with 2 MB
- VESA 2.0 support for some 256 color modes
- rewrote large piece of video bios code for better compatibility
- added support for the not inheritance flags.
- created functions for creating child psp.
- updated errorcodes of findfirst (thanks Mirek!)
- rewrote loggingsystem to generate less warnings
- added dos protected mode interface (dpmi)
- added cdrom label support
- improved cdrom audio playing
- fixed and improved directory cache
- debugger shows selector- and cpu mode info
- added SELINFO (selector information) command to debugger
- added reference counting for dos files
- added tab-completion
- added basic fpu support.
- fixed several bugs with case sensitive filesystems.
- added more shell commands and improved their behaviour.
- mouse improvements.
- real time clock improvements.
- DMA fixes.
- Improved .BAT file support.
0.58
- fixed date and time issues with fcbs
- added more commands to the internal Shell
- corrected config system when a old configfile was used
- fixed cga put and get pixel
- fixed some vga register getting reset to wrong values
- improved support for foreign keyboards
- improved joystick support
- made dosbox multithreaded again
- lot's of soundblaster fixes
- dma fixes
- cdrom support
- midi support
- added scale2x
- reenabled screenshot support
- joystick support fixes
- mouse improvements
- support for writing wavefiles
- added directory cache and longfilename support (longfilenames will be mangled)
- mouse fixes
- date and time updates at z:\
- added (partial) direct disk support. (works probably only if directory is mounted under a:\)
- added support for env variables. (must be set before starting dosbox: DOSBOX_SECTION_PROPERTY=value
like DOSBOX_SBLASTER_IRQ=1)
0.57
- added support for command /C
- fixed all fcb-write functions
- fixed fcb-parseline
- added debugger under linux/freebsd
- added debugger memory breakpoints and autolog function (heavy debug)
- added loadfix.com program that eats up memory (default 64kb)
Usage : loadfix [-option] [programname] [parameters]...
Example: loadfix mm2 (Allocates 64kb and starts executable mm2)
loadfix -32 mm2 (Allocates 32kb and starts executable mm2)
loadfix -128 (Allocates 128kb)
loadfix -f (frees all previous allocated memory)
- added echoing of characters for input function
- added support for backspace for input function
- added partial support for int10:01 set cursortype
- fixed most of the problems/bugs with character input.
- fixed allocationinfo call.(darksun series)
- improved dos support for non-existant functions
- Split screen support
- prefix 66 67 support
- rewrote timingscheme so 1000 hz timers don't cause problems anymore
- update adlib emulation
- fixed some isues with the mouse (double clicks and visible when it shouldn't be)
- improved mouse behaviour (mickey/pixel rate) and detection routines.
- basic ansi.sys support
- Disney sound system emulation
- rewrote upcase/lowcase functions so they work fine with gcc3.2
- SHELL: added rename and delete
- added support for command /C. Fixed crashes in the shell
- fixed various bugs when exiting dosbox
- fixed a bug in XMS
- fixed a bug with the joystick when pressing a button
- create nicer configfiles.
- bios_disk function improved.
- trapflag support
- improved vertical retrace timing.
- PIT Timer improvements and many bug fixes
- Many many bug fixes to the DOS subsystem
- Support for memory allocation strategy
- rewrote cpu mainloop to act more like a real cpu
0.56
- added support for a configclass/configfile
- added support for writing out the configclass into a configfile
- removed the language file and made it internal
- added support for writing the language file (will override the internal one)
- improved mousesupport
- updated readme
- support for screenshots
- some cpu-bug fixes
- dma changes
- Real Sound support
- EMM fixes and new functions.
- VGA fixes
- new wildcompare
- support for size and disktype at mount.
- added new debugger functionalities: start/trace into INTs, write processor status log,
step over rep and loop instructions, breakpoint support without using INT 03 (heavy debugging switch)
- Added more cpu instructions and changed the string operations.
- Added classes for most of the internal dos structures.
- Rewrote most of the fcb calls to use normal dos calls.
0.55
- fixed the errors/warnings in prefix_66.h and prefix_66_of.h (decimal too large becomming unsigned).
- fixed compilation error on FreeBSD when #disable_joystick was defined
- int10_writechar has been updated to move the cursor position.
- changed the basedir routines to use the current working dir instead of argv[0]. This will fix and brake things :)
- illegal command, now displays the command
- wildcmp updated to be case insensitive
- added fcb:open,close,findfirst, findnext.
- fixed rename in drive_local
- added new features to the debugger: breakpoint support / data view / command line
- partial support of list of lists (dos info block)
- full emm 3.2 support
- partial emm 4.0 support
- fixes to graphics core fonts (text in sierra games is now correct)
- improved support for user mousehandlers
- fixed EGA graphics
- fixed VGA graphics
- fixed write with size 0
- changed memory management.
- fixed and cleaned up the cpu flags.
- changed interrupt handler.
- speeded up the graphics.
- speeded up the cpu-core
- changed dma
- improved dma streams from emm memory
- added some cga videomodes
- added more funtions to the keyboard handler