Recent Changes to TADS on MS-DOS and Windows

This file contains a list of changes to TADS specific to MS-DOS and Windows, starting with version 2.5.0.

This file contains only those changes that are specific to TADS on MS-DOS and Windows. For "generic" changes affecting all computers and operating systems, refer to Recent Changes to TADS.

Changes prior to version 2.4.1 are in separate files, to keep the size of this file reasonable. Refer here for information on older revision log entries.

### Version 2.5.7

Released September 22, 2002

The "file selector" dialogs in the DOS interpreters and Windows console-mode interpreters have been improved. First, the dialogs are now better at handling the long filenames in modern Windows versions. Second, the file list now shows a list of available disk drive letters, rather than requiring the old Alt-key method to select a new disk.

### Version 2.5.6

Released June 1, 2002

TR32 on Windows 95 with keyboard layout switching: If you are using Windows 95, and you take advantage of the operating system's keyboard layout switching feature, and TR32 does not always correctly recognize the characters you type, read on. All other users should ignore this new feature.

Layout switching lets you change the layout of keys on the keyboard dynamically, usually by pressing a special sequence of keys. Unfortunately, the keyboard device driver in Windows 95 has a number of problems that prevent keyboard layout switching from working correctly with most console-mode applications, including TR32. In the past, this made it difficult or impossible to use multiple keyboard layouts with TR32.

TR32 can now attempt to work around these Windows 95 problems by using an alternative set of OS calls to read keyboard input. To activate the new keyboard handling, you must specify the new option `-kbfix95` on the command line when you run TR32:

       tr32 -kbfix95 mygame.gam

When you specify this new option, TR32 uses the modified keyboard handling. The workaround is not enabled by default for several reasons. First, the problem only affects Windows 95; none of the other versions of Windows (98, NT, ME, 2000) appear to be affected. Second, the workaround itself can potentially cause its own problems, because it performs operations that Microsoft specifically recommends against (these operations are the only known way to work around the layout switching problem, though, so it's a catch-22). Third, even on Windows 95, only users who are using keyboard layout switching will encounter the problem. Because most users won't ever encounter the problem that the workaround is designed to solve, and because enabling the workaround could cause new problems of its own on many systems, the workaround is disabled by default.

TR32 and extended characters: In the past, the 32-bit Windows console-mode version of the interpreter (TR32) sometimes did not work properly with "extended" characters (i.e., characters outside of the US ASCII range, such as accented letters). The most common problem was that the interpreter "locked up" in the course of displaying text containing extended characters. This has been corrected.

In a Windows NT console window, the interpreter now handles accented characters displayed with HTML entities correctly. In the past, this did not work properly on NT (although it did work on 95/98/ME).

### Version 2.5.5

There are no changes to the text-only version specific to MS-DOS or Windows.

### Version 2.5.4

There are no changes to the text-only version specific to MS-DOS or Windows.

### Version 2.5.3

There are no changes to the text-only version specific to MS-DOS or Windows.

### Version 2.5.2

Default stack size change: The default stack size for the DOS 16-bit interpreters has been reduced; past versions had too high a default setting, given the 64k system segment size limitation on this platform. In some cases, it was possible for a game to crash the interpreter by getting into an infinite recursion loop. For the DOS 16-bit interpreters, the default stack size is now set to 100; users can still override this setting with the `-ms` option if necessary, but larger settings might result in interpreter crashes. This change only affects the 16-bit interpreters, TR.EXE and TRX.EXE; the 32-bit versions, including TR32.EXE and the Windows HTML interpreter, are not affected, since the 32-bit memory model does not impose any similar limitations.

### Version 2.5.1

There are no changes in this release specific to MS-DOS or Windows.

### Version 2.5.0

There are no changes in this release specific to MS-DOS or Windows.