1
0
mirror of https://github.com/pkimpel/retro-b5500.git synced 2026-02-12 03:07:30 +00:00
Commit Graph

87 Commits

Author SHA1 Message Date
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
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
041a114abc Commit emulator development at the point it first printed an MCP Halt/Load message. 2013-03-14 02:58:47 +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
e769899afe Implement BIC/BCLANSI translation in B5500ColdLoader and do disk writes in alpha mode; fix typos in DCMCP transcription. 2013-02-25 12:48:07 +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
6df7a312de Commit DCMCP transcription as of 2013-01-21.
Debug ISO, TRB, FCE, FCL syllables in Processor.
2013-01-21 14:15:03 +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
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
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
c578ebe19c Commit DCMCP transcription as of 2012-12-13; add BCLANSI translation in B5500IOUnit and improve group-mark processing. 2012-12-13 19:40:52 +00:00
paul
49d280ca02 Commit DCMCP transcription as of 2012-12-12; corrections to address overflow logic in B5500IOUnit. 2012-12-12 16:16:19 +00:00
paul
37b41cb0fb Continue initial I/O Unit development. 2012-12-10 00:57:17 +00:00
paul
a55a6779ab Commit initial I/O Unit development. 2012-12-09 04:18:40 +00:00
paul
52954a5da6 Commit DCMCP transcription as of 2012-12-06. 2012-12-06 15:24:35 +00:00
paul
0f1802b678 Implement initial B5500SyllableDebugger.html testbed. 2012-11-26 03:23:43 +00:00
paul
384029e18e Commit DCMCP transcription as of 2012-11-24; Processor doublePrecisionAdd and normalization/rounding improvements to singlePrecisionAdd. 2012-11-25 01:08:04 +00:00
paul
e235d59a79 Commit DCMCP transcription as of 2012-11-22; Processor IIO and miscellaneous improvements. 2012-11-23 03:39:59 +00:00
paul
355363ca75 Commit word-mode compare ops and miscellaneous improvements in Processor. 2012-11-18 22:40:43 +00:00
paul
465808dcc6 Commit single-precision divide ops in Processor as of 2012-11-17; commit Sid McHarg's MarkVIII .bcd files. 2012-11-18 17:47:47 +00:00
paul
e7859e8523 Commit DCMCP transcription as of 2012-11-12; commit minor changes to B5500Processor arithmetics. 2012-11-12 16:05:53 +00:00
paul
a28ba1b642 Commit initial singlePrecisionMultiply() and webUI/B5500TestArithmetics.html implementations; corrections to singlePrecisionAdd(). 2012-11-12 02:21:51 +00:00
paul
f0c9ba7346 Finish coding Character Mode ops and start on single-precision Add/Subtract. 2012-11-11 02:46:36 +00:00
paul
3e3fba93cc Commit changes to Nigel's bitwise operators; commit extracted code files from Sid McHarg's SYSTEM tape image. 2012-11-10 05:45:46 +00:00
paul
7062468a16 Clean up syntax and Content-Type issues in emulator/ and webUI/ before committing to Assembla. 2012-11-10 01:59:51 +00:00