# Kestrel-3 Family

Hello,
and welcome to the Fossil repository for the Kestrel-3 family of computers.
The Kestrel-3 is a (mostly)
[MPLv2
computer design.  (Disclaimer: I'm seriously considering relicensing the finished result GPLv3, however.  While I haven't committed to this decision, it seems like a logical choice considering how successful other GPL'ed open hardware projects have been.  More on this later as I feel motivated to document my thoughts.)
Folks familiar with the classic home computers of the mid-80s
(e.g., Commodore 64 or 128, Apple IIgs, Atari 8-bits, ZX Spectrum, et. al.)
can think of the Kestrel-3 as exactly that kind of home computer,
but built with a fresh and *new* design.
For this reason, I consider the Kestrel-3 a *neo-retro* computer.

## Features

The Kestrel-3 is designed to empower and encourage the owner
to learn about and even tweak the software and hardware for their own benefit.

* No back doors.
* **No management engine.**
* No hardware locks or encryption.
* Open hardware means you can completely understand the hardware.
* No memberships in expensive special interest groups or trade organizations required to contribute peripherals.
* No fear of bricking your computer trying to install the OS of your choice.
* Bootstrap process is fully disclosed.
* Built on the 64-bit RISC-V instruction set architecture.
* ROM-resident, language-based operating environment ensures the computer remains useful even in absence of bootable storage media.

# Technical Resources

* [Installing Project IceStorm](wiki/Install IceStorm on VoidLinux) on
* [Installing Verilator](wiki/Install Verilator on VoidLinux) on VoidLinux
* [Ecosystem](wiki/Ecosystem)
* [Will the Kestrel-3 Family Run Linux or BSD?](wiki/Protection)
* [Base Specifications](wiki/Base Specs)
* [Development Strategy](wiki/Development Strategy)

# Videos

* [Over the Shoulder II,

# Permissions and Contributions

* I would like to thank Pasi 'Albert' Ojala for granting us [written permission](wiki/BOAR project written permission) to re-use and re-license his [BOAR system software, a clean and proper subset of AmigaOS consisting of just `exec.library`, `dos.library`, and a small set of non-resident tools.

# Lessons Learned from Kestrel-2DX Development

## Use Intelligent Storage Devices, not SD/MMC Cards.

* SD cards are shit.  Don't use them if you can avoid them.  At least, don't use them directly.  Use intelligent storage peripherals instead.
* SD cards will often commence a wear-balance operation when you least expect it.  Like a stop-the-world garbage collector, your I/O stops dead for many tens of seconds to minutes.  You think the computer is crashed, but it's really not.  **There is no way to tell if this is what's happening, so no on-screen diagnostics are possible.**  You can only suspect this is the case heuristically.  Sucky!
* Intelligent storage I/O won't solve the SD card wear balance issue; but it can at least add a layer with which you can poll the device to see if it's still alive.  Piece of mind counts.