pkimpel / retro-b5500

Web-based emulator and operating environment for the Burroughs B5500 computer system.
http://www.phkimpel.us/B5500/
MIT License
76 stars 7 forks source link

Loading with Card Load Select does not work #19

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Attempting to boot the system using Card Load Select does not work in the 
B5500Console.html UI. It does work using SyllableDebugger, however.

Original issue reported on code.google.com by paul.kimpel@digm.com on 6 Jul 2013 at 2:46

GoogleCodeExporter commented 9 years ago
Fixed in release 0.14. The problem was that IOUnit.initiateLoad() was using 
IOUnit.finish() to construct the result descriptor and reset the unit's busy 
status in Central Control. finish() also sets the I/O Complete interrupt, which 
we don't want at the end of a load. finish() call 
CentralControl.loadComplete(), which was resetting the appropriate I/O Complete 
interrupt bit, but by this time the IAR had been set, so the interrupt would 
occur anyway. The solution was for loadComplete() to call signalInterrupt(), 
which will re-prioritize any pending interrupts and reset the IAR.

This was actually a problem for both disk and card load operations, but 
apparently the KERNEL that gets loaded from disk is smart enough to ignore the 
spurious interrupt, but the one-card ESPOL loader is not. It usually worked in 
SyllableDebugger if "Run Silently" was not checked, but not otherwise, probably 
due to differences in timing.

Original comment by paul.kimpel@digm.com on 6 Oct 2013 at 5:21

GoogleCodeExporter commented 9 years ago
Confirmed.

Original comment by paul.kimpel@digm.com on 29 Dec 2013 at 4:33