[LispM-Hackers] Added a whole bunch of stuff

John Morrison jm@mak.mak.com
Tue Apr 2 16:09:01 2002


Hi;

I apologize for the more-than-strictly-necessary auto-spam of the
several cvs "adds" and "commits" I did.  Should've done it in one fell
swoop, but, hey, I'm not perfect (ask my wife -- on second thought --
DON'T).

The stuff I added was originally written for the www.jos.org freeware
Java OS effort.  I am repurposing it here, so if lots of it
(especially all the memory stuff) looks inappropriate -- well, it
probably is.

The "common" directory which lives in the top-level "e3" module
directory contains the basic machine-independent infrastructure pieces
we needed for JOS.  They are (for the most part) structured as C++
base classes.

The platform-specific build target stuff lives in subdirectories in
the "arch" directory which also lives in the top-level "e3" module
directory.  There are currently only two build targets: unix, and
i386.  In each one, the platform-specific stuff is (for the most part)
packaged as subclasses of the machine-independent classes.  Obviously,
there's also some assembly when required, and build tools, too.

I should probably write a README-00.html for each directory, and
commit them, too.  There's kind of a lot to explain.

Please post questions to the list, because there is SO LITTLE
documentation (read NONE), that if you've got a question, odds are
somebody else has it, too, now that we've got SO MANY subscribers.

And "hello" to each and every single one of you! (I say that to
engender some goodwill from each of you, because once you take a look
at this source code, I'm gonna need it!)

Anyways, the "unix" build doesn't do much at all (I haven't really
tried to do anything with it yet).  The i386 build actually can:

(1) boot an x86 box (via Etherboot),

(2) stuff the load band in memory (again via Etherboot and a utility I
modified to build the NBI file, assuming you've got enough RAM),

(3) set interrupt vectors and field interrupts,

(4) field scan-codes for keyboard interrupts,

(5) write via a "kprintf" routine to the COM1 output to help with
debugging after going to graphics mode

(6) map in (hopefully) any VBE 2.0 compliant SVGA card's frame buffer
memory,

(7) initialize it to 1280x1024 (actually done via SVGA BIOS), and

(8) draw some test patterns on it.

Does anybody wanna do the X11 version?  The Windoze version?  Or am I
the porting guy?  (That would be OK by me if others were to forge
ahead on the macroinstruction stuff -- otherwise, I'm going to be a
wee bit overextended.  I can almost certainly get access to a Sparc
SunOS box, etc.)

-jm


-- 
==== John Morrison
==== MAK Technologies Inc.
==== 185 Alewife Brook Parkway, Cambridge, MA 02138
==== http://www.mak.com/
==== vox:617-876-8085 x115
==== fax:617-876-9208
==== jm@mak.com