NEWS file for DOSEMU2
====================

This file contains a list of user visible changes in DOSEMU. For the
raw developer changelog please use "git log".

Version dosemu2-2.0pre8
=============
We have ~300 commits, many of which are bug-fixing, as pre7 was horribly
buggy due to heavy development. As for the newly introduced regressions -
not too much known at this time, except the drop of clang support. We
hope to get clang support back again in the very near future.

Summary of changes:
* Improved hx-extender support so that the win32 version of quake2
  can now work under dosemu2 (in pre7 it was supposed to but didn't).
* Support for external EMS managers like emm286.exe was (partially)
  implemented. As the result, we have a new UMB driver, umb.sys, that
  allows to enable UMB without also enabling EMS, leaving this possibility
  to an external driver.
* New DOSes supported: RxDOS 7.1.x and 7.2, PC-MOS 5.01.
* fossil driver got updates and missing functionality additions.
* Sound stack got updates to reduce the latencies.
* Passing DOS commands via dosemu's cmdline was changed, see man for
  details. Many new possibilities added, like passing environment
  variables and more.
* Some no longer used commands (comline.com, ecpuon.com, ecpuoff.com)
  were removed.
* Dumb terminal mode now handles the charsets.
* Fixes to all regression bugs of pre7 - there were many of them.

List of tracker bugs that were closed:
    cpu exception in dosemu code when launched from .desktop file #414
    Duplicate src file detect.h #426
    int2f - misplaced brace? #398
    HMA unavailable after a reboot from within DOSemu #427
    VESA test utility vbetest.exe doesn't work since new int_revect logic #419
    Int 14h function 1Bh returns pointer to wrong ID string after reboot #432
    DOSemu becomes slow after certain programs return from a DOS shell #433
    Windows crashes dosemu in cpusim #435
    dosdebug bpint causes crash #442
    Int19 loads the MBR but returns to where it was called #441
    File or directory creation on hdimage fails #443
    BIOS data area entry at 0:0475h "NUMBER OF FIXED DISK DRIVES" is zero #447
    Fatfs has duplicate config.sys file #449
    Compile error: signal.c:370:6: error: conflicting types for 'deinit_handler' #457
    lagging after printing #455
    dosdebug INT tracing oddities #458
    dosdebug: tracing iret doesn't stop after the iret #465
    pause key doesn't work with SDL #472
    instremu runs with async signals blocked #477
    Build engine and VESA modes #456
    dosdebug t misses instruction after sti #480
    Windows 3.1 setup reboot hangs #469
    Windows 3.1 doesn't start after starting+quiting Borland C #488
    MechWarrior crashes dosemu with jit #487
    cpatch crash due to misaligned stack (jit) #489
    dosdebug d repetition should advance pointers #482
    keen4 sometimes crashes in remap.c #491
    dosemu2 complains vm.mmap_min_addr > 0 eventhough it is zero #448
    INSTALL isn't clear about what problems might be with Linux < 3.16 #499
    Int13/04 verify on fatfs #503
    No native chars in dumb terminal mode #505
    in dumb terminal mode, control chars are displayed rather than working #508
    crash or load error after int19 reboot (vm86 jit) #493
    CPU should execute two instructions if the first is "mov ss" #481
    PC-MOS/386 in DOSEMU2? #502
    Bug in modemu.c #527
    ucontext issue when using musl libc #531
    pthread_getname_np and feenableexcept don’t exist in musl #532
    Net header issue when using musl libc #530
    LFN: Creating a file with LFN from djgpp app gives mangled name file #535
    rename with wildcards doesn't work with non-free doses #526

Thanks goes to:
    Andrew Bird: MFS/LFN work, new DOSes support
    C. Masloch: mkfatimage16, int13 work
    Stas Sergeev: credit thyself or no one else will :)
    @newbluemoon: musl porting help (not quite there yet)
    Julius Schwartzenberg: as usual, lots of testing
    @bpranoto, @severach, @jharrison022: testing

