Re: Microcoding the 36XX?

Brad Parker <[email protected]> Wed, 25 May 2005 10:22:17 -0400
Newsgroups gmane.lisp.org.slug
Message-ID <[email protected]>
"Josh Dersch" wrote:
>
>Anyone out there have any information or documents related to defining =
>new microcoded instructions for the Symbolics 36xx series of machines?  =
>I've been fooling around with my 3630 and I thought it'd be a fun =
>experiment to try to create an instruction or two, since I've never had =
>opportunity to work with a microcoded system before. Unfortunately I =
>haven't been able to find any information at all about the details of =
>the available micro-ops or the format of the microcode files loaded by =
>the FEP.
>
>Any information would be appreciated,

Humm.  Where to begin.

I think the short answer is you need files you don't have.

The longer answer, envolving many beers and some appetizers, started my
me taking the Symbolics 3600 patent and OCR'ing all of the lisp code in
it and in a fit of passion I can only describe as pathological (and
worthy of medication), I attempted to clean it all up and run it.

I did not complete the mission, however, but I did get pretty far.

I think my down fall was not doing it on a 36xx.  Instead I attempted to
create a version of linux franz lisp which was 'maclisp-like'.  Seems
insane, I know.  But it did allow me to do a lot of things and get
pretty far.

All of this is on the edge of very questionalable legality, because last
time I checked the material was copywritten and ocr'ing the files does
not give you any rights.  Basically I found it's ok for me to distribute
the cleaned up ocr text files along with a copy of the patent pdf, and
another file which "patches" them up so one can try and run them.

The entire system is somewhat baroque and complex.  If you are really
serious (run away now - trust me - run away!) I think we should set up a
blog so others can follow the thread and comment.  Or send for the men
in white coats, as they see fit.

(you can't imagine the chuckling I endured walking through the halls of
mit-csail when I said I wanted to write an 3600 macrocode emulator.  but
I did manage boot a CADR, which moved me from the 'charlatan' camp to
'the merely insane' camp :-)

Feel free to ignore my rant, but do go find the PDF of the "3600
microcode compiler" paper and read that.  Schematics and the patent will
help, but I think understanding the original lisp code which generated
the microcode will help most.

ps: I started looking at the microcode in the hopes of "extracting" a
description of the 3600 macrocode.  I found, however that some
instuctions have been added since the patent was published.  I'd kill
for an document which described the 3600 macrocode.  My simulator gets
pretty far into booting a 3600 world but some of the instructions just
don't do the right thing because I don't know what they do.  I plan
(some day) to fire up my 3630 and write some 'test code' to try and
figure them out... some day.

-brad

Brad Parker
lisp bon vivant (or dilettante :-)