This release fixes an autoType problem that crept into at least one PCjs demo (eg, "Turbo Pascal vs. QuickPascal").
The problem: when a PCjs web page is generated by GitHub Pages (which in turn uses Jekyll, which in turn uses the Liquid template language), the page template must perform some simple transformations on the values of properties like autoType, such as converting "\t" (a traditional tab character) to "\\t", so that by the time the string reaches the key injection code inside PCx86, the tab character is still properly escaped. It also attempts to do the same for backslashes as well, converting "\" to "\\\\". Unfortunately, if you wanted to follow a backslash with a "t", those same simplistic Liquid transformations would misinterpret the combination as "\t".
My solution: rather than continue to fight with the Liquid template language on this (a potentially losing battle), I decided to add another "softkey" to PCx86: $bslash. So the rule of thumb is this: use $bslash to inject a normal backslash, and use actual backslashes only when specifying one of the following special characters: \r (return), \t (tab), or \x (for hex codes). \n is allowed, too, but it's nothing more than an alias for \r, since PC keyboards don't have an actual linefeed key. In fact, it might be best to avoid backslashes whenever possible, since PCx86 also supports "softkeys" $tab and $enter.
A number of other improvements have crept into PCjs since the last formal release:
- Added support for the original COMPAQ Video Display Board (see "The First Version of COMPAQ MS-DOS")
- Fixed a few problems that had crept into the PCx86 "Save Machine" logic
- Fixed some compatibility issues with the IBM Monochrome Display Adapter (see "IBM Monochrome Attributes")
- Added a diskette write-protection feature (see "Write Protection and Other Idiosyncrasies")
- Fixed some video mode problems that affected a few EGA and VGA games (eg, Commander Keen and The Oregon Trail)
- Updated a handful of machine configurations to include an 8087 coprocessor (eg, IBM PC XT w/512K) so that some recently added software (IBM APL 1.00) could be demo'ed
That's all for now. Happy New Year!