1
0
mirror of https://github.com/pkimpel/retro-220.git synced 2026-05-05 15:35:10 +00:00

1. Commit initial register/FF definitions for B220Processor.

2. Commit minor enhancements to B220ControlConsole and organ switch image.
This commit is contained in:
Paul Kimpel
2017-01-29 09:10:21 -08:00
parent 44f685bb51
commit b7a68153ed
12 changed files with 507 additions and 383 deletions

View File

@@ -232,25 +232,25 @@ DIV.orangeLit5 {
DIV.orangeLit {
background-image: radial-gradient(circle, #F93, #E93, #960)}
DIV.greenLamp {
DIV.blueLamp {
position: absolute;
width: 24px;
height: 24px;
font-size: 4px;
border-radius: 50%;
background-image: radial-gradient(circle, #090, #030)}
DIV.greenLit1 {
background-image: radial-gradient(circle, #0A0, #090, #040)}
DIV.greenLit2 {
background-image: radial-gradient(circle, #0B0, #0A0, #050)}
DIV.greenLit3 {
background-image: radial-gradient(circle, #0C0, #0B0, #060)}
DIV.greenLit4 {
background-image: radial-gradient(circle, #0D0, #0C0, #070)}
DIV.greenLit5 {
background-image: radial-gradient(circle, #0E0, #0D0, #080)}
DIV.greenLit {
background-image: radial-gradient(circle, #0F0, #0E0, #090)}
background-image: radial-gradient(circle, #039, #003)}
DIV.blueLit1 {
background-image: radial-gradient(circle, #03A, #039, #004)}
DIV.blueLit2 {
background-image: radial-gradient(circle, #03B, #03A, #005)}
DIV.blueLit3 {
background-image: radial-gradient(circle, #04C, #04C, #006)}
DIV.blueLit4 {
background-image: radial-gradient(circle, #05D, #05D, #007)}
DIV.blueLit5 {
background-image: radial-gradient(circle, #06E, #06E, #008)}
DIV.blueLit {
background-image: radial-gradient(circle, #07F, #07F, #009)}
DIV.coloredLampTopCaption {
position: absolute;

View File

@@ -11,15 +11,15 @@
* Original version, from D205SupervisoryPanel.css
***********************************************************************/
#BurroughsMeatball {
#BurroughsLogo {
position: absolute;
left: 12px;
top: 6px;
height: 36px}
#BurroughsLogo {
#BurroughsMeatball {
position: absolute;
left: 100px;
left: 334px;
top: 6px;
height: 36px}
@@ -87,13 +87,13 @@
height: 128px}
#RRegPanel {
left: 372px;
left: calc(50% - 156px);
top: 48px;
width: 312px;
height: 128px}
#DRegPanel {
left: 732px;
right: 12px;
top: 48px;
width: 312px;
height: 128px}
@@ -111,19 +111,19 @@
height: 128px}
#CRegPanel {
left: 384px;
left: calc(50% - 144px);
top: 208px;
width: 288px;
height: 128px}
#ERegPanel {
left: 732px;
right: 180px;
top: 208px;
width: 144px;
height: 128px}
#SRegPanel {
left: 900px;
right: 12px;
top: 208px;
width: 144px;
height: 128px}
@@ -216,7 +216,7 @@
/***** Operation Panel *****/
#OperationPanel {
left: 452px;
left: calc(50% - 77px);
top: 368px;
width: 154px;
height: 64px}
@@ -254,7 +254,7 @@
/***** Status Panel *****/
#StatusPanel {
left: 662px;
right: 12px;
top: 368px;
width: 382px;
height: 64px}
@@ -430,7 +430,7 @@
/***** Operation Switch Panel *****/
#OperationSwitchPanel {
left: 452px;
left: calc(50% - 77px);
top: 464px;
width: 154px;
height: 80px}
@@ -478,7 +478,7 @@
/***** Miscellaneous Switch Panel *****/
#MiscellaneousSwitchPanel {
left: 662px;
right: 12px;
top: 464px;
width: 382px;
height: 80px}
@@ -571,6 +571,19 @@
width: 32px}
/***** Diagnostics Panel (DEBUG) *****/
#Diagnostics {
display: none}
#CallbackTable {
position: relative;
top: 1ex;
visibility: visible;
border-collapse: collapse;
border-spacing: 0}
/***** Old Stuff *****/
#PowerOnBtn {
@@ -580,127 +593,3 @@
left: 600px;
top: 360px;
width: 24px}
#PowerLamp {
left: 600px;
top: 378px}
#ComputerStopCaption {
left: 478px;
top: 300px;
width: 160px}
#ResetOverflowBtn {
left: 461px;
top: 416px}
#ResetOverflowCaption {
left: 461px;
top: 456px;
width: 34px}
#SectorLamp {
left: 506px;
top: 330px}
#SectorLampCaption {
left: 497px;
top: 360px;
width: 40px}
#ResetSectorBtn {
left: 501px;
top: 416px}
#ResetSectorCaption {
left: 501px;
top: 456px;
width: 34px}
#ControlLamp {
left: 546px;
top: 330px}
#ControlLampCaption {
left: 537px;
top: 360px;
width: 40px}
#ResetControlBtn {
left: 541px;
top: 416px}
#ResetControlCaption {
left: 541px;
top: 456px;
width: 34px}
#FCLamp {
left: 586px;
top: 330px}
#FCLampCaption {
left: 586px;
top: 360px;
width: 24px}
#IdleLamp {
left: 626px;
top: 330px}
#IdleLampCaption {
left: 626px;
top: 360px;
width: 24px}
#AudibleAlarmSwitch {
position: absolute;
left: 626px;
top: 420px;
width: 24px}
#AudibleAlarmOn {
left: 626px;
top: 408px;
width: 24px}
#AudibleAlarmOff {
left: 608px;
top: 456px;
line-height: 130%;
width: 60px}
#ClearBtn {
left: 710px;
top: 374px}
#ClearBtnCaption {
left: 710px;
top: 300px;
width: 32px}
#LockNormalSwitch {
position: absolute;
left: 808px;
top: 378px;
width: 24px}
#LockNormalOn {
left: 808px;
top: 370px;
width: 24px}
#LockNormalOff {
left: 802px;
top: 408px;
width: 36px}
#TimingToggleCaption {
left: 844px;
top: 300px;
width: 64px}
#OperationCaption {
left: 950px;
top: 300px;
width: 88px}
#StepContinuousSwitch {
position: absolute;
left: 950px;
top: 378px;
width: 24px}
#StepContinuousOn {
left: 932px;
top: 370px;
width: 60px}
#StepContinuousOff {
left: 932px;
top: 408px;
width: 60px}

