Way of drawing a Black Circle inside a Table field

I don’t consider this elegant, but …
wireviz3

The improved pin2pin is modified again to add point-shaped nodes at the ends of marked edges.

/*******************************************************************

  see https://forum.graphviz.org/t/straitening-one-line-throu-a-table/2196
  input must include pos values (must be output from one of the engines w/ -Tdot)

*******************************************************************/
BEG_G{
  double x1,y1,x2,y2,x3,y3,x4,y4;
  string ptSize, tok[int], pt[];
  int cnt, circ, i;
  node_t aNode;

  circ=0;
}
/********************************************************
  it would be better to mark every target edge with a new attribute and test for that attribute
*********************************************************/
E{
  if (hasAttr($, "addPTS") && $.addPTS!="") {  // explicitly marked edges
    cnt=tokens($.pos,tok," ");
    $.oldpos=$.pos;
    x1 = xOf(tok[0]);
    y1 = yOf(tok[0]);
    x4 = xOf(tok[cnt-1]);
    y4 = yOf(tok[cnt-1]);
    x2 = x1 + (x4-x1)/3.;
    y2 = y1 + (y4-y1)/3.;
    x3 = x1 + 2.*(x4-x1)/3.;
    y3 = y1 + 2.*(y4-y1)/3.;
    pos=sprintf("%.3f,%.3f %.3f,%.3f %.3f,%.3f %.3f,%.3f", x1,y1, x2,y2, x3,y3, x4,y4);
    // now we place point nodes at the edge ends
    pt[1]=tok[0];
    pt[2]=tok[cnt-1];
    ptSize=".13";
    for (pt[i]) {
      if (i==2 && pt[1]==pt[2])
        continue;
      aNode=node($G, "__CIRCLE__" + (string)++circ);
      aNode.pos=pt[i];
      aNode.shape="point";
      aNode.width=ptSize;
      aNode.height=ptSize;
      aNode.style="filled";
      aNode.fillcolor="green";  // just for fun
    }
  }
}

And the input looks like this:

