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.



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.

More information about Movitz concepts.


There is a Movitz Trac.

Mailing Lists


The file area is available through HTTP.


You can browse our CVS repository or download the current development tree via anonymous cvs, as described here

There are two modules in use in the repository:

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.