Compilers other than Interactive C may easily be used with the Handy Board, or you may code directly in assembly language. Here is the memory map of the Handy Board hardware, which is necessary if you are writing your own drivers:
Device | Location | Notes
|
6811 internal RAM | $0000-$00ff (A1 chip) |
Built-in |
6811 control registers | $1000-$103f | Built-in |
Expansion I/O Bank 0 | $4000-$4fff | Memory reads in this range enable the Y1 latch selector, present on the HB Expansion Bus. Memory writes in this range enable the Y0 selector on the Expansion Bus. No devices are present on a stock Handy Board. |
Expansion I/O Bank 1 | $5000-$5fff | Reads enable Y3; writes enable Y2. See explanation above. |
Expansion I/O Bank 2 | $6000-$6fff | Reads enable Y5; writes enable Y4. See explanation above. |
Digital inputs |
$7000-$7fff | The digital inputs consist of the two switches and sensor ports 10 through 15. A memory read from anywhere in this range returns the value of the digital input byte. |
Motor outputs | $7000-$7fff
| A memory write to anywhere in this range controls the motor outputs. The low four bits are motor direction, and the high four bits are motor enable (1=on). |
External RAM | $8000-$ffff |
The 32K of battery-backed memory is mapped to the upper 32K block of the 6811 address space. |
Please note one special case regarding the memory map: the Handy Board operates its 6811 in Special Mode. This causes the 6811 interrupt vector bank to be located at $bfc0 to $bfff rather than the normal area ($ffc0 to $ffff).
Special Mode allows the 6811 to switch back and forth between expanded mode operationthe mode in which the external RAM is activeand single-chip mode. The Handy Board uses the single-chip mode to communicate with the LCD screen, which cannot talk at the normal rate of the peripheral bus.
So, make sure to declare your interrupt vectors in the Special Mode range of $bfc0 to $bfff. For example, the RESET vector is located at $bffe:$bfff.
Any normal downloader program (e.g., dlm.exe for DOS, hbdl.exe for Windows, or 6811 Downloader for Macintosh) can be used to download the standard Intel hex file (with .s19 or .hex suffix) produced by standard 68HC11 development tools.
For information about how the Handy Boards memory map is accomplished, please see 6.270 Robot Builders Guide Appendix B. This technical appendix explains the 6.270 Boards design, which uses the same memory and peripheral circuit as the Handy Board.