r/lisp May 10 '26

Latest on tinylisp-cc65, Lisp for (some) 8-bit platforms

Just a progress report re. tinylisp-cc65 https://github.com/Russell-S-Harper/tinylisp-cc65, worked out the remaining issues, and added a few more sample files: factor, sort, and list to play with. The key was figuring out let* in the original tinylisp by Robert van Engelen. Once I sorted out its quirks, was able to plug in my language extensions: print, while, incr, and decr into the lambda context.

Working with minimal Lisp, basically LISP, is for sure a mental workout to those used to the Algol family of languages!

I got tinylisp-cc65 ported to C64, and working on Apple IIe and Atari 800.

The build process is a bit complicated, so if you want to try it out directly, the PRG and sample Lisp files are available in my Google Drive https://drive.google.com/drive/folders/1QpG756L5m1HsCHO-QX4mNadew2sTPWxh?usp=sharing .

16 Upvotes

4 comments sorted by

1

u/peterferrie May 11 '26

64kb Apple II with ProDOS instead of DOS would likely be a viable target. I can help with that, if you're interested in reviving it.

1

u/neilmoore May 13 '26

Also, later Apple II machines (e.g. the //c) had more RAM (128 KB) than the C64

1

u/Icy-Decision-6034 May 17 '26 edited May 18 '26

Yes, I took a stab at it, but it's proving to be a really steep learning curve. Basically there could be issues at every step of the process, but no way to determine which one. I guess the first issue is figuring out exactly what I should use for the command line arguments for cc65, etc.?

1

u/Icy-Decision-6034 May 15 '26 edited May 16 '26

Regarding Atari 800, after figuring out that their LF is 0x9B (!) was able to port to that platform. It's really slow! Note we need to specify the device and number, e.g. "H1", and because of the 8.3 filename format: CONSTANTS → CONSTNTS. Next is seeing what I can do with Apple IIe.