Movitz: a Common Lisp x86 development platform

Most recent news

2008-02-25 Frode V. Fjeld
* movitz.asd: Created an ASDF system definition.
* movitz/asm.lisp, movitz/asm-x86.lisp: Created new assembler and
disassembler that's less overengineered (the design goals of
ia-x86 were not originally to serve as an assembler). This speeds
up compiles considerably; on the order of twice as fast, and
reduces the overall footprint of the movitz system too.
2008-01-13 Frode Vatvedt Fjeld
* movitz/losp/muerte/memref.lisp: Fixed (setf memref-int :type
:unsigned-byte32), which didn't really work at all I think. It
would write to the wrong address, or go into unbounded recursion.

Introduction

The Movitz system aspires to be an implementation of ANSI Common
Lisp that targets the ubiquitous x86 PC architecture "on the
metal". That is, running without any operating system or other form
of software environment. Movitz is a development platform for
operating system kernels, embedded, and single-purpose
applications. There can potentially be several completely different
operating systems built using Movitz.

CVS

Binary-types is a library that is required for building and
using Movitz. So far, this combo has been run under Allegro, SBCL,
and CMUCL, but everything is supposed to be platform-independent
ANSI Common Lisp. CLisp apparently dumps core for some reason during
the build process.

The main build process is run by two operators. Create-image creates
a symbolic Movitz lisp-world from scratch. This symbolic
representation is loaded into the variable *image*, which
holds "the current image" for many Movitz operators. The function
dump-image transforms a symbolic image to a bootable image file.