4 thoughts on “My own LispM (sort of)

  1. I’ve gotten the CADR emulator working (mostly?) on Mac OS X with PPC.

    1) got SDL installed
    2) added some #includes, adjusted some printf codes to get rid of warnings, probably some typecasts. I also tried to make typedefs to clarify the widths of various types, instead of depending on the size of int and long long.
    3) the most important: added byte swapping on disk I/O to account for PPC/Intel differences

    Still to do: get the CHAOS user-mode emulation to actually work. There are some annoying differences between Mac OS X on sockets (an extra entry in a structure for BSD 4.4 that the chaos code does not properly account for: the symptom is that the socket names drop a character for some calls.) Also, there seems to be some issue with setting permissions, etc., which I commented out. I got it to work enough (socket to exist) that I didn’t need fake chaos support, but still can’t talk to the server process properly; probably some residual endian-ness assumptions in the type unions. CHAOS addresses get flipped around in bad ways.

    Also, disk *writing* appears not to work right for me; initializing the FILE partition causes C error messages to be logged.

  2. Really exciting work here! What version of OS X and which Lisp (sbcl, openmcl, etc) are you building this under?

  3. Robert – I’m running OS X 10.4.3, but this isn’t running under a modern Common Lisp; it’s a binary emulation of the original MIT CADR hardware and software (and I’m running it under Linux for now until I get it working under OSX)

    See http://www.heeltoe.com/retro/cadr/ for more information.

  4. False alarm on the disk writing, by the way. The provided disk.img was not long enough to contain all the blocks that were claimed in the disk header. I added on enough zeros to the end of the file, and I was able to at least format an LMFS file system onto a partition.

    Also, to avoid typing hell, I changed the backspace key to send Rubout instead of Overwrite, which it did before.

Comments are closed.