The last couple of posts I made on this project were on the 2nd December. But, before then, I had not actually done any significant or substantial work on this project since some time in 2018--now almost 3 or 4 years ago.
I originally indicated, a few days ago, that I wanted to use a pre-existing hackaday.io project for the video output for this computer, but I have, yet again, changed my mind, and I think I need to post a longer project log in order to clarify and communicate my thoughts.
In this update, I want to:
- Inform you all that I am going to be using a pre-existing microcontroller platform (such as an Arduino, ESP32, or Raspberry Pi Pico, for example) instead of a 6502 for the project's CPU. Please see below for the rationale for this decision. In short, I believe using a microcontroller will greatly simplify, as well as cheapen the overall cost for others to construct this project independently.
- Bring you all up to date about the software stack I wish to use. I have since learned Common Lisp, and there is a happy co-incidence that the uLisp ('micro-Lisp') was brought to my attention. I will be using this software stack of Lisp for microcontrollers for this project.
- Clarify my thoughts about how to produce video output for this project. This has, aside from my meanderings about which kind of RAM design to use to support the 6502, been quite a sticking point for me for moving forward on actually constructing anything. In this post, I want to explore the options I have for producing a video display for this computer.
- Introduce you all to a new philosophical motivation I have for this computer. I have, since being away from hackaday, heard about 'solarpunk' and 'permacomputing'. I am now going to incorporate these two concepts into this project by (a) keeping this design as low in power consumption as is practicable; and (b) attempting to make the design for this computer as inexpensive and easily accessible to those with low incomes as possible.
- Specify, just briefly, what I imagine the human-interface aims/goals of this project to be. In other words, I want to inform you all that if this computer can (a) access gopher hypertext; (b) access IRC; and (c) perform some simple level of text editing, then I will consider this project 'complete'--and by that time, I can move onto developing more software for this computer design.
Radically Changing the Design
After refreshing myself with all my original development on this project, I have decided to radically change the design. I would be nice to use a 6502 CPU, with all of the supporting components and design of this project, but I think it is far too complex. I think there are far too many connections and components in order to make this a viable project for people to follow along and build their own version of this project.
uLisp, Lisp for Microcontrollers
I have spent quite a bit of time away from hackaday, but I have continued to be productive. I have been learning Common Lisp, as well as Emacs Lisp. Indeed I have been using Emacs as my window manager for a few years now, and do almost all of my work on my computer inside GNU Emacs.
My inquiries and investigations into Lisp brought this incredible project to my attention some time ago.
The project is called 'uLisp', and it implements some subset of Common Lisp for a wide array of embedded microcontroller computing platforms. I believe choosing a microcontroller supported by uLisp solves many problems at once, when it comes to constructing this project:
- It provides a complete software stack for the project. That is, uLisp allows a simple and coherent way for a human to take control of this computer's hardware, and extend its operation.
- It supports a wide variety of 8-bit to 64-bit microcontroller platforms, and therefore makes it as simple as selecting and acquiring, say, an Arduino in order to satisfy the requirements of this project that it be low in power consumption, powerful enough (and no more) to achieve the human-interface requirements, and follow the privacy and hardware safety requirements I originally set out for this project.
- It makes the project cheaper to construct by oneself.
- It makes the project trivially simple to construct by oneself.
Solarpunk and Permacomputing
I have been active on the fediverse in some capacity since 2017. Many people there are part of the 'solarpunk' and 'permacomputing' movements. This is already a very long a dense project update, so please see the following links for a quick FAQ for the rationale and justification for these philosophies:
- What is Solarpunk? (See the Solarpunk Manifesto)
- What is permacomputing? (See this webpage, and this 2021 update to it)
Video Output Woes
Blech. I have run out of time and energy, and cannot finish this log right now. I will finish up here quickly by saying that I still need to find a simple way to provide video out for this computer.
If you have any suggestions, I would be more than happy to explore what you have to contribute (:
~vidak
[to be continued]
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.