1. Alter method of writing disk sectors to IndexedDB, to avoid dragging along the entire 16KB IO Unit buffer area and unintentionally inflating host disk usage by 30-60X (ouch). This was causing Quota Exceeded errors in recent versions of Firefox.
2. Add onabort traps in B5500DiskUnit to catch QuotaExceeded errors.
3. Modify delay-deviation adjustment mechanism in B5500SetCallback to avoid oscillating between positive and negative cumulative deviations.
4. Correct tape reel angular motion in B5500MagTapeDrive, especially during reverse tape movement.
5. Fix bug with reporting memory parity error during tape I/O, should that ever occur.
6. Reset CPA Algol Glyphs option in default system configuration template.
7. Allow tools/B5500LibMaintDecoder to examine an entire .bcd tape image file instead of just the first 64KB.
8. Add USE SAVEPBT to default options in tools/COLDSTART-XIII deck.
9. Eliminate extraneous "schema update successful" alert when altering a disk subsystem configuration.
10. Commit minor corrections to source/B65ESPOL/SOURCE.alg_m from Richard Fehlinger.
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.
2. Fully implement Double Precision Add/Subtract (DLA/DLS), Multiply (DLM), and Divide (DLD) syllables.
3. Replace standard setTimeout() by redesigned setCallback() mechanism throughout the emulator for scheduling timing delays and other callbacks on the Javascript thread. Delete obsolete setImmediate() mechanism.
4. Replace "new Date().getTime()" by "performance.now()" calls for greater timer precision.
5. Minor tweaks to Single Precision arithmetic operators.
6. Replace Javascript postfix operators by prefix operators wherever feasible (e.g., x++ becomes ++x).
8. Attempt to correct character translation and keyboard filtering in DatacomUnit for CANDE.
9. Minor changes to button colors and illumination behavior for I/O devices and Console.
10. Suppress I/O device classes in B5500SyllableDebugger by default (uncomment in source to enable).
. Drop support for webkitIndexedDB and mozIndexedDB (for now).
. Configure four tape drives (MTA-MTD) by default.
1. Enable (finally!) functioning of P2, the second processor, in CentralControl and Processor.
2. Fix bugs in Character Mode syllables FAD, FSU: initial compare of operands was alphanumeric instead of numeric.
3. Fix bugs in Character Mode syllables TRN, TRZ, TBN: non-boundary destination words were not being fetched into the B register.
4. Enable configuration of additional tape drives (up to the maximum of 16).
5. Implement new flip-flop latching mechanism in CentralControl for use by B5500Console.
6. Optimize clearing of interrupts in Central Control.
7. Implement preliminary mechanism to allow P2 to be added to the configuration temporarily without altering B5500SystemConfiguration.js.
8. Implement new average slack and delay algorithms in Processor.schedule().
9. Optimize some Character Mode syllables by substituting local variables for "this" properties.
10. Fix bugs in Processor single-precision divide syllables leaving the stack in an incorrect state after a divide by zero in Control State.
11. Further minor tweaks to performance throttling.
12. Optimize references to this.cc in Processor.run().
13. Minor improvements to B5500MagTapeDrive: eliminate oscillation at load point, improve timing of rewind operations.
14. Implement build-release.cmd script to generate emulator release archive files.
15. Commit initial Mark-XVI TSSINT transcription from Fausto Saporito.
2. Fix normalization and rounding problems in Processor.
3. Fix Card-Load-Select -- emulator now boots from cards.
4. Commit LDCNTRL label and end cards to source CONTROL.DECK.job
5. Delete unused activeIOUnit property in all I/O drivers.
6. Change CardReader to reset file selector control when hopper becomes empty, instead of when START button is clicked.
7. Minor adjustments to CentralControl annunciator layout and behavior on Console.
8. Increase SPO paper scroll-back to 1500 lines (was 500).
9. Correct Card-Load-Select behavior in SyllableDebugger.
10. Implement setCallback() to replace setImmediate() in SyllableDebugger.
2. Implement differential read vs. write memory cycle timing (2us vs 4us).
3. Implement setImmediate() instead of SetTimeout() for I/O forking in IOUnit.
4. Time I/Os from initiation in IOUnit instead of peripheral device driver.
5. Accumulate Control and Normal state clocks separately for use in UI displays.
6. Rework Processor.schedule() delay management for use with setImmediate()
7. Accumulate average processor delay delta for use in UI displays.
8. Enable third I/O unit and all eight memory modules in B5500SystemConfiguration.
9. Clone B5500LibMaintDir.html from B5500LibMaintMapper.html to list files on a tape image.
10. Implement multiple-file selection in B5500CardReader; fix markup for Firefox 22.
11. Implement more granular Control/Normal State light intensity and PA Delay delta in B5500Console.
12. Attempt (again) to fix creation of SYSTEM/LOG file in B5500ColdLoader.
13. Create tools/LOG-MAKER.job deck to create SYSTEM/LOG on a running emulator instance.
2. Implement interrupt and device status latching in B5500CentralControl to support better UI display.
3. Implement B5500CardPunch device.
4. Implement preliminary and experimental B5500DummyPrinter device; correct printer I/O initiation in IOUnit.
5. Correct the way that Printer Finished interrupts are handled in IOUnit and CentralControl.
6. Implement Card Load Select in B5500Console and B5500SyllableDebugger.
7. Fix lack of presence-bit detection in return ops for returned values.
8. Redesign B5500CardReader UI to show last two cards read; change method of emptying the input hopper.
9. Set CHECK option and rework SYSTEM/LOG initialization in B5500ColdLoader.html.
10. Centralize system memory cycle time setting; change from 6us to 4us memory cycle time.
11. Increase Processor timeslice to 16ms and rework Processor.schedule() internals for more accurate performance throttling in browsers with poor setTimeout() granularity.
12. Reduce Processor syllable overhead from 2 cycles to 1.
13. Change B5500SPOUnit method of output to "paper" to work better in Google Chrome.
14. Make documentation and debugging enhancements in B5500IOUnit.
15. Release initial test website HTML and Unisys license PDF.
16. Commit Mark XVI DCMCP transcription as of 2013-06-21.