Version dosemu2-2.0pre7
=============
We have over 700 commits, mostly targeted on re-introducing and fixing
the features previously supported in dosemu1, and a couple of new ones.
Unfortunately we also have a few regressions.
Summary below.

* Reworks to SDL plugin. The HW-accelerated rendering is now disabled
  by default, as well as the scaling filters, and full-screen switching
  may not work. If you want to use HW-accelerated rendering, try
  $_SDL_swrend = (off). If you want scaling filters or full-screen, use
  'dosemu -X'. We will try to improve the SDL support in future releases.
* HX extender now fully supported, quake2 works!
* Mouse wheel support implemented
* Support booting OpenDOS and some old versions of MS-DOS.
* 2 new keyboard plugins implemented ("stdio" and "tty") to allow dumb
  terminal mode to work without slang library. Selectable with '-kt', '-ks'.
* VGA pass-through in text-mode console is now fully supported. Hope
  no one uses it though.
* Windows-3.1 support is fully re-introduced, and is actually much better
  than in dosemu1. We also provide the mouse driver for windows-3.1 that
  allows the use of the host's mouse pointer:
  https://github.com/stsp/win31-mouse-driver/tree/master/out
* Resurrected basic Windows-3.0 support.
* Foxpro support re-introduced.
* Fixes to SVGA/VESA modes. Support for some missing modes added.
* Many fixes to gfx remapper. The various annoying video artifacts
  should now be fixed.
* SB16 fixes to support sound on more games.
* Mouse copy/paste support is fully re-introduced.
* New $_bootdrive option allows to boot from any drive, not only C.
* Net: IPX and packet driver are fully functional again.
* Lots of build system improvements. We have now the debian build support
  and "make uninstall".
* X fonts are resurrected and provided again.
* Many fixes and improvements: DPMI support is now much more reliable,
  x86 JIT is more reliable, many performance improvements.
* Many updates to interrupt routing code.
* Resurrected emufs.sys.
* Sanitize syntax of lredir2: silly LINUX\FS is no longer needed.

