1
0
mirror of https://github.com/pkimpel/retro-220.git synced 2026-04-27 12:30:12 +00:00

Commit version 0.00d:

1. Implement console teletype printer and paper tape punch devices.
2. Correct timing mechanism and operation complete processing for asynchronous (I/O) processor mode.
3. Delete extraneous alarm toggles from B220Processor.
4. Correct Reset And Transfer switch so it will work when the Processor is running.
5. Implement Hello World default program for SPO at address 0020.
6. Change keyboard keystroke assignments for B220ConsoleKeyboard.
7. Implement Reset-to-Defaults feature for B220SystemConfig.
8. Implement DOM Element.classList for B220Util class attribute manipulation.
9. Minor typo correction to BALGOL-Generator.bacg.
This commit is contained in:
Paul Kimpel
2017-04-29 13:41:02 -07:00
parent bd285f4308
commit df29455c91
20 changed files with 2538 additions and 367 deletions

View File

@@ -23,7 +23,7 @@ function B220ConsoleKeyboard(p) {
this.window = null; // window object, null if not displayed
this.enabled = false; // true if keyboard is active
this.boundKeypress = B220Processor.bindMethod(this, B220ConsoleKeyboard.prototype.keypress);
this.boundKeypress = B220Util.bindMethod(this, B220ConsoleKeyboard.prototype.keypress);
this.boundButton_Click = B220Util.bindMethod(this, B220ConsoleKeyboard.prototype.button_Click);
this.boundKeyboard_OnLoad = B220Util.bindMethod(this, B220ConsoleKeyboard.prototype.keyboardOnLoad);
this.boundKeyboard_Unload = B220Util.bindMethod(this, B220ConsoleKeyboard.prototype.keyboardUnload);
@@ -150,14 +150,22 @@ B220ConsoleKeyboard.prototype.keypress = function keypress(ev) {
this.animateClick(this.$$("EBtn"));
this.p.keyboardAction(-3);
break;
case 0x0D: // Enter key = EXAM
case 0x58: case 0x78: // "X", "x"
this.animateClick(this.$$("ExamBtn"));
this.p.keyboardAction(-4);
break;
case 0x0D: // Enter key = ENT
this.animateClick(this.$$("EntBtn"));
this.p.keyboardAction(-5);
break;
case 0x53: case 0x73: // "S", "s"
this.animateClick(this.$$("StepBtn"));
this.p.keyboardAction(-6);
break;
case 0: // Firefox reports only graphic charCodes for keypress
if (ev.keyCode == 0x0D) { // check keyCode instead
this.animateClick(this.$$("ExamBtn"));
this.p.keyboardAction(-4);
this.animateClick(this.$$("EntBtn"));
this.p.keyboardAction(-5);
}
break;
} // switch c
@@ -175,7 +183,7 @@ B220ConsoleKeyboard.prototype.keyboardOpen = function keyboardOpen() {
if (!this.window) {
this.window = window.open("../webUI/B220ConsoleKeyboard.html", this.mnemonic,
"location=no,scrollbars=no,resizable,width=" + w + ",height=" + h +
"resizable,width=" + w + ",height=" + h +
",left=" + (screen.availWidth - w) + ",top=" + (screen.availHeight - h));
this.window.addEventListener("load", this.boundKeyboard_OnLoad, false);
}