The bad news:
Circuit Design Programs contains mostly unstructured un-commented code.
In user interface and package integration it’s so far behind the free SPICE it’s not even eating SPICE’s dust.
The good news:
It beats a couple competing books offering almost nothing above voltage dividers, parallel resistors, reactance, etc.
The user can “look under the hood” and see how a computer can generate mesh and mode solutions to complex-impedance component networks. That’s the Howard Berlin’s strong point.
Because it is not totally locked into a circuit analysis paradigm, it just might do a couple things SPICE does not do.
If you do frequent circuit design using a few circuit topologies suiting your field, you might want to build a tool on Howard Berlin’s approach.
Howard M. Berlin’s programs can be moved from paper to a computer as follows:
Those who enjoy vintage software find BASIC and other early language programs have become easy to install from books and magazines that have been scanned as pdf with text: Open the book in a viewer that can read the text (such as Okular).
Just cut the program and paste it into your BASIC editor window. If your BASIC matches the version in the book, you’ll have a few mis-scanned characters to clean. (If listing is a dot matrix type or very fine print, you may have a good many mis-scanned characters.
More likely, you’re running a totally different platform. Maybe it doesn’t even include a BASIC interpreter. In that case you’ll need to install an interpreter and do some translation -- especially with graphics commands. The BASIC256 interpreter operates with BSD, Linux, Macintosh and MS Windows.
Many Linux distros include BASIC256 in their repositories. The recent versions seem much more robust than the early ones. The down side is not using line numbers which makes it a bit alien to us old timers. The up side is that it’s a free download and programs translated into BASIC256 port directly between the four operating systems noted above. Your can keep the programs in all capital letters or change them to mixed capitals and lower case.
For easiest translation to a BASIC without line numbers, copy the program to a text editor (like Leafpad). ake two versions. The original and another coped with a selection area not including line.
On a copy with line numbers mark the lines that serve as destination locations from GOTO,
GOSUB and then commands.
Then perform a global replace (fixing whatever differences between the original and new interpreter). For instance BASIC256 usually requires the following:
THEN --> THEN GOTO
ELSE --> ELSE GOTO
pen_pals(x) --> pen_pals[x] arrays take square brackets.
Then find lines that had destination line numbers like
23 GOSUB 101
100 REM This is a subroutine
101 FOR i=1 TO 3.1E9
and replace the line numbers with a label like
23 GOSUB L101
rem This is a subroutine
for i=1 to 3.1E9
Using the line number in the label helps when referring to the original during any debugging.