2001/10/13 ver. 1.0.2.1 unofficial pre-release From Jeff Beardsley - changes to global.conf to allow com3/4 work on other the irq12 (this turns out to be the fix for more than 2 serial ports) Just have a $_com3 = "/dev/ttyS2 irq 5" in dosemu.conf From Stas - fixed bug in DPMI prevent calling int > 0xe0 in case of function 0x0300 (not for 0x0301/0x0302) - setting unused intvectors to NULL instead iret From Bart - fix bug in INT 13 AH=8 altering BL wrongly for harddisks (base/misc/disks.c) From Steffen - fix to global.conf: one /var/lib/dosemu forgotten to be replaced by $DOSEMU_HDIMAGE_DIR From Steffen + Hans - fixed bug not booting on Pentium IV (base/init/config.c) From Hans - some fixes/enhancements to the dosemu wrapper script - added '-input' and '-quiet' option - tweaked args passing to dosemu.bin - allowed running _as_ root (not suid), if configfiles are protected - adapted the man page - disabled obsolete 'root not secure' check in coothreads.h - fix (again) to VERSION setup in ./baseconfigure (hopefully this was the last one ;-) 2001/06/10 ver. 1.0.2 released From Stas Sergeev - fixes to xms.c (umb_alloc) to match the LIM's specs. - make cdrom.S' config.sys line parsable by PC-DOS 7.0 (patch modied by Hans) From Bart & Alistair - fixes in the docs of my bad english;-) (I'm sure there still are some 'bugs' left) From Hans - comcom.c: using INT21,AH=7 instead of INT16,AH=0 for kbd reads - comcom.c: fixed version number printing - comcom: command 'cls' was missing - comcom: command 'break' switched inverse - further docs updates - recompiled docs 2001/06/01 ver. 1.0.1.8 unofficial pre-release From Bart - fixed a bug in X-speaker code (pitch is short int instead of int) (src/base/speaker/X_speaker.c) - fixed crashing DOSEMU if compiled with glibc (close() on already closed file simply gives error normally, but on glibc it will crash due to implicit free()). Involved file: plugin/commands/comcom.c From Hans - fixed bug in comcom's commandline editor - fixed bug in comcom's 'DIR' command (reported by Bart) - disabled use of (real) yacc in base-configure, yacc won't work any more, we need bison. - new long options to bypass dosemu.user checks for non-suid runs: --Flibdir to define DOSEMU_LIB_DIR directly (this also sets DOSEMU_USERS_FILE=none in which case the config dir moves from /etc to DOSEMU_LIB_DIR). --Fimagedir to define a boot path that may differ from libdir - exporting DOSEMU_HDIMAGE_DIR directly to global.conf - 'dos' became 'dosemu.bin' to avoid nameclash with win4lin. there is a symlink ->dos in ./bin, however, distributors should install the 'dosemu' script as a wrapper which then calls dosemu.bin - moved generation of the dosemu part of the bindist into the source distribution: - ./dist is the directory to contains this stuff - global.conf and dosemu.conf are common for both, global (/etc) and private ($HOME) configurations. - wrote ./dist/mkbindist, which generates dosemu--bin.tgz - wrote ./install_systemwide script, which creates the systemwide installation into a configurable directory (root prefix possible to ease packaging). It accept the following options, which all may be omitted: -fd FD_tarball Tarball containing FreeDos part, if omitted we assume it already to be inplace. -r root optional prefix for 'instpath' and 'binpath' -i instpath directory where the systemwide installation templates reside (default is /opt/dosemu) -b binpath path where symlinks of the binaries under 'instpath' have to be placed (default /usr/bin) If the user accepts the defaults, ./install_systemwide will just 'update' an existing systemwide installation and all users on that system will untill than work with the new binaries while keeping their existing configuration/installation. - rewrote [x]dosemu script (of bindist) to become the _only_ executable to start dosemu. On a systemwide install it resides in 'instpath' (see ./install_systemwide) and is accessed via a symlink in the private installation (though, because of 'binpath' also available via $PATH). [x]dosemu will detect when the user has no private installation yet and will unpack from the templates in 'instpath', the latter is substituted into the script itself at time of ./install_systemwide. If the script stemms from unpacking the original DOSEMU binary distribution of dosemu.org, the script will know and not try to fiddle with an eventually existing systemwide install. The file ~/.dosemu/bindist_path is maintained to find the last private dosemu directory, even if [x]dosemu is called from elsewhere. If, however, the user does cd into the private installed directory and calls the script from there, bindist_path is changed to this one. This allows switching between different private installations. In addition, on a systemwide install, the script accepts the option '-install ', where 'mydos' is the basename of a bootdir, that the user has to supply. In this case freedos will not installed and can be replaced by any proprietary DOS, which is bootable via fatfs (bootdir). - updated README.distributors - renamed ./man/dos.1 to ./man/dosemu.bin.1 and updated it - wrote new ./man/dosemu.1 - updated set-permissions - updated README*.txt, recompiled docs 2001/05/02 ver. 1.0.1.7 unofficial pre-release From Bart & Eric - final mouse fix for applications, which do 'mousing' only by reading mickeys and drawing their own cursors (WP Office). (replacing 'temp fix' of 1.0.1.5) From Bart - fixes to vgaemu: putpixel and hardware cursor - fixes for dosnet not working under linux-2.4.x From Hans - fixed some strange behave when video{none} together with -o/-O is set ((FILE *)stdout clobbered). In fact this is a workaround, the real reason is unknown until now. Involved file: bios/int10.c - a lot of fixes and further enhancements to comcom, such as implementing missing copy/which command, commandline editor with history (will be saved/loaded to/from ~/.dosemu/comcom.history), compatibility should be much better. e.t.c. ... - updates to README.bindist - prepared doc/announce for 1.0.2 - wrote README.distributors - disabled systemwide installation in Makefiles, no longer supported. - removed non-monoton timing stuff, obsolete now, tmonoton has stabilized 2001/04/21 ver. 1.0.1.6 unofficial pre-release From Hans - introduced coopthreads plugin, which supplies non-scheduled (active) 'task' switching between plain green threads (no new process created). This has the advantage that _none_ resource locking is needed, minimal systemoverhead happens and neither DOSEMU nor libc have to be thread aware. On init the DOSEMU mainloop becomes 'thread0' with enough stack (1M) to run as usual. Child-threads are created (256K stack) by stub .com files from within DOS, have their code in 32-bit DOSEMU and can (recursively) call DOS and BIOS functions themselves. Even hooking of interrupt handler (such as INT23/24) is possible and on start of a stub .com in fact INT23/24 are directed to own default handlers. NOTE that except the new doshelper function DOS_HELPER_COOP (0xc0) there is _no_ hook within the main code, all is handled within the plugins themselves and you may just copy the plugin directories to any DOSEMU > 1.0.1 to take over this new code. Involved files: src/plugin/coopthreads/* - Ported most of the src/commands/* DOS support programs to coopthreads, which are: bootoff/on, cmdline, dosdbg, ecpuoff/on, eject, emumouse, exitemu, lredir, speed, system, uchdir, ugetcwd, unix, vgaoff/on, xmode. Involved files: src/plugin/commands/* - Wrote (from scratch) a DOSEMU built-in COMMAND.COM using coopthreads. Involved file: src/plugin/comcom.com ;-) This COMCOM only needs 2K lowmem per instance (plus env, of course) and claims to be as compatible as reasonable, but some incompatibilities still exist (though I don't think they hurt). The following DOS internal commands are implemented: cd, chdir, goto, echo, @echo, pause, rem, if, for, shift, call, type, del, erase, set, path, prompt, break, mkdir, md, rmdir, rd, verify, ver, ren, date, time, dir. "copy" and "choice" are not implemented, because those exist as external freedos commands. The following DOSEMU support programs are being invoked internally (if not present in the PATH), so they are always available: exitemu, speed, bootoff, booton, ecpuoff, ecpuon, eject, emumouse, ugetcwd, vgaoff, vgaon. The following ones eat additional lowmem heap, so its better to leave them external: lredir, unix, dosdbg, xmode, system, uchdir. Of course COMCOM has a builtin commandline editor with history buffer, else who of us would like to work the stupid old DOS way;-) - updated README.bindist and src/docs/README/config to reflect the latest changes - recompiled docs 2001/03/23 ver. 1.0.1.5 unofficial pre-release From Stas Sergeev - fix for emusys/emubat/emuini file extension substitution not working correctly for redirector/PC-DOS (modified by Hans). Note: the DCONFIG.SYS part is disabled because it can't be handled consistently in fatfs.c. Involved files: utilities.[ch], async/int.c - fix for DPMI: run_dpmi() must not be called from timer_int_engine() (just delay ints until the timer routine is finished) From Bart - small fix for mfs to get DRDOS use 'con' without error - vgaemu_put_pixel patch (int 10h, function 0ch and 0dh) - temp fix for mouse in applications, which do 'mousing' only by reading mickeys and drawing their own cursors (WP Office): In mouse.c, 'mouse_setpos()' disabled for X without mouse grab. From Hans - ./mknewyear ;-) - fixed typo in global.conf, $__debug --> $_debug - fixed bug in mfs for special devices given as full path by by FDkernel. Involved files: src/dosext/mfs/{mfs,mangle}.c - fixed small bug in mappingdriver detection (mapping.c) - fixed src/base/misc/fatfs.c so 'emusys' and 'emubat' are handled (emuini isn't needed here, because at that time we are lredir'ed) - reduced signon banner to be less verbose (+292 ./src/base/async/int.c) - implemented A20 handling in 8042 emulation, needed for WinME involved file: src/base/keyboard/serv_8042.c - removed binary stuff, we have it now in dosemu--bin.tgz or drop it. Involved files/directories: dexe, etc/{config.test,hddummy}, setup-bootdir, setup-hdimage, first-test, dosemu.spec, src/doc/README/{dexe,oldboot}, src/tools/{mkbindist,Mkbindist,QuickStart.bindist}, contrib/dosC, src/commands/precompiled/*.{com,exe,sys,doc} - adapted the Makefile to reflect the binary remove - the commands dir now is only compiled on demand, target: dosbin - adapted the docs to reflect the binary remove - added a short description about the binary distribution to doc/README.txt, Quickstart and a larger one in README.bindist - adapted Quickstart 2001/03/10 ver. 1.0.1.4 unofficial pre-release From Hans - fixed typo in emm.c, error code wrongly went into BH instead AH - changed forgotten vger.rutgers.edu to vger.kernel.org in async/int.c - introduced --Fusers option to bypass /etc/dosemu.users in case the binary is _not_ suid-root. This allows to distribute isolated packages (other then DEXE), which have their completely own configuration. - introduced arg-list preparsing. As some options are dangerous when parsed too late, those are done in the special function secure_option_preparse(), which discards all options known to be dangerous from the arg list (currently only --Fusers). 2001/03/02 ver. 1.0.1.3 unofficial pre-release From Herbert Xu - fix for not working caps/num lock with X_keycode (src/base/keyboard/keyb_X_keycode.c) - fixed typo in mfs mangling, src/dosext/mfs/util.c - changed /dev/cuaX to /dev/ttySX in etc/dosemu.conf - Fixed incorrect partition type sensing (setup-{hdimage,bootdir}) - glibc-2.2.2 needs (additionally) included in dosdebug.c From DJ Delorie - fixed DPMI memory available (dpmi.c) From Bernd Schueler - allow file names, which have a DOS reserved basename together with an extension (e.g. LPTx.PRN as used by CLIPPER programs for internal spooling purposes). Involved file: mangle.c From Rob Clark - fix for mfs.c and mangle.c to proper detect reserved DOS file names, even if prefixed by full pathes. (patch rework by Hans) From Urban Widmark - support for mice using the IMPS/2 protocol (dosemu.conf key word 'imps2') From Alberto - src/base/keyboard/serv_xlat.c: missing spaces in a case range, gcc 2.96 will not like it. From Bart - lpt.c printer security patch - lredir enhancement to "reredirect a drive', such that an existing redirection is replaced with the new one instead of returning an error. - adapt dosnet.c to linux 2.4.x - fix for internal mouse driver on the console in graphics mode: sometimes the mouse cursor left a trace behind. Involved file: src/base/mouse/gcursor.c From Hans - fixed bug for compiling static under glibc: PORTABLE_BINARY had no effect (Makefile.conf.in, base-configure*) - removed obsolete (old parser style) etc/config.dist - fixed dexe/check-mtools to detect version correctly - adapted dexe/myxcopy to newer mtools (modified fix from Herbert Xu) - fixed compiler warning in keyb_X_keycode.c (unused variable), which stemms from the Xu caps/num lock fix - 'tuned' ./rebuild for my convenience;-) - removed suid-bit from default install, involved file: src/arch/linux/Makefile.main - recompiled lredir.exe due to Bart's "reredirect" patch. 2001/02/26 ver. 1.0.1.2 unofficial pre-release From Adam J. Richter - some glibc-2.2.2 fix (to include time.h instead of sys/time.h) involved file: mfs.c From Alberto - fixes for gcc >= 2.96 (the '##' macro thing) involved files: data.c, msdos.h, cpu.h, mhpdbg.h - other warning fixes related to gcc >= 2.96 involved files: pci_bios.c, pic.c, lexer.l, memcheck.c, parser.y, keymaps.c, prestroke.c, fossil.c, dpmi.c, xms.c, detach.c, remap.c, screen.c, port.h, dexeconfig.c From Hans - general 'linux' header rework (this could no longer be avoided) because we can't rely any longer on proper headers in the system. - changed all and to "Linux/*" and "Asm/*" in order to make obvious, that we are including private headers - included standard headers from instead of where ever possible possible - the rest of headers is made 'privat', copied from a linux-2.0.38 tree and cut down to our needs - v-net/dosnet.c still contains references to kernel header files, because this is a kernel module. Compile this one with care and verify that /usr/include/linux is in fact a symlink to the kernel source. - made generation of GLIBC_VERSION_CODE (hopefully) foolproof ;-) 2000/07/08 ver. 1.0.1.1 unofficial pre-release From Hans - added missing parts of 1.0.0.2 vmodem (doors) patch. (somehow did patch in a broken way at that time) 2000/07/03 ver. 1.0.1 released From Hans - fixed a diabolic bug in mapping/mapfile.c (s/\|/,/) :-( - made sure we realy have root-only access on the mapfile when running suid root. On NFS mounted $HOME we will come into trouble, when we have no root_squash. For security reasons we cannot allow suid-root DOSEMUs publish its mapped executable space on a NFS mounted volume, that isn't trusted enough to have root_squash. - removed contrib/twin (forgotten in 1.0.0) - updated dosemu.spec for 1.0.1 2000/07/02 ver. 1.0.0.11 unofficial pre-release From Alistair - new doc stuff, now using DocBook. For good results you need atleast OpenJade-1.3, SGMLtools-2.0.2, HTML Stylesheets 1.27 Lynx >= 2.8 - feed in delayed docs from Eric and Bart From Hans - docs recompile - adapted setup-dosemu's help to reflect the new docs format 2000/06/17 ver. 1.0.0.10 unofficial pre-release From Eric - changed Mailaddress (but not in src/doc/*, Alistair will do) - changes to src/commands/emumouse.c (new options -Mx -My) From Eric, Alistair & Hans - fixed global.conf to take care of GNU sh-utils > 1.16 ( default behaviour of 'who' isn't backward compatible anymore) From TWISTI (what ever real name he/she has ;-) - changes to base-configure.in to reflect glibc-2.2 changes From Alistair - fixed DEXE for newer FD kernels, that have no IPL.SYS From Alistair & Hans - prepare src/base/misc/disks.c for linux-2.4.x (BLKGETSIZE no long defineable via ) From Hans - cleaned up run_vm86() loop for do_call_back, now the same as the main loop. 2000/06/05 ver. 1.0.0.9 unofficial pre-release From Bart - patch to make SiS chipset card run on console - cleaned up bankswitching in env/video/vga.c - fix for mouse.c, save/restore bug - fix for mouse.c (SimCity virtual resolution of 2560x1920) no restricting the virtual mins and maxes. From Hans - made FD kernel 1.1.20 (Build 2020) bootable via the bootdir stuff (just needs kernel.sys within the boot directory, bootsector is generated on-the-fly) BTW: still needing Pat's command.com, the FD one still is buggy and doesn't allow you write/create files within the redirected drive(s). - removed forgotten '#if 1' for Bart's XWarpPointer improvement;-) 2000/06/01 ver. 1.0.0.8 unofficial pre-release From Eric (with hints from Bart) - mouse fixes along latest xmouse dicussions - hide the mouse in X when the mouse grab is active. - made set_curpos work for X From Bart - (hopefully) last fixes/enhancements to PL4 stuff - updated DANG and comments in the source (no src/docs/* yet) - mouse: trying to minimize the amount of XWarpPointer calls. From Hans - fixed above mouse changes, which broke 'autohiding' the X cursor while DOSapps drawing the cursor itself in graphics (win31,fs5...) (broke old and new stuff introduced in 1.0.0.4). - removed 'X_mouse_cursor' (hand), this irritates more than it serves. We aren't 'DOS compatible' here anyway, so stick on 'X_standard_cursor' (arrow). - set COUNT to 150 in instremu.c, 1000 was way to high for 'animated' graphics ;-) 2000/05/27 ver. 1.0.0.7 unofficial pre-release From Eric - patch to limit PL4 emuluation via signals happening instead of MASTERCOUNT - support for setting the vertical & horizontal display resolution for PL4 modes From Bart - further speed improvement for instremu.c - fixed a few bugs: zero/parity/sign flag updates with shift, some string insruction bugs. From Hans - fixed Bart's 'less portable' asm inlines ;-) (wasn't compilable with < gcc-2.9x) 2000/05/26 ver. 1.0.0.6 unofficial pre-release From Eric - patch to src/env/video/remap.c to make bpp24 work From Hans - freezing dosemu completely when on console and switched away while still handling async stuff (e.g. handle signals). involved files: dpmi.c, do_vm86.c, cputime.c, vc.c, timers.h 2000/05/25 ver. 1.0.0.5 unofficial pre-release From Bart - fix to do_vm86.c (vm86_GP_fault()) to simulate INT codes correctly - make 32-bit code run in instremu.c From Hans - re-activated mouse snapping in X.c (no dependency on PL4 modes) 2000/05/23 ver. 1.0.0.4 unofficial pre-release From Bart - further work on PL4 stuff - speeded up Logical_VGA_Write/Read - font correction - fixes for 5 bugs in instremu.c From Steffen - Mode X fixes (with hints from Eric) - remap.c fixes From Hans - 'autohiding' of mouse cursor und X graphics mode (relying on the application calling INT33 function 1, when it doesn't display the cursor itself) 2000/05/19 ver. 1.0.0.3 unofficial pre-release From David Pinson From David Hindman From Bart Oldeman's From Steffen - joint effort to make vga PL4/Pl2/Pl1 mode work under X (This stuff really works, good job guys ;-) Though this changlog entry is small, the patch is big and there need not any special usage description, just run Borlands bgidemo under X. 2000/05/19 ver. 1.0.0.2 unofficial pre-release From Julia A. Case - virtual modem support (socalled vmodem or "doors" patch) See src/doc/README/vmodem for Details (no Alistair, didn't fiddle with sgml yet;-) From Steffen - fix to dosdebug wrongly taking the mafile as pidfile in ~/.dosemu/run From Stas Sergeev - further fix to dosdebug printing a 'smiley' (0x1) and waiting for the next command instead of terminating on 'kill'. From Hans - further kludge for mapself mappingdrive (/proc/self/mem) 2000/03/19 ver. 1.0.0.1 unofficial pre-release From Alberto (...and Hans) - fixed gcc-2.95 miscompile (optimized away our code templates in env/video/remap.c) - fixed bug in env/video/matrox.c (introduced by mapping rework) From Hans - made sure we pass a NULL pointer to mmap() when not mapping fixed. Though it doesn't hurt to pass -1, the kernel may need some additional work while searching for a free address. - Put '#ifndef' around definitions of PAGE_SIZE, reason: glibc-2.1 is defining PAGE_SIZE in . - fixed base/init/memcheck.c, which uses the term 'PAGE_SIZE' with a value of 1024 while actually meaning granularity. Now we use GRAN_SIZE for this. - fixed problem with libslang and glibc-2.1 not exporting _IO_std*, when compiling static and 'slangforce on'. Now linkable in libc5 as well as glibc (recompiled slang-1.2.2 on libc5 with patch in contrib/slang/slang-1.2.2-dosemu.patch) - better comment on 'REQUIREMENTS for DOSEMU' in Makefile.main 2000/03/05 ver. 1.0.0 released ... tadaaa After a long time (8 years), and many many headache DOSEMU finaly leaves ALPHA/BETA stage and is ready for production. We could not realize all wishes, but the stuff which is in should be as stable as it can be with DOS in the background :-) Thanks to all people who helped to get this baby on its way, especially to all the former co-ordinators befor me: - Matthias Lautner, started the DOSEMU project 1992 - Robert Sanders, took over government 1993 - James B. MacLean, who was the longest staying on this project: 1994 .. 1996 Since 1997 being the co-ordinator of this exiting project, I'm happy that it finally reaches its aim. -- Hans Lermen, 2000/03/05 From Hans - removed experimental cpu-emu stuff - adapted configure stuff 2000/03/01 ver. 0.99.14 FORK-POINT released NOTE: This is the 1.0/1.1 forkpoint 1.1 will continue unchanged to form the new Hacker version. 1.0, the stable version, will be 1.1 with the experimental stuff removed. From Alistair - some fixing soundpatches (mainly DMA stuff, as of 0.98) From Hans - wrote new setup-bootdir (should replace setup-hdimage) (taken from 0.98) - udated src/tools/mkbindist (taken from 0.98) - removed obsolete old vm86 interface stuff and the configuration option 'novm86plus'. Also deleted src/doc/README/vm86plus. - checked and fixed some compiler warnings - docs: removed (broken and/or obsolete) video ibmset loglevel - docs: SECURITY, unix.com and system.com are no longer dangerous - docs: X, removed obsolete 'todo' list. - docs: commands, updated to reflect current state - docs: config, added description of the new mapping stuff - docs: dexe, binfmt_misc now is in every kernel. - docs: priv, fixed formatting error at section start - docs: configuration.sgml, TclTk is the only 'dialog' tool currently. - docs: DANG, removed threads and DANG recompile - docs: removed doc/Known-Bugs (was state 0.53pl58). We _have_ still bugs, but not those mentioned ;-) - docs: removed man/xtermdos.1 and updated dos.1 (xtermdos is broken, docs removed but script kept for compatibility) - docs: added help entry for $_mapping in runtime_setup.help.patterns - did docs recompile - did run mknewyear to update copyright header 2000/02/28 ver. 0.99.13.3 unofficial pre-release From Hans - removed threads code (definitively), because no one made real use of it and we would have to adapt to kernel changes anyway. (its not worth this work) - removed NetBSD code (definitively), because it was _totally_ broken since long time and no one of the NetBSD people bothered to fix it (now we have a cleaner source and more space). - prepared some docs for upcoming 1.0 release: doc/announce, dosemu.spec, dosemu-HOWTO.sgml, README/header*, dos.1, precompiled/autoexec.bat, 2000/02/26 ver. 0.99.13.2 unofficial pre-release From Hans - fixed bug in close_mapping() giving SIGNAL11 on -h option (thanks to Eric, who pointed it out) - fixed DPMImallocFixed for the mapself mapping driver driver. - disabled DPMImallocFixed (dpmi/memory.c) for the mapfile and mapshm mapping drivers because it makes trouble. As a DPMI host is not forced to fullfill a function 0x504 request for a fixed mapping, this seems not to hurt, atleast with the apps I tested. - variable order in which the mapping drivers will probe. It turns out, that binaries produced by gcc > 2.7.x and/or those linked against glibc are prone to break our /proc/self/mem kludge while gcc-2.7.2/libc5 binaries work fine in all cases. For this reason, depending on GCC_VERSION_CODE/GLIBC_VERSION_CODE, the mapfile or the mapself driver is prefered. - new dosemu.conf variable: $_mapping, which hold the prefered mapping driver (dosemu.conf, global.conf) - updated setup/* to reflect $_mapping (setup/parser/parser.y, setup/runtime_setup-new.menu) - added -fno-strict-aliasing in case of gcc-2.95 (base-configure.in) - (finally) changed /dev/cua to /dev/ttyS (base/serial/ser_init.c) - change Larry's address to jlarry@delanet.com - dosemu-HOWTO.sgml: changed all 'blabla' to `blabla' to avoid broken formatting (however, no docs recompile yet). - added 'liability disclaimer' prompt to avoid problems with laws in some countries. This was pointed out by a british journalist: "The problem arises from tort, or the ability the sue someone for negligence. Such liability can be overcome by making it clear that the software is used at the users own risk... ...The problem with this for Linux packaging systems is that the user must be warned of this disclaimer before they install the software." As I could verify, the journalist is right, so we print the disclaimer, ask for confirmation and save the disclaimer (including the confirmation) to ~/.dosemu/disclaimer. If that file exists, we won't prompt any more. From Eric and Michael (both found the same bug synchronously;-) - fix for mmap_mapping(MAPPING_SHM) in mapself.c not turning on privs before shmat(). From Arne - fix bug in DPMI when using a mov sreg,reg in 32-bit operand mode (0x40 as sreg doesn't matter in 16 bit, but does in 32 bit, now the test is correct) - fix typo in DPMI (FS was popped instad of GS) From Andris Pavenis - GNU Pascal (DJGPP port) needs a higher number of DPMI clients, DPMI_MAX_CLIENTS set to 32 From Antonio - addition to user_hook 'lredir' request to get the linux 'mountpoint' of a DOS drive redirection. From Frank - fixes to internal packet driver, involved files: bios.S, pktnew.c (good spotting, --Hans) 2000/02/11 ver. 0.99.13.1 unofficial pre-release From Hans - added INT15,AX=e801 support (get extended mem >64Mb) - Reworked the mapping stuff completely in order to make DOSEMU run on kernels >=2.3.27 (mmap(/proc/self/mem) has gone). - Implemented a generic mapping driver interface, which autodetects the needed mapping strategie. arch/linux/mapping/* and include/mapping.h - wrote three drivers to support the following startegie: - /proc/self/mem and IPC shm, exactly same behave as before. - using _one_ big IPC shm segment and mremap(addr, 0 ...) (Linus agreed on keeping shmat()+mremap(,0,..) functionality) - using file mapping (no IPC at all), if else fails. - These drivers also fix an existing (not yet known) security problem when running suid as user (_any_ user could read DOSEMU's IPC shm areas, IPC perms where set to 0755). - changed all instances of any kind of mapping (mmap,shmat) to use the above driver interface. Involved files are: base/misc/{dosio,shared,init}.c, dosext/misc/emm.c, dosext/dpmi/memory.c, env/video/{video,vc,hgc,dualmon,vgaemu,matrox}.c - Disabled or deleted mapping stuff, that we in principal do not need any further. Involved files: signal.c,dosio.c, shared.c,ioctl.c,dos.c,dpmi/memory.c,emm.c,vc.c - Introduced a new debug flag (Q) for the mapping interface. put a comment in on how to add further flags;-) - New parser command to specify a discrete mapping driver. Usage: dos ... -I 'mappingdriver mapfile'. Known keywords for drivers are: mapself, mapshm, mapfile. - updated man/dos.1 to reflect -D+Q (debugging the mapping stuff) 99/07/09 ver. 0.99.13 released From Egbert Eich - implemented PCI-BIOS support (PCI Cfg Type 1 + 2) All functions are implemented except 'special cycle support', 'get irq routing options' and 'set pci irq' (don't believe the missing ones are important for DOSEMU;-). ( good work, Egbert! --Hans) From Hans - changed man/dos.1 to reflect the new -D+Z (PCI) flag. - DANG recompile - docs recompile 99/07/07 ver. 0.99.12.3 unofficial pre-release From Alberto - dosdebug.c: Add segment to XLAT. Correct order of src/dest for SHLD/SHRD. - several assembler fixes (warnings from newest as in binutils 2.9.4). The first one in vesabios_pm.S was probably a bug too. - cpuemu bugfixes: SLHD,SHRD were wrong in 16-bit modes. Also jumps in REP from/to 16_16/32_32 could cause an infinite loop. Adjust reserved bits in flag word in the case of PUSH. 99/07/03 ver. 0.99.12.2 unofficial pre-release From Steffen - workaround for egcs bug (at least up to egcs-2.91.66). - bootdir stuff abandoning 'lredir', when running under DosC (can't redirect anyway) - adapted bootdir for PC/DR/NOVELL-DOS - allow wildcards (e.g. $_hdimage = "drives/*") in global.conf Look at src/doc/README/config for details. - implemented autotetection of used keyboard layout This involves 2 parts: 1. $_X_keycode = (auto) 2. $_layout = "auto" (independent from (1.) For details see src/doc/README/config. - adapted setup-dosemu to support keyboard 'auto' - fixed an 'access bug' in X.c. XOpenDisplay uses access(2) to check the rights of ~/.Xauthority and access(2) uses the _real_ uid, hence we need to do enter_priv_on(). Doing this is no security whole, because access(2) is suid-root aware and XOpenDisplay doesn't open any other files then ~/.Xauthority. ... and, if you want a secure DOSEMU you must not run it suid-root anyway. From Steffen and Benjamin C. W. Sittler - work around Linux-2.2.x's NFS locking problems (in fact ignoring locks on NFS) From Alberto - cmos 'BCD' fix (involved files src/base/dev/misc/{cmos,rtc}.c) From Hans - fix for multiple IRQs not going through in global.conf - docs for 'auto' and 'drives/*' as Steffen was too lazy ;-) - ./first-test now is executing a bootdir, changes in arch/linux/Makefile.main, tools/periph/Makefile, etc/config.test No etc/hdimage.test generated anymore. - fixed '$_vbootfloppy / bootoff' not working (errm, global.conf used the wrong parser command to set this). - the 'bootoff' fix leaded to fix an other longstanding bug: there now is no collision with defining vboot together with more then one floppy (of course), hence the check is moved out of the vboot part. - removed the restriction to define $_hdimage when $_vbootfloppy was given (was an older security restriction, which now is obsolete. Atleast this is what I think it was for;-). - additional note: when $_vbootfloppy is defined, bootA is default (can be overridden by -C commandline option) else bootC is default (can be overridden by -A and a real floppy). 99/07/01 ver. 0.99.12.1 unofficial pre-release From Hans - first steps to DOSEMU<->DosC cooperation code - INTe6 helper 0xdc used for DosC (DOS_HELPER_DOSC) - DOSEMU is now aware if running DosC and gets its version to check for compatibility. - DosC now is reporting, when it runs under DOSEMU - fixed bug in DosC (wrong pointer declaration (SDA)) - fixed bug in DosC (wrong handling of INT21, AH=30) - hook in DosC (kernel/inthndlr.c) to support INT21,AH=0x5f, but just to catch it in DOSEMU and print a debug log message. (will only work after the redirector is implemented in DosC) - workaround in MFS to fake DOS-4.1 SDA data layout, when Dosc is running (DosC has 4.1 SDA data layout, but reports DOS-3.1) - changed lredir.exe such that it prints a message and exits when DosC isn't capable of redirection - changed lredir.exe to print DOS errors in clear text. - new contrib/dosC/dist/kernel.exe, patch relativ to dosc10b2 put into contrib/dosC/dosc10b2-1.patch and contrib/dosC/readme.dosemu updated. 99/05/22 ver. 0.99.12 released From David Hodges - reworked dosemu HOWTO From Hans - changed Steffen's E-mail address in all sources - DANG recompile - docs recompile 99/05/21 ver. 0.99.11.2 unofficial pre-release From Alberto - Make several int15 functions that deal with protected mode dependent on config.dpmi. int.c (INT15) - avoid reentrancy in log_printf (coming from async signals) - removed 'void*' from address comparison in mouse.c - print 'secure off' warning to DOS console instead to Dprintf() (writing DOS console additionally to the logs), dpmi.c - return to dosemu_code dependent on IF in dpmi_eflags; this was the original way. Assuming that 'it helps returning anyway' implies 'in winos2', added test to do it. I have seen no side effects, and this helps the mouse under cpuemu. - make leavedos really leave also when called recursively. - lot of cpuemu changes, involved files: base/async/int.c, emu-i386/intp32/{cpu-emu.c,emu-ldt.c,Makefile} emu-i386/intp32/twin/intp32/{emu-utils.c,fp87.c,hsw_interp.h, internal.h,interp_16_32.c,interp_32_16.c,interp_32_32.c, interp_main.c,interp_modrm.c}, emu.c, include/cpu-emu.h - some typo/syntax fixes (pic/pic.c, dpmi/dpmi.h, do_vm86.c tools/tools86.c) 99/05/21 ver. 0.99.11.1 unofficial pre-release From Alberto - fixed bug in mouse.c checking linaddr instaed of DOSish address (run_pm_int never was called). src/base/mouse/mouse.c - Some missing 0x before hex constants in print_ldt() - EMU_GLOBAL_VAR had no benefit, removed - (again) some header fiddling for glibc (src/tools/periph/dosctrl.c) - fixed bug in src/dosext/dpmi/msdos.h, which became obvious after correction of INT15,AH=C0 (see patch from Jiuming Luo) From Grant R. Guenther - added -T debuglog trace for 'rep' IO (src/emu-i386/ports.c) From Nick Duffek - fix for mfs.c and INT21 function 3CH together with SHARE.EXE succeeding though it should not (MS-DOS INT21/3CH would fail if the file exists and is currently opened by another program). The fix is: replace "open(O_TRUNC)" with "open(); check sharing; ftruncate()" From Dave Coffin - y2k fix for CMOS byte 0x32 to report the correct century ( src/base/dev/misc/{cmos,rtc}.c ) From Michael Klein - An other y2k bug fix (in mfs.c), though it will hurt us only after 2012, we have to be correct. ( I bet there will by some oldfashioned poeple like me in 2012, who would complain otherwise --Hans ;-) From Hans - fixed bug in src/base/misc/utilities.c malloc'ing wrong size and not checking for valid function pointer. - fixed (again) a bug in the famous sigalarm_onoff() of utilities.c (dos -A wasn't working). Hopefully this was the last one :-( 99/04/22 ver. 0.99.11 released From Alberto - major cpuemu cleanup, bugfixes From Hans - docs recompile 99/04/21 ver. 0.99.10.3 unofficial pre-release From Marcus (bug report from gvz@pop.de) - fix (errm, workaround) for the 57 characters path limit in MFS (buffer overflow in cds_record). We block access to directories, that would exceed that limit. Blocked directories are returned as zero-sized files; we do this do prevent the user to create a directory with the same name. (hack, hack ... but it should avoid crashes atleast;-) From Wojtek Pilorz - changed dosdebug such that it can (re)read a valid dosemu.map (type 'rmapfile /anywhere/dosemu.map' at dosdebug prompt) From Josef Pavlik - added czech keyboard support: cz-qwerty, cz-qwertz, both are CP852. 99/04/20 ver. 0.99.10.2 unofficial pre-release From Josef Pavlik - fix for MFS creating new files with wrong ownership (mfs.c) From Wojtek Pilorz - fix for dosnet having problems to insmod properly (removed -DMODVERSIONS from src/dosext/net/v-net/Makefile) From Cyril Slobin - fix for MFS: under DOS (other then under Unix) renaming to an existing file must result in ACCESS_DENIED (INT21,AH=56). From Jiuming Luo - fix for INT15,AH=C0 returning the status in the wrong register (must be AH, not AL), src/base/async/int.c. From Levente Csiszar - creating directories in MFS did set the group readonly. e.g. DOSEMU running as user on the group 'dosemu' would not be able to work on these directories. Changed perms from 755 to 775 From Kyle Fortin - fix for mouse_event() not detecting a mouse handler when CS:IP has CS or IP = 0. (src/base/mouse/mouse.c) From Alistair - remove USE_SLCURSES from setup/demudialog/Makefile (this fixes the socalled 'submit-bug-report bug' ;-) From Hans - changed demudialog back to color mode 99/03/26 ver. 0.99.10.1 unofficial pre-release From Hans - further kludges to /proc/self/mem mmap kernel bug, making the address space EMM_PAGE_SIZE big solve the problem in some other special cases (/src/dosext/misc/emm.c). - fix for hang on floppy access (was a bug in utilities.c, sigalarm_onoff() ) - another security fix: userhook opened with root privs :-( (src/base/misc/userhook.c) - introduced do_call_back(), which makes it possible to call vm86 code from within the dosemu 32bit code and return to that place afterwards. In volved files: bios.S, misc/ioctl.c do_vm86.c, emu.h, memory.h. - new plugin hook 'plugin_ioselect', which hooks into io_select Updated src/plugin/demo to give an example on how to use it an the do_call_back() function. - new doshelper: DOS_HELPER_GET_TERM_TYPE. This allows dosemu aware DOS applications to adapt to the terminal type (async/int.c, doshelpers.h). Look at doshelpers.h for details. - added plugin_poll, this hooks into run_vm86() and run_dpmi() Involved files: src/plugin/{README.plugin,demo/*),do_vm86.c, dpmi.c,mkpluginhooks - close possible security implication: forbidding partition access when $_hdimage set by .dosemurc _and_ running suid-root. Those who need it (and have _realy_ thought about alternatives) have to specify it in /etc/dosemu.conf. - fixed bug in ./setup-hdimage not doing chmod/chown correctly - took over doc changes from 0.98.6 (no doc compile yet) - docs: hint for 2.2.x kernels & nfs mounts (option nolock needed) (src/doc/README/lredir) 99/02/26 ver. 0.99.10 released From Hans - introducing 'plug-ins', though the name may not be exactly appropriate;-) It means to insert whole trees of code under the directory src/plugin and configuring them automatically into DOSEMU at compiletime. Those trees could be distributed separately, not necessary by DOSEMU itself. For more details look at src/plugin/README.plugin 99/03/11 ver. 0.99.9.1 unofficial pre-release From Dima - fix for MFS (SEEK_FROM_EOF) assembling a wrong offset From Alberto Olindo - makeing numpad keys work for 'keystroke' From Steffen - fix for emulated FAT hidding some entries - fix for emulated FAT not updateing the CDS correctly From Marcus - typo fixed in peripher/dosctrl.c From Andris Pavenis - fix for peripher/dosctrl.c (including bits/time.h for glibc2.1) From Vladimir Kondratiev - fix for peripher/dosctrl.c, including features.h to define __GLIBC__. Now, we won the first price: 3 contributors for 4 lines of code;-) From Vincent Labie - fixed a whole bunch of typos/bugs in sigsegv.c,cpu-emu.c,emu-ldt.c (_very_ small part of a 24806 lines patch, which (sorry) can't go in as _one_ piece. Waiting for Vincent cutting it into handy chunks. --Hans) From Alberto - typo fixed in userhooks.c From Hans - better check for 'being on console', involved files: global.conf config.c, utilities.c, utilities.h. Function is_console() uses ioctl() on a FD to detect wether it's a console. This solves some problems when starting DOSEMU from an _other_ terminal, but redirecting stdin/out to /dev/ttyX. - now returning exitcode 123 on Ctrl+ALT+PgDn, this enables wrapper scripts to detect this case and restart dosemu (speudo-reboot) - new DOS_HELPER_GET_CPU_SPEED. - fixed a typo in sigalarm_onoff() (utilities.c) 99/02/26 ver. 0.99.9 released From Antonio & Steffen - preparation for 'kdos' DOSEMU frontend (src/env/video/X.c) Stay tuned for what will come soon ;-) From bwallac1@san.rr.com (sorry, he didn't mail his name) - fix bug when running dosemu in background and having to tty (getting ENOTTY as opposed to expected EINVAL) Involved file: src/base/keyboard/keyb_slang.c From Hans - korrected the -D+T such that it does (mostly) the same now as under the (former) old ports stuff. As we handle port dispatching differently, we needed to have a 'trace ports {...}' statement to restrict logging to a given class of ports. This has the advantage, that we now also can uses -D+T for software debugging. (involved files ports.c, config.c, parser.y, lexer.l) - changed all T_printf, that do not print 'IO-trace' information to i_printf, which is the proper flag for IO debugging. - disabled SHOW_TIME for production releases (utilities.c), this is only usefull for development and otherwise breaks -D+T. - fix bug in src/tools/mkbindist substituting $variables instead of taking them verbatim. (tricky bash-ism;-) - for now disabling sigalarm_onoff() in uhook_config(), is freezing dos for some seconds. We have to find an other workaraound:-( 99/02/25 ver. 0.99.8.2 unofficial pre-release From Steffen - for userhook: CancelDiskRedirection (disk.c) From Antonio Larrosa - included '' in dosctrl when glibc used. From Hans - built CancelDiskRedirection into userhook.c, such that now also 'lredir del d:' works from 'outside'. - fixed double // in uhook_lredir. - added 'config' uhook command (changes in init/config.c, userhook.c) This prints the contents of the config.* structure. - added 'SYN: command' to be outputed before any uhook command in case 'ack on' is set. This makes handshaking easier. ( Needed by Antonio to better parse the results ) - fixed reading from the uhook inpipe, more than one command in the buffer was ignored. - fixed strange sig11 while in leavedos(), the bad guy was run_unix_command() which was used to do 'rm -rf' on exit while the assumed context was already destroyed :-( Using privdrop() and system() now because we don't need to regain root privs here anymore. - moved sigalarm_onoff() from disks.c to utilities.c (needing it elsewere too). 99/02/21 ver. 0.99.8.1 unofficial pre-release From Steffen - some fixes to the emulated FAT stuff (fatfs.c, disks.c) From Hans - fix for bug introduced in 0.99.6.1 which breaks INT10,AX=1130 (trashing BP in bios.S). Using ESP instead to access the stack. - introducing 'user hooks', which supply a facility to control DOSEMU (via -U command line option) from a foreign process, e.g. a graphical frontend. Look at ./man/dos.1 for more. Involved files: man/dos.1, mhpdbgc.c, config.c, ioctl.c, base/misc/userhook.c, utilities.c, dpmi.c, do_vm86.c, emu.c, emu.h, mhpdbg.h, utilities.h, tools/periph/dosctrl.c - moved some code mhpdbgc.c to utilities.c in order to use them also for userhook.c - fixed append_pre_strokes() such that it can work also _after_ the first initial use (needed by userhook.c) 99/02/12 ver. 0.99.8 released From Markus Kossmann - missing in utilities.c made compile fail for glibc From Hans - fix to type_in_pre_strokes() (keyboard/prestroke.c) not doing 'keystroke "\Fx;"' - removed HOGTHRESHOLD from README.txt (hopelessly outdated) - wrote some minimum docs for Steffens 'bootdir' stuff. - Stated in the docs, that DosC can't cope with lredir (hope this stops the questions on linux-msdos). - docs recompile (including DANG) 99/02/11 ver. 0.99.7.1 unofficial pre-release From Steffen - introduced booting _directly_ from a (lredir'ed) Linux directory. No hdimage needed (this one was missing --Hans ;-). Involved files: src/base/misc/{disks.c,fatfs.c,fatfs.h,fatfs_boot.S} etc/global.conf, async/int.c, init/config.c, init/parser.y mfs/mfs.c, include/{disks.h,int.h} How it works: - in $_hdimage a directory can be given containing atleast IO.SYS, MSDOS.SYS (or what the appropriate DOS has as system files). It also may (but need not) conatin a non-standard bootsector file (name: boot.blk). - This directory is partially converted (on-the-fly) to a FAT type emulated disk (no data, only the directory enrties). A default bootsector also is faked, and if boot.blk exists this one is taken. From this emulated disk a boot attempt is done. When the first _file_ access happens, the redirector is called and from this point on (if the DOS supports a redirector) it becomes an lredir'ed drive. - In principal the emulated drive also works with the DosC kernel (which not yet has a redirector), but the emulated FAT-FS remains active and is readonly (writes are ignored). From Hans - fix for dosemu crashing on floppy access with no disk inserted and not able to read writeprotected floppies. 99/01/28 ver. 0.99.7 released From Steffen - hercules emulation in vgaemu only when dualmon not set - further reworks on vgaemu - changes in mapping strategie. - vesa_emu_fault in vesa.c removed, now vesa.c is completely replaced and doesn't contain any old code piece. From Florian La Roche - further adaption to newer egcs versions :-( (src/include/dosemu_select.h) From Hans - trying to solve the midnight flag thing correctly (base/async/int.c, INT1A,AH0), ... though, I may be wrong. Lets see if it solves the problem. - removed SMP check from base-configure, obsolete nowerdays and gets wrong under linux-2.2 99/01/09 ver. 0.99.6.1 unofficial pre-release From Alberto - further cpuemu patches (sync with dose9961.dff) - further cpuemu patches (sync with h1toh2.dff) - new README.cpuemu From Hans - preset the config structure with zero at the very startup. (suspecting accesses to uninitialized data, but I'm not sure) - Oops the 99/01/08 version was wrong :-( corrected 0.99.5 -> 0.99.6 - fixed global.conf not passing $_cpu = "emulated" correctly. - fixed rdtsc setting in global.conf (no hidden default any more) - made $_rdtsc = (on) the default again (wish from Alberto) - kludge: restricted asm contraints in PACK32_16 (intp32/hsw_interp.h) to avoid gcc bug in 2.7.2.x and egcs <= 2.91 (signal 11 on cc1) - put USE_GLOBAL_EBP into cpu-emu.h as a configure option for cpuemu and made it default (realy increases emulation speed a lot). 99/01/08 ver. 0.99.6 released From Hans - new script 'mknewyear' - executed 'mknewyear' ;-) 99/01/07 ver. 0.99.5.6 unofficial pre-release From Alberto - second round cpuemu patches (changes in the TWIN part) (Note from Hans: this is not yet working yet, some changes did not went in or were changed and have to be reworked by Alberto. This was just a too big patch;-) 99/01/07 ver. 0.99.5.5 unofficial pre-release From Alberto - first round cpuemu patches (changes in common parts) 99/01/07 ver. 0.99.5.4 unofficial pre-release From Alberto - decide for INT06-handling by redirection of INT06 and not by opcode 0f (sigsegv.c) - removed wrong "we shouldn't be here" in case of newint code (async/int.c) - fixed a bug in PIT2 (timers.c) always returning the state of the output pin instead of the count. - moved DPMI_show_state to dump.c - uninlined set_ldt_entry, checking only bit 2 of ss in ldt (dpmi.c) - introduced 'quiet' mode in cputime.c - when config.vga is defined, don't try to set a wrong entry in the port table (port.c) - further fixes on sig11 recovery (emu.c, emu.h) - introduced GETTSC() to read the TSC counter (timers.h) (modified it to be optimized by using "=A" constraint --Hans) 99/01/06 ver. 0.99.5.3 unofficial pre-release From Marcus - fix for misc/136 dosnet bug report (e.g. put back old loopback.c code for kernel 2.0.36) From A.R.Adams - fixes for src/arch/linux/debugger/dis8086.c From Wojtek Pilorz - fix for dosdebug not finding the pipes, when pid was given explicitely, but $HOME/.dosemu/run contains other running pids. - fix for do_mtools not taking filesnames containing whitespaces into account From Mislav Korona - added support for croatian keyboard ('hr' comes from 'Hrvatska'), iso8859-2 (hr-latin2) and cp852 (hr-cp852) From Hans - upgraded to slang-1.2.2 because of buffer overrun exploits in 1.0.3. Verified, that _both_ exploits are fixed. - fixed (now) possible buffer overrun in verror (utilities.c), because slang-1.2.2 fixed its exploit by passing the involved printout via (*SLang_Exit_Error_Hook)() to _our_ hooking routine. (well, so we now have it ;-) 99/01/06 ver. 0.99.5.2 unofficial pre-release From Steffen - Further work on VGAEMU, involved files: int10.c, timers.c mousevid.c, xmode.c, dpmi.c, ports.c, video/*, vgaemu.h New files: video/{gfxemu.c,hercemu.c,miscemu.c} - all standard VGA registers now are correctly initialized - monochrom textmode (0x07) functional, correct grayscales - support for HCG graphics mode (though, this was a jumper setable feature on old VGA cards, needs to be dosemu.conf option --Hans) - magicaly some display errors of doom have vanished - xmode.exe has a new option '-mode n' to set the desired graphic mode - some general cleanups - integrated Josef Pavlik's patches 99/01/05 ver. 0.99.5.1 unofficial pre-release From Pat - new DosC kernel, version 1.0 Beta2, built 1937 (however, still not supporting redirector) From Alberto - FreeDescriptor (dpmi.c) should sync with the real LDT not only with the LDT cache. From Hans - introduced a facility for temporary config options called 'features'. The purpose of these parameters is to switch between code or code pieces that in principal do the same, but for some unknown reasons behave different between machines. If a 'features' becomes obsolete (problem solved) it will remain dummy for a while before re-used. NOTE: 'features' are not subject to permanent documentation! They should be considered 'temporary hacks' A feature can be set (or given a value) such as 'feature {0 = 1}' (in global.conf) or via /etc/dosemu.conf such as $_features="0:1" $_features can hold a list of multiple 'n:value' pairs. NOTE: $_features currently isn't used by 0.99, but we need to to have it here for compatibility with dosemu.conf used by 0.98. - fixed a bug in global.conf ($_X_winsize parsed wrongly) - fixed typo in config.c: LX_KERNEL_VERSION 201126 -> 2001126 - disabled '#define asmlinkage' in memory.h, because its not used when not also is included, where it finaly is defined. 98/12/04 ver. 0.99.5 released From Manuel Villegas Marin - Support for up to 4 cdrom drives. You need to load the cdrom.sys with different args for each drive you want, such as device=cdrom.sys device=cdrom.sys 2 The DOS device names then are MSCD0001, MSCD0002, ... The preconfigured devices are /dev/cdrom, /dev/cdrom2 ... From Hans - updated the parser to reflext Manuel's changes: Just do cdrom { /dev/xxx } multiple times for each device, First one means MSCD0001, the second MSCD0002 e.t.c. - wrote some tiny documentation to reflect the cdrom.sys changes. - changed the semantic of the 'fast' attribute for ports{} slighly, The problem was that it was cleared strangely within ports{..}, such that ports{ fast 0x11 0x22 0x33 range 0x44 0c66 0x66} put the fast attrib on all above ports except 0x66, because only after 'range' portspeed was cleared. Now it needs a 'fast' again in front of 'range' to make the 'range' fast. 98/12/02 ver. 0.99.4.2 unofficial pre-release From Hans - re-applied the old slangcode :-( As it turned out people have difficulties with the new slangcode and some _real_ terminals seem not to be handled as in 0.66.7. As long as those problems aren't solved (or we have a good doc helping those people to use the new code) it will remain in as a compilation option. If I get more complains, the old code will be turned on as default. - fix for console not proper switching when doing graphics but not using raw keyboard. Many kudos to Andrea Omodeo who tracked this down. 98/12/01 ver. 0.99.4.1 unofficial pre-release From Alberto - fix for TASMX not running (wrong handling of selectors in INT21,fn38). Good work Alberto! From Hans - first temp fix to 8-char-limit-pasting in Slang terminal (found during IRC by Eric, Alistair and me) - introduced PORTABLE_BINARY compile condition together with -static - workaraund for glibc static binaries running on libc5 systems (parsing /etc/passwd ourselves when /etc/nsswitch.conf not existing), enabled via PORTABLE_BINARY in base/misc/utilities.c - some dualmon fixes (global.conf, video/dualmon.c) - made 2.1.126 timerstuff _run_time instead of compiletime dependend (init/config.c, emu-i386/cputime.c) - use --host=i386-any-linux for the binary distribution 98/11/21 ver. 0.99.4 released From Alberto - changed all his mail addresses From Hans - DANG remake - Docs recompile (including version update in heeder and header-tech) 98/11/21 ver. 0.99.3.5 unofficial pre-release From Florian La Roche - changes/fixes to make DOSEMU compile under all currently available gcc/egcs/glibc combinations (hopefully). (This was working 981112, hence what status we have 981113 isn't predictable --Hans :-)) From Zoltan Boszormenyi - patches, which touched the same issue as that of Florian, Zoltan's additional fixes were worked in by Florian. From Karl Kiniger - using pusha/popa instead of pushal/popal (dpmi.c), else recent binutils would complain. - fix for llseek, when glibc headers don't define them From Hans - changes in base-configure - generate unique version codes for gcc and glibc: GCC_VERSION_CODE and GLIBC_VERSION_CODE. Major/minor is represented as (major * 1000) + minor. - Also introduced 'ASM_PEDANTIC', which is set when a compiler would silently produce wrong code on overlapping clobbered registers in the asm constraints (which worked fine for gcc-2.7.1). - using -fno-gcse for egcs, because otherwise some realy strange things happen (last seen in config.c) All the above are propagated through CFLAGS and are available in the Makefiles. - checking for llseek prototype on glibc, defining NEED_LLSEEK_PROTOTYPE in config.h when needed. - Adapted Florians Patches to reflect the base-configure changes. - Adapted remaining GLIBC/GNUC #if's to *_VERSION_CODE. - removed some gcc/egcs warnings - removed EXPERIMENTAL from ASPI - made ASPI default in compiletime-settings - final finetuning on glibc-2.0.7pre6 stuff 98/11/21 ver. 0.99.3.4 unofficial pre-release From Shawn Pringle - small fix to global.conf ($_X_winsize typo) From Fabrice Bellet - small fix to global.conf (/dev/sda1 matching /dev/sda11) From Alistair - fix for gnats (gnats/get-email.sh, setup/parse-menu-sh) - better doc for _usage_ of sound within DOSEMU (doc/sound-usage.txt) From Hans - tried to fix a problem with base-configure not setting proper X11 libpath under certain conditions. - added some missing chipsets to the docs and setup-dosemu - some fixes to dosemu.spec (copied keymap twice to rpm) 98/11/20 ver. 0.99.3.3 unofficial pre-release From Alberto - added floppy parameter table to the BIOS, just for compatibility - added the 'atapi' keyword to floppy config. This is because current code assumes anything different from /dev/fd{01} is not removable, and dosemu crashes. Modified disks.c accordingly. - add a disk sector dump for debug purposes. - small fix for patch from Michael (forgotten to update struct printer lpt in base/dev/misc/lpt.c) - Enable 'cpu MHz' check in /proc/cpuinfo for kernels >=2.1.127 - mfs.c: wrong offset calculation prevented IDA from working - do_vm86.c: better debug messages around DO_VM86() - emu.c: found a way to exit dosemu when it gets a signal 11. As {_}exit() doesn't work in this case, we need to tell the kernel to kill ourselves. Added a setjmp/longjmp for this emergency case. Modified the driver closing order in leavedos, to have keyboard and video removed first. - added brackets around SETIVEC for safety - removed unused 2-letter variables in emu.h - retrace trick in timers.c. Please check if your system has better timing with games under X, this can avoid part of the 'too slow' or 'too fast' cases. - changes to attremu.c: removed (stupid) HAVE_GETTIMEOFDAY check, make it compile without X, export t_vretrace, moved old CGA snow code from ports.c and make it slightly better (1 VR every 256 HR, instead of 1:1) - the 'emuretrace' patch properly (== emulate video retrace also in console mode). To be checked, some games can run better. From Rob Clark - removed X_GRAPHICS definition from ports.c (CGA snow bugfix) From Hans - changed global.conf such that (optionally) a device can be given: $_floppy_a = "threeinch:/dev/fd0" - splitted ChangeLog into 'ChangeLog' and 'ChangeLog.ancient' (wish from Alistair for better parsing it) - changed src/tools/mkbindist to reflect ChangeLog splitting - disabled CPUSPEED in parser.y, we don't need it anymore, but we leave it in for a while for dosemu.conf compatibility. 98/11/06 ver. 0.99.3.2 unofficial pre-release From Steffen - implemented the some missing video modes: 1 & 2 bit CGA/VGA 98/11/06 ver. 0.99.3.1 unofficial pre-release From Michael - small 'more then one' printer fix (lpt.c) - fix for memory leak in lpt.c From Hans - fixed bug in aspi.c: did malloc() one entry too few - removed not needed '#include in both scsicheck.c and aspi.c - copied a cutdown version of linux/include/scsi/sg.h into our src/include/scsi/*. Now ASPI should compile regardless wether /usr/include/scsi is missing (glibc?). - added "host/channel/ID/LUN" construct to search for the right sgX device (aspi.c, scsicheck) - fix (in fact a kludge) for dosemu not running in a cronjob (base/keyboard/keyb_slang.c). In case of not being able to tcgetattr() we examine TERM for 'dumb', 'none' or 'config.cardtype==CARD_NONE'. In this case we set TERM and TERMCAP and ignore the rest. - updated doc/README/batch to reflect the 'cron kludge'. 98/10/31 ver. 0.99.3 released From Alberto - pentium timing: rdtsc is now off by default - timers and PIC: introduced 64-bit variables, Add return values to pic_request. Added DEBUG_PIT macro. Removed obsolete definition of pic_creq. - int1a: corrected backward time jumps (30 minutes bug) and midnight transition. - fixes to (wrongly) zeroed BIOS font tables. Mainly the wrong placed bios_f000_end label (bios.S). Moved bios_f000_* definitions into bios.h and deleted them at all other places. - fixed pic_sys_time calibration - some optimizations in msdos.h From Arne - implemeted int 10h, ah=1bh (src/base/bios/int10.c) - fix for wrong PIT latch command in src/base/dev/misc/timers.c 98/10/30 ver. 0.99.2.3 unofficial pre-release From Steffen - faster palette updates - VGA compliant treatment of palette registers - correct implementation of the Attribute Controller interface - PEL-mask support - simplification of DAC emulator interface 98/10/30 ver. 0.99.2.2 unofficial pre-release ( syncing changes from 0.98 to 0.99 ) From Hans - (problem reported by Wojtek Pilorz) Though protected by '$_secure="ngd"', the system.com command was a permanent security risc when people switched 'secure off' for some other reasons. Now I made system.com secure, even when 'secure' is switched off. This may change the expected behave for some braindammaged usage, but I won't reverse it any more ;-) - fix for $_X_font in global.conf (was not proper working) - replaced annoying error() with W_printf() in src/base/misc/disks.c on writeprotect. - small doc fixes Quickstart - added RPM spec file - changed setup-hdimage to set group 'dosemu' if possible - disabled parsing of old .dosrc 98/10/25 ver. 0.99.2.1 unofficial pre-release ( ... well, this is the ASPI release ;-) From Karl Kiniger - ASPI driver for DOSEMU, consists of a DOS stubb aspi.sys and dosemu builtin ASPI helper. Works on any /dev/sgX. The code was originally taken out of the Wine project but is wildly hacked to fit our purposes. ( Many kodos to Karl, who did a good job ;-) From Hans - introduced A debugflag for ASPI - changed Karl's solution such that ASPI doesn't need any special kernel patch. The only remaining 'patch' for the kernel should be a bigger SG_BIG_BUF in include/scsi/sg.h if needed (Karl's CD-burner needed atleast 64k and I for my scanner have #define SG_BIG_BUFF (128*1024-512) in my kernel). - changed aspy.sys such that it doesn't load, when no SCSI is available or not configured. - made ASPI configurable, we only allow those /dev/sgX, which are explicitely configured (anything else is inherently dangerous for naiv users;-). Look at src/doc/README/config for details. In compile-time-settings its 'aspi on/off' _and_ currently its protected via 'experimental'. - tested the ASPI with my JAZ drive, works flawless;-) - updated src/doc/README/config to reflect the ASPI driver - updated setup-dosemu stuff to reflect the ASPI driver - uodated DANG, but did not (yet) recompile the docs (avoiding the patch becoming too big) - added src/tools/peripher/scsicheck, which prints /proc/scsi/scsi showing the needed $_aspi entries for /etc/dosemu.conf - replaced error() print with d_printf() in src/base/misc/disks.c as it turns out some DOS-apps are doing installation checks by just calling their (normally hooked) int13 functions and just expect CARRY if not installed. - made show_regs dummy, when d.general (g debugflag) isn't set. (in src/base/misc/dump.c). It turns out, we don't print anything anyway in this case. - fixed a bug in the parser's 'foreach': on stacked foreach loops, the first run of the loop body was skipped (src/base/init/parser.y). 98/10/04 ver. 0.99.2 released From Rob Clark - fixed src/base/speaker/Makefile such that is compiles with X off even when no X-headers available. From Hans - docs recompile using sgmltool-1.0.7 (oh dear, the patch will be big) 98/10/03 ver. 0.99.1.3 unofficial pre-release From Oleg V. Zhirov - (partial) NLS support for MFS see src/doc/README/mfsnsl for details From Hans - converted Oleg's docs to sgml (no docs recompile yet) 98/10/03 ver. 0.99.1.2 unofficial pre-release From Alexander R.Adams - Changes to 80x86 disassembler (src/arch/linux/debugger/dis8086.c) - more (full?) 32 bit support - lots more fpu ops and a couple of cpu ops - better readable output 98/09/25 ver. 0.99.1.1 unofficial pre-release From Alberto - fix for >=linux-2.1.121 not having inux/head.h From Han Holl - 'nolinks' isn't supported by bash-2 anymore, replaced all instances in the Makefiles with 'pwd -P' From Steffen - Continued work on color allocation. - source cleanup of X.c & friends - support for 16 color X servers (e.g. XF86_VGA16) - textmode on all X servers, including 16 color & mono servers. - implemented int10 - palette functions. - (mostly) correct processing of palette registers - Removed quite a lot of DAC/color init code. From Hans - forced make to use SHELL=/bin/bash, else 'pwd -P' won't work. 98/09/12 ver. 0.99.1 released From Hans - fixed the severe security hole introduced in 0.97.9.2 (And yes, it was me who produced this glitch) 98/09/07 ver. 0.99.0 FORK-POINT released NOTE: This is the 0.98/0.99 forkpoint 0.99 will continue unchanged to form the new Hacker version. 0.98, the stable version, will be 0.99 with the experimental stuff removed. From Hans - removed old X-mouse stuff - removed old CMOS stuff - removed old Slang code - fixed mkbindist - removed creation of /var/run for 'make install' - fixed some tool scripts ("~/" wasn't expanded because quoted) - fixed src/tools/mkbindist - more precisely copyright definition (prefix to COPYING) Prefixed all source files with the proper copyright notice. (copyright laws are requiring this) - finally made referred to dosemu.org (docs udapted) 98/09/06 ver. 0.97.10.6 unofficial pre-release From Daniel Skarda <0rfelyus@atrey.karlin.mff.cuni.cz> - use of XSetWMProperties() instead of XSetClassHint() in X.c to properly set WMHints for window managers. From Hans - removed old port code - reworked docs to prepare vor 0.98 98/09/05 ver. 0.97.10.5 unofficial pre-release From Maxim Ruchko *McSim* - fix for cursor hidding on console (FoxPro), cursor is positioned _past_ right bottom corner. Dosemu did not handle this. - small fix to previous mfs patch. From Pablo Saratxaga - support for code pages 850, 852, 437 conversion to iso-8859-1, iso-8859-2 and viceversa. Code page selection via 'charset XXX', where XXX is one of ibm, latin, latin1, latin2. - fixed belgian and hungarian keyboard - added polish keyboard From Hans - modified 'code page selection' from Maxim such that it became a separate overall selection for all types of logins: moved it out of the 'terminal' statement (though its still tholerated within for back compatibility) - Updated the docs and setup-dosemu to reflect the change. ( within setup-dosemu its now part of the keyboard menu ). - fixed dead circumflex in de-latin1 map. - new script to automatically generate ./etc/keymap/* ... and used it to bring the table uptodate;-) - docs recompile 98/08/24 ver. 0.97.10.4 unofficial pre-release From Robert Rendell - fix for rep_outb in n_ports.c (wrong while loop) From Hans - fixed all similar instances of Robert's fix (above) in n_ports.c. What do we learn from this? Never put more then one statement (following a conditional) into one line ;-) - fixed -I 'keyload "keymap/xxx"', which was broken since 0.97.8.2 - added com3/com3 and ttylocks to {global,dosemu}.conf; updated setup-dosemu to reflect this addition. - default lock dir now is /var/lock. - moved all remaining 'hardcoded' paths (hope I found them all) into acconfig.h (config,h.in) making them runtime configurable. - made /var/lib/dosemu movable to ~/.dosemu/lib on a per user basis. made /var/lib/dosemu (systemwide) changable via dosemu.users ('default_lib_dir='). With this change only dosemu.users remains hardcoded (though, look next item). - Now checking for /etc/dosemu.users, if this doesn't exist, check if /etc/dosemu/dosemu.users does exist (this makes people happy, who like to have a dosemu directory in /etc). - moved /var/run/dosemu-midi to ~/.dosemu/run/dosemu-midi. - removed /etc/dosemu.loglevel, setting of log level now is done in dosemu.users ('log_level=2'). - removed src/dosconfig.c (way too old and obsolete) - fixed some more compiler warnings. - removed old 'rcs-IDs' - updated docs (but did not recompile, have to check my SGML tools). 98/08/23 ver. 0.97.10.3 unofficial pre-release From Alexander V. Lukyanov - fix for S3-Trio not saving/restoring all extra regs. From Klaus Reimann - better 'odd textutils' detection (gnats misc-120) From Maxim Ruchko *McSim* - Patches to the mfs code: - FoxPro now should work better - increase dosemu SHARE compatibility. 98/08/22 ver. 0.97.10.2 unofficial pre-release From Josef Pavlik (gnats misc-122,123) - fix for possible too small malloc (src/env/video/video.c) - fix for Text-refresh on non standard TEXT modes (src/env/video/X.c) From Hans - removed x2dos, nobody is using it anymore (functionality was longtime ago replaced by dualmon) - fixed (possible) /tmp-exploits (in scripts as well as in C-code), now DOSEMU uses _always_ $HOME/.dosemu/tmp, when needing tempfiles. All those local ~/.dosemu directories will be created silently, when not existing. - Moved /var/run/* usage to $HOME/.dosemu/run/*, regardless wether running suid-root or not. - Removed old tempdir stuff and the -T commandline option, which related to that, because we force our own temps below $HOME/.dosemu/* (see above). - Made base/misc/shared.c to create its tempfile 0600 and switched to priv_off, as we now don't use /var/run/* anymore. - removed some obsolete '#if 0' stuff - made 'distclean' and 'mrproper' an alias for 'make pristine' (some people not reading docs seem to expect it ;-) - use of autoconf version 2.12 instead of 2.10 leaded to a slightly different base-configure and include/config.h.in 98/08/05 ver. 0.97.10.1 unofficial pre-release From Eric - some X-mouse changes from 0.97.8.x4, which seem to solve the >25 row problem (BC in 43 line mode) and some games were the mouse couldn't pass below the middle of the screen. - fixes to x4 concerning w31 mousesnapping - mouse fixes along ideas/reports of Josef Pavlik (gnats misc 121) From Markus & Michael - fix for pdether From Tamminen Eero - small fix for ./ViewDocs From Hans - made newint the default 98/06/27 ver. 0.97.10 released From George K.Bronnikov - First step for 'DOSEMU in batch mode', atleast the output side. When setting 'video {none}' DOSEMU can run without any terminal and writes the DOS-stdout to Linux-stdout. You may play with it such as: dos -I 'video {none} keystroke "dir\rexitdos\r"' (for stdin we haven't yet a reasonable solution} Note: When 'video {none}' isn't given, the code is absolutely disabled. From Hans - fixed src/tools/mkbindist ( was out of sync ) 98/06/26 ver. 0.97.9.3 unofficial pre-release From Andreas Kirschbaum - fix for Borland-C (4.0) tlib not running - some wrong debug prints. From rwfries+bobf@dreamscape.com (gnats misc/104) - fix segfaults when dosdebug+xdos used together with /usr/include/gnu/types.h of glibc-devel-2.0.6-9 ( bug doesn't appear on libc-5, but the fix is correct, --Hans ) From Karl-Max Wagner - support for japanese jp106 keyboard (and before you ask why someone with a typical german name can do that: yes he can because he speaks Japanese and runs DOSEMU on a japanese machine;-) From Marcus - fixes to the dosnet stuff, now support new-int (lucky Eric;-) - Randomized dosnet ID, no clashes when running from the same tty. - moved srand() out of midid/oss.c to a more global place: emu.c (Alistair has to verify, --Hans) From Alistair - update to debug menu for setu-dosemu From Hans - adapted setup-dosemu to know about jp106 - docs update and recompile 98/06/26 ver. 0.97.9.2 unofficial pre-release From Hans - Second round of security fixes: got non-suid-root DOSEMU running. However, this has reduced features: no port access, no hardware access e.t.c, on console only pure terminal (Slang, no raw kbd). On X it does a lot more: I was even able to run win31 (hence, DPMI is secure now with the s-bit off). - Moved parse_dosemu_users again, this time _directly_ behind priv_init at top of main(). This allows checking, wether this user is allowed to run a suid binary. In /etc/dosemu.users there is a new keyword ('nosuidroot') which only allows to run non-suid root (copies of) DOSEMU. - In case of non-suid root we now use a ~/.dosemu/* directory (will create it if missing) for the stuff, we usually have in /var/run/*. Dosdebug was adapted to support that. - updated the docs to reflect the above changes. 98/06/24 ver. 0.97.9.1 unofficial pre-release From Alberto - fix a 'diabolic' missing '*/' in src/base/async/int.c - some changes to make egcs happy From Eric - removed unneeded int10 label/jump in bios.S From Hans - removed mailing to root (as it turned out to be a bad idea) Sysadm can check the logfiles instead. - moved parse_dosemu_users into init/config.c _before_ any parsing of commandline arguments. Should be quite securer. - fixed possible bufferflow in resolve_exec_path (parser.y) 98/06/15 ver. 0.97.9 released From Markus - cleanup to dosnet code, involved files: bios.S, pktnew.c and doc/README/dosnet. Note: this code needs the the old int code. - removed dosext/net/net/select_packet and its entry in set-permission, dosext/net/v-net/{dosnet.h,dosnet.c.kernel-2.1.x} (remark) From Hans - I too had a second patch from Markus, but this one changed too much and in addition broke our (just gotten working) setup stuff. So this has to be delay until after 1.0 However, I expect to get atleast a patch from Markus such that the cleaned up dosnet can run together with the new int code. (... if not, well then the old int code will be the default for 1.0) 98/06/14 ver. 0.97.8.2 unofficial pre-release From Eric - x1: quicken mouse fix - fix a little piece of code without a sanity check (src/base/mouse/gcursor.c ) - Added code to correct textmodes, mousevid.c (get_current_video_mode) - async/int.c: Readded old call to SETIVEC, mouse_post_boot, dos_post_boot, moved code to dos_post_boot, and mouse_post_boot - x2: fixes to keyb_slang.c - x3: further fixes to EMS&X bug - x5: emulated speaker fix, base/dev/misc/timers.c - x6: enhancing X color palette handling, video/X.c, dacemu.c (but sorry, the palette in 4-bit ega mode is still wrong, --Hans) - x9: fixed bugs in global.conf - fixed line counting and error reporting in lexer.l, parser.y - x10: readed old new_set_video_mode for 0.97.4, broke non-X compiles From Hans - renamed new_set_video_mode to X_set_video_mode to avoid further confusion. - some small 'adjustments' to x1,x6,x9 from Eric. 98/06/13 ver. 0.97.8.1 unofficial pre-release From Alistair - Tcl/Tk adaption for compiletime stuff in setup-dosemu From Hans - fixed .dosemurc stuff/changes in runtime_setup.tk not being relative to global settings (yes Alistair, it was me who messed it up ;-) Also, when resulting in an empty .dosemurc, we delete it (else src/base/init/parser.y can't cope with it) - changed setup/parser/parser.y such that it can cope with non-existing/empty files. - temp. disabled 'Debugging' submenu until it realy works - added browser.tk, which is sourced by both, compiletime & runtime This contains functions to popup a brows window and to show Help. - wrote the Tk wrapper menu (setup-dosemu can only handle dialog) - added Help to runtime-setu via viewing the appropriate part of chapter 2 of README.txt - fix a bug in compiletime_setup.tk not using the proper file for default-configure (configure went berserk) - added to compiletime_setup.tk: - forced 'make pristine' before doing configure, if Makefile.conf exists (too dangerous to change settings without it) - display of ./configure results in a window - asking for 'compile' and running make, result in a window too - help is now working - Changed 'DOSEmu' to 'DOSEMU', as this (all capitals) is the official form of writing it ;-) 98/05/31 ver. 0.97.8 released From Alistair (+ Hans) - new Tcl/Tk based runtime setup. We cuurently only support that and have disabled the dialog based stuff until we get that fixed/ported. Maybe we leave it in this state for 1.0. The main ./setup-dosemu wrapper will only start the Tcl/Tk stuff when available, else an informative message will be printed. From Hans - added dos.1 to ViewDocs 98/05/28 ver. 0.97.7.1 unofficial pre-release From Eric - Fixed Ctrl-Alt-Fn for 'video {vga}' and raw keyboard. (wrong initialization order ) - Fix for strange EMS bug under X, changed 'xresize' made the bug disappear, but even the gurus don't know why :-( From Hans - fixed bug in mhpdbg.c not setting ownership of debugger pipes ( running as user wasn't able to use dosdebug ) - added a script 'ViewDocs' for users, that don't know 'less' ;-) 98/05/03 ver. 0.97.7 released From Micheal (via Alistair;-) - newest sound patches 98/05/03 ver. 0.97.6.1 unofficial pre-release From Eric - fix for the 'beep' in INT10 AH=13: speaker_on(125, 0x637); From Arne - fix for video.c not setting screen_adr From Hans - fix for global.conf not correctly detecting an old style dosemu.conf ( to make Alistair happy ;-) - first step to remove 'fix pathes' (for config stuff) 98/04/25 ver. 0.97.6 released From Steffen - rework of set_video_mode (int10.c) - using backing store now in text modes (n_X.c, X_USE_BACKING_STORE) From Hans - removed old X stuff (no NEW_X_CODE defines any more) - docs recompile (including DANG) 98/04/24 ver. 0.97.5.1 unofficial pre-release From Toshio Sengoku - fixes to INT10 AH=13 (write string). Now properly handles ^M, ^J and backspace. From Eric - fix for typo (/x instead of /dev/null) in base-configure.in From Hans - temporary disabled use of setup-dosemu, because our users get confused and _are_ using it though it doesn't work correctly. ( we _really_ need to fix that ) - disabled bug-reporting, when the user missed to give a description ( realy ugly hack ;-) - removed trailing ^M^J in src/commands/precompiled/autoexec.bat ( bogus 'command not found' on startup ). Well, now we have the problem with diff/patch due to the missing \n :-( - made 'newport on' the default again (seems to be stable enough) 98/02/29 ver. 0.97.5 released From Hans - upgraded to Slang-1.0.3, as we need _this_ version for demudialog I made 'slangforce on' the default. From Alistair - changes to make demudialog compile with Slang (slcurses) (colors are odd due to bugs in SLang, so BW is the default) 98/03/20 ver. 0.97.4.5 unofficial pre-release From Steffen - fix to global.conf not setting mitshm - fixed/removed RESIZE_KLUDGE - fix for mousecursor in graphics (was defined on _each_ X-event) - reworked X-colormanagement: - not crash any more when out of colors - switch to private colormap, if the global one gets exausted sideffect: some colors may be missing in textmode (become black) ... fix for this is 'in progress' ;-) 98/03/20 ver. 0.97.4.4 unofficial pre-release From Alistair - This patch contains (unfortunately) too many changes for me to remember them all. The main parts are Michaels patches to limit the size of transfers (and other fixes) and Kenneths patches to clean up the code, fix some small bugs and make the debug code more flexible. I have (as usual) hacked about and probably broken large chunks of it. From Hans - some small fixes to global.conf (checked for version) - Again a _desperate_ try to avoid people using configure directly. ( a user 'just saw configure.in and executed autoconf' ) Why the hell do we have a Quickstart ???!!! Moved configure.in to base-configure.in and changed mkconfscript accordingly. ... hope this helps :-( 98/03/20 ver. 0.97.4.3 unofficial pre-release From Hans - introduced .dosemurc (this replaces .dosrc). If this is found, the new style is used and this file is included by global.conf under 'user scope' (hint from Eric). This means it has all c_* classes undefined and can only change enviromnent variables in its own isolated name space (prefixed with 'dosemu_'). Look at global.conf for details. - changed -f option to replace .dosemurc (instead of .dosrc). As the -f option is quite new anyway, it should not be a compatibility problem. - realized partition access via dosemu.conf - suffix " +hd" to $_vbootfloppy allows virtual floppy + $_hdimage - $_printer is now a _list_ of printer names (LPT1 .. LPT3) - fixed ./first-test (etc/config.test) - renamed KERNEL_VERSION to LX_KERNEL_VERSION to avoid name clash with (new) 2.1.x kernels headers. - udated and recompiled the docs 98/03/12 ver. 0.97.4.2 unofficial pre-release From Steffen - fix for NEW_X_MOUSE not snapping win31 mouse - fix for not handling repnz (f2 prefix) in do_vm86.c, dpmi.c - new DOSHELPER: DOS_HELPER_XCONFIG. This takes input from the new xmode.exe to set X configuration from within the DOS session. (hope Steffen also writes the docs for it ;-) - hiding the main Xwindow (text) via env.variable DOSEMU_HIDE_WINDOW ( may need to be moved to some config.* variable) Purpose: when starting an graphics application as the only app for this session (maybe via DEXE), only the graphics window shows up, hiding the fact that it is run under dosemu ;-) From Hans - make xmode.c 'norm-conform' ;-) and re-compiled it - adapted and cleaned up src/commands/Makefile - made 'newxmouse on' default in both compiletime-settings 98/03/01 ver. 0.97.4.1 unofficial pre-release From Alistair - fix for send-pr reporting wrong version when running under buggy bash2 From Albert K T Hui - more glibc fixes - make use of __USE_* defines (moved by Hans into configure) (__USE_GNU for MREMAP_MAYMOVE and CRTSCTS, __USE_UNIX98 for XCASE) - moved stdout inside main() in mkfatimage16.c to make glibc2 happy From Hans - fixed bug in configure.in not detecting missing as86/ld86 correctly - fixed bug in global.conf not setting X when TERM != xterm - installed glibc check in configure.in and then globally define __USE_* (from Albert's patch) - changed yyerror to yywarn for when a macro isn't found on macro expansion. This may be empty anyway. (in lexer.l) 98/02/28 ver. 0.97.4 released From Kenneth - fixed diabolic 'usedoptions[]' in src/base/init/config.c From Steffen - patches to mouse support under X-grafic - new feature: mgrap_key, defines a Keysymbol (after Ctrl+Alt) to use when giving xdos _exclusively_ the mouse (make playing games easier). Can be set via $_X_mgrep_key. Default (empty) is off, A good value is "Home". From Hans - did what Steffen missed: building X_mgrep_key into the parser adapted global.conf and changed the docs ;-) - made Steffen's mouse patches a compiletime config option because it breaks win31 mouse completely (newxmouse on|off) - reworked ./default-configure a bit: - compiletime-settings now can be multi line. - './default-configure -d' uses 'development settings' from file 'compiletime-settings.devel' - compiletime-settings.stable became compiletime-settings - fixed the 'old port code'. Why? Well this _was_ intended to be removed completely, however, seeing the latest strangeness in dosemu behave, we have to test, wether this may come out of some things we did not do correctly in new code (this applies to _all_ new code, not the port one alone). So, when having problems, first try to isolate by configuring some old code. 98/02/27 ver. 0.97.3.3 unofficial pre-release From Steffen - fix for doom not restoring video mode (BIOS_VIDEO_MODE not set correctly, src/base/bios/int10.c) From Marcus - fixes for libpacket.c, pktnew.c, dosnet.c (... removal of some 'facelifting' hunks by Hans;-) From Eric - trying to work around glibc2 header 'philosopy' (again): libpacket.c, ipxglt.c, ipx.c From Kenneth - enhancements to dump_config_status (printers, debug_flags) From Hans - made GetDebugFlagsHelper usable for general purpose and used it for Kenneth's 'debug_flags' ouput. - fixed '-D+a' also setting CpuEmu's 'e' flag, even when not configured in. 98/02/27 ver. 0.97.3.2 unofficial pre-release From Eric - udaptation to Slang-1.0 - 'error' from utilities.c now goes over 'verror' to simplify passing of arglists. (used by sl_exit_error); - made more room for INT16 code in bios.S (now starts at 0x3500 behind the IPX code). - fix for new do_int together with dpmi (src/base/async/int.c) - fixed a stupid bug in signal handling, (sigaddset expects _one_ SIG to be added, not a bitmask of signals). - fixed compiling without X support. From Eric & Reinhard - divers fixes to (hopefully) get extended keybord keys right 98/02/15 ver. 0.97.3.1 unofficial pre-release From Eric - fix for kernels < 2.0.32 not having ENOMEDIUM in errno.h (cdrom.c) From Kenneth - enhancement to INT8-serializer-hack of DPMI (in_dpmi_pm_int==8) involved files: dpmi.[ch], dev/misc/timers.c - fixed bug in init/config.c: missplaced brackets for if-clause From Klaus Reimann - fix for global.conf (missing bracket) From Hans - made dosdebug to capture _any_ leavedos(!=0), normally exceptions were captured before anyway. - fixed a small buglet in the recent debugger enhancements - fixed -D+D debugflag, such that it now _realy_ prints int21 events (needs setting int21 redirection for that) - fixed mixed misuse of d.dos (ds_printf) in other places: 'd.dos' for DOS-ints and 'd.defint' (di_printf) for 'all other' ints. ... obviously - put in Pat's recent kernel 1933+, now can handle more then one drives (which means the '+' above ;-) 98/02/08 ver. 0.97.3 released From Alberto - fix for cdrom errors on startup (only kernels 2.1.x) - added $_hardware_ram to dosemu.conf From "Alexander V. Lukyanov" - some mods to make 0.97.2 compile on RedHat-5.0 From Steffen - closing a security hole together with 'shell' command in /var/lib/dosemu/global.conf From Hans - cleaned those files in src/doc/README that confused 'patch' because of missing new line at EOF 98/02/07 ver. 0.97.2.1 unofficial pre-release From Hans - some bug fixes to setup-hdimage (those bugs are in 0.66.7 too) - mkdexe know will accept '/' as target name. I found '/', then 'dirname path' replaces '/var/lib/dosemu' - put in Pats new Dosc (Beta1 build 1931) for testing - made some enhancements to dosdebug to easy further debugging of DosC: - with option -H1 dosemu now will wait for the dosdebug terminal to come up and then goes into 'stop' mode. This allows debugging from the point were we jump into the bootsector (7c00). - dosdebug command 'e' enhanced, now accepts a list of values of different type and lengh. 'ed' defaults to decimal input and registernames can be used as values. When the ADDR is a '-', the last used address is take (writing in consecutive locations - mhp_pars now handles quoting correctly ("aa bb" will go into _one_ arg) - logging can now redirected to the dosdebug terminal (command: 'log on' and 'log off' respectively. - introduced 'log break points', which listen on the debuglog output stream and put the emulation into 'stop state' when when a reg.expression matches (commands: 'bplog ' and 'bclog ') - break point settings are now refused when not in 'stopped' state because this leads to problems (was always so). - fixed some logprints, which did print notprintable characters ( mainly in src/base/keyboard/keyb_slang.c ) We have now the helpers 'strprintable()' and 'chrprintable()' in utilities.c. - docs update are recompile (fixed some sgml typo's too) 98/02/02 ver. 0.97.2 released From Hans - Due to arguments from Steffen, decided to rearange dosemu.conf again. Now dosemu.conf just contains the GLOBAL_SETTINGS part. The 'script' part is moved to /var/lib/dosemu/global.conf. Hope this makes it more easy for our (normal) users to fiddle with the configuration. - fixed $$_speaker bug in global.conf (dosemu.conf of 0.97.1) - (fixed) $_secure such that 'secure off' can be set. - added $_rdtsc, $_cpuspeed, $_pci to dosemu.conf - fixed cpuspeed setting in parser.y (now 'cpuspeed 166.666' works) - added some missing printouts for -h opion (config.c) - updated the docs - chapter 2 of README.txt -> chapter 2 README-tech.txt - new chapter 2 of README.txt describes new dosemu.conf - updated Quickstart and man/dos.1 98/01/30 ver. 0.97.1.2 unofficial pre-release From Alberto - the RTC/CMOS/int1a patches (tested with ndiags). - removed egcs warnings ('ambiguous else' and 'default to int') - enhancements to the disassembler - new way of turning off debug log after console switch - fixed bug in the definition of CONF_NLPT 98/01/30 ver. 0.97.1.1 unofficial pre-release From Marcus - rest of dosnet rework From Sergey Suleimanov - fix for FoxPro "Record not available" bug in conjuctions with lredir'ed drives (mfs.c) From Kenneth - fix: Print Shop Delux not recognizing 'printer online'. From Reinhard - (first) patch to get the keypad-Ctrl (E0) stuff better. ( well, atleast this one should be in so we don't forget it, looking forward to get the rest from Eric ) From Hans - docs recompile 98/01/15 ver. 0.97.1 unofficial pre-release From Marcus Better - First round of a libpacket / dosnet rework (needed for 2.1.x) ( note: the chances to dosnet aren't yet in, have to consult Marcus again ) 98/01/15 ver. 0.97.0.3 unofficial pre-release From Pasi - fixed 'missing KeyRelease' when out of window focus in keyb_X.c ( thanks Pasi, that also fixes 'arrgh, hit wrong Alt-Fx' probl. :-) From Eric - no-cursor-bug-fix (console), int10.c, console.c (x26) From Alberto - adapt /proc/cpuinfo scanning to kernels 2.1.x From Hans - introduced 'runtime' kernel version checking: kernel_version_code. 98/01/15 ver. 0.97.0.2 unofficial pre-release From Eric - Changed ubyte_t to Bit8u (in video.h, bios.h ) (x10) - Changed include of to "bitops.h" ( in mhpdbg.c mhpdbgc.c, interp_32_16.c, interp_main.c, ports.c ) (x11) - Updates the cursor in grahics mode now too, mouse/mouse.c (x14) - Allow threads to compile with glibc (include/lt-threads.h) (x20) - removed __u*: include/cpu.h (glibc2 problem) (x21) - further glibc fixes, include/types.h (x22,23) - docs for Priv-usage (x24) From Arne de Bruijn don't set video bios variables for native VBIOS, video.c From Hans - 'desperate' try to disable direct execution of ./base-configure ( '#! /bin/bash' and x-bit removed ) - fixed console detection in etc/dosemu.conf 98/01/14 ver. 0.97.0.1 unofficial pre-release From Kenneth Corbin - fix for >16bit portnumbers in src/emu-i386/n_ports.c From Pasi Eronen - fix typo in vga_emu_init(), in src/env/video/vgaemu.c From Arne de Bruijn - fix for seek_from_eof fails on lredir'd drives (mfs.c) From Hans - small optimization to power_of_2_sqrt. (removed silly compares) - fixed (longstanding) typo in parser.y: CARD_EGA was treated as CGA - fixed too late initialization of 'mem_names' in src/base/init/memcheck.c - enhancements to parser.y /lexer.l. After long thinking and hesitating I decided to use real number during startup /configuration. We won't use math support later but I verified, it doesn't do any harm during start up. Hence for future configuration stuff, we can avoid such tricks as 'cpuspeed 500 3' and can have 'cpuspeed 166.666'. - full expressions evaluation, automatic real/integer evaluation. - string expressions - using environment variables ($XXX) in (string) expressions - setting environment variables possible - preset some environment variables before running the parser (KERNEL_VERSION_CODE, DOSEMU_VERSION_CODE, DOSEMU_EUID, DOSEMU_UID, DOSEMU_USER, DOSEMU_REAL_USER, DOSEMU_HOST) - new: 'if ()' statement - new: 'while () ... done' statement - new: 'foreach $xxx () ... done' statement - new: shell() statement - new: macro expansion ($$xxx) - ... and lot more, have a look at README.txt - ./etc/config.dist became ./etc/dosemu.conf ( rewrote the whole stuff, now checks for a lot more and sets configuration more correctly in the first place ) - updated the docs accordingly - new commandline option to aid debugging of configuration: dos -h[0-2] -O 2>&1 prints all usefull configuration data and exits. - new commandline option: '-f dosrcfile', which overwrites reading of ~/.dosrc - fixed _some_ (not all) sgml2tex errors in src/doc/README ( man, are those '...' a mess, difficult to find anyway ) because they were 'hiding' a lot of valuable info. 97/12/13 ver. 0.97.0 unofficial pre-release, VERSION BUMP From Pasi - patch for color allocation problems with -bpp 8 in src/env/video/X.c ( tries to use existing colors if they're close enough, and even if allocation fails, some reasonable colors are chosen). From Hans - made simple integer_sqrt() to avoid FPU usage in Pasi's patch ( simple power of 2 iteration algorithme, if some skilled mathematician can make it better, I wouldn't be angry ;-) Anyway, for the above purpose it takes max 9 iterations. NOTE: This is the release that prepares for the 'fork point' to 0.98/0.99. If 0.97 has stabilized it'll become (unchanged) 0.99, and minus some to-back-out-stuff it'll become 0.98. 97/12/12 ver. 0.67.16.8 unofficial pre-release From Robert de Bath - new enhanced Slangterminal code (src/base/keyboard/keyb_slang.c, src/env/video/terminal.c) From Eric - some fixes to Robert's code From Hans - cleaned up Roberts code such that a diff between the old and the new code is better readable. - made compilation of the old Slang code a configure option (--enable-old-slangcode) and moved the old code to o_keyb_slang.c - docs recompile 97/12/10 ver. 0.67.16.7 unofficial pre-release From Karl Kiniger ( ... ASPI-Karl ;-) - fix for src/dosext/misc/emm.c returning wrong error code on 'get handle by name'. From Eric - patch to make the enter/leav_priv* stuff working with threads (see README.txt, chapter 'Priveleges and Running as User') From Hans - small changes to Eric's patch such that it checks the depth. - adapted the the newer 0.67.16.x stuff to the new priv stuff - docs recompile 97/12/07 ver. 0.67.16.6 unofficial pre-release From Xavier Perramon - fix to make creation of SOCK_PACKET possible for a user in src/dosext/net/net/libpacket.c*. From Hans - restrictet the above patch for Xavier Perramon to be legal only, when 'secure' is off. - new tools in src/base/misc/utilities.c to handle /proc scanning - changed cpu/rdtsc detection to above scan tools and realized check for cpuflag 'tsc' to allow use of the cycle counter. (in src/base/init/config.c) - '#if 0'ed prep for the a possible Ctrl-PgUp fix ??? (src/base/keyboard/serv_backend.c). Reinhard promised to to fix this better ;-) 97/12/06 ver. 0.67.16.5 unofficial pre-release From Eric - new interrupt handling stuff (do_int patch). - do_int changed such that caller_function is called only if an interrupt vector is not revectored. - run_int now handles calls pic_cli() - In do_irq 'do_int' is called instead of run_int. - Added a function 'run_caller_func'. - int08, int09, int_a_b_c_d_e_f, int_16 removed. - Disabled redirection of the default case for int1c. - Updated mouse code to use the proper address for redirection the first time. - int33: Replied to question about post_interrupt handlers. - src/emu-i386/do_vm86.c (run_vm86): Sync IF, VIF and the pic_state immediately after returning from the kernel. Removed bogus IF/VIF handling in vm86_GP_fault.. - src/dosext/dpmi/dpmi.c (run_pm_int): Never call run_int now, always use do_int instead. Moved dpmi_cli out of vm86 path. do_int handles that chore on the vm86 path and doesn't always clear the interrupt flag. - src/base/mouse/mouse.c: Disabled unused support for int 0x74 - src/base/dev/pic/pic.c (do_irq): do_irq noe calls do_int. Removed the unnecessary run_int sanity check. Removed pic_cli, on the way to call do_int as do_int will not call that itself it needed. - src/base/bios/bios.S: Slightly modified the default interrupt 0x42 entry point so that it works in the new scheme. Modified the entry point of int1c to call into dosemu. From Hans - due to some problems with X refresh (why?) made the do_int patch a compile time option (--enable-new-intcode). I don't expect this problem to stay for ever, so its only put in base-configure. ( './default-configure --enable-new-intcode; make' ) - run_int became 'real_run_int' and, depending on new or old int code, a macro 'run_int' is pointing to 'real_run_int' or 'do_int'. 97/12/05 ver. 0.67.16.4 unofficial pre-release From Eric - bug fixer for the disk code, sometimes disk_close_all called before disk_init and closing stdin. (src/base/misc/disks.c) - If the hogthreshold code is disabled _don't_ sleep. (src/base/async/int.c) - Fix to make pic_sti and pic_cli more robust. (src/include/pic.h) - Modifications to cpu.h in preperation for the do_int patch From "Robert de Bath" - fix to allow Ctrl-Alt-Fx keys to be pressed on the Slang & the X keyboards, don't eat them. (base/keyboard/serv_xlat.c) From Pasi Eronen (note his new E-mail address!) - fix for serial stuff in ser_irq.c - changed E-mail address 97/12/04 ver. 0.67.16.3 unofficial pre-release From Hans - further working on keyboard cleanup. In principal no functionality change was done (except keytable loading), the keyboard code behaves exactly as before. - moved all key map related config.xxx stuff into one pointer config.keytable, which is a struct, that holds all needed information. The keymaps.c has a list those struct for keytable aivalable (keytable_list[]), such that this list is searched in parser.c to set the appropriate config.keytable. - this new struct also contains 'flags' for special handling currently it only hold KT_USES_ALTMAP, which know is used to determin wether the R_ALT handling should be done (former check against KEYB_US) - cleaned up the various DEAD_* references, know all is defined in keymaps.h - removed double definitions of KEYB_* in emu.h, keymaps.h - introduced a new kbd layout: 'keyb-user', this one is identical to 'us', but is intended to hold complete user defined keymaps. Its know the default, when nothing is specified, so the US table won't be overwritten, when doing a keytable load. - new dosemu.conf statement: 'keytable', for more see README.txt It makes it possible to either change an existing key map or to replace (load) it completely. It is also possible to dump all keytables to a (asscii) file, the format is suitable fo direct include into dosemu.conf. - deleted - discrete "dumped" keytables now in ./etc/keymap, which will be copied on install to /var/lib/dosemu/keymap. Here the user may change them to fit his/her needs and load them such as -I 'include "keymap/de-latin1"' - some cleanup in the lexer.l rules. To avoid clashes between the special characters "|{}=," and the _not_ quoted strings. Now you need to quote a string, when it contains those characters, e.g. file,xxx or file+xxx.c has to become "file,xxx" and "file+xxx.c" respectively. - the keymap 'no' now is named 'keyb-no' to avoid name clash with the boolean 'no'. (in lexer.l) 97/11/30 ver. 0.67.16.2 unofficial pre-release From Eric - back ported keycodes stuff to new kbd ( ...thanks, that makes it possible to delete the old kbd code ) From Hans - removed old kbd code and renamed src/base/keyboard/n_* to * - include/speaker.h missed a '#include "types.h"', it compiled ok in the past, because NEW_KBD wasn't defined (even when) because also config.h wasn't included ;-( 97/11/29 ver. 0.67.16.1 unofficial pre-release From From Ulrich Weigand - (gnats report files/70) fix for wrong open mode handling in MULTIPURPOSE_OPEN of mfs.c From Hans - fixed misplaced 'free()' in src/base/init/parser.y - fixed not correctly working '-I keystroke' stuff for new keyb. (recode(), type_in_pre_strokes() in src/base/keyboard/prestroke.c) - forceing KEYB_US when in X _and_ not X_keycodes also for new kbd. ( prep for Eric's keycodes backport and fix for '-I keystroke') - further rework of commands stuff, reworked commands/detect.h. NOTE: No longer using '-a' flag of as86 because it results in strange compilation (call far ptr * does generate a near call). Changed all *.S which relied on the 'asld' syntax. - changed macros86.h to use 'br' for JMPL, well it turns out that this (non-Intel) as86-memnonic _does_ in fact generate a near jump. ( no docs are telling this:-( ). - rewrote the simple C files to as86 such that we clean up the 'precompiled' directory. - converted dumpconf.asm (MASM) to dumpconf.S, know having dumpconf.sys instead of precompiled/dumpconf.exe - converted mgarrot.a86 to mgarrot.S. - renamed 'chdir.com,getcwd.com' to 'uchdir,ugetcwd' respectivly (the 'u' stands for Unix) the old names were misleading as the directories involved _are_ Unix ones (not DOS). - fixed a bug concerning (u)getcwd, the old code used AX to pass the size of the buffer to the doshelper, but AX is used to pass the function code for the helper. Now using CX for size. - removed all _AX _BX .. usage in command/*.c (too dangerous) and replaced geninterrupt() with intr(); - made the (hidden) 'unix -s XXX' working (using msetenv), so you know may 'transport' Unix-env.variables to DOS. - 'unix -e' (without further param now will be quiet, so you may have it in your autoexec.bat to be prepared for something like 'dos -D-a -E dosapp'. This as an alternative to '-I keystroke' to launch DOS-applications from the linux commandline. - changed src/commands/Makefile such that it can compile precompile/*.exe on demand. Need an already installed DOSEMU and Turbo-C though;-) 97/11/22 ver. 0.67.16 released From Eric - found and fixed a diabolic memory overwriting bug ( src/base/dev/dma/dma.c, loop limit was 5 instead of 4) From Hans - new DOSEMU detection stuff (without even trying to INTE6) (all *.S -> *.com converted to that) ... to be continued - to reduce confusion: ./configure becomes ./base-configure - new script 'mkconfscript', which is used to build proper configure scripts (runs autoconf, autoheader and replaces /bin/sh with /bin/bash) 97/11/20 ver. 0.67.15.1 unofficial pre-release From Marcus Better - INT13-Support for more than 1024 cylinders (bit6..7 of DH building 12 bit cylinder number) - INT13 IBM/MS Extensions, AH=41h-44h and 47h-48h. This uses 64-bit logical block numbers. It's documented in the R.Browns Interrupt List. From Hans - Making Marcus' INT13-4096 cylinder mode a dosemu.conf option, such that nothing old could break. Flag for the disk statement: diskcyl4096 - docs rebuild 97/11/07 ver. 0.67.15 released From Alberto - replace all error("ERROR...) with error("...), because ERROR is already prefixed in function error(). From Hans - fixed 'error()' such that 'error("@xyz...")' will print _without_ prefixing 'ERROR:'. (print_exception_info() was printing wrong). 97/11/07 ver. 0.67.14.2 unofficial pre-release From Alberto - make USING_NET a configuration option - fixes to lt-threads (atomic_* name clashes, locking stuff) - make some compiler warnings go away From Hans - small fix for configure.in not detecting correctly broken textutils. - introduced --enable-experimental to avoid playing JoeUser with not yet working stuff. - syncing lt-threads with my and Albertos changes (and vice versa) Version now 0.4.2 - DANG and docs recompile 97/11/01 ver. 0.67.14.1 unofficial pre-release From Alberto - BIG patch to introduce the willows twin based cpu emulator ( too much to describe the details here, have a look at src/doc/README/cpuemu). Alberto did a great job in porting the twin cpu emulator to DOSEMU! We hope that one day (a) DOSEMU can run on machines other then the Intel and (b) we can use the emulator to simulate ring0 protected mode (win95;-). However, currently its _very_ experimental and only few programms run, hence it is disabled by default. As it now is in the distribution we can make efforts to get this baby on its way;-) - cleanup for the old X86_EMULATOR define (now using it for cpuemu) - small initial documentation From Hans - doing the 'slave work' of integrating Alberto's patch ;-) ( including copyright verification with Willows ) - new dosemu.conf options: 'cpu emulated' and 'logfilesize xxx' - reworked log_printf and 'error', now both are functions and call 'vlog_printf'. This avoids recursive macro expansion, when redirecting 'fprintf' to 'error' in the twin code. - making dosdebug to tell us wether we are on a simulated cpu. 97/10/24 ver. 0.67.14 released From Alberto - prep for cpuemu in src/arch/linux/debugger/{dis8086.c,mhpdbgc.c} - isolated log-printf stuff in headers to avoid name clashes for cpuemu: new file src/include/dosemu_debug.h - fixed bug/typo in src/include/vgaemu.h: vga_emu_fault was passing wrong arg. From Hans - adapted DANG_CONF, DANG and docs recompile 97/10/23 ver. 0.67.13.2 unofficial pre-release From Alberto - fix for Matrox _and_ 'speaker non-native', lots of port61 fixes. - fixed bugs in dpmi.c (LWORD was used instead of _LWORD) - replaced [rep]{in,out}s{bwd} in vm86.c and dpmi.c with calls to a common set of functions in n_ports.c. - completed prefix handling for ports stuff, all combinations now are considered. - aligned some (lot of) code to the Bitxxx type convention. 97/10/22 ver. 0.67.13.1 unofficial pre-release From Alberto - rest of ioport_t fixes. - typedefs in src/include/types.h now based on - more opcodes 0F fixes in src/emu-i386/cpu.c. - cleaned a lot of print format errors. (%lx versus %x) From Hans - fixed '<>|' keyboard bug. It turned out MSDOS-6.2 was destroying the CARRY in its INT15 AH=4F hook. The fix was not to rely on CARRY=1 when called (forcing it to 1) in src/base/async/int.c - removed confusion '0.49' out of src/tools/peripher/hdinfo.c 97/10/11 ver. 0.67.13 released From Eric - some keyboard fixes to solve problems with the sticky shifts. - corrected some funny typo's ;-) 97/10/10 ver. 0.67.12.2 unofficial pre-release From Alberto - enabled 'new' port code, moved new code (from portss.c) to n_ports.c and integrated code that ist used by the old code into ports.c. portss.c is no longer used. The new code can be enabled via ./configure (--enable-new-port). - Now ioport_t (from types.h) is used all over the code. However, for compatibility changed to unsigned int. - PCI code is now fully enabled. From Hans - DANG/README update/recompile 97/10/10 ver. 0.67.12.1 unofficial pre-release From Alberto - fixes to CDrom driver (undocumented bit 10 in CD status) look at the comments in src/dosext/drivers/cdrom.c. - new config variable 'cdrom' added for more than 1 CDrom From Hans - (instead of Alberto;-) did update the README/config to reflect the above config variable 'cdrom'. 97/09/26 ver. 0.67.12 released From Eric - new speaker code. Changes against old code: Xsupport, variable sound duration (limited to 990ms), turn-off on leavedos. From Hans - DANG update/recompile 97/09/23 ver. 0.67.11.2 unofficial pre-release From Alberto, - final fixes for CPU detection, SMP now switches off RDTSC timing. - final AC-flags fixes (make the FoxPro fix obsolete) From Hans - disabled FoxPro fix from 0.67.11.1. - cleared up usage() in config.c. - max cardtype now in src/include/video.h (MAX_CARDTYPE), so no need to take care of the constant in config.c ;-) - DANG recompile 97/09/21 ver. 0.67.11.1 unofficial pre-release From Alberto - fix (workaround) for FoxPro clearing AC flag in dpmi.c (when trapno = 17) From Hans - 'cleaned' misleading usage of config.cpu_type and config.realcpu cpu_type is what we show to DOS, realcpu is the CPU dosemu works on Hence -3..-6 do _not_ change realcpu and can't be used to disable the pentium timer. For this config.rdtsc should be used. - updated src/doc/README/config to reflect the latest changes. 97/09/20 ver. 0.67.11 released From Michael Karcher - fixed bug in src/dosext/misc/xms.c allocating unlimited memory. From Reinhard Karcher - fixed bug in n_serv_xlat.c concerning numerical ASCII input over ALT-keypad. A variable sometimes wasn't initialized. From Eric - fixed possibe make recursion in Makefile.main, which happens to occure with some newer make versions. (looks like the order of making differs between versions). From Hans - made Eric happy ;-) 'cd src; make' now works again as expected. - temporary disabled Alberto's (0.67.10.3) pentium timer until he/we find the bug which breaks FoxPro (when it uses XMS/EMS memory, which it does by default) :-( To re-enable it uncomment TEMP_DISABLED in the top Makefile. - Updated DANG_CONF such that it now collects all files, which contain usefull DANG/SIDOC statements. Look at doc/DANG.txt ;-) 97/09/19 ver. 0.67.10.3 unofficial pre-release From Alberto final (except for bug fixing) part of timer patches: - revision of some comments - speed detection and override: new param config.realcpu taken out of /proc/cpuinfo, -3, -4 e.t.c. can only downgrade this value. - CPU speed rounding to multiples of 30 and 33.3 in the range 60 to 300MHz (is it enough? maybe 500...) - replaced all gettimeofdays in timers.c and pic.c with the new interface. Some needed gettimeofdays() are left though. - Deleted CLOCK_TICK_RATE because it were same value as PIT_TICK_RATE. - new code in cpu.c to reasonably emulate 'MOV to/from CRx' (0f xx xx) The previous code (do_vm86.c, msdos.h) was incomplete. - using call to int0x06 instead of 'leavedos' in sigsegv.c making happy CPU detection programs. 97/09/16 ver. 0.67.10.2 unofficial pre-release From Alberto first part of timer patches: - the timer driver itself and the new cpu/speed configuration: emu-i386/cputime.c, include/timers.h, base/init/config.c etc. - replacement of the delay loops with the new interface: keyboard, serial, sound (all the loops using RELATIVE timing). - documentation (refers to the final timer package) - timers and PIC have NOT been changed, they still use gettimeofday. If this patch doesn't break anything, the round uses the real stuff. 97/09/16 ver. 0.67.10.1 unofficial pre-release From Uwe - fixing ./configure VERSION problem with textutils < 1.19 - 'nicer' warning in Top-Makefile ;-) From Eric, Larry, Alberto (all agree with this ;-) - disable 'could be dangerous' run_irqs() in base/dev/misc/timers.c From Alberto - Makefile.main: 'base/' missing before a 'data.o - speed up compilation of debugger/dis8086.c by uninlining a function - fix internaldriver for MouseSystems mouse. - parser.y: if user says '/dev/mouse', trust him and set the mouse flag - added pci driver, keyword PCI in /etc/dosemu.conf - changes to 32-bit port access. - Matrox driver updates - WDvga(Paradise) support - updates to vc.c for Matrox and WDvga 97/09/12 ver. 0.67.10 released From ramon@juguete.quim.ucm.es - gnats report misc/58, fixing: 'Dosemu cannot boot DOS from a partition at an origin > 2Gb' From David Bourgin - changes to ./setup-hdimage: - Use /sbin/fdisk, when /sbin not in the path. - Offer non-bootable partitions too. - Move -C option of mdexe to the end of the command to avoid a shell misunderstanding. From Hans - get rid of some '#ifdef __linux__' concerning 'loff_t' in disk.* - small fix for DANG_c.pl not having the right version after the configure changes. 97/09/09 ver. 0.67.9.1 unofficial pre-release From Hans - reworked the ./configure and Makefiles such that now there are no Makefile*.in anymore except Makefile.conf.in, which gets substituted by ./configure and holds all needed configuration variables for the Makefiles. Makefile.conf gets included only in the top Makefile and exports all variables to the slave-Makefiles. - a simple 'make' runs ./default-configure if needed. ( the user can't forget to run ./configure ) - no path substitution any more in the Makefiles, hence you now can rename the directory (or copy it) and 'make' can run. - The version has been moved into the file VERSION, which is parsed by ./configure and the top-Makefile, hence I need only to change this one file ... and ./configure* is untouched. - Some not used checks in ./configure have been disabled, hence ./configure runs faster. 97/07/25 ver. 0.67.9 released From Alistair - fixed Makefile.main not to compile threads when not configured. - tests for the presence of 'libgus' in ./configure (SBEMU on). If it's found then 'midid' will be compiled with that support, otherwise it doesn't. - update to sound docs. From Hans - full docs recompile (DANG also) - mtools version check in setup-hdimage - some minor changes to mkbindist - introduced compiletime-settings.stable for making stable releases out of 0.67 for 'joe user'. (0.66 is freezed now) 97/07/25 ver. 0.67.8.2 unofficial pre-release From Michael Karcher & Alistair - second round sound&dma patches SB: reworked asynchronous handler ('run_sb') added 'run_sb' into DPMI loop added support for MIDI & 16-bit IRQs added missing function _call_ to sb_mixer_data_read added extra SB16 Mixer commands added SB16 DAC & ADC (stub) added driver call 'play_buffer' [linux] updated 'write_silence' to use 'play_buffer' updated 0x1C DSP handling (for broken software) added 'sb_set_rate' (some lengths are HI/LO, others LO/HI) added automatic downgrade to SB-PRO DMA: fixed FF clear (now does!) fixed Hi/Lo Byte swap (result of previous FF bug) uses '|' instead of '+' where possible (quicker ?) added 'dma_transfer_size' to alter handler's blocksize added underflow checking to transfers 97/07/24 ver. 0.67.8.1 unofficial pre-release From Alistair - first round sound&dma&timer patches From Jan van.de.Werken - little bug fix for fossil.c From Alberto - small fix for n_X.c to compile without mitshm. From Hans - fixed the 'Linux-4.0.0' bug in lt-threads ;-) - corrected src/doc/README/batch, chapter 13 of README.txt was garbage. - made config.X_mitshm = 0 default again. When Steffen fixed the problems with X-color allocation, we'll re-change it. 97/07/19 ver. 0.67.8 released From Hans - lot of work on DANG (hey Alistair, hope you don't mind) - made the keywords also accept 'SIDOC' instead of 'DANG, because else I would have to maintain two versions of the threads package (which I mainly use at office). Yeah, using the DANG compiler now for my work at office ;-) - Added some new features to DANG (have a look at chapter 12 and 13 of DANG.txt) - edited _all_ DANG_*_MODULE entries such that now the contents _really_ will appear in the 'Infomation' sections of DANG.txt. (before all those valuable comments were ignored :-() - new threads version: 0.4 97/07/18 ver. 0.67.7.1 unofficial pre-release From Steffen - new (nearly) full implementation of vesa-2.0 - real true color support for DOS-applications (note: not to confuse with emulation of 8bpp on a truecolor X-server) - LFB support. implemented special DPMI 0x0800 function (map physical) to fake our virtual LFB. (this need more work, too dangerous, --Hans) - new dosemu.conf option for X {}: lfb on/off, pm_interface on/off, defining new VESA modes. look at doc/README.txt chapter 2.2.8. - made 'X {mitshm}' default on, but can be switched off via 'X {mitshm off}'. - gammcorrection now uses _only_ integer, no FPU usage any more. - integrated old vgaemu_inside.h and vesa.h into vgaemu.h - fixed a bug in arch/linux/async/signal.c, wrong activation of resize in text mode. - updated README/X.sgml and README/config to reflect all recent X changes. From Hans - fixed Makefiles for odd behave on as86 generated objects: bios.s, vesabios.o (tmp files dependencies went berserk) - fixed README/Makefile so sgml2tex won't screw up your screen;-) - changed docs to reflect the fact, that we now need libc-5.4.7 at minimum (due to mremap) 97/07/05 ver. 0.67.7 released From Alberto - fix for n_serv_xlat.c, grey +/- on num keypad. - fix for mhpdbgc.c, adjust segment limit value following the granularity when disassembling. From Marty - some fixes to ./configure so it doesn't generate '-I' and and barf the compiles. From Hans - kludge in src/dosext/misc/emm.c to work around kernel bug (/proc/self/mem mapping again) 97/07/03 ver. 0.67.6.1 unofficial pre-release From Alistair - big docs rebuild. Nearly all README.s are now 'sgml' and the source is in ./src/dos/README. In the ./doc directory there these appear (compiled) as README.txt and README-tech.txt. From Hans - udapted the remaining docs, Makfiles and ./configure to reflecting Alistairs changes. 97/06/29 ver. 0.67.6 released From Hans - fixes to EMM code (these bugs were long time in :-( ) The bug was introduced as HJ Lu recommended to use valloc() instead of malloc() because of the page alignment of the malloc request. So far so good, but we forgot that we do a realloc() and even a free() on these allocations, ... and this _not_ complient with the GNU specs of valloc(). In the old libc though it nevertheless seemed to work, but not together with newer libc: The 0.66.6 binary distribution _is_ compiled against libc-5.4.23 and with this the old EMM-test program that I once got from Jim is crashing. In addition I also saw, that we did no proper handling for cases when the new size for realloc() was ZERO. The realloc() returned pointer isn't pagealigned (I even guess that realloc() should not given a new zero size). As a fix we now are using mmapp() (/dev/null) and mremap() also for EMM. Though I could not test it under all conditions it atleast fixed the bug for me. ... and it should be faster anyway. 97/06/28 ver. 0.67.5.1 unofficial pre-release From Michael an Reinhard Karcher - fix for extended key-code (E0) in new and old kbd code. - fix for mfs.c: a DOS app that wants to read a newly created file without reopen failed. Fix was to set the openflags in the SFT to read/write instead of writeonly. ( same open mode mode as for the linux file). From Alberto - fixed typo in bios.S (wrong SIM_INT(15) instead of SIM_INT(0x15)) From Hans - some fixes to lt-threads - kernel version dependent include of - fixed misaligned force_stack_expand, when using -malign-double ( ... guess who jumped into this trap and found out what was wrong? Alberto! ;-) - changed SIG_ACQUIRE to SIGUSR2 (src/include/emu.h) because the SIGUSR1 collides with SIG_SUSPEND_WAKEUP in lt-threads. - made new kbd the default again (in-out-in ... what comes next?;-) - in src/dosext/dpmi/memory.c DPMIrealloc() use mremap() instead of mmap()/memmove()/munmap(). Should be faster. 97/06/21 ver. 0.67.5 released From Hans - introducing threading into DOSEMU using Linux-clone :-) Currently its only used for fixing the floppy ioctl that will return with -EINTR (we normally switch off SIGALRM). The main reason I put that stuff in is to show the team _how_ it can be used within dosemu. So, Alistair its your turn now to make the DMA stuff using it. And Steffen also may look how we can make the X-update a thread. And of course Alberto now has a base for his new PIC stuff. Conclusion: Currently it should be considered as an example and if we later come to the decision, thats not enhancing DOSEMU enough, we may back out it. BTW: its only activated by --enable-threads. - Made the old kbd again the default, because it breaks some of the older DOS apps (extended code E0 again, forgot that we didn't fix that yet, will come next). 97/06/19 ver. 0.67.4.3 unofficial pre-release From Alberto - Support for Matrox-Millenium ( video { ... chipset matrox } ) From Hans - setting new kbd to default for default-configure 97/06/19 ver. 0.67.4.2 unofficial pre-release From Steffen - new X-update code - gamma correction ( X {gamma 100 } ) - virtual memsize for vgaemu configurable ( X {vgaemu_memsize 1024} ) - updating DANG for X and vgaemu From (multiple sources on linux-msdos ;-) - fix typo in src/include/linux/vm86.h (missing #endif) 97/06/15 ver. 0.67.4.1 unofficial pre-release From Steffen - fix for mitshm autodetect (src/env/video/X.c, .../n_X.c) From Michael Guennewig - fixing invalid disk-geometry-information for drives tracks > 256 - fixing invalid hdimage's for images with more than 65535 sectors or (>=32MB) in mkfatimage16.c From Michael Harnois - some more work to make DOSEMU compile under glibc From Eric - fix for the (infamous) have-to-type-ESC-twice bug in the new kbd, as it turned out, we forgot switch stdin into O_NONBLOCK mode. (many kudos to Eric;-) From Hans - make target 'bindist', so I'll never forget the right params for mkbindist (especially /usr/doc/dosemu ;-) - further enhancements to mkfatimage16.c (in addition to Michael's) It turned out, that the hdimage was too inflexible for bigger sizes and made a lot of trouble. - new option -k: give size of hdimage in Kbytes. This adapts the geometrie automatically to what is needed for the size. ( heads, sectors_per_track are adjusted ) - new option -f: give the filename of the hdimage instead of writing all to stdout. - new option -p: when option -f also is given, pad the hdimage with zero up to the exact filesize. This is required for mtools-3.6 and when mounting the hdimage via /dev/lo. The actual disk usage will be lower, because padding is realized by makeing a big hole at the end. - updated the man page - fix for IPX (gnats bug report files/46 from kees@schoen.nl) setsockopt(sock, SOL_SOCKET, IPX_TYPE, ...) wrongly using SOL_SOCKET instead of SOL_IPX in src/dosext/net/net/ipx.c - fixed mkdexe so it can cope with DOSAPP not beeing an absolute path - fixed INT15-AH=4F not spawning a hooked TSR (src/base/bios/bios.S, src/include/macros86.h), and backing out the incomplete fix of 0.67.4. 97/05/31 ver. 0.67.4 released From Alberto - disable ctrl-alt-del. (as its broken, better disable it) - deleted (unused) dos_ctrlc() From Ulrich Weigand - Several bugfixes to new keyboard code - Raw client: ALT+Letter - Translation on non-US keyboards - X client: didn't set AltGr flag in BIOS shiftstate (non-US) - All clients: cursor block keys should yield ascii code 0xE0 - Hooking INT 15 AH=4F did not work 97/05/31 ver. 0.67.3.4 unofficial pre-release ( taking over stuff from final 0.66.5 ) From Hans - untill we can detect the availability of static libs, we re-disable static linkage. ('linkstatic off') From Michael an Reinhard Karcher - fix for wrongly placed leave_priv_setting() in ipxglt.c From Christian Kumpf - fixed bug in dexe/mkdexe not proper handling option -d From Hans - changed mkdexe to accept *.tgz - LDFLAGS now '-Wl,-warn-common' to see were we have name clashes - repaired the linker warnings resulting from -warn-common by - properly useing EXTERN in vga.h, serial.h - removed multiple definitions of 'serial_t com[MAX_SER];' - removed overriding 'struct debug_flags d' definition in config.c - fixed IPX not closing sockets on leavedos() ( gnats report misc/39 from Kees ) - adapted /proc/meminfo (dpmi/meminfo.c) scanning to Linux-2.1.41 97/05/24 ver. 0.67.3.3 unofficial pre-release From Alberto - timers.c: reorganized pit_latch - simplified access to pit[latch] with a pointer - changed mode test from a switch{} to an if..else - merged code for modes 2 and 3 - implemented output pin (status bit 7). A request for status calls pit_latch with mode flag 0x40; the output pin status is recalculated and the mode flag changed to 0x80. The following read will get the complete status byte, then the mode flag will be reset from inside pit_inp. - this patch also corrects a bug, ndiags now runs fine. From Hans - made 'linkstatic' and 'tmonoton' default (static binaries have better performance and less timer problems) 97/05/23 ver. 0.67.3.2 unofficial pre-release From Alberto - timers.c, pit.c: use NEVER instead of -1 in monoton timing - timers.c: removed duplicate calc of 'ticks' - timers.c (pit_inp): avoid changing read_state for the special latch status command; otherwise next read will get MSB instead of LSB. - cdrom.c: avoid binary sector dumps into log file, use ASCII reworked debug messages a bit - patch to serial code to activate transmit FIFO From Hans - fixed bug in src/dosext/drivers/cdrom.c (ebx twice set), that Alberto pointed out (aaah, these eagle eyes ;-) 97/05/23 ver. 0.67.3.1 unofficial pre-release From Gloriano Frisoni - patch to make winsocket stuff work under win31 Using trumpet winsock, netscape, eudora, mirc, free agent e.t.c now run under dosemu. For more read doc/README.Winnet 97/05/19 ver. 0.67.3 released From Alberto - some more comments on DIRECT_DPMI_CONTEXT_SWITCH - removed bogus RCS printout in src/dosext/misc/xms.c - some remaining fixes on USE_INT_QUEUE - some fixes in DPMI - low 12 bits in limit > 1M was not checked - forgotten 'volatile' in do_LAR - logging of ingnored 0x0506-0x0508,0x0700,0x0702,0x0703 DPMI-functions - asm code for copy_context under DIRECT_DPMI_CONTEXT_SWITCH - DPMI page fault should do leavedos() - dead loop detection for 'cli' in dpmi_fault() From Steffen - (some) fix to cut&paste in src/env/video/n_X.c From Eric - src/base/keyboard/n_keyb_X.c: Added some missing key definitions. Needed to get the keypad keys working in X when numlock is off. 97/05/19 ver. 0.67.2.1 unofficial pre-release ( taking over stuff from pre-0.66.5 ) From Alberto - fixed bug for DIRECT_DPMI_CONTEXT_SWITCH, copy_context was forgotten at some places. (src/dosext/dpmi/dpmi.c) From Ingo Brueckl - bugfix for 'make install' not installing man/*dos*.1 From Michael an Reinhard Karcher - fixed bug for DPMI src/base/async/int.c, INT2f AX=1686 not correctly reporting CPU status. From Hans - fixes and enhancement for bootable hdimage generation - dexe/extract-dos can detect DOS types. - setup-hdimage makes use of DOS type detection. The following DOSes now can be made bootable for DOSEMU via setup-hdimage: PCDOS, NWDOS, MSDOS, WIN95, FreeDos - fixed extract-dos to take windows/command.com when WIN95 - new option for mkdexe: '-C comcom', here you can define an other command.com (e.g.4dos). - introduced 'write permissions' in DEXE files so that the DOS-app can (isolated) write to files within the DEXE, even if the file permissions don't allow that. This is a workaround for a general problem with DEXEs, look at ./doc/README.dexe for more details. For this, dexeconfig has a new option -p {w|W} - new config option for DEXE: xdosonly. When set it terminates dosemu, when no X available, else it forces xdos. - bug fix for 'forcexdos' - force a BootC unconditionally for DEXE - increased number of allowed disks to 16 (there was report of a user who had 11 disks ;-) - fixed a bug in the 'class' stuff (could not access within scope of /etc/dosemu.conf) - fixed parser not aborting, when parserror in -I or DEXE. - added (implicit) setting of configuration variable h_ This can be checked in /etc/dosemu.conf to restrict access for given diskless machines, that mount a dosemu containing FS. - added two new dosemu.conf statements: - abort which prints message to stderr and leaves dos. - warn which just prints a message into the logfiles using c_printf. - added the tiny 'ezedit' editor to src/commands/precompiled - Updating the docs _a lot_ ;-) - added doc/README.lredir - added man/mkfatimage16 - reworked Quickstart to reflect setup-hdimage, moved description of the old method to doc/README.oldboot - removed etc/BOGUS-Notes (was quite bogus;-) - added a src/tools/QuickStart.bindist, which will be used for making the binary distribution (see below) - e.t.c - reworked ./etc/config.dist again and added a bit more comments ;-) - we now have the following examples: ./etc/config.dist ./etc/dosemu.users.easy ./etc/dosemu.users.secure - config.dist is generic, i.e. it checks for config variables set in dosemu.user such as guest secure vbootfloppy - fixed a bug (report: Hans-Joachim Baader ) in src/base/init/parser.y, parsing dosemu.users crashed on empty lines. - Finally assembled a binary distribution. Put all stuff needed for that in to src/tools. In principal you just have to execute ./src/tools/mkbindist -m -s -d usr/doc and after this will have a complete tree in /tmp/dosemu- that only needs to be tar'ed. - changed Makefile.main.in such that you now can specify a directory into which the installation will be done (needed that for mkbindist). Example: 'make "INSTROOT=/tmp/dosemu-bin" install' - changed default-configure so that it accepts further ./configure options such as './default-configure --host=i386-unknown-linux' 97/05/10 ver. 0.67.2 released From Eric - Fixed a bug where shift number pad key only worked if _both_ left and right shifts were pressed (src/base/keyboard/n_serv_xlat.c) 97/05/10 ver. 0.67.1.3 unofficial pre-release From Alberto - isolate and undefine unused code: hlt and int_queue - missing flush_log() in src/emu.c 97/05/05 ver. 0.67.1.2 unofficial pre-release From Alberto - fix for inconsistent (EMU_)MAX_IO_DEVICES - Microsoft mouse protocol fixes. It was erroneously merged with the MouseMan 3-4 byte variable length protocol, while Microsoft has a 3-byte fixed protocol (A.Rubini confirmed). - some comments & small fixes (continued) 97/05/05 ver. 0.67.1.1 unofficial pre-release From Alberto - fixes for typos - some comments added - cleaned extra dependencies in makefile, removed pic include dir - very small bug fixes: - exception 16 feed to IRQ13, src/arch/linux/async/sigsegv.c - usleep for hogthreshold changed to INT28_IDLE_USECS - added INT10 AH=CC (for NC 5.0) in src/base/bios/int10.c -From Eric fixed trashing AL in src/base/bios/bios.S (INT09_dummy_start) 97/05/03 ver. 0.67.1 released From Steffen - cool new X-stuff: - X mode support (doom now displays right) - first simple 4plane mode (very slow) - 24/32 bpp possible - linear/bilinear interpolation for bpp >15 - resizing of graphics windows now possible - DAC-updates also in textmode possible - a lot of new config options (see ./doc/README.config) From Hans - made the new X-code a configure option (--enable-new-X), because Steffen apparently optimized it for 'games' ;-) (which indeed run faster), but the new stuff (atleast for win31) has performance problems with 'normal' graphics applications. ... still searching what's causing this trouble :-( - some small fixes and 'compatibility adjusts' to Steffens patch ;-) (the new X-code should now work atleast as stable as the old one) - INT10 now handles AX=1015 and AX=1017 (these missing ones broke Steffens new DAC-update in X-textmode) 97/05/03 ver. 0.67.0.3 unofficial pre-release From Doug Dougherty, Chicago, IL - cmdline DOS tool to feed in info from the commandline into the DOS-environement. (see src/command/README) From Eric - Enabled the speaker/timer code of the NEW_KBD_CODE in src/emu-i386/ports.c (inb) (outb) - Unconditionally remove the original copy of dos before relinking. in src/arch/linux/Makefile.main.in (dossubdirs) From Hans ( ... and some ideas from Alistair ;-) - new cool configuration stuff. Dosemu.conf can now parse conditionally and include files. - In dosemu.users variables can be set, which you later can test in dosemu.conf. For more see ./doc/README.config. - can define a variable also on the commandline (option -u). You then may check it in dosemu.conf and behave differently. - removed all comments in etc/config.dist and moved the information into ./doc/README.config. 97/05/02 ver. 0.67.0.2 unofficial pre-release From Alistair - fixes and enhancements to gnats/send-pr From Bart - fix for a multicasting bug in dosnet.c - warning in libpacket.c.multi, when insufficient privilege From Karl Kiniger - some more enter_priv* brackets within src/dosext/net/net/ipx.c and src/dosext/net/net/ipxglt.c From Uwe - some 'secure on' warning, and a errorcode return fix (DPMI) - (needed tools for developing win31 mouse.drv) some doshelper changes: - overall symbolic names now - new DOS_HELPER_DOSEMU_CHECK checks wether running under X - new DOS_HELPER_PRINT_STRING lets DOSapp print a string into our logfile. From Hans - first round to make a binary distribution (static). A complete tree gets generated via ./src/tools/mkbindist. We choose statically linked binaries, because of the many different libc versions floating around. Not all of them are down/upward compatible and some even aren't useable for dosemu. ( ... and surpise, the static binary runs a bit faster ) - new ./configure option: --enable-linkstatic 97/04/30 ver. 0.67.0.1 unofficial pre-release From Hans - further enhancements to DEXE stuff - hdimages containing DEXE get a magic "\x0eDEXE" - configuration is now (hidden from file access) put into cylinder 0 (behind the MBR) - dosemu now handles DEXE loading itself ( option -L) a 'dosexec' sym-linked dos sets -L option (like xdos does -X) - a DEXEs hdimage is always drive C, if not explicitle allowed via 'dexe { allowdisk }', no other disk will be available even if defined in /etc/dosemu.conf - Option -F is forbidden for DEXE, so the security settings in /etc/dosemu.conf can't be disabled. - 'secure on' can be forced in /etc/dosemu.conf for DEXE, even if 'off' otherwise. - 'dexe { forcexdos }' forces xdos, when DEXE is run on X. This can be included in DEXE-configurations, when the application requires graphics and would bomb on Slang otherwise. - New tool: src/tools/periph/dexeconfig, which inserts/extracts the configuration file from a DEXE - updated dexe/mkdexe to reflect the changes 97/04/20 ver. 0.67.0 released From Hans - Opening the new development phase - no further changes except the version number increase 97/04/20 ver. 0.66.3 released From Hans - new hdimage generation stuff, need mtools-3.6: ./setup-hdimage makes a bootable hdimage from the DOS the user has already installed under native DOS I tried this with the following OSes: FreeDos, MSDOS-6.2, WINDOWS'95. Other DOSes should also work, when the names of the system files are given on prompt. (Next step will be to automatically transform the config.sys and autoexec.bat ;-) ./dexe/mkdexe generates a direct executable DOS-app (hdimage containing just one app). The extension is *.dexe ./dexe/dosexec executes a *.dexe ./dexe/do_mtools symplifies the access to a hdimage ./dexe/extract-dos takes the bootsector and the system files out of a dos partition or a hdimage All this stuff is described in ./doc/README.dexe and the Quickstart. 97/04/17 ver. 0.66.2.2 unofficial pre-release From Alberto - fix for INT8 rescheduled to fast in DPMI From Hans - new dosdebug commands: 'log' and 'dump' With 'log' you can change/display the debug-logging flags such as 'log +M-k' on the fly within dosdebug. With 'dump' you may write any piece of allowed dosemu mem to a file, such as 'dump cs:100 1234 /dosc/xxx.com' (wishes from Grant R. Guenther, the great parallel ZIP hacker ;-) 97/04/16 ver. 0.66.2.1 unofficial pre-release From Hans - 'keystroke' feature now also available for new-kbd From Alberto - fix for src/base/misc/priv.c (forgotten return) 97/04/12 ver. 0.66.2 released From Alberto - minimal patch needed to fix the mode-0 timer bug for MONOTON_MICRO_TIMING From Hans - added direct bootable 'tiny' FreeDos etc/hdimage.test. This can be started via ./first-test. For more have a look at ./Quickstart and ./contrib/dosC/readme.dosemu. - Added option -b to src/tools/periph/mkfatimage16.c in order to allow inserting the FreeDos bootsector. - fixed a remaining security hole: 'secure' was off by default and when a user uses -F it was left 'off' :-( - udapted docs. 97/04/09 ver. 0.66.1.5 unofficial pre-release From Hans - added 'keystroke' feature, you may now feed DOSEMU with key strokes, that are automagically typed in as if from the keyboard. dos -D-a -I 'keystroke "\F8;\p200;6" Will press F8, then wait 2 seconds, then type 6. For more details see etc/config.dist and doc//README.batch From Marty - use gawk instead of awk in setup stuff, else 'next' isn't supported. ( gnats report misc/13 ) 97/04/04 ver. 0.66.1.4 unofficial pre-release From Hans - complete rework of the privs stuff, now we _really_ can run as user, and this is now the default! (note: run as user means that dosemu mostly has user privs) For more details see ./doc/README.runasuser and src/base/misc/README.privs - updated the docs concernig 'run as user' and new privs stuff - Fixed some warnings in lexer.l and parser.y 97/04/04 ver. 0.66.1.3 unofficial pre-release From Alberto - (hopefully) final fix for >2G over mfs. From Marty - search for slang.h in /usr/local/include From Hans - fixed gnats report memory/10 (rep. by David E. Kingsley ) set XMS_DRIVER_VERSION to 0x0301 97/04/04 ver. 0.66.1.2 unofficial pre-release From Uwe - cleaned up keyb_layout presetting in src/base/init/parser.y - defaulting to KEYB_US now, when under X and _no_ X_keycode From Marky (hi;-) - changed his non-working mail addresses 97/04/04 ver. 0.66.1.1 unofficial pre-release From Hans - added a DOSEMU-special MBR to hdimage. This is the world premiere of MBR running in 32-bit protected mode;-) ( no need to use 'fdisk /MBR' any more ) 97/03/28 ver. 0.66.1 released From Hans - added a new commandline option: -I Wow, is that powerfull!! ;-) It makes a lot of people happy that complained about inflexible configuration (for a more detailed description read man/dos.1). It makes the following (and much more) possible: dos ... -I 'video { mda }' dos ... -I "`cat my_other_dosemu.conf`" dos ... -I "`my_special_config_script.sh`" hmm... waiting for people reporting it has security issues ;-) (but you before report them: -I runs under the same secure level as .dosrc) - fixed a security hole: user could disable 'secure on' :-( - updated the docs From Alistair - fixed gnats report misc/9 (rep. by mharris@blackwidow.saultc.on.ca) (error while running setup-dosemu) 97/03/27 ver. 0.66.0.4 unofficial pre-release From Alistair - made sound a disable option in /etc/dosemu.conf ('sound_emu off') (else it may clobber an IRQ, if configured but not used) From Philip.Blundell@pobox.com - some compile fixes for glibc 97/03/27 ver. 0.66.0.3 unofficial pre-release From Bart Hartgers - Made dosnet.c running under 2.0.x kernel (was broken) From Hans - again fixes to ./configure & slang.h :( 97/03/26 ver. 0.66.0.2 unofficial pre-release From Soos Peter - added support for hungarian keyboard From Hans - fixed gnats report misc/8 (rep. by Ambrose Li) In configure, if 'no X' the XINCLUDES was preset with a comment (what joker invented that?) such as "# no special path needed". This made the following -I...slang.h invisible in INCDIR. 97/03/26 ver. 0.66.0.1 unofficial pre-release From Hans Zoebelein - fix for error printout, when reading a write protected floppy. From Steffen - fix typo in priv_drop() From Andries.Brouwer@cwi.nl - fix for ./configure to detect slang.h correctly - making rm -f `find ...` not complaining, when nothing found - small 'warning avoid' in src/emu-i386/portss.c From Hans - fix for gnats report misc/4 When no XINCLUDES is set, it left a stale '-I' - fix wrong gcc check in ./configure (reported by Jeff Epler) checking now for $GCC=yes 97/03/21 ver. 0.66.0 released From Hans - fix to ./configure, -without-x gots messed up in 0.65.99.23 - Docs update -------- 97/03/20 ver. 0.65.99.26 unofficial pre-release From Alistair - DANG cleanup, added DANG-compiler - recompiled DANG.sgml --> DANG.txt (-- Hans) 97/03/20 ver. 0.65.99.25 unofficial pre-release From Alistair & Rutger - For 0.66 we have updated many areas and re-organised others to make it easier to maintain. Many thanks to David Brauman for finding so many bugs - new sound stuff. 'midid' reworked, goes into directory src/arch/linux/dosext/sound/midid Compile it with 'make midid' - Added in support for the handler to reject the completion. 97/03/19 ver. 0.65.99.24 unofficial pre-release From Alberto - fix for 'partitions >500M' part 2 (wrong sector rounding) - Fixes and correcter calculations for config.freq, which can be set in dosemu.conf to adjust what dosemu takes for a second. (units in DOS timer clocks, 18 make one second). TIMER_DIVISOR is the constant (6) to make one Unix-tick (at 100Hz) out of the DOS-ticker. 97/03/17 ver. 0.65.99.23 unofficial pre-release From Hans - new targets in main Makfile: docs, docsinstall, docsclean From Pavel Kankovsky - fixes for X-detection From Steffen (realized by Hans;) - emulate a down counting 'diskette motor timeout' old games seem to rely on that. From Alberto: - small mouse fix (320x200) - discovered that int2f,ax=110c fails for partitions >500M, because it can't set cluster size>8. Here is my fix, which should also avoid overflows on >2G disks. 97/03/16 ver. 0.65.99.22 unofficial pre-release From Hans - docs move around: all doc source go into src/doc/DANG, src/doc/HOWTO made Makfiles to generate 'nice' docs. You have to 'cd src/doc' then do 'make' To install the *.txt into ./doc type 'make install' NOTE: the patch to this release is a patch-*.tgz, what means, you have have to un-tar it into the ./dosmemu directory and then type 'sh tmp/do_patch'. This will _first_ move the files, and then apply the patch. 97/03/15 ver. 0.65.99.21 unofficial pre-release From Uwe - take version date out of ./Changelog From Alberto - 'make pristine' removes 'gen.log' From Alstair and Rutger - new sound stuff 97/03/14 ver. 0.65.99.20 unofficial pre-release === CLEANUP-Release === From Hans - first round 'JES --> Hans' doc changes - new README.batch - preparation for 0.66 (version changes in docs) - check DPR a bit, but the rest is to Alistair ;-) - removed all RCS headers (not using any more) - well, and found that compiling without VM86PLUS was broken, fixed it in parser.y From Alberto - lots of typos fixed (collected cleanups) - some more debug prints in pic.c 97/03/14 ver. 0.65.99.19 unofficial pre-release From Alberto - 1st arg of log_printf becomes 'int' - (some) fix for the inte6 problem (80x50) - missing HLT_OFF in DPMI 'free realmode call back address' (0x0304) - Without this CDs can't be changed: force media_changed, when ejecting (src/dosext/drivers/cdrom.c), _realy_ do CDROMRESET in cdrom_reset() 97/03/12 ver. 0.65.99.18 unofficial pre-release From Alistair - Further gnats enhancements From Hans - Because 'midi' always was created in the default directory (which also is the name of the 'midi' executable ;-) ), I renamed the 'midi' file to /var/run/dosemu-midi, removed the 'create' on open and checked for 'is open' when writeing to it. Updated README.sound accordingly. From Uwe - second try (;-) to make compiling on NFS mounted directory possible 97/03/11 ver. 0.65.99.17 unofficial pre-release From Alberto - deleted 'rm modules' in src/arch/linux/Makefile.main.in (obsolete) - fixed 'regs' parsing in dosdebugger. - banner now prints correct time - fixed relocation of INT42 (must be a copy of INT10) - call setmode() of video driver only if pointer valid (int10.c) - disable -Y -Z, when X not configured. - some 'close mouse' fixes - temp fix to dpmi.c int31 just to avoid hard reboots - fix for auto-mitshm-disable stuff in X.c - corrected wrong (port,value) parameters in s3.c - do not debug while VC is not active (in src/env/video/vc.c) - removed some stale files - avoid pktdrvr.h to be multiple included From Hans - removed stale references to emusys.h - elaborated the description of the 'ttylocks {}' option in etc/config.dist. 97/03/08 ver. 0.65.99.16 unofficial pre-release From Steffen - Added code to turn off MIT-SHM for network connections. From Uwe - small additional debug out for DPMI 97/03/07 ver. 0.65.99.15 unofficial pre-release From Alberto - cleanup for CFLAGS in configure(.in) - corrections in etc/config.dist - missing exception 16 handling in src/arch/linux/async/sigsegv.c - various fixes in src/base/async/int.c, temp fix for Ctrl-C bug in Djgpp (int 23 revectored and caputered). - changed 0/1 to REVECT/NO_REVECT - cleanup of usage message in src/base/init/config.c and fix wrong cardtype number - fixes to buffered debug out (log_printf). - mouse fix (serial/int14.c) - fixed 'hlt' optimization in run_dpmi() - cleaned up 'case 1..2:' to 'case 1: case 2:' in various places - in_dos_21 warnings fixed - some mfs fixes. From Thomas Winder - struct sigaction fixes for glibc-2 in src/arch/linux/async/signal.c From Hans - fix for default-configure - made 'irqpassing' a synonym for 'sillyint', because users apparently get confused. Also adapted config.dist 97/03/07 ver. 0.65.99.14 unofficial pre-release From Alberto - Fix for the mouse garrot helper: using INT28_IDLE_USECS - fix for non compileing new kbd (unintentionally reverse patch at state of 0.65.99.4 in conjunction with priv_* cleanup) - remove src/dosext/dpmi/kernel.diffs (obsolete) - remove src/Configure (broken, obsoleted by Alistairs stuff) - added rebuild script From Hans - added ./set-permissions, which sets all exec-bits for all scripts (so when upgrading per patch, this scripts gets it right) - added ./default-configure, this script should be used instead of ./configure, because it interpretes the compiletime-settings which can be changed by Alistairs setup-dosemu stuff. - changed setup/compiletime_setup.sh so it uses ./default-configure to interprete the various menu variables (have now only one place to take care of it;-) 97/03/07 ver. 0.65.99.13 unofficial pre-release From Alistair - fixes for setup & gnats (Yeah, now it works fine; and Alistair has time for his sound ;-) From Hans - send-pr gets dosemu-version out of ./configure.in - stole lxdialog, named it 'demudialog' and adapted setup gnats to use that. (normal dialog shows a strange handling, when used for Alistairs stuff) I hope Alistair will enhance 'demudialog' to fit our needs again better ;-) 97/02/29 ver. 0.65.99.12 unofficial pre-release From Alistair - setup stuff from 0.65 - gnats stuff from 0.65 From Uwe - New dosemu-HOWTO.*, EMUfailure.txt (deleted EMUsuccess.txt) 97/02/29 ver. 0.65.99.11 unofficial pre-release From Alberto - Fixes for 'unix.com' - little PIC fix: maybe it is better not to blindly decrement timer values if they are set to NEVER. 97/02/28 ver. 0.65.99.10 unofficial pre-release From Alberto - Use a big buffer for debug messages, this doesn't slow down dosemu, when debugging. From Hans - Made the above 'big buffer' an item in /etc/dosemu.conf: 'logbufsize ', default is _no_ buffering. - Fixed ./configure.in, so it now doesn't use -fomit-frame-pointer when configured for debugging. 97/02/27 ver. 0.65.99.9 unofficial pre-release From Adrian Sun - Make dosemu compile under glibc 2.0.1 - Small IPX bug fix: have the initfile.c functions return on a failed open. Workaround for missing IPX_TYPE = 1 in glibc headers. - convert a missed SignalHander -> __sighandler_t 97/02/27 ver. 0.65.99.8 unofficial pre-release From Uwe: - base/misc/disks.c, include/disks.h, tools/periph/hdinfo.c Use llseek on Linux to allow access on Files greater 2.1 GBytes - made 'make install' on NFS mounted FS possible (compiling as user, installing as root) 97/02/27 ver. 0.65.99.7 unofficial pre-release From Alberto - Fix for debugger, recent 'nm' has 16 hexdigits for addesses From Hans - made the path of dosemu.map defineable in /etc/dosemu.conf: 'dosemumap ' 97/02/25 ver. 0.65.99.6 unofficial pre-release From Alberto & Hans - workaround for bug in kernel vm86plus that Alberto found (fixing kernel patch did reach Linus already;-) We will remove the workaround when time goes by - added runtime kernel version check ( currently only used by the above workaround) 97/02/23 ver. 0.65.99.5 unofficial pre-release From Alistair & Rutger - Updated SB DSP code and fixed some bugs in detection - Alistair - Re-hacked ports.c so the DMA code works again. GRRRRR - Alistair - Added first pass at MPU-401 code - Rutger 97/02/22 ver. 0.65.99.4 unofficial pre-release From Eric Biederman - priv_on/off/default cleanup 97/02/21 ver. 0.65.99.3 unofficial pre-release From Alberto - Support for CIRRUS chipsets (some code comon with S3: v_8514) From Hans - fixed typos (mine) for ATI: in Makefile.in and lexer.l 97/02/20 ver. 0.65.99.2 unofficial pre-release From Josef Pavlik - Added ATI support (untested --Hans) This patch is for VGA ATI Mach 64 (probably will work with Mach8 and Mach32 too). Set "video { vga console graphics chipset ati }" in dosemu.conf. Resolves problem with ioports >0x3ff and saves registers which contains clock speed. Without this patch dosemu changes clock speed of VGA. 97/02/20 ver. 0.65.99.1 unofficial pre-release From Alberto - Fix PIC bug (replacment for old ALBERTO_KLUDGE) From Hans - fixed a small typo (yes, it was mine), ( did use close(f) instead of fclose(f) :(( ) 97/02/17 ver. 0.65.99 unofficial pre-release, first round targeting 0.66, 0.67 From Hans - Collected the keyboard patches from 0.63.1.56 .. 0.63.1.98 ( from Rainer Zimmermann ) and adapted them on top of 0.64.4. Fixed some bugs (which very likely also bothered 0.65.0), added the recent Slang and codetable changes, restored the original filenames for the old files (patch now readable), and got it finaly working. The old keyboard stuff remains active per default. The new stuff (--enable-new-kbd) also runs fine (atleast on the 3 machines I have tested), except that ESC on Slangkeyboard has to be typed twiced (result of 'dead keys for accents' ?). -------------- 97/02/04 ver. 0.64.4 released From Hans - Adapted Steffen Winterfeld's (graphics) true color patch from 0.63.1.98 (not his newest from .65) to 0.64.x. The code now looks a bit kludgy, because it was written for .98, but works great. Scaling (x2) is set for 320x200, so you may miss the 'mini window' ;-) also win31 is happy. - Added optimized XModeRemap functions for 15/16 bit true color. - Upgraded to Slang0.99-38 and fix the odd situation when the system supplied libslang was included, but the headerfiles were taken from dosemu (showing the wrong slang version). Now it uses _completely_ the dosemu or the system supplied files. There is a new ./configure option to force use of the dosemu supplied slanglib: --enable-force-slang BTW: slang.h is now in src/include/slang/* - Removed and disabled use of a.out (deleted slang-a.out-lib) for arch-linux. - fixed compile warning keyboard-client.c. and changed some 'error()' to 'v_printf()' in int10.c - made the 'unexpected CPU exception 0x06' error show the correct registers. - Fixed the wrong prefix handling in dpmi.c (dpmi_fault), Thanks to Alberto who pointed this out. - Added 'secure' option in /etc/dosemu.conf, which disables generation of 'whole userspace' descriptors. A DPMI client otherwise can modify (a suid root running) dosemu, such that it may execute arbitrary commands. This option also disables the use of the 'unix' and 'system' commands (dos-helper functions 0x50...0x53). From John Davis - Slang needs -lm with newer libc. - If the function and arrow key definitions are in the terminfo library, it will use those - Lower the TIMEOUT value for the ESC character from 3/4 of a second to 1/4 of a seconds. From Andreas Arens - New support for Avance Logic VGA cards, needs this in dosemu.conf: video { vga console graphics chipset avance } From Alberto - Patch for makeing debug print checks faster (ifprintf -> log_printf) - Makefile.main patch to fix odds in newer binutils. 97/01/22 ver. 0.64.3.1 released From Hans (final fixes) - Removed rest of 'history' in include/vm86plus - reinstalled include/linux/vm86.h (to avoid compile errors when using libc < 5.4.7) - corrected VM86P* typo - fixed wrong message on 'make install' - made Bernd's timer patch a configure option, because apparently some games don't like it. (--enable-monoton-timing) 97/01/19 ver. 0.64.3 released From Hans - removed emumodule (don't need it any more;-) - cleaned up kernel dependencies - adapted ./configure and Makefiles - Made mouse functionable for win31-in-xdos (hiding X-cursor, calibrating win31 cursor) - little fix for xtermdos - Updated the docs From JES - basic mouse functionality for win31-in-xdos From Herbert Xu - additions to man/dos.1, man/xtermdos.1 96/12/30 ver. 0.64.2.2 released From Erik Mouw - sequencer emulator for VGAemu (compatible with Trident 8900) This lets WIN31 run in xdos :-), ... but without mouse :-( 96/12/30 ver. 0.64.2.1 released From Hans - Finaly got expand-down-fake in DPMI work, so older DJGPP work again. ( and maybe some games too ) - Additional checks in ./configure for debian inconsistencies, Forcing to ELF, if no GCC specs file available. - ... and this time did not forget to increase the version ;-) From Erik Mow - Additional checks in ./configure for bison installed From Grant R. Guenther ( hey, Grant is the man who hacked the ZIP and other drives using dosemu, so he then could write the Linux drivers ;-) - "T" debug flag and LOG_IO macro From Bernd Paysan - fixed the keycodes for AccelX - fix for micro timing problems, timer now strictly monotonous ( Bernd's fix _really_ works great, Hans:-) 96/12/07 ver. 0.64.2 released From Hans: - vm86plus (2nd version) now is in the kernels >= 2.1.15 ( it took long, but we finaly succeeded, thanks Linus :-) - small adaptation and cleanup (docs, configure) - minor fixes for clean compile under various compile options - key-board fix for french keyboards (from Alain Knaff) 96/12/07 ver. 0.64.2-pre5 (privat release for JES only) From Hans: - vm86plus (emumodule), third round ( Linus requested to put our stuff into a separate syscall ) kernel patches now for 2.0.27, 2.1.14 - small fix for -F bug. - DPMI: tried to work around illegitime expand-down segments 96/11/15 ver. 0.64.1 From Hans: - vm86plus (emumodule), second round kernel patches 2.0.25, 2.1.8 (fits also in 2.1.10) see doc/README.kernel - REQUIRES_EMUMODULE has become REQUIRES_VM86PLUS and now is independed from emumodule (can also be supported by kernel patch) - new ./configure options: --enable-kernelvm86plus, --enable-novm86plus deleted ./configure options: --enable-noemumod - insmod-2.1.8-HACKER_TOOL - 'dos -F myconfig' checked under priv_off() (closing security hole) From JES: - kill_time (select replacement) for int15