Index: old/tools/pcb2ncap/up2pcb.cc =================================================================== --- old/tools/pcb2ncap/up2pcb.cc (revision 36965) +++ old/tools/pcb2ncap/up2pcb.cc (nonexistent) @@ -1,116 +0,0 @@ -/* - * COPYRIGHT - * - * up2pcb, simple unixplot file to pcb sintaxe file program converter - * Copyright (C) 2001 Luis Claudio Gambôa Lopes - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * Contact address for Email: - * lcgamboa@yahoo.com - * - */ - -#include -#include -#include - -#include - - -using namespace std; - -float SCALE = 3.0; - -int main(int argc, char **argv) -{ - int x1, y1, x2, y2, r; - string s; - string fname, fname2; - - for (int d = 1; d < argc; d++) { - fname = argv[d]; - FILE *fi, *fo, *fov; - float sx, sy; - - fi = fopen(fname.c_str(), "r"); - fname2 = fname + ".lpcb"; - fo = fopen(fname2.c_str(), "w"); - fname2 = fname + ".vpcb"; - fov = fopen(fname2.c_str(), "w"); - - while (!feof(fi)) { - switch (getc(fi)) { - case 's': - x1 = getc(fi) + (getc(fi) * 256); - y1 = getc(fi) + (getc(fi) * 256); - x2 = getc(fi) + (getc(fi) * 256); - y2 = getc(fi) + (getc(fi) * 256); - - sx = x2 / 600.0; - sy = y2 / 800.0; - if (sx < sy) - SCALE = sy; - else - SCALE = sx; -// printf ("s--%i %i %i %i ???\n", x1, y1, x2, y2); - break; - case 'l': - x1 = getc(fi) + (getc(fi) * 256); - y1 = getc(fi) + (getc(fi) * 256); - x2 = getc(fi) + (getc(fi) * 256); - y2 = getc(fi) + (getc(fi) * 256); - fprintf(fo, "Line(%i %i %i %i 20 0x00000000)\n", x1, y1, x2, y2); - break; - case 'c': - x1 = getc(fi) + (getc(fi) * 256); - y1 = getc(fi) + (getc(fi) * 256); - r = getc(fi) + (getc(fi) * 256); - fprintf(fov, "Via(%i %i 60 25 \"\" 0x00000002)\n", x1, y1); - break; - case 'n': - x1 = getc(fi) + (getc(fi) * 256); - y1 = getc(fi) + (getc(fi) * 256); - fprintf(fo, "Line(%i %i %i %i 20 0x00000000)\n", x1, y1, x2, y2); - x2 = x1; - y2 = y1; - break; - case 'm': - x1 = (getc(fi) * 256) + getc(fi); - y1 = (getc(fi) * 256) + getc(fi); - printf("m--%0.4f %0.4f moveto\n", x1 / SCALE, y1 / SCALE); - break; - case 'a': - x1 = (getc(fi) * 256) + getc(fi); - y1 = (getc(fi) * 256) + getc(fi); - x2 = (getc(fi) * 256) + getc(fi); - y2 = (getc(fi) * 256) + getc(fi); - r = (getc(fi) * 256) + getc(fi); - printf - ("a--stroke newpath\n%0.4f %0.4f %0.4f %0.4f %0.4f arc\n", x1 / SCALE, y1 / SCALE, x2 / SCALE, y2 / SCALE, r / SCALE); - break; - case 'e': - break; - case 't': - while (r != '\0') - r = getc(fi); - break; - }; - }; - fclose(fi); - fclose(fo); - fclose(fov); - }; -}; Index: old/tools/pcb2ncap/pcb_route =================================================================== --- old/tools/pcb2ncap/pcb_route (revision 36965) +++ old/tools/pcb2ncap/pcb_route (nonexistent) @@ -1,47 +0,0 @@ -#!/bin/sh -# -# COPYRIGHT -# -# pcb_route, simple script to route a file.pcb+file.net -# Copyright (C) 2001 Luis Claudio Gambôa Lopes -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# -# Contact address for Email: -# lcgamboa@yahoo.com -# -# - -bindir=. -mucsbin=mucs -export MUCS_PCB_DIR=mucs -export PATH="$mucsbin:$PATH" - -if [ "$1" != "" ] -then - rm -f $1.ncap.ddir/*.ps - $bindir/pcb2ncap $1.pcb $1.net - $mucsbin/netex -f $1.ncap - $mucsbin/track $2 -dF $1.ncap - cp $1.ncap.ddir/lines.l* . - $bindir/up2ps $1.ncap.ddir/* - $bindir/up2pcb lines.l* - cat $1.pcb lines.l*.vpcb >$1_routed.tmp - $bindir/catlayer 1 $1_routed.tmp lines.l1.lpcb >$1_routed1.tmp - $bindir/catlayer 4 $1_routed1.tmp lines.l2.lpcb >$1_routed.pcb - rm -f lines.l* *.tmp -else - echo "usage: pcb_route project_name" -fi Property changes on: old/tools/pcb2ncap/pcb_route ___________________________________________________________________ Deleted: svn:executable ## -1 +0,0 ## -* \ No newline at end of property Index: old/tools/pcb2ncap/tutorial/tut.pcb =================================================================== --- old/tools/pcb2ncap/tutorial/tut.pcb (revision 36965) +++ old/tools/pcb2ncap/tutorial/tut.pcb (nonexistent) @@ -1,1231 +0,0 @@ -# release: pcb 1.6.3 -# date: Mon Sep 24 10:26:10 2001 -# user: gamboa (Luis Claudio Gambôa Lopes,UFJF,32187330,32187330) -# host: linux.gamboa - -PCB("" 7200 4000) - -Grid(5 0 0) -Cursor(1890 215 3) -Flags(0x000000d0) -Groups("1,2,3,s:4,5,6,c:7:8:") -Styles("Signal,20,40,20:Power,25,60,35:Fat,40,60,35:Skinny,8,36,20") - -Symbol(' ' 15) -( -) -Symbol('!' 12) -( - SymbolLine(0 35 0 40 5) - SymbolLine(0 0 0 25 5) -) -Symbol('"' 12) -( - SymbolLine(0 0 0 10 5) - SymbolLine(10 0 10 10 5) -) -Symbol('#' 12) -( - SymbolLine(0 25 20 25 5) - SymbolLine(0 15 20 15 5) - SymbolLine(15 10 15 30 5) - SymbolLine(5 10 5 30 5) -) -Symbol('$' 12) -( - SymbolLine(15 5 20 10 5) - SymbolLine(5 5 15 5 5) - SymbolLine(0 10 5 5 5) - SymbolLine(0 10 0 15 5) - SymbolLine(0 15 5 20 5) - SymbolLine(5 20 15 20 5) - SymbolLine(15 20 20 25 5) - SymbolLine(20 25 20 30 5) - SymbolLine(15 35 20 30 5) - SymbolLine(5 35 15 35 5) - SymbolLine(0 30 5 35 5) - SymbolLine(10 0 10 40 5) -) -Symbol('%' 12) -( - SymbolLine(0 5 0 10 5) - SymbolLine(0 5 5 0 5) - SymbolLine(5 0 10 0 5) - SymbolLine(10 0 15 5 5) - SymbolLine(15 5 15 10 5) - SymbolLine(10 15 15 10 5) - SymbolLine(5 15 10 15 5) - SymbolLine(0 10 5 15 5) - SymbolLine(0 40 40 0 5) - SymbolLine(35 40 40 35 5) - SymbolLine(40 30 40 35 5) - SymbolLine(35 25 40 30 5) - SymbolLine(30 25 35 25 5) - SymbolLine(25 30 30 25 5) - SymbolLine(25 30 25 35 5) - SymbolLine(25 35 30 40 5) - SymbolLine(30 40 35 40 5) -) -Symbol('&' 12) -( - SymbolLine(0 35 5 40 5) - SymbolLine(0 5 0 15 5) - SymbolLine(0 5 5 0 5) - SymbolLine(0 25 15 10 5) - SymbolLine(5 40 10 40 5) - SymbolLine(10 40 20 30 5) - SymbolLine(0 15 25 40 5) - SymbolLine(5 0 10 0 5) - SymbolLine(10 0 15 5 5) - SymbolLine(15 5 15 10 5) - SymbolLine(0 25 0 35 5) -) -Symbol(''' 12) -( - SymbolLine(0 10 10 0 5) -) -Symbol('(' 12) -( - SymbolLine(0 35 5 40 5) - SymbolLine(0 5 5 0 5) - SymbolLine(0 5 0 35 5) -) -Symbol(')' 12) -( - SymbolLine(0 0 5 5 5) - SymbolLine(5 5 5 35 5) - SymbolLine(0 40 5 35 5) -) -Symbol('*' 12) -( - SymbolLine(0 10 20 30 5) - SymbolLine(0 30 20 10 5) - SymbolLine(0 20 20 20 5) - SymbolLine(10 10 10 30 5) -) -Symbol('+' 12) -( - SymbolLine(0 20 20 20 5) - SymbolLine(10 10 10 30 5) -) -Symbol(',' 12) -( - SymbolLine(0 50 10 40 5) -) -Symbol('-' 12) -( - SymbolLine(0 20 20 20 5) -) -Symbol('.' 12) -( - SymbolLine(0 40 5 40 5) -) -Symbol('/' 12) -( - SymbolLine(0 35 30 5 5) -) -Symbol('0' 12) -( - SymbolLine(0 35 5 40 5) - SymbolLine(0 5 0 35 5) - SymbolLine(0 5 5 0 5) - SymbolLine(5 0 15 0 5) - SymbolLine(15 0 20 5 5) - SymbolLine(20 5 20 35 5) - SymbolLine(15 40 20 35 5) - SymbolLine(5 40 15 40 5) - SymbolLine(0 30 20 10 5) -) -Symbol('1' 12) -( - SymbolLine(5 40 15 40 5) - SymbolLine(10 0 10 40 5) - SymbolLine(0 10 10 0 5) -) -Symbol('2' 12) -( - SymbolLine(0 5 5 0 5) - SymbolLine(5 0 20 0 5) - SymbolLine(20 0 25 5 5) - SymbolLine(25 5 25 15 5) - SymbolLine(0 40 25 15 5) - SymbolLine(0 40 25 40 5) -) -Symbol('3' 12) -( - SymbolLine(0 5 5 0 5) - SymbolLine(5 0 15 0 5) - SymbolLine(15 0 20 5 5) - SymbolLine(20 5 20 35 5) - SymbolLine(15 40 20 35 5) - SymbolLine(5 40 15 40 5) - SymbolLine(0 35 5 40 5) - SymbolLine(5 20 20 20 5) -) -Symbol('4' 12) -( - SymbolLine(0 20 20 0 5) - SymbolLine(0 20 25 20 5) - SymbolLine(20 0 20 40 5) -) -Symbol('5' 12) -( - SymbolLine(0 0 20 0 5) - SymbolLine(0 0 0 20 5) - SymbolLine(0 20 5 15 5) - SymbolLine(5 15 15 15 5) - SymbolLine(15 15 20 20 5) - SymbolLine(20 20 20 35 5) - SymbolLine(15 40 20 35 5) - SymbolLine(5 40 15 40 5) - SymbolLine(0 35 5 40 5) -) -Symbol('6' 12) -( - SymbolLine(15 0 20 5 5) - SymbolLine(5 0 15 0 5) - SymbolLine(0 5 5 0 5) - SymbolLine(0 5 0 35 5) - SymbolLine(0 35 5 40 5) - SymbolLine(15 20 20 25 5) - SymbolLine(0 20 15 20 5) - SymbolLine(5 40 15 40 5) - SymbolLine(15 40 20 35 5) - SymbolLine(20 25 20 35 5) -) -Symbol('7' 12) -( - SymbolLine(0 40 25 15 5) - SymbolLine(25 0 25 15 5) - SymbolLine(0 0 25 0 5) -) -Symbol('8' 12) -( - SymbolLine(0 35 5 40 5) - SymbolLine(0 25 0 35 5) - SymbolLine(0 25 5 20 5) - SymbolLine(5 20 15 20 5) - SymbolLine(15 20 20 25 5) - SymbolLine(20 25 20 35 5) - SymbolLine(15 40 20 35 5) - SymbolLine(5 40 15 40 5) - SymbolLine(0 15 5 20 5) - SymbolLine(0 5 0 15 5) - SymbolLine(0 5 5 0 5) - SymbolLine(5 0 15 0 5) - SymbolLine(15 0 20 5 5) - SymbolLine(20 5 20 15 5) - SymbolLine(15 20 20 15 5) -) -Symbol('9' 12) -( - SymbolLine(0 40 20 20 5) - SymbolLine(20 5 20 20 5) - SymbolLine(15 0 20 5 5) - SymbolLine(5 0 15 0 5) - SymbolLine(0 5 5 0 5) - SymbolLine(0 5 0 15 5) - SymbolLine(0 15 5 20 5) - SymbolLine(5 20 20 20 5) -) -Symbol(':' 12) -( - SymbolLine(0 15 5 15 5) - SymbolLine(0 25 5 25 5) -) -Symbol(';' 12) -( - SymbolLine(0 40 10 30 5) - SymbolLine(10 15 10 20 5) -) -Symbol('<' 12) -( - SymbolLine(0 20 10 10 5) - SymbolLine(0 20 10 30 5) -) -Symbol('=' 12) -( - SymbolLine(0 15 20 15 5) - SymbolLine(0 25 20 25 5) -) -Symbol('>' 12) -( - SymbolLine(0 10 10 20 5) - SymbolLine(0 30 10 20 5) -) -Symbol('?' 12) -( - SymbolLine(10 20 10 25 5) - SymbolLine(10 35 10 40 5) - SymbolLine(0 5 0 10 5) - SymbolLine(0 5 5 0 5) - SymbolLine(5 0 15 0 5) - SymbolLine(15 0 20 5 5) - SymbolLine(20 5 20 10 5) - SymbolLine(10 20 20 10 5) -) -Symbol('A' 12) -( - SymbolLine(0 5 0 40 5) - SymbolLine(0 5 5 0 5) - SymbolLine(5 0 20 0 5) - SymbolLine(20 0 25 5 5) - SymbolLine(25 5 25 40 5) - SymbolLine(0 20 25 20 5) -) -Symbol('B' 12) -( - SymbolLine(0 40 20 40 5) - SymbolLine(20 40 25 35 5) - SymbolLine(25 25 25 35 5) - SymbolLine(20 20 25 25 5) - SymbolLine(5 20 20 20 5) - SymbolLine(5 0 5 40 5) - SymbolLine(0 0 20 0 5) - SymbolLine(20 0 25 5 5) - SymbolLine(25 5 25 15 5) - SymbolLine(20 20 25 15 5) -) -Symbol('C' 12) -( - SymbolLine(5 40 20 40 5) - SymbolLine(0 35 5 40 5) - SymbolLine(0 5 0 35 5) - SymbolLine(0 5 5 0 5) - SymbolLine(5 0 20 0 5) -) -Symbol('D' 12) -( - SymbolLine(5 0 5 40 5) - SymbolLine(20 0 25 5 5) - SymbolLine(25 5 25 35 5) - SymbolLine(20 40 25 35 5) - SymbolLine(0 40 20 40 5) - SymbolLine(0 0 20 0 5) -) -Symbol('E' 12) -( - SymbolLine(0 20 15 20 5) - SymbolLine(0 40 20 40 5) - SymbolLine(0 0 0 40 5) - SymbolLine(0 0 20 0 5) -) -Symbol('F' 12) -( - SymbolLine(0 0 0 40 5) - SymbolLine(0 0 20 0 5) - SymbolLine(0 20 15 20 5) -) -Symbol('G' 12) -( - SymbolLine(20 0 25 5 5) - SymbolLine(5 0 20 0 5) - SymbolLine(0 5 5 0 5) - SymbolLine(0 5 0 35 5) - SymbolLine(0 35 5 40 5) - SymbolLine(5 40 20 40 5) - SymbolLine(20 40 25 35 5) - SymbolLine(25 25 25 35 5) - SymbolLine(20 20 25 25 5) - SymbolLine(10 20 20 20 5) -) -Symbol('H' 12) -( - SymbolLine(0 0 0 40 5) - SymbolLine(25 0 25 40 5) - SymbolLine(0 20 25 20 5) -) -Symbol('I' 12) -( - SymbolLine(0 0 10 0 5) - SymbolLine(5 0 5 40 5) - SymbolLine(0 40 10 40 5) -) -Symbol('J' 12) -( - SymbolLine(0 0 15 0 5) - SymbolLine(15 0 15 35 5) - SymbolLine(10 40 15 35 5) - SymbolLine(5 40 10 40 5) - SymbolLine(0 35 5 40 5) -) -Symbol('K' 12) -( - SymbolLine(0 0 0 40 5) - SymbolLine(0 20 20 0 5) - SymbolLine(0 20 20 40 5) -) -Symbol('L' 12) -( - SymbolLine(0 0 0 40 5) - SymbolLine(0 40 20 40 5) -) -Symbol('M' 12) -( - SymbolLine(0 0 0 40 5) - SymbolLine(0 0 15 15 5) - SymbolLine(15 15 30 0 5) - SymbolLine(30 0 30 40 5) -) -Symbol('N' 12) -( - SymbolLine(0 0 0 40 5) - SymbolLine(0 0 0 5 5) - SymbolLine(0 5 25 30 5) - SymbolLine(25 0 25 40 5) -) -Symbol('O' 12) -( - SymbolLine(0 5 0 35 5) - SymbolLine(0 5 5 0 5) - SymbolLine(5 0 15 0 5) - SymbolLine(15 0 20 5 5) - SymbolLine(20 5 20 35 5) - SymbolLine(15 40 20 35 5) - SymbolLine(5 40 15 40 5) - SymbolLine(0 35 5 40 5) -) -Symbol('P' 12) -( - SymbolLine(5 0 5 40 5) - SymbolLine(0 0 20 0 5) - SymbolLine(20 0 25 5 5) - SymbolLine(25 5 25 15 5) - SymbolLine(20 20 25 15 5) - SymbolLine(5 20 20 20 5) -) -Symbol('Q' 12) -( - SymbolLine(0 5 0 35 5) - SymbolLine(0 5 5 0 5) - SymbolLine(5 0 15 0 5) - SymbolLine(15 0 20 5 5) - SymbolLine(20 5 20 35 5) - SymbolLine(15 40 20 35 5) - SymbolLine(5 40 15 40 5) - SymbolLine(0 35 5 40 5) - SymbolLine(10 30 20 40 5) -) -Symbol('R' 12) -( - SymbolLine(0 0 20 0 5) - SymbolLine(20 0 25 5 5) - SymbolLine(25 5 25 15 5) - SymbolLine(20 20 25 15 5) - SymbolLine(5 20 20 20 5) - SymbolLine(5 0 5 40 5) - SymbolLine(5 20 25 40 5) -) -Symbol('S' 12) -( - SymbolLine(20 0 25 5 5) - SymbolLine(5 0 20 0 5) - SymbolLine(0 5 5 0 5) - SymbolLine(0 5 0 15 5) - SymbolLine(0 15 5 20 5) - SymbolLine(5 20 20 20 5) - SymbolLine(20 20 25 25 5) - SymbolLine(25 25 25 35 5) - SymbolLine(20 40 25 35 5) - SymbolLine(5 40 20 40 5) - SymbolLine(0 35 5 40 5) -) -Symbol('T' 12) -( - SymbolLine(0 0 20 0 5) - SymbolLine(10 0 10 40 5) -) -Symbol('U' 12) -( - SymbolLine(0 0 0 35 5) - SymbolLine(0 35 5 40 5) - SymbolLine(5 40 15 40 5) - SymbolLine(15 40 20 35 5) - SymbolLine(20 0 20 35 5) -) -Symbol('V' 12) -( - SymbolLine(0 0 0 30 5) - SymbolLine(0 30 10 40 5) - SymbolLine(10 40 20 30 5) - SymbolLine(20 0 20 30 5) -) -Symbol('W' 12) -( - SymbolLine(0 0 0 40 5) - SymbolLine(0 40 15 25 5) - SymbolLine(15 25 30 40 5) - SymbolLine(30 0 30 40 5) -) -Symbol('X' 12) -( - SymbolLine(0 0 0 5 5) - SymbolLine(0 5 25 30 5) - SymbolLine(25 30 25 40 5) - SymbolLine(0 30 0 40 5) - SymbolLine(0 30 25 5 5) - SymbolLine(25 0 25 5 5) -) -Symbol('Y' 12) -( - SymbolLine(0 0 0 5 5) - SymbolLine(0 5 10 15 5) - SymbolLine(10 15 20 5 5) - SymbolLine(20 0 20 5 5) - SymbolLine(10 15 10 40 5) -) -Symbol('Z' 12) -( - SymbolLine(0 0 25 0 5) - SymbolLine(25 0 25 5 5) - SymbolLine(0 30 25 5 5) - SymbolLine(0 30 0 40 5) - SymbolLine(0 40 25 40 5) -) -Symbol('[' 12) -( - SymbolLine(0 0 5 0 5) - SymbolLine(0 0 0 40 5) - SymbolLine(0 40 5 40 5) -) -Symbol('\' 12) -( - SymbolLine(0 5 30 35 5) -) -Symbol(']' 12) -( - SymbolLine(0 0 5 0 5) - SymbolLine(5 0 5 40 5) - SymbolLine(0 40 5 40 5) -) -Symbol('^' 12) -( - SymbolLine(0 5 5 0 5) - SymbolLine(5 0 10 5 5) -) -Symbol('_' 12) -( - SymbolLine(0 40 20 40 5) -) -Symbol('a' 12) -( - SymbolLine(15 20 20 25 5) - SymbolLine(5 20 15 20 5) - SymbolLine(0 25 5 20 5) - SymbolLine(0 25 0 35 5) - SymbolLine(0 35 5 40 5) - SymbolLine(20 20 20 35 5) - SymbolLine(20 35 25 40 5) - SymbolLine(5 40 15 40 5) - SymbolLine(15 40 20 35 5) -) -Symbol('b' 12) -( - SymbolLine(0 0 0 40 5) - SymbolLine(0 35 5 40 5) - SymbolLine(5 40 15 40 5) - SymbolLine(15 40 20 35 5) - SymbolLine(20 25 20 35 5) - SymbolLine(15 20 20 25 5) - SymbolLine(5 20 15 20 5) - SymbolLine(0 25 5 20 5) -) -Symbol('c' 12) -( - SymbolLine(5 20 20 20 5) - SymbolLine(0 25 5 20 5) - SymbolLine(0 25 0 35 5) - SymbolLine(0 35 5 40 5) - SymbolLine(5 40 20 40 5) -) -Symbol('d' 12) -( - SymbolLine(20 0 20 40 5) - SymbolLine(15 40 20 35 5) - SymbolLine(5 40 15 40 5) - SymbolLine(0 35 5 40 5) - SymbolLine(0 25 0 35 5) - SymbolLine(0 25 5 20 5) - SymbolLine(5 20 15 20 5) - SymbolLine(15 20 20 25 5) -) -Symbol('e' 12) -( - SymbolLine(15 40 20 35 5) - SymbolLine(5 40 15 40 5) - SymbolLine(0 35 5 40 5) - SymbolLine(0 25 0 35 5) - SymbolLine(0 25 5 20 5) - SymbolLine(5 20 15 20 5) - SymbolLine(15 20 20 25 5) - SymbolLine(0 30 10 30 5) -) -Symbol('f' 10) -( - SymbolLine(5 5 5 40 5) - SymbolLine(5 5 10 0 5) - SymbolLine(10 0 15 0 5) - SymbolLine(0 20 10 20 5) -) -Symbol('g' 12) -( - SymbolLine(15 20 20 25 5) - SymbolLine(5 20 15 20 5) - SymbolLine(0 25 5 20 5) - SymbolLine(0 25 0 35 5) - SymbolLine(0 35 5 40 5) - SymbolLine(5 40 15 40 5) - SymbolLine(15 40 20 35 5) - SymbolLine(0 50 5 55 5) - SymbolLine(5 55 15 55 5) - SymbolLine(15 55 20 50 5) - SymbolLine(20 20 20 50 5) -) -Symbol('h' 12) -( - SymbolLine(0 0 0 40 5) - SymbolLine(0 25 5 20 5) - SymbolLine(5 20 15 20 5) - SymbolLine(15 20 20 25 5) - SymbolLine(20 25 20 40 5) -) -Symbol('i' 10) -( - SymbolLine(0 10 0 15 5) - SymbolLine(0 25 0 40 5) -) -Symbol('j' 10) -( - SymbolLine(5 10 5 15 5) - SymbolLine(5 25 5 50 5) - SymbolLine(0 55 5 50 5) -) -Symbol('k' 12) -( - SymbolLine(0 0 0 40 5) - SymbolLine(0 25 15 40 5) - SymbolLine(0 25 10 15 5) -) -Symbol('l' 10) -( - SymbolLine(0 0 0 35 5) - SymbolLine(0 35 5 40 5) -) -Symbol('m' 12) -( - SymbolLine(5 25 5 40 5) - SymbolLine(5 25 10 20 5) - SymbolLine(10 20 15 20 5) - SymbolLine(15 20 20 25 5) - SymbolLine(20 25 20 40 5) - SymbolLine(20 25 25 20 5) - SymbolLine(25 20 30 20 5) - SymbolLine(30 20 35 25 5) - SymbolLine(35 25 35 40 5) - SymbolLine(0 20 5 25 5) -) -Symbol('n' 12) -( - SymbolLine(5 25 5 40 5) - SymbolLine(5 25 10 20 5) - SymbolLine(10 20 15 20 5) - SymbolLine(15 20 20 25 5) - SymbolLine(20 25 20 40 5) - SymbolLine(0 20 5 25 5) -) -Symbol('o' 12) -( - SymbolLine(0 25 0 35 5) - SymbolLine(0 25 5 20 5) - SymbolLine(5 20 15 20 5) - SymbolLine(15 20 20 25 5) - SymbolLine(20 25 20 35 5) - SymbolLine(15 40 20 35 5) - SymbolLine(5 40 15 40 5) - SymbolLine(0 35 5 40 5) -) -Symbol('p' 12) -( - SymbolLine(5 25 5 55 5) - SymbolLine(0 20 5 25 5) - SymbolLine(5 25 10 20 5) - SymbolLine(10 20 20 20 5) - SymbolLine(20 20 25 25 5) - SymbolLine(25 25 25 35 5) - SymbolLine(20 40 25 35 5) - SymbolLine(10 40 20 40 5) - SymbolLine(5 35 10 40 5) -) -Symbol('q' 12) -( - SymbolLine(20 25 20 55 5) - SymbolLine(15 20 20 25 5) - SymbolLine(5 20 15 20 5) - SymbolLine(0 25 5 20 5) - SymbolLine(0 25 0 35 5) - SymbolLine(0 35 5 40 5) - SymbolLine(5 40 15 40 5) - SymbolLine(15 40 20 35 5) -) -Symbol('r' 12) -( - SymbolLine(5 25 5 40 5) - SymbolLine(5 25 10 20 5) - SymbolLine(10 20 20 20 5) - SymbolLine(0 20 5 25 5) -) -Symbol('s' 12) -( - SymbolLine(5 40 20 40 5) - SymbolLine(20 40 25 35 5) - SymbolLine(20 30 25 35 5) - SymbolLine(5 30 20 30 5) - SymbolLine(0 25 5 30 5) - SymbolLine(0 25 5 20 5) - SymbolLine(5 20 20 20 5) - SymbolLine(20 20 25 25 5) - SymbolLine(0 35 5 40 5) -) -Symbol('t' 10) -( - SymbolLine(5 0 5 35 5) - SymbolLine(5 35 10 40 5) - SymbolLine(0 15 10 15 5) -) -Symbol('u' 12) -( - SymbolLine(0 20 0 35 5) - SymbolLine(0 35 5 40 5) - SymbolLine(5 40 15 40 5) - SymbolLine(15 40 20 35 5) - SymbolLine(20 20 20 35 5) -) -Symbol('v' 12) -( - SymbolLine(0 20 0 30 5) - SymbolLine(0 30 10 40 5) - SymbolLine(10 40 20 30 5) - SymbolLine(20 20 20 30 5) -) -Symbol('w' 12) -( - SymbolLine(0 20 0 35 5) - SymbolLine(0 35 5 40 5) - SymbolLine(5 40 10 40 5) - SymbolLine(10 40 15 35 5) - SymbolLine(15 20 15 35 5) - SymbolLine(15 35 20 40 5) - SymbolLine(20 40 25 40 5) - SymbolLine(25 40 30 35 5) - SymbolLine(30 20 30 35 5) -) -Symbol('x' 12) -( - SymbolLine(0 20 20 40 5) - SymbolLine(0 40 20 20 5) -) -Symbol('y' 12) -( - SymbolLine(0 20 0 35 5) - SymbolLine(0 35 5 40 5) - SymbolLine(20 20 20 50 5) - SymbolLine(15 55 20 50 5) - SymbolLine(5 55 15 55 5) - SymbolLine(0 50 5 55 5) - SymbolLine(5 40 15 40 5) - SymbolLine(15 40 20 35 5) -) -Symbol('z' 12) -( - SymbolLine(0 20 20 20 5) - SymbolLine(0 40 20 20 5) - SymbolLine(0 40 20 40 5) -) -Symbol('{' 12) -( - SymbolLine(5 5 10 0 5) - SymbolLine(5 5 5 15 5) - SymbolLine(0 20 5 15 5) - SymbolLine(0 20 5 25 5) - SymbolLine(5 25 5 35 5) - SymbolLine(5 35 10 40 5) -) -Symbol('|' 12) -( - SymbolLine(0 0 0 40 5) -) -Symbol('}' 12) -( - SymbolLine(0 0 5 5 5) - SymbolLine(5 5 5 15 5) - SymbolLine(5 15 10 20 5) - SymbolLine(5 25 10 20 5) - SymbolLine(5 25 5 35 5) - SymbolLine(0 40 5 35 5) -) -Symbol('~' 12) -( - SymbolLine(0 25 5 20 5) - SymbolLine(5 20 10 20 5) - SymbolLine(10 20 15 25 5) - SymbolLine(15 25 20 25 5) - SymbolLine(20 25 25 20 5) -) - -Element(0x00000000 "connector 2x25 pins" "CN" "50" 1775 435 3 100 0x00000000) -( - Pin(1565 485 60 30 "1" "1" 0x00000101) - Pin(1665 485 60 30 "2" "2" 0x00000001) - Pin(1565 585 60 30 "3" "3" 0x00000001) - Pin(1665 585 60 30 "4" "4" 0x00000001) - Pin(1565 685 60 30 "5" "5" 0x00000001) - Pin(1665 685 60 30 "6" "6" 0x00000001) - Pin(1565 785 60 30 "7" "7" 0x00000001) - Pin(1665 785 60 30 "8" "8" 0x00000001) - Pin(1565 885 60 30 "9" "9" 0x00000001) - Pin(1665 885 60 30 "10" "10" 0x00000001) - Pin(1565 985 60 30 "11" "11" 0x00000001) - Pin(1665 985 60 30 "12" "12" 0x00000001) - Pin(1565 1085 60 30 "13" "13" 0x00000001) - Pin(1665 1085 60 30 "14" "14" 0x00000001) - Pin(1565 1185 60 30 "15" "15" 0x00000001) - Pin(1665 1185 60 30 "16" "16" 0x00000001) - Pin(1565 1285 60 30 "17" "17" 0x00000001) - Pin(1665 1285 60 30 "18" "18" 0x00000001) - Pin(1565 1385 60 30 "19" "19" 0x00000001) - Pin(1665 1385 60 30 "20" "20" 0x00000001) - Pin(1565 1485 60 30 "21" "21" 0x00000001) - Pin(1665 1485 60 30 "22" "22" 0x00000001) - Pin(1565 1585 60 30 "23" "23" 0x00000001) - Pin(1665 1585 60 30 "24" "24" 0x00000001) - Pin(1565 1685 60 30 "25" "25" 0x00000001) - Pin(1665 1685 60 30 "26" "26" 0x00000001) - Pin(1565 1785 60 30 "27" "27" 0x00000001) - Pin(1665 1785 60 30 "28" "28" 0x00000001) - Pin(1565 1885 60 30 "29" "29" 0x00000001) - Pin(1665 1885 60 30 "30" "30" 0x00000001) - Pin(1565 1985 60 30 "31" "31" 0x00000001) - Pin(1665 1985 60 30 "32" "32" 0x00000001) - Pin(1565 2085 60 30 "33" "33" 0x00000001) - Pin(1665 2085 60 30 "34" "34" 0x00000001) - Pin(1565 2185 60 30 "35" "35" 0x00000001) - Pin(1665 2185 60 30 "36" "36" 0x00000001) - Pin(1565 2285 60 30 "37" "37" 0x00000001) - Pin(1665 2285 60 30 "38" "38" 0x00000001) - Pin(1565 2385 60 30 "39" "39" 0x00000001) - Pin(1665 2385 60 30 "40" "40" 0x00000001) - Pin(1565 2485 60 30 "41" "41" 0x00000001) - Pin(1665 2485 60 30 "42" "42" 0x00000001) - Pin(1565 2585 60 30 "43" "43" 0x00000001) - Pin(1665 2585 60 30 "44" "44" 0x00000001) - Pin(1565 2685 60 30 "45" "45" 0x00000001) - Pin(1665 2685 60 30 "46" "46" 0x00000001) - Pin(1565 2785 60 30 "47" "47" 0x00000001) - Pin(1665 2785 60 30 "48" "48" 0x00000001) - Pin(1565 2885 60 30 "49" "49" 0x00000001) - Pin(1665 2885 60 30 "50" "50" 0x00000001) - ElementLine (1515 435 1515 2935 20) - ElementLine (1515 2935 1715 2935 20) - ElementLine (1715 2935 1715 435 20) - ElementLine (1715 435 1515 435 20) - ElementLine (1515 535 1615 535 10) - ElementLine (1615 535 1615 435 10) - Mark (1565 485) -) - -Element(0x00000000 "R 0.25W" "R2" "10k" 945 2775 1 100 0x00000000) -( - Pin(965 2895 50 20 "1" "1" 0x00000101) - Pin(965 2495 50 20 "2" "2" 0x00000001) - ElementLine (965 2595 965 2495 20) - ElementLine (965 2895 965 2795 20) - ElementLine (1015 2795 915 2795 20) - ElementLine (1015 2595 1015 2795 20) - ElementLine (915 2595 1015 2595 20) - ElementLine (915 2795 915 2595 20) - Mark (965 2895) -) - -Element(0x00000000 "generic" "U3" "DIL 28" 4980 1680 3 100 0x00000000) -( - Pin(4810 1630 60 28 "1" "1" 0x00000101) - Pin(4810 1730 60 28 "2" "2" 0x00000001) - Pin(4810 1830 60 28 "3" "3" 0x00000001) - Pin(4810 1930 60 28 "4" "4" 0x00000001) - Pin(4810 2030 60 28 "5" "5" 0x00000001) - Pin(4810 2130 60 28 "6" "6" 0x00000001) - Pin(4810 2230 60 28 "7" "7" 0x00000001) - Pin(4810 2330 60 28 "8" "8" 0x00000001) - Pin(4810 2430 60 28 "9" "9" 0x00000001) - Pin(4810 2530 60 28 "10" "10" 0x00000001) - Pin(4810 2630 60 28 "11" "11" 0x00000001) - Pin(4810 2730 60 28 "12" "12" 0x00000001) - Pin(4810 2830 60 28 "13" "13" 0x00000001) - Pin(4810 2930 60 28 "14" "14" 0x00000001) - Pin(5110 2930 60 28 "15" "15" 0x00000001) - Pin(5110 2830 60 28 "16" "16" 0x00000001) - Pin(5110 2730 60 28 "17" "17" 0x00000001) - Pin(5110 2630 60 28 "18" "18" 0x00000001) - Pin(5110 2530 60 28 "19" "19" 0x00000001) - Pin(5110 2430 60 28 "20" "20" 0x00000001) - Pin(5110 2330 60 28 "21" "21" 0x00000001) - Pin(5110 2230 60 28 "22" "22" 0x00000001) - Pin(5110 2130 60 28 "23" "23" 0x00000001) - Pin(5110 2030 60 28 "24" "24" 0x00000001) - Pin(5110 1930 60 28 "25" "25" 0x00000001) - Pin(5110 1830 60 28 "26" "26" 0x00000001) - Pin(5110 1730 60 28 "27" "27" 0x00000001) - Pin(5110 1630 60 28 "28" "28" 0x00000001) - ElementLine (4760 1580 4760 2980 10) - ElementLine (4760 2980 5160 2980 10) - ElementLine (5160 2980 5160 1580 10) - ElementLine (4760 1580 4910 1580 10) - ElementLine (5010 1580 5160 1580 10) - ElementArc (4960 1580 50 50 0 180 10) - Mark (4810 1630) -) - -Element(0x00000000 "connector 2x2 pins" "PWR" "4" 410 880 3 100 0x00000000) -( - Pin(200 930 60 30 "1" "1" 0x00000101) - Pin(300 930 60 30 "2" "2" 0x00000001) - Pin(200 1030 60 30 "3" "3" 0x00000001) - Pin(300 1030 60 30 "4" "4" 0x00000001) - ElementLine (150 880 150 1080 20) - ElementLine (150 1080 350 1080 20) - ElementLine (350 1080 350 880 20) - ElementLine (350 880 150 880 20) - ElementLine (150 980 250 980 10) - ElementLine (250 980 250 880 10) - Mark (200 930) -) - -Element(0x00000000 "8 edge FF 3-state" "U6" "74374" 5985 2265 0 100 0x00000000) -( - Pin(5920 2450 60 28 "/OC" "1" 0x00000101) - Pin(6020 2450 60 28 "1Q" "2" 0x00000001) - Pin(6120 2450 60 28 "1D" "3" 0x00000001) - Pin(6220 2450 60 28 "2D" "4" 0x00000001) - Pin(6320 2450 60 28 "2Q" "5" 0x00000001) - Pin(6420 2450 60 28 "3Q" "6" 0x00000001) - Pin(6520 2450 60 28 "3D" "7" 0x00000001) - Pin(6620 2450 60 28 "4D" "8" 0x00000001) - Pin(6720 2450 60 28 "4Q" "9" 0x00000001) - Pin(6820 2450 60 28 "Gnd" "10" 0x00000001) - Pin(6820 2150 60 28 "C" "11" 0x00000001) - Pin(6720 2150 60 28 "5Q" "12" 0x00000001) - Pin(6620 2150 60 28 "5D" "13" 0x00000001) - Pin(6520 2150 60 28 "6D" "14" 0x00000001) - Pin(6420 2150 60 28 "6Q" "15" 0x00000001) - Pin(6320 2150 60 28 "7Q" "16" 0x00000001) - Pin(6220 2150 60 28 "7D" "17" 0x00000001) - Pin(6120 2150 60 28 "8D" "18" 0x00000001) - Pin(6020 2150 60 28 "8Q" "19" 0x00000001) - Pin(5920 2150 60 28 "Vcc" "20" 0x00000001) - ElementLine (5870 2250 5870 2100 10) - ElementLine (5870 2500 5870 2350 10) - ElementLine (6870 2100 5870 2100 10) - ElementLine (6870 2500 6870 2100 10) - ElementLine (5870 2500 6870 2500 10) - ElementArc (5870 2300 50 50 90 180 10) - Mark (5920 2450) -) - -Element(0x00000000 "3-to-8 decoder" "U4" "74138" 520 2305 3 100 0x00000000) -( - Pin(350 2255 60 28 "A" "1" 0x00000101) - Pin(350 2355 60 28 "B" "2" 0x00000001) - Pin(350 2455 60 28 "C" "3" 0x00000001) - Pin(350 2555 60 28 "/G2A" "4" 0x00000001) - Pin(350 2655 60 28 "/G2B" "5" 0x00000001) - Pin(350 2755 60 28 "G1" "6" 0x00000001) - Pin(350 2855 60 28 "Y7" "7" 0x00000001) - Pin(350 2955 60 28 "Gnd" "8" 0x00000001) - Pin(650 2955 60 28 "Y6" "9" 0x00000001) - Pin(650 2855 60 28 "Y5" "10" 0x00000001) - Pin(650 2755 60 28 "Y4" "11" 0x00000001) - Pin(650 2655 60 28 "Y3" "12" 0x00000001) - Pin(650 2555 60 28 "Y2" "13" 0x00000001) - Pin(650 2455 60 28 "Y1" "14" 0x00000001) - Pin(650 2355 60 28 "Y0" "15" 0x00000001) - Pin(650 2255 60 28 "Vcc" "16" 0x00000001) - ElementLine (550 2205 700 2205 10) - ElementLine (300 2205 450 2205 10) - ElementLine (700 3005 700 2205 10) - ElementLine (300 3005 700 3005 10) - ElementLine (300 2205 300 3005 10) - ElementArc (500 2205 50 50 0 180 10) - Mark (350 2255) -) - -Element(0x00000000 "generic" "U2" "DIL 28" 4065 1665 3 100 0x00000000) -( - Pin(3895 1615 60 28 "1" "1" 0x00000101) - Pin(3895 1715 60 28 "2" "2" 0x00000001) - Pin(3895 1815 60 28 "3" "3" 0x00000001) - Pin(3895 1915 60 28 "4" "4" 0x00000001) - Pin(3895 2015 60 28 "5" "5" 0x00000001) - Pin(3895 2115 60 28 "6" "6" 0x00000001) - Pin(3895 2215 60 28 "7" "7" 0x00000001) - Pin(3895 2315 60 28 "8" "8" 0x00000001) - Pin(3895 2415 60 28 "9" "9" 0x00000001) - Pin(3895 2515 60 28 "10" "10" 0x00000001) - Pin(3895 2615 60 28 "11" "11" 0x00000001) - Pin(3895 2715 60 28 "12" "12" 0x00000001) - Pin(3895 2815 60 28 "13" "13" 0x00000001) - Pin(3895 2915 60 28 "14" "14" 0x00000001) - Pin(4195 2915 60 28 "15" "15" 0x00000001) - Pin(4195 2815 60 28 "16" "16" 0x00000001) - Pin(4195 2715 60 28 "17" "17" 0x00000001) - Pin(4195 2615 60 28 "18" "18" 0x00000001) - Pin(4195 2515 60 28 "19" "19" 0x00000001) - Pin(4195 2415 60 28 "20" "20" 0x00000001) - Pin(4195 2315 60 28 "21" "21" 0x00000001) - Pin(4195 2215 60 28 "22" "22" 0x00000001) - Pin(4195 2115 60 28 "23" "23" 0x00000001) - Pin(4195 2015 60 28 "24" "24" 0x00000001) - Pin(4195 1915 60 28 "25" "25" 0x00000001) - Pin(4195 1815 60 28 "26" "26" 0x00000001) - Pin(4195 1715 60 28 "27" "27" 0x00000001) - Pin(4195 1615 60 28 "28" "28" 0x00000001) - ElementLine (3845 1565 3845 2965 10) - ElementLine (3845 2965 4245 2965 10) - ElementLine (4245 2965 4245 1565 10) - ElementLine (3845 1565 3995 1565 10) - ElementLine (4095 1565 4245 1565 10) - ElementArc (4045 1565 50 50 0 180 10) - Mark (3895 1615) -) - -Element(0x00000000 "generic" "U1" "DIL 40" 2650 1045 3 100 0x00000000) -( - Pin(2330 995 60 28 "1" "1" 0x00000101) - Pin(2330 1095 60 28 "2" "2" 0x00000001) - Pin(2330 1195 60 28 "3" "3" 0x00000001) - Pin(2330 1295 60 28 "4" "4" 0x00000001) - Pin(2330 1395 60 28 "5" "5" 0x00000001) - Pin(2330 1495 60 28 "6" "6" 0x00000001) - Pin(2330 1595 60 28 "7" "7" 0x00000001) - Pin(2330 1695 60 28 "8" "8" 0x00000001) - Pin(2330 1795 60 28 "9" "9" 0x00000001) - Pin(2330 1895 60 28 "10" "10" 0x00000001) - Pin(2330 1995 60 28 "11" "11" 0x00000001) - Pin(2330 2095 60 28 "12" "12" 0x00000001) - Pin(2330 2195 60 28 "13" "13" 0x00000001) - Pin(2330 2295 60 28 "14" "14" 0x00000001) - Pin(2330 2395 60 28 "15" "15" 0x00000001) - Pin(2330 2495 60 28 "16" "16" 0x00000001) - Pin(2330 2595 60 28 "17" "17" 0x00000001) - Pin(2330 2695 60 28 "18" "18" 0x00000001) - Pin(2330 2795 60 28 "19" "19" 0x00000001) - Pin(2330 2895 60 28 "20" "20" 0x00000001) - Pin(2930 2895 60 28 "21" "21" 0x00000001) - Pin(2930 2795 60 28 "22" "22" 0x00000001) - Pin(2930 2695 60 28 "23" "23" 0x00000001) - Pin(2930 2595 60 28 "24" "24" 0x00000001) - Pin(2930 2495 60 28 "25" "25" 0x00000001) - Pin(2930 2395 60 28 "26" "26" 0x00000001) - Pin(2930 2295 60 28 "27" "27" 0x00000001) - Pin(2930 2195 60 28 "28" "28" 0x00000001) - Pin(2930 2095 60 28 "29" "29" 0x00000001) - Pin(2930 1995 60 28 "30" "30" 0x00000001) - Pin(2930 1895 60 28 "31" "31" 0x00000001) - Pin(2930 1795 60 28 "32" "32" 0x00000001) - Pin(2930 1695 60 28 "33" "33" 0x00000001) - Pin(2930 1595 60 28 "34" "34" 0x00000001) - Pin(2930 1495 60 28 "35" "35" 0x00000001) - Pin(2930 1395 60 28 "36" "36" 0x00000001) - Pin(2930 1295 60 28 "37" "37" 0x00000001) - Pin(2930 1195 60 28 "38" "38" 0x00000001) - Pin(2930 1095 60 28 "39" "39" 0x00000001) - Pin(2930 995 60 28 "40" "40" 0x00000001) - ElementLine (2280 945 2280 2945 10) - ElementLine (2280 2945 2980 2945 10) - ElementLine (2980 2945 2980 945 10) - ElementLine (2280 945 2580 945 10) - ElementLine (2680 945 2980 945 10) - ElementArc (2630 945 50 50 0 180 10) - Mark (2330 995) -) - -Element(0x00000000 "R 0.25W" "R1" "10k" 3150 2285 1 100 0x00000000) -( - Pin(3170 2455 50 20 "1" "1" 0x00000101) - Pin(3170 2055 50 20 "2" "2" 0x00000001) - ElementLine (3170 2155 3170 2055 20) - ElementLine (3170 2455 3170 2355 20) - ElementLine (3220 2355 3120 2355 20) - ElementLine (3220 2155 3220 2355 20) - ElementLine (3120 2155 3220 2155 20) - ElementLine (3120 2355 3120 2155 20) - Mark (3170 2455) -) - -Element(0x00000000 "8 D-type transparent latches 3-state" "U11" "74373" 2790 3695 0 100 0x00000000) -( - Pin(2740 3865 60 28 "/OC" "1" 0x00000101) - Pin(2840 3865 60 28 "1Q" "2" 0x00000001) - Pin(2940 3865 60 28 "1D" "3" 0x00000001) - Pin(3040 3865 60 28 "2D" "4" 0x00000001) - Pin(3140 3865 60 28 "2Q" "5" 0x00000001) - Pin(3240 3865 60 28 "3Q" "6" 0x00000001) - Pin(3340 3865 60 28 "3D" "7" 0x00000001) - Pin(3440 3865 60 28 "4D" "8" 0x00000001) - Pin(3540 3865 60 28 "4Q" "9" 0x00000001) - Pin(3640 3865 60 28 "Gnd" "10" 0x00000001) - Pin(3640 3565 60 28 "C" "11" 0x00000001) - Pin(3540 3565 60 28 "5Q" "12" 0x00000001) - Pin(3440 3565 60 28 "5D" "13" 0x00000001) - Pin(3340 3565 60 28 "6D" "14" 0x00000001) - Pin(3240 3565 60 28 "6Q" "15" 0x00000001) - Pin(3140 3565 60 28 "7Q" "16" 0x00000001) - Pin(3040 3565 60 28 "7D" "17" 0x00000001) - Pin(2940 3565 60 28 "8D" "18" 0x00000001) - Pin(2840 3565 60 28 "8Q" "19" 0x00000001) - Pin(2740 3565 60 28 "Vcc" "20" 0x00000001) - ElementLine (2690 3665 2690 3515 10) - ElementLine (2690 3915 2690 3765 10) - ElementLine (3690 3515 2690 3515 10) - ElementLine (3690 3915 3690 3515 10) - ElementLine (2690 3915 3690 3915 10) - ElementArc (2690 3715 50 50 90 180 10) - Mark (2740 3865) -) - -Element(0x00000000 "6 Schmitt trigger inverter" "U14" "7414" 4060 3695 0 100 0x00000000) -( - Pin(4010 3865 60 28 "1A" "1" 0x00000101) - Pin(4110 3865 60 28 "1Y" "2" 0x00000001) - Pin(4210 3865 60 28 "2A" "3" 0x00000001) - Pin(4310 3865 60 28 "2Y" "4" 0x00000001) - Pin(4410 3865 60 28 "3A" "5" 0x00000001) - Pin(4510 3865 60 28 "3Y" "6" 0x00000001) - Pin(4610 3865 60 28 "Gnd" "7" 0x00000001) - Pin(4610 3565 60 28 "4Y" "8" 0x00000001) - Pin(4510 3565 60 28 "4A" "9" 0x00000001) - Pin(4410 3565 60 28 "5Y" "10" 0x00000001) - Pin(4310 3565 60 28 "5A" "11" 0x00000001) - Pin(4210 3565 60 28 "6Y" "12" 0x00000001) - Pin(4110 3565 60 28 "6A" "13" 0x00000001) - Pin(4010 3565 60 28 "Vcc" "14" 0x00000001) - ElementLine (3960 3665 3960 3515 10) - ElementLine (3960 3915 3960 3765 10) - ElementLine (4660 3515 3960 3515 10) - ElementLine (4660 3915 4660 3515 10) - ElementLine (3960 3915 4660 3915 10) - ElementArc (3960 3715 50 50 90 180 10) - Mark (4010 3865) -) - -Element(0x00000000 "8 edge FF 3-state" "U5" "74374" 5980 1245 0 100 0x00000000) -( - Pin(5930 1415 60 28 "/OC" "1" 0x00000101) - Pin(6030 1415 60 28 "1Q" "2" 0x00000001) - Pin(6130 1415 60 28 "1D" "3" 0x00000001) - Pin(6230 1415 60 28 "2D" "4" 0x00000001) - Pin(6330 1415 60 28 "2Q" "5" 0x00000001) - Pin(6430 1415 60 28 "3Q" "6" 0x00000001) - Pin(6530 1415 60 28 "3D" "7" 0x00000001) - Pin(6630 1415 60 28 "4D" "8" 0x00000001) - Pin(6730 1415 60 28 "4Q" "9" 0x00000001) - Pin(6830 1415 60 28 "Gnd" "10" 0x00000001) - Pin(6830 1115 60 28 "C" "11" 0x00000001) - Pin(6730 1115 60 28 "5Q" "12" 0x00000001) - Pin(6630 1115 60 28 "5D" "13" 0x00000001) - Pin(6530 1115 60 28 "6D" "14" 0x00000001) - Pin(6430 1115 60 28 "6Q" "15" 0x00000001) - Pin(6330 1115 60 28 "7Q" "16" 0x00000001) - Pin(6230 1115 60 28 "7D" "17" 0x00000001) - Pin(6130 1115 60 28 "8D" "18" 0x00000001) - Pin(6030 1115 60 28 "8Q" "19" 0x00000001) - Pin(5930 1115 60 28 "Vcc" "20" 0x00000001) - ElementLine (5880 1215 5880 1065 10) - ElementLine (5880 1465 5880 1315 10) - ElementLine (6880 1065 5880 1065 10) - ElementLine (6880 1465 6880 1065 10) - ElementLine (5880 1465 6880 1465 10) - ElementArc (5880 1265 50 50 90 180 10) - Mark (5930 1415) -) - -Element(0x00000000 "capacitor_radial" "C1" "300" 785 1510 0 100 0x00000000) -( - Pin(560 1660 60 20 "1" "1" 0x00000101) - Pin(710 1660 60 20 "2" "2" 0x00000001) - ElementArc (635 1660 150 150 0 360 10) - Mark (560 1660) -) - -Element(0x00000000 "4 dual-OR" "U12" "7432" 1795 3675 0 100 0x00000000) -( - Pin(1745 3845 60 28 "A1" "1" 0x00000101) - Pin(1845 3845 60 28 "B1" "2" 0x00000001) - Pin(1945 3845 60 28 "Y1" "3" 0x00000001) - Pin(2045 3845 60 28 "A2" "4" 0x00000001) - Pin(2145 3845 60 28 "B2" "5" 0x00000001) - Pin(2245 3845 60 28 "Y2" "6" 0x00000001) - Pin(2345 3845 60 28 "Gnd" "7" 0x00000001) - Pin(2345 3545 60 28 "Y3" "8" 0x00000001) - Pin(2245 3545 60 28 "A3" "9" 0x00000001) - Pin(2145 3545 60 28 "B3" "10" 0x00000001) - Pin(2045 3545 60 28 "Y4" "11" 0x00000001) - Pin(1945 3545 60 28 "A4" "12" 0x00000001) - Pin(1845 3545 60 28 "B4" "13" 0x00000001) - Pin(1745 3545 60 28 "Vcc" "14" 0x00000001) - ElementLine (1695 3645 1695 3495 10) - ElementLine (1695 3895 1695 3745 10) - ElementLine (2395 3495 1695 3495 10) - ElementLine (2395 3895 2395 3495 10) - ElementLine (1695 3895 2395 3895 10) - ElementArc (1695 3695 50 50 90 180 10) - Mark (1745 3845) -) - -Element(0x00000000 "6 Schmitt trigger inverter" "U13" "7414" 820 3655 0 100 0x00000000) -( - Pin(770 3825 60 28 "1A" "1" 0x00000101) - Pin(870 3825 60 28 "1Y" "2" 0x00000001) - Pin(970 3825 60 28 "2A" "3" 0x00000001) - Pin(1070 3825 60 28 "2Y" "4" 0x00000001) - Pin(1170 3825 60 28 "3A" "5" 0x00000001) - Pin(1270 3825 60 28 "3Y" "6" 0x00000001) - Pin(1370 3825 60 28 "Gnd" "7" 0x00000001) - Pin(1370 3525 60 28 "4Y" "8" 0x00000001) - Pin(1270 3525 60 28 "4A" "9" 0x00000001) - Pin(1170 3525 60 28 "5Y" "10" 0x00000001) - Pin(1070 3525 60 28 "5A" "11" 0x00000001) - Pin(970 3525 60 28 "6Y" "12" 0x00000001) - Pin(870 3525 60 28 "6A" "13" 0x00000001) - Pin(770 3525 60 28 "Vcc" "14" 0x00000001) - ElementLine (720 3625 720 3475 10) - ElementLine (720 3875 720 3725 10) - ElementLine (1420 3475 720 3475 10) - ElementLine (1420 3875 1420 3475 10) - ElementLine (720 3875 1420 3875 10) - ElementArc (720 3675 50 50 90 180 10) - Mark (770 3825) -) -Layer(1 "solder") -( -) -Layer(2 "GND-sldr") -( -) -Layer(3 "Vcc-sldr") -( -) -Layer(4 "component") -( -) -Layer(5 "GND-comp") -( -) -Layer(6 "Vcc-comp") -( -) -Layer(7 "unused") -( -) -Layer(8 "unused") -( -) Index: old/tools/pcb2ncap/tutorial/tut.net =================================================================== --- old/tools/pcb2ncap/tutorial/tut.net (revision 36965) +++ old/tools/pcb2ncap/tutorial/tut.net (nonexistent) @@ -1,57 +0,0 @@ -AVCC U1-11 U2-28 U3-28 U4-16 U5-20 U6-20 U11-20 U12-14 U13-14 U14-14 R1-2 R2-2 C1-2 PWR-1 -AGND U1-29 U2-14 U3-14 U4-8 U4-5 U5-10 U6-10 U11-10 U12-7 U13-7 U14-7 C1-1 PWR-2 -D0 U1-14 U2-11 U3-11 U5-13 U6-13 CN-10 -D1 U1-15 U2-12 U3-12 U5-8 U6-8 CN-7 -D2 U1-12 U2-13 U3-13 U5-14 U6-14 CN-8 -D3 U1-8 U2-15 U3-15 U5-7 U6-7 CN-5 -D4 U1-7 U2-16 U3-16 U5-17 U6-17 CN-6 -D5 U1-9 U2-17 U3-17 U5-4 U6-4 CN-3 -D6 U1-10 U2-18 U3-18 U5-18 U6-18 CN-4 -D7 U1-13 U2-19 U3-19 U5-3 U6-3 CN-1 -A0 U1-30 U2-10 U3-10 U6-12 -A1 U1-31 U2-9 U3-9 U6-9 -A2 U1-32 U2-8 U3-8 U6-15 -A3 U1-33 U2-7 U3-7 U4-3 U6-6 -A4 U1-34 U2-6 U3-6 U4-2 U6-16 -A5 U1-35 U2-5 U3-5 U4-1 U6-5 -A6 U1-36 U2-4 U3-4 U6-19 -A7 U1-37 U2-3 U3-3 U6-2 -A8 U1-38 U2-25 U3-25 U5-12 -A9 U1-39 U2-24 U3-24 U5-9 -A10 U1-40 U2-21 U3-21 U5-15 -A11 U1-1 U2-23 U3-23 U5-6 -A12 U1-2 U2-2 U3-2 U5-16 -A13 U1-3 U2-26 U3-26 U5-5 -A14 U1-4 U2-1 U3-1 U5-19 -A15 U1-5 U5-2 -/MREQ U1-19 CN-12 -/IORQ U1-20 U4-4 CN-9 -/RD U1-21 U2-22 U3-22 CN-20 -/WR U1-22 U2-27 U3-27 CN-17 -CLOCK U1-6 CN-2 -/RESET U1-26 CN-16 -/M1 U1-27 CN-13 -/RFSH -/INT U1-16 CN-14 -/NMI U1-17 CN-11 -/HALT -/BUSAK U1-23 U5-1 U6-1 CN-18 -/BUSRQ U1-25 CN-15 -/WAIT U1-24 R1-1 -CS0 -CS1 -CS2 -CS3 -CS4 -CS5 -CS6 -CS7 -ADDR U5-11 U6-11 -BIT0 -BIT1 -BIT2 -BIT3 -BIT4 -BIT5 -BIT6 -BIT7 Index: old/tools/pcb2ncap/tutorial/README =================================================================== --- old/tools/pcb2ncap/tutorial/README (revision 36965) +++ old/tools/pcb2ncap/tutorial/README (nonexistent) @@ -1,2 +0,0 @@ -type: - pcb_route tut Index: old/tools/pcb2ncap/AUTHORS =================================================================== --- old/tools/pcb2ncap/AUTHORS (revision 36965) +++ old/tools/pcb2ncap/AUTHORS (nonexistent) @@ -1,2 +0,0 @@ -Luis Claudio G. Lopes -lcgamboa@yahoo.com Index: old/tools/pcb2ncap/INSTALL =================================================================== --- old/tools/pcb2ncap/INSTALL (revision 36965) +++ old/tools/pcb2ncap/INSTALL (nonexistent) @@ -1,7 +0,0 @@ -type - -make - -and - -make install Index: old/tools/pcb2ncap/catlayer.cc =================================================================== --- old/tools/pcb2ncap/catlayer.cc (revision 36965) +++ old/tools/pcb2ncap/catlayer.cc (nonexistent) @@ -1,57 +0,0 @@ -/* - * COPYRIGHT - * - * catlayer, simple layer file include into pcb file - * Copyright (C) 2001 Luis Claudio Gambôa Lopes - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * Contact address for Email: - * lcgamboa@yahoo.com - * - */ -#include -#include -#include - -using namespace std; - -int main(int argc, char **argv) -{ - if (argc != 4) { - cout << "usage: " << argv[0] << " layernum file.pcb file.lpcb" << endl; - return 0; - }; - - ifstream fin1(argv[2]); - ifstream fin2(argv[3]); - - string s; - string layer = "Layer("; - layer += argv[1]; - int test; - while (getline(fin1, s)) { - cout << s << endl; - test = s.find(layer); - if (test >= 0) { - getline(fin1, s); - cout << s << endl; - while (getline(fin2, s)) - cout << s << endl; - }; - - }; - return 0; -}; Index: old/tools/pcb2ncap/COPYING =================================================================== --- old/tools/pcb2ncap/COPYING (revision 36965) +++ old/tools/pcb2ncap/COPYING (nonexistent) @@ -1,341 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place - Suite 330 - Boston, MA 02111-1307, USA. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. Index: old/tools/pcb2ncap/pcb2ncap.cc =================================================================== --- old/tools/pcb2ncap/pcb2ncap.cc (revision 36965) +++ old/tools/pcb2ncap/pcb2ncap.cc (nonexistent) @@ -1,303 +0,0 @@ -/* - * COPYRIGHT - * - * pcb2ncap, simple PCB file to ncap file program converter - * Copyright (C) 2001 Luis Claudio Gambôa Lopes - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * Contact address for Email: - * lcgamboa@yahoo.com - * - */ - - -#include -#include -#include - -#include -#include -#include -using namespace std; - - -class signal { -public: - string des, xpos, ypos; -}; - - -class module { -private: -public: - int number; - int type; - int npins; - int variant; - string description; - int position; - string xposition; - string yposition; - string orientation; - - string des; - string ref; - - signal signals[100]; - - module(string); - void print(void); - void make(void); -}; - - -int pin = 1, pos = 0, ndevices = 0; -ifstream arq; -ofstream arq2; -module *devices[500]; -int layers = 2, xstart = 0, ystart = 0; -string xsize, ysize; - -void - module::print(void) -{ - arq2 << number << endl << type << endl << npins << endl << variant << endl - << description << endl << position << endl << xposition << endl << yposition << endl << orientation << endl; - for (int i = 1; i <= npins; i++) - arq2 << signals[i].des << endl; -}; - -void module::make(void) -{ - char fname[100]; - char fname2[100]; - mkdir("outlines", S_IRWXU | S_IRWXG); - sprintf(fname, "outlines/dev%i.%i.0", type, npins); - ofstream out(fname); - out << "paddef:\ntracking circle 60\npower annulus 80\nend\npins\n"; - - int x1 = 0, y1 = 0, x2 = 0, y2 = 0, x3, y3, x4, y4, x5, y5, x6, y6, x7, y7; - int xpos, ypos; - for (int i = 0; i < npins; i++) { - xpos = atoi(signals[i].xpos.c_str()) - atoi(xposition.c_str()); - ypos = atoi(signals[i].ypos.c_str()) - atoi(yposition.c_str()); - // ypos = atoi (yposition.c_str ()) - atoi (signals[i].ypos.c_str ()); - - out << xpos << ',' << ypos << endl; - - if (xpos < x1) - x1 = xpos; - if (xpos > x2) - x2 = xpos; - if (ypos < y1) - y1 = ypos; - if (ypos > y2) - y2 = ypos; - }; - out << "end\n"; - x1 -= 30; - x2 += 30; - y1 -= 30; - y2 += 30; - - out << x1 << ',' << y1 << ',' << x2 << ',' << y1 << endl; - out << x2 << ',' << y1 << ',' << x2 << ',' << y2 << endl; - out << x2 << ',' << y2 << ',' << x1 << ',' << y2 << endl; - out << x1 << ',' << y2 << ',' << x1 << ',' << y1 << endl; - - out.close(); - sprintf(fname2, "outlines/tab.%i", type); - out.open(fname2); - out << "description\n!\n" << npins << ".0"; -}; - - -void strip(string s) -{ - while (s[pos] != '(') - pos++; -}; - -string parse_quotes(string s) -{ - string out = ""; - while (s[pos] != '\"') - pos++; - pos++; - while (s[pos] != '\"') - out += s[pos++]; - pos++; - return out; -}; - -string parse_space(string s) -{ - string out = ""; - while ((pos < s.size()) && (s[pos] != '\t') && (s[pos] != ' ') - && (s[pos] != '(')) - pos++; - pos++; - while ((pos < s.size()) && (s[pos] != '\t') && (s[pos] != ' ') - && (s[pos] != ')')) - out += s[pos++]; - return out; -}; - -void parse_element(string s) -{ - pos = s.find("PCB"); - if (pos >= 0) { - pos = 0; - parse_quotes(s); //description - xsize = parse_space(s); - ysize = parse_space(s); - }; - - pos = s.find("Element("); - if (pos >= 0) { - module *m = new module(s); - devices[ndevices-1] = m; - pin = 0; - }; - - pos = s.find("Pin"); - if (pos >= 0) { - pos = 0; - strip(s); - devices[ndevices - 1]->signals[pin].xpos = parse_space(s); - devices[ndevices - 1]->signals[pin].ypos = parse_space(s); - pin++; - devices[ndevices - 1]->npins = pin; - } - pos = s.find("Pad"); - if (pos >= 0) { - pos = 0; - strip(s); - devices[ndevices - 1]->signals[pin].xpos = parse_space(s); - devices[ndevices - 1]->signals[pin].ypos = parse_space(s); - pin++; - devices[ndevices - 1]->npins = pin; - } -/* - pos=s.find("ElementLine"); - if(pos >= 0) - cout<<"ElementLine: "<= 0) - cout<<"ElementArc: "<= 0) { - pos = 0; - strip(s); - devices[ndevices - 1]->xposition = parse_space(s); - devices[ndevices - 1]->yposition = parse_space(s); - }; -}; - -void parse_signal(string s) -{ - int pos2 = 0; - string signal = "", sig = "", uname, upin; - pos = 0; - while ((s[pos] != ' ') && (s[pos] != '\t')) { - signal += s[pos]; - pos++; - }; - while (s[pos] != '\0') { - sig = ""; - sig = parse_space(s); - if (sig.size() > 0) { - pos2 = 0; - uname = ""; - while (sig[pos2] != '-') { - uname += sig[pos2]; - pos2++; - }; - pos2++; - upin = ""; - while (pos2 < sig.size()) { - upin += sig[pos2]; - pos2++; - }; - - for (int o = 0; o < ndevices; o++) - for (int p = 0; p < devices[o]->npins; p++) - if (devices[o]->description == uname) - devices[o]->signals[atoi(upin.c_str())].des = signal; - }; - }; - -}; - - -module::module(string s) -{ - pos = 0; - - des = parse_quotes(s); - description = parse_quotes(s); - ref = parse_quotes(s); - orientation = "0"; - number = ndevices++; - type = number; - npins = 0; - variant = 0; - position = 1; - for (int i = 0; i < 100; i++) - signals[i].des = "NC"; -}; - - -int main(int argc, char **argv) -{ - int elm, bytes = 0; - string s; - int pins = 0; - - if (argc < 2) { - cout << "usage: " << argv[0] << " pcbfile " << endl; - return 0; - }; - - string fname = argv[1]; - arq.open(fname.c_str()); - fname.replace(fname.find(".pcb"), 5, ".ncap"); - arq2.open(fname.c_str()); - - while (getline(arq, s)) { - parse_element(s); - }; - arq.close(); - - arq.open(argv[2]); - - while (getline(arq, s)) { - parse_signal(s); - }; - - - arq2 << "ncapture" << endl << 0 << endl << 0 << endl << layers << endl << - xsize << endl << ysize << endl << xstart << endl << ystart << endl; - - for (int i = 0; i < ndevices; i++) { - devices[i]->print(); - devices[i]->make(); - }; - - return 0; -}; Index: old/tools/pcb2ncap/up2ps.cc =================================================================== --- old/tools/pcb2ncap/up2ps.cc (revision 36965) +++ old/tools/pcb2ncap/up2ps.cc (nonexistent) @@ -1,115 +0,0 @@ -/* - * COPYRIGHT - * - * up2ps, simple unixplot file to ps file program converter - * Copyright (C) 2001 Luis Claudio Gambôa Lopes - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * Contact address for Email: - * lcgamboa@yahoo.com - * - */ - -#include -#include -#include - -#include - - -using namespace std; - -float SCALE = 3.0; - -int main(int argc, char **argv) -{ - int x1, y1, x2, y2, r; - string s; - string fname; - - for (int d = 1; d < argc; d++) { - fname = argv[d]; - FILE *fi, *fo; - float sx, sy; - - fi = fopen(fname.c_str(), "r"); - fname += ".ps"; - fo = fopen(fname.c_str(), "w"); - fprintf(fo, - "%!\n\%\%BoundingBox: 18 25 572 579\n/Courier findfont 12 scalefont setfont\n0 0 0 setrgbcolor\n0.1 setlinewidth newpath\n"); - while (!feof(fi)) { - switch (getc(fi)) { - case 's': - x1 = getc(fi) + (getc(fi) * 256); - y1 = getc(fi) + (getc(fi) * 256); - x2 = getc(fi) + (getc(fi) * 256); - y2 = getc(fi) + (getc(fi) * 256); - - sx = x2 / 600.0; - sy = y2 / 800.0; - if (sx < sy) - SCALE = sy; - else - SCALE = sx; -// printf ("s--%i %i %i %i ???\n", x1, y1, x2, y2); - break; - case 'l': - x1 = getc(fi) + (getc(fi) * 256); - y1 = getc(fi) + (getc(fi) * 256); - x2 = getc(fi) + (getc(fi) * 256); - y2 = getc(fi) + (getc(fi) * 256); - fprintf(fo, "%0.4f %0.4f moveto %0.4f %0.4f lineto\n", x1 / SCALE, y1 / SCALE, x2 / SCALE, y2 / SCALE); - break; - case 'c': - x1 = getc(fi) + (getc(fi) * 256); - y1 = getc(fi) + (getc(fi) * 256); - r = getc(fi) + (getc(fi) * 256); - fprintf(fo, "stroke newpath\n%0.4f %0.4f %0.4f 0 360 arc\n", x1 / SCALE, y1 / SCALE, r / SCALE); - break; - case 'n': - x1 = getc(fi) + (getc(fi) * 256); - y1 = getc(fi) + (getc(fi) * 256); - fprintf(fo, "%0.4f %0.4f lineto\n", x1 / SCALE, y1 / SCALE); - break; - case 'm': - x1 = (getc(fi) * 256) + getc(fi); - y1 = (getc(fi) * 256) + getc(fi); - fprintf(fo, "%0.4f %0.4f moveto\n", x1 / SCALE, y1 / SCALE); - break; - case 'a': - x1 = (getc(fi) * 256) + getc(fi); - y1 = (getc(fi) * 256) + getc(fi); - x2 = (getc(fi) * 256) + getc(fi); - y2 = (getc(fi) * 256) + getc(fi); - r = (getc(fi) * 256) + getc(fi); -/* printf - ("a--stroke newpath\n%0.4f %0.4f %0.4f %0.4f %0.4f arc\n", - x1 / SCALE, y1 / SCALE, x2 / SCALE, y2 / SCALE, r / SCALE); -*/ - break; - case 'e': - break; - case 't': - while (r != '\n') - r = getc(fi); - break; - }; - }; - fprintf(fo, "stroke showpage"); - fclose(fi); - fclose(fo); - }; -}; Index: old/tools/pcb2ncap/README =================================================================== --- old/tools/pcb2ncap/README (revision 36965) +++ old/tools/pcb2ncap/README (nonexistent) @@ -1,75 +0,0 @@ -First, you must have installed: -* PCB (http://bach.ece.jhu.edu/~haceaton/pcb/) -* MUCS-PCB (http://www.cs.man.ac.uk/amulet/pcb/) - - -Descriptions: - -* pcb2ncap, simple PCB file to ncap file program converter - - pcb2ncap prj.pcb prj.net - - prj.pcb= PCB file with only the componentes positioned(without vias and lines) - prj.net= PCB rastnet file with all connections - - this create the prj.ncap, the MUCS-PCB router format - and the directory outlines\, the MUCS-PCB devices router format - - -* up2pcb, simple unixplot file to pcb sintaxe file program converter - - up2pcb unixplot_file - - this create unixplot_file.vpcb(vias) and unixplot_file.lpcb(lines) - - -* up2ps, simple unixplot file to ps file program converter - - up2ps unixplot_file - - this create unixplot_file.ps - - -* pcb_route, simple script to route a prj.pcb + prj.net - - pcb_route prj - - the prj.pcb and prj.net must exist in the same directory - - this create some files utilized for MUCS-PCB router - and de output prj_routed.pcb. - - -* catlayer, simple layer file include into pcb file - - catlayer layernum prj.pcb prj.lpcb - - layernum number of the layer that lines in the file.lpcb will be include - in file.pcb. - - -What using pcb_route? - -1- create an "file.pcb" with PCB and place all components and their names. -2- create an netlist "file.net" with all components connections. -3- verify the netlist with PCB. -4- using pcb_route "file" -5- the routed file is "file_routed.pcb" - - -What pcb_route do? - -Basically -1- using pcb2ncap to create "prj.ncap" -2- using netex(MUCS-PCB) to create tracker files (Read the MUCS-PCB manual) -3- using track(MUCS-PCB) to route (Read the MUCS-PCB manual for set options) -4- using up2ps to convert track output to post script files -5- using up2pcb to convert track output to pcb files prj.lpcb(Lines) and -prj.vpcb(Vias) -6- cat prj.pcb with prj.vpcb -7- using catlayer to join prj.lpcb with prj.pcb - - - -any question and sugestion -lcgamboa@yahoo.com Index: old/tools/pcb2ncap/Makefile =================================================================== --- old/tools/pcb2ncap/Makefile (revision 36965) +++ old/tools/pcb2ncap/Makefile (nonexistent) @@ -1,38 +0,0 @@ -#install directory -BIN=/usr/bin - -#OPT = -O5 -OPT = -g -O0 -CXX=g++ - -all: pcb2ncap up2ps up2pcb catlayer - -pcb2ncap: pcb2ncap.cc - $(CXX) pcb2ncap.cc -opcb2ncap $(OPT) - -up2ps: up2ps.cc - $(CXX) up2ps.cc -oup2ps $(OPT) - -up2pcb: up2pcb.cc - $(CXX) up2pcb.cc -oup2pcb $(OPT) - -catlayer: catlayer.cc - $(CXX) catlayer.cc -ocatlayer $(OPT) - -clean: - rm -f pcb2ncap up2ps up2pcb catlayer - -install: all - cp pcb2ncap $(BIN) - cp up2ps $(BIN) - cp up2pcb $(BIN) - cp pcb_route $(BIN) - cp catlayer $(BIN) - -uninstall: - rm $(BIN)/pcb2ncap - rm $(BIN)/up2ps - rm $(BIN)/up2pcb - rm $(BIN)/pcb_route - rm $(BIN)/catlayer -