165 lines
7.7 KiB
Plaintext
165 lines
7.7 KiB
Plaintext
So, this is third version of Spice3f5 for RedHat Linux 2.6. I took re-ported
|
|
version of spice3f5 and made changes to fix some bugs. If someone want to help,
|
|
please send me "newer" versions wtih more bugs fixed.
|
|
I hope that those who wnat to have good spice under Linux (no more Win95)
|
|
will find this port useful and maybe help each other to improve it.
|
|
|
|
There was a lot of bugs in previus versions, generally in command parsiong routines.
|
|
I copy all original files to *.orig and marked all my changes with /* MW. ... */
|
|
|
|
I changed cp/bquote.c and cp/var2.c to handle some special situations
|
|
and commands like $foo, `foo`. Also problems with 'gets()' (in sconvert and
|
|
inp.c) function are fixed. I chnaget it to fgets(buf, BSIZE_SP, stdin) for
|
|
safe use.
|
|
|
|
Globing ('[]{}?*') didn't work at all. Now it is removed (form cp/glob.c).
|
|
We don't need this features in spice.
|
|
|
|
Initial command parsing (cp_lexer() from cp/lexical.c) strip all commas from
|
|
strings. This was in conflict with aritchetic expressions.
|
|
|
|
com_let() in fte/postcoms.c caused core dump in some situations - fixed.
|
|
|
|
Editor problems. Com_edit() in fte/inp.c failed occasionally, when it
|
|
tryies to fclose() fp second time. Now inp_spsource() always closes fp, and
|
|
other calling functions do not. It seems to work right now.
|
|
|
|
vec_get() (fte/vectors.c) has some problems with devices parameters and
|
|
memory leaks. I hope that my changes fixed it at all.
|
|
|
|
I have to add INPinsertNofree() in inp/inpsymt.c. This is special case for
|
|
routines from fte/spiceif.c and fte/outitf.c - It does not do free() for
|
|
any pointers that it gets. This may cause small memory leaks, but I don't
|
|
know how to make it better.
|
|
|
|
com_alter_common() (fte/device.c) caused segmentation faults ocassionally,
|
|
due to double free the same pointers. It works right now.
|
|
|
|
cp_lexer() corretly gets ^V, ^D, and ESC. I have to #include ioctl.h file in
|
|
cp/lexical.c and cp/complete.c
|
|
|
|
There were problem with com_iplot() if it was called when X11 does not run.
|
|
I have to add additonal check to gr_pmsg() (from fte/graph.c) and now it
|
|
works fine.
|
|
|
|
Trace failed to display comlex data due to segmentation fault. Someone wants
|
|
to plot realdata even if given vector was complex. I changed gr_iplot()
|
|
(in fte/graf.c) and now it is fine.
|
|
|
|
There are some changes in os_linux.h and os_unix.h, but they are not mandatory,
|
|
I think. Also I have to add PI, and some other const. declarations in spice.h
|
|
They were needed somewhere. (why someone didn't used M_PI and so on instead ?)
|
|
|
|
In file fte/x11.c, was a prloblem with background color for plot windows. I
|
|
changed init_colors() and now we can use color0 variable.
|
|
|
|
Spice3f5 has a few memory leaks. I suppose that some vectors and maybe other
|
|
things are simple 'lost' somewhere. If you (just like me) trying to make this
|
|
program better, take care about this also.
|
|
Generally I didn't do much with graphisc interface, because it seems to work
|
|
quite good. Only problem is core dump, when cliking mouse on help screen.
|
|
|
|
Manuals are sometimes in error. Vector creation by [ el. el. ...] is not
|
|
supported I think. For indexing we must use [low , hi]. For setting 'list'
|
|
variables - ( el. el. ... ). Indexing also doesn't work with let xx[...] = yy.
|
|
|
|
Someone should change these f... manuals.
|
|
|
|
|
|
And now for those who think about makeing this program better. There is a big
|
|
problem with memory, when you run a few simulations. Destroy commad does not
|
|
free much memory, and after some time you can see that spice uses 3MB, when
|
|
you just clean all vectros. Also I don't know how to unload a circuit -
|
|
spice hold all sourced files in the "deck" list and there is no way to free
|
|
it from command line (or maybe I didn't find any).
|
|
Unfortunatelly I am sure that these are not all off the problems
|
|
with this program, but now I can use it quite effectively. If anyone will
|
|
know anything about bugs-free, good, commannd driven simulator for Linux
|
|
__PLEASE__ let me know.
|
|
|
|
For easer use I made special debug file (conf/debug). I used it for makeing
|
|
"debug" version of spice with efence library and -g option. Executable files
|
|
from this are located in spice3f5/objdbg/bin, when you do 'util/build linux debug'.
|
|
|
|
I am an electronic designer, so I really need a good working simulator...
|
|
|
|
Original readme file is given below.
|
|
|
|
Michael Widlok (widlok@uci.agh.edu.pl)
|
|
Uniersity of Mining and Metallurgy
|
|
Krakow, Poland.
|
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
This is my (re-)port of Spice3f4 to Linux version 2 (I am not the same
|
|
person who ported it before). It also wraps in the latest official
|
|
pre-3f5 patches from Berkeley I could find (found in
|
|
sp3f4.patch.tar.Z). Support for the MFB interface using the Linux
|
|
termcap library and some various Linux features have been ported.
|
|
|
|
This was not done for the hell of it, but it seemed that something
|
|
broke due to some Linux/system/library changes, so I decided to try
|
|
porting it from scratch. In fact, if you don't have any problems with
|
|
the previous port, your probably fine then. However, if you do have
|
|
problems (e.g. exiting Spice leaves you in uppercase mode), or want
|
|
MFB for some reason, then try this. It seems to work here.
|
|
|
|
Basically, I started out with sp3f4.kit.tar.Z. Then, I applied the
|
|
most recent patches contained in sp3f4.patch.tar.Z and wrote new Linux
|
|
build files: "linux" and "os_linux.h" (some minor mods to the source
|
|
were also necessary, protected with linux conditionals).
|
|
|
|
Since the previous spice3f4.tar.gz port file was generally available,
|
|
there was no point in duplicating source, so I just diffed from the
|
|
spice3f4.tar.gz tree to freshly ported tree and edited or removed a
|
|
few of the diffs. A few of the changes made in spice3f4.tar.gz have
|
|
been reverted to the distribution defaults, but one notable change is
|
|
that performing the install step will install the necessary files into
|
|
/usr/local/spice. You'll need to add /usr/local/spice/bin to your
|
|
shell path. See the file conf/linux to change the installation
|
|
location (this location gets hard-coded in the spice binaries).
|
|
|
|
This is a patched file of the original readme.Linux from
|
|
spice3f4.tar.gz, and the previous contents by Jeff@EE.Ryerson.Ca is
|
|
given below. Just follow the below instructions, so you should be
|
|
able to safely do:
|
|
|
|
./util/build linux
|
|
./util/build linux install
|
|
|
|
You should then find the spice binaries and library files
|
|
in e.g. /usr/local/spice. Example files and the man pages
|
|
are not installed, so you might want to copy them by hand.
|
|
|
|
Andrew Veliath (veliaa@rpi.edu)
|
|
January 25, 1997
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
This is my port of Spice3f4 to Linux. It required a few more changes
|
|
than the porting document indicated would be necessary, mostly to do
|
|
with supported/unsupported functions in Linux libc & libm.
|
|
|
|
I've tried to make these changes in as as portable a way as possible,
|
|
so it should build cleanly on other Unicies, however I've removed the
|
|
MS-DOS support so the tarred and gziped source fits on one disk.
|
|
|
|
To build spice3, first have a look in the file readme, but you should
|
|
be able to just do...
|
|
|
|
./util/build linux
|
|
./util/build install linux
|
|
|
|
Note that there is a modifyer "gcc" you can try if you have trouble, but
|
|
it claims to work around some obscure bug in gcc that I'm positive got
|
|
fixed eons ago. To use it anyway, do ./util/build linux gcc.
|
|
|
|
I found this source through archie, (look for spice3f3.tar.Z, and then
|
|
patched it to 3f4 with patches from ic.berkeley.edu), I assume that the
|
|
ftp site I got it from has read thier license from Berkeley, which if
|
|
it's the same as the 3e2 license states that the holder can distribute
|
|
copies free of charge provided it does not fall into hands unfriendly
|
|
to the U.S. So... I guess if that's you, please destroy all copies of this
|
|
you might have!
|
|
|
|
Jeff@EE.Ryerson.Ca
|