Thomas' Labs

PLM

The Pocket Lisp Machine (except its not)

Bremen, Germany, March 03, 2021

Background

If you have read my article about my first Z80 prototype, then you probably already know, what all of this is about. But, as a small recap, the idea of my project is to build a pocket computer that can be carried around like the pip-boy from the Fallout series.

The exact objectives have changed with the development of the computer itself. I soon realized, that the way a user would interacts with a pip-boy, was less than optimal. A keyboard was mandatory. I also changed my mind about what processor I should use for the project, starting with an AVR and later with a Z80.

As of right now, the objectives are the following:

Objectives

  • Have a pocket computer, that can be carried like a wrist watch
  • It should have as much RAM as its possible with a 8-bit CPU
  • It will run a lisp interpreter as its operating system
  • It would probably end up being used as a scientific calculator
  • It has to be expandable enough, so that I can be used as a pocket Arduino replacement

Pocket Lisp Machine?

A lisp machine is a computer design to run lisp code. This means, it is optimized to do so, be that through special hardware or ISA.

Under this definition, my computer is no lisp machine. But the name refers to the fact that it designed to run a lisp interpreter, scheme specifically, as its operating system.

Why don't I use a 6502/65816 instead of a Z80?

Between a Z80 and a 6502 I definitely prefer the Z80. Mainly because of the instruction set and peripherals available.

A 65816 would be easier to program than a Z80 due to the built-in support for memory banking. But again, I still prefer the peripherals of the Z80.

The Z80 DMA is also a important factor for my decision. While it could be used with other processors, I prefer to use it together with the Z80.

The last reason is that, I began building my computer using a Z80 and would like to complete this project using the same CPU I started with.

I do have the idea of building another computer in the future. This time based on a WDC 85C816.