1
0
mirror of https://github.com/pkimpel/retro-b5500.git synced 2026-02-12 11:17:29 +00:00
Commit Graph

69 Commits

Author SHA1 Message Date
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
paul
7ee0acfdcc Further development of B5500ColdLoader.html; misc corrections to related scripts. 2013-01-07 01:09:16 +00:00
paul
243ca17428 Commit DCMCP transcription as of 2012-12-31; continue development of B5500ColdLoader. 2012-12-31 18:00:08 +00:00
paul
8d602643dc Commit DCMCP transcription as of 2012-12-28; debug SPO input and several Processor syllables. 2012-12-29 01:17:16 +00:00
paul
3cf63b71fb Commit DCMCP transcription as of 2012-12-25. 2012-12-25 22:01:11 +00:00
paul
b7f3ca6623 Commit DCMCP transcription as of 2012-12-24; first successful test of I/O subsystem -- write to SPO using IIO syllable and I/O Descriptor. 2012-12-25 03:24:12 +00:00
paul
571fab03fe Initial integration of B5500SPOUnit with B5500IOUnit, et al. 2012-12-24 02:29:19 +00:00
paul
9912e348d4 Commit DCMCP transcription as of 2012-12-21; further development of SPO UI and B5500 I/O. 2012-12-22 11:46:41 +00:00
paul
f6bfb2fe20 Implement off-line comments in Local mode for SPO prototype. 2012-12-21 20:54:55 +00:00
paul
960ac0c327 Commit DCMCP transcription as of 2012-12-20; further development of SPO UI. 2012-12-21 05:07:24 +00:00
paul
44efb57820 Commit DCMCP transcription as of 2012-12-19; further development of SPO UI. 2012-12-19 23:44:15 +00:00
paul
7810a22ba9 Commit DCMCP transcription as of 2012-12-18; upcase SPO UI test messages. 2012-12-19 20:09:41 +00:00
paul
2778d97ea2 Further development on SPO UI. 2012-12-17 03:08:39 +00:00
paul
927039359d Implement preliminary SPO UI using an <iframe>. 2012-12-17 00:39:14 +00:00
paul
dbc4bcaf56 Reorganize webUI folder; implement SPO UI using a <textarea>. 2012-12-16 20:23:04 +00:00
paul
925bc93e59 Commit initial coding for console and SPO; fix minor spacing type in SYMBOL/ALGOL. 2012-12-16 16:29:22 +00:00
paul
a55a6779ab Commit initial I/O Unit development. 2012-12-09 04:18:40 +00:00