- print("\nr/c 01234567\n");
- for (uint8_t row = 0; row < matrix_rows(); row++) {
- phex(row); print(": ");
- pbin_reverse(matrix_get_row(row));
- print("\n");
- }
-}
-
-uint8_t matrix_key_count(void)
-{
- uint8_t count = 0;
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- count += bitpop(matrix[i]);
- }
- return count;
+ // https://archive.org/stream/PC9800TechnicalDataBookHARDWARE1993/PC-9800TechnicalDataBook_HARDWARE1993#page/n161
+ // http://www.webtech.co.jp/company/doc/undocumented_mem/io_kb.txt
+ pc98_led = 0x70;
+ if (usb_led & (1<<USB_LED_NUM_LOCK)) pc98_led |= (1<<0);
+ if (usb_led & (1<<USB_LED_CAPS_LOCK)) pc98_led |= (1<<2);
+ dprintf("usb_led: %02X\n", usb_led);
+ dprintf("pc98_led: %02X\n", pc98_led);