Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Sodel-the-Vociferous/baremetal-lisp
One of my earliest projects: a toy lisp interpreter that runs on bare hardware
https://github.com/Sodel-the-Vociferous/baremetal-lisp
Last synced: 2 months ago
JSON representation
One of my earliest projects: a toy lisp interpreter that runs on bare hardware
- Host: GitHub
- URL: https://github.com/Sodel-the-Vociferous/baremetal-lisp
- Owner: Sodel-the-Vociferous
- License: gpl-2.0
- Created: 2013-07-27T05:13:37.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2013-08-09T06:27:27.000Z (over 11 years ago)
- Last Synced: 2024-04-24T16:41:21.368Z (9 months ago)
- Language: C
- Homepage:
- Size: 1.56 MB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- AwesomeInterpreter - baremetal-lisp
README
## My "Bare-Metal" Lisp Interpreter ##
*DISCLAIMER*: This was one of my earliest projects. The code is a
tangly mess, and it's only purpose is as a historical curiosity.While I was working on it, I generously called this project a Lisp
operating system. The goal was to make it semi-usable, but other
concerns stole my attention away. As it is, it's a very incomplete and
deeply flawed toy lisp interpreter that runs on bare hardware. While
programming the interpreter, I worked off of the Common Lisp
hyper-spec. (That's right: I was gunning for a fully ANSI-compliant
Common Lisp interpreter.)Compared to the other stuff I've been digging up lately, this is a
comparatively recent project. I stopped working on it after January of
2010 (though, 2010 still feels ancient to me.) I've come a long way
since then, but this program fills me with mellow nostalgia.### Building and Running It
If you just want to play around with it, you can boot the premade
floppy disk image in qemu with the following command:$ qemu-system-i386 -fda src/basic-grub-floppy.img -boot order=a
If you like, you can also write the disk image onto a floppy disk, and
run the "OS" on real hardware:$ sudo dd if=src/basic-grub-floppy.img of=/dev/fd0
If you want to use the easy way to build a disk image from the latest
source code, you'll need to have root access via sudo. That way took
the least amount of effort for me to set up.$ cd src
$ make lispos-floppy.imgThen, you can either run qemu manually:
$ qemu-system-i386 -fda src/lispos-floppy.img -boot order=a
or use the handy shortcut I added to the makefile:
$ make qemu