1
0
mirror of https://github.com/pkimpel/retro-b5500.git synced 2026-02-27 01:19:50 +00:00

423 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
04de2efba5 Correct STREAMSCLEQ comparison in XEM compilers.
. Fix character-mode LEQ comparison bug reported by essentialexch on
GitHub B5500-Software repo as issue #1.
2023-01-11 07:06:30 -08:00
Paul Kimpel
3fa405f184 Commit updates to recovered source files.
1. Commit Richard Cornwell's additional transcription of Mark XVI
SYMBOL/TSSINT.
2. Commit updates to source/APL/IMAGE from recovered CUBE Library 13
tapes.
2020-01-03 20:59:22 -08: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.
release-1.06
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.
c7d278d release-1.05
2018-03-17 15:27:51 -07:00
Paul Kimpel
398876dec4 Commit changes to website to support download text versions of the Mark XIII system. 2017-06-18 13:44:05 -07:00
Paul Kimpel
fecaa65890 Commit LONGALG patch to Mark XIII Extended Algol for support of LONG ARRAY type required by the B6500 simulator. 2017-06-18 13:42:03 -07:00
Paul Kimpel
6ae8994261 Commit typographical corrections to Mark XVI ALGOL and ALGOLXEM compilers derived from Mark XV symbolics. 2017-06-18 13:39:31 -07:00
Paul Kimpel
b3db286e31 Merge branch 'master' of https://github.com/pkimpel/retro-b5500 release-1.04 2016-10-29 08:14:14 -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
ee3ffb9f86 Commit version 1.04. 2016-09-04 16:38:24 -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
0fb010a79f Commit proofing corrections to XBASIC from Rich Cornwell. 2016-05-04 18:02:50 -07:00
Paul Kimpel
4ca4f5add4 1. Correct transcription error affecting code generation for the SEARCH() intrinsic in ALGOLXEM and Mark-XVI ALGOL.
2. Move Mark-XVI/SYMBOL/COOL to Mark-XIV/SYMBOL/COOL.
3. Update project LICENSE file.
2016-05-04 13:37:23 -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.
release-1.03
2015-08-22 16:46:22 -07:00
Paul Kimpel
904404fd70 Commit new files missed in initial release 1.02 commit. release-1.02 2015-06-14 19:08:04 -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
378ffb8dc1 Create initial README.md 2015-03-22 10:59:43 -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
9016cc93fb Merge complete B6500 Mark 0.0 transcription from Jim Fehlinger as of 2014-08-20. This compiles with the B5500-based B6500 ESPOL compiler, but has not yet been run. 2014-08-21 13:35:45 +00:00
paul.kimpel@digm.com
a8f4579cbe Commit debugging patches to B6500 Mark 0.0 MCP as of 2014-08-14. 2014-08-14 15:52:10 +00:00
paul.kimpel@digm.com
e292a6b510 Correction to web site for CANDE setup instructions as of 2013-12-13 (from WIP r398). 2014-08-09 19:36:03 +00:00
paul.kimpel@digm.com
a0f79992fd Minor change to web site for CANDE setup instructions as of 2013-11-26 (from WIP r396). 2014-08-09 19:33:51 +00:00
paul.kimpel@digm.com
1ff02cd3aa More changes to web site for tape drive implementation as of 2013-11-14 (from WIP r385). 2014-08-09 19:31:15 +00:00
paul.kimpel@digm.com
237d627f18 Minor changes to web site for tape drive implementation as of 2013-11-02 (from WIP r381). 2014-08-09 19:28:32 +00:00
paul.kimpel@digm.com
1daccb78a0 Minor changes to web site pages as of 2013-09-04 (from WIP r359). 2014-08-09 19:26:12 +00:00
paul.kimpel@digm.com
9c322ed53a Further development of wiki and web site pages as of 2013-07-21 (from WIP r352). 2014-08-09 19:23:28 +00:00
paul.kimpel@digm.com
32c2dd8351 Minor web site corrections as of 2013-07-18 (from WIP r348). 2014-08-09 19:20:53 +00:00
paul.kimpel@digm.com
75e0c4aca7 Further web site development as of 2013-07-11 (from WIP r343). 2014-08-09 19:18:15 +00:00
paul.kimpel@digm.com
4e03d13a0d Further development of website scripts for Mark-XIII tape image download facility as of 2013-07-07 (from WIP r339). 2014-08-09 19:02:45 +00:00
paul.kimpel@digm.com
299ecd5c89 Minor tweaks to test website HTML as of 2013-06-23 (from WIP r325). 2014-08-09 18:51:37 +00:00
paul.kimpel@digm.com
1186621e5e Commit initial versions of web site home page files as of 2013-06-18 (from WIP r323) 2014-08-09 18:38:05 +00:00
paul.kimpel@digm.com
698746f2d6 Commit debugging patches to B6500 Mark 0.0 MCP as of 2014-08-04. 2014-08-04 17:07:35 +00:00
paul.kimpel@digm.com
fd9c88fbd1 Commit debugging patches to B6500 ESPOL compiler as of 2014-08-02. 2014-08-02 15:11:22 +00:00
paul.kimpel@digm.com
bc8b0fd120 Commit debugging patches to B6500 ESPOL compiler and Mark 0.0 MCP as of 2014-07-28. 2014-07-29 04:09:33 +00:00
paul.kimpel@digm.com
6dd65698f1 Commit debugging patches to B6500 ESPOL compiler as of 2014-07-25. 2014-07-26 00:14:50 +00:00
paul.kimpel@digm.com
189ce8b2c4 Commit debugging patches to B6500 ESPOL compiler as of 2014-07-16. 2014-07-26 00:10:59 +00:00
paul.kimpel@digm.com
8d75e3214e Commit B6500 MCP Mark 0.0 source, additional transcription by James Fehlinger, as of 2014-07-25. 2014-07-25 23:56:59 +00:00
paul.kimpel@digm.com
92aa46c2bd Commit B6500 MCP Mark 0.0 source, additional transcription by James Fehlinger, as of 2014-07-22. 2014-07-25 23:53:10 +00:00
paul.kimpel@digm.com
34b1dc4751 Commit B6500 MCP Mark 0.0 source, additional transcription by James Fehlinger, as of 2014-07-15. 2014-07-25 23:50:38 +00:00
paul.kimpel@digm.com
fce7d84c2e Commit B6500 MCP Mark 0.0 source, additional transcription by James Fehlinger, as of 2014-06-26. 2014-07-25 23:48:11 +00:00
paul.kimpel@digm.com
afa834443f Commit B6500 MCP Mark 0.0 source, additional transcription by James Fehlinger, as of 2014-06-23. 2014-07-25 23:44:22 +00:00
paul.kimpel@digm.com
2bdce55790 Commit B6500 MCP Mark 0.0 source, additional transcription by James Fehlinger, as of 2014-06-18. 2014-07-25 23:40:40 +00:00
paul.kimpel@digm.com
dc00da1124 Commit initial B6500 MCP Mark 0.0 source, transcribed by James Fehlinger, as of 2014-06-04. 2014-07-25 23:31:19 +00:00