kristofer sweger Home
ANSIPLUS Home


Release 4 Change History

This page lists in reverse chronological order the improvements and bug fixes that have gone into the Release 4 ANSIPLUS drivers and utilities since ANSIPLUS 3.10 was released on 4/06/94. Earlier changes for Release 3 and Release 2 may be found on their respective pages.

Release 4.07
  5/07/19
Version 4.07 Freeware version release.
  2/24/10
When not running directly under Windows or other multitasking systems, the driver now attempts to recognize its host virtual environment. Windows, VMware, DOSEMU, DOSBOX, VirtualBox, VirtualPC, QEMU and Bochs are all (hopefully) detected. The new Int 2Fh AX=1AA3h, BH=08h call has been added to report the VM environment, DOS type, DOS version and Windows version running when ANSIPLUS was initialized.
  6/30/09
ANSIPLUS tries to copy to and paste from the VMware clipboard. Under Windows NT/2000/XP, the system clipboard can now be used if NTOLDAPP is also running.
  6/25/09
Added a HLT instruction to yield CPU under MS-DOS and FreeDOS key test loops, which hopefully should reduce CPU usage when running in some virtual machine environments. The driver also now hooks Int 28h DOS Idle calls to yield the CPU for the same reason.
  6/24/09
Recognize FreeDOS on driver initialization.

 
Release 4.06
 3/02/07
Version 4.06 Freeware version release.
 9/11/05 Bypass init VESA video check BIOS call to allow windowed startup under Windows XP and other NT related systems.

 
Release 4.05
 9/21/98
Version 4.05 release.
 9/21/98 Bug fix: ANSIPLUS's Int 21h hook in Windows 95 DOS boxes appears to interfere with Novell Netware Client32 logon and drive mapping from the DOS command line. Removing the ANSIPLUS Int 21h hook eliminated  the problem.
