The Kestrel 2 is an all-new Kestrel design; unlike the Kestrel 1, it is a true home computer, and not a single-board computer.
Currently, the Kestrel 2 exists only in the form of an emulator, which depends on the installation of the lib65816 package.
The Kestrel 2 firmware is being developed using the technique of Literate Programming. This approach produces two outputs: the raw assembly source files containing the Kestrel 2's firmware, and a book describing said firmware. Since most of the software presented in the book is in assembly language, which is not characteristically considered in or by literate programming tools, I am using noweb tool, which is 100% language independent.
Although the firmware source isn't yet generally available (except through the lib65816 software, but that will change as time progresses), you can grab the most recent release of the firmware book here:
The precise memory map isn't yet available, as the system software isn't finished, and the hardware design needs refinement. However, this is what is currently planned:
| From | Description | To |
|---|---|---|
| $000000 | Direct Page | $00003F |
| $000040 | Data Stack | $0000FF |
| $000100 | Return Stack | $0001FF |
| $000200 | System Variable Space (not all used) | $0003FF |
| $000400 | Forth Code Space | $007FFF |
| $008000 | Forth and OS Firmware ROM | $00FFFF |
| $010000 | Forth Data Space | $01FFFF |
| $020000 | Forth Header Space | $02FFFF |
| $030000 | Handle Table | $03FFFF |
| $040000 | Heap | $FDFFFF |
| $FE0000 | MGIA monochrome frame buffer | $FE95FF |
| $FE9600 | unused | $FEFFFF |
| $FF0000 | MGIA: Monochrome Graphics Interface Adapter | $FF00FF |
| $FF0100 | IRQC: Interrupt Controller | $FF01FF |
| $FF0200 | KIMO: Keyboard Interface and MOuse | $FF02FF |
| $FF0300 | unallocated/reserved | $FFFFFF |
As you can see, the Kestrel 2 is substantially more sophisticated than the Kestrel 1 design.