diff --git a/bin/makefile-sunos4.sparc% b/bin/makefile-sunos4.sparc% deleted file mode 100644 index 46dc365..0000000 --- a/bin/makefile-sunos4.sparc% +++ /dev/null @@ -1,95 +0,0 @@ -# Options for SunOS4 and SPARC -# @(#) makefile-sunos4.sparc Version 1.19 (5/9/90). - -#************************************************************************/ -#* */ -#* (C) Copyright 1989-92 Venue. All Rights Reserved. */ -#* Manufactured in the United States of America. */ -#* */ -#************************************************************************/ -# -# This is to make the %$#@! Apollo cc happy -OEXT = .o -# OPTFLAGS is normally -O2. -OPTFLAGS = -O2 -FPFLAGS = -# Now share the same ldesingle with COLOR(CG4)/MONO Suns -# If you load MAIKOCOLOR.LCOM etc., you can use color functions -DFLAGS = -DKBINT -DFSERROR -DNEW_STORAGE -DOS4 -DSPARCDISP -DSUN4_OS4_IL \ - -DOS4_TYPE4BUG -DCOLOR -DNEWBITBLT -DLOGINT -DSUNDISPLAY \ - -DFORKCOMM -DBIGATOMS - -LDFLAGS = -lsuntool -lsunwindow -lpixrect -ldld -lc -lm -#-Dsparc? -INLINE = $(SRCDIR)dspSPARC.il -BITBLTFILE = $(OBJECTDIR)bbtSPARC.o - -OBJECTDIR = ../$(RELEASENAME)/ -COLORFILES = $(OBJECTDIR)rawcolor.o - -default : $(OBJECTDIR)lde $(OBJECTDIR)ldeether - -# Special rules to create xc.c on Sun4 - -#run cpp to expand macros -$(OBJECTDIR)xc.i: $(SRCDIR)xc.c $(INCDIR)lispemul.h $(INCDIR)emlglob.h $(INCDIR)address.h \ - $(INCDIR)adr68k.h $(INCDIR)stack.h $(INCDIR)lspglob.h \ - $(INCDIR)lsptypes.h $(INCDIR)lispmap.h $(INCDIR)cell.h \ - $(INCDIR)initatms.h $(INCDIR)gcdata.h \ - $(INCDIR)arith.h $(INCDIR)stream.h \ - $(INCDIR)tos1defs.h $(INCDIR)tosret.h \ - $(INCDIR)tosfns.h $(INCDIR)inlineC.h \ - $(INCDIR)inln68k.h - cc -Qproduce .i $(DFLAGS) -I$(INCDIR) $(SRCDIR)xc.c -o $(OBJECTDIR)xc.i - -#run c compiler to produce first pass assembly -$(OBJECTDIR)xc.s1: $(OBJECTDIR)xc.i - rm -f $(OBJECTDIR)xc.s1 - /lib/ccom - $(FPFLAGS) <$(OBJECTDIR)xc.i >$(OBJECTDIR)xc.s1 - -#generate C program to remove dispatch loop, optimize -$(OBJECTDIR)dsphack.c: $(SRCDIR)dsphack.lex - rm -f $(OBJECTDIR)dsphack.c - lex -t $(SRCDIR)dsphack.lex > $(OBJECTDIR)dsphack.c - -#uses this program to find dispatch -$(OBJECTDIR)find-dsp.c: $(SRCDIR)find-dsp.lex - rm -f $(OBJECTDIR)find-dsp.c - lex -t $(SRCDIR)find-dsp.lex > $(OBJECTDIR)find-dsp.c - -$(OBJECTDIR)find-dsp: $(OBJECTDIR)find-dsp.c - cc -o $(OBJECTDIR)find-dsp $(OBJECTDIR)find-dsp.c -ll - -$(OBJECTDIR)dispatch-label.c: $(OBJECTDIR)find-dsp $(OBJECTDIR)xc.s1 - rm -f $(OBJECTDIR)dispatch-label.c - $(OBJECTDIR)find-dsp < $(OBJECTDIR)xc.s1 >$(OBJECTDIR)dispatch-label.c - -$(OBJECTDIR)dsphack: $(OBJECTDIR)dsphack.c $(OBJECTDIR)dispatch-label.c - cc -o $(OBJECTDIR)dsphack $(OBJECTDIR)dispatch-label.c $(OBJECTDIR)dsphack.c -ll - rm -f $(OBJECTDIR)dispatch-label.o $(OBJECTDIR)dsphack.o - -$(OBJECTDIR)xc.s2: $(OBJECTDIR)xc.s1 $(OBJECTDIR)dsphack - rm -f $(OBJECTDIR)xc.s2 - $(OBJECTDIR)dsphack < $(OBJECTDIR)xc.s1 >$(OBJECTDIR)xc.s2 - -$(OBJECTDIR)xc.s3: $(OBJECTDIR)xc.s2 $(INLINE) - rm -f $(OBJECTDIR)xc.s3 - /usr/lib/inline -i $(INLINE) < $(OBJECTDIR)xc.s2 > $(OBJECTDIR)xc.s3 - -$(OBJECTDIR)xc.o: $(OBJECTDIR)xc.s3 - /bin/as -o $(OBJECTDIR)xc.o -O1 $(OBJECTDIR)xc.s3 - -############ -# -# SPECIAL xc.o for debugging -# -############ -#$(OBJECTDIR)xc.o: $(SRCDIR)xc.c $(INCDIR)lispemul.h $(INCDIR)emlglob.h \ - $(INCDIR)address.h \ - $(INCDIR)adr68k.h $(INCDIR)stack.h $(INCDIR)lspglob.h \ - $(INCDIR)lsptypes.h $(INCDIR)lispmap.h $(INCDIR)cell.h \ - $(INCDIR)initatms.h $(INCDIR)gcdata.h \ - $(INCDIR)arith.h $(INCDIR)stream.h \ - $(INCDIR)tos1defs.h $(INCDIR)tosret.h \ - $(INCDIR)tosfns.h $(INCDIR)inlineC.h -# cc $(DISPRFLAGS) -UOPDISP -USPARCDISP $(SRCDIR)xc.c -I$(INCDIR) -o $(OBJECTDIR)xc.o diff --git a/bin/makefile-sunos4.sparc-multi% b/bin/makefile-sunos4.sparc-multi% deleted file mode 100644 index a6c08f2..0000000 --- a/bin/makefile-sunos4.sparc-multi% +++ /dev/null @@ -1,98 +0,0 @@ -# makefile-sunos4.sparc-multi -# @(#) makefile-sunos4.sparc-multi Version 1.6 (5/9/90). -# -# Options for SunOS4 and SPARC for CG3 or CG6 -# Add -DDISPLAYBUFFER in DFLAGS -# ${RELEASENAME} is "sunos4.sparc-multi" - -# This is to make the %$#@! Apollo cc happy -OEXT = .o -# OPTFLAGS is normally -O2. -OPTFLAGS = -g -DISPOPTFLAGS = -g -FPFLAGS = -# Now share the same ldemulti for Mono-Medley & Color-Medley -# If you load MAIKOCOLOR.LCOM etc., you can use color functions -# -# Removed for debug: -DSPARCDISP -DSUN4_OS4_IL -# Added for debug: -DFNSTKCHECK -DMYOPTRACE -DOPTRACE -DNOASM -# -DFLAGS = -DKBINT -DFSERROR -DNEW_STORAGE -DOS4 -DOS4_TYPE4BUG -DCOLOR \ - -DDISPLAYBUFFER -DNEWBITBLT -DLOGINT -DSUNDISPLAY -DSPARCDISP \ - -DSUN4_OS4_IL -DBIGATOMS -DFORKCOMM -DBIGVM -DNEWCDRCODING - -LDFLAGS = -lsuntool -lsunwindow -lpixrect -ldld -lc -lm -#-Dsparc? -INLINE = $(SRCDIR)dspSPARC.il -BITBLTFILE = $(OBJECTDIR)bbtSPARC.o - -OBJECTDIR = ../$(RELEASENAME)/ -COLORFILES = $(OBJECTDIR)rawcolor.o - -default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether - -# Special rules to create xc.c on Sun4 - -#run cpp to expand macros -$(OBJECTDIR)xc.i: $(SRCDIR)xc.c $(INCDIR)lispemul.h $(INCDIR)emlglob.h $(INCDIR)address.h \ - $(INCDIR)adr68k.h $(INCDIR)stack.h $(INCDIR)lspglob.h \ - $(INCDIR)lsptypes.h $(INCDIR)lispmap.h $(INCDIR)cell.h \ - $(INCDIR)initatms.h $(INCDIR)gcdata.h \ - $(INCDIR)arith.h $(INCDIR)stream.h \ - $(INCDIR)tos1defs.h $(INCDIR)tosret.h \ - $(INCDIR)tosfns.h $(INCDIR)inlineC.h \ - $(INCDIR)inln68k.h - cc -Qproduce .i $(DFLAGS) -I$(INCDIR) $(SRCDIR)xc.c -o $(OBJECTDIR)xc.i - -#run c compiler to produce first pass assembly -$(OBJECTDIR)xc.s1: $(OBJECTDIR)xc.i - rm -f $(OBJECTDIR)xc.s1 - /lib/ccom - $(FPFLAGS) <$(OBJECTDIR)xc.i >$(OBJECTDIR)xc.s1 - -#generate C program to remove dispatch loop, optimize -$(OBJECTDIR)dsphack.c: $(SRCDIR)dsphack.lex - rm -f $(OBJECTDIR)dsphack.c - lex -t $(SRCDIR)dsphack.lex > $(OBJECTDIR)dsphack.c - -#uses this program to find dispatch -$(OBJECTDIR)find-dsp.c: $(SRCDIR)find-dsp.lex - rm -f $(OBJECTDIR)find-dsp.c - lex -t $(SRCDIR)find-dsp.lex > $(OBJECTDIR)find-dsp.c - -$(OBJECTDIR)find-dsp: $(OBJECTDIR)find-dsp.c - cc -o $(OBJECTDIR)find-dsp $(OBJECTDIR)find-dsp.c -ll - -$(OBJECTDIR)dispatch-label.c: $(OBJECTDIR)find-dsp $(OBJECTDIR)xc.s1 - rm -f $(OBJECTDIR)dispatch-label.c - $(OBJECTDIR)find-dsp < $(OBJECTDIR)xc.s1 >$(OBJECTDIR)dispatch-label.c - -$(OBJECTDIR)dsphack: $(OBJECTDIR)dsphack.c $(OBJECTDIR)dispatch-label.c - cc -o $(OBJECTDIR)dsphack $(OBJECTDIR)dispatch-label.c $(OBJECTDIR)dsphack.c -ll - rm -f $(OBJECTDIR)dispatch-label.o $(OBJECTDIR)dsphack.o - -$(OBJECTDIR)xc.s2: $(OBJECTDIR)xc.s1 $(OBJECTDIR)dsphack - rm -f $(OBJECTDIR)xc.s2 - $(OBJECTDIR)dsphack < $(OBJECTDIR)xc.s1 >$(OBJECTDIR)xc.s2 - -$(OBJECTDIR)xc.s3: $(OBJECTDIR)xc.s2 $(INLINE) - rm -f $(OBJECTDIR)xc.s3 - /usr/lib/inline -i $(INLINE) < $(OBJECTDIR)xc.s2 > $(OBJECTDIR)xc.s3 - -#$(OBJECTDIR)xc.o: $(OBJECTDIR)xc.s3 -# /bin/as -o $(OBJECTDIR)xc.o -O1 $(OBJECTDIR)xc.s3 - - -############ -# -# SPECIAL xc.o for debugging -# -############ -$(OBJECTDIR)xc.o: $(SRCDIR)xc.c $(INCDIR)lispemul.h $(INCDIR)emlglob.h \ - $(INCDIR)address.h \ - $(INCDIR)adr68k.h $(INCDIR)stack.h $(INCDIR)lspglob.h \ - $(INCDIR)lsptypes.h $(INCDIR)lispmap.h $(INCDIR)cell.h \ - $(INCDIR)initatms.h $(INCDIR)gcdata.h \ - $(INCDIR)arith.h $(INCDIR)stream.h \ - $(INCDIR)tos1defs.h $(INCDIR)tosret.h \ - $(INCDIR)tosfns.h $(INCDIR)inlineC.h - cc $(DISPRFLAGS) -UOPDISP -USPARCDISP $(SRCDIR)xc.c -I$(INCDIR) -o $(OBJECTDIR)xc.o diff --git a/bin/makefile-sunos4.sparc-x% b/bin/makefile-sunos4.sparc-x% deleted file mode 100644 index 720c687..0000000 --- a/bin/makefile-sunos4.sparc-x% +++ /dev/null @@ -1,104 +0,0 @@ -# Options for SunOS4, SPARC and X-Window - -CLXFLAGS = -DCLX -DTCP_NODELAY - -CLXFILES = $(OBJECTDIR)socket.o \ - $(OBJECTDIR)socdvr.o - - -XFILES = $(OBJECTDIR)XClose.o \ - $(OBJECTDIR)Cursor.o \ - $(OBJECTDIR)XWindow.o \ - $(OBJECTDIR)DoRing.o \ - $(OBJECTDIR)DoScroll.o \ - $(OBJECTDIR)XEvent.o \ - $(OBJECTDIR)XGravity.o \ - $(OBJECTDIR)XInit.o \ - $(OBJECTDIR)Xevinit.o \ - $(OBJECTDIR)Xkbdmus.o \ - $(OBJECTDIR)Xlspwin.o \ - $(OBJECTDIR)Xbbt.o \ - $(OBJECTDIR)Xkbd.o \ - $(OBJECTDIR)Xmkicon.o \ - $(OBJECTDIR)Xopendsp.o \ - $(OBJECTDIR)Xrdopt.o \ - $(OBJECTDIR)Xreconf.o \ - $(OBJECTDIR)XScroll.o \ - $(OBJECTDIR)Xscrolb.o \ - $(OBJECTDIR)XCursor.o \ - $(OBJECTDIR)XMouse.o \ - $(OBJECTDIR)Xsubwin.o \ - $(OBJECTDIR)Xcolor.o \ - $(OBJECTDIR)Xwinman.o \ - $(CLXFILES) - -XVERSION = XV11R4 -XFLAGS = -DXWINDOW -DNOPIXRECT -D$(XVERSION) $(CLXFLAGS) - -# This is to make the %$#@! Apollo cc happy -OEXT = .o -# OPTFLAGS is normally -O2. -OPTFLAGS = -O2 -FPFLAGS = -DFLAGS = -DFSERROR -DNEW_STORAGE -DOS4 -DSPARCDISP -DSUN4_OS4_IL -DOS4_TYPE4BUG -DOLD_CURSOR \ - -DFORKCOMM -DNEWBITBLT -DLOGINT -DBIGATOMS $(XFLAGS) -DBIGVM -DNEWCDRCODING -LDFLAGS = -lX11 -lpixrect -ldld -lc -lm -LDELDFLAGS = -Bstatic -lX11 -lpixrect -Bdynamic -lc -lm - -INLINE = $(SRCDIR)dspSPARC.il -BITBLTFILE = $(OBJECTDIR)bbtSPARC.o -BYTESWAPFILES = $(OBJECTDIR)byteswap.o - -OBJECTDIR = ../$(RELEASENAME)/ - -default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether - -# Special rules to create xc.c on Sun4 - -#run cpp to expand macros -$(OBJECTDIR)xc.i: $(SRCDIR)xc.c $(INCDIR)lispemul.h $(INCDIR)emlglob.h $(INCDIR)address.h \ - $(INCDIR)adr68k.h $(INCDIR)stack.h $(INCDIR)lspglob.h \ - $(INCDIR)lsptypes.h $(INCDIR)lispmap.h $(INCDIR)cell.h \ - $(INCDIR)initatms.h $(INCDIR)gcdata.h \ - $(INCDIR)arith.h $(INCDIR)stream.h \ - $(INCDIR)tos1defs.h $(INCDIR)tosret.h \ - $(INCDIR)tosfns.h $(INCDIR)inlineC.h \ - $(INCDIR)inln68k.h - cc -Qproduce .i $(DFLAGS) -I$(INCDIR) $(SRCDIR)xc.c -o $(OBJECTDIR)xc.i - -#run c compiler to produce first pass assembly -$(OBJECTDIR)xc.s1: $(OBJECTDIR)xc.i - rm -f $(OBJECTDIR)xc.s1 - /lib/ccom - $(FPFLAGS) <$(OBJECTDIR)xc.i >$(OBJECTDIR)xc.s1 - -#generate C program to remove dispatch loop, optimize -$(OBJECTDIR)dsphack.c: $(SRCDIR)dsphack.lex - rm -f $(OBJECTDIR)dsphack.c - lex -t $(SRCDIR)dsphack.lex > $(OBJECTDIR)dsphack.c - -#uses this program to find dispatch -$(OBJECTDIR)find-dsp.c: $(SRCDIR)find-dsp.lex - rm -f $(OBJECTDIR)find-dsp.c - lex -t $(SRCDIR)find-dsp.lex > $(OBJECTDIR)find-dsp.c - -$(OBJECTDIR)find-dsp: $(OBJECTDIR)find-dsp.c - cc -o $(OBJECTDIR)find-dsp $(OBJECTDIR)find-dsp.c -ll - -$(OBJECTDIR)dispatch-label.c: $(OBJECTDIR)find-dsp $(OBJECTDIR)xc.s1 - rm -f $(OBJECTDIR)dispatch-label.c - $(OBJECTDIR)find-dsp < $(OBJECTDIR)xc.s1 >$(OBJECTDIR)dispatch-label.c - -$(OBJECTDIR)dsphack: $(OBJECTDIR)dsphack.c $(OBJECTDIR)dispatch-label.c - cc -o $(OBJECTDIR)dsphack $(OBJECTDIR)dispatch-label.c $(OBJECTDIR)dsphack.c -ll - rm -f $(OBJECTDIR)dispatch-label.o $(OBJECTDIR)dsphack.o - -$(OBJECTDIR)xc.s2: $(OBJECTDIR)xc.s1 $(OBJECTDIR)dsphack - rm -f $(OBJECTDIR)xc.s2 - $(OBJECTDIR)dsphack < $(OBJECTDIR)xc.s1 >$(OBJECTDIR)xc.s2 - -$(OBJECTDIR)xc.s3: $(OBJECTDIR)xc.s2 $(INLINE) - rm -f $(OBJECTDIR)xc.s3 - /usr/lib/inline -i $(INLINE) < $(OBJECTDIR)xc.s2 > $(OBJECTDIR)xc.s3 - -$(OBJECTDIR)xc.o: $(OBJECTDIR)xc.s3 - /bin/as -o $(OBJECTDIR)xc.o -O1 $(OBJECTDIR)xc.s3 diff --git a/inc/cell.h% b/inc/cell.h% deleted file mode 100755 index c59054a..0000000 --- a/inc/cell.h% +++ /dev/null @@ -1,462 +0,0 @@ -/* %Z% %M% Version %I% (%G%). copyright Venue */ - - - -/************************************************************************/ -/* */ -/* (C) Copyright 1989-92 Venue. All Rights Reserved. */ -/* Manufactured in the United States of America. */ -/* */ -/************************************************************************/ - - -/**********************************************************************/ -/* - File Name : cell.h - - Cell Manipulate Macros - - Date : December 16, 1986 - Edited by : Takeshi Shimizu - -*/ -/**********************************************************************/ - -/* CONS CELL (LISTP) definitions moved to lispemulater.h */ - - /* This Macro may produce the CDR code */ -#define CDRCODE(x) LRSH (((int)x & 0x0ff000000) , 24) - - /* This Macro may produce a pointer that points CAR cell */ - /* On 68010,68000 This Macro does not effect * -#define CARFIELD(x) ((int)x & 0x00ffffff) - -/* CDR-Codes defs */ -#define CDR_ONPAGE 128 -#define CDR_NIL 128 -#define CDR_INDIRECT 0 -#define CDR_MAXINDIRECT 127 - -/* short CarCdrError ; */ - - -/************************************************************************/ -/* */ -/* CONSPAGE describes the free-space management fields at the */ -/* beginning of a cons page -- # of free cells on the page, etc. */ -/* */ -/************************************************************************/ - -#ifndef BYTESWAP -#ifdef NEWCDRCODE -struct - conspage - { - unsigned count: 8; /* free cells on this page */ - unsigned next_cell: 8; /* next free cell in chain */ - unsigned nil:16; - LispPTR next_page; /* next cons page, or 0 if none */ - }; -#else -struct - conspage - { - unsigned count : 8 ; - unsigned next_cell :8 ; - DLword next_page ; - }; -#endif /* NEWCDRCODE */ -#else -/* byte-swapped version */ -#ifdef NEWCDRCODE -struct - conspage - { - unsigned nil: 16; - unsigned next_cell: 8; - unsigned count: 8; - LispPTR next_page; - }; -#else -struct - conspage - { - DLword next_page ; - unsigned next_cell :8 ; - unsigned count : 8 ; - }; -#endif /* NEWCDRCODE */ -#endif /* BYTESWAP */ - - -/* Following MACROs for Conspage */ - -/* lisp_ptr is LISP pointer, returns 68k ptr points struct conspage obj */ -#define Get_ConsPageBase(lisp_ptr) \ - (struct conspage *)Addr68k_from_LPAGE(POINTER_PAGEBASE(lisp_ptr)) - -#define GetNewCell_68k(conspage68k) \ - (ConsCell *)(((DLword *)(conspage68k)) \ - + (unsigned)((conspage68k)->next_cell) ) - -/* page : LISP page */ -#define GetCONSCount(page) \ - (((struct conspage *)Addr68k_from_LPAGE(page))->count) - - -#ifndef BYTESWAP - /* For chaining together free cons cells on a page */ -struct freecons - { - unsigned next_free: 8; /* next free cell on this page */ - unsigned nil: 24; - } - -#else - -struct freecons - { - unsigned next_free: 8; - unsigned nil: 24; - } - -#endif /* BYTESWAP */ - - -#ifndef BYTESWAP - /************************************************/ - /* Definitions for normal byte-order machines */ - /************************************************/ - -#ifdef BIGVM2 -/* Definition of a new-atom, where all the cells are in one object */ -typedef - struct new_atom - { - unsigned dfccodep: 1 ; /* DEFCELL FLAGS */ - unsigned dffastp: 1 ; - unsigned dfargtype: 2 ; - unsigned pncell: 28; /* pointer to the pname itself */ - unsigned nil2: 4; /* top 4 bits of value cell */ - unsigned valcell: 28; /* pointer to the top-level value */ - unsigned nil3: 4; /* top 4 bits of definition cell */ - unsigned defcell: 28; /* pointer to function definition */ - unsigned nil4: 4; /* */ - unsigned plcell: 28; /* pointer to property list */ - unsigned pnpkg: 8; /* package */ - unsigned dfnil1: 4 ; /* DEFCELL FLAGS */ - unsigned dfpseudo: 1 ; - unsigned dfswapped: 1 ; /* T for native-order fn opcodes */ - unsigned dfnil: 2 ; - unsigned plunused: 1; /* PROPLIST FLAGS */ - unsigned plgensymp: 1; - unsigned plfatpnamep: 1; - unsigned plnil: 5; - unsigned nil5: 8; /* Fill out last byte of final cell */ - } NewAtom; - -/* DEFs for DEFINITIONCELL */ -typedef - struct definition_cell - { - unsigned ccodep : 1 ; - unsigned fastp : 1 ; - unsigned argtype : 2 ; - unsigned defpointer : 28; - LispPTR nil_PL; /* skip the proplist cell */ - unsigned nilpkg:8; /* skip pkg byte */ - unsigned nil2 : 4 ; - unsigned pseudocodep : 1 ; - unsigned byteswapped : 1 ; /* T for native-order fn opcodes */ - unsigned nil_last: 18; - - } DefCell ; - -typedef - struct pname_cell - { - unsigned nil : 4 ; - unsigned pnamebase : 28 ; - LispPTR nil_val; - LispPTR nil_def; - LispPTR nil_plist; - unsigned pkg_index : 8 ; - unsigned nil2: 24; - } PNCell ; - -typedef - struct proplist_cell - { - unsigned nil: 4; - unsigned propbase: 28; - unsigned nilpkg: 8; - unsigned nildef: 8; - unsigned unused: 1; - unsigned gensymp: 1; - unsigned fatpnamep: 1; - unsigned nil2: 5; - unsigned nil3: 8; - - } PLCell; - - -struct xpointer{ - unsigned flags:4; - unsigned addr:28; -}; - -#elif BIGVM -/* Definition of a new-atom, where all the cells are in one object */ -typedef - struct new_atom - { - unsigned dfccodep: 1 ; /* DEFCELL FLAGS */ - unsigned dffastp: 1 ; - unsigned dfargtype: 2 ; - unsigned nil1:4; - unsigned pncell: 24; /* pointer to the pname itself */ - unsigned nil2: 8; /* top 4 bits of value cell */ - unsigned valcell: 24; /* pointer to the top-level value */ - unsigned nil3: 8; /* top 4 bits of definition cell */ - unsigned defcell: 24; /* pointer to function definition */ - unsigned nil4: 8; /* */ - unsigned plcell: 24; /* pointer to property list */ - unsigned pnpkg: 8; /* package */ - unsigned dfnil1: 4 ; /* DEFCELL FLAGS */ - unsigned dfpseudo: 1 ; - unsigned dfswapped: 1 ; /* T for native-order fn opcodes */ - unsigned dfnil: 2 ; - unsigned plunused: 1; /* PROPLIST FLAGS */ - unsigned plgensymp: 1; - unsigned plfatpnamep: 1; - unsigned plnil: 5; - unsigned nil5: 8; /* Fill out last byte of final cell */ - } NewAtom; - -/* DEFs for DEFINITIONCELL */ -typedef - struct definition_cell - { - unsigned ccodep : 1 ; - unsigned fastp : 1 ; - unsigned argtype : 2 ; - unsigned nil1:4; - unsigned defpointer : 24; - LispPTR nil_PL; /* skip the proplist cell */ - unsigned nilpkg:8; /* skip pkg byte */ - unsigned nil2 : 4 ; - unsigned pseudocodep : 1 ; - unsigned byteswapped : 1 ; /* T for native-order fn opcodes */ - unsigned nil_last: 18; - - } DefCell ; - -typedef - struct pname_cell - { - unsigned nil : 8 ; - unsigned pnamebase : 24 ; - LispPTR nil_val; - LispPTR nil_def; - LispPTR nil_plist; - unsigned pkg_index : 8 ; - unsigned nil2: 24; - } PNCell ; - -typedef - struct proplist_cell - { - unsigned nil: 8; - unsigned propbase: 24; - unsigned nilpkg: 8; - unsigned nildef: 8; - unsigned unused: 1; - unsigned gensymp: 1; - unsigned fatpnamep: 1; - unsigned nil2: 5; - unsigned nil3: 8; - - } PLCell; - - -struct xpointer{ - unsigned flags:8; - unsigned addr:24; -}; - -#else /* not BIGVM */ - -/* DEFs for DEFINITIONCELL */ -typedef - struct definition_cell - { - unsigned ccodep : 1 ; - unsigned fastp : 1 ; - unsigned argtype : 2 ; - unsigned pseudocodep : 1 ; - unsigned byteswapped : 1 ; /* T for native-order fn opcodes */ - unsigned nil : 2 ; - unsigned defpointer : 24; - - } DefCell ; - -typedef - struct pname_cell - { - unsigned pkg_index : 8 ; - unsigned pnamebase : 24 ; - } PNCell ; - -typedef - struct proplist_cell - { - unsigned unused: 1; - unsigned gensymp: 1; - unsigned fatpnamep: 1; - unsigned nil: 5; - unsigned propbase: 24; - } PLCell; - - -struct xpointer{ - unsigned flags:8; - unsigned addr:24; -}; - -#endif /* BIGVM */ - -#else - /************************************************/ - /* Definitions for byte-swapped machines */ - /************************************************/ -/* DEFs for DEFINITIONCELL */ -typedef - struct definition_cell - { - unsigned defpointer : 24; - unsigned nil : 2 ; - unsigned byteswapped : 1 ; /* T if opcodes are native-order */ - unsigned pseudocodep : 1 ; - unsigned argtype : 2 ; - unsigned fastp : 1 ; - unsigned ccodep : 1 ; - - } DefCell ; - -typedef - struct pname_cell - { - unsigned pnamebase : 24 ; - unsigned pkg_index : 8 ; - } PNCell ; - -typedef - struct proplist_cell - { - unsigned propbase: 24; - unsigned nil: 5; - unsigned fatpnamep: 1; - unsigned gensymp: 1; - unsigned unused: 1; - } PLCell; - -struct xpointer - { - unsigned addr:24; - unsigned flags:8; - }; - - -#endif /* BYTESWAP */ - - - - -struct - cadr_cell - { - LispPTR car_cell; /* Lisp address (word addressing) */ - LispPTR cdr_cell; /* Lisp address (word addressing) */ - }; - - - -/************************************************************************/ -/* */ -/* Access to the parts of a SYMBOL: Pname, Definition, Value, */ -/* and property list. */ -/* */ -/* */ -/* */ -/* */ -/************************************************************************/ - -#ifndef BIGATOMS -#define GetDEFCELL68k(index) ((LispPTR *)Defspace + (index) ) -#define GetVALCELL68k(index) ((LispPTR *)Valspace + (index)) -#define GetPnameCell(index) ((LispPTR *)Pnamespace + (index)) -#define GetPropCell(index) ((LispPTR *)Plistspace + (index)) - - /* Good only for old-style LITATOMS */ -#define GetDEFCELLlitatom(index) ((LispPTR *)Defspace + (index) ) -#define GetVALCELLlitatom(index) ((LispPTR *)Valspace + (index)) -#define GetPnameCelllitatom(index) ((LispPTR *)Pnamespace + (index)) -#define GetPropCelllitatom(index) ((LispPTR *)Plistspace + (index)) - -#else - /* Good for old LITATOMS and new NEW-ATOMs */ -#define GetDEFCELL68k(index) (((index & 0xFF0000) != 0) ? \ - (LispPTR *)(Addr68k_from_LADDR(index)+NEWATOM_DEFN_OFFSET) \ - : GetDEFCELLlitatom(index) ) - -#define GetVALCELL68k(index) (((index & 0xFF0000) != 0) ? \ - (LispPTR *)(Addr68k_from_LADDR(index)+NEWATOM_VALUE_OFFSET) \ - : GetVALCELLlitatom(index)) - -#define GetPnameCell(index) (((index & 0xFF0000) != 0) ? \ - (LispPTR *)(Addr68k_from_LADDR(index)+NEWATOM_PNAME_OFFSET) \ - : GetPnameCelllitatom(index)) - -#define GetPropCell(index) (((index & 0xFF0000) != 0) ? \ - (LispPTR *)(Addr68k_from_LADDR(index)+NEWATOM_PLIST_OFFSET) \ - : GetPropCelllitatom(index)) - - /* Good only for old-style LITATOMS */ -#ifdef BIGVM -#define GetDEFCELLlitatom(index)\ - ((LispPTR *)Pnamespace + (5*(index))+NEWATOM_DEFN_PTROFF) -#define GetVALCELLlitatom(index) \ - ((LispPTR *)Pnamespace + (5*(index))+NEWATOM_VALUE_PTROFF) -#define GetPnameCelllitatom(index) \ - ((LispPTR *)Pnamespace + (5*(index))+NEWATOM_PNAME_PTROFF) -#define GetPropCelllitatom(index) \ - ((LispPTR *)Pnamespace + (5*(index))+NEWATOM_PLIST_PTROFF) -#else /* BIGVM not set, so use old name-space format */ -#define GetDEFCELLlitatom(index) ((LispPTR *)Defspace + (index) ) -#define GetVALCELLlitatom(index) ((LispPTR *)Valspace + (index)) -#define GetPnameCelllitatom(index) ((LispPTR *)Pnamespace + (index)) -#define GetPropCelllitatom(index) ((LispPTR *)Plistspace + (index)) -#endif - - /* Good only for new-style NEW-ATOMs */ -#define GetDEFCELLnew(index) (LispPTR *)(Addr68k_from_LADDR(index)+NEWATOM_DEFN_OFFSET) -#define GetVALCELLnew(index) (LispPTR *)(Addr68k_from_LADDR(index)+NEWATOM_VALUE_OFFSET) -#define GetPnameCellnew(index) (LispPTR *)(Addr68k_from_LADDR(index)+NEWATOM_PNAME_OFFSET) -#define GetPropCellnew(index) (LispPTR *)(Addr68k_from_LADDR(index)+NEWATOM_PLIST_OFFSET) - -#endif /* BIGATOMS */ - - - - -/* When cadr() function is called, type check should be done. */ - -#define S_N_CHECKANDCADR(sour, dest, tos) \ - {register LispPTR parm = sour; \ - if(GetTypeNumber(parm) != TYPE_LISTP){ \ - ERROR_EXIT(tos); \ - }else \ - dest = cadr(parm); \ - } - - diff --git a/inc/keyboard.h% b/inc/keyboard.h% deleted file mode 100755 index 943a0e2..0000000 --- a/inc/keyboard.h% +++ /dev/null @@ -1,190 +0,0 @@ -/* %Z% %M% Version %I% (%G%). copyright venue */ - - -/** Header File for K/B MOUSE */ - - - -/************************************************************************/ -/* */ -/* (C) Copyright 1989-92 Venue. All Rights Reserved. */ -/* Manufactured in the United States of America. */ -/* */ -/************************************************************************/ - - -#define MOUSE_LEFT 13 -#define MOUSE_MIDDLE 15 -#define MOUSE_RIGHT 14 -#define CAPSKEY 16 -#define DLMOUSEUP 0 -#define DLMOUSEWAITING 1 -#define DLMOUSENORMAL 2 -#define MOUSE_ALLBITS 7 -#define KB_ALLUP 0xffff -#define HARDCURSORHEIGHT 16 - -#ifndef BYTESWAP -typedef struct - { - DLword read; - DLword write; - } RING; -#else -typedef struct - { - DLword write; - DLword read; - } RING; -#endif /* BYTESWAP */ - - - /* macros for getting to the next-read and next-write ring buf ptrs */ -#define RING_READ(head68k) (((RING*)(head68k))->read) -#define RING_WRITE(head68k) (((RING*)(head68k))->write) - - -/* for feature use */ -#ifndef BYTESWAP -typedef struct - { - DLword mousex; - DLword mousey; - DLword utilin; - DLword kbdad0; - DLword kbdad1; - DLword kbdad2; - DLword kbdad3; - DLword kbdad4; - DLword kbdad5; - DLword nil; - } IOState; - - /* Corresponds to the Lisp KEYBOARDEVENT structure */ -typedef struct - { - DLword W0; - DLword W1; - DLword W2; - DLword W3; - DLword WU; - DLword W4; - DLword W5; - /* int time; */ - short timehi; - short timelo; - unsigned mousestate : 3; - unsigned shift1 : 1; - unsigned shift2 : 1; - unsigned lock : 1; - unsigned ctrl : 1; - unsigned meta : 1; - unsigned font : 1; - unsigned usermode1 : 1; - unsigned usermode2 : 1; - unsigned usermode3 : 1; - unsigned altgr : 1; - unsigned deadkey : 1; - unsigned nil : 2; - DLword mousex; - DLword mousey; - /* DLword nil2; */ - LispPTR deadkeyalist; - } KBEVENT; - -#define RCLK(place) { struct timeval time;\ - gettimeofday(&time,NULL);\ - (place)=(time.tv_sec * 1000000)+time.tv_usec;} - -#else -typedef struct - { - DLword mousey; - DLword mousex; - DLword kbdad0; - DLword utilin; - DLword kbdad2; - DLword kbdad1; - DLword kbdad4; - DLword kbdad3; - DLword nil; - DLword kbdad5; - } IOState; - - /* Corresponds to the Lisp KEYBOARDEVENT structure */ -typedef struct - { - DLword W1; - DLword W0; - DLword W3; - DLword W2; - DLword W4; - DLword WU; - DLword timehi; - DLword W5; - short timelo; - - DLword mousex; - unsigned nil : 4; - unsigned usermode3 : 1; - unsigned usermode2 : 1; - unsigned usermode1 : 1; - unsigned font : 1; - unsigned meta : 1; - unsigned ctrl : 1; - unsigned lock : 1; - unsigned shift2 : 1; - unsigned shift1 : 1; - unsigned mousestate : 3; -/* DLword nil2; */ - DLword mousey; - LispPTR deadkeyalist; - } KBEVENT; /* CHANGED-BY-TAKE ***/ - -/*** OBSLOETE -**#define RCLK(hi,lo) \ - { \ - struct timeval time;\ - int timetemp; \ - gettimeofday(&time,NULL);\ - timetemp = (time.tv_sec * 1000000)+time.tv_usec; \ - (hi)=(DLword)(timetemp>>16); \ - (lo) = (DLword)(timetemp & 0xFFFF); \ -} -******/ -#define RCLK(place) { struct timeval time;\ - gettimeofday(&time,NULL);\ - (place)=(time.tv_sec * 1000000)+time.tv_usec;} - -#endif /* BYTESWAP */ - - - - - /* Size of a KEYBOARDEVENT structure, and */ - /* the size of the kbd-event ring buffer */ -#define MINKEYEVENT 2 /* leave 2 words for read,write offsets */ -#ifdef NOEUROKBD /* set to disable new european kbd support */ -#define KEYEVENTSIZE 12 -#else -#define KEYEVENTSIZE ((sizeof(KBEVENT)+1)>>1) -#endif - /* Offset of the end of the ring buffer */ -#define MAXKEYEVENT (MINKEYEVENT + (383*KEYEVENTSIZE)) -#define NOEUROKEYEVENTSIZE 12 -#define EUROKEYEVENTSIZE ((sizeof(KBEVENT) + 1) >> 1) - - -typedef union -{ - struct - { - RING vectorindex; /* Index for the vector of DLwords in this structure */ - KBEVENT event[NUMBEROFKEYEVENTS + 1]; - } ring; - /* The array of KBEVENTS (indexed by DLword) for euro */ - DLword euro[MINKEYEVENT + (NUMBEROFKEYEVENTS * EUROKEYEVENTSIZE)]; - /* The array of KBEVENTS (indexed by DLword) for noeuro */ - DLword noeuro[MINKEYEVENT + (NUMBEROFKEYEVENTS * NOEUROKEYEVENTSIZE)]; - } keybuffer; - diff --git a/inc/lispemul.h.save b/inc/lispemul.h.save deleted file mode 100755 index 0e34ff0..0000000 --- a/inc/lispemul.h.save +++ /dev/null @@ -1,635 +0,0 @@ -/* $Id: lispemul.h,v 1.3 1999/01/03 02:06:08 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */ - - - -/************************************************************************/ -/* */ -/* (C) Copyright 1989-1995 Venue. All Rights Reserved. */ -/* Manufactured in the United States of America. */ -/* */ -/************************************************************************/ - - - - -#ifndef BYTESWAP - /*** Normal byte-order type decls */ -typedef struct {unsigned char code;} BYTECODE; -typedef char ByteCode; -typedef unsigned short DLword; -typedef char DLbyte; -typedef unsigned int LispPTR; -/* 32 bit Cell Chang. 14 Jan 87 take */ -typedef DLword mds_page; /* Top word of the MDS */ -typedef (*CFuncPTR)(); - -#ifdef BIGVM -typedef struct consstr - { - unsigned cdr_code : 4; - unsigned car_field : 28; - } ConsCell; - -typedef struct ufn_entry - { - DLword atom_name; /* UFN's atomindex */ - unsigned byte_num : 8; /* num of byte code */ - unsigned arg_num : 8; /* num of argments */ - } UFN; - -typedef struct closure_type - { - unsigned nil1 : 4; - unsigned def_ptr : 28; /* LispPTR to definition cell */ - unsigned nil2 : 4; - unsigned env_ptr : 28; /* LispPTR to environment */ - } Closure; - -#else /* not BIGVM */ -typedef struct consstr - { - unsigned cdr_code : 8; - unsigned car_field : 24; - } ConsCell; - -typedef struct ufn_entry - { - DLword atom_name; /* UFN's atomindex */ - unsigned byte_num : 8; /* num of byte code */ - unsigned arg_num : 8; /* num of argments */ - } UFN; - -typedef struct closure_type - { - unsigned nil1 : 8; - unsigned def_ptr : 24; /* LispPTR to definition cell */ - unsigned nil2 : 8; - unsigned env_ptr : 24; /* LispPTR to environment */ - } Closure; -#endif /* BIGVM */ - -typedef struct interrupt_state - { /* Interrupt-request mask to communicate with INTERRUPTED */ - unsigned LogFileIO :1; /* console msg arrived to print */ - unsigned ETHERInterrupt :1; /* 10MB activity happened */ - unsigned IOInterrupt :1; /* I/O happened (not used yet) */ - unsigned gcdisabled :1; - unsigned vmemfull :1; - unsigned stackoverflow :1; - unsigned storagefull :1; - unsigned waitinginterrupt :1; - unsigned nil :8; /* mask of ints being processes */ - DLword intcharcode; - } INTSTAT; - -typedef struct interrupt_state_2 - { /* alternate view of the interrupt state */ - unsigned pendingmask :8; - unsigned handledmask :8; - DLword nil; - } INTSTAT2; - -struct state - { - DLword *ivar; /* + 0 */ - DLword *pvar; /* + 4 */ - DLword *csp; /* + 8 */ - LispPTR tosvalue; /* + 12 */ - ByteCode *currentpc; /* + 16 */ - struct fnhead *currentfunc; /* + 20*/ - DLword *endofstack; /* + 24*/ - UNSIGNED irqcheck; /* + 28 */ - UNSIGNED irqend; /* + 32 */ - LispPTR scratch_cstk; /* + 34 */ - int errorexit; /* + 38 */ - }; - -/***** Get_DLword(ptr) ptr is char* ***/ -#ifndef UNALIGNED_FETCH_OK -#define Get_DLword(ptr) ((Get_BYTE(ptr) <<8) | Get_BYTE(ptr+1)) -#else -#define Get_DLword(ptr) *(((DLword *)WORDPTR(ptr))) -#endif - -#ifdef BIGVM -#define Get_Pointer(ptr) ((Get_BYTE(ptr) << 24) | \ - (Get_BYTE(ptr+1) << 16) | \ - (Get_BYTE(ptr+2) << 8) | Get_BYTE(ptr+3)) -#else -#define Get_Pointer(ptr) ((Get_BYTE(ptr) << 16) | \ - (Get_BYTE(ptr+1) << 8) | \ - Get_BYTE(ptr+2)) -#endif /* BIGVM */ - -#define Get_code_BYTE Get_BYTE -#define Get_code_DLword Get_DLword -#define Get_code_AtomNo Get_AtomNo -#define Get_code_Pointer Get_Pointer - -#ifdef BIGATOMS -#define Get_AtomNo(ptr) Get_Pointer(ptr) -#else -#define Get_AtomNo(ptr) Get_DLword(ptr) -#endif /* BIGATOMS */ - - -/* For bit test */ -typedef struct wbits - { - unsigned xMSB :1; - unsigned B1 :1; - unsigned B2 :1; - unsigned B3 :1; - unsigned B4 :1; - unsigned B5 :1; - unsigned B6 :1; - unsigned B7 :1; - unsigned B8 :1; - unsigned B9 :1; - unsigned B10 :1; - unsigned B11 :1; - unsigned B12 :1; - unsigned B13 :1; - unsigned B14 :1; - unsigned LSB :1; - }WBITS; - -typedef struct lbits - { - unsigned xMSB :1; - unsigned MIDDLE :30; - unsigned LSB :1; - }LBITS; - -#define PUTBASEBIT68K(base68k, offset, bitvalue ) { \ - if( bitvalue) \ - *((DLword*)(base68k) + (((u_short)(offset))>>4 )) \ - |= 1 << (15 - ((u_short)(offset))%BITSPER_DLWORD); \ - else \ - *((DLword*)(base68k) + (((u_short)(offset))>>4 )) \ - &= ~( 1 << (15 - ((u_short)(offset)) %BITSPER_DLWORD)); \ - } - -#else - /*** Byte-swapped structure declarations, for 80386 ***/ -typedef struct {unsigned char code;} BYTECODE; -typedef char ByteCode; -typedef unsigned short DLword; -typedef char DLbyte; -typedef unsigned int LispPTR; -/* 32 bit Cell Chang. 14 Jan 87 take */ -typedef DLword mds_page; /* Top word of the MDS */ -typedef (*CFuncPTR)(); - -#ifdef BIGVM -typedef struct consstr - { - unsigned car_field : 28; - unsigned cdr_code : 4; - } ConsCell; - -typedef struct ufn_entry - { - unsigned arg_num : 8; /* num of argments */ - unsigned byte_num : 8; /* num of byte code */ - DLword atom_name; /* UFN's atomindex */ - } UFN; - -typedef struct closure_type - { - unsigned def_ptr : 28; /* LispPTR to definition cell */ - unsigned nil1 : 4; - unsigned env_ptr : 28; /* LispPTR to environment */ - unsigned nil2 : 4; - } Closure; -#else /* BIGVM */ -typedef struct consstr - { - unsigned car_field : 24; - unsigned cdr_code : 8; - } ConsCell; - -typedef struct ufn_entry - { - unsigned arg_num : 8; /* num of argments */ - unsigned byte_num : 8; /* num of byte code */ - DLword atom_name; /* UFN's atomindex */ - } UFN; - -typedef struct closure_type - { - unsigned def_ptr : 24; /* LispPTR to definition cell */ - unsigned nil1 : 8; - unsigned env_ptr : 24; /* LispPTR to environment */ - unsigned nil2 : 8; - } Closure; -#endif /* BIGVM */ - -typedef struct interrupt_state - { /* Interrupt-request mask to communicate with INTERRUPTED */ - DLword intcharcode; - unsigned nil :8; - unsigned waitinginterrupt :1; - unsigned storagefull :1; - unsigned stackoverflow :1; - unsigned vmemfull :1; - unsigned gcdisabled :1; - unsigned IOInterrupt :1; /* I/O happened (not used yet) */ - unsigned ETHERInterrupt :1; /* 10MB activity happened */ - unsigned LogFileIO :1; /* console msg arrived to print */ - } INTSTAT; - -typedef struct interrupt_state_2 - { /* alternate view of the interrupt state */ - DLword nil; - unsigned handledmask :8; - unsigned pendingmask :8; - } INTSTAT2; - - -struct state - { - DLword *ivar; /* + 0 */ - DLword *pvar; /* + 4 */ - DLword *csp; /* + 8 */ - LispPTR tosvalue; /* + 12 */ - ByteCode *currentpc; /* + 16 */ - struct fnhead *currentfunc; /* + 20*/ - DLword *endofstack; /* + 24*/ - UNSIGNED irqcheck; /* + 28 */ - UNSIGNED irqend; /* + 32 */ - LispPTR scratch_cstk; /* + 34 */ - int errorexit; /* + 38 */ - }; - -/* Fetching 2 bytes to make a word -- always do it the hard way */ -/* if we're byte-swapped: You can't rely on byte ordering!! */ -#define Get_DLword(ptr) ((Get_BYTE(ptr) <<8) | Get_BYTE(ptr+1)) - -#ifdef BIGVM -#define Get_Pointer(ptr) ((Get_BYTE(ptr) << 24) | \ - (Get_BYTE(ptr+1) << 16) | \ - (Get_BYTE(ptr+2) << 8) | Get_BYTE(ptr+3)) -#else -#define Get_Pointer(ptr) ((Get_BYTE(ptr) << 16) | \ - (Get_BYTE(ptr+1) << 8) | \ - Get_BYTE(ptr+2)) -#endif /* BIGVM */ - -#ifndef RESWAPPEDCODESTREAM -#define Get_code_BYTE(ptr) Get_BYTE(ptr) -#define Get_code_AtomNo Get_AtomNo -#define Get_code_DLword Get_DLword -#else -#define Get_code_BYTE(ptr) (((BYTECODE *)(ptr))->code) - -#define Get_code_Pointer(ptr) ((Get_code_BYTE(ptr) << 16) | \ - (Get_code_BYTE(ptr+1) << 8) | \ - Get_code_BYTE(ptr+2)) -#define Get_code_DLword(ptr) ((Get_code_BYTE(ptr) << 8) | Get_code_BYTE(ptr+1)) -#define Get_code_AtomNo Get_code_Pointer -#endif /* RESWAPPEDCODESTREAM */ - - -#ifdef BIGATOMS -#define Get_AtomNo(ptr) Get_Pointer(ptr) -#else -#define Get_AtomNo(ptr) Get_DLword(ptr) -#endif /* BIGATOMS */ - - -/* For bit test */ -typedef struct wbits - { - USHORT LSB :1; - USHORT B14 :1; - USHORT B13 :1; - USHORT B12 :1; - USHORT B11 :1; - USHORT B10 :1; - USHORT B9 :1; - USHORT B8 :1; - USHORT B7 :1; - USHORT B6 :1; - USHORT B5 :1; - USHORT B4 :1; - USHORT B3 :1; - USHORT B2 :1; - USHORT B1 :1; - USHORT xMSB :1; - } WBITS; - -typedef struct lbits - { - unsigned LSB :1; - unsigned MIDDLE :30; - unsigned xMSB :1; /* xMSB b/c HPUX defined MSB in a header */ - } LBITS; - -#define PUTBASEBIT68K(base68k, offset, bitvalue ) { \ - UNSIGNED real68kbase; \ - real68kbase = 2 ^ ((UNSIGNED)(base68k)); \ - if( bitvalue) \ - (* (DLword *) (2^(UNSIGNED)((DLword*)(real68kbase) + (((u_short)(offset))>>4 )))) \ - |= 1 << (15 - ((u_short)(offset))%BITSPER_DLWORD); \ - else \ - (* (DLword *) (2^(UNSIGNED)((DLword*)(real68kbase) + (((u_short)(offset))>>4 )))) \ - &= ~( 1 << (15 - ((u_short)(offset)) %BITSPER_DLWORD)); \ - } - -#endif /* BYTESWAP */ - - - - /* Because a WBITS is only 1 word long, need byte-swapped */ - /* access to it. Use WBITSPTR(x) instead of ((WBITS *) x) */ - -#define WBITSPTR(ptr) ((WBITS *) WORDPTR(ptr)) - - -extern struct state MachineState; - -#define MState (&MachineState) -#define CURRENTFX ((struct frameex1 *)(((DLword *) PVar) - FRAMESIZE)) -#define IVar (MState->ivar) -#define PVar (MState->pvar) -#define CurrentStackPTR (MState->csp) -#define TopOfStack (MState->tosvalue) -#define PC (MState->currentpc) -#define FuncObj (MState->currentfunc) -#define EndSTKP (MState->endofstack) -#define Irq_Stk_Check (MState->irqcheck) -#define Irq_Stk_End (MState->irqend) -#define Scratch_CSTK (MState->scratch_cstk) -#define Error_Exit (MState->errorexit) - -/* Typedef for IFPAGE */ -#include "ifpage.h" - -/* Typedef for IOPAGE */ -#include "iopage.h" - - -/* Typedef for MISCSTAT */ -#include "miscstat.h" - -/**************************************************** - MakeAddr: - base: DLword* - offset: word offset from base - return: DLword* -****************************************************/ -#define MakeAddr(base, offset) ((DLword *)(base + (int)offset)) - - -/**************************************************** -GetHiWord: -*****************************************************/ -#define GetHiWord(x) ((DLword)((x)>>16)) - -/**************************************************** -GetLoWord: -*****************************************************/ -#define GetLoWord(x) ((DLword)(x)) - -/**************************************************** -GetLongWord: - address: DLword* - retrun: int -*****************************************************/ -#define GetLongWord(address) (*((LispPTR *) (address))) - - -/**************************************************** -PopCStack: -#define PopCStack {TopOfStack = *((LispPTR *)(--CurrentStackPTR)); --CurrentStackPTR;} -*****************************************************/ -#define PopCStack {TopOfStack = *((LispPTR *)(CurrentStackPTR)); CurrentStackPTR -= 2;} - -/**************************************************** -PopStackTo: CSTK -> Place -#define PopStackTo(Place) {Place= *((LispPTR *)(--CurrentStackPTR)); CurrentStackPTR--; } -*****************************************************/ -#define PopStackTo(Place) {Place= *((LispPTR *)(CurrentStackPTR)); CurrentStackPTR -= 2; } - -/**************************************************** -PushCStack: -#define PushCStack {*((int *)(++CurrentStackPTR)) = TopOfStack; ++CurrentStackPTR;} -*****************************************************/ -#define PushCStack {CurrentStackPTR += 2;*((LispPTR *)(CurrentStackPTR)) = TopOfStack; } - -/**************************************************** -PushStack: -#define PushStack(x) {*((LispPTR *)(++CurrentStackPTR))=x;CurrentStackPTR++;} -*****************************************************/ -#define PushStack(x) {CurrentStackPTR += 2;*((LispPTR *)(CurrentStackPTR))=x;} - -/**************************************************** -SmashStack: -#define SmashStack(x) (*((LispPTR *)(CurrentStackPTR-1))=x) -*****************************************************/ -#define SmashStack(x) (*((LispPTR *)(CurrentStackPTR))=x) - -/********************************************************* -Get_BYTE(byteptr) byteptr: pointer to 8 bit data -**********************************************************/ -/***** OLD definition ************* 13 Nov 1987 takeshi *** -#define Get_BYTE(byteptr) (((unsigned)(*(byteptr))) & 0xff) -**********************************************/ -#define Get_BYTE(byteptr) (((BYTECODE *)BYTEPTR(byteptr))->code) - -/********************************************************** -DOSTACKOVERFLOW(argnum,bytenum) if it needs hardreturn-cleanup - then upnt to contextsw and immediately return -**********************************************************/ -#define DOSTACKOVERFLOW(argnum,bytenum) { \ - if(do_stackoverflow(T)) \ - { PushStack(S_POSITIVE | argnum); \ - contextsw(SubovFXP,bytenum,1); \ - return;\ - } \ - } - - - - -/************************************************************************/ -/* */ -/* E X T E R N A L F U N C T I O N S */ -/* */ -/* Declare all functions that will default incorrectly under */ -/* normal C inference rules. These functions are the ones */ -/* that return pointers, because on DEC Alpha, a pointer is 8 */ -/* bytes--but the default fn decl is int, a 4-byte return. */ -/* */ -/************************************************************************/ - -extern DLword *createcell68k(); -extern LispPTR *alloc_mdspage(); -extern UNSIGNED N_OP_unwind(); -extern char *getenv(); -#include - - - -/************************************************************************/ -/* */ -/* E R R O R & T I M E R P U N T C A S E S */ -/* */ -/* Set up the top-of-stack so we can continue gracefully after */ -/* handling the timer interrupt (e.g., FMEMB, which walks down */ -/* the list being searched, pushes its current state on TOS */ -/* so that it picks up where it left off after the interrupt. */ -/* */ -/* Call Interface where neg number indicates an error return */ -/* */ -/************************************************************************/ - -#define ERROR_EXIT(tos) {TopOfStack=tos; Error_Exit = 1; return(-1);} -#ifdef ISC -#define INLINE_ERROR_EXIT(tos,retlbl) {TopOfStack=tos; Error_Exit=1 asm("movl $-1,%0\n" retlbl ":" : "=g" (result) : "0" (result)); return(result); } -#endif - -#define TIMER_EXIT(tos) {TopOfStack=tos; Error_Exit = 1; return(-2);} - - -#define WARN(message,operation) {warn(message);operation;return;} -#define NO_WOP {} - -#define NIL 0 /* added 29-jan */ -#define T 1 -#define ATOM_T 0114 /* T's AtomIndex Number 114Q */ - -#define NIL_PTR 0 /* from cell.h 24-mar-87 take */ -#define NOBIND_PTR 1 - -#define STKLIM 0x1FFFF -#define FRAMESIZE 10 /* size of frameex1: 10 words */ -#define FNHEADSIZE 8 /* size of fnhead: 8 words */ -#define BFSIZE 2 /* size of basci frame pointer: 2 words */ - -#define BITSPER_DLWORD 16 -#define BITSPER_CELL 32 -#define BYTESPER_DLWORD 2 -#define BYTESPER_CELL 4 -#define BYTESPER_QUAD 8 -#define BYTESPER_PAGE 512 -#define CELLSPER_QUAD 2 -#define CELLSPER_PAGE 128 -#define CELLSPER_SEGMENT 32768 -#define DLWORDSPER_CELL 2 -#define DLWORDSPER_QUAD 4 -#define DLWORDSPER_PAGE 256 -#define DLWORDSPER_SEGMENT 65536 -#define PAGESPER_SEGMENT 256 -#define PAGESPER_MDSUNIT 2 -#define MDSINCREMENT 512 - -#define GUARDSTORAGEFULL 128 -#define GUARD1STORAGEFULL 64 - -#define SFS_NOTSWITCHABLE 1 -#define SFS_SWITCHABLE 2 -#define SFS_ARRAYSWITCHED 3 -#define SFS_FULLYSWITCHED 4 - - -#define AtomHTSIZE 256 * DLWORDSPER_PAGE - -#define MAXPNCHARS 255 /* Maximam length of PnChars */ - -#define GET_NATIVE_ADDR(fnobject) \ - *((int *) ((UNSIGNED)fnobject + fnobject->startpc - 4)) - - -#define FALSE 0 -#define TRUE !FALSE - -typedef unsigned int boolean; - - -/************************************************************************/ -/* Define sizes of FN and FNX opcodes; depends on atom size */ -/************************************************************************/ - -#ifdef BIGVM -#define FN_OPCODE_SIZE 5 -#define FNX_OPCODE_SIZE 6 -#elif defined(BIGATOMS) -#define FN_OPCODE_SIZE 4 -#define FNX_OPCODE_SIZE 5 -#else -#define FN_OPCODE_SIZE 3 -#define FNX_OPCODE_SIZE 4 -#endif /* BIGATOMS */ - - - -/************************************************************************/ -/* */ -/* Definitions for "NEW" Symbols */ -/* */ -/* Offsets within the "New symbols that go with 3-byte atoms. */ -/* */ -/************************************************************************/ -#ifdef BIGATOMS - -typedef struct newatom - { - LispPTR na_pname; /* Pointer to the print name */ - LispPTR na_value; /* The value cell */ - LispPTR na_defn; /* The definition cell */ - LispPTR na_plist; /* The property list */ - LispPTR na_flags; /* flags from other cells, to make BIGVM work ok */ - } NEWATOM; - - /* Offsets, in WORDS, from the start of the NEWATOM structure */ -#define NEWATOM_PNAME_OFFSET 0 -#define NEWATOM_VALUE_OFFSET 2 -#define NEWATOM_DEFN_OFFSET 4 -#define NEWATOM_PLIST_OFFSET 6 - - - /* Offsets, in cells from start of the NEWATOM structure */ -#define NEWATOM_PNAME_PTROFF 0 -#define NEWATOM_VALUE_PTROFF 1 -#define NEWATOM_DEFN_PTROFF 2 -#define NEWATOM_PLIST_PTROFF 3 -#endif - - - -/************************************************************************/ -/* */ -/* Mask to mask off relevant bits in a pointer. */ -/* */ -/************************************************************************/ -#ifdef BIGVM -#define POINTERMASK 0xfffffff -#define SEGMASK 0xfff0000 -#define PAGEMASK 0xfffff00 -#else -#define POINTERMASK 0xffffff -#define SEGMASK 0xff0000 -#define PAGEMASK 0xffff00 -#endif /* BIGVM */ - - - - -/************************************************************************/ -/* */ -/* F P t o V P M a n i p u l a t i o n */ -/* */ -/* */ -/* */ -/************************************************************************/ - - -#ifdef BIGVM -#define GETFPTOVP(b,o) b[o] -#define GETPAGEOK(b,o) (b[o]>>16) -#else -#define GETFPTOVP GETWORDBASEWORD -#define GETPAGEOK GETWORDBASEWORD -#endif diff --git a/inc/sccsid.c% b/inc/sccsid.c% deleted file mode 100755 index 7394289..0000000 --- a/inc/sccsid.c% +++ /dev/null @@ -1,2 +0,0 @@ -/* %Z% %M% Version %I% (%G%). copyright envos & Fuji Xerox */ -static char *id = "%Z% %M% %I% %G% (envos & Fuji Xerox)"; diff --git a/inc/sccsid.h% b/inc/sccsid.h% deleted file mode 100755 index a99aac1..0000000 --- a/inc/sccsid.h% +++ /dev/null @@ -1 +0,0 @@ -/* %Z% %M% Version %I% (%G%). copyright Venue & Fuji Xerox */ diff --git a/inc/stream.h% b/inc/stream.h% deleted file mode 100755 index 05bf006..0000000 --- a/inc/stream.h% +++ /dev/null @@ -1,153 +0,0 @@ -/* @(#) stream.h Version 2.7 (2/8/93). copyright Venue */ - - - -/************************************************************************/ -/* */ -/* (C) Copyright 1989-92 Venue. All Rights Reserved. */ -/* Manufactured in the United States of America. */ -/* */ -/************************************************************************/ - - -#ifndef BYTESWAP - /********************************/ - /* Normal byte-order definition */ - /********************************/ -typedef struct stream{ - DLword COFFSET; - DLword CBUFSIZE; -#ifndef BIGVM - unsigned BINABLE :1; - unsigned BOUTABLE :1; - unsigned EXTENDABLE :1; - unsigned CBUFDIRTY :1; - unsigned PEEKEDCHARP :1; - unsigned ACCESS :3; - unsigned CBUFPTR :24; -#else - unsigned PEEKEDCHARP :1; - unsigned ACCESS :3; - unsigned CBUFPTR :28; -#endif /* BIGVM */ - DLbyte BYTESIZE; - DLbyte CHARSET; - DLword PEEKEDCHAR; - DLword CHARPOSITION; - DLword CBUFMAXSIZE; - unsigned NONDEFAULTDATEFLG :1; - unsigned REVALIDATEFLG :1; - unsigned MULTIBUFFERHINT :1; - unsigned USERCLOSEABLE :1; -#ifndef BIGVM - unsigned USERVISIBLE :1; - unsigned EOLCONVENTION :2; - unsigned NIL1 :1; - unsigned FULLFILENAME :24; -#else - unsigned FULLFILENAME :28; -#endif /* BIGVM */ -#ifdef BIGVM - unsigned BINABLE :1; - unsigned BOUTABLE :1; - unsigned EXTENDABLE :1; - unsigned CBUFDIRTY :1; - unsigned DEVICE: 28; -#else - LispPTR DEVICE; -#endif /* BIGVM */ -#ifdef BIGVM - unsigned USERVISIBLE :1; - unsigned EOLCONVENTION :2; - unsigned NIL1 :1; - unsigned VALIDATION: 28; -#else - LispPTR VALIDATION; -#endif /* BIGVM */ - LispPTR CPAGE; - LispPTR EPAGE; - DLword EOFFSET; - DLword LINELENGTH; - LispPTR F1; - LispPTR F2; - LispPTR F3; - LispPTR F4; - LispPTR F5; - DLword FW6; - DLword FW7; - DLword FW8; - DLword FW9; - LispPTR F10; - LispPTR STRMBINFN; - LispPTR STRMBOUTFN; - LispPTR OUTCHARFN; - LispPTR ENDOFSTREAMOP; - LispPTR OTHERPROPS; - LispPTR IMAGEOPS; - LispPTR IMAGEDATA; - LispPTR BUFFS; - DLword MAXBUFFERS; - DLword NIL2; - LispPTR EXTRASTREAMOP; -}Stream; - -#else - - /***************************/ - /* Byte-swapped definition */ - /***************************/ -typedef struct stream - { - DLword CBUFSIZE; - DLword COFFSET; - unsigned CBUFPTR :24; - unsigned ACCESS :3; - unsigned PEEKEDCHARP :1; - unsigned CBUFDIRTY :1; - unsigned EXTENDABLE :1; - unsigned BOUTABLE :1; - unsigned BINABLE :1; - DLword PEEKEDCHAR; - DLbyte CHARSET; - DLbyte BYTESIZE; - DLword CBUFMAXSIZE; - DLword CHARPOSITION; - unsigned FULLFILENAME :24; - unsigned NIL1 :1; - unsigned EOLCONVENTION :2; - unsigned USERVISIBLE :1; - unsigned USERCLOSEABLE :1; - unsigned MULTIBUFFERHINT :1; - unsigned REVALIDATEFLG :1; - unsigned NONDEFAULTDATEFLG :1; - LispPTR DEVICE; - LispPTR VALIDATION; - LispPTR CPAGE; - LispPTR EPAGE; - DLword LINELENGTH; - DLword EOFFSET; - LispPTR F1; - LispPTR F2; - LispPTR F3; - LispPTR F4; - LispPTR F5; - DLword FW7; - DLword FW6; - DLword FW9; - DLword FW8; - LispPTR F10; - LispPTR STRMBINFN; - LispPTR STRMBOUTFN; - LispPTR OUTCHARFN; - LispPTR ENDOFSTREAMOP; - LispPTR OTHERPROPS; - LispPTR IMAGEOPS; - LispPTR IMAGEDATA; - LispPTR BUFFS; - DLword NIL2; - DLword MAXBUFFERS; - LispPTR EXTRASTREAMOP; -}Stream; - -#endif /* BYTESWAP */ -