12/01/97 When a subscreen region is in use, certain programs, such as pcAnywhere remote control, will put data at the wrong place on the remote screen. This is because ANSIPLUS, trying to maximize compatibility with well-behaved BIOS-calling programs, normally sets the BIOS variables for screen size to the dimensions of the subscreen region. A feature has now been added to lock the true screen size into the BIOS variables.
 9/22/97 Install/NEWAPLUS can now recognize and modify Windows NT CONFIG.nt and AUTOEXEC.nt DOS configuration files.
 8/15/97 Bug fix: Scroll Lock was turned on and off by the Ctrl+Break key combination.
 6/06/96 Reverse video ( Esc [7m ) is now canceled the next time that foreground or background colors are set with Esc [m.  Repeated Esc [7m requests also no longer alternate between normal and reversed colors.
 5/09/96 Bug fix: Scrolling of subscreen regions in a window under Windows 95 or 3.1 did not scroll the correct region of the screen, at least using some video drivers.  This was because Windows completely traps Int 10h BIOS scrolling calls without passing them through to the virtual DOS machine making the call.  ANSIPLUS now scrolls subscreen regions under windows with simulated Int 10h calls to the ANSIPLUS Int 10h entry point, so normal DOS output and ANSI escape sequences will work correctly.  However, application programs or command shells that make their own Int 10h calls to scroll the screen will still not scroll correctly when run in a subscreen region within a window.
12/09/95 Bug fix: Keystack "0" or "/W0" command parameters to insert short key delays did not work for Releases 4.02-4.04 because the Int 2Fh AX=D44Fh calls for these special cases were not handled properly by the driver.  This caused key scan code values to be added to the short delay time, resulting in delays of over seven minutes.
11/24/95 For some applications (eg., programs converted from mini-computers to the personal computer), it is desirable to ignore the ASCII NUL character (decimal code 0) when it is output to the console.  A new configurable feature has been added to permit this.

 
Release 4.04
11/21/95 Version 4.04 released.
11/21/95 Bug fix: ANSIPLUS INSTALL failed to copy all ANSIPLUS files if Windows was not previously installed on the system, or if the Windows directory had a name other than C:\WINDOWS and it was not on the system PATH defined in CONFIG.sys or AUTOEXEC.bat.

 
Release 4.03
11/02/95 Version 4.03 released.
10/24/95 The INSTALL program can now modify the Windows startup file SYSTEM.ini to load the VWFD.386 VxD, which is used by ANSIPLUS to detect full screen vs. windowed operation.
10/15/95 When both scroll-back and scroll freeze are disabled, the driver no longer beeps each time the Scroll Lock key is struck.
10/03/95 ANSIPLUS now supports sticky shift keys for one handed or mouth stick typists.  When this feature is enabled, if the user strikes a Shift, Ctrl or Alt key once, it will remain "on" until the next normal key is struck, and then will be reset.  If one of these shift keys is pressed twice, it will be locked on for all subsequent keystrokes until hit a third time to turn it off.
 9/14/95 Bug fix: Copy to and paste from the Windows clipboard failed under networked copies of Windows 95, apparently because that system does not allow hooking of the Int 28h DOS Idle interrupt inside a DOS session, and it no longer provides a TimerCriticalSection line in SYSTEM.ini (see 3/03/95 bug fix).  ANSIPLUS now also hooks Int 21h DOS calls to perform clipboard transfers under Windows 95.
 6/12/95 Bug fix: Repeated keys did not work for pop-up TSR programs that depend entirely on Int 09h for key input if ANSIPLUS was controlling the key repeat rate.
 5/19/95 Like the MS-DOS ANSI.sys driver, ANSIPLUS now supports the "/K" command tail switch when the driver is installed.  This option disables the driver's recognition of enhanced (101-key) keyboards, and forces it to assume that an 84-key keyboard is in use.
 5/11/95 Bug fix: When running some debuggers (eg., Borland TD), ANSIPLUS could fail to detect that the debugger was using the mouse.  To correct this, now Scroll Lock must be on before ANSIPLUS will take over the mouse when a debugger is running.
 4/10/95 Bug fix: Smooth scrolling in 132 column text modes destroyed the beep tone and color palette tables stored in the driver.
 3/17/95 Bug fix: Esc [!d with a zero or no parameters got stuck in its loop to install the default feature settings, crashing the driver.

 
Release 4.02
 3/15/95 Version 4.02 released.
 3/03/95 Bug fix: Copy to and paste from the Windows clipboard, which depend on ANSIPLUS's Int 28h DOS Idle and Int 1Ch User Timer Tick code for clipboard transfers, would fail for a couple of complicated reasons:
  • Under some network systems (eg., Netware), the ANSIPLUS Int 1Ch code in each DOS session is not executed correctly because a "TimerCriticalSection=" line is in SYSTEM.ini.  This completely disables key paste to DOS applications that use Int 16h instead of standard DOS key input, since such applications never call Int 28h and therefore rely entirely on the Int 1Ch hook for copy/paste. Removing the TimerCriticalSection line from SYSTEM.ini may fix the problem, but this should be carefully tested to be sure that  network problems are not introduced.
  • Windows appears to switch to the system virtual machine when executing the Int 28h chain installed before Windows started, so the Int 28h copy/paste code was not being executed for the requesting DOS session.  The driver now adds special Int 28h and Int 1Ch hooks in each virtual DOS machine for clipboard transfers.
  •  3/02/95 Bug workaround: Programs based on Microsoft QBASIC, such as the MS-DOS EDIT.com editor, take over the keyboard interrupts in a manner that is incompatible with previously installed TSRs and drivers like ANSIPLUS that trap or generate keystrokes.  ANSIPLUS now detects when QBASIC programs are running, and automatically disables its Scroll Lock and scroll-back functions, fast key repeat rates, and mouse copy/paste.
     2/24/95 Apparently, some video controllers cannot properly handle 32-bit block moves for text scrolling.  Therefore, a new configurable feature has been added (disabled by default) to allow the faster 32-bit block moves for text scrolling when the user determines they can be used.
     2/16/95 Bug fix: 286 systems using ANSIPLUS 4.01 would lock up when trying to scroll the screen because the test for a 286 vs. 386 CPU was failing, and the driver tried to use 32-bit block moves for screen scrolling.
     2/15/95 The smooth scrolling rate can now be configured by SETAPLUS or NEWAPLUS to any rate from 1 to 8 scan lines per vertical retrace.
     2/14/95 The Esc [!t escape sequence now supports selecting any text height from 8 to 16 scan lines in VGA/EGA text and 16 color graphics modes. On a standard VGA, for example, this allows 80 column text with 25, 26, 28, 30, 33, 36, 40, 44 or 50 lines.
     1/29/95 Video controller bug workaround: During the Int 10h/AH=11h Load Character Generator BIOS function, the Diamond Stealth 64 sets the BIOS Regen Buffer Size variable at 40h:4Ch to a value that is about 256 bytes too large, reducing the number of display pages available. Other video controllers may have similar problems.  As a workaround, the ANSIPLUS driver will now correct the word at 40h:4Ch if it is incorrect for the number of characters on the screen.
     1/24/95
    Bug fix: The ANSIPLUS driver now monitors Int 33h/AX=0004h, Set Mouse Cursor Position, to prevent a conflict between ANSIPLUS's Scroll Lock functions and programs that set the mouse cursor location repeatedly while testing for mouse movement (eg., LIST.com).

     
    Release 4.01
     1/04/95 Version 4.01 released.
     1/04/95 Key repeat rates faster than 32 characters per second are now allowed for DOS sessions under Windows.
    12/22/94 The screen saver will now issue VESA power management BIOS extension calls to reduce monitor power consumption.  The monitor is placed in standby mode after the screen has been blank for 5 minutes, suspend mode after 10 minutes, and turned off after 15 minutes.  This feature is disabled by default, but can be enabled by NEWAPLUS or SETAPLUS.
    12/11/94 Three mouse related bug fixes/improvements:
  • Whenever Scroll Lock is on, Int 33h mouse queries made by applications now all report no mouse movement or button clicks. This keeps the application from taking any mouse-based actions until Scroll Lock has been released.  (However, applications that use a mouse exit routine to detect mouse clicks will still try to respond to the first click when Scroll Lock is on.  Thereafter, ANSIPLUS will control the mouse.)
  • When the screen is first scrolled back, if the application's mouse cursor was visible, it will now be hidden until Scroll Lock is released.  This prevents a "mouse dropping" from being left if the mouse is then used for copy/paste by ANSIPLUS while the screen is scrolled back.
  • When ANSIPLUS has been using the mouse, all button press and movement data are now cleared before the mouse is released back to the application.  This keeps the application from responding to clicks or motion that occurred while ANSIPLUS controlled the mouse.
    12/06/94 Dragging the right mouse button can now be used to select text bounded by a rectangular area (for example, in a column) for copying to the clipboard.  The Tab key will also now toggle text selections between line and rectangular area views.
    12/03/94 Bug fix: Because of an incorrectly assembled instruction, the ANSIPLUS test for A20 enabled was not working.  This caused the driver to crash if ANSIPLUS code was loaded to the HMA on a system without DOS=HIGH.
    12/03/94 Bug fix: When using a monochrome, CGA or Hercules video controller with less than 32K of directly addressable RAM, ANSIPLUS was assuming that 32K of video RAM could be used for scroll-back storage if no EMS memory was available.  The driver now determines the actual amount of video memory available.
    10/20/94 4DOS 5.5 now supports color numbers on its internal COLOR command for selecting colors.  The ANSIPLUS SETCOLOR.exe utility program has also supported color selection by number for over two years, but in a different numerical order.  The new SETCOLOR "/4DOS" command tail option should be added for compatibility to use 4DOS's color ordering when SETCOLOR is defined as an alias for the 4DOS COLOR command.
    10/20/94 Bug fix: With Scroll Lock on and ANSIPLUS controlling the mouse, the ANSIPLUS Int 33h routine was returning the incorrect button status information to the running program in register AL for Int 33h functions 0005h and 0006h (get button press/release information). This could cause some programs to incorrectly conclude that a mouse button was being pressed when ANSIPLUS took over the mouse.
    10/08/94 Video controller bug workaround: It has been reported that the ATI VGA Wonder fails to set the BIOS Regen Buffer Size variable at 40h:4Ch correctly in at least one extended text mode (5Bh), causing problems when ANSIPLUS clears the screen or addresses video pages.  Other video controllers may have similar problems.  As a workaround, when a text mode is selected, the ANSIPLUS driver will now correct the word at 40h:4Ch if it is too small for all the rows and columns on the screen. 10/07/94 Bug fix: Esc [u would not restore the cursor position repeatedly once the ANSIPLUS 4.00 video context stack was empty.  This caused an incompatibility between ANSIPLUS and ANSI.sys Esc [s and Esc [u.
     9/29/94 Bug fix: SETAPLUS could not disable the "Prevent ANSI key reassignment redefinition" feature from the command line.
     9/28/94 Some "point-of-sale" keyboards include special "00" or "000" keys for entry of multiple zeros, but generate the zeros without simulating the lifting of the key between the characters.  Because ANSIPLUS will normally suppress repeated digits, the multiple-zero keys on these keyboards will enter only a single zero.  A configurable feature is now provided to allow repeated zeros when using such keyboards.
     9/28/94 Bug fix: The Russian keyboard uses character 0E0h for the lower case "er" character.  ANSIPLUS's DOS key input was incorrectly interpreting this key code as an Enhanced Keyboard key leadin, and suppressing it.
     9/08/94 Bug fix: As a result of changes for Release 4.00, the driver assumed that the VGA/EGA BIOS variable at 40h:84h always contained the number of screen lines.  This caused all output to be confined to the top screen line for the older MDA, CGA and Hercules video controllers.
     9/07/94 Bug fix: A Windows General Protection fault could occur when starting to scroll backwards if EMM386 was used with the NOEMS option, and if video RAM storage of scroll-back under Windows was also disabled.
     9/07/94 Bug fix: Keystack "/W" commands to insert time delays did not work correctly because key scan codes were being added to short delay times (up to 127 timer ticks), greatly increasing the delay.
     9/05/94 Bug fix: Mouse middle button functions in the 4DOS popup history window did not work as documented.
     9/05/94 The scroll-back bookmark at the current scrolled-back location can now be removed by hitting the Gray Minus key.
     9/03/94 Bug fix: In 132 column text modes only, lines with runs of more than 127 identical (eg., blank) characters were compressed to scroll-back incorrectly, causing garbage to appear in the rightmost 5 columns of those lines when the screen was scrolled back.

     
    Release 4.00
     8/29/94 Version 4.00 released.
     8/24/94 The feature to preserve scroll-back data in XMS or HMA memory is now rarely needed because scroll-back generally resides in EMS memory. Because of this, if this feature is disabled at system bootup, the code to perform its function will now be deleted from the driver (saving 650 bytes), and the feature will be non-operational.
     8/20/94 The ANSIPLUS screen saver can now blank the screen under Windows when running in a full screen 386 Enhanced Mode DOS session.  This feature requires installation of the VWFD.386 Windows VxD, which is supplied  with ANSIPLUS.  If VWFD.386 is not installed, the screen saver will be disabled under Windows.
     8/19/94 The ANSIPLUS driver now detects when VESA standard display modes are active and uses the VESA mode number in its analysis of text and graphic modes.
     8/16/94 When viewing scroll-back, the user can now set up to 6 "bookmarks" by using the Gray Plus key.  The marked page(s) can later be displayed instantly by hitting Gray Enter when Scroll Lock is on.
     8/16/94 The driver can now emulate the VT100 graphics character set, which is selected by the VT100 Esc (0 and Esc )0 escape sequences and is used by the VT100 to draw boxes around text on the screen.
     8/03/94 The INSTALL/NEWAPLUS program can now convert a Shareware ANSIPLUS.sys driver into a Registered ANSIPLUS.exe driver when installing to a disk that already contains a registered copy of ANSIPLUS.
     7/30/94 A second hot key combination now can be used to blank the screen immediately: Alt+Shift+Num Lock.
     7/28/94 A reduced-size version of the ANSIPLUS driver is now available.  This driver deletes five features, saving about 35 percent of the installed driver's size: scroll-back, copy/paste, direct video RAM output in graphics modes, graphics mode text treatments, and emulation of  monochrome VGA on a color VGA.
     7/20/94 ANSIPLUS is now compatible with OS/2 2.x.  The driver can be loaded either by the DEVICE= command in CONFIG.sys or (for ANSIPLUS.exe) as a DOS TSR.  If loaded by the OS/2 CONFIG.sys file, the registered driver signon message will be suppressed when each new virtual DOS machine is started.  The unregistered Shareware driver will display the ANSIPLUS signon (with the 9 second delay) about one percent of the time.
     7/18/94 Bug fix: INSTALL/NEWAPLUS would search the current directory for ANSIPLUS files if the PATH in AUTOEXEC.bat ended with a semi-colon or contained consecutive semi-colons.  The installation would then fail because the target and source directories for files were the same.
     7/12/94 The mouse can now be used for text selection and keyboard paste operations.  These functions are available whenever Scroll Lock is on or when the currently running program or command shell does not use the mouse.  See "Special Keyboard and Mouse Functions" in Chapter 4 of the documentation for more information about this feature.
     7/09/94 When loading ANSIPLUS into UMBs ("/U") or HMA ("/H"), the shared code can now be split from the rest of the driver in two different places, depending on the amount of high memory available.  Either 6K or 11K will be left in low memory, and 28K or 23K will be in UMBs or HMA.
     6/29/94 Bug fix: If Scroll-Lock was activated while Int 16h function 00h or 10h was waiting to read a character, the Scroll-Lock condition would not be enforced until after the next character was typed.
     6/22/94 The ANSIPLUS driver can now supply instance data to, and monitor the activities of, task switchers that use the Int 2Fh, AH=4Bh task switching interface functions.
     6/19/94
    The Esc [s and Esc [u save and restore escape sequences now allow tags to identify items for later restoration.  Also added the capability to save and restore the current scrolling region boundaries, key reassignments, or scroll-back addition pointer.
     6/14/94 Added over two dozen new ANSI and ANSIPLUS escape sequences for scrolling, tab control, cursor positioning, and other functions:
  • Scrolling: scroll up ( Esc [S ), scroll up and add to scroll-back ( Esc [!S ), scroll down ( Esc [T ), scroll down from scroll-back ( Esc [!T ), scroll right ( Esc [ A ), scroll left ( Esc [ @ ), insert lines from scroll-back ( Esc [!L ), delete lines and add to scroll-back ( Esc [!M ), set scrolling region ( Esc [r ).
  • Tab control: reset tabs ( Esc [g ), tab control ( Esc [W ), horizontal tab ( Esc [I ), vertical tab ( Esc [Y ), backward tab ( Esc [Z ), set  horizontal tab ( Esc H ), set vertical tab ( Esc J ).
  • Cursor positioning: next line ( Esc [E ), preceding line ( Esc [F ), cursor horizontal absolute ( Esc [G ), cursor vertical absolute ( Esc [d ), cursor horizontal relative ( Esc [a ), cursor vertical relative ( Esc [e ), next line ( Esc E ).
  • Other functions: next page ( Esc [U ), preceding page ( Esc [V ), repeat character ( Esc [b ), erase character ( Esc [X ), time delay ( Esc [!w ).
  •  6/03/94 Added several enhancements to ANSIPLUS driver initialization and to TSR installation to support loading ANSIPLUS when another copy of the driver has previously been loaded.  Also added special handling for initialization and execution under DESQview, and improved the TSR procedure to take over the system console.
     5/28/94 Bug fix: SETCOLOR SCHEME XXX got stuck in an error message loop if no scheme XXX existed.  The available color schemes are now listed when an unknown scheme name is supplied.
     5/24/94 Bug fix: The ANSIPLUS VGA screen blanking technique is apparently incompatible with a few VGA controllers (eg., Cirrus Logic GD610/20). For such controllers, a configurable feature has been added to use ANSIPLUS's EGA screen blanking method instead.
     5/24/94 Bug fix: The Novell DOS 7 version of KEYB.com does not steal key event interrupts (Int 09h) from drivers installed before it, while the MS-DOS KEYB program does.  The SETAPLUS LINK KEYEVENT command is therefore not needed for international users of Novell DOS, and the utility programs and documentation have been changed to handle this.
     5/18/94 Bug fix: In ANSIPLUS 3.10 only, the test for Windows running failed for Standard Mode, causing the screen saver to blank the Windows screen and other potential problems when Standard Mode was in use. Scroll-back is also now completely disabled for Windows Standard Mode.
     5/17/94 The driver now requires the VWFD.386 Windows VxD to be installed in order to use smooth scrolling under Windows.  VWFD.386 lets ANSIPLUS test whether the DOS virtual machine is running full screen or in a window.  Smooth scrolling is now used only for full screen DOS sessions.
     4/21/94 Bug fix: INSTALL.exe now tests for enough memory available to load (about 450K), and will exit with a message if there is not enough. The installation file copying process also will not abort if there is not enough memory to shell out and make 4DOS/NDOS file descriptions.
     4/20/94 Bug fix: When Norton Anti-Virus 3.03 is installed, the ANSIPLUS driver test for Windows running, which depended on the Windows Int 2Fh AX=1605h initialization broadcast, doesn't seem to work.  The driver now makes periodic Int 2Fh AX=1600h calls to test for Windows running.
     4/12/94 Bug fix: When the INSTALL/NEWAPLUS program analyzed the CONFIG.sys file, if an INSTALL= or INSTALLHIGH= command for loading a TSR was encountered which did not have any command tail parameters, all following lines in CONFIG.sys would be ignored.
     4/06/94 Version 3.10 released.
    Release 3 history        Release 2 history

    © Copyright 2000-2019, Kristofer Sweger. All rights reserved.
    Rev. 5/07/19