Some users outside North America reported spurious problems which caused their system to "hang" occasionally when entering a character from the keyboard while in graphic mode. Tracing these problems showed that the problem occurred only on some graphic boards (IBM 8514/A, ELSA XHR, ATI) and only when foreign language keyboards were used. After a number of tests, we found out that the bug was not in EMME/2 but in the DOS keyboard installation utility KEYB. Starting with DOS Version 3.2, all hardware interrupts, including the keyboard interrupts, use a separate pool of stack frames, in order to avoid conflicts or overflows in the stack of the user process. The size and the number of these hardware stack frames can be controlled by the STACKS command in CONFIG.SYS. It turns out that invoking the KEYB utility will disable this stack relocation for keyboard interrupt, i.e. keyboard interrupts will now directly use the routines in the BIOS, without any relocation of the stack frame. As long as the interrupt occurs in the actual EMME/2 module, this is not a problem, as the stack allocation is generous. However, if the keyboard is interrupting the video BIOS provided with the graphic adapter, this can cause troubles depending on the specific stack management used in the BIOS. In order to solve this problem, we have developed a patch program PKEYB, which is called before and after the call to KEYB (usually in AUTOEXEC.BAT), and which reinserts the hardware stack management routines into the keyboard interrupt vector.
In case the above (admittedly very technical) description of the bug
and its solution sounds like Chinese to you, don't worry, you're in good
company. However, be advised that
if
you are using a non-US keyboard (i.e. have a call
to KEYB in your AUTOEXEC.BAT)
and if
you experience occasional "unexplicable"
problems when hitting a key on the crosshair,
the PKEYB patch might solve the problem. If, in this case, you don't already
have PKEYB in your EMME2
ETC directory, please contact INRO or the EMME/2
Support Center for assistance.
A minor bug in standard release 4.0 of the matrix calculator, module 3.21, caused the matrix expression to be echoed at the terminal in one long line, rather than broken up into several short lines. Since usually the terminal wraps long lines automatically, this bug is not even visible on most systems. Unfortunately VAX/VMS systems are very rigid and will abort the module 3.21 if the line length sent to the terminal exceeds 132. The following message is typical for this problem:
FOR-F-OUTSTAOVE, output statement overflows record unit 6 file SYS$OUTPUT:
Thus, VAX users will experience difficulties when trying to evaluate very long matrix expressions. This bug has been fixed now and the next release will automatically contain the corrected version of module 3.21. But until then, VAX users might need to break down very long matrix expressions into two or more shorter ones.