dosemu2-alpha1 Well, there are ~2650 commits since the last pre-alpha release (pre8) so tagging is a due. Initially I wanted to keep the alpha stage entirely in git, but it simply doesn't work that way. Seems better to release alpha software than nothing at all. :) Note that this is a quite late alpha, i.e. we implemented most of the core parts of dosemu2. So this alpha reflects the final dosemu2 architecture quite strongly, and yet there are lots more work to do... Summary of changes: * Use fdpp as our boot OS. fdpp is a 64bit DOS core that boots under dosemu2 and allows to work without installing any DOS. Of course you can still install any DOS if you want. * Use comcom32 as our shell. comcom32 is a command.com variant that runs in 32bit space. Eventually we aim for the 64bit shell, but so far we only have this. You can still use your favourite shell if you want. * Worked out the security model. We hope that dosemu2 now provides a relatively secure sandbox environment, and yet exposes all the needed features. Exposing features in a secure manner (rather than to simply declare them insecure and disable) was a challenge. * Add KVM-assisted acceleration to DPMI. * Implemented region locking and share support in MFS. One of the most requested/missed feature of dosemu1 times. 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