Navigate This Site...

Kestrel 2 Series

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.

Features

Firmware

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:

Memory Map

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.