1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-03-16 14:57:20 +00:00

Compare commits

..

67 Commits

Author SHA1 Message Date
Nick Briggs
2828555194 Merge branch 'no-DOS' of github.com:Interlisp/maiko into no-DOS 2021-04-12 12:08:10 -07:00
Nick Briggs
ea6f46bf42 Fix dependencies for ether.o 2021-04-08 17:05:51 -07:00
Nick Briggs
aacd8a9335 Fix comment on removed #endif 2021-04-08 17:05:51 -07:00
Nick Briggs
2c03560e7d Remove DOS specific assembler files for startup and display setup 2021-04-08 17:05:51 -07:00
Nick Briggs
74828c9829 Remove a few leftover defined(DOS) that remained in logical expressions, update endif comments 2021-04-08 17:05:51 -07:00
Nick Briggs
f75adf79d3 Remove DOS makefile 2021-04-08 17:05:51 -07:00
Nick Briggs
de42faba72 Remove source and include files that are only used for DOS
... and remove references to them from CMakeList.txt and makefile-tail
2021-04-08 17:05:51 -07:00
Nick Briggs
52ceef026e Start by removing all the ifdef'd DOS code in source and include files 2021-04-08 17:05:51 -07:00
Nick Briggs
a5410ef93d Cleanup USE_DPLI usage (#378)
Until now, the only differentiation between using DLPI and using NIT for
the ethernet interface was expressed as a function of USE_DLPI.

This commit makes explicit when code is for the DLPI interface or the NIT
interface, with USE_DLPI and USE_NIT.  This is setup for using the BPF
interface to the ethernet as an alternative.
2021-04-07 20:51:28 -07:00
Abe Jellinek
5ce292ed32 Command line: fix potential buffer overruns in argument/env variable handling (#375)
* Fix buffer overrun vulnerability: use strncpy

read_Xoption uses a char buffer defined in main.c with length
MAXPATHLEN, aka PATH_MAX in POSIX. Unfortunately it was using strcpy to
copy from the command-line arguments (via argv) and the environment (via
getenv) without any bounds checking whatsoever. This could very easily
cause an overflow.

It's unlikely that a user will want to provide a path longer than
PATH_MAX-1 (a generous 1023 bytes on my machine). If they try, we should
stop them from causing any damage.

* Use strlcpy instead of strncpy

Thanks to Nick Briggs for the suggestion. It would be best to use
sizeof(sysout_name) instead of hardcoding a reference to the PATH_MAX
constant, but unfortunately sysout_name is an extern in xrdopt.c and so
the compiler doesn't know its size. I don't want to mess with that
coupling in this commit, because I assume there was a reason for doing
it that way rather than putting sysout_name in a header; I'll keep the
scope of the changes here small.

* Revert "Use strlcpy instead of strncpy"

Ah. This is not great. Turns out strlcpy is a nonstandard BSD extension
with its own set of problems
[https://en.wikibooks.org/wiki/C_Programming/C_Reference/nonstandard/strlcpy]
that we may be best served by avoiding. On Linux, it's only accessible
through libbsd, and we have no other reason (as far as I can tell) to
require that. Unless we want to provide our own strlcpy implementation,
we should stick with strncpy. It's far safer than what was there before
and doesn't present any edge cases in this scenario that are apparent to
me.
2021-04-05 14:43:37 -07:00
Nick Briggs
85d9104b56 Fix dependencies for ether.o 2021-03-29 16:21:17 -07:00
Nick Briggs
1be29b57d6 Fix comment on removed #endif 2021-03-29 15:34:28 -07:00
Nick Briggs
d8a615eff9 Remove DOS specific assembler files for startup and display setup 2021-03-29 15:17:59 -07:00
Nick Briggs
b10c48af8e Remove a few leftover defined(DOS) that remained in logical expressions, update endif comments 2021-03-29 15:17:59 -07:00
Nick Briggs
fde861edc7 Remove DOS makefile 2021-03-29 15:16:01 -07:00
Nick Briggs
9cd78c3228 Remove source and include files that are only used for DOS
... and remove references to them from CMakeList.txt and makefile-tail
2021-03-29 15:16:01 -07:00
Nick Briggs
1b869932d8 Start by removing all the ifdef'd DOS code in source and include files 2021-03-29 15:12:45 -07:00
Nick Briggs
081e2288ff Enable X mouse buttons 6 and 7 for horizontal scrolling. (#367) 2021-03-29 14:03:14 -07:00
Nick Briggs
c4873d0ff8 Improvements to package/atom access in the sysout from maiko C code (#372)
* Display atom name in error message if get_package_atom() fails

* Various fixes to package/atom handling in testtool.c

Remove S_TOPVAL and S_MAKEATOM which only existed to deal with an old issue
with dbx where you supposedly couldn't enter a string with "\" in it.

Remove countchar(), which is functionally identical to  strlen(), and adjust
code that used it.

Adjust return type of MAKEATOM() to be the LispPTR that it should be, instead of int.

Limit find_package_from_name() to examining only the number of entries that are
present in the *PACKAGE-FROM-INDEX* array, instead of walking off the end.

MakeAtom68k() now drops into uraid() if asked to look up an atom that does not exist
(Make... is a misnomer, it will never *make* the atom, only lookup an existing
one)
2021-03-29 14:01:10 -07:00
Nick Briggs
01a8948a7d Rename _curXXX structures to curXXX to avoid leading underscore (#376) 2021-03-29 12:34:32 -07:00
Nick Briggs
36ccd9a5f5 warning: macro argument should be enclosed in parentheses [bugprone-macro-parentheses] (#374)
Except where the expansion would be syntactically invalid,
for example "goto macroarg;" detection of which is a bug in clang-tidy,
so warn it off with a NOLINT...(bugprone-macro-parentheses)
2021-03-20 16:31:23 -07:00
Larry Masinter
f6da80f8b3 add makefile-init-linux.x86_64 (#373) 2021-03-18 15:45:02 -07:00
Nick Briggs
be4d4c771e Fix printf format warnings in testtool.c (#369)
Conversion of PC output from octal to hexadecimal will be handled separately as there are multiple places that this change needs to take place.
2021-03-18 15:40:02 -07:00
Nick Briggs
d025ff0101 Add makefile fragment for INIT processing for macOS on x86_64 (#371) 2021-03-15 20:52:45 -07:00
Larry Masinter
22ae23552c Update README.md for simplified Mac instructions (#370)
* Update README.md

* update (new M1)
2021-03-03 17:17:04 -08:00
Nick Briggs
082bd15542 Add makefile fragment for armv7l systems that self-identify as aarch64 instead (#368)
Closes #361
2021-02-24 19:24:19 -08:00
Nick Briggs
c6a74b2516 XrmParseCommand and XrmMergeDatabases depend on destination database being initialized. (#366) 2021-02-23 01:45:43 +00:00
Bruce Mitchener
d8e063bf02 tidy: Remove last caddr_t. (#365)
This cast isn't needed here and `caddr_t` is obsolete / not POSIX.
2021-02-22 09:45:07 -08:00
Bruce Mitchener
0129b50127 tidy: xrdopt. (#364)
* Remove unused `print_lispusage()`.
* Make some globals into function locals.
* Make the options table into a `static`. It can't be `const`
  because `XrmParseCommand` wants a mutable pointer.
* Remove unused `homeDB`.
* Stop using `caddr_t`, use `XPointer`. `caddr_t` is not POSIX
  and never made it past old obsolete BSD code.
2021-02-22 09:44:43 -08:00
Bruce Mitchener
a64a06466c tidy: initdsp: Remove some unused globals. (#363) 2021-02-22 09:44:21 -08:00
Nick Briggs
12ef73a794 Merge pull request #362 from waywardmonkeys/cleanup-find-available-pty
tidy: FindAvailablePty.
2021-02-21 22:35:12 -08:00
Bruce Mitchener
ddb1c9f717 tidy: FindAvailablePty.
* Remove unused `Master` argument.
* Update documentation.
* Remove unused `MasterFD` variable in caller.
* Remove `slot` variable in caller and use `Master` in each case.
* Make `FindAvailablePty` a static function.
2021-02-22 11:54:51 +07:00
Nick Briggs
923f472a8f Merge pull request #360 from Interlisp/fixups-for-INIT-handling
Improve process for building ldeinit
2021-02-18 20:29:58 -08:00
Nick Briggs
aa32c8347b Improve process of building ldeinit to allow for different options on different OSs 2021-02-18 11:12:14 -08:00
Nick Briggs
966a0bd7e0 Move default target out of makefile-tail to more specific makefile fragments
The default targets differ depending on the display type and whether networking
is configured in or not, so it's more appropriate in the individual fragments
2021-02-18 10:33:30 -08:00
Nick Briggs
e317c37f03 Move OSARCHDIR defn from makefile-tail to makefile-header 2021-02-18 09:17:56 -08:00
Nick Briggs
31927cd255 Clean up missing include file when compiling for INIT (#359)
* Compiling for INIT requires an extra include file vs normal.

* Compiling for INIT often includes tracing which also requires additional includes
2021-02-17 11:35:33 -08:00
Nick Briggs
747b8e468e Merge pull request #357 from Interlisp/update-makefile-tail-dependencies
Update dependencies in makefile-tail
2021-02-15 18:57:45 -08:00
Nick Briggs
ef7149e8e4 Cleanup whitespace issues 2021-02-15 16:47:14 -08:00
Nick Briggs
64c04b5e2d Update dependencies in makefile-tail
Dependencies for all object files created during default compilation are updated
based on compiler generated, non-system, headers used.
2021-02-15 16:25:40 -08:00
Nick Briggs
1043a80d1f Remove unnecessary (re)definitions of TRUE/FALSE (#356) 2021-02-14 16:47:04 -08:00
Nick Briggs
c60b522012 Files should explicitly include the definitions they directly depend on (#355)
... start by fixing the include files and the fallout in C source from
removing includes not directly needed by headers that previously included
them.
2021-02-13 21:41:31 -08:00
Nick Briggs
f019d3ddc2 Compiling with ethernet support requires etherdefs.h in certain places (#354) 2021-02-13 17:22:27 -08:00
Bruce Mitchener
64957b508d Fix some unused variable warnings. (#352)
Also removes a prototype that wasn't needed.
2021-02-13 09:14:12 -08:00
Nick Briggs
1116ee7b60 Fix missing includes in ldeether.c (#351) 2021-02-13 09:07:21 -08:00
Nick Briggs
3a55f1d132 Missing include of sys/select.h in tty.c (closes Interlisp/medley#186) (#353)
(fix confirmed by original issue reporter)
2021-02-13 16:41:20 +00:00
Nick Briggs
f2ac050e8e Prevent duplicate printing of info lines in response to -info option (#349)
The X options parser printed the info lines as well as the main options handler.
Add mention of the -info option in the -help usage information.

Fixes Interlisp/medley#41
2021-02-12 08:06:43 -08:00
Nick Briggs
6fe94fd655 Merge pull request #350 from Interlisp/ldsout-heap-fptovp
Allocate fptovp temporary table in heap
2021-02-12 08:05:20 -08:00
Nick Briggs
0d7dcc24bd Minor formatting revisions. 2021-02-11 23:35:38 -08:00
Nick Briggs
2a71f330b5 Allocate fptovp table from heap and release it when done 2021-02-11 23:24:25 -08:00
Bruce Mitchener
694d9b08c6 Update more header include guards. (#348)
Some of these didn't have include guards, some  used old names
for them. Now they follow the current convention.
2021-02-11 10:42:07 -08:00
Bruce Mitchener
d1e0e006da Remove some of the outdated compile-flags entries. (#347)
These are no longer referenced in code.
2021-02-11 18:29:31 +00:00
Nick Briggs
1fc0d28167 Fix extra semicolon warnings (#345)
"warning: empty expression statement has no effect; remove unnecessary ';' to silence this warning" [-Wextra-semi-stmt]
occurred 254 times in xc.c when warnings were turned up.

Review this commit with "git diff -w ..." to make it easier to see changes other than indentation caused by
the addition of do { ... } while (0) around many macro definition bodies.
2021-02-10 20:33:54 -08:00
Nick Briggs
7274e16b24 Reformat (with clang-format 10.0) some header files (#344)
...in preparation for editing macro definitions to wrap in do {} while (0)
or other adjustment to make them complete statements without unnecessary
semicolons.

This programmatic reformatting should not introduce any functional changes.
2021-02-10 16:44:37 -08:00
Nick Briggs
c9a0d441c4 Cleanup timer leftovers (#341)
* Remove unnecessary variables and calls during itimer setup.

* Variable referenced from signal handler should be volatile and sig_atomic_t
2021-02-10 13:58:40 -08:00
Larry Masinter
3ae9d558b1 fix the darwin.arm64 to use xquartz config (#342) 2021-02-10 21:36:05 +00:00
Bruce Mitchener
015972c05c Remove Cldeetr.c. (#340)
This was like `ldeether`, but for SunOS4 with a color display. It
isn't needed any longer as on Solaris, we have `ldeether`, no color
display, and that code already works, unlike this one.
2021-02-09 23:14:51 -08:00
Bruce Mitchener
b21aeecf4c Remove cdrom&cdaudio support code. (#339)
This is not used in Medley (the MISCN-TABLE-LIST doesn't include
the required constants), nor does anything use or reference this
code. It also won't compile as it needs some routines that are
missing from our code.
2021-02-09 20:38:08 -08:00
Bruce Mitchener
78943073c3 Favor C99 inline over __inline__. (#337) 2021-02-08 19:11:31 -08:00
Bruce Mitchener
c19b184820 Remove GetNumber. (#338)
This isn't used and if it were, it wouldn't compile. It calls
`ufn`, which doesn't get compiled in either (unless `C_ONLY`
is defined, which it isn't, and if it were, that wouldn't
compile either due to a missing `StkLim0`).

A subsequent PR will remove `ufn` and related code.
2021-02-09 03:10:38 +00:00
Bruce Mitchener
ec95bb7a51 Remove OEXT from makefile system. (#336)
This was originally here to make something in the Apollo toolchain
happy, but it hasn't been needed in ages, and was inconsistently
applied.
2021-02-09 02:48:09 +00:00
Nick Briggs
2aacca596b Fix the unixfork/unixcomm code to deal with pid over 65535 (#333)
* ForkUnixShell() can be a static procedure

* Restructure SAFEREAD() to be a little clearer

* Convert unixjob type field defines to an enum and fix related unhandled switch cases.

* Use local declaration of loop variables in for-loop, removing register attributes

* Restructure SAFEREAD() to be a little clearer

* Send and receive 2 additional bytes for pid.

* Prefer standard C99 "inline" over "__inline__" for SAFEREAD
2021-02-08 18:26:56 -08:00
Nick Briggs
d482cc461c Address older versions of C compiler which don't have __BYTE_ORDER__ (#335)
* Address older versions of C compiler which don't have __BYTE_ORDER__

* Checking for __GNUC__ is not sufficient to determine if builtins are available.

* Add makefile fragment for 32-bit PowerPC on Mac OSX build, and ignore the build directories.

* Add comment describing use of __BIG/LITTLE_ENDIAN__ definition
2021-02-06 20:51:42 -08:00
Nick Briggs
9957f5c305 Cleanup EVAL macro definition (#334)
Reformat and make use of PTRMASK & swapx() as appropriate.
It's likely that nnewframe() could be reworked to avoid needing
to unconditionally swapx() the result and, like native_newframe()
return the appropriate value as the result.
2021-02-05 00:20:26 +00:00
Bruce Mitchener
f0a53302ce Fix compilation with MAIKO_HANDLE_CONSOLE_MESSAGES. (#332)
* Switch from sgtty over to termios. All of the various
  separate values that were copied individually before
  can now be done at once.
* Fix compilation error with missing `&`.
* Fix compilation error with missing return value.

I haven't tested that this works as I don't know how to do that,
but at least it compiles now.
2021-02-01 06:42:39 +00:00
Bruce Mitchener
275c5b9c13 Clean up MAIKO_HANDLE_CONSOLE_MESSAGES some. (#331)
* `LOGINT` is only useful when `MAIKO_HANDLE_CONSOLE_MESSAGES`
  is set.
* Only define some variables if `MAIKO_HANDLE_CONSOLE_MESSAGES`
  is set. Flag them as static.
* Remove setting `LOGINT` from the build system as it isn't
  needed because we aren't handling console messages.
2021-01-31 21:22:13 -08:00
Nick Briggs
261069f131 Detect byte order from preprocessor definition (#330)
Rather than having to specify or omit -DBYTESWAP in the Makefile
fragment for each system we can detect whether the system requires
byte swapping  based on the __BYTE_ORDER__ C preprocessor definition.

Update CMakeLists.txt to account for this as well.
2021-01-31 16:56:35 -08:00
250 changed files with 4314 additions and 11283 deletions

2
.gitignore vendored
View File

@@ -7,6 +7,8 @@
# build directories
*.386-x/**
*.386/**
*.ppc-x/**
*.ppc/**
*.sparc-x/**
*.sparc/**
*.x86_64-x/**

View File

@@ -26,12 +26,6 @@ SET(MAIKO_DEFINITIONS
"-DRELEASE=351"
)
IF(UNIX)
LIST(APPEND MAIKO_DEFINITIONS
"-DLOGINT"
)
ENDIF()
OPTION(MAIKO_DISPLAY_X11 "Use X11 for display." ON)
IF(MAIKO_DISPLAY_X11)
FIND_PACKAGE(X11 REQUIRED)
@@ -65,19 +59,6 @@ IF(MAIKO_DISPLAY_X11)
)
ENDIF()
IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR
CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64" OR
CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" OR
CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR
CMAKE_SYSTEM_PROCESSOR STREQUAL "i386" OR
CMAKE_SYSTEM_PROCESSOR STREQUAL "i686" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "arm.*" OR
CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
LIST(APPEND MAIKO_DEFINITIONS
"-DBYTESWAP"
)
ENDIF()
IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
LIST(APPEND MAIKO_DEFINITIONS
"-DOS5"
@@ -95,19 +76,12 @@ ENDIF()
# These don't build on Linux. Some are for SunOS and DOS. Others ... ?
SET(BAD_SRCS
src/atom.c
src/cdaudio.c
src/cdrom.c
src/chatter.c
src/Cldeetr.c
src/codeconv.c
src/codetbl.c
src/doscomm.c
src/doskbd.c
src/dosmouse.c
src/ejlisp.c
src/imagefile2.c
src/imagefile.c
src/kbdif.c
src/lpdual.c
src/lpkit.c
src/lplexyy.c
@@ -124,8 +98,6 @@ SET(BAD_SRCS
src/rawrs232c.c
src/rs232c.c
src/truecolor.c
src/vesainit.c
src/vgainit.c
)
SET(MAIKO_SRCS
@@ -197,7 +169,6 @@ SET(MAIKO_SRCS
src/miscn.c
src/mkatom.c
src/mkcell.c
src/mouseif.c
src/mvs.c
src/osmsg.c
src/perrno.c
@@ -252,7 +223,6 @@ SET(MAIKO_HDRS
inc/bltdefs.h
inc/byteswapdefs.h
inc/car-cdrdefs.h
inc/cdrom.h
inc/cell.h
inc/chardevdefs.h
inc/commondefs.h
@@ -303,12 +273,10 @@ SET(MAIKO_HDRS
inc/initsoutdefs.h
inc/inlineC.h
inc/inln68k.h
inc/inlndos.h
inc/inlnPS2.h
inc/inlnSPARC.h
inc/intcalldefs.h
inc/iopage.h
inc/kbdif.h
inc/kbdsubrsdefs.h
inc/keyboard.h
inc/keyeventdefs.h
@@ -320,7 +288,6 @@ SET(MAIKO_HDRS
inc/lisp2cdefs.h
inc/lispemul.h
inc/lispmap.h
inc/lispver1.h
inc/lispver2.h
inc/llcolordefs.h
inc/lldsp.h

View File

@@ -4,7 +4,7 @@ Maiko is the implementation of the Medley Interlisp virtual machine, for a
byte-coded Lisp instruction set and some low-level functions for
connecting with Lisp for access to display (via X11) and disk etc.
Newcomers should check out the [Medley Interlisp Introduction](https://github.com/Interlisp/medley/wiki/Medley-Interlisp-Introduction).
For an overview, see [Medley Interlisp Introduction](https://github.com/Interlisp/medley/wiki/Medley-Interlisp-Introduction).
See [the Medley repository](https://github.org/Interlisp/medley) for
* [Issues](https://github.com/Interlisp/medley/issues) (note that maiko issues are there too)
@@ -33,18 +33,17 @@ $ cd maiko/bin
$ ./makeright x
```
* The build will (attempt to) detect the OS-type and cpu-type. It will build binaries `lde` and `ldex` in `../ostype.cputype` (with .o files in `..ostype.cputype-x`. For example, Linux on a 64-bit x86 will use `linux.x86_64`, while MacOS 11 on (new) Mac will use `darwin.arm64`.
* If you prefer using `gcc` over `clang`, you will need to edit the makefile fragment for your configuration (`makefile-ostype.cputype-x1) and comment out the line (with a #) that defines `CC` for `clang` and uncomment the line (delete the #) for the line that defines `CC` for `gcc`.
* There is a cmake configuration (TBD)
* The build will (attempt to) detect the OS-type and cpu-type. It will build binaries `lde` and `ldex` in `../ostype.cputype` (with .o files in `..ostype.cputype-x`. For example, Linux on a 64-bit x86 will use `linux.x86_64`, while MacOS 11 on a (new M1) Mac will use `darwin.aarch64`.
* If you prefer using `gcc` over `clang`, you will need to edit the makefile fragment for your configuration (`makefile-ostype.cputype-x`) and comment out the line (with a #) that defines `CC` for `clang` and uncomment the line (delete the #) for the line that defines `CC` for `gcc`.
* There is a cmake configuration (TBD To Be Described here).
### Building For MacOS
* Running on MacOS requires an X server, and building on a Mac requires X client libraries.
An X-server for x86 MacOS (and X11 client libraries) can be freely obtained at https://www.xquartz.org/
For the new arm64 MacOS 11, you'll need https://x.org which you can get via MacPorts or Brew.
An X-server for MacOS (and X11 client libraries) can be freely obtained at https://www.xquartz.org/releases
### Building for Windows 10
Windows 10 currently requires "Docker for Desktop" or WSL2 -- basically a Linux virtual machine -- and a (Windows X-server).
Windows 10 currently requires "Docker for Desktop" or WSL2 and a (Windows X-server).
See [Medley's README](https://github.com/Interlisp/medley/blob/master/README.md) for more.

View File

@@ -18,8 +18,6 @@ NOPIXRECT Used to suppress pixrect/pixwin options when they're not
AIX True if compiling for AIX
sparc True if we're compiling on a SPARC machine.
mc68020 True if we're compiling on a Motorola 680x0 machine.
sun3 We're compiling for a Sun-3.
NOASM If true, suppress any attempt to include assembler
versions of things in the emulator. In 'lispemul.c',
@@ -54,8 +52,6 @@ PROFILE If true, the profiling control code is enabled. You must
CHECK
FSBCHECK If true, you see a trace of large free stack blocks when
the stack is manipulated; was used for debugging stack code.
FSMESSAGE If true, prints a message telling you about the hard links
it makes (in support of version numbering), as it makes them.
WINDOW
INIT Used when compiling an emulator to build a loadup. Use it
@@ -119,13 +115,7 @@ FLTINT If true, use the floating-point exception interrupts to detect
the condition code from each operation. For SPARCs, it's not
clear that the interrupt trick works, because of code re-
arrangement by the C compiler.
BUFFER Used (apparently) only in testdisplay.c to decide if it should
read the sysout directly, or buffer each page.
IFPAGE_DEFINED Used in .h files to prevent redefinition of Interface page.
IOPAGE_DEFINED " for IO page definition.
NOWAY Used to dike out C definitions of RPLACA and RPLACD in the
file car-cdrmacro.h
XWINDOW True if compiling for an X-windows emulator.
BIGATOMS True if this emulator will support 3-byte symbols, instead of

View File

@@ -5,7 +5,7 @@ OEXT = .o
#For debugging
OPTFLAGS = -g
FPFLAGS =
DFLAGS = -DKBINT -DFLTINT -DNOASM -DOS4 -DI386 -DBYTESWAP -DCHECK -DLOGINT -DSUNDISPLAY
DFLAGS = -DKBINT -DFLTINT -DNOASM -DOS4 -DI386 -DCHECK -DLOGINT -DSUNDISPLAY
LDFLAGS = -lsuntool -lsunwindow -lpixrect -lc -lm
INLINE = $(SRCDIR)disp386i.il

View File

@@ -6,7 +6,7 @@ OEXT = .o
OPTFLAGS = -O
DISPOPTFLAGS = -O
FPFLAGS =
DFLAGS = -DKBINT -DOS4 -DI386 -DBYTESWAP -DCHECK -DLOGINT -DDISPLAYBUFFER -DSUNDISPLAY -DNEWBITBLT -DOPDISP
DFLAGS = -DKBINT -DOS4 -DI386 -DCHECK -DLOGINT -DDISPLAYBUFFER -DSUNDISPLAY -DNEWBITBLT -DOPDISP
LDFLAGS = -lsuntool -lsunwindow -lpixrect -lc -lm
INLINE = $(SRCDIR)disp386i.il
BITBLTFILE=$(OBJECTDIR)bitblt386i.o

View File

@@ -5,7 +5,7 @@ OEXT = .o
#For debugging
OPTFLAGS = -g
FPFLAGS =
DFLAGS = -DKBINT -DFLTINT -DNOASM -DOS4 -DI386 -DBYTESWAP -DCHECK -DLOGINT -DSUNDISPLAY
DFLAGS = -DKBINT -DFLTINT -DNOASM -DOS4 -DI386 -DCHECK -DLOGINT -DSUNDISPLAY
LDFLAGS = -lsuntool -lsunwindow -lpixrect -lc -lm
INLINE = $(SRCDIR)disp386i.il

View File

@@ -6,7 +6,7 @@ OEXT = .o
OPTFLAGS = -O -traditional
DISPOPTFLAGS = -O -traditional
FPFLAGS =
DFLAGS = -DKBINT -DOS4 -DI386 -DBYTESWAP -DCHECK -DLOGINT -DDISPLAYBUFFER -DSUNDISPLAY -DNEWBITBLT -DOPDISP
DFLAGS = -DKBINT -DOS4 -DI386 -DCHECK -DLOGINT -DDISPLAYBUFFER -DSUNDISPLAY -DNEWBITBLT -DOPDISP
LDFLAGS = -lsuntool -lsunwindow -lpixrect -lc -lm
INLINE = $(SRCDIR)disp386i.il
BITBLTFILE=$(OBJECTDIR)bitblt386i.o

View File

@@ -16,15 +16,13 @@ XFILES = $(OBJECTDIR)xmkicon.o \
XFLAGS = -DXWINDOW
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) -DRELEASE=351
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -1,7 +1,6 @@
# Options for MacOS, x86 processor, X windows
CC = clang -m32 $(CLANG_CFLAGS)
OEXT=.o
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
@@ -19,8 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) \
-DBYTESWAP -DLOGINT $(XFLAGS) \
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) \
-DRELEASE=351 -DSTACKCHECK -DFSBCHECK -DPCTRACE
LDFLAGS = -L/opt/X11/lib -lX11 -lm

View File

@@ -1,7 +1,6 @@
# Options for MacOS, x86 processor, X windows
CC = clang $(CLANG_CFLAGS)
OEXT=.o
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
@@ -14,17 +13,15 @@ XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -I/opt/local/include -DXWINDOW
XFLAGS = -I/opt/X11/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O1 -g
OPTFLAGS = -O2
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) \
-DBYTESWAP -DLOGINT $(XFLAGS) \
-DRELEASE=351
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/opt/local/lib -lX11 -lm
LDELDFLAGS = -L/opt/local/lib -lX11 -lm
LDFLAGS = -L/opt/X11/lib -lX11 -lm
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
OBJECTDIR = ../$(RELEASENAME)/

29
bin/makefile-darwin.ppc-x Normal file
View File

@@ -0,0 +1,29 @@
# Options for MacOS, x86 processor, X windows
CC = cc $(GCC_CFLAGS)
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -I/usr/X11/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) \
-DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -1,7 +1,6 @@
# Options for MacOS, x86 processor, X windows
CC = clang -m64 $(CLANG_CFLAGS)
OEXT=.o
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
@@ -19,9 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O1 -g
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) \
-DBYTESWAP -DLOGINT $(XFLAGS) \
-DRELEASE=351
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/opt/X11/lib -lX11 -lm
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm

View File

@@ -1,614 +0,0 @@
AFLAGS = /T
ARCHFILES = dosmouse.obj doskbd.obj vesafns.obj vesainit.obj vgainit.obj kbdif.obj
ADMINFILES = makefile mkvdate.c
LPFILES = lpmain.obj lpread.obj lpsolve.obj lpwrite.obj lpdual.obj lptran.obj
CFLAGS = -DDOS -DBYTESWAP -DKBINT -DNOPIXRECT \
-DNOVERSION -DLPSOLVE -g
LDFLAGS = -g graphics.lib binmode.lib mouse.lib
RM = del
SRCFILES = conspage.c gcoflow.c shift.c dbgtool.c gcr.c gcrcell.c llstk.c gcscan.c loopsops.c storage.c allocmds.c dir.c gvar2.c lowlev1.c subr.c arith2.c lowlev2.c subr0374.c arith3.c doscomm.c hardrtn.c lsthandl.c sxhash.c arith4.c draw.c main.c testtool.c array.c dsk.c inet.c misc7.c timer.c array2.c dspif.c initdsp.c miscn.c typeof.c array3.c initkbd.c ubf1.c array4.c dspsubrs.c initsout.c mkatom.c ubf2.c array5.c eqf.c intcall.c mkcell.c ubf3.c array6.c ether.c mkvdate.c ufn.c atom.c findkey.c kbdsubrs.c mouseif.c ufs.c bbtsub.c foreign.c keyevent.c unixcomm.c bin.c fp.c binds.c asmbbt.c fvar.c mvs.c unwind.c bitblt.c gc.c uraid.c blt.c gc2.c kprint.c osmsg.c usrsubr.c byteswap.c gcarray.c perrno.c ldeboot.c ldeether.c uutils.c carcdr.c gccode.c rawcolor.c vars3.c gcfinal.c ldsout.c return.c vmemsave.c chardev.c gchtfind.c lineblt8.c rpc.c xc.c common.c gcmain3.c lisp2c.c rplcons.c z2.c xmkicon.c xbbt.c xinit.c xscroll.c xcursor.c xlspwin.c xrdopt.c xwinman.c dosmouse.c vesafns.asm vesainit.c vgainit.c kbdif.c dspsparc.il copyright launch.asm lpread.c lpsolve.c lpmain.c lpwrite.c lpdual.c lptran.c
OFILES = conspage.obj gcoflow.obj shift.obj dbgtool.obj gcr.obj gcrcell.obj llstk.obj gcscan.obj loopsops.obj storage.obj allocmds.obj dir.obj gvar2.obj lowlev1.obj subr.obj arith2.obj lowlev2.obj subr0374.obj arith3.obj doscomm.obj hardrtn.obj lsthandl.obj sxhash.obj arith4.obj draw.obj main.obj testtool.obj array.obj dsk.obj inet.obj misc7.obj timer.obj array2.obj dspif.obj initdsp.obj miscn.obj typeof.obj array3.obj initkbd.obj ubf1.obj array4.obj dspsubrs.obj initsout.obj mkatom.obj ubf2.obj array5.obj eqf.obj intcall.obj mkcell.obj ubf3.obj array6.obj ether.obj ufn.obj atom.obj findkey.obj kbdsubrs.obj mouseif.obj ufs.obj bbtsub.obj foreign.obj keyevent.obj unixcomm.obj bin.obj fp.obj binds.obj fvar.obj mvs.obj unwind.obj bitblt.obj gc.obj uraid.obj blt.obj gc2.obj kprint.obj osmsg.obj usrsubr.obj byteswap.obj gcarray.obj perrno.obj uutils.obj carcdr.obj asmbbt.obj gccode.obj vars3.obj gcfinal.obj ldsout.obj return.obj vmemsave.obj chardev.obj gchtfind.obj lineblt8.obj rpc.obj xc.obj common.obj gcmain3.obj lisp2c.obj rplcons.obj z2.obj vdate.obj $(COLORFILES) $(ARCHFILES) $(LPFILES)
HFILES = address.h adr68k.h arith.h cell.h dbprint.h display.h dspif.h ifpage.h iopage.h lispemul.h lispmap.h lsptypes.h miscstat.h lspglob.h array.h bb.h bitblt.h debug.h devconf.h dspdata.h ether.h fast_dsp.h gcdata.h hdw_conf.h initatms.h inlinec.h keyboard.h lispver1.h lispver2.h lldsp.h locfile.h medleyfp.h mouseif.h my.h opcodes.h osmsg.h pilotbbt.h print.h return.h stack.h stream.h subrs.h timeout.h tos1defs.h tosfns.h tosret.h vmemsave.h xdefs.h xbitmaps.h xkeymap.h
bigvm:
CFLAGS = $(CFLAGS)
make -f foot emul.exe
emul.exe : $(OFILES)
@ echo $** > linkopts
@ echo $(CFLAGS) > copts
$(RM) vdate.c
$(CC) @copts @linkopts $(LDFLAGS) /e$@
del linkopts
del copts
@ echo "Executable is now named '$@'"
main.o : lispemul.h address.h lsptypes.h adr68k.h stack.h lspglob.h lispmap.h ifpage.h iopage.h return.h debug.h
.SUFFIXES .exe .lib .c .obj .c .asm .s .c
medley.exe: launch.obj
TLINK launch,medley
launch.obj: launch.asm
# xc.obj: xc.s
# tasm /ml xc.s
#
#xc.s: xc.c
# rsh sparky (cd /users/nilsson/curr ; gcc-make $* )
vdate.obj : mkvdate.exe
mkvdate > vdate.c
$(CC) vdate.c -c $@
mkvdate.exe : ../src/mkvdate.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/mkvdate.c
del copts
xc.obj : ../src/xc.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/xc.c -I ../inc -c $@
del copts
lpmain.obj : ../src/lpmain.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/lpmain.c -I ../inc -c $@
del copts
lpsolve.obj : ../src/lpsolve.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/lpsolve.c -I ../inc -c $@
del copts
lpread.obj : ../src/lpread.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/lpread.c -I ../inc -c $@
del copts
lptran.obj : ../src/lptran.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/lptran.c -I ../inc -c $@
del copts
lpdual.obj : ../src/lpdual.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/lpdual.c -I ../inc -c $@
del copts
lpwrite.obj : ../src/lpwrite.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/lpwrite.c -I ../inc -c $@
del copts
conspage.obj : ../src/conspage.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/conspage.c -I ../inc -c $@
del copts
dosmouse.obj : ../src/dosmouse.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/dosmouse.c -I ../inc -c $@
del copts
doskbd.obj : ../src/doskbd.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/doskbd.c -I ../inc -c $@
del copts
vesafns.obj : ../src/vesafns.asm
tasm /ml ..\src\vesafns.asm
vesainit.obj : ../src/vesainit.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/vesainit.c -I ../inc -c $@
del copts
vgainit.obj : ../src/vgainit.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/vgainit.c -I ../inc -c $@
del copts
kbdif.obj : ../src/kbdif.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/kbdif.c -I ../inc -c $@
del copts
gcoflow.obj : ../src/gcoflow.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/gcoflow.c -I ../inc -c $@
del copts
shift.obj : ../src/shift.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/shift.c -I ../inc -c $@
del copts
dbgtool.obj : ../src/dbgtool.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/dbgtool.c -I ../inc -c $@
del copts
gcr.obj : ../src/gcr.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/gcr.c -I ../inc -c $@
del copts
gcrcell.obj : ../src/gcrcell.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/gcrcell.c -I ../inc -c $@
del copts
llstk.obj : ../src/llstk.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/llstk.c -I ../inc -c $@
del copts
gcscan.obj : ../src/gcscan.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/gcscan.c -I ../inc -c $@
del copts
loopsops.obj : ../src/loopsops.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/loopsops.c -I ../inc -c $@
del copts
storage.obj : ../src/storage.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/storage.c -I ../inc -c $@
del copts
allocmds.obj : ../src/allocmds.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/allocmds.c -I ../inc -c $@
del copts
dir.obj : ../src/dir.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/dir.c -I ../inc -c $@
del copts
gvar2.obj : ../src/gvar2.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/gvar2.c -I ../inc -c $@
del copts
lowlev1.obj : ../src/lowlev1.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/lowlev1.c -I ../inc -c $@
del copts
subr.obj : ../src/subr.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/subr.c -I ../inc -c $@
del copts
arith2.obj : ../src/arith2.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/arith2.c -I ../inc -c $@
del copts
lowlev2.obj : ../src/lowlev2.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/lowlev2.c -I ../inc -c $@
del copts
subr0374.obj : ../src/subr0374.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/subr0374.c -I ../inc -c $@
del copts
arith3.obj : ../src/arith3.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/arith3.c -I ../inc -c $@
del copts
doscomm.obj : ../src/doscomm.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/doscomm.c -I ../inc -c $@
del copts
hardrtn.obj : ../src/hardrtn.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/hardrtn.c -I ../inc -c $@
del copts
lsthandl.obj : ../src/lsthandl.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/lsthandl.c -I ../inc -c $@ -Le
del copts
sxhash.obj : ../src/sxhash.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/sxhash.c -I ../inc -c $@
del copts
arith4.obj : ../src/arith4.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/arith4.c -I ../inc -c $@
del copts
draw.obj : ../src/draw.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/draw.c -I ../inc -c $@
del copts
main.obj : ../src/main.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/main.c -I ../inc -c $@
del copts
testtool.obj : ../src/testtool.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/testtool.c -I ../inc -c $@
del copts
array.obj : ../src/array.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/array.c -I ../inc -c $@
del copts
dsk.obj : ../src/dsk.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/dsk.c -I ../inc -c $@
del copts
inet.obj : ../src/inet.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/inet.c -I ../inc -c $@
del copts
misc7.obj : ../src/misc7.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/misc7.c -I ../inc -c $@
del copts
timer.obj : ../src/timer.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/timer.c -I ../inc -c $@
del copts
array2.obj : ../src/array2.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/array2.c -I ../inc -c $@
del copts
dspif.obj : ../src/dspif.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/dspif.c -I ../inc -c $@
del copts
initdsp.obj : ../src/initdsp.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/initdsp.c -I ../inc -c $@
del copts
miscn.obj : ../src/miscn.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/miscn.c -I ../inc -c $@
del copts
typeof.obj : ../src/typeof.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/typeof.c -I ../inc -c $@
del copts
array3.obj : ../src/array3.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/array3.c -I ../inc -c $@
del copts
initkbd.obj : ../src/initkbd.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/initkbd.c -I ../inc -c $@
del copts
ubf1.obj : ../src/ubf1.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/ubf1.c -I ../inc -c $@
del copts
array4.obj : ../src/array4.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/array4.c -I ../inc -c $@
del copts
dspsubrs.obj : ../src/dspsubrs.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/dspsubrs.c -I ../inc -c $@
del copts
initsout.obj : ../src/initsout.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/initsout.c -I ../inc -c $@
del copts
mkatom.obj : ../src/mkatom.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/mkatom.c -I ../inc -c $@
del copts
ubf2.obj : ../src/ubf2.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/ubf2.c -I ../inc -c $@
del copts
array5.obj : ../src/array5.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/array5.c -I ../inc -c $@
del copts
eqf.obj : ../src/eqf.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/eqf.c -I ../inc -c $@
del copts
intcall.obj : ../src/intcall.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/intcall.c -I ../inc -c $@
del copts
mkcell.obj : ../src/mkcell.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/mkcell.c -I ../inc -c $@
del copts
ubf3.obj : ../src/ubf3.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/ubf3.c -I ../inc -c $@
del copts
array6.obj : ../src/array6.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/array6.c -I ../inc -c $@
del copts
ether.obj : ../src/ether.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/ether.c -I ../inc -c $@
del copts
ufn.obj : ../src/ufn.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/ufn.c -I ../inc -c $@
del copts
atom.obj : ../src/atom.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/atom.c -I ../inc -c $@
del copts
findkey.obj : ../src/findkey.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/findkey.c -I ../inc -c $@
del copts
kbdsubrs.obj : ../src/kbdsubrs.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/kbdsubrs.c -I ../inc -c $@
del copts
mouseif.obj : ../src/mouseif.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/mouseif.c -I ../inc -c $@
del copts
ufs.obj : ../src/ufs.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/ufs.c -I ../inc -c $@
del copts
bbtsub.obj : ../src/bbtsub.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/bbtsub.c -I ../inc -c $@
del copts
foreign.obj : ../src/foreign.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/foreign.c -I ../inc -c $@
del copts
keyevent.obj : ../src/keyevent.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/keyevent.c -I ../inc -c $@
del copts
unixcomm.obj : ../src/unixcomm.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/unixcomm.c -I ../inc -c $@
del copts
bin.obj : ../src/bin.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/bin.c -I ../inc -c $@
del copts
fp.obj : ../src/fp.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/fp.c -I ../inc -c $@
del copts
binds.obj : ../src/binds.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/binds.c -I ../inc -c $@
del copts
fvar.obj : ../src/fvar.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/fvar.c -I ../inc -c $@
del copts
mvs.obj : ../src/mvs.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/mvs.c -I ../inc -c $@
del copts
unwind.obj : ../src/unwind.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/unwind.c -I ../inc -c $@
del copts
bitblt.obj : ../src/bitblt.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/bitblt.c -I ../inc -c $@
del copts
gc.obj : ../src/gc.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/gc.c -I ../inc -c $@
del copts
uraid.obj : ../src/uraid.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/uraid.c -I ../inc -c $@
del copts
blt.obj : ../src/blt.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/blt.c -I ../inc -c $@
del copts
gc2.obj : ../src/gc2.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/gc2.c -I ../inc -c $@
del copts
kprint.obj : ../src/kprint.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/kprint.c -I ../inc -c $@
del copts
osmsg.obj : ../src/osmsg.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/osmsg.c -I ../inc -c $@
del copts
usrsubr.obj : ../src/usrsubr.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/usrsubr.c -I ../inc -c $@
del copts
byteswap.obj : ../src/byteswap.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/byteswap.c -I ../inc -c $@
del copts
gcarray.obj : ../src/gcarray.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/gcarray.c -I ../inc -c $@
del copts
perrno.obj : ../src/perrno.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/perrno.c -I ../inc -c $@
del copts
uutils.obj : ../src/uutils.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/uutils.c -I ../inc -c $@
del copts
carcdr.obj : ../src/carcdr.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/carcdr.c -I ../inc -c $@
del copts
asmbbt.obj : ../src/asmbbt.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/asmbbt.c -I ../inc -c $@
del copts
gccode.obj : ../src/gccode.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/gccode.c -I ../inc -c $@
del copts
vars3.obj : ../src/vars3.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/vars3.c -I ../inc -c $@
del copts
gcfinal.obj : ../src/gcfinal.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/gcfinal.c -I ../inc -c $@
del copts
ldsout.obj : ../src/ldsout.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/ldsout.c -I ../inc -c $@
del copts
return.obj : ../src/return.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/return.c -I ../inc -c $@
del copts
vmemsave.obj : ../src/vmemsave.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/vmemsave.c -I ../inc -c $@
del copts
chardev.obj : ../src/chardev.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/chardev.c -I ../inc -c $@
del copts
gchtfind.obj : ../src/gchtfind.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/gchtfind.c -I ../inc -c $@
del copts
lineblt8.obj : ../src/lineblt8.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/lineblt8.c -I ../inc -c $@
del copts
rpc.obj : ../src/rpc.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/rpc.c -I ../inc -c $@
del copts
common.obj : ../src/common.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/common.c -I ../inc -c $@
del copts
gcmain3.obj : ../src/gcmain3.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/gcmain3.c -I ../inc -c $@
del copts
lisp2c.obj : ../src/lisp2c.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/lisp2c.c -I ../inc -c $@
del copts
rplcons.obj : ../src/rplcons.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/rplcons.c -I ../inc -c $@
del copts
z2.obj : ../src/z2.c
@ echo $(CFLAGS) > copts
$(CC) @copts ../src/z2.c -I ../inc -c $@
del copts

View File

@@ -15,16 +15,13 @@ XFILES = $(OBJECTDIR)xmkicon.o \
XFLAGS = -I/usr/local/include -DXWINDOW
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -O2.
OPTFLAGS = -O1 -gdwarf-2
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) \
-DRELEASE=351
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -32,3 +32,5 @@ LDFLAGS =
LDELDFLAGS =
LDEETHERLDFLAGS =
# OSARCHDIR is the os/architecture dir, where executables all go.
OSARCHDIR = ../$(OSARCHNAME)/

View File

@@ -1,7 +1,6 @@
# Options for MacOS, x86 processor, X windows, for INIT processing
CC = clang -m32 $(CLANG_CFLAGS)
OEXT=.o
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
@@ -18,12 +17,12 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
OPTFLAGS = -O0 -g
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) \
-DRELEASE=351 -DNOVERSION -DINIT -DTRACE -DOPTRACE
DEBUGFLAGS =
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/usr/X11/lib -lX11 -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde
default : ../$(OSARCHNAME)/ldeinit

View File

@@ -0,0 +1,28 @@
# Options for MacOS, aarch64 processor, X windows, for INIT processing
CC = clang $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -I/opt/X11/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O0 -g3
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/opt/X11/lib -lX11 -lm
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/ldeinit

View File

@@ -0,0 +1,28 @@
# Options for MacOS, x86_64 processor, X windows, for INIT processing
CC = clang -m64 $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -I/opt/X11/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O0 -g
DEBUGFLAGS = # -DDEBUG -DOPTRACE
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/opt/X11/lib -lX11 -lm
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/ldeinit

View File

@@ -0,0 +1,29 @@
# Options for Linux, x86 processor, X windows, for INIT processing
#CC = gcc -m64 $(GCC_CFLAGS)
CC = clang -m64 $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
OPTFLAGS = -O0 -g
DEBUGFLAGS =
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/ldeinit

View File

@@ -18,26 +18,22 @@
# Options for SPARC under Solaris-2 operating system, X windows.
CC = gcc
CC = cc -m32 $(DEVSTUDIO_CFLAGS)
XFILES = $(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xrdopt.o \
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xwinman.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)kbdif.o \
$(OBJECTDIR)xinit.o
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -DXWINDOW
XFLAGS = -DXWINDOW -I/usr/openwin/include
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -g for MAKEINIT, as it needs debugging often.
OPTFLAGS = -g3 -O
OPTFLAGS = -g3 -O0
# Set any debugging options in DEBUGFLAGS. E.g., to enable stack
# checking, use -DSTACKCHECK; to enable the fn-call-time stack
@@ -45,9 +41,7 @@ OPTFLAGS = -g3 -O
DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
MACHINEFLAGS = -DOS5 -DUSE_DLPI \
-I$(OPENWINHOME)/include \
-DLOGINT -DLOCK_X_UPDATES
MACHINEFLAGS = -DOS5 -DUSE_DLPI -DLOCK_X_UPDATES
# The LDEINIT wants to have NOVERSION set, so we don't hang up on
# any change-over in versions.
@@ -59,12 +53,12 @@ DFLAGS = -DINIT \
-DNOVERSION -DRELEASE=351
LDFLAGS = -R$(OPENWINHOME)/lib -L$(OPENWINHOME)/lib -lX11 -lc -lm -lsocket -lnsl
LDELDFLAGS = -R$(OPENWINHOME)/lib -L$(OPENWINHOME)/lib -lX11 -lc -lm -lsocket -lnsl
LDFLAGS = -lX11 -lc -lm -lsocket -lnsl
LDELDFLAGS = -lX11 -lc -lm -lsocket -lnsl
LDEETHERLDFLAGS = -lc -lm -lsocket -lnsl
DLPIFILES = $(OBJECTDIR)dlpi.o
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether
default : ../$(OSARCHNAME)/ldeinit

View File

@@ -15,15 +15,13 @@ XFILES = $(OBJECTDIR)xmkicon.o \
XFLAGS = -DXWINDOW
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) -DRELEASE=351
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -0,0 +1,27 @@
# Options for Linux, ARMv7 and X-Window
CC = gcc $(GCC_CFLAGS)
#CC = clang $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -15,15 +15,13 @@ XFILES = $(OBJECTDIR)xmkicon.o \
XFLAGS = -DXWINDOW
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) -DRELEASE=351
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -16,15 +16,13 @@ XFILES = $(OBJECTDIR)xmkicon.o \
XFLAGS = -DXWINDOW
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) -DRELEASE=351
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -15,15 +15,13 @@ XFILES = $(OBJECTDIR)xmkicon.o \
XFLAGS = -I/usr/X11R6/include -DXWINDOW
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) -DRELEASE=351
DFLAGS = $(XFLAGS) -DRELEASE=351
LDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/lde
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex

View File

@@ -24,8 +24,6 @@ XFILES = $(OBJECTDIR)xmkicon.o \
XFLAGS = -DXWINDOW
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g
@@ -37,7 +35,7 @@ DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
DFLAGS = $(XFLAGS) \
$(DEBUGFLAGS) \
-DOS5 -DBYTESWAP -DLOGINT \
-DOS5 \
-DLOCK_X_UPDATES \
-DRELEASE=351
@@ -49,4 +47,4 @@ DLPIFILES = # $(OBJECTDIR)dlpi.o
OBJECTDIR = ../$(RELEASENAME)/
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether ../$(OSARCHNAME)/ldex

View File

@@ -24,8 +24,6 @@ XFILES = $(OBJECTDIR)xmkicon.o \
XFLAGS = -DXWINDOW
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
@@ -38,7 +36,6 @@ DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
DFLAGS = $(XFLAGS) \
$(DEBUGFLAGS) \
-DOS5 -DUSE_DLPI \
-DBYTESWAP -DLOGINT \
-DLOCK_X_UPDATES \
-I$(OPENWINHOME)/include \
-DRELEASE=210
@@ -51,4 +48,4 @@ DLPIFILES = $(OBJECTDIR)dlpi.o
OBJECTDIR = ../$(RELEASENAME)/
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether ../$(OSARCHNAME)/ldex

View File

@@ -31,8 +31,6 @@ XFILES = $(OBJECTDIR)xmkicon.o \
XFLAGS = -DXWINDOW
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
@@ -42,7 +40,7 @@ OPTFLAGS = -O2 -g3
DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
MACHINEFLAGS = -DOS5 -DUSE_DLPI -DLOGINT -DLOCK_X_UPDATES
MACHINEFLAGS = -DOS5 -DUSE_DLPI -DLOCK_X_UPDATES
DFLAGS = $(XFLAGS) \
$(DEBUGFLAGS) \
@@ -57,4 +55,4 @@ DLPIFILES = $(OBJECTDIR)dlpi.o
OBJECTDIR = ../$(RELEASENAME)/
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether ../$(OSARCHNAME)/ldex

View File

@@ -24,8 +24,6 @@ XFILES = $(OBJECTDIR)xmkicon.o \
XFLAGS = -DXWINDOW
# This is to make the %$#@! Apollo cc happy
OEXT = .o
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g
@@ -37,7 +35,7 @@ DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
DFLAGS = $(XFLAGS) \
$(DEBUGFLAGS) \
-DOS5 -DBYTESWAP -DLOGINT \
-DOS5 \
-DLOCK_X_UPDATES \
-DUSE_DLPI \
-DRELEASE=351
@@ -50,4 +48,4 @@ DLPIFILES = $(OBJECTDIR)dlpi.o
OBJECTDIR = ../$(RELEASENAME)/
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether ../$(OSARCHNAME)/ldex

File diff suppressed because it is too large Load Diff

View File

@@ -59,7 +59,7 @@ osversion=`osversion`
echo "making so far for ${osversion} on ${architecture}."
case "$display" in
init) display=single
releasename=init.${architecture}
releasename=init-${osversion}.${architecture}
ldename=ldeinit
;;
single) releasename=${osversion}.${architecture}

View File

@@ -1,3 +1,6 @@
#ifndef XKEYMAP_H
#define XKEYMAP_H 1
/* $Id: XKeymap.h,v 1.2 1999/01/03 02:05:48 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved
*/
@@ -252,3 +255,5 @@ int generic_X_keymap[] = {
-1, -1, -1};
#endif /* XWINDOW */
#endif

View File

@@ -29,8 +29,8 @@
/**********************************************************************/
/* NOTE: These MACRO should be used for the pointers in LISP SYSOUT */
#define LLSH(datum , n) ((datum )<< n)
#define LRSH(datum , n) ((datum) >> n)
#define LLSH(datum, n) ((datum) << (n))
#define LRSH(datum, n) ((datum) >> (n))
#define HILOC(ptr) (LRSH(((unsigned int)(ptr) & SEGMASK),16))
#define LOLOC(ptr) ((unsigned int)(ptr) & 0x0ffff)

View File

@@ -48,7 +48,7 @@
/* translate LispPage to 68k address */
#define Addr68k_from_LPAGE(Lisp_page) (Addr68k_from_LADDR((Lisp_page << 8) ))
#define Addr68k_from_LPAGE(Lisp_page) (Addr68k_from_LADDR(((Lisp_page) << 8) ))

View File

@@ -1,5 +1,6 @@
#ifndef ALLOCMDSDEFS_H
#define ALLOCMDSDEFS_H 1
#include "lispemul.h" /* for LispPTR, DLword */
LispPTR initmdspage(register LispPTR *base, register DLword size, register LispPTR prev);
LispPTR *alloc_mdspage(register short int type);
#endif

View File

@@ -1,10 +1,6 @@
#ifndef ARITH_H
#define ARITH_H 1
/* $Id: arith.h,v 1.2 1999/01/03 02:05:52 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/* $Id: arith.h,v 1.2 1999/01/03 02:05:52 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
@@ -13,188 +9,157 @@
/* */
/************************************************************************/
#define MAX_SMALL 65535 /* == 0x0000FFFF */
#define MIN_SMALL (-65536) /* == 0xFFFF0000 */
#define MAX_SMALL 65535 /* == 0x0000FFFF */
#define MIN_SMALL -65536 /* == 0xFFFF0000 */
#define MAX_FIXP 2147483647 /* == 0x7FFFFFFF */
#define MIN_FIXP -2147483648 /* == 0x80000000 */
#define GetSmalldata(x) (((SEGMASK & x)==S_POSITIVE) ? (0xFFFF & x) : (((SEGMASK & x)==S_NEGATIVE) ? (0xFFFF0000 | x) : error("Not smallp address")))
#define GetSmallp(x) ((0xFFFF0000 & x) ? (((0xFFFF0000 & x)==0xFFFF0000) ? (S_NEGATIVE | (0xFFFF & x)) : error("Not Smallp data") ) : (S_POSITIVE | (0xFFFF & x)))
/* arg sour is Lisp address, arg dest is a box to store the number */
#define GetNumber(sour, dest){ \
switch(SEGMASK & sour){\
case S_POSITIVE: \
dest = 0xFFFF & sour; \
break; \
case S_NEGATIVE: \
dest = 0xFFFF0000 | sour; \
break; \
default: \
if(GetTypeNumber( sour ) != TYPE_FIXP){ \
ufn(0xFF & (*PC)); \
return; \
} \
dest = *((int *)Addr68k_from_LADDR(sour)); \
} \
}
#define MAX_FIXP 2147483647 /* == 0x7FFFFFFF */
#define MIN_FIXP (-2147483648) /* == 0x80000000 */
#define GetSmalldata(x) \
(((SEGMASK & (x)) == S_POSITIVE) \
? (0xFFFF & (x)) \
: (((SEGMASK & (x)) == S_NEGATIVE) ? (0xFFFF0000 | (x)) : error("Not smallp address")))
#define GetSmallp(x) \
((0xFFFF0000 & (x)) ? (((0xFFFF0000 & (x)) == 0xFFFF0000) ? (S_NEGATIVE | (0xFFFF & (x))) \
: error("Not Smallp data")) \
: (S_POSITIVE | (0xFFFF & (x))))
#define FIXP_VALUE(dest) *((int *)Addr68k_from_LADDR(dest))
#define FLOATP_VALUE(dest) *((float *)Addr68k_from_LADDR(dest))
#define N_GETNUMBER(sour, dest, label) \
{ dest = sour; /* access memory once */ \
switch(SEGMASK & dest){ \
case S_POSITIVE: \
dest = 0xFFFF & (dest); \
break; \
case S_NEGATIVE: \
dest = 0xFFFF0000 | (dest); \
break; \
default: \
if (GetTypeNumber( dest ) != TYPE_FIXP) \
{ goto label; } \
dest = FIXP_VALUE(dest); \
} \
}
#define N_GETNUMBER(sour, dest, label) \
do { \
(dest) = (sour); /* access memory once */ \
switch (SEGMASK & (dest)) { \
case S_POSITIVE: (dest) = 0xFFFF & (dest); break; \
case S_NEGATIVE: (dest) = 0xFFFF0000 | (dest); break; \
default: \
/* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
if (GetTypeNumber(dest) != TYPE_FIXP) goto label; \
(dest) = FIXP_VALUE(dest); \
} \
} while (0)
#define N_IGETNUMBER(sour, dest, label) \
{ dest = sour; /* access memory once */ \
switch(SEGMASK & dest){ \
case S_POSITIVE: \
dest = 0xFFFF & dest; \
break; \
case S_NEGATIVE: \
dest = 0xFFFF0000 | dest; \
break; \
default: \
switch (GetTypeNumber( dest )) { \
case TYPE_FIXP: \
dest = FIXP_VALUE(dest); \
break; \
case TYPE_FLOATP: \
{register float temp; \
temp = FLOATP_VALUE(dest) ; \
if ( (temp > ((float) 0x7fffffff)) || \
(temp < ((float) 0x80000000)) ) \
goto label; \
dest = (int) temp; \
} \
break; \
default: goto label; \
} \
break; \
} \
}
#define ARITH_SWITCH(arg, result) \
switch((int) arg & 0xFFFF0000){ \
case 0: \
result = (S_POSITIVE | (int) arg); \
break; \
case 0xFFFF0000: \
result = (S_NEGATIVE | (0xFFFF & (int) arg)); \
break; \
default:{register LispPTR *wordp; \
/* arg is FIXP, call createcell */ \
wordp = (LispPTR *) createcell68k(TYPE_FIXP); \
*((int *)wordp) = (int) arg; \
result = (LADDR_from_68k(wordp)); \
break; \
} \
}
#define N_IGETNUMBER(sour, dest, label) \
do { \
(dest) = (sour); /* access memory once */ \
switch (SEGMASK & (dest)) { \
case S_POSITIVE: (dest) = 0xFFFF & (dest); break; \
case S_NEGATIVE: (dest) = 0xFFFF0000 | (dest); break; \
default: \
switch (GetTypeNumber(dest)) { \
case TYPE_FIXP: (dest) = FIXP_VALUE(dest); break; \
case TYPE_FLOATP: { \
register float temp; \
temp = FLOATP_VALUE(dest); \
/* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
if ((temp > ((float)0x7fffffff)) || (temp < ((float)0x80000000))) goto label; \
(dest) = (int)temp; \
} break; \
default: goto label; /* NOLINT(bugprone-macro-parentheses) */ \
} \
break; \
} \
} while (0)
#define ARITH_SWITCH(arg, result) \
do { \
switch ((int)(arg) & 0xFFFF0000) { \
case 0: (result) = (S_POSITIVE | (int)(arg)); break; \
case 0xFFFF0000: (result) = (S_NEGATIVE | (0xFFFF & (int)(arg))); break; \
default: { \
register LispPTR *wordp; \
/* arg is FIXP, call createcell */ \
wordp = (LispPTR *)createcell68k(TYPE_FIXP); \
*((int *)wordp) = (int)(arg); \
(result) = (LADDR_from_68k(wordp)); \
break; \
} \
} \
} while (0)
/* *******
NEED to See if this is faster than the N_ARITH_SWITCH macro
NEED to See if this is faster than the N_ARITH_SWITCH macro
if( (MIN_FIXP <= result) && (result <= MAX_FIXP) ){
if(0 <= result){
if(result <= MAX_SMALL)
return(S_POSITIVE | result);
else{
wordp = createcell68k(TYPE_FIXP);
*((unsigned int *)wordp) = result;
return(LADDR_from_68k(wordp));
}
}else{
if(MIN_SMALL <= result)
return(S_NEGATIVE | (0xFFFF & result));
else{
wordp = createcell68k(TYPE_FIXP);
*((unsigned int *)wordp) = result;
return(LADDR_from_68k(wordp));
}
}/
}
if( (MIN_FIXP <= result) && (result <= MAX_FIXP) ){
if(0 <= result){
if(result <= MAX_SMALL)
return(S_POSITIVE | result);
else{
wordp = createcell68k(TYPE_FIXP);
*((unsigned int *)wordp) = result;
return(LADDR_from_68k(wordp));
}
}else{
if(MIN_SMALL <= result)
return(S_NEGATIVE | (0xFFFF & result));
else{
wordp = createcell68k(TYPE_FIXP);
*((unsigned int *)wordp) = result;
return(LADDR_from_68k(wordp));
}
}/
}
****** */
#define N_ARITH_SWITCH(arg) \
do { \
switch ((arg) & 0xFFFF0000) { \
case 0: return (S_POSITIVE | (arg)); \
case 0xFFFF0000: return (S_NEGATIVE | (0xFFFF & (arg))); \
default: { \
register LispPTR *fixpp; \
/* arg is FIXP, call createcell */ \
fixpp = (LispPTR *)createcell68k(TYPE_FIXP); \
*((int *)fixpp) = arg; \
return (LADDR_from_68k(fixpp)); \
} \
} \
} while (0)
#define N_IARITH_BODY_2(a, tos, op) \
do { \
register int arg1, arg2; \
\
N_IGETNUMBER(a, arg1, do_ufn); \
N_IGETNUMBER(tos, arg2, do_ufn); \
\
arg1 = arg1 op arg2; \
\
N_ARITH_SWITCH(arg1); \
\
do_ufn: \
ERROR_EXIT(tos); \
} while (0)
#define N_ARITH_SWITCH(arg) \
switch(arg & 0xFFFF0000){ \
case 0: \
return(S_POSITIVE | arg); \
case 0xFFFF0000: \
return(S_NEGATIVE | (0xFFFF & arg)); \
default:{register LispPTR *fixpp; \
/* arg is FIXP, call createcell */ \
fixpp = (LispPTR *) createcell68k(TYPE_FIXP); \
*((int *)fixpp) = arg; \
return(LADDR_from_68k(fixpp)); \
} \
}
#define N_IARITH_BODY_2(a, tos, op) \
{ \
register int arg1,arg2; \
\
N_IGETNUMBER( a, arg1, do_ufn); \
N_IGETNUMBER( tos, arg2, do_ufn); \
\
arg1 = arg1 op arg2; \
\
N_ARITH_SWITCH(arg1); \
\
do_ufn: ERROR_EXIT(tos); \
}
#define N_ARITH_BODY_1(a, n, op) \
{ \
register int arg1; \
\
N_GETNUMBER( a, arg1, do_ufn); \
\
arg1 = arg1 op n; \
\
N_ARITH_SWITCH(arg1); \
\
do_ufn: ERROR_EXIT(a); \
}
#define N_ARITH_BODY_1_UNSIGNED(a, n, op) \
{ \
register unsigned int arg1; \
\
N_GETNUMBER( a, arg1, do_ufn); \
\
arg1 = arg1 op n; \
\
N_ARITH_SWITCH(arg1); \
\
do_ufn: ERROR_EXIT(a); \
}
#define N_ARITH_BODY_1(a, n, op) \
do { \
register int arg1; \
\
N_GETNUMBER(a, arg1, do_ufn); \
\
arg1 = arg1 op n; \
\
N_ARITH_SWITCH(arg1); \
\
do_ufn: \
ERROR_EXIT(a); \
} while (0)
#define N_ARITH_BODY_1_UNSIGNED(a, n, op) \
do { \
register unsigned int arg1; \
\
N_GETNUMBER(a, arg1, do_ufn); \
\
arg1 = arg1 op n; \
\
N_ARITH_SWITCH(arg1); \
\
do_ufn: \
ERROR_EXIT(a); \
} while (0)
#endif /* ARITH_H */

View File

@@ -1,5 +1,6 @@
#ifndef ARITH2DEFS_H
#define ARITH2DEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_plus2(int tosm1, int tos);
LispPTR N_OP_iplus2(int tosm1, int tos);
LispPTR N_OP_difference(int tosm1, int tos);

View File

@@ -1,5 +1,6 @@
#ifndef ARITH3DEFS_H
#define ARITH3DEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_makenumber(int tosm1, int tos);
LispPTR N_OP_boxiplus(register int a, int tos);
LispPTR N_OP_boxidiff(register int a, int tos);

View File

@@ -2,9 +2,6 @@
#define ARRAY_H 1
/* $Id: array.h,v 1.2 1999/01/03 02:05:53 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
@@ -12,6 +9,9 @@
/* */
/************************************************************************/
#include "lispemul.h" /* for LispPTR, DLword */
#include "version.h" /* for BIGVM */
#ifndef BYTESWAP
/********************************/
/* Normal byte-order version */

View File

@@ -1,5 +1,6 @@
#ifndef ARRAY2DEFS_H
#define ARRAY2DEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_misc4(register LispPTR data, register LispPTR base, register LispPTR typenumber,
register LispPTR inx, int alpha);
#endif

View File

@@ -1,4 +1,5 @@
#ifndef ARRAY3DEFS_H
#define ARRAY3DEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_aref1(register LispPTR arrayarg, register LispPTR inx);
#endif

View File

@@ -1,4 +1,5 @@
#ifndef ARRAY4DEFS_H
#define ARRAY4DEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_aset1(register LispPTR data, LispPTR arrayarg, register int inx);
#endif

View File

@@ -1,4 +1,5 @@
#ifndef ARRAY5DEFS_H
#define ARRAY5DEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_aref2(LispPTR arrayarg, LispPTR inx0, LispPTR inx1);
#endif

View File

@@ -1,4 +1,5 @@
#ifndef ARRAY6DEFS_H
#define ARRAY6DEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_aset2(register LispPTR data, LispPTR arrayarg, LispPTR inx0, LispPTR inx1);
#endif

View File

@@ -1,4 +1,5 @@
#ifndef ARRAYDEFS_H
#define ARRAYDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_misc3(LispPTR baseL, LispPTR typenumber, LispPTR inx, int alpha);
#endif

View File

@@ -140,7 +140,7 @@
#define B_src_word_in_postloop src32lbit >= dst32lbit
/* VARIABLES */
#define F_num_loop ((dst32lbit + w) >> 5) - 1
#define F_num_loop (((dst32lbit + w) >> 5) - 1)
#define B_num_loop ((w - dst32rbit - 1) > 0) ? ((w - dst32rbit - 1) >> 5) : 0
#define F_preloop_mask ((dst32lbit) ? (~(0xFFFFFFFF << (32 - dst32lbit))) : 0xFFFFFFFF)
#define F_postloop_mask 0xFFFFFFFF << (31 - dst32rbit)

View File

@@ -12,6 +12,8 @@
/* Don Charnley's bitblt code to do them. */
/* */
/********************************************************/
#include "lispemul.h" /* for LispPTR, DLword */
#if defined(SUNDISPLAY) && \
!defined(NOPIXRECT) && \
!defined(NEWBITBLT)

View File

@@ -1,4 +1,5 @@
#ifndef BINDEFS_H
#define BINDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_bin(register int tos);
#endif

View File

@@ -1,5 +1,6 @@
#ifndef BINDSDEFS_H
#define BINDSDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR *N_OP_bind(register LispPTR *stack_pointer, register LispPTR tos, int byte1, int byte2);
LispPTR *N_OP_unbind(register LispPTR *stack_pointer);
LispPTR *N_OP_dunbind(register LispPTR *stack_pointer, register LispPTR tos);

View File

@@ -10,8 +10,6 @@
*
*/
/************************************************************************/
/* */
/* Copyright 1989, 1990 Venue, Fuji Xerox Co., Ltd, Xerox Corp. */
@@ -20,8 +18,7 @@
/* Agreement dated 18-August-1989 for support of Medley. */
/* */
/************************************************************************/
#include "lispemul.h" /* for DLword */
#define REPLACE 0
#define PAINT 2
@@ -30,16 +27,16 @@
#define ERROR PIX_SRC
#define PixOperation( SRCTYPE, OPERATION ) \
( SRCTYPE == ERASE ? \
(OPERATION == REPLACE ? PIX_NOT(PIX_SRC) : \
(OPERATION == PAINT ? PIX_NOT(PIX_SRC) | PIX_DST : \
(OPERATION == ERASE ? PIX_NOT(PIX_SRC) & PIX_DST : \
(OPERATION == INVERT ? PIX_NOT(PIX_SRC) ^ PIX_DST : ERROR)))) : \
( (SRCTYPE) == ERASE ? \
((OPERATION) == REPLACE ? PIX_NOT(PIX_SRC) : \
((OPERATION) == PAINT ? PIX_NOT(PIX_SRC) | PIX_DST : \
((OPERATION) == ERASE ? PIX_NOT(PIX_SRC) & PIX_DST : \
((OPERATION) == INVERT ? PIX_NOT(PIX_SRC) ^ PIX_DST : ERROR)))) : \
/* SRCTYPE == INPUT */ \
(OPERATION == REPLACE ? PIX_SRC : \
(OPERATION == PAINT ? PIX_SRC | PIX_DST : \
(OPERATION == ERASE ? PIX_SRC & PIX_DST : \
(OPERATION == INVERT ? PIX_SRC ^ PIX_DST : ERROR)))))
((OPERATION) == REPLACE ? PIX_SRC : \
((OPERATION) == PAINT ? PIX_SRC | PIX_DST : \
((OPERATION) == ERASE ? PIX_SRC & PIX_DST : \
((OPERATION) == INVERT ? PIX_SRC ^ PIX_DST : ERROR)))))
extern DLword *EmMouseX68K, *EmMouseY68K;
@@ -52,12 +49,7 @@ extern int DisplayRasterWidth;
#define MOUSEYH ((int)*EmMouseY68K + YDELTA)
#ifdef DOS
#define HideCursor { (currentdsp->mouse_invisible)(currentdsp, IOPage68K); }
#define ShowCursor { (currentdsp->mouse_visible)(IOPage68K->dlmousex, \
IOPage68K->dlmousey); }
#elif defined(SUNDISPLAY) && defined(OLD_CURSOR)
#if defined(SUNDISPLAY) && defined(OLD_CURSOR)
extern struct winlock DisplayLockArea;
#define HideCursor \
ioctl( LispWindowFd, WINLOCKSCREEN, &DisplayLockArea)
@@ -85,14 +77,7 @@ extern DLword *EmCursorX68K,*EmCursorY68K;
/* Macro for locking and unlocking screen to prevent multiple updates */
#ifdef DOS
#define LOCKSCREEN currentdsp->device.locked++;
#define UNLOCKSCREEN currentdsp->device.locked--;
#else
#define LOCKSCREEN ScreenLocked = T;
#define UNLOCKSCREEN ScreenLocked = NIL;
#endif /* DOS */
#endif /* BITBLT_H */

View File

@@ -1,5 +1,6 @@
#ifndef BITBLTDEFS_H
#define BITBLTDEFS_H 1
#include "lispemul.h" /* for LispPTR, DLword */
LispPTR N_OP_pilotbitblt(LispPTR pilot_bt_tbl,int tos);
int cursorin(DLword addrhi, DLword addrlo, int w, int h, int backward);
#endif

View File

@@ -1,5 +1,6 @@
#ifndef BLTDEFS_H
#define BLTDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_blt(LispPTR destptr, LispPTR sourceptr, register LispPTR wordcount);
#endif

View File

@@ -1,6 +1,7 @@
#ifndef CAR_CDRDEFS_H
#define CAR_CDRDEFS_H 1
#include "cell.h"
#include "cell.h" /* for ConsCell */
#include "lispemul.h" /* for LispPTR */
LispPTR car(register LispPTR datum);
LispPTR cdr(register LispPTR datum);
LispPTR rplaca(register LispPTR x, register LispPTR y);

View File

@@ -1,144 +0,0 @@
/* $Id: cdrom.h,v 1.2 1999/01/03 02:05:54 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/***********************************
file: cdrom_audio.h
***********************************/
/* function number for CD audio functions */
#define CD_OPEN 1
#define CD_CLOSE 2
#define CD_READ 3
#define CD_DISK_INFO 4
#define CD_TRACK_INFO 5
#define CD_START 6
#define CD_STOP 7
#define CD_PLAY 8
#define CD_Q_READ 9
#define CD_PAUSE 10
#define CD_RESUME 11
#define CD_VOLUME 12
#define CD_EJECT 13
/* function numbers for CD-ROM */
#define CDROM_INIT_DRV 1
#define CDROM_KEN_INT 2
#define CDROM_CHOSAKU 3
#define CDROM_MIKANA 4
#define CDROM_MIKANAT 5
#define CDROM_HYOKI 6
#define CDROM_HYOKIT 7
#define CDROM_EIJI 8
#define CDROM_EIJIT 9
#define CDROM_SUJI 10
#define CDROM_SUJIT 11
#define CDROM_ZENKANA 12
#define CDROM_ZENKANAT 13
#define CDROM_ZENKANJ 14
#define CDROM_ZENKANJT 15
#define CDROM_ZENEIJI 16
#define CDROM_ZENEIJIIT 17
#define CDROM_KOHKANA 18
#define CDROM_KOHKANAT 19
#define CDROM_KOHKANJ 20
#define CDROM_KOHKANJT 21
#define CDROM_KOHEIJI 22
#define CDROM_KOHEIJIT 23
#define CDROM_ZUHAN 24
#define CDROM_JYOKEN 25
#define CDROM_JYOKENT 26
#define CDROM_MENU 27
#define CDROM_AUDIOST 28
#define CDROM_AUDIOED 29
#define CDROM_AUDIOQ_GET 30
#define CDROM_GAIJI 31
#define CDROM_ZENGO 32
#define CDROM_KEIZOKU 33
#define CDROM_SYURYO 34
typedef unsigned char BYTE;
typedef unsigned long DWORD;
/*
extern DWORD CDred_lbn();
extern void CDlbn_red();
extern int CDopen();
extern int CDclose();
extern int CDread();
extern int CDdisk_info();
extern int CDtrack_info();
extern int CDstart();
extern int CDstop();
extern int CDplay();
extern int CDqread();
extern int CDpause();
extern int CDresume();
extern int CDvolume();
extern int CDeject();
*/
#define LispStringToCString(Lisp, C, MaxLen) \
{ \
OneDArray *arrayp; \
char *base, *dp; \
short *sbase; \
int i, length; \
arrayp = (OneDArray *)(Addr68k_from_LADDR(Lisp)); \
length = min(MaxLen, arrayp->totalsize); \
switch(arrayp->typenumber) \
{ \
case THIN_CHAR_TYPENUMBER: \
base = ((char *)(Addr68k_from_LADDR(arrayp->base))) \
+ ((int)(arrayp->offset)); \
strncpy(C, base, length); \
C[length] = '\0'; \
break; \
\
case FAT_CHAR_TYPENUMBER: \
sbase = ((short *)(Addr68k_from_LADDR(arrayp->base))) \
+ ((int)(arrayp->offset)); \
for(i=0,dp=C;i<(length);i++) \
*dp++ = (char)(*sbase++); \
*dp = '\0'; \
break; \
default: \
error("LispStringToCString can not handle\n"); \
} \
}
#define LispStringToCString2(Lisp, C, MaxLen) \
{ \
OneDArray *arrayp; \
char *base, *dp; \
short *sbase; \
int i, length; \
arrayp = (OneDArray *)(Addr68k_from_LADDR(Lisp)); \
length = min(MaxLen, arrayp->totalsize); \
switch(arrayp->typenumber) \
{ \
case THIN_CHAR_TYPENUMBER: \
base = ((char *)(Addr68k_from_LADDR(arrayp->base))) \
+ ((int)(arrayp->offset)); \
strncpy(C, base, length); \
C[length] = '\0'; \
break; \
\
case FAT_CHAR_TYPENUMBER: \
sbase = ((short *)(Addr68k_from_LADDR(arrayp->base))) \
+ ((int)(arrayp->offset)); \
for(i=0,dp=C;i<(length);i++) { \
*dp++ = (char)(*sbase / 256 ); \
*dp++ = (char)(*sbase % 256 ); \
sbase++; \
} \
*dp = '\0'; \
break; \
default: \
error("LispStringToCString can not handle\n"); \
} \
}
#define min(a, b) ((a <= b)?a:b)

View File

@@ -20,6 +20,8 @@
*/
/**********************************************************************/
#include "lispemul.h" /* for LispPTR, DLword */
#include "version.h" /* for BIGVM, NEWCDRCODING, BIGATOMS */
/* CONS CELL (LISTP) definitions moved to lispemulater.h */
@@ -27,7 +29,7 @@
/* On 68010,68000 This Macro does not effect */
#ifdef NEWCDRCODING
#define CARFIELD(x) ((int)x & 0x0fffffff)
#define CARFIELD(x) ((int)(x) & 0x0fffffff)
/* CDR-Codes defs */
#define CDR_ONPAGE 8
@@ -122,7 +124,7 @@ typedef struct freec {
#endif /* BYTESWAP */
#define FREECONS(page, offset) ((freecons *)((DLword *)page + offset))
#define FREECONS(page, offset) ((freecons *)((DLword *)(page) + (offset)))
/************************************************************************/
/* */
@@ -373,20 +375,20 @@ struct cadr_cell {
#else
/* Good for old LITATOMS and new NEW-ATOMs */
#define GetDEFCELL68k(index) \
(((index & SEGMASK) != 0) ? (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_DEFN_OFFSET) \
#define GetDEFCELL68k(index) \
((((index) & SEGMASK) != 0) ? (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_DEFN_OFFSET) \
: GetDEFCELLlitatom(index))
#define GetVALCELL68k(index) \
(((index & SEGMASK) != 0) ? (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_VALUE_OFFSET) \
#define GetVALCELL68k(index) \
((((index) & SEGMASK) != 0) ? (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_VALUE_OFFSET) \
: GetVALCELLlitatom(index))
#define GetPnameCell(index) \
(((index & SEGMASK) != 0) ? (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_PNAME_OFFSET) \
#define GetPnameCell(index) \
((((index) & SEGMASK) != 0) ? (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_PNAME_OFFSET) \
: GetPnameCelllitatom(index))
#define GetPropCell(index) \
(((index & SEGMASK) != 0) ? (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_PLIST_OFFSET) \
#define GetPropCell(index) \
((((index) & SEGMASK) != 0) ? (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_PLIST_OFFSET) \
: GetPropCelllitatom(index))
/* Good only for old-style LITATOMS */
@@ -418,6 +420,6 @@ struct cadr_cell {
if (GetTypeNumber(parm) != TYPE_LISTP) { \
ERROR_EXIT(tos); \
} else \
dest = cadr(parm); \
(dest) = cadr(parm); \
}
#endif

View File

@@ -1,5 +1,6 @@
#ifndef CHARDEVDEFS_H
#define CHARDEVDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR CHAR_openfile(LispPTR *args);
LispPTR CHAR_closefile(LispPTR *args);
LispPTR CHAR_ioctl(LispPTR *args);

View File

@@ -1,6 +1,6 @@
#ifndef CONSPAGEDEFS_H
#define CONSPAGEDEFS_H 1
#include "cell.h"
#include "lispemul.h" /* for LispPTR */
struct conspage *next_conspage(void);
LispPTR N_OP_cons(register int cons_car, register int cons_cdr);
LispPTR cons(LispPTR cons_car, LispPTR cons_cdr);

View File

@@ -1,6 +1,7 @@
#ifndef DBGTOOLDEFS_H
#define DBGTOOLDEFS_H 1
#include "stack.h"
#include "lispemul.h" /* for LispPTR, DLword */
#include "stack.h" /* frameex1, fnhead, FX */
LispPTR get_ivar_name(struct frameex1 *fx_addr68k, DLword offset, int *localivar);
LispPTR get_pvar_name(struct frameex1 *fx_addr68k, DLword offset);
LispPTR get_fn_fvar_name(struct fnhead *fnobj, DLword offset);

View File

@@ -2,16 +2,13 @@
#define DEBUG_H 1
/* $Id: debug.h,v 1.2 1999/01/03 02:05:56 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
#include "lispemul.h" /* for LispPTR, DLword */
#ifndef BYTESWAP
/************************************************/

View File

@@ -1,7 +1,7 @@
#ifndef DEVIF_H
#define DEVIF_H 1
/* $Id: devif.h,v 1.2 1999/01/03 02:05:57 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1989, 1990, 1990, 1991, 1992, 1993, 1994, 1995 Venue. */
@@ -9,10 +9,7 @@
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
#ifndef __DEVIF__
#define __DEVIF__ 1
#include "lispemul.h" /* for LispPTR, DLword */
typedef void (*PFV)(); /* Pointer to Function returning Void */
typedef int (*PFI)(); /* Pointer to Function returning Int */
@@ -25,7 +22,6 @@ typedef unsigned long (*PFUL)(); /* Pointer to Function returning an unsigned lo
#include <X11/Xlib.h>
#endif /* XWINDOW */
typedef struct
{
short type; /* Type of event */
@@ -158,19 +154,6 @@ typedef struct
{
DevRec device;
PFV device_event; /* Event handler for the keyboard. */
#ifdef DOS
u_char KeyMap[0x80]; /* The key translation table. Use the keycode you
get from the keyboard as an index. The value
gives the lispkeycode.*/
unsigned char lastbyte; /* Last byte that we got from the keyboard. */
unsigned int keyeventsize; /* The sizeof() one kbd event */
unsigned int maxkeyevent; /* Offset to the end of the ringbuffer. */
int eurokbd; /* Keep tabs of the euro-ness of the kbd */
PFV prev_handler; /* The previous keyboard handler.
Keep this around
to restore when we exit Medley */
int URaid; /* Put this in a better place later.. /jarl */
#endif /* DOS */
} KbdInterfaceRec, *KbdInterface;
@@ -225,20 +208,7 @@ typedef struct
unsigned long oldstate; /* Keep the old state around */
unsigned long graphicsmode; /* Magic cookie used to set the state. */
unsigned long numberofbanks;
#ifdef DOS
unsigned long BytesPerLine;
unsigned long DisplayStartAddr;
unsigned long DisplaySegSize;
unsigned long DisplaySegMagnitude;
unsigned long LinesPerBank;
unsigned short LastLineLen[32]; /* length of last line fragment per bank */
unsigned short LinesInBank[32]; /* True # of full lines in this bank */
/* # of lines we can do with the full-line dumpline */
/* for sure. */
unsigned short LinesBeforeBank[32]; /* Scan lines before start of this bank. */
void (* SwitchBank)(); /* Method to switch the bank (see vesa standard) */
#elif XWINDOW
#if XWINDOW
char *identifier;
int BitGravity;
Display *display_id;
@@ -275,7 +245,7 @@ typedef struct
}
#endif /* XWINDOW */
#define OUTER_SB_WIDTH(dsp) (dsp->ScrollBarWidth + 2*(dsp->InternalBorderWidth))
#define OUTER_SB_WIDTH(dsp) ((dsp)->ScrollBarWidth + 2*((dsp)->InternalBorderWidth))
#ifndef min
#define min( a, b ) (((a)<(b))?(a):(b))
@@ -289,16 +259,8 @@ typedef struct
#define mid(a, b, c) max( min( b, max( a, c ), min( a, max( b, c ))))
#endif /* mid */
#ifndef FALSE
#define FALSE 0
#endif /* FALSE */
#ifndef TRUE
#define TRUE !FALSE
#endif /* TRUE */
#define MINKEYEVENT 2 /* leave 2 words for read,write offsets */
#define NUMBEROFKEYEVENTS 383
#endif /* __DEVIF__ */
#endif

View File

@@ -1,8 +1,6 @@
#ifndef DIRDEFS_H
#define DIRDEFS_H 1
#ifdef DOS
int make_old_version(char *old, char *file);
#endif
#include "lispemul.h" /* for LispPTR */
#ifdef FSDEBUG
void print_finfo(FINFO *fp);
#endif

View File

@@ -1,19 +1,19 @@
#ifndef DISPLAY_H
#define DISPLAY_H 1
/* $Id: display.h,v 1.2 1999/01/03 02:05:57 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1989-94 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
#include "lispemul.h" /* for DLword */
#include "version.h" /* for UNSIGNED */
#define BCPLDISPLAY stdout
#define CURSORWIDTH 16
#define CURSORHEIGHT 16
@@ -44,10 +44,6 @@ extern DLword *DISP_MAX_Address;
#define DISPLAYBUFFER
#endif /* XWINDOW */
#ifdef DOS
#define DISPLAYBUFFER
#endif /* DOS */
#ifdef DISPLAYBUFFER
/************************************************************************/
/* */
@@ -66,8 +62,8 @@ extern DLword *DISP_MAX_Address;
extern DLword *DisplayRegion68k;
#define in_display_segment(baseaddr) \
(((DisplayRegion68k <= baseaddr) && \
(baseaddr <=DISP_MAX_Address)) ? T :NIL )
(((DisplayRegion68k <= (baseaddr)) && \
((baseaddr) <= DISP_MAX_Address)) ? T : NIL )
#endif
#ifdef XWINDOW
@@ -82,3 +78,5 @@ void flush_display_ptrregion(DLword *ybase, UNSIGNED bitoffset, UNSIGNED w, UNSI
#ifdef BYTESWAP
void byte_swapped_displayregion(int x, int y, int w, int h);
#endif
#endif

View File

@@ -1,5 +1,6 @@
#ifndef DLPIDEFS_H
#define DLPIDEFS_H 1
#include <sys/types.h> /* for u_char, u_long */
int setup_dlpi_dev(char *device);
void flush_dlpi(int fd);
int dlpi_devtype(int fd);

View File

@@ -1,4 +1,5 @@
#ifndef DRAWDEFS_H
#define DRAWDEFS_H 1
#include "lispemul.h" /* for LispPTR */
int N_OP_drawline(LispPTR ptr, int curbit, int xsize, int width, int ysize, int op, int delta, int numx, int numy);
#endif

View File

@@ -1,10 +1,7 @@
#ifndef DSKDEFS_H
#define DSKDEFS_H 1
#ifdef DOS
void separate_host(char *lfname, char *host, char *drive);
#else
#include "lispemul.h" /* for LispPTR */
void separate_host(char *lfname, char *host);
#endif
LispPTR COM_openfile(register LispPTR *args);
LispPTR COM_closefile(register LispPTR *args);
LispPTR DSK_getfilename(register LispPTR *args);

View File

@@ -2,19 +2,14 @@
#define DSPDATA_H 1
/* $Id: dspdata.h,v 1.2 1999/01/03 02:05:58 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
#include "lispemul.h" /* for LispPTR, DLword */
#include "version.h" /* for BIGVM */
#ifndef BYTESWAP
/******************************************************/

View File

@@ -1,5 +1,6 @@
#ifndef DSPSUBRSDEFS_H
#define DSPSUBRSDEFS_H 1
#include "lispemul.h" /* for LispPTR */
void DSP_dspbout(LispPTR *args);
void DSP_showdisplay(LispPTR *args);
LispPTR DSP_VideoColor(LispPTR *args);

View File

@@ -1,5 +1,6 @@
#ifndef EQFDEFS_H
#define EQFDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_clequal(register int arg1, register int arg2);
LispPTR N_OP_eqlop(register int arg1, register int arg2);
LispPTR N_OP_equal(register int arg1, register int arg2);

View File

@@ -2,17 +2,13 @@
#define ETHER_H 1
/* $Id: ether.h,v 1.2 1999/01/03 02:05:59 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
#include "lispemul.h" /* for LispPTR, DLword */
#ifndef BYTESWAP

View File

@@ -1,5 +1,6 @@
#ifndef ETHERDEFS_H
#define ETHERDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR ether_suspend(LispPTR args[]);
LispPTR ether_resume(LispPTR args[]);
LispPTR ether_ctrlr(LispPTR args[]);

View File

@@ -1,4 +1,5 @@
#ifndef FINDKEYDEFS_H
#define FINDKEYDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_findkey(register LispPTR tos, register int byte);
#endif

View File

@@ -1,6 +1,6 @@
#ifndef FOREIGNDEFS_H
#define FOREIGNDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR call_c_fn(LispPTR *args);
LispPTR smashing_c_fn(LispPTR *args);
int Mdld_link(LispPTR *args);
@@ -14,5 +14,4 @@ int c_malloc(LispPTR *args);
int c_free(LispPTR *args);
int put_c_basebyte(LispPTR *args);
int get_c_basebyte(LispPTR *args);
#endif /* FOREIGNDEFS_H */

View File

@@ -1,5 +1,6 @@
#ifndef FPDEFS_H
#define FPDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_fplus2(LispPTR parg1, LispPTR parg2);
LispPTR N_OP_fdifference(LispPTR parg1, LispPTR parg2);
LispPTR N_OP_ftimes2(LispPTR parg1, LispPTR parg2);

View File

@@ -1,5 +1,7 @@
#ifndef FVARDEFS_H
#define FVARDEFS_H 1
#include "lispemul.h" /* for LispPTR, DLword */
#include "stack.h" /* for fnhead, frameex1 */
LispPTR N_OP_fvarn(register int n);
LispPTR N_OP_stkscan(LispPTR tos);
LispPTR N_OP_fvar_(register LispPTR tos, register int n);

View File

@@ -1,5 +1,6 @@
#ifndef GCARRAYDEFS_H
#define GCARRAYDEFS_H 1
#include "lispemul.h" /* for LispPTR, DLword */
LispPTR aref1(LispPTR array, int index);
LispPTR find_symbol(const char *char_base, DLword offset, DLword length, LispPTR hashtbl, DLword fatp, DLword lispp);
LispPTR get_package_atom(const char *char_base, DLword charlen, const char *packname, DLword packlen, int externalp);

View File

@@ -1,5 +1,6 @@
#ifndef GCCODEDEFS_H
#define GCCODEDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR map_code_pointers(LispPTR codeblock, short int casep);
LispPTR remimplicitkeyhash(LispPTR item, LispPTR ik_hash_table);
LispPTR reclaimcodeblock(LispPTR codebase);

View File

@@ -2,8 +2,6 @@
#define GCDATA_H 1
/* $Id: gc.h,v 1.3 2001/12/24 01:08:57 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1989-94 Venue. All Rights Reserved. */
@@ -19,6 +17,9 @@
*/
/**********************************************************************/
#include "lispemul.h" /* for LispPTR, DLword */
#include "version.h" /* for USHORT */
#define ADDREF 0 /* for gclookup routine. */
#define DELREF 1 /* for gclookup routine. */
#define STKREF 2 /* for gclookup routine. */
@@ -47,7 +48,7 @@
/* IncAllocCnt is called only when *Reclaim_cnt_word != NIL */
#define IncAllocCnt(n) {\
if ((*Reclaim_cnt_word -= n) <= S_POSITIVE) {\
if ((*Reclaim_cnt_word -= (n)) <= S_POSITIVE) { \
/* time for GC */\
Irq_Stk_Check = Irq_Stk_End = 0;\
*Reclaim_cnt_word = S_POSITIVE;\
@@ -56,35 +57,35 @@
/* DecAllocCnt only called when *Reclaim_cnt_word != NIL */
#define DecAllocCnt(n) { *Reclaim_cnt_word += n; }
#define DecAllocCnt(n) { *Reclaim_cnt_word += (n); }
#define FreeLink(link) {\
GETGC(link) = 0;\
GETGC(link+1) = GETGC(HTcoll);\
GETGC(HTcoll) = (link - HTcoll);\
#define FreeLink(link) { \
GETGC(link) = 0; \
GETGC((link)+1) = GETGC(HTcoll); \
GETGC(HTcoll) = ((link) - HTcoll); \
}
/* Given the contents of an HTMAIN or HTCOLL entry,
get the link pointer (i.e., turn off the low bit) */
#define GetLinkptr(entry) (entry & 0x0fffffffe)
#define GetLinkptr(entry) ((entry) & 0x0fffffffe)
#define DelLink(link, prev, entry) { \
if (prev != (GCENTRY *)0) \
if ((prev) != (GCENTRY *)0) \
{ \
GETGC((GCENTRY *)prev + 1) = GETGC((GCENTRY *)link + 1); \
GETGC((GCENTRY *)(prev) + 1) = GETGC((GCENTRY *)(link) + 1); \
} \
else \
{ \
GETGC((GCENTRY *)entry) = GETGC((GCENTRY *)link + 1) | 1; \
GETGC((GCENTRY *)(entry)) = GETGC((GCENTRY *)(link) + 1) | 1; \
} \
FreeLink((GCENTRY *)link); \
link = (GCENTRY *)(HTcoll + GetLinkptr(GETGC((GCENTRY *)entry))); \
if (GETGC((GCENTRY *)link + 1) == 0) \
FreeLink((GCENTRY *)(link)); \
(link) = (GCENTRY *)(HTcoll + GetLinkptr(GETGC((GCENTRY *)(entry)))); \
if (GETGC((GCENTRY *)(link) + 1) == 0) \
{ \
GETGC((GCENTRY *)entry) = GETGC((GCENTRY *)link); \
FreeLink((GCENTRY *)link); \
GETGC((GCENTRY *)(entry)) = GETGC((GCENTRY *)(link)); \
FreeLink((GCENTRY *)(link)); \
} \
}
@@ -103,18 +104,18 @@
#define GCLOOKUPV(ptr, case, val) { \
if (RefCntP(ptr)) { \
if (*Reclaim_cnt_word != NIL) \
val = htfind(ptr, case); \
(val) = htfind((ptr), (case)); \
else \
val = rec_htfind(ptr, case); \
} else val = NIL; \
(val) = rec_htfind((ptr), (case)); \
} else (val) = NIL; \
}
#define REC_GCLOOKUP(ptr, case) { if (RefCntP(ptr)) rec_htfind(ptr, case); }
#define REC_GCLOOKUPV(ptr, case, val) { \
if (RefCntP(ptr)) \
val = rec_htfind(ptr, case); \
(val) = rec_htfind((ptr), (case)); \
else \
val = NIL; \
(val) = NIL; \
}
#define FRPLPTR(old , new) { \

View File

@@ -1,5 +1,6 @@
#ifndef GCFINALDEFS_H
#define GCFINALDEFS_H 1
#include "lispemul.h" /* for LispPTR, DLword */
void printarrayblock(LispPTR base);
int integerlength(unsigned int n);
LispPTR findptrsbuffer(LispPTR ptr);

View File

@@ -1,5 +1,6 @@
#ifndef GCHTFINDDEFS_H
#define GCHTFINDDEFS_H 1
#include "lispemul.h" /* for LispPTR, DLword */
void enter_big_reference_count(LispPTR ptr);
void modify_big_reference_count(LispPTR *entry, DLword casep, LispPTR ptr);
LispPTR htfind(LispPTR ptr, int casep);

View File

@@ -1,5 +1,6 @@
#ifndef GCMAIN3DEFS_H
#define GCMAIN3DEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR gcmapscan(void);
LispPTR gcmapscan(void);
LispPTR gcmapunscan(void);

View File

@@ -1,5 +1,6 @@
#ifndef GCOFLOWDEFS_H
#define GCOFLOWDEFS_H 1
#include "lispemul.h" /* for DLword */
DLword gc_handleoverflow(DLword arg);
DLword gcmaptable(DLword arg);
#endif

View File

@@ -1,5 +1,6 @@
#ifndef GCRCELLDEFS_H
#define GCRCELLDEFS_H 1
#include "lispemul.h" /* for LispPTR */
void freelistcell(LispPTR cell);
LispPTR gcreccell(LispPTR cell);
void freelistcell(LispPTR cell);

View File

@@ -1,5 +1,6 @@
#ifndef GCSCANDEFS_H
#define GCSCANDEFS_H 1
#include "lispemul.h" /* for DLword */
DLword gcscan1(register int probe);
DLword gcscan2(register int probe);
#endif

View File

@@ -1,5 +1,6 @@
#ifndef GVAR2DEFS_H
#define GVAR2DEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR N_OP_gvar_(register LispPTR tos, unsigned int atom_index);
LispPTR N_OP_rplptr(register LispPTR tos_m_1, register LispPTR tos, unsigned int alpha);
#endif

View File

@@ -1,5 +1,6 @@
#ifndef HARDRTNDEFS_H
#define HARDRTNDEFS_H 1
#include "stack.h" /* for FX */
int slowreturn(void);
void incusecount68k(FX *fx68k);
#endif

View File

@@ -1,19 +1,16 @@
#ifndef IFPAGE_H
#define IFPAGE_H 1
/* $Id: ifpage.h,v 1.2 1999/01/03 02:06:01 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
#include "lispemul.h" /* for LispPTR, DLword */
#include "version.h" /* for BIGVM */
#ifndef IFPAGE_DEFINED
#define IFPAGE_DEFINED (1)
#define IFPAGE_KEYVAL 0x15e3
#ifndef BYTESWAP
#ifdef BIGVM

View File

@@ -1,4 +1,5 @@
#ifndef INETDEFS_H
#define INETDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR subr_TCP_ops(int op, LispPTR nameConn, LispPTR proto, LispPTR length, LispPTR bufaddr, LispPTR maxlen);
#endif

View File

@@ -1,5 +1,7 @@
#ifndef INITDSPDEFS_H
#define INITDSPDEFS_H 1
#include "lispemul.h" /* for DLword */
#include "version.h" /* for UNSIGNED */
void init_cursor(void);
void set_cursor(void);
void clear_display(void);

View File

@@ -1,5 +1,6 @@
#ifndef INITSOUTDEFS_H
#define INITSOUTDEFS_H 1
#include "lispemul.h" /* for LispPTR */
LispPTR *fixp_value(LispPTR *ptr);
void init_ifpage(int sysout_size);
void init_iopage(void);

1942
inc/inlineC.h Executable file → Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,703 +0,0 @@
/* $Id: inlndos.h,v 1.2 1999/01/03 02:06:05 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1991, 1992 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
/************************************************************************/
/* */
/* I N L I N E P S 2 . H */
/* */
/* INLINE definitions for 386 machines, compiled with gcc. */
/* */
/* This file consists of 3 sections: */
/* */
/* inline static functions for use anywhere in Medley */
/* (e.g., the byte-swapping functions) */
/* */
/* #defines and static inline functions for the dispatch */
/* loop (e.g., IDIFFERENCE), relying on the register */
/* conventions that hold in that part of the code */
/* */
/* #defines and static inline functions for other */
/* specific files (e.g., the arithmetic functions, */
/* free-variable lookup, etc.), relying on the register */
/* conventions in the respective files. */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* R E G I S T E R C O N V E N T I O N S */
/* */
/* The following register conventions hold in the dispatch loop, */
/* and are set up by register ... asm("...") decls in xc.c: */
/* */
/* esi pccache - the current PC */
/* edi cspcache - the current lisp stack ptr. */
/* ebx tscache - the top-of-stack item. */
/* */
/* */
/* Register conventions within arithmetic functions in the files */
/* arith2.c - arith4.c, etc.: */
/* */
/* esi first argument to the function */
/* edi second argument to the function */
/* */
/************************************************************************/
/************************************************************************/
/* */
/* G E N E R A L - P U R P O S E I N L I N E F U N C T I O N S */
/* */
/* These functions don't rely on register conventions. */
/* */
/************************************************************************/
/************************************************************************/
/* */
/* */
/* */
/* */
/* */
/************************************************************************/
/* undefine these macros so we use the 386i inline code */
#undef Get_BYTE_PCMAC0
#undef Get_BYTE_PCMAC1
#undef Get_BYTE_PCMAC2
#undef Get_BYTE_PCMAC3
#define Get_BYTE_PCMAC0 Get_BYTE_PCMAC0fn(pccache)
#define Get_BYTE_PCMAC1 Get_BYTE_PCMAC1fn(pccache)
#define Get_BYTE_PCMAC2 Get_BYTE_PCMAC2fn(pccache)
#define Get_BYTE_PCMAC3 Get_BYTE_PCMAC3fn(pccache)
extern inline unsigned int Get_BYTE_PCMAC0fn (pccache)
unsigned int pccache;
{
register unsigned int word;
asm("lea %0,-1[%1] \n\
xor %0,3 \n\
movzx %0,BYTE PTR [%0] \n\
" : "=r" (word) : "r" (pccache) );
return(word);
}
extern inline unsigned int Get_BYTE_PCMAC1fn (pccache)
unsigned int pccache;
{
register unsigned int word;
asm("lea %0,[%1] \n\
xor %0,3 \n\
movzx %0,BYTE PTR [%0] \n\
" : "=r" (word) : "r" (pccache) );
return(word);
}
extern inline unsigned int Get_BYTE_PCMAC2fn (pccache)
unsigned int pccache;
{
register unsigned int word;
asm("lea %0,1[%1] \n\
xor %0,3 \n\
movzx %0,BYTE PTR [%0] \n\
" : "=r" (word) : "r" (pccache) );
return(word);
}
extern inline unsigned int Get_BYTE_PCMAC3fn (pccache)
unsigned int pccache;
{
register unsigned int word;
asm("lea %0,2[%1] \n\
xor %0,3 \n\
movzx %0,BYTE PTR [%0] \n\
" : "=r" (word) : "r" (pccache) );
return(word);
}
#undef Get_DLword_PCMAC0
#undef Get_DLword_PCMAC1
#undef Get_DLword_PCMAC2
#undef Get_DLword_PCMAC3
#define Get_DLword_PCMAC0 Get_DLword_PCMAC0fn(pccache)
#define Get_DLword_PCMAC1 Get_DLword_PCMAC1fn(pccache)
#define Get_DLword_PCMAC2 Get_DLword_PCMAC2fn(pccache)
#define Get_DLword_PCMAC3 Get_DLword_PCMAC3fn(pccache)
extern inline unsigned int Get_DLword_PCMAC0fn(pccache)
unsigned int pccache;
{
register unsigned int word asm("ax");
asm("mov edx,%1 \n\
xor dl,3 \n\
movzx eax, byte ptr [edx] \n\
lea edx,-1[%1] \n\
xor dl,3 \n\
mov ah, byte ptr [edx] \n\
" : "=r" (word) : "r" (pccache) : "dx" );
return(word);
}
extern inline unsigned int Get_DLword_PCMAC1fn(pccache)
unsigned int pccache;
{
register unsigned int word asm("ax");
asm("lea edx,1[%1] \n\
xor dl,3 \n\
movzx eax, byte ptr [edx] \n\
lea edx,[%1] \n\
xor dl,3 \n\
mov ah, byte ptr [edx] \n\
" : "=r" (word) : "r" (pccache) : "dx" );
return(word);
}
extern inline unsigned int Get_DLword_PCMAC2fn(pccache)
unsigned int pccache;
{
register unsigned int word asm("ax");
asm("lea edx,2[%1] \n\
xor dl,3 \n\
movzx eax, byte ptr [edx] \n\
lea edx,1[%1] \n\
xor dl,3 \n\
mov ah, byte ptr [edx] \n\
" : "=r" (word) : "r" (pccache) : "dx" );
return(word);
}
extern inline unsigned int Get_DLword_PCMAC3fn(pccache)
unsigned int pccache;
{
register unsigned int word asm("ax");
asm("lea edx,3[%1] \n\
xor dl,3 \n\
movzx eax, byte ptr [edx] \n\
lea edx,2[%1] \n\
xor dl,3 \n\
mov ah, byte ptr [edx] \n\
" : "=r" (word) : "r" (pccache) : "dx" );
return(word);
}
#undef Get_Pointer_PCMAC0
#undef Get_Pointer_PCMAC1
#undef Get_Pointer_PCMAC2
#define Get_Pointer_PCMAC0 Get_Pointer_PCMAC0fn(pccache)
#define Get_Pointer_PCMAC1 Get_Pointer_PCMAC1fn(pccache)
#define Get_Pointer_PCMAC2 Get_Pointer_PCMAC2fn(pccache)
extern inline const unsigned int Get_Pointer_PCMAC0fn(pccache)
unsigned int pccache;
{
register unsigned int word asm("ax");
asm("lea edx,-1[%1] \n\
xor dl,3 \n\
movzx eax,byte ptr [edx] \n\
shl eax,16 \n\
lea edx,1[%1] \n\
xor dl,3 \n\
mov al,[edx] \n\
lea edx,[%1] \n\
xor dl,3 \n\
mov ah,[edx] \n\
" : "=r" (word) : "r" (pccache) : "dx" );
return(word);
}
extern inline const unsigned int Get_Pointer_PCMAC1fn(pccache)
unsigned int pccache;
{
register unsigned int word asm("ax");
asm("lea edx,[%1] \n\
xor dl,3 \n\
movzx eax,byte ptr [edx] \n\
shl eax,16 \n\
lea edx,2[%1] \n\
xor dl,3 \n\
mov al,[edx] \n\
lea edx,1[%1] \n\
xor dl,3 \n\
mov ah,[edx] \n\
" : "=r" (word) : "r" (pccache) : "dx" );
return(word);
}
extern inline const unsigned int Get_Pointer_PCMAC2fn(pccache)
unsigned int pccache;
{
register unsigned int word asm("ax");
asm("lea edx,1[%1] \n\
xor dl,3 \n\
movzx eax,byte ptr [edx] \n\
shl eax,16 \n\
lea edx,3[%1] \n\
xor dl,3 \n\
mov al,[edx] \n\
lea edx,2[%1] \n\
xor dl,3 \n\
mov ah,[edx] \n\
" : "=r" (word) : "r" (pccache) : "dx" );
return(word);
}
#undef DIFFERENCE
#undef IDIFFERENCE
#define DIFFERENCE { \
fast_op_difference(POP_TOS_1); \
fast1_dispatcher(); \
diff_err: \
asm volatile("diff_err:"); \
asm volatile("add bl,7"); \
asm volatile("ror ebx,15"); \
N_OP_POPPED_CALL_2(N_OP_difference, GET_POPPED); \
}
extern inline void fast_op_difference(LispPTR value)
{
asm volatile("\
mov eax,%0 \n\
rol ebx,15 \n\
sub bl,7 \n\
jne diff_err \n\
rol eax,17 \n\
sub al,7 \n\
jne diff_err \n\
sub eax,ebx \n\
jo diff_err \n\
ror eax,15 \n\
or eax,917504 \n\
mov ebx,eax \
" : : "g" (value) : "ax" );
}
#define IDIFFERENCE { \
fast_op_idifference(POP_TOS_1); \
fast1_dispatcher(); \
idiff_err: \
asm volatile("idiff_err:"); \
asm volatile("add bl,7"); \
asm volatile("ror ebx,15"); \
N_OP_POPPED_CALL_2(N_OP_idifference, GET_POPPED); \
}
extern inline void fast_op_idifference(LispPTR value)
{
asm volatile("\
mov eax,%0 \n\
rol ebx,15 \n\
sub bl,7 \n\
jne idiff_err \n\
rol eax,17 \n\
sub al,7 \n\
jne idiff_err \n\
sub eax,ebx \n\
jo idiff_err \n\
ror eax,15 \n\
or eax,917504 \n\
mov ebx,eax \
" : : "g" (value) : "ax" );
}
#undef IDIFFERENCE_N
#define IDIFFERENCE_N(n) { \
fast_op_idifferencen(n); \
fast2_dispatcher(); \
idiffn_err: \
asm("idiffn_err2:"); \
asm volatile("add ebx,eax ; undo the sub"); \
asm("idiffn_err:"); \
asm volatile("add bl,7"); \
asm volatile("ror ebx,15"); \
N_OP_CALL_1d(N_OP_idifferencen, n); \
}
extern inline void fast_op_idifferencen(LispPTR value)
{
asm volatile("\
mov eax,%0 \n\
rol eax,15 \n\
rol ebx,15 \n\
sub bl,7 \n\
jne idiffn_err \n\
sub ebx,eax \n\
jo idiffn_err2 \n\
ror ebx,15 \n\
or ebx,917504 \n\
" : : "g" (value) : "ax" );
}
#undef PLUS2
#undef IPLUS2
#define PLUS2 { \
fast_op_plus(POP_TOS_1); \
fast1_dispatcher(); \
plus_err: \
asm volatile("plus_err:"); \
asm volatile("add bl,7"); \
asm volatile("ror ebx,15"); \
N_OP_POPPED_CALL_2(N_OP_plus2, GET_POPPED); \
}
extern inline void fast_op_plus(LispPTR value)
{
asm volatile("\
mov eax,%0 \n\
rol ebx,15 \n\
sub bl,7 \n\
jne plus_err \n\
rol eax,15 \n\
sub al,7 \n\
jne plus_err \n\
add eax,ebx \n\
jo plus_err \n\
ror eax,15 \n\
or eax,917504 \n\
mov ebx,eax \n\
" : : "g" (value) : "ax" );
}
#define IPLUS2 { \
fast_op_iplus(POP_TOS_1); \
fast1_dispatcher(); \
iplus_err: \
asm volatile("iplus_err:"); \
asm volatile("add bl,7"); \
asm volatile("ror ebx,15"); \
N_OP_POPPED_CALL_2(N_OP_iplus2, GET_POPPED); \
}
extern inline void fast_op_iplus(LispPTR value)
{
asm volatile("\
mov eax,%0 \n\
rol ebx,15 \n\
sub bl,7 \n\
jne iplus_err \n\
rol eax,15 \n\
sub al,7 \n\
jne iplus_err \n\
add eax,ebx \n\
jo iplus_err \n\
ror eax,15 \n\
or eax,917504 \n\
mov ebx,eax \n\
" : : "g" (value) : "ax" );
}
#undef IPLUS_N
#define IPLUS_N(n) { \
fast_op_iplusn(n); \
fast2_dispatcher(); \
iplusn_err: \
asm("iplusn_err:"); \
asm volatile("add bl,7"); \
asm volatile("ror ebx,15"); \
N_OP_CALL_1d(N_OP_iplusn, n); \
}
extern inline void fast_op_iplusn(LispPTR value)
{
asm volatile("\
mov eax,%0 \n\
rol eax,15 \n\
rol ebx,15 \n\
sub bl,7 \n\
jne iplusn_err \n\
add eax,ebx \n\
jo iplusn_err \n\
ror eax,15 \n\
or eax,917504 \n\
mov ebx,eax \n\
" : : "g" (value) : "ax" );
}
#undef GREATERP
#define GREATERP { \
fast_op_greaterp(POP_TOS_1); \
fast1_dispatcher(); \
greaterp_err: \
asm("greaterp_err:"); \
N_OP_POPPED_CALL_2(N_OP_greaterp, GET_POPPED); \
}
extern inline void fast_op_greaterp(LispPTR value)
{
asm volatile("\
mov eax,%0 \n\
mov edx,ebx \n\
rol edx,15 \n\
sub dl,7 \n\
jne greaterp_err \n\
rol eax,15 \n\
sub al,7 \n\
jne greaterp_err \n\
xor ebx,ebx \n\
cmp eax,edx \n\
jle greater_no \n\
mov ebx,76 \n\
greater_no: " : : "g" (value) );
}
#undef IGREATERP
#define IGREATERP { \
fast_op_igreaterp(POP_TOS_1); \
fast1_dispatcher(); \
igreaterp_err: \
asm("igreaterp_err: "); \
N_OP_POPPED_CALL_2(N_OP_igreaterp, GET_POPPED); \
}
extern inline void fast_op_igreaterp(LispPTR value)
{
asm volatile("\
mov eax,%0 \n\
mov edx,ebx \n\
rol edx,15 \n\
sub dl,7 \n\
jne igreaterp_err \n\
rol eax,15 \n\
sub al,7 \n\
jne igreaterp_err \n\
xor ebx,ebx \n\
cmp eax,edx \n\
jle igreater_no \n\
mov ebx,76 \n\
igreater_no: " : : "g" (value) );
}
#undef LRSH8
#define LRSH8 { \
asm volatile("\
mov eax,ebx \n\
rol eax,16 \n\
cmp ax,0eh \n\
jne lrsh8_err \n\
shr bx,8 \n\
" : : : "ax" ); \
fast1_dispatcher(); \
lrsh8_err: \
asm("lrsh8_err: "); \
N_OP_CALL_1(N_OP_lrsh8); \
}
#undef LRSH1
#define LRSH1 { \
asm volatile("\
mov eax,ebx \n\
rol eax,16 \n\
cmp ax,0eh \n\
jne lrsh1_err \n\
shr bx,1 \n\
" : : : "ax" ); \
fast1_dispatcher(); \
lrsh1_err: \
asm("lrsh1_err: "); \
N_OP_CALL_1(N_OP_lrsh1); \
}
#undef LLSH8
#define LLSH8 { \
asm volatile("\
mov eax,ebx \n\
rol eax,16 \n\
cmp ax,0eh \n\
jne llsh8_err \n\
or bh,bh \n\
jne llsh8_err \n\
shl bx,8 \n\
" : : : "ax" ); \
fast1_dispatcher(); \
llsh8_err: \
asm("llsh8_err: "); \
N_OP_CALL_1(N_OP_llsh8); \
}
#undef LLSH1
#define LLSH1 { \
asm volatile("\
mov eax,ebx \n\
rol eax,16 \n\
cmp ax,0eh \n\
jne llsh1_err \n\
test bh,80h \n\
jne llsh1_err \n\
shl bx,1 \n\
" : : : "ax" ); \
fast1_dispatcher(); \
llsh1_err: \
asm("llsh1_err: "); \
N_OP_CALL_1(N_OP_llsh1); \
}
#undef LOGOR
#define LOGOR { \
fast_op_logor(POP_TOS_1); \
fast1_dispatcher(); \
logor_err: \
asm("logor_err:"); \
asm volatile("ror ebx,15"); \
N_OP_POPPED_CALL_2(N_OP_logor, GET_POPPED); \
}
extern inline void fast_op_logor(LispPTR value)
{
asm volatile("\
mov eax,%0 \n\
rol ebx,15 \n\
cmp bl,7 \n\
jne logor_err \n\
rol eax,15 \n\
cmp al,7 \n\
jne logor_err \n\
or ebx,eax \n\
ror ebx,15 \n\
" : : "g" (value) : "ax" );
}
#undef LOGAND
#define LOGAND { \
fast_op_logand(POP_TOS_1); \
fast1_dispatcher(); \
logand_err: \
asm("logand_err: "); \
asm volatile("ror ebx,15"); \
N_OP_POPPED_CALL_2(N_OP_logand, GET_POPPED); \
}
extern inline void fast_op_logand(LispPTR value)
{
asm volatile("\
mov eax,%0 \n\
rol ebx,15 \n\
cmp bl,7 \n\
jne logand_err \n\
rol eax,15 \n\
cmp al,7 \n\
jne logand_err \n\
and ebx,eax \n\
ror ebx,15 \n\
" : : "g" (value) : "ax" );
}
#undef LOGXOR
#define LOGXOR { \
fast_op_logxor(POP_TOS_1); \
fast1_dispatcher(); \
logxor_err: \
asm("logxor_err:"); \
asm volatile("ror ebx,15"); \
N_OP_POPPED_CALL_2(N_OP_logxor, GET_POPPED); \
}
extern inline void fast_op_logxor(LispPTR value)
{
asm volatile("\
mov eax,%0 \n\
rol ebx,15 \n\
cmp bl,7 \n\
jne logxor_err \n\
rol eax,15 \n\
sub al,7 \n\
jne logxor_err \n\
xor ebx,eax \n\
ror ebx,15 \n\
" : : "g" (value) : "ax" );
}
#undef N_OP_ADDBASE
#define N_OP_ADDBASE { \
fast_op_addbase(POP_TOS_1); \
fast1_dispatcher(); \
addbase_err: \
asm("addbase_err: "); \
asm volatile("ror ebx,15"); \
N_OP_POPPED_CALL_2(N_OP_addbase, GET_POPPED); \
}
extern inline void fast_op_addbase(LispPTR value)
{
asm volatile("\
mov eax,%0 \n\
rol ebx,15 \n\
cmp bl,7 \n\
jne addbase_err \n\
sar ebx,15 \n\
and eax,0ffffffh \n\
add ebx,eax \n\
" : : "g" (value) : "ax" );
}
#undef N_OP_LOLOC
#define N_OP_LOLOC { \
asm volatile(" \
and %0,0ffffh \n\
or %0,0e0000h" : "=r" (tscache) : "0" (tscache)); \
nextop1; }
#undef N_OP_HILOC
#define N_OP_HILOC { \
asm volatile(" \
shr %0,16 \n\
and %0,0ffffh \n\
or %0,0e0000h" : "=r" (tscache) : "0" (tscache)); \
nextop1; }
#undef N_OP_VAG2
#define N_OP_VAG2 \
{ \
asm(" sub edi,4"); \
asm(" mov eax,[edi]"); \
asm(" rol ebx,16"); \
asm(" mov bx,ax"); \
asm(" ror ebx,16"); \
nextop1; }

View File

@@ -1,16 +1,15 @@
#ifndef IOPAGE_H
#define IOPAGE_H 1
/* $Id: iopage.h,v 1.2 1999/01/03 02:06:06 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
#ifndef IOPAGE_DEFINED
#define IOPAGE_DEFINED (1)
#include "lispemul.h" /* for DLword */
#ifndef BYTESWAP
/* Normal definition, for big-endian machines */
typedef struct iopage {

View File

@@ -1,44 +0,0 @@
#ifndef KBDIF_H
#define KBDIF_H 1
/* $Id: kbdif.h,v 1.2 1999/01/03 02:06:06 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1990, 1990, 1991, 1992, 1993, 1994, 1995 Venue. */
/* All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
/* The Keyboard structure. */
typedef struct {
u_char KeyMap[0x80];
#ifdef DOS
u_char lastbyte;
void (*prev_handler)();
#endif /* DOS */
void (* sync_device)(); /* Make reality and emulator coincide with each other */
void (* enter_device)();
void (* exit_device)();
void (* device_event)();
void (* before_raid)();
void (* after_raid)();
int lispkeycode;
#ifdef DOS
int device_active;
int device_locked;
#endif /* DOS */
} KbdInterfaceRec, *KbdInterface;
#ifndef TRUE
#define FALSE 0
#define TRUE !FALSE
#endif /* TRUE */
#endif /* KBDIF_H */

View File

@@ -1,5 +1,6 @@
#ifndef KBDSUBRSDEFS_H
#define KBDSUBRSDEFS_H 1
#include "lispemul.h" /* for LispPTR */
void KB_enable(LispPTR *args);
void KB_beep(LispPTR *args);
void KB_setmp(LispPTR *args);

View File

@@ -2,18 +2,15 @@
#define KEYBOARD_H 1
/* $Id: keyboard.h,v 1.2 1999/01/03 02:06:06 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/** Header File for K/B MOUSE */
/************************************************************************/
/* */
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
#include "lispemul.h" /* for DLword */
#define MOUSE_LEFT 13
#define MOUSE_MIDDLE 15

View File

@@ -1,5 +1,6 @@
#ifndef KEYEVENTDEFS_H
#define KEYEVENTDEFS_H 1
#include <sys/types.h>
void getsignaldata(int sig);
void kb_trans(u_short keycode, u_short upflg);
void taking_mouse_down(void);

View File

@@ -1,3 +1,6 @@
#ifndef KEYSYM_H
#define KEYSYM_H 1
/* $Id: keysym.h,v 1.2 1999/01/03 02:06:07 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
@@ -126,3 +129,5 @@
#define KEY_PROPS 109
#define KEY_PRSC 110
#define KEY_OPEN 111
#endif

View File

@@ -1,5 +1,6 @@
#ifndef KPRINTDEFS_H
#define KPRINTDEFS_H 1
#include "lispemul.h" /* for LispPTR */
void prindatum(LispPTR x);
LispPTR print(LispPTR x);
void print_NEWstring(LispPTR x);

View File

@@ -1,9 +1,10 @@
#ifndef LDEXDEFS_H
#define LDEXDEFS_H 1
/* $Id: ldeXdefs.h,v 1.2 1999/01/03 02:06:07 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/* * * * * X defs for all files in Medley * * * * */
/************************************************************************/
/* */
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
@@ -11,11 +12,6 @@
/* */
/************************************************************************/
#ifndef __LDEXDEF__
#define __LDEXDEF__ 1
#include <signal.h>
#ifdef LOCK_X_UPDATES
#define XLOCK { XLocked++; /* printf("L"); fflush(stdout);*/}
#define XUNLOCK \
@@ -34,5 +30,6 @@
extern int XLocked;
extern int XNeedSignal;
/* this is !0 if we're locked; it should be 0 or larger always */
#endif

Some files were not shown because too many files have changed in this diff Show More