Home : Zerro Below

All opinions on this site are those of the author alone.
No warranty of any kind is provided.
All information herein is provided as is without any warranty of any kind.


This site is brought to you by a simple Computer Monk. There was a time in the past when some knew who I was, that was in the late 1980s through the mid 1990's.

As a simple computer monk I focus on Meditation, Peaceful patterns, Use and Programming of a few kinds of simple Computer Systems, Plinking, and Survivalist patterns.

I also focus on just a few existing systems now, to better understand them each day. Additionally there is focus on new designs, in both HW and software. These are only for the purpose of improving on the systems I primarily study.

This site will continue to be a bit slow to update do to the fact I mainly use the good systems mentioned on this site, and need to boot my Linux box to upload changes to the site.

Site Section Contents:

NOTE: Most of the subsections just have there main page. It will take a bit to get everything started for each section. Also some recent changes are made here.

  • Amiga : The most capable Preemptive Multitasking OS, on some interesting HW.
  • The Atari 68K Systems : The Atari 680x0 Systems both HW and OS..
  • Why the 68K CPU's : One view on why the 680x0 series of CPU's are great, and missed. We will also talk about the 68K ISA, one of the best CISC designs around.
  • RISC OS : A well designed OS for a good series of RISC CPU's. Easy to program for in Assembly language, not targeted to any HLL in its API/ABI.
  • Why I chose the systems I do : There are reasons for the selection of systems on this site.
  • Backwards Compatibility of OS's : A big enough issue to be on the home page. OS's must maintain a high level of backwards compatibilty to allow for long term computing.
  • RANTS : Some rants about things related to computing. A place to vent a bit as it were.

In Hardware:

First and foremost is the need to improve the longevity of usability in computing. We need to not be upgrading every decade, keep using your computers as long as you can. This also meens designing HW for long term usage. A system in use for 50 years is a system that caused less polution and less damage per use on the plannet we live on.

In the designs of Hardware I look at simplifying things while improving performance per clock rate. That is I look at ways to more simply implement in order multiple issue CPU implementations, I look at how to simplify display list processors, there is the look at improving DMA and related HW. Then there is the looking into overall improvements to system design, that seem to be ignored by most now days.

There is also the concept of complete HW design. That is looking at how RAM, CPU, DMA, etc, etc work together and how to implement a system that is efficient without needing cache memories (like CPU cache). This comes down to having fast enough SRAM to keep up with the combined access of all accesses at maximum. There are other considerations, though easy to figure out, such as correct interleaving of access between devices.

In System Software:

In keeping all simple I research how to better implement System Software, to reduce per component complexity and thus reduce the effort in reducing bugs. There is also the overall structure of the System Software to improve performance, reduce levels of indirection while maintaining all functionality.

Of course there will always be the effort to better divide system software into modules, as this is part of simplifying things. That and finding bugs in well separated software is a lot easier than finding bugs in monolithic giants.

In Development Software:

For compilers the research is in reducing the size of the compiler code, and providing only the optimizations that should be in the compiler. Many compilers today try to compensate for poorly optimized input, this is bad. The programmer should be responsible for providing good input. That and some back end optimizations should also be the domain of the programmer not the compiler.

For static linking there is the need to separate linkable object code so that the linker can link in what is needed in each case. It is unreasonable to link in 60KB of library code when only 500 byte is actually needed.

For other software development tools the effort is in reducing complexity of the development tools. Especially true of replacing modern IDE's with simple tools that working together make for a better richer development environment.

In General Software:

The goal should always be to KISS. That is to use the best optimal algorithms that the programmer knows about, and implement it as optimally and simply as the programmer is able to.

Also the need to promote the use of standards that are static enough for software to be usable for many decades, without needing to upgrade. Not to mention not needing the Internet for our software to work.

This site hosted by NEOCITIES
© 2022 David Cagle