View File

@@ -28,7 +28,7 @@
<div id=PanelSurface class=panelSurface>
<img id=BurroughsMeatball src="resources/Burroughs-Meatball.png">
<img id=BurroughsLogo src="resources/Burroughs-Logo.jpg">
<img id=BurroughsLogo src="resources/Burroughs-Logo.png">
<div id=B220Logo>2 2 0</div>
<div id=IntervalTimerResetCaption class=caption>ZERO TIMER</div>
@@ -153,67 +153,18 @@
<button id=TCUClearSwitchLabel class=panelLabel>TCU CLEAR</button>
</div>
<!--
<div id=ComputerStopCaption class=panelCaption>
<span class=panelSpan>COMPUTER STOP</span>
</div>
<div id=OverflowLampCaption class=caption>OVERFLOW</div>
<div id=ResetOverflowBtn class=blackButton1>&nbsp;</div>
<div id=ResetOverflowCaption class=caption>RESET</div>
<div id=SectorLampCaption class=caption>SECTOR</div>
<div id=ResetSectorBtn class=blackButton1>&nbsp;</div>
<div id=ResetSectorCaption class=caption>RESET</div>
<div id=ControlLampCaption class=caption>CONTROL</div>
<div id=ResetControlBtn class=blackButton1>&nbsp;</div>
<div id=ResetControlCaption class=caption>RESET</div>
<div id=FCLampCaption class=caption>F.C.</div>
<div id=IdleLampCaption class=caption>IDLE</div>
<div id=AudibleAlarmOn class=caption>ON</div>
<div id=AudibleAlarmOff class=caption>AUD. ALARM<br>DISABLE</div>
<div id=ClearBtn class=redButton1>&nbsp;</div>
<div id=ClearBtnCaption class=caption>CLEAR</div>
<div id=LockNormalOn class=caption>LOCK</div>
<div id=LockNormalOff class=caption>NORMAL</div>
<div id=ExecuteBtn class=blackButton1>&nbsp;</div>
<div id=FetchBtn class=blackButton1>&nbsp;</div>
<div id=TimingToggleCaption class=caption>TIMING TOGGLE</div>
<div id=ExecuteLampCaption class=caption>EXECUTE</div>
<div id=FetchLampCaption class=caption>FETCH</div>
<div id=OperationCaption class=caption>OPERATION</div>
<div id=StepContinuousOn class=caption>CONTINUOUS</div>
<div id=StepContinuousOff class=caption>STEP</div>
<div id=StartBtn class=blackButton3>&nbsp;</div>
<div id=StartCaption class=caption>START</div>
-->
<div id=VersionDiv class=caption>
retro-220 <span id=EmulatorVersion>?.??</span>
</div>
</div>
<div id=Diagnostics style="display:none">
<div id=Diagnostics>
<br>
Proc Delta: <input id=ProcDelta class="rj" type=text size=10>
&nbsp;&nbsp;
Latency: <input id=LastLatency class="rj" type=text size=10>
<table id=CallbackTable
style="position:relative; top:1ex; visibility:visible; border-collapse:collapse; border-spacing:0">
<table id=CallbackTable>
<thead>
<tr>
<th>ID

