diff --git a/converter/archimedes_usb/archimedes_usb.c b/converter/archimedes_usb/archimedes_usb.c index 3bb607d4..4a556bb6 100644 --- a/converter/archimedes_usb/archimedes_usb.c +++ b/converter/archimedes_usb/archimedes_usb.c @@ -42,6 +42,13 @@ SOFTWARE. #define SACK 0x31 #define MACK 0x32 #define SMAK 0x33 +#define KDDA 0xC0 +#define KUDA 0xD0 + +// Archimedes LED +#define ARC_LED_CAPS_LOCK 0 +#define ARC_LED_NUM_LOCK 1 +#define ARC_LED_SCROLL_LOCK 2 void matrix_init(void) @@ -53,32 +60,117 @@ void matrix_init(void) // wait for keyboard coming up // otherwise LED status update fails print("Archimedes starts.\n"); - print("Sending HRST(0xFF): "); + xprintf("EIMSK: %02X\n", EIMSK); + xprintf("EICRA: %02X\n", EICRA); return; } +static uint8_t arc_led = 1<