graph {
// Graph generated by WireViz 0.3.2
// https://github.com/formatc1702/WireViz
	graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
	node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0]
	edge [fontname=arial style=bold label=" "]

	X2 [label=<
<table border="0" cellspacing="0" cellpadding="0">
 <tr><td>
  <table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
   <td balign="left">X2</td>
  </tr></table>
 </td></tr>
 <tr><td>
  <table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
   <td balign="left">P1</td>
   <td balign="left">9-pin</td>
  </tr></table>
 </td></tr>
 <tr><td>
  <table border="0" cellspacing="0" cellpadding="3" cellborder="1">
   <tr>
    <td port="p1l">1</td>
    <td>+28VDC</td>
    <td width="38"  port="p1I"></td>
    <td width="38"  port="p1J"></td>
    <td width="38"  port="p1K"></td>
   </tr>
   <tr>
    <td port="p2l">2</td>
    <td>+28VDC RTN</td>
    <td width="38"  port="p2I"></td>
    <td width="38"  port="p2J"></td>
    <td width="38"  port="p2K"></td>
   </tr>
   <tr>
    <td port="p3l">3</td>
    <td>Token-In REF</td>
    <td width="38"  port="p3I"></td>
    <td width="38"  port="p3J"></td>
    <td width="38"  port="p3K"></td>
    </tr>
   <tr>
    <td port="p4l">4</td>
    <td>Token-In</td>
    <td width="38"  port="p4I"></td>
    <td width="38"  port="p4J"></td>
    <td width="38"  port="p4K"></td>
   </tr>
   <tr>
    <td port="p5l">5</td>
    <td>NC</td>
    <td width="38"  port="p5I"></td>
    <td width="38"  port="p5J"></td>
    <td width="38"  port="p5K"></td>
   </tr>
   <tr>
    <td port="p6l">6</td>
    <td>NC</td>
    <td width="38"  port="p6I"></td>
    <td width="38"  port="p6J"></td>
    <td width="38"  port="p6K"></td>
   </tr>
   <tr>
    <td port="p7l">7</td>
    <td>RS-485+</td>
    <td width="38"  port="p7I"></td>
    <td width="38"  port="p7J"></td>
    <td width="38"  port="p7K"></td>
   </tr>
   <tr>
    <td port="p8l">8</td>
    <td>RS-485-</td>
    <td width="38"  port="p8I"></td>
    <td width="38"  port="p8J"></td>
    <td width="38"  port="p8K"></td>
    </tr>
   <tr>
    <td port="p9l">9</td>
    <td>RS-485 Shield</td>
    <td width="38"  port="p9I"></td>
    <td width="38"  port="p9J"></td>
    <td width="38"  port="p9K"></td>
   </tr>
  </table>
 </td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]

	edge [color="#000000:#ff0000:#000000" label=" "]
	W1:w1:e -- X2:p1l:w
	edge [color="#000000:#000000:#000000" label=" "]
	W1:w2:e -- X2:p2l:w
	edge [color="#000000:#f5f0d0:#000000" label=" "]
	W1:w3:e -- X2:p7l:w
	edge [color="#000000:#0066ff:#000000" label=" "]
	W1:w4:e -- X2:p8l:w
	edge [color="#000000:#00ff00:#000000" label=" "]
	W1:w5:e -- X2:p9l:w

      {  // keep edge attributes contained within subgraph
	edge [color="#000000" addPTS=1 headclip=false, tailclip=false, style="dashed", constraint=false]
	X2:p2I:c -- X2:p2I:c 
	X2:p1J:c -- X2:p5J:c 
	X2:p8J:c -- X2:p8J:c 
	X2:p9J:c -- X2:p9J:c 
	X2:p3K:c -- X2:p4K:c 
	X2:p6K:c -- X2:p9K:c [color=red]  // for fun
	X2:p4I:c -- X2:p5I:c 
	X2:p5I:c -- X2:p8I:c
     }
	W1 [label=<
<table border="0" cellspacing="0" cellpadding="0">
 <tr><td>
  <table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
   <td balign="left">W1</td>
  </tr></table>
 </td></tr>
 <tr><td>
  <table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>
   <td balign="left">5x</td>
  </tr></table>
 </td></tr>
 <tr><td>
  <table border="0" cellspacing="0" cellborder="0">
   <tr><td>&nbsp;&nbsp;&nbsp;</td></tr>
   <tr>
    <td><!-- 1_in --></td>
    <td>
     1:RD
    </td>
    <td>X2:1:+28VDC</td>
   </tr>
   <tr>
    <td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6">
     <table cellspacing="0" cellborder="0" border="0">
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr>
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
     </table>
    </td>
   </tr>
   <tr>
    <td><!-- 2_in --></td>
    <td>
     2:BK
    </td>
    <td>X2:2:+28VDC RTN</td>
   </tr>
   <tr>
    <td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6">
     <table cellspacing="0" cellborder="0" border="0">
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
     </table>
    </td>
   </tr>
   <tr>
    <td><!-- 3_in --></td>
    <td>
     3:IV
    </td>
    <td>X2:7:RS-485+</td>
   </tr>
   <tr>
    <td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6">
     <table cellspacing="0" cellborder="0" border="0">
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#f5f0d0" border="0"></td></tr>
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
     </table>
    </td>
   </tr>
   <tr>
    <td><!-- 4_in --></td>
    <td>
     4:BU
    </td>
    <td>X2:8:RS-485-</td>
   </tr>
   <tr>
    <td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6">
     <table cellspacing="0" cellborder="0" border="0">
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#0066ff" border="0"></td></tr>
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
     </table>
    </td>
   </tr>
   <tr>
    <td><!-- 5_in --></td>
    <td>
     5:GN
    </td>
    <td>X2:9:RS-485 Shield</td>
   </tr>
   <tr>
    <td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w5" height="6">
     <table cellspacing="0" cellborder="0" border="0">
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ff00" border="0"></td></tr>
      <tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr>
     </table>
    </td>
   </tr>
   <tr><td>&nbsp;&nbsp;&nbsp;</td></tr>
  </table>
 </td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
}