View File

@@ -522,39 +522,39 @@ B220ControlConsole.prototype.consoleOnLoad = function consoleOnLoad() {
// Main Registers
this.regA = new PanelRegister(this.$$("ARegPanel"), 44, 4, "A_", "A");
this.regB = new PanelRegister(this.$$("BRegPanel"), 16, 4, "B_", "B");
this.regC = new PanelRegister(this.$$("CRegPanel"), 40, 4, "C_", "C");
this.regD = new PanelRegister(this.$$("DRegPanel"), 44, 4, "D_", "D");
this.regE = new PanelRegister(this.$$("ERegPanel"), 16, 4, "E_", "E");
this.regR = new PanelRegister(this.$$("RRegPanel"), 44, 4, "R_", "R");
this.regP = new PanelRegister(this.$$("PRegPanel"), 16, 4, "P_", "P");
this.regS = new PanelRegister(this.$$("SRegPanel"), 16, 4, "S_", "S");
this.regA = new PanelRegister(this.$$("ARegPanel"), 11*4, 4, "A_", "A");
this.regB = new PanelRegister(this.$$("BRegPanel"), 4*4, 4, "B_", "B");
this.regC = new PanelRegister(this.$$("CRegPanel"), 10*4, 4, "C_", "C");
this.regD = new PanelRegister(this.$$("DRegPanel"), 11*4, 4, "D_", "D");
this.regE = new PanelRegister(this.$$("ERegPanel"), 4*4, 4, "E_", "E");
this.regR = new PanelRegister(this.$$("RRegPanel"), 11*4, 4, "R_", "R");
this.regP = new PanelRegister(this.$$("PRegPanel"), 4*4, 4, "P_", "P");
this.regS = new PanelRegister(this.$$("SRegPanel"), 4*4, 4, "S_", "S");
// Status Panels
panel = this.$$("AlarmPanel");
this.digitCheckLamp = new ColoredLamp(panel, null, null, "DigitCheckLamp", "redLamp lampCollar", "redLit");
this.programCheck = new ColoredLamp(panel, null, null, "ProgramCheckLamp", "redLamp lampCollar", "redLit");
this.storageLamp = new ColoredLamp(panel, null, null, "StorageLamp", "redLamp lampCollar", "redLit");
this.magneticTapeLamp = new ColoredLamp(panel, null, null, "MagneticTapeLamp", "redLamp lampCollar", "redLit");
this.cardatronLamp = new ColoredLamp(panel, null, null, "CardatronLamp", "redLamp lampCollar", "redLit");
this.paperTapeLamp = new ColoredLamp(panel, null, null, "PaperTapeLamp", "redLamp lampCollar", "redLit");
this.digitCheckLamp = new ColoredLamp(panel, null, null, "DigitCheckLamp", "redLamp lampCollar", "redLit");
this.programCheck = new ColoredLamp(panel, null, null, "ProgramCheckLamp", "redLamp lampCollar", "redLit");
this.storageLamp = new ColoredLamp(panel, null, null, "StorageLamp", "redLamp lampCollar", "redLit");
this.magneticTapeLamp = new ColoredLamp(panel, null, null, "MagneticTapeLamp", "redLamp lampCollar", "redLit");
this.cardatronLamp = new ColoredLamp(panel, null, null, "CardatronLamp", "redLamp lampCollar", "redLit");
this.paperTapeLamp = new ColoredLamp(panel, null, null, "PaperTapeLamp", "redLamp lampCollar", "redLit");
this.highSpeedPrinterLamp = new ColoredLamp(panel, null, null, "HighSpeedPrinterLamp", "redLamp lampCollar", "redLit");
this.systemNotReadyLamp = new ColoredLamp(panel, null, null, "SystemNotReadyLamp", "redLamp lampCollar", "redLit");
this.systemNotReadyLamp = new ColoredLamp(panel, null, null, "SystemNotReadyLamp", "redLamp lampCollar", "redLit");
this.computerNotReadyLamp = new ColoredLamp(panel, null, null, "ComputerNotReadyLamp", "redLamp lampCollar", "redLit");
panel = this.$$("OperationPanel");
this.runLamp = new ColoredLamp(panel, null, null, "RunLamp", "redLamp lampCollar", "redLit");
this.fetchLamp = new ColoredLamp(panel, null, null, "FetchLamp", "redLamp lampCollar", "redLit");
this.executeLamp = new ColoredLamp(panel, null, null, "ExecuteLamp", "redLamp lampCollar", "redLit");
this.runLamp = new ColoredLamp(panel, null, null, "RunLamp", "blueLamp lampCollar", "blueLit");
this.fetchLamp = new ColoredLamp(panel, null, null, "FetchLamp", "blueLamp lampCollar", "blueLit");
this.executeLamp = new ColoredLamp(panel, null, null, "ExecuteLamp", "blueLamp lampCollar", "blueLit");
panel = this.$$("StatusPanel");
this.overflowLamp = new ColoredLamp(panel, null, null, "OverflowLamp", "redLamp lampCollar", "redLit");
this.repeatLamp = new ColoredLamp(panel, null, null, "RepeatLamp", "redLamp lampCollar", "redLit");
this.lowLamp = new ColoredLamp(panel, null, null, "LowLamp", "redLamp lampCollar", "redLit");
this.equalLamp = new ColoredLamp(panel, null, null, "EqualLamp", "redLamp lampCollar", "redLit");
this.highLamp = new ColoredLamp(panel, null, null, "HighLamp", "redLamp lampCollar", "redLit");
this.overflowLamp = new ColoredLamp(panel, null, null, "OverflowLamp", "blueLamp lampCollar", "blueLit");
this.repeatLamp = new ColoredLamp(panel, null, null, "RepeatLamp", "blueLamp lampCollar", "blueLit");
this.lowLamp = new ColoredLamp(panel, null, null, "LowLamp", "blueLamp lampCollar", "blueLit");
this.equalLamp = new ColoredLamp(panel, null, null, "EqualLamp", "blueLamp lampCollar", "blueLit");
this.highLamp = new ColoredLamp(panel, null, null, "HighLamp", "blueLamp lampCollar", "blueLit");
// Organ Switches

View File

@@ -486,7 +486,7 @@ function OrganSwitch(parent, x, y, id, offImage, onImage, momentary) {
OrganSwitch.topCaptionClass = "OrganSwitchTopCaption";
OrganSwitch.bottomCaptionClass = "OrganSwitchBottomCaption";
OrganSwitch.momentaryPeriod = 250; // time for momentary switch to bounce back, ms
OrganSwitch.momentaryPeriod = 150; // time for momentary switch to bounce back, ms
/**************************************/
OrganSwitch.prototype.addEventListener = function addEventListener(eventName, handler, useCapture) {

View File

@@ -55,6 +55,7 @@ B220SystemConfig.prototype.createConfigData = function createConfigData() {
this.configData = {
version: this.configVersion,
memorySize: 5000, // 11-digit words
SupervisoryPanel: {
pulseSourceSwitch: 0,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -24,28 +24,30 @@
id="defs4">
<linearGradient
inkscape:collect="always"
id="linearGradient3344">
id="linearGradient4299">
<stop
style="stop-color:#ffffff;stop-opacity:1"
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3346" />
id="stop4301" />
<stop
id="stop4142"
offset="0.57142907"
id="stop4307"
offset="0.63636404"
style="stop-color:#ffffff;stop-opacity:1" />
<stop
style="stop-color:#eee4d0;stop-opacity:1"
style="stop-color:#eee4d0;stop-opacity:0.50196081"
offset="1"
id="stop3348" />
id="stop4303" />
</linearGradient>
<linearGradient
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3344"
id="linearGradient4140"
x1="45"
y1="980.36218"
x2="45"
y2="1043.3622"
xlink:href="#linearGradient4299"
id="radialGradient4305"
cx="45"
cy="996.88269"
fx="45"
fy="996.88269"
r="36.5"
gradientTransform="matrix(1.2328767,-1.5759049e-7,1.7334949e-7,1.3561639,-10.479624,-353.57409)"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
@@ -56,22 +58,25 @@
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="5.6"
inkscape:cx="46.701919"
inkscape:cy="27.79937"
inkscape:cx="46.27551"
inkscape:cy="57.578947"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="in"
width="1in"
inkscape:window-width="878"
inkscape:window-height="669"
inkscape:window-width="1188"
inkscape:window-height="862"
inkscape:window-x="31"
inkscape:window-y="29"
inkscape:window-maximized="0">
inkscape:window-maximized="0"
gridtolerance="1"
objecttolerance="1"
guidetolerance="1">
<inkscape:grid
type="xygrid"
id="grid3336"
snapvisiblegridlinesonly="true"
snapvisiblegridlinesonly="false"
units="in"
spacingx="4.5000001"
spacingy="4.5000002"
@@ -96,13 +101,13 @@
transform="translate(0,-962.36221)">
<path
style="fill:#808080;fill-opacity:1;fill-rule:evenodd;stroke:#d0d0d0;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 8.9999962,980.36221 c 0,0 -1.3040294,9.19309 0,13.5 1.5672478,5.17626 0.073215,43.53419 4.3571418,49.21429 4.821431,6.3929 58.107148,7.1071 62.750002,0.3571 3.97875,-5.7845 4.892856,-54.07139 4.892856,-54.07139 l 0,-9"
d="m 8.9999962,980.36221 c 0,0 -0.6036375,-1.62786 -0.3571429,8.85714 0.2464947,10.48501 0.4303579,48.17705 4.7142847,53.85715 4.821431,6.3929 58.107148,7.1071 62.750002,0.3571 3.97875,-5.7845 4.892856,-54.07139 4.892856,-54.07139 l 0,-9"
id="path3342"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsscc" />
sodipodi:nodetypes="czsscc" />
<path
style="fill:url(#linearGradient4140);fill-opacity:1;fill-rule:evenodd;stroke:#d0d0d0;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 8.9999962,980.36221 c 0,0 -7e-7,57.60709 8.8214288,62.10709 8.82143,4.5001 44.821424,3.9644 54,0.1787 9.178576,-3.7858 9.178571,-62.28579 9.178571,-62.28579 z"
style="opacity:1;fill:url(#radialGradient4305);fill-opacity:1;fill-rule:evenodd;stroke:#d0d0d0;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 8.9999962,980.36221 c 0,0 5e-7,58.49999 8.8214288,62.10709 8.821428,3.6071 45.178575,5.3929 54,0.1787 8.821425,-5.2142 9.178571,-62.28579 9.178571,-62.28579 z"
id="path3338"
inkscape:connector-curvature="0"
sodipodi:nodetypes="czzcc"

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB