4 ms·
Like other in this thread I have been thinking about this problem on and off for a while. I think that many of the comments stating that the Z80 is probably not
by hyperion2010 7y ago
Like other in this thread I have been thinking about this problem on and off for a while. I think that many of the comments stating that the Z80 is probably not the best choice are right (I know nothing about the Z80) and would like to extend some of their thinking.
The primary design requirement for a stand alone computer system in a post-* world is simplicity, maintainability, and debugability. It must be possible for a single user to do _everything_ in situ. There are very few existing systems that meet all three of these criteria across the whole hardward-firmware-software stack, and modern technology companies are actively moving away from this.
At all levels this requires extensive and open documentation and implementations, and ideally a real standard.
The hardware level would probably need a complete rethink, and if you want good peripheral support (e.g. to be able to try to access whatever data device you come across) then you need a solution that doesn't require a subsystem kernel maintainer for everything, or you just give up on that. A potential 4th requirement here could be a large supply of parts since in most scenarios it is extremely unlikely
that anyone will be able to get a fab working again for hundreds or thousands of years. Maybe radiation hardened large feature size ICs or something like that. The alternative would be a zillion RPis (with some alternate data storage interface) so that
hopefully some of them survive and continue to work after 100s of years, but this seems like a much riskier bet than trying to actually engineer something to survive for a very long time. Above the IC level the ability for someone to replace parts without special tooling beyond maybe a soldering iron also seems like it is probably also important.
At the software level there are two existing systems that might serve, one of the Smalltalks, or one of the lisps (my bias says common lisp, despite the warts). Assembly and C are just not a big enough lever for a single individual, and other things like Java seem to have been intentionally engineered to deprive individual users of power. The objective here is not to be fast, the objective is to retain access to computation at all so that the knowledge of how to work with such systems is not lost. Also at the software level the requirements pretty much preclude things like browsers that are so monstrously complex that there no hope than an individual could ever hope to maintain a legacy artifact (or probably even compile one of the monsters) for interpreting modern web documents.
I do not think that we can expect the current incentive structure around software and hardware to accidentally create something that can meet these requirements. If anything it is going in the other direction as large corporations can employ technology that can _only_ be maintained by large engineering teams. We are putting little computers in everything, but they are useless to anyone in a world without a network.
- LargoLasskhyfv 7y agoWhat about Setun, a soviet ternary computer like in [1] https://en.wikipedia.org/wiki/Setun https://en.wikipedia.org/wiki/Setun [2] https://web.archive.org/web/20080207064711/http://sovietcomputing.com/node/47 https://web.archive.org/web/20080207064711/http://sovietcomp... [3] http://www.computer-museum.ru/english/setun.htm http://www.computer-museum.ru/english/setun.htm It is a stack machine, it has somthing like FORTH. In which you can implement anything else, if you absolutely have to. Like some have done with another stack oriented system here: [4] https://en.wikipedia.org/wiki/POP-11 https://en.wikipedia.org/wiki/POP-11 [5] https://en.wikipedia.org/wiki/Poplog https://en.wikipedia.org/wiki/Poplog [6] http://www.cs.bham.ac.uk/research/projects/poplog/freepoplog.html http://www.cs.bham.ac.uk/research/projects/poplog/freepoplog... And then have some cybernetic monks preach the advantages of something like TRON [7] https://en.wikipedia.org/wiki/TRON_project https://en.wikipedia.org/wiki/TRON_project applied to all of the above.
- hyperion2010 7y agoWill have to look over these more carefully, but your post reminded me that there is a potential 3rd candidate which is FORTH, but it seems like it might be just a bit too bare bones in some cases. Maybe with an accepted standard library or something it could work.