1
0
mirror of https://github.com/pkimpel/retro-b5500.git synced 2026-01-12 00:42:59 +00:00

85 Commits

Author SHA1 Message Date
Paul Kimpel
fe4de5db6d v1.06a: Minor updates that have accumulated since 2020.
.
2025-06-19 14:42:25 -07:00
Paul Kimpel
1f82a16aaf Commit retro-b5500 release 1.06:
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.
2020-01-03 20:50:28 -08:00
Paul Kimpel
196175cd39 Correct additional line-ending differences between Windows and Linux. 2019-03-24 13:49:43 -07:00
Paul Kimpel
02bd687785 Correct line-ending differences between Windows and Linux.
Also minor updates to README.md and index.html.
2019-03-24 13:26:57 -07:00
Paul Kimpel
c7d278d8d2 Commit retro-b5500 release 1.05:
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.
2018-03-17 15:27:51 -07:00
Paul Kimpel
dd3b0ce564 Commit version 1.04: correct Integer Store operators to zero the sign bit when the mantissa goes to zero during scaling; remove old webkit CSS style from B5500MagTapeDrive. [Commit message amended 2016-10-29] 2016-10-29 08:12:48 -07:00
Paul Kimpel
fae7433cc9 Correct manifest file for version 1.03e. 2016-06-02 05:59:49 -07:00
Paul Kimpel
fa9d0a997c Commit version 1.03e:
1. Reduce buffer size in B5500DatacomUnit from 112 to 56 characters to accommodate the R/C text editor under the DCMCP.
2. Correct bug in B5500DatacomUnit that caused to first several characters after an input message to be output too quickly.
3. Change method of Greenbar highlighting in B5500LinePrinter to eliminate extra blank lines every three lines when copying or saving the paper area.
4. Embed ASCII FF (hex 0C) characters in skip-to-channel lines for B5500LinePrinter.
5. Initialize focus to the "Start up Powered" button on B5500Console and the "Load" button on B5500ConsolePanel.
6. Adjust method of initially positioning peripheral windows so it works better in Google Chrome.
2016-06-02 05:52:36 -07:00
Paul Kimpel
252c5adfa1 Commit version 1.03d:
1. Implement KEY IN DECK button for B5500CardReader to allow entry of ad-hoc card images.
2. Reduce default height of SPO and LinePrinter windows.
3. Clean up function definitions in B5500MagTapeDrive tape loader sub-window and unregister event handlers when sub-window closes.
2016-05-09 09:43:06 -07:00
Paul Kimpel
9db6ca5147 Commit version 1.03c:
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.
2016-04-18 18:08:41 -07:00
Paul Kimpel
356fb5584e Commit release 1.03:
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.
2015-08-22 16:46:22 -07:00
Paul Kimpel
f1fe18dab3 Commit release 1.02:
1. Move project from Google Code to GitHub (https://github.com/pkimpel/retro-b5500/). Update links and help pages; convert wiki pages to GitHub's MarkDown format.
2. Implement emulator-hosted memory dump to a tape image that can be saved and input into the B5500 DUMP/ANALYZE utility for analysis. Activated by clicking the NOT READY button on the Console.
3. Fix bad assignments to Processor X register in arithmetic ops (affected only SyllableDebugger script).
4. Remove IndexedDB.openDatabase() version parameter so the B5500ColdLoader and tools/ scripts will work in non-Firefox browsers.
5. Add a "?db" query string parameter to the tools/scripts so these scripts can open disk subsystems other than B5500DiskUnit.
6. Correct pre-allocated file locations and ESU card in tools/COLDSTART-XIII.card.
7. Implement new double-click mechanism to copy and clear the contents of card punch, datacom terminal, and line-printer output areas to a temporary window for subsequent copying or saving.
8. Correct handling of Ctrl-B (break), Ctrl-D (disconnect request), Ctrl-E (WRU), Ctrl-L (clear input buffer), and Ctrl-Q (alternate end-of-message) in B5500DatacomUnit.
9. Implement reporting of Model IB (slow, bulk) disk in B5500DiskUnit readInterrogate.
10. Implement detection of browser IndexedDB quota-exceeded errors in B5500DiskUnit (primarily to handle the fixed 2GB limit for off-line storage in Firefox).
11. Correct problem when line printer exhausted paper and FORM FEED triple-click did not clear the condition.
12. Eliminate BOT marker sensed in result for tape drive Write Interrogate operation -- Mark XIII and XV MCPs treat this as an error and will not purge blank tapes because of it.
13. Fix double-click of SPO INPUT REQUEST button either sending a duplicate interrupt to the system or the second click moving focus from the SPO input box.
14. Further tuning of delay-deviation adjustment mechanism in B5500SetCallback.js.
15. Reinstate ability of SPO to wrap long outputs to additional lines (apparently lost with new SPO input mechanism in 1.00).
16. Commit preliminary COOLSTART-XIII.card and MCPTAPEDISK-XIII.card decks.
2015-06-14 19:06:27 -07:00
paul.kimpel@digm.com
1dad7d9744 Commit Release 1.01:
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.
2015-02-09 06:30:43 +00:00
paul.kimpel@digm.com
8b0d19deba Release emulator version 1.00:
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.
2014-09-29 15:28:56 +00:00
paul.kimpel@digm.com
4faedc7700 Correct typos introduced during packaging of release 0.20. 2014-06-29 22:26:47 +00:00
paul.kimpel@digm.com
1c430583cd 1. Release emulator version 0.20.
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.
2014-06-29 21:13:51 +00:00
paul.kimpel@digm.com
085bfd48da Release emulator version 0.19:
1. Implement write to tape and persistence of tape image data.
2014-01-10 22:17:12 +00:00
paul.kimpel@digm.com
c15fdc89c9 Release emulator version 0.18:
1. Implement system state dump in B5500Console and B5500SyllableDebugger.
2. Correct reporting of extended tape drive status in Mod-III result descriptors.
3. Further fixes for tape drive status oscillation at BOT.
4. Correct Processor TRN syllable (was not clearing zone bits).
5. Correct Processor TRW syllable Invalid Address fault when source string ended at address @77777.
6. Remove extraneous parameter in cc.fieldIsolate call for Processor ISO syllable (thanks to Peter Grootswagers).
7. Implement Power Off and Dump buttons in SyllableDebugger.
2013-12-30 19:24:01 +00:00
paul.kimpel@digm.com
2dadec8b8b Release emulator version 0.17:
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.
2013-12-16 04:52:03 +00:00
paul.kimpel@digm.com
3da0844cc7 Release emulator version 0.16:
1. Fix zero-length datacom message read in IOUnit.
2. Insert additional delay at end-of-message for B5500DatacomUnit.
3. Fix minor behavioral problems in B5500MagTapeDrive.
4. Minor wiki corrections and enhancements.
2013-11-21 04:31:13 +00:00
paul.kimpel@digm.com
2260803c51 Release emulator version 0.15:
1. Initial implementation of a datacom terminal.
2. Initial implementation (read-only) of magnetic tape drives.
3. Further work towards getting P2 to function (but not working yet).
4. Allow device driver classes to be optionally included in the global UI script.
5. Fix callback arguments handling in SetCallback.
6. Decrease width of SPO window slightly.
7. Improve trapping and printing of SPO keystrokes, based on datacom implementation.
8. Minor performance tuning improvements.
9. Dump raw header words in octal in tools/B5500DiskDirList.html script.
10. New wiki pages and several updates to existing ones.
2013-11-15 05:33:58 +00:00
paul.kimpel@digm.com
72fca54c23 1. Release emulator version 0.14.
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.
2013-10-06 18:26:47 +00:00
paul.kimpel@digm.com
d1e59a2f7c 1. Release emulator version 0.13 (finally).
2. Implement new setCallback() mechanism to wrap setTimeout() and setImmediate().
2. Minor change to P2 management; remove context-bound callbacks.
3. Reduce window size and font size for peripheral UIs.
4. Implement <label> for file names on ColdLoader Load table.
5. Correct placement and color of buttons on Console and SPO.
6. Minor wiki updates for UI changes.
7. Rework SPO implementation to eliminate ".that" properties, implement setCallback(), and fix long-standing bugs that caused flaky operation.
2013-09-30 12:18:01 +00:00
paul.kimpel@digm.com
7c9cab76ba 1. Release emulator version 0.12.
2. Debug Processor for multi-processor operation (not working yet).
3. Further refinements to Processor.schedule() and throttling management.
4. Correct Processor fetch of Initiate Control Word for IP1 and IP2.
5. Enable second Disk File Control Unit (DKB) -- works.
6. Fix minor P1 bug in cc.clearInterrupt().
7. Reset file selector control in B5500CardReader to allow same deck to be reloaded under Google Chrome.
8. Fix (finally) creation of SYSTEM/LOG and DIRCTRY/DISK in B5500ColdLoader.
9. Implement tools/B5500DiskDirFixer.html and tools/B5500DiskSystemLogFixer.html utilities to correct bad directory entries due to improper log creation in B5500ColdLoader.
10. Correct tools/LOG-MAKER.job to create SYSTEM/LOG on systems that do not have one.
11. Do not output zero-length lines (mem inhibit) with zero spacing in B5500DummyPrinter.
12. Implement separate setTimeout() tokens for input and output in B5500SPOUnit.
13. Additional de-anonymization of functions.
2013-07-29 05:15:41 +00:00
paul.kimpel@digm.com
c1731fc675 1. Release emulator version 0.11.
2. Change name of CentralCentrol bit() method to bitTest().
3. Correct length of data sent to printer by IOUnit if I/O descriptor has a zero length.
4. Implement Processor.isP1 property to optimize testing for Processor 1 vs 2.
5. Implement ability to delete the IndexedDB database for the disk subsystem in ColdLoader.
6. Implement "purist" mode in B5500Console to suppress display of emulator's extra annunciators.
7. Correct behavior of Input Request and Ready controls in SPOUnit.
2013-07-21 23:32:12 +00:00
paul.kimpel@digm.com
27bd443f7c 1. Commit emulator release 0.10.
2. Inhibit peripheral device windows from being closed while emulator is active.
3. Shut down peripheral devices and close their windows as part of cc.powerOff().
4. Add shut-down code to peripheral drivers.
5. Ensure SPO is ready in cc.load().
6. Enable emulator version display on B5500Console.
7. Clear DummyPrinter window when it is double-clicked (finally got this working).
8. Fix problem with "/" not accepted by SPO input in Google Chrome.
9. Commit ESPOL binary card loader image.
10. Fix problem with intensity levels in B5500Console NORMAL/CONTROL lights.
11. Attempt to enable emulator and utilities for Safari-style IndexedDB.
2013-07-15 03:31:34 +00:00
paul.kimpel@digm.com
ef566d4447 1. Release emulator version 0.09.
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.
2013-07-08 04:27:51 +00:00
paul.kimpel@digm.com
0cb2022b63 1. Release emulator version 0.08.
2. Change time-slicing algorithm in Processor and implement Denicola's setImmediate() shim.
3. Find and fix normalization/rounding bugs in Processor.singlePrecisionAdd and .singlePrecisionMultiply.
4. Rework Processor.doublePrecisionAdd, but it's still not right.
5. Move read interval timer details from Processor to CentralControl.
6. Implement more centralized process halt in CentralControl and Processor.
7. CardReader: 
   a. Fix bug when adding decks to input hopper if previous deck did not end with a line delimiter.
   b. Allow "?" characters as valid if not in column 1.
   c. "Upgrade" from 800 to 1400 cards/minute.
8. DummyLinePrinter:
   a. Attempt to implement double-click as a way to clear the output window (but doesn't work yet).
   b. "Upgrade" from 800 to 1040 lines per minute (B329 model).
9. SPOUnit:
   a. Tweak paper scrolling behavior.
   b. Rework handling of ESC/BS/Enter keys; allow Input Request while SPO is busy with output.
10. Set AUTOPRNT option by default in B5500ColdLoader.
2013-07-01 03:25:49 +00:00
paul.kimpel@digm.com
c9b8ff3143 Commit missing B5500DummyPrinter.html file from previous (r322) commit for version 0.07. 2013-06-24 14:21:35 +00:00
paul.kimpel@digm.com
47e5d09ef7 1. Release emulator version 0.07.
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.
2013-06-24 05:04:15 +00:00
paul.kimpel@digm.com
0071af88c8 Emulator version 0.06:
Implement B5500CardReader peripheral device.
2013-06-15 12:17:05 +00:00
paul.kimpel@digm.com
15fc6c5a0b 1. Finalize and release emulator version 0.05.
2. Fix (we hope) the nasty problem that was causing Invalid Address out of COM5 after large compiles -- bug in MSCW/MSFF tracing in Processor.exitSubroutine().
3. Implement ability to do a hardware load without initiating P1 in CentralControl (used by SyllableDebugger).
4. De-anonymize object prototype method functions in Processor as an aid when using JS debuggers.
5. Rework storeForInterrupt() and initiate() in Processor.
6. Replace bitmask "AND"s with power-of-two "MOD"s in many places in Processor.
7. Replace many bit(), fieldIsolate(), fieldInsert() calls with mod/div expressions in Processor.
8. Fix a problem existing normalization when an Integer Overflow occurs in Integer Store syllables.
9. Fix missing and superfluous break statements in Processor.run() switch statements.
10. Fix incorrect C-register restoration in Character Mode RCA syllable.
11. Correct test for continuity bit in Processor PRL syllable coding.
12. Correct missing "this." in Processor BRT syllable coding.
13. Change way that delayTime and Processor.procSlack is computed in Processor.run().
14. Correct BCL translation bug and directory EOF detection in B5500ColdLoader.
15. Attempt to initialize SYSTEM/LOG in B5500ColdLoader (not working yet).
16. Implement new retro-B5500-Logo.png.
17. Implement Hardware Load button in SyllableDebugger.
18. Release tools/B5500DiskDirList.html utility.
19. Release tools/B5500DiskFileList.html utility with PBD file special formattring.
20. Restrict directory complement to EU0 in B5500ColdLoader.html.
21. Miscellaneous improvements to comments and cosmetics.
2013-05-27 04:08:34 +00:00
paul.kimpel@digm.com
e4f208fcb8 1. Commit B5500 emulator version 0.04.
2. Insert initial interface code for LinePrinter in IOUnit.
3. Implement initial I/O and interrupt display in B5500Console.css.
4. Integrate Nigel's patch to deal with pesky "/" (Quick Find) behavior in SPOUnit for Firefox.
5. Fix DiskUnit to signal interrupt on completion of disk check operation and properly return BIC zeroes for never-written segments.
6. Move B5500ColdLoader and B5500SyllableDebugger into root of webUI/ directory.
7. Fix several problems in ColdLoader's initialization of directory and MCP structures on disk.
8. Commit Mark-XVI DCMCP transcription as of 2013-04-10.
2013-04-11 13:54:06 +00:00
paul.kimpel@digm.com
3db6111394 1. Commit version 0.03 of emulator and tools: this version successfully performs a hardware load from the disk and initiates the MCP.
2. Redesign B5500Console.html to support the Power On, Power Off, Halt, and Load buttons, along with a primitive mechanism to drive the Normal/Control lights.
3. Implement relative URLs for the <script> elements. This is a work in progress.
4. Commit Nigel's fix for the annoying problem with Firefox where typing "/" on the SPO brings up a QuickFind dialog.
5. Commit Mark XIII DCMCP transcription as of 2013-03-20.
6. Move B5500ColdLoader and KERNEL.DISK under webUI directory tree.
2013-03-23 16:33:22 +00:00
paul.kimpel@digm.com
1b6a91c574 1. Commit emulator files at the point where the Mark XIII MCP completely finishes initialization and is able to interact through the SPO.
2. Commit improvements to SyllableDebugger for Silent Running and fixed-column register displays.
2013-03-20 05:58:20 +00:00
paul.kimpel@digm.com
1c3c8ae307 1. Commit emulator files at the point where the Mark XIII MCP appears to be able to initialization.
2. Fix character-mode B-register handling in Processor and slightly optimize some stream syllables.
2. Fix I/O-finished interrupt signaling (or rather, the lack thereof) in IOUnit.
3. Change system option settings in ColdLoader based on recent MCP tests.
4. Commit minor improvements to SyllableDebugger.
5. Commit version of KERNEL object code for use with SyllableDebugger.
6. Commit Mark XVI DCMCP transcription as of 2013-03-17.
2013-03-18 16:10:48 +00:00
paul.kimpel@digm.com
6b01c6d899 1. Commit DCMCP transcription as of 2013-03-08.
2. Commit INCL2OMIT utility to convert ESPOL $INCLUDE/$OMIT pragmas to $SET OMIT/$POP OMIT form.
3. Commit BICTOEBCDIC utility to translate XEM compiler output files from 6-bit BIC to 8-bit EBCDIC.
4. Minor fix to syllable decoding for R+7 addressing in SyllableDebugger.
2013-03-11 04:40:04 +00:00
paul
448ce04c53 1. Implement the four branch on field non-zero syllables.
2. Implement run-until-this-address feature in SyllableDebugger.
3. Continue debugging by stepping through KERNEL bootstrap and MCP initialization code.
2013-03-04 01:09:38 +00:00
paul
587989c11b 1. Commit DCMCP transcription as of 2013-03-02.
2. Debugging mods to complete single-stepping through KERNEL bootstrap.
3. Implement FBS and LLL in Processor.
4. Delete old this.access() logic in Processor.
2013-03-03 02:56:25 +00:00
paul
4858c324a1 Debug word mode from single-stepping of KERNEL bootstrap program; fix errors in B5500DiskUnit; minor whitespace corrections in SYMBOL/KERNEL and SYMBOL/COOL. 2013-02-24 02:29:04 +00:00
paul
6f20eab55e Debug character mode presence-bit interrupts and return from interrupt using IP1. 2013-02-18 00:41:10 +00:00
paul
239eb2f624 Continue Character Mode tests; debug Field Add/Subtract; implement and debug word-mode PRL, IOR. 2013-02-17 01:21:44 +00:00
paul
7b3c10954e Commit DCMCP transcription as of 2013-02-08; improve injected-syllable handling in SyllableDebugger. 2013-02-08 15:59:20 +00:00
paul
cb6cdadda0 Continue debugging Character Mode tests. 2013-02-04 02:25:26 +00:00
paul
fd34b8c08d Commit DCMCP transcription as of 2013-02-02; continue debugging Processor character mode; implement store syllables; implement syllable decoding in SyllableDebugger. 2013-02-03 13:30:00 +00:00
paul
3282dde3eb Implement LOD; continue debugging character mode tests. 2013-01-28 03:40:08 +00:00
paul
fcfbd4bab1 Implement branches; debug CC test loader and character mode tests. 2013-01-27 02:37:26 +00:00
paul
b8d6c3a748 Commit DCMCP transcription as of 2013-01-24; fix stack adjustment for Processor MKS syllable; implement BIC display in SyllableDebugger. 2013-01-24 17:40:19 +00:00
paul
5c99019b0a Implement initial B5500DiskUnit and fix miscelleaneous other minor issues in I/O subsystem. 2013-01-21 01:02:02 +00:00
paul
1959547adc Further debugging of B5500Processor; implement individual memory access routines based on the registers used. 2013-01-14 03:22:13 +00:00