Interlisp / medley

The main repo for the Medley Interlisp project. Wiki, Issues are here. Other repositories include maiko (the VM implementation) and Interlisp.github.io (web site sources)
https://Interlisp.org
MIT License
371 stars 19 forks source link

Want older Medley / Interlisp-D versions with available emulators #489

Open masinter opened 2 years ago

masinter commented 2 years ago

It would be useful for both debugging and archival purposes to be able easily to run Older systems on modern hardware

These all work but we need to collect together the software or pointers and instructions. The Interlisp/DOS repo was set up for the first,

masinter commented 2 years ago

docker pull jgoerzen/dosbox will get a docker image with a DOS/x86 emulator. The DOS repo has instructions on how to run DOS Medley on a DOS machine.

https://eaasi.gitlab.io/eaasi_user_handbook/overview/demo.html#

@fghalasz -- could this work with the online medley setup ? @Anzus has some experience with medley DOS @ekaltman -- any ideas on getting this with eaasi? @alexshendi -- thanks for doing the work to get us this far. @MattHeffron -- were you running Medley 2.0 on DOS back in the day?

alexshendi commented 2 years ago

Hi Interlispers,

I have managed to get medley/interlisp running on an Android phone using the Termux app. See attached screenshot.

If there is interest, I would be glad to share.

All the best,

Alexander

Am 27. Juli 2022 19:18:18 MESZ schrieb Larry Masinter @.***>:

docker pull jgoerzen/dosbox will get a docker image with a DOS/x86 emulator. The DOS repo has instructions on how to run DOS Medley on a DOS machine.

https://eaasi.gitlab.io/eaasi_user_handbook/overview/demo.html#

@. -- could this work with the online medley setup ? @. has some experience with medley DOS @.*** -- any ideas on getting this with eaasi? @alexshendi -- thanks for doing the work to get us this far.

-- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

nbriggs commented 2 years ago

@alexshendi -- cool! Screenshot appears to be missing (neither in the e-mail nor in the github comment).

alexshendi commented 2 years ago

Hi Interlispers (again),

I suspect the attached screenshot was somehow removed. I have uploaded it to my Google Drive.

https://drive.google.com/file/d/1Bl_n6nFItq5WJJRVP8Q-MGDi9jAxrtYs/view?usp=drivesdk

I have already prepared a patch for the stuff in maiko/src. As already Nick has shown some interest, I will also write down some instructions on which software to install and how to compile.

But that's for tomorrow.

All the best,

Alexander

Am 27. Juli 2022 23:28:53 MESZ schrieb Nick Briggs @.>: @. -- cool! Screenshot appears to be missing (neither in the e-mail nor in the github comment).

-- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

nbriggs commented 2 years ago

Thanks. Yeah, if you share the patch (or github branch) I'll look at incorporating it.

masinter commented 2 years ago

Screenshot_20220727-231944

alexshendi commented 2 years ago

Hi Interlispers,

here is a short writeup on how to run maiko on your Android phone or tablet.

  1. What is Termux?

Termux is an Android terminal emulator and Linux environment application that works directly with no rooting or setup required. A minimal base system is installed automatically, additional packages are available using the package manager. [from the Termux wiki https://wiki.termux.com/wiki/Main_Page]

i should add that the environment uses Android's libc ("Bionic") rather than glibc.

Further info can be found on the Termux wiki.

  1. What software do I need?

2.1 On the Android side You need:

  1. Compiling maiko

Apply the patch and copy the file gethostid.c to /src. Both files can be found under: https://drive.google.com/drive/folders/1EXIigJdSGXFyGQgtm8SsPFN97Ton0kpt

Compile with: cd /bin ; ./makeright x

Execute: dbus-uuidgen > $PREFIX/etc/machine-id

You should now install the medley loadups and runtime.

  1. Running Medley/Interlisp

vncserver -localhost export DISPLAY=:1 cd

Switch to the Androud Home screen and start the VNC viewer. Configure it to use port 5901.

./run-medley

I hope this is useful to someone.

Have a nice weekend.

All the best,

Alexander

Am 28. Juli 2022 00:33:38 MESZ schrieb Nick Briggs @.***>:

Thanks. Yeah, if you share the patch (or github branch) I'll look at incorporating it.

-- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

nbriggs commented 2 years ago

Hi Alex —

Could you send me the output from

gcc -dM -E - < /dev/null

for your Termux environment. We should update the inc/maiko/platform.h and I would prefer not to reintroduce platform specific #ifdefs outside of there if possible.

However: It looks as though the Bionic library provides one or both of posix_memalign() and aligned_alloc(), so we should update to use one of those on all platforms rather than valloc(). I think that gethostid() is rather past its prime — it’s only called to provide a 32-bit value to fill in the hardware serial number in the emulator’s interface page (which nothing depends on) and as an informational item when describing the system.

I think I can easily get the code to the point where there are no dependencies on Bionic/glibc/[vendor]libc differences.

— Nick

On Jul 29, 2022, at 10:11 AM, alexshendi @.***> wrote

Hi Interlispers,

here is a short writeup on how to run maiko on your Android phone or tablet.

  1. What is Termux?

Termux is an Android terminal emulator and Linux environment application that works directly with no rooting or setup required. A minimal base system is installed automatically, additional packages are available using the package manager. [from the Termux wiki https://wiki.termux.com/wiki/Main_Page]

i should add that the environment uses Android's libc ("Bionic") rather than glibc.

Further info can be found on the Termux wiki.

  1. What software do I need?

2.1 On the Android side You need:

  • a VNC viewer, you can obtain this from the Play Store. I used MultiVNC.
  • The Termux environment. This must be obtained from the F-Droid app store, as the version from Google Play is no longer supported. 2.2 On the Termux side
  • pkg install build-essential libx11 xorg-xproto tigervnc dbus
  1. Compiling maiko

Apply the patch and copy the file gethostid.c to /src. Both files can be found under: https://drive.google.com/drive/folders/1EXIigJdSGXFyGQgtm8SsPFN97Ton0kpt

Compile with: cd /bin ; ./makeright x

Execute: dbus-uuidgen > $PREFIX/etc/machine-id

You should now install the medley loadups and runtime.

  1. Running Medley/Interlisp

vncserver -localhost export DISPLAY=:1 cd

Switch to the Androud Home screen and start the VNC viewer. Configure it to use port 5901.

./run-medley

I hope this is useful to someone.

Have a nice weekend.

All the best,

Alexander

Am 28. Juli 2022 00:33:38 MESZ schrieb Nick Briggs @.***>:

Thanks. Yeah, if you share the patch (or github branch) I'll look at incorporating it.

-- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet. — Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/489#issuecomment-1199767228, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6DAWIA27SWP2N4NZJPN2LVWQGDDANCNFSM5EK3KH2Q. You are receiving this because you commented.

alexshendi commented 2 years ago

Ok, here is the requested output. BTW the compiler id clang14, not gcc:

define _LP64 1

define AARCH64EL 1

define AARCH64_CMODEL_SMALL 1

define ANDROID_API ANDROID_MIN_SDK_VERSION

define __ANDROID_MIN_SDK_VERSION__ 24

define ANDROID 1

define __ARM_64BIT_STATE 1

define __ARM_ACLE 200

define __ARM_ALIGN_MAX_STACK_PWR 4

define __ARM_ARCH 8

define __ARM_ARCH_ISA_A64 1

define __ARM_ARCH_PROFILE 'A'

define __ARM_FEATURE_CLZ 1

define __ARM_FEATURE_DIRECTED_ROUNDING 1

define __ARM_FEATURE_DIV 1

define __ARM_FEATURE_FMA 1

define __ARM_FEATURE_IDIV 1

define __ARM_FEATURE_LDREX 0xF

define __ARM_FEATURE_NUMERIC_MAXMIN 1

define __ARM_FEATURE_UNALIGNED 1

define __ARM_FP 0xE

define __ARM_FP16_ARGS 1

define __ARM_FP16_FORMAT_IEEE 1

define __ARM_NEON 1

define __ARM_NEON_FP 0xE

define __ARM_PCS_AAPCS64 1

define __ARM_SIZEOF_MINIMAL_ENUM 4

define __ARM_SIZEOF_WCHAR_T 4

define __ATOMIC_ACQUIRE 2

define __ATOMIC_ACQ_REL 4

define __ATOMIC_CONSUME 1

define __ATOMIC_RELAXED 0

define __ATOMIC_RELEASE 3

define __ATOMIC_SEQ_CST 5

define __BIGGEST_ALIGNMENT__ 16

define __BITINT_MAXWIDTH__ 128

define __BOOL_WIDTH__ 8

define __BYTE_ORDER ORDER_LITTLE_ENDIAN__

define __CHAR16_TYPE__ unsigned short

define __CHAR32_TYPE__ unsigned int

define __CHAR_BIT__ 8

define __CHAR_UNSIGNED__ 1

define __CLANG_ATOMIC_BOOL_LOCK_FREE 2

define __CLANG_ATOMIC_CHAR16_T_LOCK_FREE 2

define __CLANG_ATOMIC_CHAR32_T_LOCK_FREE 2

define __CLANG_ATOMIC_CHAR_LOCK_FREE 2

define __CLANG_ATOMIC_INT_LOCK_FREE 2

define __CLANG_ATOMIC_LLONG_LOCK_FREE 2

define __CLANG_ATOMIC_LONG_LOCK_FREE 2

define __CLANG_ATOMIC_POINTER_LOCK_FREE 2

define __CLANG_ATOMIC_SHORT_LOCK_FREE 2

define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 2

define __CONSTANT_CFSTRINGS__ 1

define DBL_DECIMAL_DIG 17

define DBL_DENORM_MIN 4.9406564584124654e-324

define __DBL_DIG__ 15

define __DBL_EPSILON__ 2.2204460492503131e-16

define DBL_HAS_DENORM 1

define DBL_HAS_INFINITY 1

define __DBL_HAS_QUIET_NAN__ 1

define DBL_MANT_DIG 53

define __DBL_MAX_10_EXP__ 308

define DBL_MAX_EXP 1024

define __DBL_MAX__ 1.7976931348623157e+308

define __DBL_MIN_10_EXP__ (-307)

define DBL_MIN_EXP (-1021)

define __DBL_MIN__ 2.2250738585072014e-308

define __DECIMAL_DIG LDBL_DECIMAL_DIG__

define ELF 1

define FINITE_MATH_ONLY 0

define FLT16_DECIMAL_DIG 5

define FLT16_DENORM_MIN 5.9604644775390625e-8F16

define __FLT16_DIG__ 3

define __FLT16_EPSILON__ 9.765625e-4F16

define FLT16_HAS_DENORM 1

define FLT16_HAS_INFINITY 1

define __FLT16_HAS_QUIET_NAN__ 1

define FLT16_MANT_DIG 11

define __FLT16_MAX_10_EXP__ 4

define FLT16_MAX_EXP 16

define __FLT16_MAX__ 6.5504e+4F16

define __FLT16_MIN_10_EXP__ (-4)

define FLT16_MIN_EXP (-13)

define __FLT16_MIN__ 6.103515625e-5F16

define FLT_DECIMAL_DIG 9

define FLT_DENORM_MIN 1.40129846e-45F

define __FLT_DIG__ 6

define __FLT_EPSILON__ 1.19209290e-7F

define FLT_EVAL_METHOD 0

define FLT_HAS_DENORM 1

define FLT_HAS_INFINITY 1

define __FLT_HAS_QUIET_NAN__ 1

define FLT_MANT_DIG 24

define __FLT_MAX_10_EXP__ 38

define FLT_MAX_EXP 128

define __FLT_MAX__ 3.40282347e+38F

define __FLT_MIN_10_EXP__ (-37)

define FLT_MIN_EXP (-125)

define __FLT_MIN__ 1.17549435e-38F

define __FLT_RADIX__ 2

define __GCC_ATOMIC_BOOL_LOCK_FREE 2

define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2

define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2

define __GCC_ATOMIC_CHAR_LOCK_FREE 2

define __GCC_ATOMIC_INT_LOCK_FREE 2

define __GCC_ATOMIC_LLONG_LOCK_FREE 2

define __GCC_ATOMIC_LONG_LOCK_FREE 2

define __GCC_ATOMIC_POINTER_LOCK_FREE 2

define __GCC_ATOMIC_SHORT_LOCK_FREE 2

define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1

define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2

define __GCC_HAVE_DWARF2_CFI_ASM 1

define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1

define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1

define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1

define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1

define __GNUC_MINOR__ 2

define __GNUC_PATCHLEVEL__ 1

define GNUC_STDC_INLINE 1

define GNUC 4

define __GXX_ABI_VERSION 1002

define INT16_C_SUFFIX

define __INT16_FMTd__ "hd"

define __INT16_FMTi__ "hi"

define __INT16_MAX__ 32767

define __INT16_TYPE__ short

define INT32_C_SUFFIX

define __INT32_FMTd__ "d"

define __INT32_FMTi__ "i"

define __INT32_MAX__ 2147483647

define __INT32_TYPE__ int

define INT64_C_SUFFIX L

define __INT64_FMTd__ "ld"

define __INT64_FMTi__ "li"

define __INT64_MAX__ 9223372036854775807L

define __INT64_TYPE__ long int

define INT8_C_SUFFIX

define __INT8_FMTd__ "hhd"

define __INT8_FMTi__ "hhi"

define __INT8_MAX__ 127

define __INT8_TYPE__ signed char

define INTMAX_C_SUFFIX L

define __INTMAX_FMTd__ "ld"

define __INTMAX_FMTi__ "li"

define __INTMAX_MAX__ 9223372036854775807L

define __INTMAX_TYPE__ long int

define __INTMAX_WIDTH__ 64

define __INTPTR_FMTd__ "ld"

define __INTPTR_FMTi__ "li"

define __INTPTR_MAX__ 9223372036854775807L

define __INTPTR_TYPE__ long int

define __INTPTR_WIDTH__ 64

define INT_FAST16_FMTd "hd"

define INT_FAST16_FMTi "hi"

define INT_FAST16_MAX 32767

define INT_FAST16_TYPE short

define INT_FAST16_WIDTH 16

define INT_FAST32_FMTd "d"

define INT_FAST32_FMTi "i"

define INT_FAST32_MAX 2147483647

define INT_FAST32_TYPE int

define INT_FAST32_WIDTH 32

define INT_FAST64_FMTd "ld"

define INT_FAST64_FMTi "li"

define INT_FAST64_MAX 9223372036854775807L

define INT_FAST64_TYPE long int

define INT_FAST64_WIDTH 64

define INT_FAST8_FMTd "hhd"

define INT_FAST8_FMTi "hhi"

define INT_FAST8_MAX 127

define INT_FAST8_TYPE signed char

define INT_FAST8_WIDTH 8

define INT_LEAST16_FMTd "hd"

define INT_LEAST16_FMTi "hi"

define INT_LEAST16_MAX 32767

define INT_LEAST16_TYPE short

define INT_LEAST16_WIDTH 16

define INT_LEAST32_FMTd "d"

define INT_LEAST32_FMTi "i"

define INT_LEAST32_MAX 2147483647

define INT_LEAST32_TYPE int

define INT_LEAST32_WIDTH 32

define INT_LEAST64_FMTd "ld"

define INT_LEAST64_FMTi "li"

define INT_LEAST64_MAX 9223372036854775807L

define INT_LEAST64_TYPE long int

define INT_LEAST64_WIDTH 64

define INT_LEAST8_FMTd "hhd"

define INT_LEAST8_FMTi "hhi"

define INT_LEAST8_MAX 127

define INT_LEAST8_TYPE signed char

define INT_LEAST8_WIDTH 8

define __INT_MAX__ 2147483647

define __INT_WIDTH__ 32

define LDBL_DECIMAL_DIG 36

define LDBL_DENORM_MIN 6.47517511943802511092443895822764655e-4966L

define __LDBL_DIG__ 33

define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L

define LDBL_HAS_DENORM 1

define LDBL_HAS_INFINITY 1

define __LDBL_HAS_QUIET_NAN__ 1

define LDBL_MANT_DIG 113

define __LDBL_MAX_10_EXP__ 4932

define LDBL_MAX_EXP 16384

define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L

define __LDBL_MIN_10_EXP__ (-4931)

define LDBL_MIN_EXP (-16381)

define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L

define __LITTLE_ENDIAN__ 1

define __LLONG_WIDTH__ 64

define LONG_LONG_MAX 9223372036854775807LL

define __LONG_MAX__ 9223372036854775807L

define __LONG_WIDTH__ 64

define LP64 1

define __NO_INLINE__ 1

define NO_MATH_ERRNO 1

define __OBJC_BOOL_IS_BOOL 0

define __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES 3

define __OPENCL_MEMORY_SCOPE_DEVICE 2

define __OPENCL_MEMORY_SCOPE_SUB_GROUP 4

define __OPENCL_MEMORY_SCOPE_WORK_GROUP 1

define __OPENCL_MEMORY_SCOPE_WORK_ITEM 0

define ORDER_BIG_ENDIAN 4321

define ORDER_LITTLE_ENDIAN 1234

define ORDER_PDP_ENDIAN 3412

define PIC 2

define PIE 2

define __POINTER_WIDTH__ 64

define __PRAGMA_REDEFINE_EXTNAME 1

define __PTRDIFF_FMTd__ "ld"

define __PTRDIFF_FMTi__ "li"

define __PTRDIFF_MAX__ 9223372036854775807L

define __PTRDIFF_TYPE__ long int

define __PTRDIFF_WIDTH__ 64

define __SCHAR_MAX__ 127

define __SHRT_MAX__ 32767

define __SHRT_WIDTH__ 16

define SIG_ATOMIC_MAX 2147483647

define SIG_ATOMIC_WIDTH 32

define __SIZEOF_DOUBLE__ 8

define __SIZEOF_FLOAT__ 4

define __SIZEOF_INT128__ 16

define __SIZEOF_INT__ 4

define SIZEOF_LONG_DOUBLE 16

define SIZEOF_LONG_LONG 8

define __SIZEOF_LONG__ 8

define __SIZEOF_POINTER__ 8

define SIZEOF_PTRDIFF_T 8

define __SIZEOF_SHORT__ 2

define SIZEOF_SIZE_T 8

define SIZEOF_WCHAR_T 4

define SIZEOF_WINT_T 4

define __SIZE_FMTX__ "lX"

define __SIZE_FMTo__ "lo"

define __SIZE_FMTu__ "lu"

define __SIZE_FMTx__ "lx"

define __SIZE_MAX__ 18446744073709551615UL

define __SIZE_TYPE__ long unsigned int

define __SIZE_WIDTH__ 64

define __STDC_HOSTED__ 1

define STDC_UTF_16 1

define STDC_UTF_32 1

define __STDC_VERSION__ 201710L

define STDC 1

define UINT16_C_SUFFIX

define __UINT16_FMTX__ "hX"

define __UINT16_FMTo__ "ho"

define __UINT16_FMTu__ "hu"

define __UINT16_FMTx__ "hx"

define __UINT16_MAX__ 65535

define __UINT16_TYPE__ unsigned short

define UINT32_C_SUFFIX U

define __UINT32_FMTX__ "X"

define __UINT32_FMTo__ "o"

define __UINT32_FMTu__ "u"

define __UINT32_FMTx__ "x"

define __UINT32_MAX__ 4294967295U

define __UINT32_TYPE__ unsigned int

define UINT64_C_SUFFIX UL

define __UINT64_FMTX__ "lX"

define __UINT64_FMTo__ "lo"

define __UINT64_FMTu__ "lu"

define __UINT64_FMTx__ "lx"

define __UINT64_MAX__ 18446744073709551615UL

define __UINT64_TYPE__ long unsigned int

define UINT8_C_SUFFIX

define __UINT8_FMTX__ "hhX"

define __UINT8_FMTo__ "hho"

define __UINT8_FMTu__ "hhu"

define __UINT8_FMTx__ "hhx"

define __UINT8_MAX__ 255

define __UINT8_TYPE__ unsigned char

define UINTMAX_C_SUFFIX UL

define __UINTMAX_FMTX__ "lX"

define __UINTMAX_FMTo__ "lo"

define __UINTMAX_FMTu__ "lu"

define __UINTMAX_FMTx__ "lx"

define __UINTMAX_MAX__ 18446744073709551615UL

define __UINTMAX_TYPE__ long unsigned int

define __UINTMAX_WIDTH__ 64

define __UINTPTR_FMTX__ "lX"

define __UINTPTR_FMTo__ "lo"

define __UINTPTR_FMTu__ "lu"

define __UINTPTR_FMTx__ "lx"

define __UINTPTR_MAX__ 18446744073709551615UL

define __UINTPTR_TYPE__ long unsigned int

define __UINTPTR_WIDTH__ 64

define UINT_FAST16_FMTX "hX"

define UINT_FAST16_FMTo "ho"

define UINT_FAST16_FMTu "hu"

define UINT_FAST16_FMTx "hx"

define UINT_FAST16_MAX 65535

define UINT_FAST16_TYPE unsigned short

define UINT_FAST32_FMTX "X"

define UINT_FAST32_FMTo "o"

define UINT_FAST32_FMTu "u"

define UINT_FAST32_FMTx "x"

define UINT_FAST32_MAX 4294967295U

define UINT_FAST32_TYPE unsigned int

define UINT_FAST64_FMTX "lX"

define UINT_FAST64_FMTo "lo"

define UINT_FAST64_FMTu "lu"

define UINT_FAST64_FMTx "lx"

define UINT_FAST64_MAX 18446744073709551615UL

define UINT_FAST64_TYPE long unsigned int

define UINT_FAST8_FMTX "hhX"

define UINT_FAST8_FMTo "hho"

define UINT_FAST8_FMTu "hhu"

define UINT_FAST8_FMTx "hhx"

define UINT_FAST8_MAX 255

define UINT_FAST8_TYPE unsigned char

define UINT_LEAST16_FMTX "hX"

define UINT_LEAST16_FMTo "ho"

define UINT_LEAST16_FMTu "hu"

define UINT_LEAST16_FMTx "hx"

define UINT_LEAST16_MAX 65535

define UINT_LEAST16_TYPE unsigned short

define UINT_LEAST32_FMTX "X"

define UINT_LEAST32_FMTo "o"

define UINT_LEAST32_FMTu "u"

define UINT_LEAST32_FMTx "x"

define UINT_LEAST32_MAX 4294967295U

define UINT_LEAST32_TYPE unsigned int

define UINT_LEAST64_FMTX "lX"

define UINT_LEAST64_FMTo "lo"

define UINT_LEAST64_FMTu "lu"

define UINT_LEAST64_FMTx "lx"

define UINT_LEAST64_MAX 18446744073709551615UL

define UINT_LEAST64_TYPE long unsigned int

define UINT_LEAST8_FMTX "hhX"

define UINT_LEAST8_FMTo "hho"

define UINT_LEAST8_FMTu "hhu"

define UINT_LEAST8_FMTx "hhx"

define UINT_LEAST8_MAX 255

define UINT_LEAST8_TYPE unsigned char

define USER_LABEL_PREFIX

define VERSION "Clang 14.0.6"

define __WCHAR_MAX__ 4294967295U

define __WCHAR_TYPE__ unsigned int

define __WCHAR_UNSIGNED__ 1

define __WCHAR_WIDTH__ 32

define __WINT_MAX__ 4294967295U

define __WINT_TYPE__ unsigned int

define __WINT_UNSIGNED__ 1

define __WINT_WIDTH__ 32

define aarch64 1

define clang 1

define clang_literal_encoding "UTF-8"

define __clang_major__ 14

define __clang_minor__ 0

define __clang_patchlevel__ 6

define __clang_version__ "14.0.6 "

define __clang_wide_literal_encoding__ "UTF-32"

define __linux 1

define linux 1

define llvm 1

define pic 2

define pie 2

define __unix 1

define unix 1

define linux 1

define unix 1

Am 29. Juli 2022 20:25:45 MESZ schrieb Nick Briggs @.***>:

Hi Alex —

Could you send me the output from

gcc -dM -E - < /dev/null

for your Termux environment. We should update the inc/maiko/platform.h and I would prefer not to reintroduce platform specific #ifdefs outside of there if possible.

However: It looks as though the Bionic library provides one or both of posix_memalign() and aligned_alloc(), so we should update to use one of those on all platforms rather than valloc().

I think that gethostid() is rather past its prime — it’s only called to provide a 32-bit value to fill in the hardware serial number in the emulator’s interface page (which nothing depends on) and as an informational item when describing the system.

I think I can easily get the code to the point where there are no dependencies on Bionic/glibc/[vendor]libc differences.

— Nick

On Jul 29, 2022, at 10:11 AM, alexshendi @.***> wrote

Hi Interlispers,

here is a short writeup on how to run maiko on your Android phone or tablet.

  1. What is Termux?

Termux is an Android terminal emulator and Linux environment application that works directly with no rooting or setup required. A minimal base system is installed automatically, additional packages are available using the package manager.

[from the Termux wiki https://wiki.termux.com/wiki/Main_Page]

i should add that the environment uses Android's libc ("Bionic") rather than glibc.

Further info can be found on the Termux wiki.

  1. What software do I need?

2.1 On the Android side

You need:

  • a VNC viewer, you can obtain this from the Play Store. I used MultiVNC.

  • The Termux environment. This must be obtained from the F-Droid app store, as the version from Google Play is no longer supported.

2.2 On the Termux side

  • pkg install build-essential libx11 xorg-xproto tigervnc dbus
  1. Compiling maiko

Apply the patch and copy the file gethostid.c to /src. Both files can be found under: > https://drive.google.com/drive/folders/1EXIigJdSGXFyGQgtm8SsPFN97Ton0kpt

Compile with:

cd /bin ; ./makeright x

Execute:

dbus-uuidgen > $PREFIX/etc/machine-id

You should now install the medley loadups and runtime.

  1. Running Medley/Interlisp

vncserver -localhost

export DISPLAY=:1 > cd

Switch to the Androud Home screen and start the VNC viewer. Configure it to use port 5901.

./run-medley

I hope this is useful to someone. >

Have a nice weekend.

All the best,

Alexander

Am 28. Juli 2022 00:33:38 MESZ schrieb Nick Briggs @.***>:

Thanks. Yeah, if you share the patch (or github branch) I'll look at incorporating it.

-- > Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/489#issuecomment-1199767228, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6DAWIA27SWP2N4NZJPN2LVWQGDDANCNFSM5EK3KH2Q.

You are receiving this because you commented.

-- > Reply to this email directly or view it on GitHub:

https://github.com/Interlisp/medley/issues/489#issuecomment-1199832605

You are receiving this because you were mentioned.

Message ID: @.***> -- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

nbriggs commented 2 years ago

Perfect, thanks. We’re about half clang, half gcc, and one system that I know of that’s using Solaris studio compilers on Solaris 11.4

On Jul 29, 2022, at 1:15 PM, alexshendi @.***> wrote:

Ok, here is the requested output. BTW the compiler id clang14, not gcc:

define _LP64 1

define AARCH64EL 1

define AARCH64_CMODEL_SMALL 1

define ANDROID_API ANDROID_MIN_SDK_VERSION

define __ANDROID_MIN_SDK_VERSION__ 24

define ANDROID 1

define __ARM_64BIT_STATE 1

define __ARM_ACLE 200

define __ARM_ALIGN_MAX_STACK_PWR 4

define __ARM_ARCH 8

define __ARM_ARCH_ISA_A64 1

define __ARM_ARCH_PROFILE 'A'

define __ARM_FEATURE_CLZ 1

define __ARM_FEATURE_DIRECTED_ROUNDING 1

define __ARM_FEATURE_DIV 1

define __ARM_FEATURE_FMA 1

define __ARM_FEATURE_IDIV 1

define __ARM_FEATURE_LDREX 0xF

define __ARM_FEATURE_NUMERIC_MAXMIN 1

define __ARM_FEATURE_UNALIGNED 1

define __ARM_FP 0xE

define __ARM_FP16_ARGS 1

define __ARM_FP16_FORMAT_IEEE 1

define __ARM_NEON 1

define __ARM_NEON_FP 0xE

define __ARM_PCS_AAPCS64 1

define __ARM_SIZEOF_MINIMAL_ENUM 4

define __ARM_SIZEOF_WCHAR_T 4

define __ATOMIC_ACQUIRE 2

define __ATOMIC_ACQ_REL 4

define __ATOMIC_CONSUME 1

define __ATOMIC_RELAXED 0

define __ATOMIC_RELEASE 3

define __ATOMIC_SEQ_CST 5

define __BIGGEST_ALIGNMENT__ 16

define __BITINT_MAXWIDTH__ 128

define __BOOL_WIDTH__ 8

define __BYTE_ORDER ORDER_LITTLE_ENDIAN__

define __CHAR16_TYPE__ unsigned short

define __CHAR32_TYPE__ unsigned int

define __CHAR_BIT__ 8

define __CHAR_UNSIGNED__ 1

define __CLANG_ATOMIC_BOOL_LOCK_FREE 2

define __CLANG_ATOMIC_CHAR16_T_LOCK_FREE 2

define __CLANG_ATOMIC_CHAR32_T_LOCK_FREE 2

define __CLANG_ATOMIC_CHAR_LOCK_FREE 2

define __CLANG_ATOMIC_INT_LOCK_FREE 2

define __CLANG_ATOMIC_LLONG_LOCK_FREE 2

define __CLANG_ATOMIC_LONG_LOCK_FREE 2

define __CLANG_ATOMIC_POINTER_LOCK_FREE 2

define __CLANG_ATOMIC_SHORT_LOCK_FREE 2

define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 2

define __CONSTANT_CFSTRINGS__ 1

define DBL_DECIMAL_DIG 17

define DBL_DENORM_MIN 4.9406564584124654e-324

define __DBL_DIG__ 15

define __DBL_EPSILON__ 2.2204460492503131e-16

define DBL_HAS_DENORM 1

define DBL_HAS_INFINITY 1

define __DBL_HAS_QUIET_NAN__ 1

define DBL_MANT_DIG 53

define __DBL_MAX_10_EXP__ 308

define DBL_MAX_EXP 1024

define __DBL_MAX__ 1.7976931348623157e+308

define __DBL_MIN_10_EXP__ (-307)

define DBL_MIN_EXP (-1021)

define __DBL_MIN__ 2.2250738585072014e-308

define __DECIMAL_DIG LDBL_DECIMAL_DIG__

define ELF 1

define FINITE_MATH_ONLY 0

define FLT16_DECIMAL_DIG 5

define FLT16_DENORM_MIN 5.9604644775390625e-8F16

define __FLT16_DIG__ 3

define __FLT16_EPSILON__ 9.765625e-4F16

define FLT16_HAS_DENORM 1

define FLT16_HAS_INFINITY 1

define __FLT16_HAS_QUIET_NAN__ 1

define FLT16_MANT_DIG 11

define __FLT16_MAX_10_EXP__ 4

define FLT16_MAX_EXP 16

define __FLT16_MAX__ 6.5504e+4F16

define __FLT16_MIN_10_EXP__ (-4)

define FLT16_MIN_EXP (-13)

define __FLT16_MIN__ 6.103515625e-5F16

define FLT_DECIMAL_DIG 9

define FLT_DENORM_MIN 1.40129846e-45F

define __FLT_DIG__ 6

define __FLT_EPSILON__ 1.19209290e-7F

define FLT_EVAL_METHOD 0

define FLT_HAS_DENORM 1

define FLT_HAS_INFINITY 1

define __FLT_HAS_QUIET_NAN__ 1

define FLT_MANT_DIG 24

define __FLT_MAX_10_EXP__ 38

define FLT_MAX_EXP 128

define __FLT_MAX__ 3.40282347e+38F

define __FLT_MIN_10_EXP__ (-37)

define FLT_MIN_EXP (-125)

define __FLT_MIN__ 1.17549435e-38F

define __FLT_RADIX__ 2

define __GCC_ATOMIC_BOOL_LOCK_FREE 2

define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2

define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2

define __GCC_ATOMIC_CHAR_LOCK_FREE 2

define __GCC_ATOMIC_INT_LOCK_FREE 2

define __GCC_ATOMIC_LLONG_LOCK_FREE 2

define __GCC_ATOMIC_LONG_LOCK_FREE 2

define __GCC_ATOMIC_POINTER_LOCK_FREE 2

define __GCC_ATOMIC_SHORT_LOCK_FREE 2

define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1

define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2

define __GCC_HAVE_DWARF2_CFI_ASM 1

define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1

define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1

define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1

define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1

define __GNUC_MINOR__ 2

define __GNUC_PATCHLEVEL__ 1

define GNUC_STDC_INLINE 1

define GNUC 4

define __GXX_ABI_VERSION 1002

define INT16_C_SUFFIX

define __INT16_FMTd__ "hd"

define __INT16_FMTi__ "hi"

define __INT16_MAX__ 32767

define __INT16_TYPE__ short

define INT32_C_SUFFIX

define __INT32_FMTd__ "d"

define __INT32_FMTi__ "i"

define __INT32_MAX__ 2147483647

define __INT32_TYPE__ int

define INT64_C_SUFFIX L

define __INT64_FMTd__ "ld"

define __INT64_FMTi__ "li"

define __INT64_MAX__ 9223372036854775807L

define __INT64_TYPE__ long int

define INT8_C_SUFFIX

define __INT8_FMTd__ "hhd"

define __INT8_FMTi__ "hhi"

define __INT8_MAX__ 127

define __INT8_TYPE__ signed char

define INTMAX_C_SUFFIX L

define __INTMAX_FMTd__ "ld"

define __INTMAX_FMTi__ "li"

define __INTMAX_MAX__ 9223372036854775807L

define __INTMAX_TYPE__ long int

define __INTMAX_WIDTH__ 64

define __INTPTR_FMTd__ "ld"

define __INTPTR_FMTi__ "li"

define __INTPTR_MAX__ 9223372036854775807L

define __INTPTR_TYPE__ long int

define __INTPTR_WIDTH__ 64

define INT_FAST16_FMTd "hd"

define INT_FAST16_FMTi "hi"

define INT_FAST16_MAX 32767

define INT_FAST16_TYPE short

define INT_FAST16_WIDTH 16

define INT_FAST32_FMTd "d"

define INT_FAST32_FMTi "i"

define INT_FAST32_MAX 2147483647

define INT_FAST32_TYPE int

define INT_FAST32_WIDTH 32

define INT_FAST64_FMTd "ld"

define INT_FAST64_FMTi "li"

define INT_FAST64_MAX 9223372036854775807L

define INT_FAST64_TYPE long int

define INT_FAST64_WIDTH 64

define INT_FAST8_FMTd "hhd"

define INT_FAST8_FMTi "hhi"

define INT_FAST8_MAX 127

define INT_FAST8_TYPE signed char

define INT_FAST8_WIDTH 8

define INT_LEAST16_FMTd "hd"

define INT_LEAST16_FMTi "hi"

define INT_LEAST16_MAX 32767

define INT_LEAST16_TYPE short

define INT_LEAST16_WIDTH 16

define INT_LEAST32_FMTd "d"

define INT_LEAST32_FMTi "i"

define INT_LEAST32_MAX 2147483647

define INT_LEAST32_TYPE int

define INT_LEAST32_WIDTH 32

define INT_LEAST64_FMTd "ld"

define INT_LEAST64_FMTi "li"

define INT_LEAST64_MAX 9223372036854775807L

define INT_LEAST64_TYPE long int

define INT_LEAST64_WIDTH 64

define INT_LEAST8_FMTd "hhd"

define INT_LEAST8_FMTi "hhi"

define INT_LEAST8_MAX 127

define INT_LEAST8_TYPE signed char

define INT_LEAST8_WIDTH 8

define __INT_MAX__ 2147483647

define __INT_WIDTH__ 32

define LDBL_DECIMAL_DIG 36

define LDBL_DENORM_MIN 6.47517511943802511092443895822764655e-4966L

define __LDBL_DIG__ 33

define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L

define LDBL_HAS_DENORM 1

define LDBL_HAS_INFINITY 1

define __LDBL_HAS_QUIET_NAN__ 1

define LDBL_MANT_DIG 113

define __LDBL_MAX_10_EXP__ 4932

define LDBL_MAX_EXP 16384

define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L

define __LDBL_MIN_10_EXP__ (-4931)

define LDBL_MIN_EXP (-16381)

define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L

define __LITTLE_ENDIAN__ 1

define __LLONG_WIDTH__ 64

define LONG_LONG_MAX 9223372036854775807LL

define __LONG_MAX__ 9223372036854775807L

define __LONG_WIDTH__ 64

define LP64 1

define __NO_INLINE__ 1

define NO_MATH_ERRNO 1

define __OBJC_BOOL_IS_BOOL 0

define __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES 3

define __OPENCL_MEMORY_SCOPE_DEVICE 2

define __OPENCL_MEMORY_SCOPE_SUB_GROUP 4

define __OPENCL_MEMORY_SCOPE_WORK_GROUP 1

define __OPENCL_MEMORY_SCOPE_WORK_ITEM 0

define ORDER_BIG_ENDIAN 4321

define ORDER_LITTLE_ENDIAN 1234

define ORDER_PDP_ENDIAN 3412

define PIC 2

define PIE 2

define __POINTER_WIDTH__ 64

define __PRAGMA_REDEFINE_EXTNAME 1

define __PTRDIFF_FMTd__ "ld"

define __PTRDIFF_FMTi__ "li"

define __PTRDIFF_MAX__ 9223372036854775807L

define __PTRDIFF_TYPE__ long int

define __PTRDIFF_WIDTH__ 64

define __SCHAR_MAX__ 127

define __SHRT_MAX__ 32767

define __SHRT_WIDTH__ 16

define SIG_ATOMIC_MAX 2147483647

define SIG_ATOMIC_WIDTH 32

define __SIZEOF_DOUBLE__ 8

define __SIZEOF_FLOAT__ 4

define __SIZEOF_INT128__ 16

define __SIZEOF_INT__ 4

define SIZEOF_LONG_DOUBLE 16

define SIZEOF_LONG_LONG 8

define __SIZEOF_LONG__ 8

define __SIZEOF_POINTER__ 8

define SIZEOF_PTRDIFF_T 8

define __SIZEOF_SHORT__ 2

define SIZEOF_SIZE_T 8

define SIZEOF_WCHAR_T 4

define SIZEOF_WINT_T 4

define __SIZE_FMTX__ "lX"

define __SIZE_FMTo__ "lo"

define __SIZE_FMTu__ "lu"

define __SIZE_FMTx__ "lx"

define __SIZE_MAX__ 18446744073709551615UL

define __SIZE_TYPE__ long unsigned int

define __SIZE_WIDTH__ 64

define __STDC_HOSTED__ 1

define STDC_UTF_16 1

define STDC_UTF_32 1

define __STDC_VERSION__ 201710L

define STDC 1

define UINT16_C_SUFFIX

define __UINT16_FMTX__ "hX"

define __UINT16_FMTo__ "ho"

define __UINT16_FMTu__ "hu"

define __UINT16_FMTx__ "hx"

define __UINT16_MAX__ 65535

define __UINT16_TYPE__ unsigned short

define UINT32_C_SUFFIX U

define __UINT32_FMTX__ "X"

define __UINT32_FMTo__ "o"

define __UINT32_FMTu__ "u"

define __UINT32_FMTx__ "x"

define __UINT32_MAX__ 4294967295U

define __UINT32_TYPE__ unsigned int

define UINT64_C_SUFFIX UL

define __UINT64_FMTX__ "lX"

define __UINT64_FMTo__ "lo"

define __UINT64_FMTu__ "lu"

define __UINT64_FMTx__ "lx"

define __UINT64_MAX__ 18446744073709551615UL

define __UINT64_TYPE__ long unsigned int

define UINT8_C_SUFFIX

define __UINT8_FMTX__ "hhX"

define __UINT8_FMTo__ "hho"

define __UINT8_FMTu__ "hhu"

define __UINT8_FMTx__ "hhx"

define __UINT8_MAX__ 255

define __UINT8_TYPE__ unsigned char

define UINTMAX_C_SUFFIX UL

define __UINTMAX_FMTX__ "lX"

define __UINTMAX_FMTo__ "lo"

define __UINTMAX_FMTu__ "lu"

define __UINTMAX_FMTx__ "lx"

define __UINTMAX_MAX__ 18446744073709551615UL

define __UINTMAX_TYPE__ long unsigned int

define __UINTMAX_WIDTH__ 64

define __UINTPTR_FMTX__ "lX"

define __UINTPTR_FMTo__ "lo"

define __UINTPTR_FMTu__ "lu"

define __UINTPTR_FMTx__ "lx"

define __UINTPTR_MAX__ 18446744073709551615UL

define __UINTPTR_TYPE__ long unsigned int

define __UINTPTR_WIDTH__ 64

define UINT_FAST16_FMTX "hX"

define UINT_FAST16_FMTo "ho"

define UINT_FAST16_FMTu "hu"

define UINT_FAST16_FMTx "hx"

define UINT_FAST16_MAX 65535

define UINT_FAST16_TYPE unsigned short

define UINT_FAST32_FMTX "X"

define UINT_FAST32_FMTo "o"

define UINT_FAST32_FMTu "u"

define UINT_FAST32_FMTx "x"

define UINT_FAST32_MAX 4294967295U

define UINT_FAST32_TYPE unsigned int

define UINT_FAST64_FMTX "lX"

define UINT_FAST64_FMTo "lo"

define UINT_FAST64_FMTu "lu"

define UINT_FAST64_FMTx "lx"

define UINT_FAST64_MAX 18446744073709551615UL

define UINT_FAST64_TYPE long unsigned int

define UINT_FAST8_FMTX "hhX"

define UINT_FAST8_FMTo "hho"

define UINT_FAST8_FMTu "hhu"

define UINT_FAST8_FMTx "hhx"

define UINT_FAST8_MAX 255

define UINT_FAST8_TYPE unsigned char

define UINT_LEAST16_FMTX "hX"

define UINT_LEAST16_FMTo "ho"

define UINT_LEAST16_FMTu "hu"

define UINT_LEAST16_FMTx "hx"

define UINT_LEAST16_MAX 65535

define UINT_LEAST16_TYPE unsigned short

define UINT_LEAST32_FMTX "X"

define UINT_LEAST32_FMTo "o"

define UINT_LEAST32_FMTu "u"

define UINT_LEAST32_FMTx "x"

define UINT_LEAST32_MAX 4294967295U

define UINT_LEAST32_TYPE unsigned int

define UINT_LEAST64_FMTX "lX"

define UINT_LEAST64_FMTo "lo"

define UINT_LEAST64_FMTu "lu"

define UINT_LEAST64_FMTx "lx"

define UINT_LEAST64_MAX 18446744073709551615UL

define UINT_LEAST64_TYPE long unsigned int

define UINT_LEAST8_FMTX "hhX"

define UINT_LEAST8_FMTo "hho"

define UINT_LEAST8_FMTu "hhu"

define UINT_LEAST8_FMTx "hhx"

define UINT_LEAST8_MAX 255

define UINT_LEAST8_TYPE unsigned char

define USER_LABEL_PREFIX

define VERSION "Clang 14.0.6"

define __WCHAR_MAX__ 4294967295U

define __WCHAR_TYPE__ unsigned int

define __WCHAR_UNSIGNED__ 1

define __WCHAR_WIDTH__ 32

define __WINT_MAX__ 4294967295U

define __WINT_TYPE__ unsigned int

define __WINT_UNSIGNED__ 1

define __WINT_WIDTH__ 32

define aarch64 1

define clang 1

define clang_literal_encoding "UTF-8"

define __clang_major__ 14

define __clang_minor__ 0

define __clang_patchlevel__ 6

define __clang_version__ "14.0.6 "

define __clang_wide_literal_encoding__ "UTF-32"

define __linux 1

define linux 1

define llvm 1

define pic 2

define pie 2

define __unix 1

define unix 1

define linux 1

define unix 1

Am 29. Juli 2022 20:25:45 MESZ schrieb Nick Briggs @.***>:

Hi Alex —

Could you send me the output from

gcc -dM -E - < /dev/null

for your Termux environment. We should update the inc/maiko/platform.h and I would prefer not to reintroduce platform specific #ifdefs outside of there if possible.

However: It looks as though the Bionic library provides one or both of posix_memalign() and aligned_alloc(), so we should update to use one of those on all platforms rather than valloc().

I think that gethostid() is rather past its prime — it’s only called to provide a 32-bit value to fill in the hardware serial number in the emulator’s interface page (which nothing depends on) and as an informational item when describing the system.

I think I can easily get the code to the point where there are no dependencies on Bionic/glibc/[vendor]libc differences.

— Nick

On Jul 29, 2022, at 10:11 AM, alexshendi @.***> wrote

Hi Interlispers,

here is a short writeup on how to run maiko on your Android phone or tablet.

  1. What is Termux?

Termux is an Android terminal emulator and Linux environment application that works directly with no rooting or setup required. A minimal base system is installed automatically, additional packages are available using the package manager.

[from the Termux wiki https://wiki.termux.com/wiki/Main_Page]

i should add that the environment uses Android's libc ("Bionic") rather than glibc.

Further info can be found on the Termux wiki.

  1. What software do I need?

2.1 On the Android side

You need:

  • a VNC viewer, you can obtain this from the Play Store. I used MultiVNC.

  • The Termux environment. This must be obtained from the F-Droid app store, as the version from Google Play is no longer supported.

2.2 On the Termux side

  • pkg install build-essential libx11 xorg-xproto tigervnc dbus
  1. Compiling maiko

Apply the patch and copy the file gethostid.c to /src. Both files can be found under: > https://drive.google.com/drive/folders/1EXIigJdSGXFyGQgtm8SsPFN97Ton0kpt

Compile with:

cd /bin ; ./makeright x

Execute:

dbus-uuidgen > $PREFIX/etc/machine-id

You should now install the medley loadups and runtime.

  1. Running Medley/Interlisp

vncserver -localhost

export DISPLAY=:1 > cd

Switch to the Androud Home screen and start the VNC viewer. Configure it to use port 5901.

./run-medley

I hope this is useful to someone. >

Have a nice weekend.

All the best,

Alexander

Am 28. Juli 2022 00:33:38 MESZ schrieb Nick Briggs @.***>:

Thanks. Yeah, if you share the patch (or github branch) I'll look at incorporating it.

-- > Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/489#issuecomment-1199767228, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6DAWIA27SWP2N4NZJPN2LVWQGDDANCNFSM5EK3KH2Q.

You are receiving this because you commented.

-- > Reply to this email directly or view it on GitHub:

https://github.com/Interlisp/medley/issues/489#issuecomment-1199832605

You are receiving this because you were mentioned.

Message ID: @.***> -- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet. — Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/489#issuecomment-1199913424, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6DAWIT42G6LHFIAF5LR53VWQ3XLANCNFSM5EK3KH2Q. You are receiving this because you commented.

masinter commented 1 year ago

Wasn't sure where to put these notes, but this issue is a start.

There is also Interlisp-10 for the TENEX, TOPS-20 systems https://github.com/Interlisp/dddv

Michele Denber

Here's how I got Interlisp-10 to run on my Sun T4-1 SPARC machine running Solaris 11.4.

I got the KLH10 PDP-10 emulator from here:https://github.com/PDP-10/klh10.  Follow the directions in install.txt to compile the emulator.   To start the PDP-10:

denber@hemlock:/opt/klh10$ ./kn10-kl ./inst-klt20.ini

This starts the machine (with a long list of configuration questions that I've omitted here) and eventually boots TOPS-20.


Set up your terminal:

$ TER NO RAI (enable lowercase)

$ set term VT100

$ enable (get access to all commands)


Make yourself an account:


$ build <denber>

$$ permanent infinity

$$ enable

$$ wheel

$$ <CR>

$


Make a subdirectory for Lisp:


$ build <LISP>

$$ permanent infinity

$$ enable

$$ wheel

$$ <CR>

$


Get a copy of the DECUS tape with Interlisp-10 on it from http://pdp-10.trailing-edge.com/tapes/decuslib20-01.tap.bz2  From this you will need to extract the files netlisp.sav and boot.sav.

Unzip the tape file and place it in your KLH10 directory on the host, then in the emulator mount the tape:

$ ^\    (You type CTRL-\ here)

$[HALTED: FE interrupt]

 

KLH10> devmount mta0 decuslib20-01.tap

Mount requested: "decuslib20-01.tap"

KLH10> [mta0: Tape online]

c  (You type c for continue)

Continuing KN10 at loc 01047516...

$

Now read the two files from the tape:

$ dumper

DUMPER> rew  (it wants a device spec, so next tell it)

mta0:

DUMPER> transfer <DECUS20-0004>NETLISP.SAV NETLISP.SAV.*

 Loading files into PS:

 End of tape.

DUMPER> rew

mta0:

DUMPER> transfer <DECUS20-0004>BOOT.SAV BOOT.SAV.*

 Loading files into PS:

 End of tape.

 

DUMPER>exit


(copy netlisp.sav and boot.sav to <LISP>)

$ copy netlisp.sav <LISP>

$ copy boot.sav <LISP>


Now finally we can start Lisp:

$run <LISP>netlisp.sav

 

It will complain about missing two files, TOPS20.RELEASE and TOPS20.RELEASEINTERLISP-10.  I haven't found them yet but their absence doesn't seem to hurt anything.  You should then see the Interlisp "_" prompt (supposed to be a left arrow).


_T

T

_5 + 4

9

_

etc.


That's it.  When done, just ^C to exit Interlisp.


There's a good user's guide to TOPS-20 here: http://www.bourguet.org/v2/pdp10/index


If you want to read in source files from elsewhere in Lisp, I *think* you'll need to turn them into virtual tapes and read those in with dumper.  I don't think KLH10 supports the Virtualbox notion of shared folders.  There's a good description of how to do this here: https://www.pcjs.org/software/dec/pdp10/tapes/  There may be some way to do this using a network connection in KLH10 but I haven't figured that out yet.


             - Michele


nbriggs commented 1 year ago

There's also sdf.org -- you can ssh twenex@sdf.org and "run public:<interlisp>lisp.exe". System is 3_ MAKESYSDATE "31-Dec-84 20:42:07"

masinter commented 1 year ago

The TWenex implementation compared to the latest medley, to show both stability, backward compatibility' (or not).

masinter commented 1 year ago

This issue has two topics and I'm trying to separate them by putting Android in a separate issue and leaving this one about Interlisp-10.

I found this:


For putting together an Interlisp-10 demo
Forwarded Conversation
Subject: Tenex Interlisp questions
------------------------

From: Paul McJones <paul@mcjones.org>
Date: Sun, Aug 13, 2006 at 3:16 PM
To: Larry Masinter <LMM@acm.org>
Cc: TC Rindfleisch <tcr@stanford.edu>

Larry,

Tom Rindfleisch dug into his archives and sent me a set of files from
the TENEX <lisp> directory from a system dump done on January 31, 1982
-- see first directory listing below. He also has a number of .sav files
-- see second listing below.

I've added the files to the Computer History Museum Lisp web page in the
Interlisp section
(http://community.computerhistory.org/scc/projects/LISP/index.html#INTERLISP_)
-- you can download them all from
http://community.computerhistory.org/scc/projects/LISP/interlisp/tenex/TENEX-Interlisp.zip
.

Tom suggested that you could fill me in on some of the details of how
the system is organized. I know lisp.mac is the assembly language
portion (interpreter/runtime), and a few files seem to contain Lisp
source, such as assist..1 and record..1, but it appears that not all the
Lisp source files are here. Is a .sav file created  by starting the
interpreter, loading one or more Lisp source files, and then writing out
an executable image? It would be interesting to try to get this stuff
running on one of the PDP-10 emulators that is floating around.

Paul

# Bytes Date Modified  File Name
  34642  Mar 24 1975   10lisp.tty.1*
  35765  Mar 24 1975   10lisp.tty.1.-36-*
 150838  Mar 24 1975   14lisp.tty.1*
 155180  Mar 24 1975   14lisp.tty.1.-36-*
  32929  Mar 24 1975   16lisp.tty.1*
  33945  Mar 24 1975   16lisp.tty.1.-36-*
 131853  Mar 24 1975   22lisp.tty.1*
 135775  Mar 24 1975   22lisp.tty.1.-36-*
  31968  Mar 24 1975   5lisp.tty.1*
  32880  Mar 24 1975   5lisp.tty.1.-36-*
  13900  Mar 24 1975   7lisp.tty.1*
  14325  Mar 24 1975   7lisp.tty.1.-36-*
  22603  Mar 24 1975   8lisp.tty.1*
  23235  Mar 24 1975   8lisp.tty.1.-36-*
 157550  Mar 24 1975   9lisp.tty.1*
 163015  Mar 24 1975   9lisp.tty.1.-36-*
  23345  Aug 29 1981   [archive-directory]..1*
 113438  Nov  8 1980   assist..1*
  10468  Nov 18 1978   changes.txt.80402*
  66641  May 25 1977   changes.update.1*
   9943  Jan 21 1982   cjsys.com.1*
  21139  Jan 10 1982   comlisp.report.1*
  26255  Apr 16 1981   exec.com.1*
   8653  Apr 16 1981   ftp.com.1*
  25003  Jan 19 1980   hash.com.1*
  71301  Mar 24 1975   helpadr..1*
  72340  Mar 24 1975   helpadr..1.-36-*
 314908  Apr 29 1979   helpadrf..3*
    753  Mar 24 1975   helphelp..1*
    785  Mar 24 1975   helphelp..1.-36-*
  13030  Mar 24 1975   helpidx..1*
  17465  Jun  1 1975   helpidxf..2*
    198  Jan 30 1978   init.lisp.1*
  41805  Sep  7 1981   interlisp-vax-rpt.bravo.1*
  41812  Sep 11 1981   interlisp-vax-rpt.bravo.2*
  54784  Sep  7 1981   interlisp-vax-rpt.press.1*
  54784  Sep 23 1981   interlisp-vax-rpt.press.2*
  40789  Sep 12 1981   interlisp-vax-rpt.txt.1*
 270878  May 11 1980   lisp.mac.512*
 272795  Aug 29 1980   lisp.mac.829*
  26550  Feb  8 1977   lisp.symbols.70110*
  28030  Apr 17 1979   lisp.symbols.90321*
  28090  Aug 15 1979   lisp.symbols.90810*
   3622  Apr  2 1977   masterscope.syntax.106*
  72613  Feb  7 1979   match.com.2*
  34987  Nov 19 1980   match.com.3*
  56624  Dec 14 1981   messages_n_stuff..1*
   8307  Apr 16 1981   net.com.1*
  20068  Apr 19 1981   new-lisp-messages.txt.1*
   8693  Oct 17 1975   opcodes..2*
   8817  May  4 1975   opcodes.spaghetti.1*
   1741  Jan  9 1982   passwords.com.1*
   1754  Jan 20 1982   passwords.com.2*
 127502  Jan 16 1982   record..1*
   1157  Oct 29 1974   setbackspace.com.3*
   6303  Jun 15 1976   shallow-masterscope.doc.1*
   5532  Sep 29 1976   slisp.missingfunctionslist.1*
   9604  Jul 31 1977   small-slisp.info.1*
    114  Apr 23 1980   sysall.ctl.1*
   1507  Apr 16 1980   sysall.log.1*
   1647  Apr 23 1980   sysall.log.2*
     91  Jan 30 1976   sysall.run.2*
  29049  May  8 1980   transor.com.3*
   4141  Jun 12 1975   update-policy.info.2*
   4220  Jun 12 1975   update-policy.info.2.-36-*
   1698  Jun 12 1975   update-timetable.info.2*
   1750  Jun 12 1975   update-timetable.info.2.-36-*
   6372  Apr 17 1978   usernamefile..25*
   5262  Apr 17 1978   usernames..146*
   1988  Jul 24 1977   versions.info.1*
   9975  May  6 1975   xforms.lisp16.3*
  10260  May  6 1975   xforms.lisp16.3.-36-*

./lisp/bad-lisp.sav.1
./lisp/boot.sav.125
./lisp/carhart.sav.70702
./lisp/carhart.sav.80402
./lisp/lisp.sav.10406
./lisp/lisp.sav.10521
./lisp/lisp.sav.11201
./lisp/lisp.sav.80402
./lisp/lisp.sav.90810
./lisp/make-indirect.sav.1
./lisp/sboot.sav.1
./lisp/sysall.sav.6
./lisp/whats.sav.1

----------
From: TC Rindfleisch <tcr@stanford.edu>
Date: Mon, Aug 14, 2006 at 4:43 PM
To: Larry Masinter <LMM@acm.org>
Cc: Paul McJones <paul@mcjones.org>

Larry Masinter wrote:

> Unfortunately, this looks like it was an incremental dump rather than
> a complete one...

Larry, I think you are right about the earlier dump being incremental.
Take a look at the attached directory listings of <LISP>, <LISPUSERS>,
and <HELPSYS> from the February 25, 1983 final full dump of the TENEX
system. It looks like these might be closer to the cumulative lisp
sources. lisp.mac is not here but may be in some other directory --
things got moved around from what I remember...

Regards, Tom R.

----------
From: Paul McJones <paul@mcjones.org>
Date: Tue, Aug 15, 2006 at 8:55 AM
To: <tcr@stanford.edu>
Cc: Larry Masinter <LMM@acm.org>

That certainly looks a lot more complete to me!

By the way, I ran accross a place, [TWENEX.ORG](http://twenex.org/), that is running an
emulated KL10B (on a DEC Alpha, of all things), and offering public
accounts. They have some version of Interlisp there, but not a complete
distribution. It would be interesting to try to resurrect a full system!

Paul > ------------------------------------------------------------------------
>
>   24085 Nov  1  1982 lisp/[archive-directory]..1*
>   21139 Jan 10  1982 lisp/comlisp.report.1*
>     208 Oct 26  1982 lisp/init.lisp.2*
>     249 Dec  8  1982 lisp/init.lisp.3*
>    2614 Feb 14  1982 lisp/init.parc-10.1*
>    2415 Feb 27  1982 lisp/interlisp-vax-report-addendum.bravo.1*
>    2478 Jun  8  1982 lisp/interlisp-vax-report-addendum.txt.1*
>   41812 Sep 11  1981 lisp/interlisp-vax-rpt.bravo.2*
>   54784 Sep 23  1981 lisp/interlisp-vax-rpt.press.2*
>   40789 Sep 12  1981 lisp/interlisp-vax-rpt.txt.1*
>    9082 Oct 26  1982 lisp/lisp-maintenance.info.2*
>    1199 Oct 20  1982 lisp/make-indirect.doc.1*
>    3622 Apr  2  1977 lisp/masterscope.syntax.106*
>  153260 Dec  5  1982 lisp/parcmessage.txt.1*
>    6303 Jun 15  1976 lisp/shallow-masterscope.doc.1*
>    5532 Sep 29  1976 lisp/slisp.missingfunctionslist.1*
>    9642 Oct 26  1982 lisp/small-slisp.info.2*
>   45800 Nov  7  1982 lisp/sumexmessage.txt.1*
>    1479 Nov  7  1982 lisp/sysall.com.21109*
>     114 Apr 23  1980 lisp/sysall.ctl.1*
>    3873 Oct 18  1982 lisp/sysall.doc.1*
>    1507 Apr 16  1980 lisp/sysall.log.1*
>    1647 Apr 23  1980 lisp/sysall.log.2*
>    1613 Nov  7  1982 lisp/sysall.lsp.21109*
>      91 Jan 30  1976 lisp/sysall.run.2*
>     802 Nov  7  1982 lisp/sysall.txt.21109*
>    1971 Oct 20  1982 lisp/sysout.owners.21019*
>    2415 Oct 24  1982 lisp/sysout.owners.21024*
>    1998 Oct 31  1982 lisp/sysout.owners.21102*
>    2003 Dec  7  1982 lisp/sysout.owners.21208*
>    3318 Oct 26  1982 lisp/update-policy.info.3*
>    1572 Oct 26  1982 lisp/update-timetable.info.3*
>    6372 Apr 17  1978 lisp/usernamefile..25*
>    5262 Apr 17  1978 lisp/usernames..146*
>   24064 Nov  3  1982 lisp/utility..149*
>    1235 Oct 26  1982 lisp/versions.info.2*
>     109 Oct 21  1982 lisp/whats.doc.1*
>    9975 May  6  1975 lisp/xforms.lisp16.3*
>   10260 May  6  1975 lisp/xforms.lisp16.3.-36-*
>   
> ------------------------------------------------------------------------
>
>    6651 Jan  9  1983 lispusers/activeregions..1*
>    3543 Jan  9  1983 lispusers/activeregions.doc.1*
>    7071 Oct  8  1982 lispusers/all..4*
>    6697 Oct  9  1982 lispusers/all.com.2*
>    2446 Oct  9  1982 lispusers/all.tty.2*
>    2263 Oct  8  1982 lispusers/arithdecls..1*
>    1914 Oct 11  1982 lispusers/arithdecls.com.6*
>     159 Oct  9  1982 lispusers/arithdecls.tty.1*
>    9741 Oct  8  1982 lispusers/arithmac..2*
>    6282 Oct  9  1982 lispusers/arithmac.com.1*
>     378 Oct  9  1982 lispusers/arithmac.tty.2*
>    1624 Oct  9  1982 lispusers/bquote.tty.1*
>    5401 Oct  8  1982 lispusers/charcode..1*
>    3026 Oct  9  1982 lispusers/charcode.tty.1*
>     497 Oct  8  1982 lispusers/chat..1*
>     444 Oct  9  1982 lispusers/chat.com.1*
>    4927 Oct  8  1982 lispusers/cialphorder..1*
>    1019 Oct 11  1982 lispusers/cialphorder.com.3*
>     626 Oct  9  1982 lispusers/cialphorder.tty.1*
>   20096 Oct  8  1982 lispusers/circlprint..1*
>    7232 Oct 11  1982 lispusers/circlprint.com.5*
>   15007 Dec  7  1982 lispusers/cjsys..63*
>   10321 Dec  7  1982 lispusers/cjsys.com.70*
>    6419 Oct  9  1982 lispusers/comment.com.2*
>    6976 Oct  9  1982 lispusers/comment.lisp.2*
>    4975 Oct  9  1982 lispusers/comment.tty.2*
>    8016 Oct  8  1982 lispusers/commonfileindex..1*
>    2313 Oct  8  1982 lispusers/compilebang..3*
>    2311 Oct  9  1982 lispusers/compilebang.com.9*
>    1219 Oct  9  1982 lispusers/compilebang.tty.1*
>    1307 Oct  8  1982 lispusers/compileformslist..1*
>    1014 Oct  9  1982 lispusers/compileformslist.com.4*
>     530 Oct  9  1982 lispusers/compileformslist.tty.1*
>    1309 Oct  8  1982 lispusers/compmoderec..1*
>    1339 Oct  9  1982 lispusers/compmoderec.com.1*
>     614 Oct  9  1982 lispusers/compmoderec.tty.2*
>    4496 Oct  8  1982 lispusers/copyfile..1*
>    2525 Oct  9  1982 lispusers/copyfile.com.1*
>     144 Oct  9  1982 lispusers/copyfile.tty.1*
>    1972 Oct  8  1982 lispusers/copyright..12*
>    1486 Oct  9  1982 lispusers/copyright.com.9*
>    3941 Oct  9  1982 lispusers/copyright.tty.1*
>    4277 Dec 25  1982 lispusers/cset..3*
>    2758 Dec 25  1982 lispusers/cset.com.9*
>     450 Oct  9  1982 lispusers/cset.tty.1*
>   11866 Oct  8  1982 lispusers/databasefns..1*
>    6695 Oct  9  1982 lispusers/databasefns.com.72*
>    3918 Oct  8  1982 lispusers/dateformat..3*
>    2491 Oct 11  1982 lispusers/dateformat.com.4*
>   82032 Oct  8  1982 lispusers/datetime..1*
>   45828 Oct  9  1982 lispusers/datetime.com.8*
>    9770 Oct  9  1982 lispusers/datetime.tty.1*
>    1009 Oct  8  1982 lispusers/datetimerecords..1*
>  118578 Oct  8  1982 lispusers/decl..13*
>   62560 Oct  9  1982 lispusers/decl.com.182*
>    1645 Dec  4  1982 lispusers/dfor10..3*
>    1360 Dec  4  1982 lispusers/dfor10.com.21127*
>     835 Dec  4  1982 lispusers/dfor10.txt.1*
>   22375 Oct  8  1982 lispusers/dictionary..1*
>    3649 Oct  9  1982 lispusers/dictionary.tty.1*
>    2954 Dec 25  1982 lispusers/dolphin.txt.1*
>   19414 Dec 25  1982 lispusers/duration..24*
>   10482 Dec 25  1982 lispusers/duration.com.9*
>    1658 Oct  8  1982 lispusers/dwimload..1*
>    1238 Oct  9  1982 lispusers/dwimload.com.18*
>     133 Oct  9  1982 lispusers/dwimload.tty.1*
>   13731 Dec 25  1982 lispusers/edithist..2*
>    7211 Dec 25  1982 lispusers/edithist.com.1*
>    6578 Dec 25  1982 lispusers/edithist.doc.1*
>    5650 Dec 25  1982 lispusers/edithist.mss.1*
>   40825 Oct  8  1982 lispusers/exec..50*
>   28235 Oct  9  1982 lispusers/exec.com.54*
>    3537 Oct  8  1982 lispusers/fastnamefield..1*
>    2614 Oct  9  1982 lispusers/fastnamefield.com.7*
>     528 Oct  9  1982 lispusers/fastnamefield.tty.1*
>   10636 Oct  8  1982 lispusers/fileindex..19*
>   10456 Oct 11  1982 lispusers/fileindex.com.17*
>    1109 Oct  8  1982 lispusers/filewontopen..5*
>     833 Oct  8  1982 lispusers/fontn..1*
>     169 Oct  9  1982 lispusers/fontn.tty.1*
>     450 Oct  8  1982 lispusers/fontsoff..2*
>    4386 Oct  8  1982 lispusers/forkwaitforinput..3*
>   12876 Oct  8  1982 lispusers/ftp..29*
>    8636 Oct  9  1982 lispusers/ftp.com.23*
>     873 Oct  9  1982 lispusers/ftp.news.1*
>   66898 Oct  9  1982 lispusers/glisp.com.20128*
>  207496 Dec 16  1982 lispusers/glisp.lsp.21202*
>   81396 Oct  9  1982 lispusers/glisp.txt.20217*
>    7672 Dec 25  1982 lispusers/globalresource..4*
>    5725 Dec 25  1982 lispusers/globalresource.tty.2*
>    8839 Dec 16  1982 lispusers/gltest.lsp.20811*
>   57388 Oct  8  1982 lispusers/hash..26*
>   24540 Oct  9  1982 lispusers/hash.com.29*
>    3308 Oct  8  1982 lispusers/ignorechar..1*
>    2171 Oct  9  1982 lispusers/ignorechar.tty.1*
>    3452 Oct  8  1982 lispusers/iowaitdaemon..1*
>    2225 Oct  9  1982 lispusers/iowaitdaemon.com.7*
>     846 Oct  9  1982 lispusers/iowaitdaemon.tty.1*
>     512 Oct  8  1982 lispusers/label..6*
>     924 Oct  9  1982 lispusers/label.com.5*
>     746 Oct  9  1982 lispusers/label.tty.5*
>    7236 Oct  8  1982 lispusers/lambdatran..1*
>    4231 Oct  9  1982 lispusers/lambdatran.com.26*
>   32038 Dec 25  1982 lispusers/led..33*
>   17047 Dec 25  1982 lispusers/led.com.33*
>    6761 Dec 25  1982 lispusers/led.doc.1*
>    3748 Oct  8  1982 lispusers/lispusershelp..14*
>     231 Oct  9  1982 lispusers/lispusershelp.tty.2*
>     231 Nov 17  1982 lispusers/lispusershelp.tty.3*
>    1299 Oct  8  1982 lispusers/listdoc..7*
>     522 Oct  9  1982 lispusers/listdoc.tty.2*
>    1630 Dec 25  1982 lispusers/loadfiles..3*
>    1445 Dec 25  1982 lispusers/loadfiles.com.22*
>    1486 Dec 25  1982 lispusers/loadfiles.tty.1*
>    3018 Oct  8  1982 lispusers/loadtimeconstant..6*
>    2044 Oct  9  1982 lispusers/loadtimeconstant.com.9*
>    1082 Oct  9  1982 lispusers/loadtimeconstant.tty.2*
>    5891 Oct  8  1982 lispusers/lostlists..2*
>    3973 Oct  9  1982 lispusers/lostlists.com.2*
>    5684 Oct  9  1982 lispusers/lostlists.tty.2*
>    6001 Oct  8  1982 lispusers/mail..21*
>    3584 Oct  9  1982 lispusers/mail.com.23*
>     823 Oct  9  1982 lispusers/mail.tty.5*
>   34987 Nov 19  1980 lispusers/match.com.1*
>    1971 Oct  8  1982 lispusers/msdatabasesize..1*
>    1721 Oct  9  1982 lispusers/msdatabasesize.tty.2*
>   50928 Dec 25  1982 lispusers/msg..41*
>   27269 Dec 25  1982 lispusers/msg.com.37*
>    1674 Oct  9  1982 lispusers/msg.tty.3*
>   39572 Oct  8  1982 lispusers/mshash..195*
>   21156 Oct  9  1982 lispusers/mshash.com.177*
>    1374 Oct  9  1982 lispusers/mshash.tty.3*
>    2524 Oct  8  1982 lispusers/msswap..8*
>    1840 Oct  9  1982 lispusers/msswap.com.11*
>     193 Oct  9  1982 lispusers/msswap.tty.3*
>   37189 Oct  8  1982 lispusers/multifileindex..1*
>   25501 Oct 11  1982 lispusers/[multifileindex.com](http://multifileindex.com/).12*
>    7595 Oct  9  1982 lispusers/multifileindex.tty.1*
>    7715 Oct  9  1982 lispusers/multifileindex.tty.1.-36-*
>   33634 Jan  9  1983 lispusers/multimenu..41*
>    4764 Jan  9  1983 lispusers/multimenu.tty.5*
>    1714 Jan 18  1983 lispusers/multiw.demo.1*
>    5241 Jan 18  1983 lispusers/multiw.lsp.1*
>    4273 Jan 18  1983 lispusers/multiw.mss.1*
>    8192 Jan 18  1983 lispusers/multiw.press.1*
>    4695 Jan 18  1983 lispusers/multiw.tty.1*
>   18040 Oct  8  1982 lispusers/net..36*
>    8317 Oct  9  1982 lispusers/net.com.36*
>    4431 Oct  9  1982 lispusers/newmail.tty.14*
>    5692 Oct  8  1982 lispusers/nobox..3*
>    4041 Oct  9  1982 lispusers/nobox.com.32*
>   10905 Oct  9  1982 lispusers/nobox.tty.1*
>    7339 Oct  8  1982 lispusers/passwords..12*
>    3643 Oct  9  1982 lispusers/passwords.com.15*
>    5057 Oct  8  1982 lispusers/performtran..8*
>    3584 Oct  9  1982 lispusers/performtran.com.10*
>    2887 Oct  9  1982 lispusers/performtran.tty.3*
>    4413 Oct  8  1982 lispusers/periodicallysysout..17*
>    1935 Oct  8  1982 lispusers/permstatus..7*
>    1136 Oct  9  1982 lispusers/permstatus.com.10*
>    1158 Oct  8  1982 lispusers/pfbcpl..9*
>    1144 Oct  9  1982 lispusers/pfbcpl.com.9*
>      62 Oct  9  1982 lispusers/pfbcpl.tty.1*
>    4883 Oct  8  1982 lispusers/printl..21*
>    4653 Oct  9  1982 lispusers/printl.com.25*
>   13241 Dec 25  1982 lispusers/printopt..21*
>    8629 Dec 25  1982 lispusers/printopt.com.21*
>     298 Dec 25  1982 lispusers/printopt.doc.1*
>   13643 Dec 25  1982 lispusers/promptreminders..31*
>    6896 Dec 25  1982 lispusers/[promptreminders.com](http://promptreminders.com/).6*
>   27014 Oct  8  1982 lispusers/pup10..2*
>   17164 Oct  9  1982 lispusers/pup10.com.2*
>    6427 Oct  8  1982 lispusers/pupbsp..1*
>    3313 Oct  9  1982 lispusers/pupbsp.com.1*
>   22036 Dec 25  1982 lispusers/pupftp..7*
>   15625 Dec 25  1982 lispusers/pupftp.com.8*
>    8609 Oct  8  1982 lispusers/remind..2*
>    5112 Oct  9  1982 lispusers/remind.com.26*
>    7727 Oct  9  1982 lispusers/remind.tty.1*
>    4854 Oct  8  1982 lispusers/remotecleanup..4*
>    4057 Oct  9  1982 lispusers/remotecleanup.com.4*
>    2765 Oct  9  1982 lispusers/remotecleanup.tty.3*
>    2365 Oct  8  1982 lispusers/remotecleanupsupport..10*
>    3118 Dec 25  1982 lispusers/samedir..2*
>    2217 Dec 25  1982 lispusers/samedir.com.11*
>     794 Dec 25  1982 lispusers/samedir.tty.1*
>    2370 Oct  8  1982 lispusers/scratchlist..7*
>    1709 Oct 11  1982 lispusers/scratchlist.com.7*
>   56369 Dec 25  1982 lispusers/screenop..1*
>   46321 Dec 25  1982 lispusers/screenop.com.1*
>    3058 Dec 25  1982 lispusers/screenop.doc.1*
>    2240 Oct  8  1982 lispusers/see16..6*
>     431 Oct  9  1982 lispusers/see16.tty.2*
>    1157 Oct 29  1974 lispusers/setbackspace.com.1*
>    1463 Oct  8  1982 lispusers/show..1*
>    1350 Oct  9  1982 lispusers/show.com.19*
>     717 Oct  9  1982 lispusers/show.tty.1*
>    8633 Oct  8  1982 lispusers/simplefns..5*
>    4662 Oct  9  1982 lispusers/simplefns.com.15*
>    4259 Oct  8  1982 lispusers/simplify..1*
>    1966 Oct  9  1982 lispusers/simplify.com.6*
>   16820 Dec 25  1982 lispusers/singlefileindex..6*
>   10267 Dec 25  1982 lispusers/[singlefileindex.com](http://singlefileindex.com/).34*
>    2224 Dec 25  1982 lispusers/singlefileindex.tty.1*
>    7628 Oct  8  1982 lispusers/sizetable..34*
>    7492 Oct 11  1982 lispusers/sizetable.com.39*
>    2304 Oct  9  1982 lispusers/sizetable.tty.5*
>     788 Oct  8  1982 lispusers/skiptrailer..1*
>     587 Oct  9  1982 lispusers/skiptrailer.com.5*
>     158 Oct  9  1982 lispusers/skiptrailer.tty.1*
>    7939 Dec 25  1982 lispusers/smartarg..25*
>    4810 Dec 25  1982 lispusers/smartarg.com.31*
>     643 Dec 25  1982 lispusers/smartarg.tty.1*
>    6543 Dec 25  1982 lispusers/stringfns..14*
>    2233 Dec 25  1982 lispusers/stringfns.com.15*
>    3756 Oct  8  1982 lispusers/stringmacro..1*
>   13025 Oct  8  1982 lispusers/swaphash..55*
>    8644 Oct  9  1982 lispusers/swaphash.com.48*
>    2056 Oct  9  1982 lispusers/swaphash.tty.7*
>    1542 Nov 16  1982 lispusers/sysall.com.21116*
>    1745 Nov 16  1982 lispusers/sysall.lsp.21116*
>     802 Nov 16  1982 lispusers/sysall.txt.21116*
>    2970 Oct  8  1982 lispusers/syscond..6*
>    2263 Oct 11  1982 lispusers/syscond.com.6*
>    6796 Oct  8  1982 lispusers/tell..1*
>    7055 Oct  8  1982 lispusers/tell..1.-36-*
>    4870 Oct  9  1982 lispusers/tell.tty.1*
>   21606 Oct  8  1982 lispusers/telnet..10*
>    7123 Oct  9  1982 lispusers/telnet.com.10*
>    6845 Oct  8  1982 lispusers/time..10*
>    5443 Oct  9  1982 lispusers/time.com.14*
>    1312 Oct  9  1982 lispusers/time.tty.3*
>    9406 Dec 25  1982 lispusers/tracein..24*
>    7744 Dec 25  1982 lispusers/tracein.com.19*
>    7780 Dec 25  1982 lispusers/tracein.tty.7*
>   33542 Oct  8  1982 lispusers/transor..1*
>   18101 Oct  9  1982 lispusers/transor.com.1*
>   19185 Oct  8  1982 lispusers/tset..1*
>    9713 Dec 25  1982 lispusers/tty..2*
>    6656 Dec 25  1982 lispusers/tty.press.21207*
>   48413 Dec 25  1982 lispusers/ttyin.com.1*
>   56320 Dec 25  1982 lispusers/ttyin.press.20618*
>    1888 Oct  8  1982 lispusers/ttypage..1*
>    1092 Oct  9  1982 lispusers/ttypage.tty.1*
>    1053 Oct  8  1982 lispusers/ttypagelength..4*
>  146048 Oct  8  1982 lispusers/txdt..1*
>  195460 Oct  9  1982 lispusers/txdt.10.1*
>   61266 Oct  9  1982 lispusers/txdt.com.1*
>   36125 Oct  9  1982 lispusers/uci.xforms.2*
>   13810 Oct  8  1982 lispusers/util..4*
>    8945 Oct  9  1982 lispusers/util.com.6*
>    3704 Oct  8  1982 lispusers/vmfind..5*
>    2893 Oct  9  1982 lispusers/vmfind.com.6*
>     251 Oct  9  1982 lispusers/vmfind.tty.1*
>    4391 Oct  8  1982 lispusers/whats..7*
>    3454 Oct  9  1982 lispusers/whats.com.12*
>     192 Oct  9  1982 lispusers/whats.tty.1*
>    8150 Dec 25  1982 lispusers/whereis..45*
>    5356 Dec 25  1982 lispusers/whereis.com.51*
>   25924 Dec 25  1982 lispusers/whereis.hash.90*
>    3263 Oct  8  1982 lispusers/whois..14*
>    2617 Oct  9  1982 lispusers/whois.com.17*
>     539 Oct  9  1982 lispusers/whois.tty.4*
>   
> ------------------------------------------------------------------------
>
>   34742 Oct  9  1982 helpsys/10lisp.tty.2*
>   14099 Oct  9  1982 helpsys/11lisp.tty.2*
>   52879 Oct  9  1982 helpsys/12lisp.tty.2*
>   22809 Oct  9  1982 helpsys/13lisp.tty.2*
>  170761 Oct  9  1982 helpsys/14lisp.tty.2*
>   51978 Oct  9  1982 helpsys/15lisp.tty.2*
>   33411 Oct  9  1982 helpsys/16lisp.tty.2*
>   64512 Oct  9  1982 helpsys/17lisp.tty.2*
>   93859 Oct 11  1982 helpsys/18lisp.tty.2*
>   15047 Oct  9  1982 helpsys/19lisp.tty.2*
>   41902 Oct  9  1982 helpsys/20lisp.tty.2*
>   60706 Oct  9  1982 helpsys/21lisp.tty.2*
>  138874 Oct  9  1982 helpsys/22lisp.tty.2*
>  176165 Oct  9  1982 helpsys/23lisp.tty.2*
>   20184 Oct  9  1982 helpsys/2lisp.tty.2*
>   46514 Oct  9  1982 helpsys/3lisp.tty.4*
>    7546 Oct  9  1982 helpsys/4lisp.tty.2*
>   34988 Oct  9  1982 helpsys/5lisp.tty.2*
>   22131 Oct  9  1982 helpsys/6lisp.tty.2*
>   14179 Oct  9  1982 helpsys/7lisp.tty.2*
>   23961 Oct  9  1982 helpsys/8lisp.tty.2*
>  162216 Oct  9  1982 helpsys/9lisp.tty.2*
>   26055 Oct  9  1982 helpsys/a1lisp.tty.1*
>    1148 Oct  9  1982 helpsys/a2lisp.tty.1*
>    1290 Oct  9  1982 helpsys/a2lisp.tty.1.-36-*
>    5207 Oct  9  1982 helpsys/a3lisp.tty.1*
>  314908 Oct  9  1982 helpsys/helpadrf..6*
>    1573 Oct  9  1982 helpsys/helphelp..3*
>   37892 Oct  9  1982 helpsys/helpidxf..6*
>   

----------
From: Paul McJones <paul@mcjones.org>
Date: Tue, Aug 15, 2006 at 11:56 AM
To: Larry Masinter <LMM@acm.org>
Cc: <tcr@stanford.edu>

Because Stephen Jones, one of the proprieters of SDF and [twenex.org](http://twenex.org/),
told me "We currently do not have INTERLISP sources. I believe they were
taking from the DECUS library and even our installation is incomplete."
and I didn't poke around...

Larry Masinter wrote:
> Actually, [TWENEX.ORG](http://twenex.org/) has what looks like a complete
> source directory as well as a running copy. If you log
> into their emulated Tops-20 system, type
>
>   @dir <lisp>
>
> to get a list of the source files.
>
>   @TYPE <LISP>UNDO
>
> will show you the source code for the implementation
> of Interlisp 'undo' facilities.
>
> It looks like this is a pretty complete 1984 release.
> Why did you think it was "not a complete distribution"?
>
>
> Larry

----------
From: Paul McJones <paul@mcjones.org>
Date: Wed, Aug 16, 2006 at 7:27 AM
To: Larry Masinter <LMM@acm.org>, <tcr@stanford.edu>

OK, I took another look at [TWENEX.ORG](http://twenex.org/); it has a <lispusers> directory as
well as <lisp> but it doesn't seem to have the <helpsys> directory from
Tom's listing of the full final TENEX dump.

Tom, how much work would it be to package up the files you listed in
your previous message -- these would appear to have a good claim to be
the final version of TENEX Interlisp.

Paul

----------
From: TC Rindfleisch <tcr@stanford.edu>
Date: Wed, Aug 16, 2006 at 7:51 AM
To: Paul McJones <paul@mcjones.org>
Cc: Larry Masinter <LMM@acm.org>

Paul McJones wrote:

> how much work would it be to package up the files you listed in your
> previous message...

Not much at all, Paul -- I will zip them and forward the archive today...

Tom R.

----------
From: TC Rindfleisch <tcr@stanford.edu>
Date: Wed, Aug 16, 2006 at 11:49 AM
To: Paul McJones <paul@mcjones.org>
Cc: Larry Masinter <lmm@acm.org>

Paul McJones wrote:

> how much work would it be to package up the files you listed in your
> previous message...

Paul, I am attaching the zipped directories <LISP>, <LISPUSERS>, and
<HELPSYS> from the Feb 25, 1983 dump. I also added lisp.mac.829 to the
<LISP> directory from the Jan 31, 1982 dump...

Tom R.

[lisp.830225 (+lisp.mac.829).zip](https://github.com/Interlisp/medley/files/10472821/lisp.830225.%2Blisp.mac.829.zip)
[lispusers.830225.zip](https://github.com/Interlisp/medley/files/10472822/lispusers.830225.zip)
[helpsys.830225.zip](https://github.com/Interlisp/medley/files/10472823/helpsys.830225.zip)
masinter commented 1 year ago
          Hello,

i am experimenting a bit on my side with connecting my Dodo XNS services with some Xerox Interlisp systems. So far it works only with Lyric and Medley-1.0 running in the DarkStar emulator. Connecting with others than that fails for diverse reasons...

(remark: i am not a Lisp programmer in any way, my knowledge on how to use the Interlisp systems stems from browsing the Primer and some other PDFs found at Bitsavers, allowing me to enter very basic commands in an Interlisp-Executive window)

DarkStar with Lyric or Medley-1.0

For this, i use DarkStar 1.1.9.0 connecting directly to the Nethub (in a nutshell: the software equivalent of the thick yellow coax cable in the 80-ies) and the disk images for Lyric and Medley provided with DarkStar. My standard command to check if network access to XNS (Dodo installation in dist.zip with some files added to the "motu" file drawer) is finally working is:

DIR {fs1:}<motu>*

and then see if files are listed.

I had to experiment a bit with the lower level setup for the SPP protocol, as Interlisp seems to have a nasty behavior when listing large directories: when the Executive window lists a page height of files, it inverts to signal it is waiting for the user to do a "return" to display the next lines, but while the Executive waits, the SPP connection (more precisely the bulk-data transfer from server to workstation) seems to be blocked, not accepting more packets until the user presses "return" and apparently not even responding to system packets querying the packet queuing state! In the default setup, Dodo attempts a few packet resends and then considers the connection dead if no responses come back for system packets, so i had to increase the resend delays and max. resends to keep the connection alive for a reasonable time until the user decides to have stared long enough on the screen...

So at least the following XNS functions work for Lyric and Medley-1.0 on DarkStar: finding the clearinghouse, authenticate an user, find a file service entry in the clearinghouse and get its address, connect to the file service and list files.

Here's a screen shot: image

DarkStar with other disk images The emulator comes with other Lisp images, but:

  • the Koto image seems to have no (or a broken) Lisp image, pressing STOP from the initial screen to start Lisp results in MP code 0915
  • the Harmony image boots, but it uses the older version 2 of the Clearinghouse protocol instead of version 3: the problem is that the Courier descriptions that i found in the internet all stated that version 2 is same as version 3 except for the Authentication protocol version used, but this is apparently wrong, as accessing the clearinghouse for looking up the file service fails...
    (i had the same problem with Filing for StarOS, which uses version 4 of the Filing protocol, which differs from version 5 in some important data structures, despite the identical .cr files found in the internet; i'm not sure if i want to restart a new long running data structure guessing game to find out where the Clearinghouse protocol versions differ...)

Maiko

I looked at Maiko and Medley at the interlisp.org site. Not knowing how to activate networking, i looked in the sources to see how to try that and found the "ether.c" module, but reading through it (specifically all the #ifdefs) i understood that networking only works on Sun machines (and probably specific OS versions only?).

Not having such a machine (neither hardware nor emulation with a matching OS version), i postponed networking with Maiko. Are there any plans to extend network support to a standard intel/amd-cpu based linux in some more or less near future?

Ok, so much for my investigations on networking with Interlisp.

Greetings from Berlin Hans

Originally posted by @devhawala in https://github.com/devhawala/dodo/issues/8#issuecomment-1101243191

pamoroso commented 1 year ago

Did Medley or Interlisp-D even ran on the Alto? I always thought the machine's limited RAM and resources allowed it to run only earlier Lisp versions such as DLisp(?).

masinter commented 1 year ago

DLisp was Interlisp-10 (on Maxc emulating a PDP-10) connected to an Alto running a (PUP) net connection to an Alto. AltoLisp turned into Dorado Lisp. There are references / papers in the Zotero bibliography. I hope we can use the Bibliography to generate a timeline, if we can get the seminal papers' metadata in Zotero updated to support that. @ekaltman @MattHeffron ?

masinter commented 1 year ago

For AltoLisp https://dl.acm.org/doi/abs/10.5555/1624775.1624860 A LISP machine with very compact programs https://dl.acm.org/doi/10.1145/800087.802812 Overview and Status of DoradoLisp

for DLisp Teitelman "A Display Oriented Programmer's assistant" and Sproull "Raster Graphics for Interactive Programming Environments".