1. Redesign and simplify delay and time deviation adjustment algorithm
in global SetCallback function; reinstate alpha parameter to control
adjustment decay rate.
2. Correct memory stores during tape drive backward read.
3. Compare tape image file extensions in case-insensitive manner.
4. Detect dropouts (no flux change) in magnetic tape images.
5. Suppress printed SPO greeting after power-on.
6. Disable (for now) the ConsolePanel lamp test.
7. Update stacker progress meter and stacker-full annunciator when
emptying a stacker.
8. Supply (benign) terminating semicolons in ConsolePanel method
declarations.
9. Optimize extraction of MSCW address during Character Mode exit.
10. Miscellaneous minor additions and enhancements to scripts in tools/
directory.
1. Implement new method to open pop-up windows that schedules pop-up opens through a queue, delaying between opens, and retrying with longer delays when the opens fail. This is to satisfy new restrictions on pop-ups introduced in Apple Safari 11.0, even when the browser is configured to enable pop-ups.
2. Remove the Application Cache facility. This API has been deprecated and will be removed from browsers.
3. Implement improved setCallback() asynchronous timing mechanism with a new Promise-based approach developed for the retro-220 emulator.
4. Correct Processor memory access logic to avoid causing an Invalid Address interrupt in Control State.
5. Correct Processor Exit Character Mode (XX00) by implementing it separately from Word Mode exits.
6. Implement separate jump mechanisms for Word and Character Mode to correct edge-case errors.
7. Make slight correction to clock counting in singlePrecisionAdd.
8. Fix bug in double-clicking the "stacker" of the card punch to extract its contents.
9. Disable I/O descriptor word count in IOUnit for card reader/punch operations; remove extraneous blank card between card-load programs from the COLDSTART-XIII.card and COOLSTART-XIII.card decks that was previously required to prevent "eating" the second program's boot card.
10. Remove extraneous whitespace from B5500FramePaper used for most text-only windows and frames.
11. Compute HPT disk latency based on current timestamp rather than a random number.
12. Correct top-of-form handling in B5500LinePrinter.
13. Correct annimation of tape reel in B5500MagTapeDrive.
14. Replace the emulator's custom bindMethod() utility routine with Function.bind().
15. Replace the emulator's custom DOM className utility routines by DOM classList methods.
16. Add P1 S and F register values to the internal tape dump caption; improve the dump tape's label records.
17. Give the annunciators on the ConsolePanel a dark gray presence when they are not lit.
18. Correct the method to "focus" the ConsolePanel window after the SPO initializes and becomes ready.
19. Clean up line delimiters in source and make consistent for Windows systems.
1. Implement new single-precision add/subtract routine that more closely follows the real B5500 logic.
2. Implement tests/B5500SPMathTest.html testbed to exercise the new add/subtract implementation.
3. Implement new way to focus the ConsolePanel window after the SPO becomes ready during initialization.
4. Add "?db=" parameter to tools/B5500DeleteStorageDB.html to specify the disk storage data base name.
5. Implement "Execute Single" button in B5500SyllableDebugger to preserve the T register when testing a single syllable.
6. Implement "octize" and "pic*" function in B5500Util to support tests/B5500SPMathTest.html.
7. Commit minor changes to webSite index page and GitHub README.md.
Commit version 1.03b:
1. Remove initial window open/close (to destroy any existing windows) from Console, I/O device classes, and configuration utilities.
2. Commit Mark XV MESAGE/CANDE file for reconstructed SYSTEM tape, donated by Rich Cornwell.
Commit version 1.03a:
1. Correct character translation for even-parity tape operations.
2. Implement normal tape space operation for tape maintenance space operation (temporary solution to fix problem with Mark XV tape parity recovery -- Mark XIII did not issue maintenance space I/Os).
3. Modify B5500MagTapeDrive to report EOF+parity when attempting to ready beyond the end of the internal tape image (previously reported only parity error).
4. Restate B5500Processor delay deviation and processor slack time average calculations and increase the alpha for the running exponential averages to smooth out the reporting on the B5500ConsolePanel.
5. Improve delay timing calculation for B5500CardPunch, B5500CardReader. and B5500LinePrinter.
1. Split operator Control Panel from B5500Console and make it a small, separate window.
2. Implement emulator home page in what remains of B5500Console page, with Start buttons for emulator.
3. Implement improvements to setCallback() mechanism, copied from Datatron 205 project.
4. Increase scrollback for SPO and Datacom windows from 1500 to 5000 lines.
5. Correct application of green-bar styling in B5500LinePrinter (apparent in Chrome).
6. Improve initial positioning of Magnetic Tape unit windows; add "B" to mag tape reel image.
7. Minor optimizations to bit-field isolate/insert routines in CentralControl.
8. Miscellaneous enhancements to UI appearance.
9. Minor changes to hosting website pages.
1. Implement new system and disk subsystem configuration mechanism.
2. Implement initial Mark-XIII Cold Start card deck for use with new configuration interfaces.
3. Deprecate use of B5500ColdLoader.html script (replaced by new configuration mechanism and Cold Start deck), but correct and enhance IndexedDB database detection, creation, and deletion in it.
4. Implement "Application Cache" support to allow emulator to run off-line in a browser.
5. Implement web-font support and update all UIs to use DejaVu Sans and DejaVu Sans Mono from downloaded .woff or .ttf font files.
6. Rework some code in Processor OPDC, DESC, and indexDescriptor routines, attempting to resolve Flag Bit errors (issue #23). This appears to result in some improvement, but we still see them occasionally under load.
7. Line Printer:
- Implement new line printer driver with more realistic UI and operator controls.
- Implement Algol Glyphs option to render special Algol characters in Unicode.
- Implement support for optional "greenbar" shading on the "paper".
8. SPO:
- Redesign SPO driver to accept input from a text <input> element instead of capturing keystrokes directly from the window or "paper" <iframe>. This was done to allow input from tablet and mobile devices that will not pop up a keyboard unless an input-like element has the focus.
- Implement Unicode Algol Glyphs support on output.
- Intelligently resize "paper" area when SPO window is resized.
- Accept "_" as a substitute for "~" as end-of-message on input.
9. Card Punch:
- Implement Unicode Algol Glyphs support on output.
- Implement stacker-full annunciators in UI.
10. Card Reader:
- Implement Unicode Algol Glyphs support on input.
- Accept "_" as a substitute for "~" on input.
11. Disk:
- Adapt B5500DiskUnit driver to new configuration mechanism.
- Implement support for Model-IB (slow) disk and non-DFX disk storage configurations; support up to 20 EUs.
- Implement check for DKA readiness in cc.load() if not doing card-load-select.
12. Datacom:
- Rework datacom driver keystroke handling for compatibility with Google Chrome.
- Correct typo (line 437) in B5500DatacomUnit reported by Peter Grootswagers (issue #28).
13. Magnetic Tape:
- Implement more granular tape reel animation in B5500MagTapeDrive.
- Open the tape loader window on top of its device window.
14. Correct color of NOT READY lamps in peripheral device UIs; convert <progress> bars to <meter> elements.
15. More intelligently resize peripheral UI controls when their window is resized.
16. Implement lamp test during power-on in B5500Console.
17. Illuminate NOT READY light on Console at power-on if certain minimum configuration requirements are not met.
18. Set all HTML <meta> Content-Type character sets to UTF-8 (were ISO-8859-1); correct problem with FireFox requiring the character set to be specified within the first 1024 characters of an HTML file.
19. Clean up and refactor CSS style sheets
20. Split Javascript code out from B5500Console.html to new B5500Console.js.
21. Refactor common UI routines into webUI\B5500Util.js.
22. Move images and fonts to new webUI/resources directory; rearrange files in webUI/tool, tools, tests, source directories of repo.
23. Make significant wiki updates to document the new features in this release.