More scripting fixes

This commit is contained in:
Jeff Parsons 2017-02-06 17:37:12 -08:00 • committed by Jeff Parsons
commit 16a78693e8
5 changed files with 44 additions and 3 deletions

View file

@ -43,7 +43,9 @@ Step-by-step instructions are included below. Other interesting things to know
{% include machine.html id="test1170" %} {% include machine.html id="test1170" %}
Step 1: We need to select a drive to load the [RL02K XXDP+ Diagnostics Disk](/disks/dec/rl02k/xxdp/), and since it is ### Instructions
We need to select a drive to load the [RL02K XXDP+ Diagnostics Disk](/disks/dec/rl02k/xxdp/), and since it is
an RL02K disk, we need to use an RL02 drive. A typical PDP-11 machine with a single [RL11 Disk Controller](/devices/pdp11/rl11/) an RL02K disk, we need to use an RL02 drive. A typical PDP-11 machine with a single [RL11 Disk Controller](/devices/pdp11/rl11/)
could contain up to four such drives, which we refer to as RL0 through RL3. could contain up to four such drives, which we refer to as RL0 through RL3.

View file

@ -2,6 +2,24 @@
layout: page layout: page
title: "EKBAD0: 11/70 MEMORY MANAGEMENT DIAGNOSTIC (PART 1)" title: "EKBAD0: 11/70 MEMORY MANAGEMENT DIAGNOSTIC (PART 1)"
permalink: /disks/dec/rl02k/xxdp/ekbad0/ permalink: /disks/dec/rl02k/xxdp/ekbad0/
machines:
- id: test1170
type: pdp11
config: /devices/pdp11/machine/1170/panel/debugger/machine.xml
debugger: true
autoStart: true
sticky: top
commands:
runEKBAD0: |
selectDrive RL11 RL0;
select RL11 listDisks "XXDP+ Diagnostics";
loadDisk RL11;
wait RL11;
bootDisk RL11;
sleep 1000;
receiveData SerialPort "\r";
sleep 500;
receiveData SerialPort "R EKBAD0\r";
--- ---
EKBAD0: 11/70 CPU DIAGNOSTIC (PART 1) EKBAD0: 11/70 CPU DIAGNOSTIC (PART 1)
@ -44,10 +62,26 @@ p. 1-6:
SW00 = 1 skip operator intervention testing SW00 = 1 skip operator intervention testing
The closest we have to a source code listing of the EKBAD0 diagnostic comes from some The closest we have to a source code listing of the EKBAD0 diagnostic comes from some
[scanned microfiche](http://archive.pcjs.org/pubs/dec/pdp11/diags/AH-7963D-MC_CEKBAD0_1170_CPU_1_May80.pdf) [scanned microfiche](http://archive.pcjs.org/pubs/dec/pdp11/diags/AC-7962D-MC_CEKBAD0_1170_CPU_1_May80.pdf)
on [bitsavers.org](http://bitsavers.trailing-edge.com/pdf/dec/pdp11/microfiche/ftp.j-hoppe.de/bw/gh/) for: on [bitsavers.org](http://bitsavers.trailing-edge.com/pdf/dec/pdp11/microfiche/ftp.j-hoppe.de/bw/gh/) for:
PRODUCT CODE: AC-7962D-MC PRODUCT CODE: AC-7962D-MC
PRODUCT NAME: CEKBAD0 11/70 CPU #1 PRODUCT NAME: CEKBAD0 11/70 CPU #1
DATE CREATED: MAY, 1980 DATE CREATED: MAY, 1980
MAINTAINER: DIAGNOSTIC ENGINEERING MAINTAINER: DIAGNOSTIC ENGINEERING
Step-by-step instructions for running EKBAD0 can be found below.
{% include machine.html id="test1170" %}
### Instructions For Running EKBAD0
1. Select drive RL0 {% include machine-command.html type='button' label='Do It' machine='test1170' command='script' value='selectDrive RL11 RL0' %}
2. Select disk "XXDP+ Diagnostics" for drive RL0 {% include machine-command.html type='button' label='Do It' machine='test1170' command='script' value='select RL11 listDisks "XXDP+ Diagnostics"' %}
3. Click `Load` to load the disk {% include machine-command.html type='button' label='Do It' machine='test1170' command='script' value='loadDisk RL11' %}
4. Wait for message `Loaded disk "XXDP+ Diagnostics" in drive RL0` {% include machine-command.html type='button' label='Do It' machine='test1170' command='script' value='wait RL11' %}
5. Click `Boot` to boot the disk {% include machine-command.html type='button' label='Do It' machine='test1170' command='script' value='bootDisk RL11' %}
6. Wait for a date prompt and then press *Return* {% include machine-command.html type='button' label='Do It' machine='test1170' command='script' value='sleep 1000; receiveData SerialPort "\r"' %}
7. Wait for a `.` prompt and then type `R EKBAD0` and press *Return* {% include machine-command.html type='button' label='Do It' machine='test1170' command='script' value='sleep 500; receiveData SerialPort "R EKBAD0\r"' %}
To automatically perform all of the above, click this button: {% include machine-command.html type='button' label='Run EKBAD0' machine='test1170' command='runEKBAD0' %}

View file

@ -96,7 +96,7 @@ After setting a breakpoint at 020646 and then dumping the instruction history bu
020646: 104241 EMT 241 020646: 104241 EMT 241
The closest we have to a source code listing of the EKBBF0 diagnostic comes from some The closest we have to a source code listing of the EKBBF0 diagnostic comes from some
[scanned microfiche](http://archive.pcjs.org/pubs/dec/pdp11/diags/AH-7968F-MC_CEKBBF0_1170_CPU_2_May80.pdf) [scanned microfiche](http://archive.pcjs.org/pubs/dec/pdp11/diags/AC-7966F-MC_CEKBBF0_1170_CPU_2_May80.pdf)
on [bitsavers.org](http://bitsavers.trailing-edge.com/pdf/dec/pdp11/microfiche/ftp.j-hoppe.de/bw/gh/) for: on [bitsavers.org](http://bitsavers.trailing-edge.com/pdf/dec/pdp11/microfiche/ftp.j-hoppe.de/bw/gh/) for:
PRODUCT CODE: AC-7966F-MC PRODUCT CODE: AC-7966F-MC

View file

@ -1309,6 +1309,8 @@ MarkOut.prototype.convertMDMachineLinks = function(sBlock)
if (this.aCommandDefs[sCommand]) { if (this.aCommandDefs[sCommand]) {
sValue = this.aCommandDefs[sCommand]; sValue = this.aCommandDefs[sCommand];
sCommand = "script"; sCommand = "script";
} else if (sValue) {
sValue = sValue.replace(/"/g, """);
} }
sReplacement = '<' + sControl + sControlType + ' onclick="commandMachine('; sReplacement = '<' + sControl + sControlType + ' onclick="commandMachine(';
sReplacement += "'" + sMachineID + "',"; sReplacement += "'" + sMachineID + "',";

View file

@ -676,6 +676,9 @@ class Component {
} }
sToken += ch; sToken += ch;
} }
if (sToken) {
aTokens.push(sToken);
}
if (aTokens.length) { if (aTokens.length) {
aaCommands.push(aTokens); aaCommands.push(aTokens);
} }