[LMH]kick me

James A. Crippen james@unlambda.com
Mon May 10 16:24:01 2004


Brad Parker <brad@heeltoe.com> writes:

> I'm probably going to step into it deep, but since this has become a
> serious addiction, I'll start with, "Hi, My name is Brad, and I have two
> lisp machines..."

Hi Brad! Try the coffee. It's not too bad, but don't spill it on your
keyboard.

> I'm on a journey through the original Symbolics patent, which expires
> this year, on my birthday :-).

Really? Honest? Schw33t!

> I've been OCR'ing all the code in it, which includes code to
> produces the microcode, and perhaps, the microcode simulator.  I've
> been running some of it, and making some progress.  My lawyer friend
> says that I can get away with distributing the text of the entire
> patent, and a script which edits the patent text into usable lisp
> files, and not violate any copyright issues. We'll see.

Are you really sure about that? I think that the copyright still
applies outside of the context of the patent, thus redistribution of
the patent per se is legal, but the files which are contained within
it are also copyrighted outside of the patent as well.

Hmm. Interesting legal problem. Glad I'm not a lawyer.

> I don't expect to do anything which this, except have fun.

Well, yeah. Us too.

Of course, I have an ulterior motive as well. Someday I will take over
the world with my evil LispM-powered giant robot hordes. But that's
later.

> My question is this: how close is the Explorer to the CADR?

Closer than the Symbolics 3600. The Exploder is a 32 bit macrocode
engine, as is the CADR. Many opcodes are similar.

> Was there a lisp based microcode simulator for the CADR?

There was one implemented in MACLISP on ITS. It was used to design the
microcode and bootstrap the original CADR and maybe for some other
purposes. It never lasted very long, being supplanted quickly by the
Real Thing.

> How close is the "machine code" of a CADR, an Explorer and a 36xx?

Like I said above, the 36xx macrocode is quite different from teh
CADR/Exploder. It's 36 bit, whereas the CADR is 32 bit. The Ivory is
40 bit.

Note that there's a difference between two types of 'machine code'.
The macrocode is what you get if you DISASSEMBLE some random compiled
function. The microcode you can't see, it's what implements the
macrocode engine. The macrocode machine doesn't really exist, it's
like a VM that is implemented in the microcode which is the real
hardware underneath.

Thus, there are (currently) two simulators/emulators of the Exploder
series. The first is Exploiter, which is a macrocode emulator of the
Exploder II. The second is Nevermore, which is a microcode emulator of
the Exploder I. Very different, the two of them.

There are *two* {sim,em}ulators for the Symbolics Ivory. The first,
which everyone hears about all the time (relatively speaking) is
OpenGenera, an emulator of the Ivory macrocode on the Alpha running
DEC Unix. The second is only heard of in rumors, but is another
macrocode emulator running on the Mac G5. Both of these are presumably
commercial, and I know that the former costs about five kilodollars.

> sorry if this is wildly divergent...  feel free to yell if this is too
> off topic.

You're so on topic that it would make Kibo's head explode if he only
knew. So don't tell him.

-- 
James A. Crippen <james at unlambda.com> Lambda Unlimited
61.2204N, 149.8964W                      Recursion 'R' Us
Anchorage, Alaska, USA, Earth            Y = \f.(\x.f(xx))(\x.f(xx))