1
0
mirror of https://github.com/pkimpel/retro-b5500.git synced 2026-02-13 11:44:33 +00:00

Continue debugging Character Mode tests.

This commit is contained in:
paul
2013-02-04 02:25:26 +00:00
parent fd34b8c08d
commit cb6cdadda0
5 changed files with 209 additions and 62 deletions

View File

@@ -118,3 +118,10 @@ TR {
.number {
font-family: Lucida Sans Typewriter, Courier New, Courier, monospace;
text-align: right}
.revcaption {
text-align: center;
color: white;
background-color: black;
font-weight: bold}

View File

@@ -372,14 +372,14 @@ function decodeSyllable(syllable, mode, level, msff) {
if (v == 0) {
text += wordOps[opcode];
} else {
text += wordOps["XX55"] + " (" + ((v >>> 3)*8 + v%8) + ")";
text += wordOps["XX55"] + " (" + ((v >>> 3)*6 + v%8) + ")";
}
break;
case 49: // XX61: VARI, DIB
if (v == 0) {
text += wordOps[opcode];
} else {
text += wordOps["XX61"] + " (" + ((v >>> 3)*8 + v%8) + ")";
text += wordOps["XX61"] + " (" + ((v >>> 3)*6 + v%8) + ")";
}
break;
case 53: // XX65: TRB
@@ -583,12 +583,12 @@ function stepIt(exec) {
setText("ARegOrig", padOctal(cc.P1.A, 16));
setText("BRegOrig", padOctal(cc.P1.B, 16));
cc.P1.X = 0;
if (exec) {
saveT = cc.P1.T;
saveC = cc.P1.C;
saveL = cc.P1.L;
saveP = cc.P1.P;
cc.P1.X = 0;
cc.P1.T = opcode;
}
cc.P1.step();
@@ -719,6 +719,10 @@ function checkBrowser() {
function initialize() {
document.body.addEventListener("error", function(ev) {
console.log(ev);
}, false);
$$("LogoDiv").onclick = function(ev) {
displayProcessorState();
};
@@ -908,11 +912,11 @@ window.onload = function() {
<th>Addr
<th>Current (octal)
<th>BIC
<th>FP Value
<th>Current (decimal)
<th>Original (octal)
<tbody>
<tr>
<td colspan=5 class="center bold">STACK
<td colspan=6 class="revcaption">STACK
<tr>
<td class=center>A
<td>
@@ -1008,7 +1012,7 @@ window.onload = function() {
<tbody>
<tr>
<td colspan=5 class="center bold">MEMORY
<td colspan=6 class="revcaption">MEMORY
<tr>
<td class=center>+4
<td id=MAddrP4 class="data center">44444

View File

@@ -24,7 +24,7 @@ START:*: 00500100
00500200
D[0]:= 76543210; 00500300
00520000
STREAM(R:=D[0]: S:=S, D:=D); 00520100
STREAM(R:=-D[0]: COUNT:=0, S:=S, D:=D); 00520100
BEGIN 00520200
SI:= S; 00520300
SI:= SI+51; 00520400
@@ -33,15 +33,124 @@ STREAM(R:=D[0]: S:=S, D:=D); 00520100
00520700
SI:= LOC R; 00520800
DI:= D; 00520900
DI:= DI+32; 00521000
DI:= DI+17; 00521000
DS:= 8 DEC; 00521100
00521200
SI:= SI-8; 00521300
DI:= D; 00521400
2(DI:= DI+40); 00521500
DI:= DI+32; 00521600
SI:= D; 00521300
2(SI:= SI+7); 00521400
SI:= SI+3; 00521500
DI:= LOC R; 00521600
DS:= 8 OCT; 00521700
END STREAM; 00521800
00521800
DI:= D; 00521900
DI:= DI+9; 00522000
COUNT:= DI; 00522100
DS:= 9 LIT "ADGJMPSV7"; 00522200
00522300
SI:= COUNT; 00522400
DS:= 9 ZON; 00522500
00522600
SI:= COUNT; 00522700
DS:= 9 NUM; 00522800
00522900
SI:= COUNT; 00523000
DI:= COUNT; 00523100
DI:= DI+11; 00523200
TALLY:= 3; 00523300
COUNT:= TALLY; 00523400
DS:= COUNT WDS; 00523500
00523600
DI:= D; 00523700
DI:= DI+9; 00523800
DS:= 9 FILL; 00523900
00524000
SI:= S; 00524100
IF SC > "A" THEN 00524200
DS:= SET; 00524300
IF SC } "A" THEN 00524400
DS:= SET; 00524500
IF SC = "A" THEN 00524600
DS:= SET; 00524700
IF SC { "A" THEN 00524800
DS:= SET; 00524900
IF SC < "A" THEN 00525000
DS:= SET; 00525100
IF SC ! "A" THEN 00525200
DS:= SET; 00525300
IF SC = ALPHA THEN 00525400
DS:= SET; 00525500
00525600
SI:= S; 00525700
DI:= D; 00525800
IF 9 SC > DC THEN 00525900
TALLY:= TALLY+1; 00526000
SI:= S; 00526100
DI:= D; 00526200
IF 9 SC } DC THEN 00526300
TALLY:= TALLY+1; 00526400
SI:= S; 00526500
DI:= D; 00526600
IF 9 SC = DC THEN 00526700
TALLY:= TALLY+1; 00526800
SI:= S; 00526900
DI:= D; 00527000
IF 9 SC { DC THEN 00527100
TALLY:= TALLY+1; 00527200
SI:= S; 00527300
DI:= D; 00527400
IF 9 SC < DC THEN 00527500
TALLY:= TALLY+1; 00527600
SI:= S; 00527700
DI:= D; 00527800
IF 9 SC ! DC THEN 00527900
TALLY:= TALLY+1; 00528000
00528100
3(IF SB THEN JUMP OUT ELSE SKIP SB); 00528200
2(IF SB THEN 00528300
SKIP SB 00528400
ELSE 00528500
BEGIN 00528600
SKIP 2 SB; 00528700
JUMP OUT; 00528800
END; 00528900
); 00529000
00529100
SI:= SC; 00529200
DI:= DC; 00529300
00529400
SI:= S; 00529500
DI:= D; 00529600
DI:= DI+8; 00529700
SKIP 40 SB; 00529800
SKIP 40 DB; 00529900
TALLY:= 10; 00530000
COUNT:= TALLY; 00530100
COUNT( 00530200
IF SB THEN DS:= SET ELSE DS:= RESET; 00530300
SKIP SB; 00530400
); 00530500
00530600
DI:= D; 00530700
DS:= 9 LIT "00000123M"; 00530800
DS:= 9 LIT "765432100"; 00530900
SI:= D; 00531000
DI:= D; 00531100
DI:= DI+9; 00531200
DS:= 9 ADD; 00531300
00531400
DI:= D; 00531500
DS:= 9 LIT "00000123M"; 00531600
DS:= 9 LIT "765432100"; 00531700
SI:= D; 00531800
DI:= D; 00531900
DI:= DI+9; 00532000
DS:= 9 SUB; 00532100
00532200
COUNT:= CI; 00532300
TALLY:= COUNT; 00532400
CI:= COUNT; 00532500
00532600
END STREAM; 00549900
00999700
GO TO START; 00999800
END. 00999900