[dev]improve expert-mode tabulation

This commit is contained in:
BigEd 2010-09-27 13:16:59 +00:00
parent f67125989c
commit 4ce8e4291f
3 changed files with 23 additions and 9 deletions

View File

@ -86,7 +86,6 @@ function testNMI(n){
for(var i=0;i<16;i++){step();} for(var i=0;i<16;i++){step();}
} }
function initChip(){ function initChip(){
var start = now(); var start = now();
for(var nn in nodes) nodes[nn].state = 'fl'; for(var nn in nodes) nodes[nn].state = 'fl';
@ -109,7 +108,7 @@ function initChip(){
if(ctrace)console.log('initChip done after', now()-start); if(ctrace)console.log('initChip done after', now()-start);
} }
var logThese=['sync','irq','nmi','ab','db','rw','pc','a','x','y','s']; var logThese=['cycle','sync','irq','nmi','ab','db','rw','pc','a','x','y','s','p'];
function step(){ function step(){
trace[cycle]= {chip: stateString(), mem: getMem()}; trace[cycle]= {chip: stateString(), mem: getMem()};
@ -179,12 +178,19 @@ function readBits(name, n){
return res; return res;
} }
function hexBus(busname){ function busToString(busname){
var nodenamelist=[]; // takes a signal name or prefix
// console.log('hexBus called: ' + busname); // returns an appropriate string representation
for(i in nodenames){nodenamelist.push(i)};
if(busname=='pc') if(busname=='pc')
return hexBus('pch') + hexBus('pcl'); return busToHex('pch') + busToHex('pcl');
if(busname=='p')
return readPstring();
if(busname=='cycle')
return cycle>>1;
return busToHex(busname);
}
function busToHex(busname){
var width=0; var width=0;
for(var i in nodenamelist){ for(var i in nodenamelist){
if(nodenamelist[i].search("^"+busname+"[0-9]")==0) if(nodenamelist[i].search("^"+busname+"[0-9]")==0)
@ -298,7 +304,7 @@ function updateLogbox(names){
var signals=[]; var signals=[];
for(i in names){ for(i in names){
signals.push(hexBus(names[i])); signals.push(busToString(names[i]));
} }
logStream.push("<td>" + signals.join("</td><td>") + "</td>"); logStream.push("<td>" + signals.join("</td><td>") + "</td>");

View File

@ -82,7 +82,8 @@ img.navstop{
table.logstream { table.logstream {
font-family: monospace; font-family: monospace;
font-size: 12px; font-size: 12px;
border-spacing: 1px; border-spacing: 2px;
text-align:center
} }
table.memtable { table.memtable {

View File

@ -34,6 +34,7 @@ var drawlayers = [true, true, true, true, true, true];
var nodes = new Array(); var nodes = new Array();
var transistors = {}; var transistors = {};
var nodenamelist=[];
var ngnd = nodenames['vss']; var ngnd = nodenames['vss'];
var npwr = nodenames['vcc']; var npwr = nodenames['vcc'];
@ -65,6 +66,7 @@ function setup_part2(){
recenter(); recenter();
refresh(); refresh();
setupTable(); setupTable();
setupNodeNameList();
window.onkeypress = function(e){handleKey(e);} window.onkeypress = function(e){handleKey(e);}
hilite.onmousedown = function(e){mouseDown(e);} hilite.onmousedown = function(e){mouseDown(e);}
setStatus('resetting 6502...'); setStatus('resetting 6502...');
@ -364,6 +366,11 @@ function setStatus(){
statbox.innerHTML = res; statbox.innerHTML = res;
} }
function setupNodeNameList(){
for(var i in nodenames)
nodenamelist.push(i);
}
function nodeName(n) { function nodeName(n) {
for(var i in nodenames){ for(var i in nodenames){
if(nodenames[i]==n) return i; if(nodenames[i]==n) return i;