PCB bug fixes 1/2

Andreas Nowatzyk agn at unh.cs.cmu.edu
Tue Dec 10 06:26:53 AEST 1985


PCB is a program to edit and route printed circuit boards, that was
posted to net.sources in August. Several bugs were discovered and
fixed. Also, several new features were added. These changes are
listed below.

The next post has the context diff's to patch the version of PCB
that was posted in August. If you got a copy of PCB via tape and
USmail, you will find that some fixes are already made in your copy.
In order to save space, the context diff's are compressed and
uuencoded. The complete, uncompressed update file is 117959 bytes
long.

The documentation to PCB is available as techreport CMU-CS-85-167 from:
    Carnegie-Mellon University
    Computer Science Dept.
    Schenley Park
    Pittsburgh, PA 15213
This may help sites that do not have Scribe to print the manual that
was included in the distribution.

In the unlikely event of new bugs ( :-) ), you can send a compressed version
of the most recent save-file (pcb.SAV) and the keystroke-file (Keys.sav)
that reproduces the problem. The ability to save and replay commands is one
of the new features. If I have some spare time, I might even look at those
bug reports...

   Happy patching  --  Andreas        arpa: agn at vlsi.cs.cmu.edu
				      usenet: ...!seismo!vlsi.cs.cmu.edu!agn

Recent changes:

- 8/8/85  'exc_adel' in 'pmnrt.c' may not touch power or ground net.
-         Previously, an area-delete could couse the power/ground nets
-         to loose their done-status. This would cause the router to
-         work on them if an area route is executed.
- 8/21/85 'pnt_ha' in 'pmnrt.c' fixed: A diagonal wire approaching a
-         via-hole of the same net so that it just touches the corner
-         of the hole used to fail in some cases.
- 10/2/85 Cosmetic fix of the function call syntax for calls via
-         pointer. cc accepts 'pointer (args)' while the VMS C compiler
-         wants to see '(*pointer) (args)'.
- 10/8/85 The direct search for unplaced components in 'pfio.c' and
-         'pupdate.c' was broken. References to unplaced components
-         would fail.
- 10/18/85 Added check to catch memory allocation failures ('malloc'
-         returning a nil-pointer).
- 10/19/85 Netlist-update fixed: updating netlists occationaly failed, because
-         the loop that deletes old nets used the wrong termiation condition:
-         it usually went too far, which caused non-existing nets to be
-         deleted if the number of component holes is larger than 'nhmax'.
-         Also: fixed rounding error on board size info for plot preview.
-         Also: 'choose' no longer proposes empty nets ('selnet: ...' message)
-         Also: check in 'finish' added to avoid trouble if AED is not
-         accessable.
- 10/20/85 Key-stroke save facility added: when enabled via the diagnostic
-         menu, all mouse entries are save in the file 'Keys.sav'. This
-         sequence can be replayed. This feature helps to save work in
-         case of system crashes or to undo the last n commands. The
-         Keystroke file is reset whenever a save-command is executed so
-         that it keeps track of all changes from the most recently saved
-         image. This is also great to reproduce bugs.
- 10/23/85 'beep' was added to the component move function in case that a
-         move-inhibiting condition exists (cosmetic). A delay of one second
-         was added to prevent (error-) messages from being overwritten
-         too fast. Previously, the message explaining why a component
-         couldn't be moved was visable only for a few msec.
- 10/24/85 New feature added: a simple macro facitity to group a sequence
-         of commands. Similar to the keystroke facility, the 'mouse'
-         entries are stored in an internal buffer that can be replayed
-         at a different position.
- 10/29/85 Saving work with the componet/solder side flipped will no longer
-         cause the colors to be exchanged if the saved image is reloaded.
-         Also: 'wtrace' was fixed so that it no longer adds one point to
-         vectors when 2 diagonal lines meet at an right angle such that
-         there are 3 points touching each other. This caused isolated
-         select bits in the bitmap which could confuse other operations.
-         Also: menu erases a larger area so that long text items do not
-         leave some characters on the screen (cosmetic problem).
-         Also: update can now reclaim deleted table space for components
-         and types (frequent updates could run out of table space).
- 11/2/85 'vhole' in 'pwork.c' fixed so that it is no longer confused if
-         the attched functions delete the trace (such as in 'delc').
-         Previously, 'delete' (in all its incarnations) could leave parts
-         of a net unconnected and undeleted if the net used certain
-         complex via-holes.
-         Also: The re-route wire straihtening option was fixed so that it
-         can handle wires open ended wires. Previously, there was a 50%
-         chance that it could not find the path to the single end point.
- 11/6/85 Improved delete alorithm: the delete function tries now to
-         guess when the endpoints of a deleted line should stay. Previously,
-         they were allways deleted if they did not contribute to a
-         electrical connection which would shorten the remaining line
-         segment (some user didn't like that).

----------------------------- end of change.log -----------------------------



More information about the Comp.sources.bugs mailing list