+#include "keypad.h"
+
+u8 last_key; /* the last key registered */
+bool new_key = 0;
+
+/* first 8 from the first row, then 3 from the second row */
+/* keys are 1-9, 0, reset */
+const u8 keymap0[8] = {KEY_8, KEY_7, KEY_6, KEY_5, KEY_4, KEY_3, KEY_2, KEY_1};
+const u8 keymap1[3] = {KEY_RESET, KEY_0, KEY_9};
+
+extern inline u8 keypad_read_row(u8 row) {
+ u8 i, num;
+ if (row)
+ bset((void*)&_io_ports[M6811_PORTD], PORTD_KEYPAD_ROW);
+ else
+ bclr((void*)&_io_ports[M6811_PORTD], ~PORTD_KEYPAD_ROW);