Lisp Machines




What are Lisp Machines? See here (also has links to more information).

After hacking the CADR emulator (much fun!), I hacked emulators for the TI Explorer: the Meroko and Nevermore for a while. Currently I'm bit by the Lambda bug: the LambdaDelta emulator for the LMI Lambda by Daniel Seagraves.

I sometimes run a real Symbolics 3650, but it's very very noisy (and the screen is now illegible)... Back in the old days I worked on real CADRs, LMI Lambdas, and TI Explorers.

LMI Lambda

The Lambda emulator (LambdaDelta) is really really good: on a modern machine it's at least as fast as the original (although it interprets the microcode), and you don't have to re-seat the boards every now and then, like on the original! So far I made small contributions to it, like implementing the visual and audible bell, and fixing small bugs.

I also ported the DNS implementation I did for TI Explorers back in 1987 to the LMI system, and implemented DHCP for it. Let me know if you want a copy.


CADR

I hacked the keyboard emulation for the "new" keyboard, and the Chaosnet interface.

See some files for setting up the CADR system. To compile it on macOS 11.12, I needed a tiny patch to syms.c and to the Makefile.


TI Explorer

Check the Explorer manuals.

Meroko

Problems

Occasional MD CLOBBER PROTECTION STOP 7 crashes, reading #<SYS:DTP-TRAP 1> from random places, and "real" crashes, show the emulator isn't bug free.

To do


Nevermore

I'm not actively hacking this anymore - sadly, it's way too slow. The idea of writing a LispM emulator in Lisp is very nice though.

Patch for Nevermore to get swap space

The problem is that the third disk isn't found. In nupi-nubus.lisp, the function nupi-handle-command-nupi-status, change (ash (+ 2 2) 2) to (ash (+ 2 3) 2). (This stuff should use a configuration.)

Make disk IO more efficient

I have changed nupi-handle-command-drive-read and nupi-handle-command-drive-write so they don't open the disk files on each request, but keep them open. Will post the patch later.

Current work

I'm hacking the RTC support, and interval timers. The clock seems to be fairly correct, but microsecond-time is not - this shows up in timeouts and in the console idle time.

I have made some basic mouse support.

Problems

To do



© Björn Victor <Bjorn@Victor.se>
Valid HTML 4.01! Valid CSS!
Senast ändrad: 30 augusti 2017.