List of tracker bugs that were closed:
    ERROR: Drive C not defined can't boot! with clean installation #232
    How to use vbootfloppy now? #235
    It would be great to have.deb packages for Ubuntu/Debian! #233
    jit: performance regression #239
    Direct VGA regression #222
    fdisk and mkfatimage16 #244
    Radeon on Ubuntu 14.04 (+16.04 HWE stack) doesn't work in SDL mode #248
    OpenDOS 7.02 causes crash when *not* ran from a harddisk image #250
    Strange compiler messages on 32 bit #253
    Underscore keypress is ignored in terminal mode #256
    Creative SB16 driver installer (for Windows 3.1) hangs at SB16 detection #259
    RFC: The flag position with floppy and harddrive directives in dosemu.conf is inconsistent #263
    SciTech Display Doctor 5.3a crashes DOSEMU #264
    dosemu crashes immedately after startup with MS-DOS 3.3 #49
    Mortal Kombat 1 & 2 keyboard issue #277
    SDL: copy/paste from dosemu window with mouse #271
    x86_64 builds failing on Ubuntu Yakkety and Zesty #262
    console switching is unreliable #285
    dos prompt in win31 under console #25
    plainvga does not restore text #286
    windows: krnl286 doesn't work #287
    Idle CPU usage anomaly #211
    Compile error in lexer.l for yywrap #288
    Regression: terminal mode #291
    mouse in grab mode broken #293
    DPMI is broken on 32bit #294
    Typo in vgaemu_modelist.h for VBE mode 1280x1024x16 #295
    VM86 not available on 32bit #297
    windows-3.0 doesn't work #225
    Speedy does not have sound #103
    Soft links and contents of ~/.dosemu being overwritten #289
    Unable to boot #305
    goblins3 gfx and audio problems #304
    Foxpro hangs quickly #309
    Windows 3.1 installer does not work #97
    Norton utilities v8 english causes dosemu crash #311
    UMB not working anymore under FreeDOS #315
    Mouse support for Foxpro in 132 column mode #319
    mouse paste broken #320
    All DOS commands stopped working #318
    erratic mouse behaviour after mode switches #314
    dosemu2 64bit crash on vlm #317
    MS-DOS 7.00 / 7.10 unable to format floppy disk #276
    Can't run make due to git path issue #324
    $_X_font="vga11x19" doesn't work #323
    make: git-rev.sh Bad substitution #326
    Enhance unix command to set to current DOS folder #328
    SDL mouse cursor not hidden #331
    Graphic artefacts in PC/GEOS with a lot of VESA modes #301
    Add uninstall target #334
    Request: ctl-z functionality? #337
    FD tarball path specification #341
    dosemu -S not ended after exitemu #343
    undefined symbol: XLockDisplay #342
    Dosemu failing to start #344
    Dosemu failing to start in SDL mode #345
    X: cursor shape changes by Ctrl-Alt-k #349
    'dosemu -t' crashed on screen tmux #351
    mouse problems with Master of Orion 2 #354
    Serial port initialization appears to be slow with high CPU usage #348
    Crash in Fedora 25 #358
    Windows 3.1 installation crashes on Fedora 25 #359
    in terminal or SDL mode isn't possible copy|paste text on text screen #361
    Problem with git-rev.sh and old Git versions (Ubuntu 14.04) #356
    Wrong dosemu fonts #364
    dune locks up at intro #370
    sound in quake lags #369
    lredir2 -d c: changes directory listing #362
    win31 installer sometimes crashes at the end #372
    win31 SB16 driver gives a crash #363
    Unmet build dependencies: docbook-style-dsssl #383
    Clipper application hangs - ERROR: coopth: unsafe context switch #384
    Launchpad ppa deb build failiing on Ubuntu 14.04 #387
    key combos broken under X #391
    sdl error even with -x #395
    ERROR: vde_switch failed: sh: 1: vde_switch: not found #396
    Doom 2 and Rise of the Triad nets about 10 FPS #403
    DPMI linear allocations broken #385
    quake2 does not work #404
    Problems with full screen under X #394
    fails on ubuntu14.04: cannot load libbfd-2.26.1-system.so #408
    mouse cursor ghost #407
    Error finding .git/refs/heads/devel after 'git gc' #411
    emufs.sys is broken #347
    put himem.sys in? #413
    make rpm doesn't work #346
    jit locks up with -D9+e #409

Thanks goes to:
 Andrew Bird for new DOSes support and great fatfs work.
 @bolle732 for new remappers, VESA fixes and for the chocolate. :)
 Julius Schwartzenberg for a lot of testing and work on wheel support.
 Tee-Kiah Chia for work on build improvements


Version dosemu2-2.0pre6
=============
We have around 500 commits since pre5 with the highlights below:

* KVM is now enabled by default on 64bit builds. A huge speed-up!
* SDL plugin now uses hardware-accelerated texture updates instead
  of the (slow) drawing surface
* virtual modem support is added
* serial port fifos now work again (were broken/unsupported in dosemu2
    but worked in dosemu1)
* DPMI context switching is rewritten for speed-up, using a new
  linux kernel extensions and the code from libtask and libpcl
* default DPMI memory size enlarged to 128Mb, which is enough for
  all known DOS programs
* new builtin command system.com is added that runs DOS commands
  specified via the unix env vars. Similar functionality in unix.com
  is kept for compatibility.
* DOSDRIVE_D var is removed. Use new DOSDRIVE_EXTRA variable.
* mouse driver got a huge overhaul for improved robustness in non-grab mode
* winos2 mouse extension is implemented for better support of the OS/2
  mouse driver under windows-3.1
* middle mouse button is now supported (was broken)
* dosdebug fixes
* many fixes to SDL plugin
* the home dir is no longer exposed to DOS by default. Use -home if you
  need this.
* added -cdrom option that tries to mount the cdrom and expose it to DOS
* $_hdimage option can now embed environment variables
* many performance bottlenecks were located and fixed
* many fixes and updates

