- uint8_t ret;
- for (uint8_t code = 0; code < 0x80; code++) {
- while (ibm4704_send(0x80|code) != 0) {
- print("z");
- }
- _delay_ms(1);
- ret = ibm4704_recv();
- if (ret!=0xFF) {
- xprintf("%0X: %0X ", code, ret);
- }
+ print("Enable break: ");
+ while (ibm4704_send(0xFC)) { _delay_ms(10); }
+ // valid scancode: 00-79h
+ for (uint8_t code = 0; code < 0x7F; code++) {
+ while (ibm4704_send(0x80|code)) _delay_ms(10);
+ _delay_ms(5); // wait for response
+ // No response(FF) when ok, FD when out of bound
+ xprintf("s%02X:r%02X ", code, ibm4704_recv());