mirror of
https://github.com/trebonian/visual6502.git
synced 2024-12-21 21:29:16 +00:00
All: added variables for grChipOffsetX/gfChipOffsetY (previously hardcoded to 400/0)
This commit is contained in:
parent
225b49a6d8
commit
59792d75fc
@ -4,7 +4,9 @@
|
||||
|
||||
chipname='6800';
|
||||
|
||||
grChipSize=7000;
|
||||
grChipSize=6600;
|
||||
grChipOffsetX=25
|
||||
grChipOffsetY=-200;
|
||||
|
||||
ngnd = nodenames['gnd'];
|
||||
npwr = nodenames['vcc'];
|
||||
|
@ -5,6 +5,8 @@
|
||||
chipname='z80';
|
||||
|
||||
grChipSize=5000;
|
||||
grChipOffsetX=150;
|
||||
grChipOffsetY=0;
|
||||
grCanvasSize=5000;
|
||||
grMaxZoom=24;
|
||||
|
||||
@ -22,15 +24,6 @@ presetLogLists=[
|
||||
['_int','_nmi', nodenamereset],
|
||||
];
|
||||
|
||||
// Override drawSeg so we can use a different offset
|
||||
function drawSeg(ctx, seg){
|
||||
var dx = 150;
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(grScale(seg[0]+dx), grScale(grChipSize-seg[1]));
|
||||
for(var i=2;i<seg.length;i+=2) ctx.lineTo(grScale(seg[i]+dx), grScale(grChipSize-seg[i+1]));
|
||||
ctx.lineTo(grScale(seg[0]+dx), grScale(grChipSize-seg[1]));
|
||||
}
|
||||
|
||||
function setupTransistors(){
|
||||
for(i in transdefs){
|
||||
var tdef = transdefs[i];
|
||||
|
@ -43,6 +43,8 @@ var labelThese=[];
|
||||
// rounding artifacts, and at high zoom there will be anti-aliasing on edges.
|
||||
var grMaxZoom=12;
|
||||
var grChipSize=10000;
|
||||
var grChipOffsetX=400;
|
||||
var grChipOffsetY=0;
|
||||
var grCanvasSize=2000;
|
||||
var grLineWidth=1;
|
||||
|
||||
@ -457,7 +459,7 @@ function hiliteNodeList(){
|
||||
// the localx and localy functions return canvas coordinate offsets from the canvas window top left corner
|
||||
// we divide the results by 'zoom' to get drawn coordinates useful in findNodeNumber
|
||||
// to convert to reported user chip coordinates we multiply by grChipSize/600
|
||||
// to compare to segdefs and transdefs coordinates we subtract 400 from x and subtract y from grChipSize
|
||||
// to compare to segdefs and transdefs coordinates we subtract grChipOffsetX from x and subtract y from grChipSize plus grChipOffsetY
|
||||
|
||||
function handleClick(e){
|
||||
var x = localx(hilite, e.clientX)/zoom;
|
||||
@ -476,8 +478,8 @@ function handleClick(e){
|
||||
// we have a node, but maybe we clicked over a transistor
|
||||
var nodelist=[w];
|
||||
// match the coordinate against transistor gate bounding boxes
|
||||
x=cx-400;
|
||||
y=grChipSize-cy;
|
||||
x=cx-grChipOffsetX;
|
||||
y=grChipSize+grChipOffsetY-cy;
|
||||
for(var i=0;i<nodes[w].gates.length;i++){
|
||||
var xmin=nodes[w].gates[i].bb[0], xmax=nodes[w].gates[i].bb[1];
|
||||
var ymin=nodes[w].gates[i].bb[2], ymax=nodes[w].gates[i].bb[3];
|
||||
|
@ -45,6 +45,8 @@ var userResetHigh;
|
||||
// rounding artifacts, and at high zoom there will be anti-aliasing on edges.
|
||||
var grMaxZoom=12;
|
||||
var grChipSize=10000;
|
||||
var grChipOffsetX=400;
|
||||
var grChipOffsetY=0;
|
||||
var grCanvasSize=2000;
|
||||
var grLineWidth=1;
|
||||
|
||||
|
9
wires.js
9
wires.js
@ -211,11 +211,12 @@ function zoomToBox(xmin,xmax,ymin,ymax){
|
||||
}
|
||||
|
||||
function drawSeg(ctx, seg){
|
||||
var dx = 400;
|
||||
var dx = grChipOffsetX;
|
||||
var dy = grChipOffsetY;
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(grScale(seg[0]+dx), grScale(grChipSize-seg[1]));
|
||||
for(var i=2;i<seg.length;i+=2) ctx.lineTo(grScale(seg[i]+dx), grScale(grChipSize-seg[i+1]));
|
||||
ctx.lineTo(grScale(seg[0]+dx), grScale(grChipSize-seg[1]));
|
||||
ctx.moveTo(grScale(seg[0]+dx), grScale(grChipSize-seg[1]+dy));
|
||||
for(var i=2;i<seg.length;i+=2) ctx.lineTo(grScale(seg[i]+dx), grScale(grChipSize-seg[i+1]+dy));
|
||||
ctx.lineTo(grScale(seg[0]+dx), grScale(grChipSize-seg[1]+dy));
|
||||
}
|
||||
|
||||
function findNodeNumber(x,y){
|
||||
|
Loading…
Reference in New Issue
Block a user