List of tracker bugs that were closed:
    checking for stack protector disabled... no #61
    Signal 11 in dosemu.bin thread in terminal mode under Ubuntu 16.04 #165
    On first run, have to run dosemu twice #73
    comma on numpad isn't recognized #171
    dumb mode is broken when DOS cmd is specified #173
    re-introduce system.com #174
    Cleanup $_pcm_hpf in default dosemu.conf #181
    Installing with DESTDIR set creates bad symlinks #184
    remove DOSDRIVE_D and drive_z? #177
    failed lredir redirects / #176
    cant del symlinked files #180
    REG macro breaks strict aliasing on i386 #179
    modemu support #164
    Compilation error in vgaemu #189
    use html docs by default #183
    INT33 mouse support for higher resolutions (800x600, 1024x768)
      in Windows 3.x (possibly other applications as well) #193
    Application crash on x32 #130
    Dosdebug: bpload fails to load command #191
    Regression: booting from hdimage file fails #203
    ERROR: mprotect to lfb? #204
    Use global SDL_Texture (speedup) #205
    PC/GEOS freezes with VM86, KVM ok #209
    Wacky Wheels performance/timing regression #169
    Is it possible to suppress issues like:- #207
    Mouse range restricted again (was #132) #214
    Weird interactions switching between fullscreen and windowed mode #213
    Running an unrecognised command locks up DOSEMU #221
    SimCity mouse issue with title screen at 640x350x4 #216
    In 3D Lemmings the mouse cursor always goes to the upper
      left corner when it enters the window #220

Known regressions not fixed in this release:
    windows-3.0 doesn't work #225           (all dosemu2 releases affected)
    Idle CPU usage anomaly #211             (most dosemu2 releases affected)
    Windows 3.1 installer does not work #97 (regression since pre5)

Thanks go to Bart Oldeman and Andrew Bird for their contributions,
and to Julius Schwartzenberg and @bolle732 for continuous testing.


Version dosemu2-2.0pre5
=============
* SDL video backend is now default, which means a GPU-accelerated rendering
* lredir command was deprecated, use lredir2 with the new syntax
* unix.com syntax was slightly changed
* new tool sound.com is added to change sound and MIDI parameters at run-time
* LPT2 is now pre-configured to print to PDF files
* Added preliminary support for old MS-DOSes (>=3.3) and some DR-DOSes
* many improvements to dosdebug
* use logarithmic volume scale for sound
* Preliminary KVM support - a very fast execution on 64bit machines.
  Should be manually enabled in config for now.
* Many regressions fixed
* Added valgrind support, which allowed to find many obscure bugs
* Work-arounds to support the newer fluidsynth for MIDI
* More versions of libao are supported for sound (each having its own bugs).
  This is good when SDL2 is unavailable.
* munt support for mt32 (you need to download Roland ROMs yourself)
* built-in backtracer is added for a better crash logs.
  Used if gdb is not installed.
* clang is now supported to compile dosemu2

List of tracker bugs that were closed:
    improve clang support [#160]
    DR-DOS 7.02 doesn't boot (7.03 works, 7.02 doesn't)  [#151]
    broken on large terminals [#153]
    Speedy does not have sound [#103]
    windows doesnt work with vm86sim [#146]
    Textmode --- ERROR: SMALLOC: Out Of Memory on alloc [#143]
    cursor stuck top left. in textmode dosemu -t [#144]
    Current master does not compile (‘in_indirect_dpmi_transfer’ undeclared) [#138]
    Mouse range restricted [#132]
    trying dosemu2 with svgalib + i915 [#137]
    Dosdebug bpint / g results in strange disassembly / location [#136 again]
    Dosdebug unintended initial stop [#135]
    init.c:375:38: error: macro "__S" passed 2 arguments, but takes just 1 [#111]
    enable fixed aspect [#5]
    Trying to add support for booting Enhanced DR_DOS [#88]
    screamer crash under console [#28]
    Where to document config options [#82]

Contributors:
    Stas Sergeev: see log :)
    Bart Oldeman: KVM, cpuemu fixes, vgaemu fixes, regression fixes
    Andrew Bird: Support for old DOSes, fixes to FAT12
