⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mac_port

📁 spice中支持多层次元件模型仿真的可单独运行的插件源码
💻
字号:
	Compiling spice with Think C on a Macintosh. A 68020 (Mac II) with co-processor is required.The src directory from the spice distribution should be moved intothe C folder.**** recompile think c libraries ****	Both the ANSI and unix libraries must be recompiled with the	following additional compiler settings:		Generate 68020 instructions		Generate 68881 instructions		4-bytes ints		Native floating-point format	The "console.c" file must be edited and should be removed from	the ANSI project.  I actually recompiled copies of the ANSI and	unix libraries that I called ANSI.68881 and unix.68881.	Copy the "console.c" source (a THINK C file) to a suitable	location so that it can be included in the spice project. (See	the next section for details of how "consol.c" must be modified.)**** creating the project ****	Create a new project and set the Options as follows:		Laguage Settings			Turn on the following options				Define #__STDC__				Recognize trigraphs				enums are always ints				Check pointer types				Language Extension					THINK C		Compiler Settings			Turn on the following options				Generate 68020 instructions				Generate 68881 instructions				4-bytes ints				Native floating-point format		Code Optimization			Turn on all options		Prefix			make sure there is no prefix (remove			default #include <macheaders>)		Note: The Language setting 'Strict Prototype Enforcement' must be	turned off.				Set the project type to application with at least 1024k partition	and turn on the 'Far DATA' option.		*** Adding the code to the project ***	Start Adding the code to the project. The code must be divided	into segments that are less that 32K each when compiled. The	following division has been used:		Segment  1: the ANSI.68881 and unix.68881 libraries.		Segment  2: all *.c files in /src/sparse		Segment  3: all *.c files in /src/lib/ni		Segment  4: all *.c files in /src/lib/misc		Segment  5: files /src/lib/inp/inp2dot.c				and /src/lib/inp/inptree.c		Segment  6: all other *.c files in /src/inp		Segment  7: all *.c files in /src/lib/hlp		Segment  8: all *.c files in /src/lib/cp				except /src/lib/cp/input.c		Segment  9: file /src/lib/ckt/dloadfns.c		Segment 10: files /src/lib/ckt/cktpzstr.c,				/src/lib/ckt/cktsens.c, /src/lib/ckt/dctran.c,				and /src/lib/ckt/distoan.c		Segment 11: all other *.c files in /src/lib/ckt		Segment 12: cmath*.c files in /src/lib/fte		Segment 13: files agraf.c, clip.c, display.c, graf.c,				graphdb.c, plot5.c, plotcurv.c and				postsc.c in /src/lib/fte		Segment 14: files evaluate.c, parse.c, postcoms.c,				and subckt.c in /src/lib/fte		Segment 15: files breakp.c, device.c, doplot.c,				grid.c and shyu.c in /src/lib/fte		Segment 16: files dotcards.c, inp.c, outif.c, rawfile.c,				spiceif.c and vectors.c in /src/lib/fte		Segment 17: all other *.c files in /src/lib/fte				except nutmegif.c		Segment 18: all *.c files in /src/lib/fte/vsrc				and /src/lib/fte/isrc		Segment 19: all *.c files in /src/lib/fte/jfet		Segment 20: all *.c files in /src/lib/fte/vccs,				/src/lib/fte/vcvs, /src/lib/fte/cccs,				and /src/lib/fte/ccvs		Segment 21: all *.c files in /src/lib/fte/asrc				and /src/lib/fte/urc		Segment 22: all *.c files in /src/lib/fte/cap,				/src/lib/fte/ind, and /src/lib/fte/res		Segment 23: all *.c files in /src/lib/fte/csw,				/src/lib/fte/sw, and /src/lib/fte/tra		Segment 24: all *.c files in /src/lib/fte/mos6		Segment 25: all *.c files in /src/lib/fte/mes		Segment 26: all *.c files in /src/lib/fte/ltra		Segment 27: file mos3load.c in /src/lib/fte/mos3		Segment 28: files mos3dist.c, mos3dset.c,				and mos3sld.c in /src/lib/fte/mos3		Segment 29: remaining *.c files in /src/lib/fte/mos3		Segment 30: all *.c files in /src/lib/fte/dio		Segment 31: file mos1load.c in /src/lib/fte/mos1		Segment 32: files mos1dist.c, mos1dset.c,				and mos1sld.c in /src/lib/fte/mos1		Segment 33: remaining *.c files in /src/lib/fte/mos1		Segment 34: file bjtload.c in /src/lib/fte/bjt		Segment 35: files bjtdisto.c, bjtdset.c,				and bjtsload.c in /src/lib/fte/bjt		Segment 36: remaining *.c files in /src/lib/fte/bjt		Segment 37: file mos2load.c in /src/lib/fte/mos2		Segment 38: file mos2dset.c in /src/lib/fte/mos2		Segment 39: files mos2dist.c, and mos2sld.c				in /src/lib/fte/mos2		Segment 40: remaining *.c files in /src/lib/fte/mos2		Segment 41: files b1dset.c, and b1ld.c in /src/lib/fte/bsim1		Segment 42: files b1disto.c, and b1eval.c in /src/lib/fte/bsim1		Segment 43: remaining *.c files in /src/lib/fte/bsim1		Segment 44: files b2eval.c, and b2ld.c in /src/lib/fte/bsim2		Segment 45: remaining *.c files in /src/lib/fte/bsim2		Segment 46: all *.c files in /src/lib/dev/disto,				and devsup.c in /src/lib/dev		Segment 47  all *.c files in /src/lib/mac,				and file /src/bin/main.c	Note that the following files are not included:		/src/lib/cp/input.c		/src/lib/fte/nutmegif.c			Add "console.c" (the copy made as described above) and make the	following alterations to it:		1. The lines:			static char console_environment, noPrint, interrupted;			static short console_refnum;			static MenuHandle appleMenu;			static WindowPeek theConsole;		   must be changed to make console_environment and		   appleMenu external:			extern char console_environment, noPrint, interrupted;			static char noPrint, interrupted;			static short console_refnum;			extern MenuHandle appleMenu;			static WindowPeek theConsole;		2. Alter the function ProcessEvent() to add a default switch		case. The altered section appears following a doEvent label as		(note: this code fragment has 4-space tabs and long lines		broken to fit an 80-column page; these changes do not affect		the code):			doEvent:			    if (event.what == mouseDown) {				switch (FindWindow(event.where, &wp)) {				    case inMenuBar:					InitCursor();					choice = MenuSelect(event.where);					goto doMenu;				    case inSysWindow:					SystemClick(&event, wp);					break;				    default:   /* For spice to pass mouse						    events to graphs */					if ((WindowPtr) wp != FrontWindow()) {					    SelectWindow(wp);					    in.cnt = 0;					}  /* in.cnt=0 forces console to						return to application */				}			    }	Compilation takes about 3 to 4 hours on a 25MHz mac.  Set the cache	to at least 256k to eliminate a lot of disk access.	**** makeindx ****	Create a project with the same option settings decribed above.	Add src/bin/makeidx.c, ANSI.68881 and an unmodified version of	"console.c".	Build the makeindex application.	Move the application into lib/helpdir directory of the the spice	distribution.  Run it and add the names of the files to be indexed	(nutmeg.txt spice.txt) to the command line and hit return.**** proc2mod ****	Create a project with the same option settings decribed above.	Add src/bin/proc2mod.c, src/lib/misc/alloc.c, src/lib/misc/string.c		src/lib/inp/inpcfix.c, src/lib/inp/inpeval.c,		src/lib/inp/inpgtok.c, ANSI.68881 and an unmodified		version of console.c.	Build the proc2mod application.  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -