Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interlisp #9

Open
larsbrinkhoff opened this issue Feb 24, 2018 · 13 comments
Open

Interlisp #9

larsbrinkhoff opened this issue Feb 24, 2018 · 13 comments

Comments

@larsbrinkhoff
Copy link
Member

larsbrinkhoff commented Feb 24, 2018

Need Interlisp installed!

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Feb 24, 2018

Here are files from SUMEX.

http://www.mcjones.org/dustydecks/archives/2006/08/14/57/

@b4
Copy link
Member

b4 commented Mar 4, 2018

Wonder how many versions of that I have...

@larsbrinkhoff
Copy link
Member Author

Just need one!

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Mar 30, 2022

MAXC had a Lisp instruction set in parallel with the KA10 instruction set. It's called Byte Lisp, or just BLISP. I found this in an Arpanet Resources Handbook from 1978:

Screenshot from 2022-03-30 13-53-21

I get many hits for MAXC in Interlisp source code (the file <LISP>LISP.MAC). Some hits for lisp in the MAXC monlitor (<PUP>).

Byte Lisp is described briefly in Fiala's "The Maxc Systems":
https://github.com/PDP-10/maxc/blob/master/pdf/the_maxc_systems.pdf

According to MAXC Operations, the mode select between PDP-10 and Byte Lisp is in the PC flags:
Screenshot from 2022-03-30 14-12-51

@larsbrinkhoff
Copy link
Member Author

Hello @masinter @rmkaplan @blakemcbride @nbriggs,

Do you know anything related to the MAXC Byte Lisp instruction set? I have found some pieces of Interlisp-10 code that uses it, but I believe I'm missing some files like BYTE.MAC. I do have a TENEX monitor with MAXC and Byte Lisp support, so chances are if Interlisp can be completed it could run on a PDP-10 emulator.

Thank you,
Lars Brinkhoff

@larsbrinkhoff
Copy link
Member Author

A few hits for BYTELISPFLG, from DECUS tapes:
https://www.google.com/search?q=%22BYTELISPFLG%22

@nbriggs
Copy link

nbriggs commented Mar 30, 2022

Predates my time at PARC (from 1984) but that TELNET code has Larry's name all over it.

@masinter
Copy link

I worked on this with Ed Fiala. It used the fact that maxc was a microcoded 36-bit machine. so different 9-bit bytecodes.
I got it to work but performance was a problem. I vaguely recall something about context switching overhead.

@masinter
Copy link

there's code in medley around PRINTCODE that doesn't treat BITSPERBYTE as a constant (8) or (9) on maxc

@nbriggs
Copy link

nbriggs commented Mar 31, 2022

@masinter -- BTDT, but Honeywell L66 CPU after using a Xerox Sigma 9. At least it was operating in 4x9-bit bytes for text rather than 6x6-bit mode!

@larsbrinkhoff
Copy link
Member Author

I understand that L Peter Deutsch was one of the people behind this byte code. His 1973 paper "A LISP machine with very compact programs" describes a MicroLISP instruction set. I believe this came before the MAXC Byte Lisp implementation.

http://www.softwarepreservation.org/projects/LISP/interlisp-d/Deutsch-3IJCAI.pdf

I asked him about this, but he doesn't have any additional information or software.

@masinter
Copy link

I don't have contact info for Peter Deutsch or Ed Fiala.
What I remember (from early 70s) was how PARC built their own PDP-10 because they couldn't buy one from DEC. The Lisp 9-bit bytecode instruction set was a side project by Ed which I got roped into helping with.
It wasn't going to help with Lisp performance on Maxc because too much overhead of swapping from one setup of registers to another when there is a per-process microcode mode.

@larsbrinkhoff
Copy link
Member Author

Thanks for the info, @masinter! I think it's a marvelous story - a PDP-10 that can also execute bytecode! It does seem like the Interlisp bytecode for Maxc is lost though, so there's no use updating a PDP-10 emulator for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants