summaryrefslogtreecommitdiff
path: root/tools/builtInChips/Keyboard.hdl
blob: 26ca5edac64bec9f35dea721aecce82601f318e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: tools/builtIn/Keyboard.hdl

/**
 * The keyboard (memory map).
 * Outputs the code of the currently pressed key.
 *
 * The built-in chip implementation has two side effects supplied 
 * by the simulator. First, the keyboard memory map is continuously 
 * being refreshed from the physical keyboard unit. Second, it 
 * displays a keyboard icon and data entry GUI.
 */

CHIP Keyboard {

    OUT out[16];   // The ASCII code of the pressed key, 
                   // or 0 if no key is currently pressed, 
                   // or one the special codes listed in Figure 5.5.

    BUILTIN Keyboard;
}