Congratulations! I expected that somebody would eventually decap the CPU and dump the firmware, but at the time there was no other USB microcontroller with the required specs available. It lasted over 25 years, so I consider that "good enough". I looked at your implementation: clearly different from my own reference implementation of an emulator for the Mac, but the code seems 100% correct based on my quick check with Ghidra.
If you need some XSKeys, I probably still have a couple hundred in a box somewhere. Send me an email…
You might want to return 0x00 for the first 16 bytes of the EEPROM (the first 2 are part of the serial number) and return 0xFF for all bytes between 0x10 and 0x2F (this enables all potential products permanently). The rest should return 0x00 (demo timers, etc)
As a ROM serial number you might want to return $0FFFFF, which has not been used and is a "VIP XSKey" – to make it extra fancy :-)
BTW: xskey.apple.com was shut down in December 2012 (which allowed users to repair and update XSKeys), after we discontinued the use of the XSKey in 2007 with Logic Pro 8.
Cheers,
Markus Fritze, Inventor of the XSKey